mcpField
L
Lexicon

Lexicon

ローカル
lexicon.ashlr.aiメディア・デザイン21 日前に更新

Lexicon について

Lexiconは、音声入力からエージェントに渡る前に、音声認識が誤りやすい固有名詞や専門用語を補正する個人用語彙レイヤーです。共通のYAML辞書を、対応する音声入力やエージェント経路で利用できます。

主な機能

  1. 01正規表記と別名を記録するYAML辞書
  2. 02完全一致、音声、あいまい一致の補正
  3. 03用語の追加と正規化を行うコマンドライン
  4. 04エージェントクライアントとフックのセットアップウィザード
  5. 05候補を確認して取り込むガイド付きインポート

活用シーン

  1. 01口述プロンプトの社名や製品名を補正
  2. 02音声入力とエージェント経路で語彙を共有
  3. 03プロジェクト用語を収集し、項目を選んで承認

MCP 対応

Lexiconは、接続クライアントに語彙補正を提供するMCPサーバーを備えています。セットアップウィザードで登録するか、手動で設定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ashlrai-lexicon": {
"command": "npx",
"args": [
"-y",
"@ashlr/lexicon"
],
"env": {
"LEXICON_PATH": "<LEXICON_PATH>",
"LEXICON_CWD": "<LEXICON_CWD>"
}
}
}
}
起動コマンドnpx -y @ashlr/lexicon
設定が必要な環境変数
LEXICON_PATHPath to the global lexicon YAML. Defaults to $XDG_CONFIG_HOME/lexicon/lexicon.yaml, else ~/.config/lexicon/lexicon.yaml.
LEXICON_CWDDirectory used to locate the project .lexicon.yaml. Defaults to the server process working directory.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@ashlr/lexicon0.5.4

ツール

19

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
textstringはい修正する口述または文字起こしテキスト。
dryRunbooleanいいえtrue の場合、置換候補を報告しますが、適用しません(output === input)。
minConfidencenumberいいえあいまい一致/音声一致に必要な最低信頼度(0..1)を上書きします。エイリアスの完全一致は常に 1 です。

詳細

README の画像

Lexicon

エージェントに音声で指示。スペルはそのままに。

音声でエージェントに入力するための、個人用レキシコンです。

音声認識が誤認しやすい単語をまとめた YAML ファイルを 1 つ用意するだけで、音声入力が届くあらゆる場所に適用できます。MCP、Claude Code、ブラウザー、macOS で使えます。

CI npm release license: MIT node >=20

ライブデモ  ·  クイックスタート  ·  ドキュメント  ·  lexicon.ashlr.ai

You said:        "tell Ashlr.AI to deploy the Kubernetes auth service"
STT heard:       "tell Ashler to deploy the Cooper Nettie's off service"
Agent received:  "tell Ashlr.AI to deploy the Kubernetes auth service"

ブラウザデモの3つのパネル。左側には、音声認識結果として「tell ashler to deploy cooper netties on head sner and ping mason white about the sass pricing」と表示されています。中央には、エージェントに渡される内容として「tell Ashlr.AI to deploy Kubernetes on Hetzner and ping Mason Wyatt about the SaaS pricing」と表示され、0.80 ms で5件修正したことが示されています。その下の表には、各置換のティアと信頼度が記載されています。右側には、それを実現するレキシコンの YAML が表示されています。

こちらがライブデモです。このリポジトリの実際のマッチャーがブラウザー上で入力テキストを処理します。インストールは不要です。(「Dictate」ボタンではブラウザー標準の音声認識機能を使用します。Chrome では音声が Google に送信されます。)

測定結果

手法、全表、すべての失敗ケースはdocs/BENCHMARK.mdに記載されています。npm run bench(リポジトリのクローン以外の準備は不要)で再現できます。または、npm run bench:audio && npm run bench:compare を実行してください(macOS と whisper.cpp が必要です)。

他の方法との比較。 合成音声(テキスト読み上げ)330クリップを、3種類の音声で whisper.cpp small.en に通しました。どの行も同じ音声、同じ音声認識器、同じ70語のレキシコンを使用し、固有名詞の修正方法だけを変えています。

