Skip to content

默认行为规范 ​

本文是 ai.agent.* 默认行为的唯一权威文档(#735)。代码默认值见 packages/im/agent/src/config/zhin-agent-defaults.ts;字段级参考见生成的配置参考。

按场景的默认行为 ​

场景信任级别默认行为
主人私聊owner可使用全部已启用工具;execSecurity: deny 时不执行 shell;masterShell: isolated 时仅在主人私聊中提供隔离 bash;工具预算超限时自动续跑(autoContinue: master_dm,最多 2 次);进度消息仅私聊发送
群聊group_member入站队列 groupMode: supersede(新消息替换排队中的旧轮次,最多排队 5 轮);高风险外部内容需确认;外发内容自动脱敏(outboundCheck: redact)
受信成员trusted_member与群成员相同的护栏,但可使用受信工具;非 IM 入口(CLI、HTTP)按 trusted_member 处理
陌生人私聊group_member按群成员处理,不提升权限
无人值守定时任务—maxTokens 32000、maxToolCalls 15、timeoutMs 120000、execPreset: readonly

核心默认值 ​

  • 循环:maxIterations 15、timeout 120000 ms
  • 执行:execSecurity deny、execApprovalMode auto;网络仅在 execPreset: network 时可用
  • 子代理:subagentTurnMode off
  • 工具预算:extendBy 10、progressWindow 5、maxTotalIterations 40、maxWallClockMs 600000、failureStreakLimit 3、repeatLimit 2
  • 用量配额:全部为 0(关闭),exemptOwner true
  • 上下文压缩:thresholdRatio 0.7

开关清单与处置 ​

处置:keep 保留常用;preset 高级调优,用默认值;merge-candidate 计划合并;debug 诊断;internal 仅代码;deprecated 已弃用。

开关处置说明
personakeep常用开关,保留
maxIterationskeep常用开关,保留
timeoutkeep常用开关,保留
chatModelkeep常用开关,保留
visionModelkeep常用开关,保留
contextTokenskeep常用开关,保留
execSecuritykeep常用开关,保留
execPresetkeep常用开关,保留
execAllowlistkeep常用开关,保留
execApprovalModekeep常用开关,保留
disabledToolskeep常用开关,保留
allowedToolskeep常用开关,保留
inboundQueuekeep常用开关,保留
toolBudgetkeep常用开关,保留
injectionGuardkeep常用开关,保留
usageQuotakeep常用开关,保留
schedulekeep常用开关,保留
masterShellkeep常用开关,保留
compactionkeep常用开关,保留
rateLimitkeep常用开关,保留
preExecTimeoutpreset高级调优,默认值即推荐值,不建议修改
maxToolspreset高级调优,默认值即推荐值,不建议修改
contextTailMessageLimitpreset高级调优,默认值即推荐值,不建议修改
toneAwarenesspreset高级调优,默认值即推荐值,不建议修改
maxHistorySharepreset高级调优,默认值即推荐值,不建议修改
maxParallelSubagentspreset高级调优,默认值即推荐值,不建议修改
toolExecutionpreset高级调优,默认值即推荐值,不建议修改
subagentAutoContinuepreset高级调优,默认值即推荐值,不建议修改
subagentDirectImDeliverypreset高级调优,默认值即推荐值,不建议修改
maxSubagentIterationspreset高级调优,默认值即推荐值,不建议修改
subagentTurnModepreset高级调优,默认值即推荐值,不建议修改
subagentToolspreset高级调优,默认值即推荐值,不建议修改
subagentTurnWaitMspreset高级调优,默认值即推荐值,不建议修改
modelSizeHintpreset高级调优,默认值即推荐值,不建议修改
skillInstructionMaxCharspreset高级调优,默认值即推荐值,不建议修改
modelHarnesspreset高级调优,默认值即推荐值,不建议修改
providerResiliencepreset高级调优,默认值即推荐值,不建议修改
providerTimerspreset高级调优,默认值即推荐值,不建议修改
promptCachepreset高级调优,默认值即推荐值,不建议修改
promptCacheRetentionpreset高级调优,默认值即推荐值,不建议修改
promptCacheKeyPrefixpreset高级调优,默认值即推荐值,不建议修改
deferredToolspreset高级调优,默认值即推荐值,不建议修改
workerBaseToolspreset高级调优,默认值即推荐值,不建议修改
outputSchemapreset高级调优,默认值即推荐值,不建议修改
steeringModepreset高级调优,默认值即推荐值,不建议修改
followUpModepreset高级调优,默认值即推荐值,不建议修改
deferredAutoContinuepreset高级调优,默认值即推荐值,不建议修改
deferredAutoContinueMaxDepthpreset高级调优,默认值即推荐值,不建议修改
gitStatuspreset高级调优,默认值即推荐值,不建议修改
contextPathspreset高级调优,默认值即推荐值,不建议修改
systemPromptMaxCharspreset高级调优,默认值即推荐值,不建议修改
thinkingPreviewpreset高级调优,默认值即推荐值,不建议修改
thinkingPreviewMaxLengthpreset高级调优,默认值即推荐值,不建议修改
subagentExecApprovalModemerge-candidate未来合并到 execApprovalMode 的分角色覆盖
workerExecApprovalModemerge-candidate未来合并到 execApprovalMode 的分角色覆盖
phaseTracedebug仅诊断用
promptTracedebug仅诊断用
promptTraceVerbosedebug仅诊断用
onPhaseTraceinternal代码回调,YAML 不可配置
maxSkillsdeprecated运行时无读取,已弃用(#735),--fix 可移除
policyDenialStopAfterdeprecated运行时无读取,已弃用(#735),--fix 可移除
deferredToolMaxResultsdeprecated运行时无读取,已弃用(#735),--fix 可移除
taskExecApprovalModedeprecated运行时无读取,已弃用(#735),--fix 可移除

弃用路径与兼容 ​

  1. 已弃用键仍被接受,不会导致启动失败;
  2. 启动时每个已弃用键打印一次警告;
  3. zhin config check 报告 ai.agent_<key>_deprecated;
  4. zhin config check --fix 自动删除这些键;
  5. 至少保留一个 minor 版本后再从类型中删除。

新增开关的门禁 ​

新增 ai.agent.* 开关必须先登记到上表并在 PR 模板中说明理由;pnpm check:agent-config-inventory(包含在 pnpm check:all 中)会检查清单是否完整,以及非弃用开关数量没有超过基线。