用途:配置 HEX 的个人语音命令、听写控制短语,以及确定性的转写文本转换(transformations)。
使用方式:使用 HEX 托管的命令工作区,不要创建独立包。先检查 ~/.config/hex/hex.config.ts;若缺失,请用户在 HEX 的 Commands 面板选择 Create Config;若 hex CLI 可用,hex commands init 也能完成同样初始化。Bun 需单独安装。阅读 ~/.config/hex/AGENTS.md 与 ~/.config/hex/.agents/skills/personal-commands/SKILL.md,并检查 .hex-sdk/package.json 及其导出声明以确认已安装 API 和确切的 Effect 需求;脚手架说明在升级时不会被覆盖,可能旧于 SDK。
配置写法:只编辑用户自有工作区文件,通常为 hex.config.ts;切勿编辑 .hex-sdk,HEX 会从应用包刷新该托管 SDK。使用 @hex/commands 的 defineHexConfig 处理 Promise 处理器、听写控制与转换;使用 Effect 处理器时从 @hex/commands/effect 导入 defineHexConfig 与 Hex,从 effect 导入 Effect API。命令短语要无歧义,只使用需求所需能力,并把配置与依赖视为拥有用户文件系统、网络、环境与子进程权限的可信可执行代码。可用 digit()(0–9)、digit({ min, max })(范围)、choice(["left", "right"] as const)(精确选项)、对象形式 choice()(把单词别名规范化为规范键)、union(letter(), digit(), choice(["home", "end"] as const))(互斥有界单 token 备选)、结尾 text()(显式文本捕获)。letter() 接受字面、常见口语及单词 NATO 字母名,返回小写 "a"|"z"。使用 captures schema 时,每个短语别名必须恰好绑定每个声明名称一次。
限制与验证:语音命令和听写控制需要启用 Commands 选项,该选项默认关闭,创建配置不会启用它。转换必须在相应模式的 Transformations 区选择,可在 Commands 关闭时运行;转换在模式校正和可选 AI 重写之后运行,不适用于 Voice Action 或会议。不要仅为运行转换而启用语音命令。在 ~/.config/hex 运行 bun run check,未通过不得结束;它检查 TypeScript,但运行时校验仍可能拒绝短语重叠。运行中的宿主会监视工作区 .ts 与 .json 文件,并在 Commands 面板报告重载失败。若因配置、Bun 或依赖不可用而停止启动,修复后重启 HEX。宿主启用时确认运行时激活,否则报告未测试。完成标准:所需行为已体现在 hex.config.ts,托管 SDK 未被修改,bun run check 通过,运行时激活已确认或已报告验证缺口。