単語の修正方法復元された固有名詞誤って変更された通常の文章
何もしない、生の whisper.cpp45.9%該当なし、何も実行しない
完全一致置換、macOS の「テキスト置換」と同じ方法62.0%72件中0件
同じ方法に、用語ごとの大文字小文字規則を追加71.3%72件中0件
whisper.cpp 独自の --prompt ヒントリスト76.0%該当なし、何も実行しない
Lexicon91.0%72件中0件

すべての行で、同じ70語の厳選レキシコン(bench/lexicon.yaml)を使用しています。文章の列は、マッチャーだけでなくファイル内の用語にも左右されます。そのため、別の方法で作成したレキシコンでは測定結果も異なります。

完全一致置換で復元できるのは、すでに誰かが記録したスペルだけです。それ以外は復元できません。手作業で作成した表には、まだ聞いたことのない誤りは含まれないため、Versal、Superbase、CloudFloor、pedantic は復元できません。音声的な類似度とファジー一致のティアはこの不足を補うもので、単独で279個の用語スロットのうち31個、つまり11ポイントを復元します。大文字小文字を考慮する行からの残り9ポイントは、認識器による名前の単語分割に対するエイリアスティアの許容度によるものです。--prompt は競合する方法ではなく、補完する方法です。レキシコンと併用すると、95.7% に達します。 この表について、正直に補足しておきたい点が2つあります。生の whisper.cpp では何も実行されないため、文章が誤って変更されることはありませんが、これは利点ではなく、機能がないということです。--prompt はこれとは異なります。認識器自体にバイアスをかけるため、変更があればスコアリング開始前にすでに文字起こしに反映されています。一方、この指標が数えているのは後処理で変更された文です。このセルは未測定であり、ゼロではありません。どちらに作用するかを確かめるには、プロンプトありとなしの文字起こしを差分比較する必要がありますが、このハーネスでは行っていません。

適用前と適用後。

コーパス固有名詞の復元率、生の STT辞書適用後誤って変更された、正しい文章
TTS 音声、whisper.cpp base.en(330 クリップ)41.9%82.8%72 件中 0 件
TTS 音声、プロンプトヒント付き whisper.cpp small.en76.0%95.7%72 件中 0 件
合成 STT エラー(402 文、70 用語)5.1%96.8%95 件中 0 件

このハーネスでのレイテンシーは、文あたり約 0.3 ms です。TTS 音声の行では、macOS のテキスト読み上げ音声を whisper.cpp に読み込ませているため、スマートフォンのマイクよりも条件が良好です。同一 VM 上での espanso と whisper.cpp の別途比較(インストール、レイテンシー、メモリ)は、docs/BENCHMARKS.md にあります。

合成データの 5.1% は、音声認識全般で固有名詞が正しく認識される割合が 5% だという主張ではありません。このコーパスのすべての文には、聞き間違いが含まれるように作られているため、5.1% はたまたま正しく認識されたわずかな件数にすぎません。実際の「適用前」の数値は、TTS 音声の 41.9% です。

最後の列では、通常の文章のみを数えています。各コーパスには、照合機能を意図的に誤作動させるように作られた文(Ollama に関する語の隣に単独の「llama」がある文、類似した音の語、コードスパン)も含まれており、expected-hard としてマークされています。これらを含めると、誤検出率は合成データで 15.3%(124 件中 19 件)、音声で 16.7%(90 件中 15 件)です。両方の数値と、失敗したすべてのケースは docs/BENCHMARK.md にあります。

保留データによる確認(別の内部実行、未知の話者)。 上の表では、テスト用語に合わせて作成した辞書を使用しています。より難しいケースをテストするため、別の文と話者だけから別名を学習し、学習には一切使っていない話者と文(63 クリップ)でスコアを測定しました。3 種類のオープンなテキスト読み上げ音声から生成した合成音声を whisper.cpp に読み込ませ、すべての対象語が復元されたクリップを正解として数えています。

