voyager-agent について
voyager-agentは、Voyagerの複数の感知モジュールを組み合わせる汎用エージェントです。リポジトリ、ホスト、ウェブページの観測を集めて証拠グラフにまとめます。推論モデルは差し替え可能で、LLM不要のルールベース実装もあり、感知は読み取り専用です。
主な機能
- 01目標に応じて感知モジュールを起動
- 02観測を並行収集して証拠を関連付け
- 03情報利得に基づく次のプローブ選択
- 04ルールベースまたは交換可能なモデル
- 05読み取り専用の感知と同意制の修復
活用シーン
- 01リポジトリを調べてリスクを提示
- 02許可されたホストの露出を監査
- 03ウェブページを観測して結果を要約
- 04複数の観測を統合してミッションを結論
MCP 対応
MCPサーバーとして単一のrun_missionツールを提供します。クライアントが目標を渡すと、認知クレームの全グラフを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | いいえ | 観測するライブ http(s) URL(読み取り専用のページセンス)。 |
| host | string | いいえ | 監査対象となる、自分が所有する単一のホスト/ドメイン。 |
| intent | string | はい | 目標を平易な言葉で記述します。 |
| repoPath | string | いいえ | 対象を特定するためのローカルリポジトリのパス。 |
| checkDeps | integer | いいえ | リポジトリの調査中に、最大 N 個の依存関係を検証します。 |
| authorized | boolean | いいえ | `host` の所有者である、またはテスト許可を得ていることを表明します。監査に必須です。 |
詳細
@dir-ai/voyager-agent
唯一無二の汎用 Voyager です。 モデルに依存しない薄いオーケストレーターで、モジュール式の Voyager センサーである voyager-repo(コード)、voyager-net(ホスト)、そしてそれらを結び付ける認知コントラクトを、単一のエージェントに統合します。目標を指定すると、Voyager は必要なセンサーを起動し、ライブミッションを実行して、エビデンスをひとつのグラフに結び付け、結論を出します。
これはモノリスではなく、コンポジションです。 エージェントがセンサーを取り込むことはありません。公開されている器官を呼び出し、その内容を共有の
CognitiveClaim
基盤に適合させます。推論モデルは差し替え可能な接続点(Brain)であり、LLM なしでも実行できるルールベースのブレインが同梱されています。
センシングは自律的に行われます。アクションは自律的に行われません。 ここにあるすべてのセンサーは読み取り専用です。ミッションで提示された修復策は、すべて同意が必要な実行保留中のアクションとして扱われ、このオーケストレーターによって適用されることはありません。
インストール
npm i -g @dir-ai/voyager-agent
使用方法
# Orient in a repo and flag risk (voyager-repo)
voyager-agent mission "audit this project" --repo .
# Audit ONE host you own (voyager-net — fail-closed, needs --authorized)
voyager-agent mission "check my server's exposure" --host example.com --authorized
# Observe a live page (voyager-browser — read-only, static HTML)
voyager-agent mission "check my landing page" --url https://example.com
# All three senses in one mission; vet 10 dependencies; machine-readable
voyager-agent mission "full audit" --repo . --host example.com --authorized --url https://example.com --check-deps 10 --json
センサーは並列に展開され、堅牢に動作します。エラーが発生した(または例外をスローした)センサーは、信頼度の低いフラグ付き観測になります。ミッションがクラッシュしたり、他のセンサーの正常な結果が破棄されたりすることはありません。
その後、ミッションは再計画します。情報利得に基づいて、最も有益な次のプローブをひとつ選択して実行し、maxRounds で上限を設けます。プローブの実行方法は、注入可能な dispatch の接続点(モデルが決定します)で指定します。安全なデフォルトでは再読み込みのみを行い(リポジトリの依存関係の検証を深めます)、アクションは実行しません。verify クレームによってミッションを完了させることで、state().satisfied に意味のある値が設定されます。
Voyager — one agent, one entry.
goal: "orient in this repo and flag risk"
👁 observe [repo] (70% · moderate)
@dir-ai/[email protected] — The one universal Voyager…
↳ [low] no-lockfile: no lockfile — installed versions are not pinned/reproducible
🧠 infer [memory] (70% · moderate)
repo observed; 0 high/critical signal(s). No high-severity issue surfaced.
next probe: [repo] open src/index.ts
MCP サーバーとして
ひとつのツール run_mission で目標を説明すると、クレームグラフ全体が返されます。
voyager-agent mcp # stdio
{
"command": "voyager-agent",
"args": ["mcp"]
}
ライブラリとして
import { runMission, DeterministicBrain, type Brain } from '@dir-ai/voyager-agent'
const { mission } = await runMission(
'audit this repo and my host',
{ repoPath: '.', host: 'example.com', authorized: true /* your own host */ },
Date.now(),
)
for (const claim of mission.allClaims()) console.log(claim.operation, claim.sense, claim.verdict)
console.log(mission.state().bestNextProbe) // the most informative next step
console.log(mission.state().contradictions) // where two senses disagree
独自のモデルを使用する
Brain インターフェースがこの仕組みの要です。センサー、メモリ、ミッションの仕組みに触れることなく、LLM を接続できます。すぐに使える LlmBrain が同梱されており、モデルに依存しない complete() 関数をひとつ渡すだけで、モデルを通じた計画と統合を行います。Claude、ローカルサーバー、OpenAI 互換エンドポイントのいずれにも接続でき、Voyager が特定の SDK に依存することはありません。
import { runMission, LlmBrain } from '@dir-ai/voyager-agent'
const brain = new LlmBrain({
// Return the model's text for these messages — that's the whole dependency.
async complete(messages) {
const res = await myModel.chat(messages) // Claude, local, OpenAI-compatible…
return res.text
},
})
await runMission('audit this repo and my host', { repoPath: '.', brain }, Date.now())
LlmBrain はフェイルセーフです。モデルでエラーが発生した場合や、解析できない出力が返された場合は、そのステップについて組み込みのルールベースのブレインに切り替わります。不正な完了結果によってミッションが中断されることはなく、そのステップの賢さが損なわれるだけです。また、Brain インターフェースを直接実装して、すべてを自由に制御することもできます。
仕組み
intent ─▶ Brain.decompose ─▶ goals
│
┌─────────────┼───────────────┐
▼ ▼ ▼
voyager-repo voyager-net (more senses…)
scout() scan()
│ │
▼ ▼
adapters: brief ─▶ CognitiveClaim
│ │
└──────▶ MissionGraph ◀───────┘
(contradictions, causal chain,
best-next-probe, memory)
│
▼
Brain.synthesize ─▶ conclusion
各センサーは CognitiveClaim を生成し、
MissionGraph がそれらを結び付けます。センサー間の矛盾を自動検出し、因果関係の連鎖を組み立て、情報利得に基づいて最も有益な次のプローブをひとつ提示します。センサーのエラーは、不明点をフラグで示した信頼度の低い observe クレームになり、誤って「問題なし」と判断されることはありません。
Voyager ファミリー
| パッケージ | センサー | 機能 |
|---|---|---|
@dir-ai/voyager | web | OSV による検証済みのインターネット情報の取得 |
@dir-ai/voyager-repo | code | リポジトリの構造把握、依存関係の検証 |
@dir-ai/voyager-net | hosts | 許可されたホストの読み取り専用監査 |
@dir-ai/voyager-contract | — | センサー間で交わされる認知コントラクト |
@dir-ai/voyager-agent | すべて | センサーを統合する唯一のエージェント |
安全性
- 読み取り専用の検知です。 システム上に何かがインストール、実行、変更されることはありません。
- ホスト監査はフェイルクローズです。 ホストのスキャンには
--authorized/authorized: trueが必要です。対象は単一のホストのみです(範囲/URL は不可)。クラウドメタデータへのアクセスはブロックされます。 - アクションには同意が必要です。 修復内容は提示されますが、実行は保留され、クレーム上では
unknownとして示されます。このオーケストレーターが修復を適用することはありません。 - 不確実性を正直に示します。 信頼度と
strengthは明示されます。検知エラーは、問題なしとの判定ではなく、フラグ付きの不明として扱われます。
ライセンス
MIT © dir-ai
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。