完成這套設定後,osFoundry 裡的 Worker 角色就交給 Claude Code。當計畫中的某個步驟輪到 Worker,桌面 app 會在你的專案資料夾裡啟動 claude,登入的是你自己的 Claude 訂閱。Claude Code 用自己的工具編輯檔案,osFoundry 這邊的工具(例如搜尋你的筆記)則以 mcp__osfoundry__memory_search 的名稱呼叫。每一次這樣的呼叫,都會在 osFoundry 的聊天裡顯示成一行「Using …」。
誰負責什麼
| Claude Code | osFoundry 桌面 app | |
|---|---|---|
| 登入 | 你的 Claude 訂閱,/login 之後由 CLI 保存 |
完全不經手。會從子行程的環境中移除 ANTHROPIC_API_KEY 之類的變數,讓這次執行不會退回 API 計費 |
| 費用 | 從你的訂閱裡扣 | 這次執行記為費用 0 |
| 檔案 | 用自己的 Read、Edit、Bash,只在一個資料夾內(--add-dir) |
決定是哪個資料夾:Local Folders 裡最新加入的那個 |
| osFoundry 工具 | 以 mcp__osfoundry__<tool> 呼叫 |
只在這次執行期間透過 loopback port 提供,並逐一用白名單檢查每次呼叫 |
| 核准 | 在自己的資料夾內以 --permission-mode bypassPermissions 執行 |
經過 bridge 的每次呼叫,都會通過和其他模型工具呼叫相同的核准與政策關卡 |
| 輸出 | 最終文字 | 成為該角色的輸出。工具活動以進度行顯示 |
設定
1. 安裝 Claude Code,並登入一次
依照 Anthropic 文件的方式安裝 CLI。接著在終端機裡登入:
$ claude
> /login
osFoundry 會在 PATH、~/.claude/local,以及 VS Code 擴充套件的 bundle(~/.vscode/extensions/anthropic.claude-code-*/resources/native-binary/claude)裡尋找執行檔。所以只透過 VS Code 擴充套件裝的 Claude Code 也找得到。
2. 在 External AI 中啟用
在桌面 app 裡點標題列的鑰匙圖示(API Keys (BYOK)),再打開 External AI(外部 AI)分頁。Claude Code 那一列應該長這樣:
Claude Code Installed [Enabled]
/Users/you/.claude/local/claude
Model id: cli:claude (chat) · cli:claude:agent (autonomous)
[Verify sign-in] [Sign in]
範例:External AI 分頁中的 Claude Code 與 Codex
點 Verify sign-in(驗證登入)。app 會透過 CLI 跑一次很小的 completion,然後顯示 ✓ Signed in 或 Needs sign-in。Sign in 會在終端機視窗裡開啟 Claude Code,並顯示提示「Type /login to sign in, then close this window.」
你可能會看到 API key in env 的標籤。這表示啟動 osFoundry 的環境裡設了 ANTHROPIC_API_KEY 之類的變數。app 在啟動 claude 之前會把它拿掉,所以這次執行仍然使用你的訂閱。這個標籤只是提醒。
3. 指定資料夾
Agent 模式在真實的目錄裡運作。到 Settings → Local Folders 加入你的專案。如果有好幾個,會使用最近加入的那個。從 Code 介面(Code surface)啟動的執行,則改用該次執行所登記的 repository。
4. 綁定角色
打開 Pipeline 分頁 → Pipeline Roles。在 Agents 底下選 Worker,再從 External AI (subscription) 群組選擇 cli:claude:agent。
這兩個 id 是兩種不同的模式:
-
cli:claude:agent是自主模式。Claude Code 在你的資料夾裡有自己的工具,另外還能透過 bridge 使用 osFoundry 的工具。適合 Worker、Researcher、Document Agent 這類角色。 -
cli:claude是聊天模式。CLI 會帶著--disallowedTools '*'執行,什麼都不能呼叫。適合 Titling 或 Compaction 這類純文字角色。如果把需要工具的角色綁到它,執行會失敗,並顯示訊息請你改用cli:claude:agent。
你在 Agents 畫面自訂的 agent 也能使用它。它們的模型選單會在 CLI agents 底下列出,標籤是「autonomous — runs in your local folder」。
5. app 實際啟動的指令
每次執行時,osFoundry 會先啟動一個全新的 MCP bridge,再大致用下面的方式啟動 CLI。這些 flag 來自 src-tauri/src/providers/agent_cli.rs 裡的 build_claude_command:
claude -p "<conversation>" \
--output-format stream-json --verbose --include-partial-messages \
--permission-mode bypassPermissions \
--add-dir /Users/you/work/site \
--mcp-config '{"mcpServers":{"osfoundry":{"type":"http",
"url":"http://127.0.0.1:<port>/mcp",
"headers":{"Authorization":"Bearer <per-run token>"},
"timeout":120000}}}' \
--strict-mcp-config \
--append-system-prompt "<role prompt>"
有了 --strict-mcp-config,你自己設在全域或專案裡的 MCP 伺服器就不會混進這次執行。只會接上 osfoundry 這個伺服器。port 和 token 每次執行都是新的,行程結束時 listener 也會關閉。
實際執行一次
範例。筆記和 repository 都是示範內容。
你(Maestro 聊天,Worker = cli:claude:agent)
幫我在筆記裡找 Q4 預算檢討是什麼時候,然後加到 TODO.md。
Claude Code 的工具呼叫
mcp__osfoundry__memory_search {"query": "Q4 預算檢討"}
→ 「Q4 預算檢討:週四 14:00。」
Read TODO.md
Edit TODO.md (+ "- [ ] 準備 Q4 預算檢討(週四 14:00)要用的數字")
osFoundry 的進度行
Using memory_search — {"query":"Q4 預算檢討"}
Using Read — {"file_path":"TODO.md"}
Using Edit — {"file_path":"TODO.md", …}
回答
已在 TODO.md 加入「準備 Q4 預算檢討(週四 14:00)要用的數字」。
時間取自你的筆記「Q4 預算檢討:週四 14:00。」
mcp__osfoundry__ 這個前綴,是 Claude Code 為名叫 osfoundry 的伺服器的工具取名的方式。osFoundry 會在進度行裡把它拿掉,所以 memory_search 看起來和用 API 模型時一樣。
界線在哪裡
bridge 提供的是一份簡短、固定的清單。裡面有唯讀工具,例如 memory_search、web_search、extract_content、code_search、todo_list、transcribe 和 cloud_* 的讀取工具,再加上編排(spawn_fleet、graph_run、loop_run)、即時畫面與 Canvas 工具。read_file、write_file、execute_command 是刻意排除的。Claude Code 本來就有限定在資料夾內的同類工具,若再透過 MCP 給它第二個不受範圍限制的執行器,就會伸手到 --add-dir 之外。
白名單由 bridge 強制執行,而不是靠 CLI flag。以 bypassPermissions 模式執行時不會遵守 --allowedTools,所以 osFoundry 根本不傳。呼叫這次執行清單以外的任何工具,都會收到 JSON-RPC 錯誤:「tool '…' is not available to this agent」。
workspace 和 channel 在 bridge 啟動時就固定了。工具呼叫無法透過參數把自己導向別的 workspace。
寫入畫面或 Canvas 編輯器的操作(ui_agent_act、Canvas 的寫入工具)一律會先問你,和 API 模型時一樣。沒有人在看的執行,例如回應 channel 提及的 agent,會直接拒絕需要核准的工具,而不是去等一個不會出現的點擊。
你的檔案從不經過 osFoundry。Claude Code 直接讀取和編輯,流量則以你自己的登入送往 Anthropic,就跟在終端機裡用一樣。
下一步是把 cli:claude:agent 也綁到 Researcher 角色,和 Worker 並列,然後跑一個編排任務。Pipeline 角色頁面列出了所有可以交給它的角色,Local Folders 則說明工作資料夾是怎麼選出來的。

Top comments (0)