認識器生の結果辞書、正規語のみ辞書、別のクリップから学習した別名を追加
whisper.cpp base.en63 件中 16 件63 件中 38 件63 件中 44 件
whisper.cpp small.en63 件中 25 件63 件中 39 件63 件中 42 件

この実行で、辞書によって変更された正しい文章は 60 件中 0 件でした。

Whisper プロンプトに関する注意点。 同じ 378 クリップで、Whisper の --prompt ヒントリストだけでも、正解したクリップ数は base.en で 97 件から 228 件に、small.en で 141 件から 320 件に増えました。そのため、プロンプトは強力なベースラインとなり、そこに Lexicon を追加したときの上積みは小さくなります(Lexicon 併用で base.en は 271 件、small.en は 339 件)。また、プロンプトを使うと base.en では退化した文字起こし(空のテキスト、またはループするテキスト)が、プロンプトなしの場合の 5 件に対し 55 件発生しました。つまり、小型モデルではプロンプトを使っても代償がないわけではありません。ここでの音声はすべて合成音声であり、マイクで録音した音声ではありません。また、ハーネスもまだ公開されていないため、公開されるまではこれらを内部の数値として扱ってください。

インストール

パッケージは @ashlr/lexicon です。コマンドは lexicon です。

curl -fsSL https://ashlrai.github.io/lexicon/install.sh | sh   # CLI + the setup wizard
brew install ashlrai/tap/lexicon                               # or Homebrew (macOS, Linux)
npm i -g @ashlr/lexicon                                        # or npm (Node 20+)

次に Claude Code を開き、会社名を含む文を入力してください。これで完了です。クリーンな Linux VM でのインストールを時間を計りながら解説する、エージェント向けの注記付きガイドはdocs/FIRST-RUN.mdにあります。

npm では現在 @ashlr/lexicon 0.5.4 が公開されていますが、このソースツリーは 0.5.6 です(npm view @ashlr/lexicon version で確認できます)。以下の lexicon export の形式提案など、0.5.4 以降の変更は、まだ公開済みの npm パッケージには含まれていません。

インストールスクリプトは、質問できるターミナルがある場合、自動的に lexicon setup を実行します。ターミナルがない場合(CI、Dockerfile)、sudo の実行中、または LEXICON_NO_SETUP=1 の場合は、インストールのみを行い、Homebrew や npm でインストールした後と同様に、自分で lexicon setup を実行するよう案内します。各手順はすべて省略可能で、安全に再実行できます。また、lexicon setup --dry-run は何も書き込まず、同じコマンドを実行した場合に行われる手順と、確認のために停止する手順、それぞれで Enter キーを押した場合の回答を説明します。

Homebrew では、必ず完全な tap 名 ashlrai/tap/lexicon を使用してください。通常の brew install lexicon では、homebrew-core にある無関係な DNS ツール、dns-lexicon がインストールされます。

lexicon setup が行うこと(7 つの手順)
  1. あなたの名前と会社名を、それぞれ STT が生成する誤記とともに lexicon に登録します。
  2. スターターパックをチェックリスト形式で提示します。
  3. 現在のリポジトリを調べ、コード内ですでに使われている名前を収集します。
  4. 検出したすべてのエージェントクライアントに MCP サーバーとフックを登録します。
  5. ローカル API をログインサービスとしてインストールします。
  6. 音声入力アプリにエクスポートします。
  7. 登録したばかりの用語を使った文を音声入力し、修正内容を表示します。

実際のターミナル出力を含む詳細なガイドは、docs/QUICKSTART.mdにあります。

または、ウィザードを使わずに、用語を 1 つ手動で追加できます。最初の引数は正規の表記で、残りは STT が実際に生成する表記です。

lexicon add Ashlr.AI Ashler Ashlar "Ashler AI" --phonetic ASH-ler
lexicon normalize "tell Ashler to ship it"
# tell Ashlr.AI to ship it

使い始めて 10 分ほどしたら、実際に使う名前を登録しましょう。lexicon import --guided は固有名詞がどこにあるか(連絡先、カレンダー、GitHub)を尋ね、見つかった場所とともに候補を表示し、承認したものだけを書き込みます。チェックボックスをオンにするまで何も読み取られず、メールとチャットは一切対象になりません。

