robot-inventor / orizin-agent-html Goto Github PK
View Code? Open in Web Editor NEWいつもあなたと共に。オープンな相棒 (※ORIZIN Agentの後継です。)
Home Page: https://robot-inventor.github.io/ORIZIN-Agent-HTML/
License: MIT License
いつもあなたと共に。オープンな相棒 (※ORIZIN Agentの後継です。)
Home Page: https://robot-inventor.github.io/ORIZIN-Agent-HTML/
License: MIT License
wikiの使い方ページに画像を追加する。
メモ機能で「◯◯とメモして」と言った際に,◯◯だけでなく「とメモして」までメモされてしまうため,正規表現等を使用して問題を修正する。
スクロールバーのデザインをよりモダンにする
設定項目が多くなってきたことで設定画面がごちゃごちゃしてしまっているので、設定画面を整理する。
デスクトップにショートカットを作る機能を追加する。
newville/pyshortcutsあたりを使って、デスクトップにORIZIN Agent HTMLのショートカットを作成する機能を追加する。
スプラッシュスクリーンでのプリフェッチを行い、読み込み速度を向上させる。
メニューか設定ページに、ORIZIN Agent HTMLで使用可能なショートカットキーの一覧を追加する。
検索エンジンを指定できるようにする。Google以外の検索エンジンの検索時のURLは以下の通り。
resource/image/favicon.pngとresource/image/favicon.icoが不要になっているため、消去する。
検索エンジンは現在
からしか選べないが、任意の検索エンジンを登録できるようにする。
検索ボックス内のアンダーラインを削除し、フォーカス時には枠線の色が変わるようにする
border-radiusの値が小さく、あまり角が丸くなっていないので、0.5remくらいにする。
Googleカレンダーをブラウザで開く機能しかないため、https://qiita.com/am/items/30a09a23bfa3be0dc135 を参考にGoogleに予定を追加する機能を実装する
resource/image/favicon.ico が古いロゴのままになっているため、新しいロゴにする。
新型コロナウイルスに関する信頼できる情報を提供するため、「コロナ」「covid19」「sarscov2」等の言葉に反応して信頼できるWEBページを開く機能を実装する。
開発中にバージョン番号を変更した際、番号が9から10に変更になったときなどにアップデート通知が表示されてしまう問題を修正する。oa_core.pyのcheck_update()関数でローカルのバージョンとリモートのバージョンをsortして比較していることが原因。
jQuery3.5.0がリリースされたため、古いバージョンと差し替える。
デバッグしやすいように、Google ChromeをAppモードではなく通常のモードで起動することができるようにする。
タイマー機能を拡張し、優先のものから順に
を追加する。
また、ローカルサーバーが動作しているかどうかを気にする必要をなくすため、JavaScriptのみで動作するように書き換える
設定や試験機能ページの検索ボックスにショートカットキーを追加する。
/
で検索ボックスにフォーカスS
で検索ボックスにフォーカスEsc
で検索ボックスからフォーカスを外すCtrl + Backspace
で検索ボックスをクリア設定でテーマを変更したとき、またはカスタムテーマの編集を使用しているときに、プレビューを使用できるようにする。
SVG画像を使ってリアルタイムでプレビューを表示するか、リアルタイムでCSS変数を書き換えて実際に色が変わるかのどちらかの方法でプレビューする。
類似度計算で表記ゆれに対応する。
辞書ファイルにスパゲッティ
が登録されていてスパゲティはおいしい
という文章をユーザーが入力した際、従来の判定方法ではスパゲティはおいしい
にスパゲッティ
は含まれないとみなされる。しかし、実際にはスパゲティ
とスパゲッティ
は同じものを指している。そこで、スパゲティはおいしい
をスパゲッティ
と同じ文字数で以下のように区切っていく。
スパゲティは、パゲティはお、ゲティはおい、ティはおいし、ィはおいしい
次に、上で区切ったもの一つ一つについてスパゲッティ
との類似度をdifflibライブラリのdifflib.SequenceMatcher()で計算し、最も大きい値を文章全体の類似度とする。
そして、従来の方法で辞書ファイル内に一致がなければ文章全体の類似度が最も高くなる言葉に対応する応答を返す。ただし、全く違うものを応答として返すことを防ぐため、文章全体の類似度は0.75以上を必須とし、0.75に達しなければ一致なしとみなして「そうですか。」と応答する。
index.htmlのチャットをコンポーネント化する。
次のショートカットキーを追加する。
Ctrl + ,
で設定を開くH
またはT
またはHome
でホームに戻るM
でメニューを開く/
でテキストボックスにフォーカス&Esc
でフォーカスを外すフィードバック画面のデザインをMaterial Web Componentsを使って書き直す
辞書ファイルに国名→首都名、首都名→国名のデータを追記する。また、各国の面積と人口、宗教等も追記する。
ホーム画面を開いたときに、使い方や豆知識、挨拶などを表示するようにする。
GUIの種類をtkinterとブラウザから選べるようにする。
GUIの種類の設定を保存できるようにし、設定に従って動作するようにする。
例)クエリにtwitterという文字が含まれていたらWEBブラウザでhttps://twitter.com/ にアクセスする。
対応させるSNS一覧
Google検索機能を使用する際に、クエリ文字列(https://google.com/search?q= のあとの部分。検索キーワード。)中の空白を+に置き換える。
参照するファイルのパスなどを保存した、内部で使用する設定ファイル(ユーザーの変更は意図していない)を用意する。
読み込み速度向上のため、header要素とcssをインライン化する。また、headerやcssはhttps://github.com/Robot-Inventor/Robot-Inventor.github.io のchange_header.pyやchange_css.pyを使って更新する。
cssのインライン化については、テーマの設定のことに気をつけて行う。
使いやすく、分かりやすいチャット型UIをサポートし、従来のUIと設定で選択できるようにする。
ヘッダーの「ORIZIN Agent」という文字を押してホームに戻るという仕様がわかりにくいため、ホーム以外の画面ではホームボタンを表示し、そのボタンからもホームに戻れるようにする。
カスタムCSSの設定画面で現在の設定に合わせてカラーピッカーの色を変更する。
設定ページにカラーピッカーを設置し、ユーザーが画面の配色を自由に選べるようにする。
ユーザーが作成した配色を保存し、プリセットに表示されるようにする。
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"))
にすることで、今までの正規化に加え、カタカナの半角→全角変換や改行の除去が行える。
【お知らせ】
オープンソースのAIアシスタントORIZIN Agent HTMLは #BLM **を受けて、masterブランチの名称を7月20日以降にmainに変更します。すでにcloneしている方は気を付けてください。
スプラッシュスクリーンでロゴの回りで回っている円の色が明るすぎてロゴが目立たないため,色を調整する。
検索時のURLは、例えばGoogleならhttps://www.google.com/search?q=クエリ となるが、クエリに?や&が含まれていると正常に動作しない可能性があるため、?は%3F、&は%26に置き換える。
設定でユーザーの呼び名を変更できるようにし、応答中の「あなた」の代わりにその呼び名を入れるようにする。具体的な方法としては、辞書ファイルの「あなた」を{user_name}
等にし、その部分にデフォルトで「あなた」、呼び名が設定されていればその呼び名をformatで入れるようにする。
6面の通常のサイコロだけでなく,任意の面の数のサイコロに対応する。
ホームでチャットの履歴をある程度スクロールしてさかのぼったときに、一番下までスクロールするボタンが表示されるようにする。
以下のような便利な機能を追加する。
現在のメインのCSSファイルはレイアウト以外の色などについても定義しているにも関わらず、名称がlayout.scssとなっており、ややこしいためmain.scssなどに変更する。
テキストファイルを扱う際にwithを使って自動的にcloseする。
フィードバックで送信ボタンを高速で複数回押すと、重複して送信される可能性があるのを防止する。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.