文件 v1.1.1

config.json

·

~/.config/agenvoy/config.json 的每個鍵、預設值與讀取它的地方。

模型、路由與 channel 設定:

鍵 說明
models 已註冊模型,格式為 "<provider>@<model>" 字串;順序即 fallback 優先序(v1.1.0 起略過 pass tier 模型)
model_tag {model: tier},tier 為 S A B C pass;缺少時寫入 {}。v1.1.0 起 pass 模型不會被 auto routing、subagent 或 fallback 選用,即使請求指名也一樣;只有把自身模型設為它的 session 會使用
dispatcher_model / summary_model Dispatcher 與 summary 角色
dispatcher_beta v1.0.18 新增。true 表示改由 TypeSafe dispatcher 路由,不再使用 dispatcher_model;需 keychain 中的 TYPESAFE_API_KEY
image_generator / stt_model / tts_model 圖像 provider 端點與音訊模型
compats 自訂 OpenAI 相容端點,[{provider, url}]
keys 存於 keychain 的憑證名稱(絕不含值)
telegram_enabled / discord_enabled Channel 旗標;telegram_username / discord_username 由 daemon 補上
admin_channel 驗證碼轉發目標(v1.1.0 起由 TUI /config → Admin Channel 設定)
reply_lang 回覆語言,預設 "auto"(跟隨使用者)。接受 configs/jsons/reply_lang.json 中的代碼(en、zh-TW、zh-HK、zh-CN、ja、ko、es、fr、de、pt、it、ru、vi、th、id、ar)或任何語言名稱
output_dir 未指定位置時為使用者產出檔案的存放處;預設 "" 代表 ~/Downloads,該資料夾不存在時為 ~/.config/agenvoy/download。會展開 ~;路徑無法使用時回到預設

reply_lang 與 output_dir 可由 TUI /config,或 GET / POST /v1/config/system 與 /v1/config/output_dir 設定;/config 也可切換 Startup on login(/v1/config/startup)。原本獨立的 startup、reply-language、output-dir TUI 指令已移除,改用 /config。Daemon 監看 config.json,每次寫入都會重新載入 agent registry 與 Telegram / Discord。

auto_reasoning(v1.0.18 新增)已於 v1.1.0 移除:reasoning 改為 per-session 設定,reasoning 為 auto 的 session 由模型選擇器逐請求決定等級。config.json 中殘留的 auto_reasoning 會被忽略。

除了模型與 channel 設定,config.json 也承載 runtime 限制與可選的 policy 覆寫。缺少的限制欄位、reply_lang、output_dir 與 model_tag 會以預設值補齊並於啟動時寫回。

鍵 預設 說明
limits.max_tool_iterations 128 單次執行的 tool 迭代上限
limits.agent_send_timeout_seconds 600 模型請求 timeout
limits.max_history_messages 24 保留的近期歷史訊息數
limits.max_history_bytes 4194304 歷史大小上限。v1.0.12 由 5242880 改為 DocumentMaxBytes * 4,即單一文件 1 MiB 上限的四倍

不從 config.json 讀取的套件層預設值:

常數 預設 說明
MaxSessionTasks NumCPU × 4 每個 session 的並行任務數;超出者排隊而非失敗
MaxSubagentTimeoutMin 30 Subagent timeout(分鐘)
MaxResumeWaitMin 60 待處理續跑等待回答的時間上限
maxConcurrentTools 5 單一模型回合內同時執行的 tool call 數;其餘排隊(v1.0.20)

Daemon port 不可設定:17989 為套件常數,limits.port 條目會被忽略。

config.json 的 policy 鍵。前兩者會與編譯進 binary 的內建值合併(使用者項目是追加,永不取代預設);其餘僅存在於使用者設定:

鍵 內建來源 用途
sensitive_path configs/jsons/sensitive_path.json 憑證與金鑰路徑——需經密碼驗證的 per-session 授權才能存取。分類:dirs、files、prefixes、extensions
read_only_command configs/jsons/read_only_command.json 跳過 confirm gate 的 run_command 呼叫(git status、ls、cat ...)。v1.0.25 起條目比對 binary 加上最多前兩個參數(git config --get、docker compose ps),帶 network: true 或參數含敏感路徑的呼叫一律不符合,專用的唯讀指令工具也已移除
denied_command — run_command 一律拒絕的 binary,sh -c 內亦然
denied_path — 讀寫皆永久禁止的路徑;任何提示都無法核准。條目須為絕對路徑或以 ~/ 開頭;拒絕檔案系統根目錄
net_white_list — 豁免 http_request SSRF 防護的 host

三個鍵已不再讀取,若存在會在啟動時記警告:sensitive_map(更名為 sensitive_path)、white_list(移除——不在 denied_command 的指令皆可執行)、path_white_list(移除——$HOME 之外的路徑改為逐 session 核准)。

v0.35.0 移除最後一批 pre-v0.28.9 相容路徑:limits.max_skill_iterations(由 limits.max_tool_iterations 取代)與 planner_model(由 dispatcher_model 取代,下次儲存時會從 config.json 刪除)不再被採用,舊的 api_tools//script_tools/ 目錄也不再讀取——工具改放 tools/api/ 與 tools/script/。

Runtime 限制沒有環境變數——env 覆寫已移除,config.json 是唯一調整點。

EN