Skip to content

配置 ​

本节每页列出一类配置的字段、默认值和 JSON 示例。第一次配置请先读快速开始。想知道某个功能做什么、什么时候用它,先读对应的功能页,需要准确字段时再来这里。

配置文件 ​

DotCraft 先读取全局 ~/.craft/config.json,再叠加工作区 .craft/config.json,工作区字段优先生效。配置字符串支持 $VAR 和 ${VAR} 环境变量占位。变量不存在时保留原始占位符。

有些设置有自己的文件,放在同样的两个位置:全局在 ~/.craft/ 下,工作区在 .craft/ 下,工作区优先。

文件内容参考
config.json绝大多数设置本节各页
hooks.json生命周期 hooksHooks
models.json模型上下文窗口与 Fast Mode 支持模型与 Provider
model-thinking-adapters.json推理请求的形状模型与 Provider
plugin-config.json插件声明的设置插件、MCP 与 LSP
commands/自定义 / 命令对话
<渠道>.json渠道适配器,仅工作区渠道

改了设置之后何时生效,见设置生效层级。

从 CLI 查看配置 ​

dotcraft config schema 打印配置 schema 中的配置节和字段,包括类型、默认值、是否敏感和重载方式。dotcraft config show 打印某个工作区合并后的配置,其中 ApiKey、Password、Token 的值会被遮蔽为 ***。

bash
dotcraft config schema --section Tools.Web
dotcraft config schema --json
dotcraft config show --json

--section 接受配置节的显示名或 JSON 路径。--json 输出机器可读的格式,config show 无论是否加 --json 都是缩进的 JSON。config show 默认读取当前目录的工作区,用 --workspace 指定其他目录。

从客户端修改配置 ​

AppServer 客户端按 key path 修改设置,而不是直接编辑文件。config/read 返回遮蔽了敏感值的生效配置,也可以同时返回用户层和工作区层。config/value/write 修改一个 key path,例如 Tools.CodeMode.Mode,config/batchWrite 一次把多处修改写入同一层。写入默认落在工作区层,指定用户层的文件路径时才写入用户层。凭据不走这条路径,由 Provider 相关方法负责。参数和错误码见 AppServer 协议。

服务端在保存前校验写入:结果必须仍能加载为配置,每个变更字段都要满足其类型、范围和可选值。被拒绝的写入不会改动文件。通过校验的写入会按各字段的重载方式更新正在运行的 AppServer,并通过 config/changed 广播变更的 key path。

Dashboard 设置页通过同一路径保存整层配置文件,因此它的保存同样会被校验、应用和广播。保存的文档中被遮蔽为 *** 的值会保留已存储的密钥。