Giter VIP home page Giter VIP logo

robot-inventor / orizin-agent-html Goto Github PK

View Code? Open in Web Editor NEW
7.0 3.0 1.0 6.53 MB

いつもあなたと共に。オープンな相棒 (※ORIZIN Agentの後継です。)

Home Page: https://robot-inventor.github.io/ORIZIN-Agent-HTML/

License: MIT License

Python 35.90% CSS 1.65% HTML 22.89% JavaScript 27.48% SCSS 12.09%
orizin-agent eel gui html python css ai-assistants ai-agents javascript

orizin-agent-html's Introduction

My GitHub Works

GitHub Stats Card Top Languages Card

My Qiita Works

My Qiita posts My Qiita contributions My Qiita followers

orizin-agent-html's People

Contributors

dependabot[bot] avatar mend-bolt-for-github[bot] avatar renovate[bot] avatar robot-inventor avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

wanghaisheng

orizin-agent-html's Issues

設定画面の整理

設定項目が多くなってきたことで設定画面がごちゃごちゃしてしまっているので、設定画面を整理する。

検索機能の実装

webbrowerモジュールを使用した検索機能の実装

  • ユーザーに「〜って何?」「〜の意味は?」などと聞かれた際にwebbrowserモジュールを使用して、ブラウザを開き、ユーザーの入力をそのまま検索する。
  • 検索する際にユーザーの入力をGoogleに送信することになる為、プライバシーポリシーを変更する。

開発中にアップデート通知が表示される

開発中にバージョン番号を変更した際、番号が9から10に変更になったときなどにアップデート通知が表示されてしまう問題を修正する。oa_core.pyのcheck_update()関数でローカルのバージョンとリモートのバージョンをsortして比較していることが原因。

デバッグモードの追加

デバッグしやすいように、Google ChromeをAppモードではなく通常のモードで起動することができるようにする。

タイマー機能を拡張&JavaScriptオンリーに書き換える

概要

タイマー機能を拡張し、優先のものから順に

  • 現在時刻表示
  • ストップウォッチ
  • アラーム

を追加する。

また、ローカルサーバーが動作しているかどうかを気にする必要をなくすため、JavaScriptのみで動作するように書き換える

設定の検索ボックスのショートカットキーを追加

概要

設定や試験機能ページの検索ボックスにショートカットキーを追加する。

期待する動作

  • /で検索ボックスにフォーカス
  • Sで検索ボックスにフォーカス
  • Escで検索ボックスからフォーカスを外す
  • Ctrl + Backspaceで検索ボックスをクリア

テーマ選択時にプレビューが表示されるようにする

概要

設定でテーマを変更したとき、またはカスタムテーマの編集を使用しているときに、プレビューを使用できるようにする。

詳細

SVG画像を使ってリアルタイムでプレビューを表示するか、リアルタイムでCSS変数を書き換えて実際に色が変わるかのどちらかの方法でプレビューする。

類似度計算で表記ゆれに対応する

類似度計算で表記ゆれに対応する。

辞書ファイルにスパゲッティが登録されていてスパゲティはおいしいという文章をユーザーが入力した際、従来の判定方法ではスパゲティはおいしいスパゲッティは含まれないとみなされる。しかし、実際にはスパゲティスパゲッティは同じものを指している。そこで、スパゲティはおいしいスパゲッティと同じ文字数で以下のように区切っていく。

スパゲティは、パゲティはお、ゲティはおい、ティはおいし、ィはおいしい

次に、上で区切ったもの一つ一つについてスパゲッティとの類似度をdifflibライブラリのdifflib.SequenceMatcher()で計算し、最も大きい値を文章全体の類似度とする。

そして、従来の方法で辞書ファイル内に一致がなければ文章全体の類似度が最も高くなる言葉に対応する応答を返す。ただし、全く違うものを応答として返すことを防ぐため、文章全体の類似度は0.75以上を必須とし、0.75に達しなければ一致なしとみなして「そうですか。」と応答する。

ショートカットキーの追加

概要

次のショートカットキーを追加する。

  • Ctrl + ,で設定を開く
  • HまたはTまたはHomeでホームに戻る
  • Mでメニューを開く
  • ホームで/でテキストボックスにフォーカス&Escでフォーカスを外す
  • ホームのスペースキーやエンターキーのショートカットをMousetrapで書き換える

メイン処理の分離

メイン処理の分離

  • メイン処理を単独のファイルに移行し、外部から利用しやすくする。

内部設定ファイルを作成

概要

参照するファイルのパスなどを保存した、内部で使用する設定ファイル(ユーザーの変更は意図していない)を用意する。

チャット型UIのサポート

使いやすく、分かりやすいチャット型UIをサポートし、従来のUIと設定で選択できるようにする。

ホームボタンの設置

ヘッダーの「ORIZIN Agent」という文字を押してホームに戻るという仕様がわかりにくいため、ホーム以外の画面ではホームボタンを表示し、そのボタンからもホームに戻れるようにする。

入力された文章の正規化を強化

oa_core.pyのnormalize関数の

return sentence.translate(str.maketrans({" ": None, " ": None, "・": None, "": None, "-": None})).translate(str.maketrans("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")).lower()

return unicodedata.normalize("NFKC", sentence.lower()).translate(str.maketrans("", "", "  ・-\t\n\r"))

にすることで、今までの正規化に加え、カタカナの半角→全角変換や改行の除去が行える。

ユーザーの呼び名を設定できるようにする

設定でユーザーの呼び名を変更できるようにし、応答中の「あなた」の代わりにその呼び名を入れるようにする。具体的な方法としては、辞書ファイルの「あなた」を{user_name}等にし、その部分にデフォルトで「あなた」、呼び名が設定されていればその呼び名をformatで入れるようにする。

便利な機能・楽しい機能の実装

以下のような便利な機能を追加する。

  • WEBブラウザでWEBページを開くもの
  • Python側でブラウザを開く以外の実装が必要なもの
    • メモ
    • 運勢
    • おみくじ
    • 占い
    • サイコロ
    • コイントス
    • 水晶玉占い(はい・いいえの二択をする)
    • ショートカット(命令の省略)
    • あっち向いてホイ
    • 「特定のキーワードが含まれていたら特定のURLにアクセスする」というように設定できるようにする
    • タイマー

メインのCSSファイルの名称を変更

概要

現在のメインのCSSファイルはレイアウト以外の色などについても定義しているにも関わらず、名称がlayout.scssとなっており、ややこしいためmain.scssなどに変更する。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.