实验功能与服务端设置
核对 cron、Todo 续接、writer lease、Artifacts 与持久子会话并发。
experimental 下的功能仍可能变化。启用 UI 展示、模型工具和写入协调是不同选择,应按实际运行端判断是否生效。
功能开关
| 设置 | 默认 | 关键限制 |
|---|---|---|
| experimental.sessionWorkflow | false | Web Shell 显示 Workflow DAG、将 plan 展示为 Plan & Review;仅展示变化,不增加审批模式或依赖调度,无需重启 |
| experimental.cron | true | 会话内 cron_create/list/delete;QWEN_CODE_DISABLE_CRON=1 关闭,需重启 |
| experimental.cronRecurringMaxAgeDays | 7 | 到期最后触发一次再删除;0 不到期,QWEN_CODE_CRON_MAX_AGE_DAYS 可覆盖,需重启 |
| experimental.todoStopGuard | false | 要求 todoWrite.enabled,daemon/ACP 有未完成顶层 Todo 时最多连续增加两次主模型调用 |
| experimental.sessionWriterLease | false | ACP/daemon 持久会话跨进程写入 fencing;进程启动固定,所有并发写入者均需启用 |
| experimental.agentTeam | false | 团队工具;QWEN_CODE_ENABLE_AGENT_TEAM=1 可启用,需重启 |
| experimental.artifact | true | 非 SDK 交互会话可发布独立 HTML;非 SDK daemon 可用仅元数据 record_artifact;QWEN_CODE_DISABLE_ARTIFACT=1 关闭两者,需重启 |
| experimental.emitToolUseSummaries | true | 每批工具后用 LLM 生成短标签,必须配置 fastModel,否则跳过 |
Todo stop guard 在新用户中途输入后获得新的一组两次尝试;重启不恢复,safe、bare 和 Plan 模式强制关闭。它不是不限轮数的自动续接。
writer lease 不影响普通交互/headless recorder;混用不支持该功能的版本或未启用的写入者仍不安全,不能仅打开一个进程就认为全部写入已协调。
工具摘要可由 QWEN_CODE_EMIT_TOOL_USE_SUMMARIES=0/1 按会话覆盖;这是额外模型调用,不是纯本地字符串。
daemon 子会话并发
serve.maxConcurrentSubSessionsPerCaller 默认 16,控制同一调用者经 create_sub_session 创建的进行中子会话;serve.maxConcurrentSubSessionsTotal 默认 24,是单工作区全部调用者的上限。
两者需正整数,非法非正/非整数会警告并回到内置默认。Total 最高 1024,超过则静默钳制到 1024。修改需重启 daemon,不是当前任务已启动数量的即时调整。
其他操作者设置
plansDirectory 是顶层键。未设时已批准 Plan 文件放在 ~/.qwen/plans;自定义路径解析后必须留在项目根内,修改需重启,项目内目录应按需要加入 .gitignore。
advanced.autoConfigureMemory 默认 false,advanced.dnsResolutionOrder 未设;advanced.bugCommand.urlTemplate 可定制 /bug 地址并使用 {title}、{info} 占位符。
security.allowedInsecureVoiceBaseUrls 仅接受操作者范围的完整带 scheme/path 地址,无通配。它允许特定 HTTP/私网语音端点,但元数据、link-local、部分地址转换范围和解析到 loopback 的主机仍受阻;流式传输会派生同 host/port 的 WebSocket 路径。不要把它理解为关闭全部语音端点检查,HTTP 还会明文传输 Authorization 中的 Key。