Skip to content

Claude Code 增加 WebSearch 功能 #136

@zeuikli

Description

@zeuikli

Description

以下內容為Kiro-CLI 提供之修改說明,Zeabur 已經驗證成功。

這次為了啟用 WebSearch,總共做了以下修改:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

修改的檔案

  1. k8s ConfigMap (openab configmap)
  • command 從 kiro-cli 改為 /home/node/.npm-local/node_modules/.bin/claude-agent-acp
  • 加入 args = ["--dangerously-skip-permissions"]
  • agent.preset=claude 透過 Helm 套用
  1. /home/node/.npm-local/node_modules/@agentclientprotocol/claude-agent-acp/dist/acp-agent.js(pod 內)

這是核心修改,把第 993 行從:
js
const permissionMode = resolvePermissionMode(settingsManager.getSettings().permissions?.defaultMode);

改為:
js
const permissionMode = "bypassPermissions";

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

為什麼這樣改

claude-agent-acp 在建立 session 時會把 permissionMode 傳給 Claude Code。預設是 "default",表示每次工具呼叫都需要使用者確認。

OpenAB 雖然有自動回覆 allow_always,但 claude-agent-acp 在收到 reply 之前就已經自行拒絕(只差 14ms),所以 runtime auto-allow 無效。

改成 "bypassPermissions" 後,session 一開始就跳過所有 permission 檢查,WebSearch 就能直接執行。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

注意事項

目前的修改是直接改 pod 內的 JS 檔案,不是永久的。如果 pod 被重新建立(非 restart),/home/node/.npm-local 會消失。建議後續重新 build image 把這個修改固化進去。

Use Case

透過OpenAB 搭配Claude Code 啟用Web Search

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions