Agent 連携
Zanei が AI agent とつながる仕組み — 2 つの経路と skill 指示レイヤー、対応 agent、agent にできること・できないこと。
Zanei を使うと、agent は会話が始まる前の文脈を参照できます。読んでいたページ、レビューしていた PR、中断した場所などです。
2 つの経路と 1 つの指示レイヤー
Zanei が履歴を公開する経路は 2 つあり、どちらも同じローカルストアの薄いラッパーです。
| 経路 | 実体 | 使う相手 |
|---|---|---|
| CLI | zanei バイナリそのもの。シェルを持つ agent が直接呼ぶ |
ターミナル型 agent(Claude Code・Codex CLI・opencode・pi・…) |
| MCP サーバ | zanei mcp。read-only ツールを公開する stdio JSON-RPC サーバ |
CLI を実行できない chat クライアント(Claude Desktop)にはこれが唯一の経路。ターミナル型 agent も利用可 |
skill は 3 つ目の経路ではなく、「いつ履歴を見るか」「トークンを抑える呼び方」を agent に伝える指示レイヤーです。指示の届き方は経路ごとに異なります。
- MCP では指示がプロトコルに含まれています。ツール名・説明・既定値・スキーマは
tools/listで配信されるため、MCP クライアントに追加の設定は不要です。Claude Desktop の setup がサーバ登録だけで済むのはこのためです。 - CLI は agent に対して自己記述的でないため、Zanei は単一の
skills/SKILL.mdを指示の正本として持ちます。setup は CLI を実行する agent すべてにそのまま配置し、各 agent は固有の skill 探索方式でそれを読み込みます。
対応 agent
| Agent | CLI + skill | MCP (stdio) |
|---|---|---|
| Claude Code | ✅ SKILL.md |
✅ |
| Codex CLI | ✅ SKILL.md(~/.codex/skills/) |
✅ codex mcp add |
| opencode | ✅ SKILL.md($XDG_CONFIG_HOME/opencode/skills/、--scope project なら .opencode/skills/) |
✅ opencode.json(手動設定用 JSON を表示) |
| Hermes Agent | ✅ SKILL.md(~/.hermes/skills/) |
✅ hermes mcp add |
| pi | ✅ SKILL.md(~/.pi/agent/skills/、--scope project なら .pi/skills/) |
—(pi は設計方針として MCP を持たない。skill 経路で対応) |
| Claude Desktop の chat(CLI を実行できない) | — | ✅ 唯一の経路 |
Claude のデスクトップアプリは 2 つの面を併せ持ちます。chat は MCP で Zanei に届き、同じアプリ内で動く Claude Code はシェルを持つため、上の Claude Code 行の経路を使います。
setup は skill を配置し、agent 向けの MCP 登録コマンドを表示します。opencode の MCP JSON は手動設定用に表示します(セットアップ参照)。
agent にできること
MCP 経由では 3 つの read-only ツールが使えます(詳細は MCP リファレンス)。
get_timeline— LLM-ready タイムライン。zanei timelineと等価で、agent が最もよく呼ぶツール。query_events— 生イベント検索。zanei queryと等価。get_status— 記録が動いているか、権限は揃っているか。runningがfalseなら、agent は推測で答える代わりに「履歴は現在記録されていない」とユーザーに伝えられます。
CLI 経由なら、あなたの承認フローの下で、記録の開始・停止を含むすべてが使えます。同梱の skill が教えるのは、読み出し系の使い方、status / doctor による診断、そして記録設定の変更はユーザーの明示的な依頼があったときだけ行うことです。
agent にできないこと
MCP サーバは記録デーモンとは独立したプロセスで動く、ストアへの読み取り専用ビューです。
- 記録の開始・停止はできません。
- 設定の変更はできません。capture-time フィルタも含みます。agent が MCP 経由で記録対象を広げることはできません。
データの流れについて
Zanei 自体はデータをどこにも送りません。タイムラインを読んだ agent は通常それを LLM プロバイダへ転送しますが、その送信は agent 側の責任です。同梱の skill は、数日分を引くのではなく送信前に範囲を絞る(例:--since 2h、token budget 4000)よう agent に指示しています。