# 整合設定

## MCP 設定

單一檔案：`~/.config/agenvoy/mcp.json`。Session 範圍的層級已移除。以 TUI `/mcp`、web 儀表板或 `/v1/mcp*` 端點管理 server。完整 schema 與 `${VAR}` 展開行為見 MCP 客戶端頁。

## 供應商設定

已無靜態供應商目錄——新增模型時由各供應商 API，或本機端點的 `GET /models`，取得模型清單。已註冊模型存於 `config.json` 的 `models`（順序即 fallback 優先序）、tier 存於 `model_tag`、自訂端點 URL 存於 `compats`；憑證絕不存於此，而是存於 OS keychain 的 `agenvoy` 服務下。寫入 `config.json` 會重新載入 agent registry，不需重啟。`claude-code` provider（v1.1.0 起）不存任何憑證 —— 它執行本機的 `claude` CLI —— 且僅在以 `agen --enable-claude-code` 啟動 Agenvoy 時啟用（daemon 須先停止）。

### Compat provider URL 儲存拆分

`compat` provider URL 採 **two-storage** 模型：

| 內容 | 位置 | 原因 |
|---|---|---|
| URL（例如 `http://host:8000/v1`） | `~/.config/agenvoy/config.json` 的 `compats[]` — `{"provider": "<NAME>", "url": "..."}` | 非機密、可由 user 編輯 |
| API key（`COMPAT_<NAME>_API_KEY`） | OS keychain | 機密 |

URL 慣例遵循 Zed：輸入至 `/v1` 為止的 URL（例如 `http://host:8000/v1`），router 自行附加 `/chat/completions`。本機 Ollama（`http://localhost:11434/v1`）與 llama.cpp（`http://localhost:8080/v1`）經 `configs/jsons/local_compat.json` 內建，不需 `compats` 條目。URL 由 config 讀取，**非** keychain。不存在 `COMPAT_<NAME>_URL` keychain key（刻意移除：一個歷史 bug 曾讓 TUI 寫入 config 而 runtime 讀 keychain，導致總是 fallback 到 localhost）。

## KuraDB

已無 `kuradb_enabled` 旗標，也沒有 `/v1/kuradb` 端點。KuraDB 以一般 MCP server 形式註冊——在 `mcp.json` 加一筆條目——因此其工具以 `mcp__kura__*` 出現，取消註冊或斷線時完全消失。TUI `/kuradb` 精靈已於 v0.35.0 移除：請自行執行 `kuradb.sh`（需真實 TTY 處理 `sudo`），再透過 `/mcp` 註冊。完整說明見 KuraDB 與 RAG 頁。

| Key | 位置 |
|---|---|
| `kura` server 條目 | `~/.config/agenvoy/mcp.json` — `{"command": "kura", "args": ["mcp"]}` |
| `OPENAI_API_KEY` | keychain（`agenvoy` service） — 與 semantic search 共用 |
| Binary | `PATH` 上的 `kura`（`/usr/local/bin/kura`，由 `kuradb.sh` 安裝） |
| KuraDB 自身設定 / 資料 | `~/.config/kuradb/`，完全由 KuraDB 管理 |
