WorkBuddy 生成代码格式问题可通过五种方法自动修复:一、workflow 中嵌入 Prettier/ESLint CLI 命令;二、prompt 显式绑定格式修复指令;三、挂载配置文件作为 context;四、VSCode 联动保存修复;五、lint-staged + Husky 提交前兜底修复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用 WorkBuddy 生成代码,但输出存在缩进错乱、引号不统一、分号缺失等格式问题,则可能是由于 AI 未主动调用 Prettier 或 ESLint 进行格式校验与修复。以下是实现自动修复的多种配置方法:
一、在 workflow 中嵌入 Prettier/ESLint 自动修复步骤
该方法通过修改 workflow YAML,在代码生成后立即执行本地 Prettier 与 ESLint 的 CLI 命令,强制对输出文件进行格式化与可修复类错误修正,确保交付即合规。
1、定位当前使用的 workflow 文件,例如 ~/.workbuddy/workflows/generate-code.yaml
2、在 steps 字段末尾新增一个 run_script 类型步骤,内容为:
script: |
echo "Formatting with Prettier"
npx prettier --write ./output.js
echo "Fixing ESLint issues"
npx eslint --fix ./output.js
3、确认 workflow 的 output_schema 中声明了 ./output.js(或对应语言扩展名)为有效输出路径
4、保存文件后执行 workbuddy run generate-code --no-cache 强制重跑全流程
二、通过 prompt 显式绑定格式修复指令
该方法不修改 workflow 文件,而是利用自然语言指令引导模型在生成阶段就模拟 Prettier/ESLint 的行为逻辑,输出前完成自我格式审查与修正,避免依赖外部工具链。
1、在输入中明确指定目标格式器及参数,例如:请严格按 .prettierrc 中的 "semi": false, "singleQuote": true, "tabWidth": 2 执行格式化,并在输出前逐行验证
2、追加强制自检指令:生成完毕后,请以 ESLint v9.37.0 规则检查 output.js 内容,对所有可自动修复项(如 indent、quotes、no-unused-vars)执行 --fix 等效操作,仅输出最终合规代码
3、禁止使用模糊表述,必须写明工具版本、配置键值与文件路径,不可写“按团队规范”或“保持一致”
三、挂载 Prettier/ESLint 配置文件作为 context 输入
该方法使 WorkBuddy 在推理过程中实际读取项目真实配置文件内容,让模型理解规则语义而非仅记忆关键词,显著提升格式修复的准确性与上下文适配度。
1、确认项目根目录下存在 .prettierrc 和 .eslintrc.js(或 eslint.config.js),且内容完整有效
WorkBuddy 桌宠工厂 —— 给一张角色图、一个 codex.pet 链接、一条 codex-pets.net 下载 URL、或一份现成的精灵表,就能自动创建一只可联动 WorkBuddy 状态的桌面宠物。当用户说"创建桌宠"、"做一只桌宠"、"用这张图做桌宠"、"从 codex.pet 安装桌宠"、"导入 codex 桌宠 XX"、"装一下 codex-pets.net 上的 XX&quo
2、在 workflow 的 context 字段中添加:
files:
- path: ".prettierrc"
- path: ".eslintrc.js"
3、确保 workbuddy CLI 启动时已进入该项目根目录,或通过 --cwd 指定正确路径
四、配置 VSCode + WorkBuddy 联动保存修复流
该方法将 WorkBuddy 生成的临时代码文件交由本地 VSCode 环境接管,在编辑器内触发 ESLint + Prettier 协同修复链路,复用已有开发环境能力,无需额外命令行依赖。
1、确保 VSCode 已安装 Prettier 与 ESLint 官方扩展,并在工作区 settings.json 中启用:
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {"source.fixAll.eslint": true}
2、在 WorkBuddy workflow 中将 output_schema 设为可写入本地磁盘的路径,例如 ./tmp/generated.js
3、设置 workflow 执行完成后自动在 VSCode 中打开该文件:
run_script:
script: code --reuse-window ./tmp/generated.js
4、确认 VSCode 当前工作区已加载项目级 .prettierrc 与 .eslintrc.js,且 eslint-config-prettier 已加入 extends 末尾
五、启用 lint-staged + Husky 提交前兜底修复
该方法作为最后一道防线,在代码提交 Git 前自动扫描并修复 WorkBuddy 输出文件,防止格式问题流入版本库,保障团队协作一致性。
1、在项目中安装依赖:pnpm add -D lint-staged husky
2、执行 npx husky install 并配置 pre-commit 钩子
3、在 package.json 中添加 lint-staged 配置:
"lint-staged": {
"*.js": ["eslint --fix", "prettier --write"]
}
4、将 WorkBuddy 输出文件路径纳入 lint-staged 监控范围,例如通过软链接或固定命名约定(如 output-*.js)

