Claude Code プラグインなら、CLI をまったくインストールせずに使えます。Node のインストールもビルドも不要です。

claude plugin marketplace add ashlrai/lexicon
claude plugin install lexicon@ashlrai

lexicon doctor でインストールを確認できます。テレメトリはありません。語彙とアプリケーションの状態はローカルファイルに保存されます。通常のフック、修正、MCP、ローカル API、拡張機能の各パスでは、文字起こしデータがリモートサービスに送信されることはありません。明示的なネットワーク操作には、初回使用時に whisper モデルを取得する lexicon voice、チェックサムを検証しながら --registry URL からコミュニティパックを取得する lexicon pack、および lexicon import --guided で GitHub ソースを選択する操作が含まれます。このソースは既存の gh 設定とログイン情報を使って GitHub API(通常は api.github.com)を呼び出し、プロフィール、組織への所属、メンバーのログイン名、リポジトリ名のメタデータを取得します。新しい OAuth スコープは要求されません。確認の前にソースを選択し、書き込みの前に候補を確認します。インストールスクリプト、npm、Homebrew はパッケージ自体を取得します。SECURITY.mdを参照してください。

GitHub ガイド付きインポーターは 0.5.5 で追加されました(PR #25)。現在、npm の latest は 0.5.4 です。

MCP のセットアップ

lexicon install <client> --apply で自動的に設定できます。手動で設定する場合:

# Claude Code
claude mcp add lexicon -- npx -y -p @ashlr/lexicon lexicon-mcp
# Codex
codex mcp add lexicon -- npx -y -p @ashlr/lexicon lexicon-mcp

Cursor(~/.cursor/mcp.json):

{ "mcpServers": { "lexicon": { "command": "npx", "args": ["-y", "-p", "@ashlr/lexicon", "lexicon-mcp"] } } }

サーバーが読み取る環境変数(LEXICON_PATH、LEXICON_HARVEST_ROOTS、LEXICON_REGISTRIES など)は、docs/MCP.mdに記載されています。

理由

一般的な英語では音声認識の精度は約95%ですが、作り出した名前では大幅に低下します。上記のベンチマークでは、raw whisper.cpp base.en が、口述された279個の固有名詞のうち正しく書き起こせたのは117個でした。「Ashlr.AI」は「Ashler」に、「Kubernetes」は「Cooper Nettie's」に、「SaaS」は「sauce」に、「auth」は「off」になります。これらはまさに、エージェントに正しく認識してほしい単語です。

音声入力アプリ(Wispr Flow、Superwhisper、Aqua)はそれぞれ独自の辞書を持ち、辞書を共有しません。エージェント(Claude Code /voice、ChatGPT voice、Codex、ローカルのWhisper)はそれぞれ独自の音声認識を使い、ユーザーの語彙は一切ありません。これはその間にある、持ち運び可能なレイヤーです。テキストがどこを通る場合でも、STTの後、モデルの前に補正を行います。

これは音声入力アプリではありません。すでに使っている音声入力アプリと、話しかけるエージェントの間に配置します。この判断の根拠となった調査と、終了基準については、docs/RESEARCH.md をご覧ください。

利用できる機能

  • 21個のMCPツール、2つのリソース、2つのプロンプトを、Claude Code、Codex、Cursor、Windsurf、Gemini CLI、VS Code、Claude Desktopで利用できます。エージェント自身がセットアップを実行できます。setup_lexicon、lexicon_doctor、install_client、trust_project、import_dictionary、import_vocabulary、suggest_terms を使えば、ターミナルを使わずに「辞書をセットアップして」と頼めます。マシンに変更を加えるツールでは、まずプレビューを表示します。setup_lexicon と install_client は計画を返し、エージェントが apply: true を渡すまで何も書き込みません。uninstall_client(lexicon uninstall に相当)は apply: true になるまでドライランを行います。trust_project は、ファイルを固定する前にユーザーへ直接確認します(エージェントが回答できないMCPのエリシテーションプロンプトです)。import_dictionary は dryRun を受け取り、import_vocabulary は明示的に選択されたソースのみを読み取った後、保存済みのプレビュー トークンと、apply: true を指定した承認済み候補IDを必要とします。
  • Claude Codeプラグイン:MCP サーバー、SessionStart および UserPromptSubmit フック、lexicon スキル、/lexicon コマンドを備えています。このリポジトリのマーケットプレイスから、ビルド手順なしでインストールできます。
  • 27個のコマンドを備えたCLI:lexicon add から lexicon voice まで利用できます。
  • 4つのパック(developer、AI、business、voice tools)に収録された176個のスターター用語を、それぞれ1つのコマンドで追加できます。レジストリインデックスからコミュニティパックも利用できます(lexicon pack search cardiology --registry <index>)。インストール時にチェックサムを固定し、インストールと更新の前に必ずプレビューを表示します。
  • 16種類のエクスポート形式(Wispr Flow、Superwhisper、macOS Text Replacement、espanso、WhisperおよびOpenAIのプロンプト、Deepgram、AssemblyAI、Speechmatics、Azure、Google、CLAUDE.md、markdown、text、CSV、JSON)と、すでに学習させた辞書用の8種類のインポーター(書き出し先のCLAUDE.mdテーブルを含む)。 書式を指定せずに lexicon export を実行すると、すべての形式が一覧表示されます。形式を誤って入力すると、候補を提案して終了コード1で終了します。たとえば、lexicon export wisprr は Did you mean wispr? Run: lexicon export wispr と表示します(0.5.6のソース)。
  • リポジトリからの用語収集、ガイド付きの語彙インポート(lexicon import --guided:連絡先、カレンダー、GitHubから取得できます。各ソースの利用は個別にオプトインし、すべての候補を承認してから書き込みます)、補正学習(「AshlerではなくAshlr.AIです」といった補正をプロンプトフックが検出すると、グローバル辞書の隣にある pending-aliases.yaml にレビュー用として追加します。lexicon pending accept <id> を実行するまで、キュー内の項目がマッチングに影響することはありません。lexicon pending reject <id> は項目を1つ削除し、LEXICON_QUEUE_CORRECTIONS=0 でキューを無効にできます)、使用統計、音声履歴から抽出した候補、プロジェクト辞書用の信頼ゲートも備えています。
  • シンプルなライブラリ。 normalize() は純粋関数です。テキストと辞書を入力すると、補正済みのテキストと置換リストを返します。

適用対象

対象方法ドキュメント
Claude Codeプラグイン、またはモデルがプロンプトを読む前に修正する2つのフックを備えたMCP サーバーCLIENTS.md
Codex、Cursor、Windsurf、Gemini CLI、VS Code、Claude Desktoplexicon install <client> --apply でMCP サーバーを登録します。lexicon uninstall <client> では、書き込んだ内容だけを削除します(まず --dry-run を実行してください)CLIENTS.md
任意のMCPクライアントstdio サーバー、21個のツールMCP.md
ChatGPT、Claude.ai、Grok、Gemini、Perplexity、Poe、Copilotブラウザー拡張機能:送信時に入力欄を書き換えますEXTENSION.md
macOS上の任意のアプリ、任意のディクテーションツールLexiconBarメニューバーアプリ:アクセシビリティ機能でフォーカス中のフィールド内のディクテーションテキストを書き換え、取り消しバブルを表示しますMACOS-APP.md
Shortcuts、Raycast、スクリプト、自作アプリlexicon serve:ベアラートークンで保護された 127.0.0.1:41733 のループバックHTTP APILOCAL-API.md
ディクテーションアプリを使わないディクテーションlexicon voice:ffmpegで録音し、whisper.cppが正規表記をプロンプトのヒントとして文字起こしし、辞書が修正しますVOICE.md
任意のテキストフィールド、任意のOSホットキーで lexicon daemon --once --paste を実行しますDAEMON.md
Wispr Flow、Superwhisper、macOS Text Replacement、espanso、Deepgram、Azure、Google各ツール固有の辞書とバイアス設定にエクスポートしますEXPORTS.md
自作のSTTパイプラインnpm i @ashlr/lexicon を実行し、文字起こしの後、モデルに渡す前に normalize() を呼び出しますLIBRARY.md
上記のいずれかをWindowsまたはLinuxで使用する場合各OSでCIテスト済みの対象、実機では未検証ながら動作する対象、未対応の対象を確認できますPLATFORMS.md

仕組み

トークンウィンドウに対し、3段階で照合します。まず完全一致のエイリアス、次にダブル・メタフォンによる音声的照合、最後に信頼度の下限を超えた場合のダメラウ・レーベンシュタインによるあいまい照合です。完全一致は対象範囲内で優先され、照合範囲が重複することはありません。約3400個の一般的な英単語を含む除外リスト、用語ごとの never リスト、さらにデフォルトの skipCode が有効な場合は、コード範囲、URL、メールアドレス、パス、連結された識別子はすべて対象外です。そのため、ベンチマークで変更された誤りのない文はゼロでした。置換ごとに reason と confidence が報告されます。

独自の辞書がない場合、normalize は組み込みの例(Ashlr.AI、Kubernetes、PostgreSQL、Pydantic、SaaS)を使い、その旨を伝えます。Hetznerは含まれていないため、その用語を追加するまでは head sner はそのままになります。

lexicon normalize --diff "ask ashler to deploy kuber netties with post gressql"
# stderr:  lexicon: no terms yet, so this is the built-in example (Ashlr.AI, Kubernetes, PostgreSQL, Pydantic, SaaS).
#          lexicon: run `lexicon setup` to build your own; nothing was written.
#          "ashler" -> "Ashlr.AI" (alias, 1.00)
#          "kuber netties" -> "Kubernetes" (phonetic, 0.88)
#          "post gressql" -> "PostgreSQL" (phonetic, 0.88)
# stdout:  ask Ashlr.AI to deploy Kubernetes with PostgreSQL

すべてのガードを含むルールの全容は、docs/MATCHING.md を参照してください。

doctor --fix による修復

lexicon doctor --fix は lexicon doctor が報告する問題の修復をプレビューしますが、何も書き込みません(終了コード0)。lexicon doctor --fix --apply を実行すると修復し、各ファイルを事前にバックアップします。--fix を付けずに lexicon doctor --apply を実行すると、終了コード1で拒否されます。--json を追加すると、{ mode, plan, outcome } 形式のオブジェクトが1つ出力されます。この機能はソース(main)には含まれていますが、まだリリースされていません。npmパッケージ(0.5.4)には含まれていません。

$ lexicon doctor --fix
doctor --fix (dry run, nothing written):
  would fix  move aside the trust registry (trust.json), which is not valid JSON (...)
Run `lexicon doctor --fix --apply` to make these changes (each file is backed up first).
$ lexicon doctor --fix --apply
doctor --fix --apply:
  fixed   move aside the trust registry (trust.json), which is not valid JSON (...)
          backup: ~/.config/lexicon/trust.json.bak-<UTC stamp>

修復対象:グローバル辞書がない場合は、lexicon init と同様に空の辞書を作成します。使用できない trust.json、hits.json、保留中の修正キュー、インデックスキャッシュは、それぞれ <file>.bak-<UTC stamp> にコピーして削除します。手動対応が必要な項目(manual として表示され、変更されません):解析できない辞書(用語が格納されているため、lexicon edit で修正してください)、serve.json(ペアリングトークンが格納されています)、ディレクトリまたはシンボリックリンクになっている状態パス、ClaudeのフックとMCP登録(lexicon install claude --apply)。詳細は docs/doctor-fix.md を参照してください。Ashlrのツールをすべて一度に修復するには、Ashlr Stackガイドのすべて修復を参照してください。

ドキュメント

完全な目次は docs/ にあります。タスク別に、使い始める、クライアントで使う、仕組みを理解する、貢献する、内部構造を確認する、に分かれています。多くの方に必要なページは次の3つです。

ページ内容
QUICKSTART.mdClaude Code で、何もない状態から修正を行うまでの5分間の手順と、各セットアップ手順で書き込まれる内容
CLIENTS.mdClaude Code(プラグイン、フック、ヘッドレス)およびその他すべてのエージェントクライアントへのインストール
FAQ.mdインストール前によく寄せられる質問

誰かのためにこれをインストールするエージェントを作成していますか?docs/AGENTS.md は、あなたに向けて書かれています。コードを変更する場合は、CONTRIBUTING.md と docs/ARCHITECTURE.md から始めてください。

ルートには、SECURITY.md、CODE_OF_CONDUCT.md、CHANGELOG.md もあります。

ダウンロード

各 GitHub リリースには、Chrome/Edge/Brave 用および Firefox 用のブラウザー拡張機能、macOS 用の LexiconBar.app.zip、オフラインインストール用の npm tarball、SHA256SUMS が添付されています。Homebrew の formula は ashlrai/homebrew-tap にあります。0.5.6 の公開後は、npm i -g github:ashlrai/lexicon#v0.5.6 を実行すると、GitHub からそのタグを直接インストールし、インストール時にビルドします。

ロードマップと対象外の機能

対象外:これはディクテーションアプリではなく、ホスト型アカウントや同期サービスもありません。これはファイルです。

  • 拡張機能を Chrome ウェブストアおよび Firefox AMO に掲載します。現在はリリース zip からインストールします。
  • 公証済みの macOS アプリ。LexiconBar はアドホック署名のため、初回起動時に右クリックして「開く」を選ぶ必要があります。
  • 同じプッシュ・トゥ・トークとクリップボード修正機能を備えた Linux トレイアプリ。Windows 版はビルド済みです。docs/WINDOWS-APP.md をご覧ください。
  • 英語以外の音声学。ダブル・メタフォンは英語向けに調整されており、他言語の名前はファジーマッチングにフォールバックします。
  • 実マイクを使ったベンチマーク。音声コーパスは録音音声ではなく、macOS のテキスト読み上げで読み上げた音声を whisper.cpp に入力したものです。

Ashlr エコシステムの一部

Lexicon は、前線展開型エンジニアリング企業 Ashlr が提供するオープンソースツールの1つです。それぞれを個別にインストールして実行できます。

  • Phantom(phm):エージェントのワークベンチです。ソース:ashlrai/phantom。
  • Phantom Secrets(phantom):phm_ プレースホルダーを使って、実際の API キーをエージェントのコンテキストから保護します。ソース:ashlrai/phantom-secrets。
  • Locus(locus):各エージェントセッションを1つのアカウントに固定します。
  • Ashlr MD:MCP サーバーを備えた Markdown アプリです。
  • Ashlr Stack(stack):サービスをプロビジョニングし、そのキーを Phantom Secrets に保存します。
  • ashlr-plugin(ashlr-plugin):Claude Code と Codex 向けのトークン効率化ツールです。

Phantom: INTEGRATION.md は、Phantom が統合する際の契約(lexicon ファイル、信頼ゲート、normalize のエントリポイント)について、Lexicon 側の視点で概略を記したものです。Phantom のコアには何も変更を加えません。

耐量子対応: docs/PQ-READINESS.md では、Lexicon が現在暗号技術をどのように扱っているか(完全性のための SHA-256 および SHA-512 ハッシュ。リリース済みソースには暗号化、鍵交換、署名はありません)と、移行時に変更が必要となる箇所を記録しています。Lexicon が量子安全であるとは主張していません。

貢献

最初に取り組むのに適した Issue は、ラベル付けされ、範囲が明確になっています。新しいスターターパック、エクスポーター、インポーター、ハーベスターのソースなどがあります。CONTRIBUTING.md に、セットアップ、テストの構成、それぞれの作り方が記載されています。

誤って認識される名前を見つけましたか?聞き間違えた用語の Issue を作成してください。

License

MIT. Copyright 2026 AshlrAI, Inc.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。