workbuddy 生成代码不符合团队规范的主因是ai缺乏对本地lint规则的感知与执行能力;解决方法包括:一、在workflow中嵌入lint校验环节;二、通过prompt注入结构化约束指令;三、挂载本地配置文件作为context源;四、启用post-process自定义钩子脚本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用 WorkBuddy 生成代码,但输出内容不符合团队编码规范(如缩进错误、命名不一致、缺少类型注解、存在禁用语法等),问题通常源于 AI 缺乏对本地 Lint 规则的感知与强制执行能力。WorkBuddy 默认依赖模型自身知识生成代码,并未主动加载或校验项目级 ESLint、Prettier、Black 或 mypy 等配置。以下是解决此问题的步骤:
一、在 workflow 中嵌入 Lint 校验环节
该方法通过修改 workflow YAML,在 AI 生成代码后自动调用本地 Lint 工具进行格式检查与修复,确保输出即合规。需确保目标工具已全局安装且可被 CLI 调用。
1、定位当前使用的 workflow 文件,例如 ~/.workbuddy/workflows/generate-code.yaml
2、在 steps 字段末尾新增一个 run_script 类型步骤,内容为:script: |
echo "Running Prettier on generated code..."
npx prettier --write ./output.py
echo "Running mypy type check..."
npx mypy ./output.py
3、确认 workflow 的 output_schema 中声明了 ./output.py 为有效输出路径,供后续步骤读取
4、保存文件后执行 workbuddy run generate-code --no-cache 强制重跑全流程
二、通过 prompt 注入结构化约束指令
该方法不修改 workflow,而是利用 WorkBuddy 的自然语言驱动特性,在用户输入中显式绑定 Lint 规则条款,迫使模型在生成阶段就遵循约束,避免后期返工。
1、在对话中明确声明目标规则集,例如:请严格遵循本项目 .eslintrc.cjs 中的 'indent': ['error', 2], 'quotes': ['error', 'single'], 'no-console': 'off' 规则
2、要求模型输出前自我验证,追加指令:生成完毕后,请逐条对照上述三条规则检查输出代码,若任一不满足,请立即修正并重新输出完整代码
3、禁止使用模糊表述,必须指定具体规则名与参数值,不可写“按标准风格”或“保持整洁”
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
三、挂载本地配置文件作为 context 源
该方法让 WorkBuddy 在推理时实际读取并参考真实配置文件内容,使模型理解规则语义而不仅是记忆关键词,提升约束落地准确性。
1、确认项目根目录下存在 .prettierrc、.eslintrc.cjs 或 pyproject.toml(含 [tool.black])等配置文件
2、编辑 .wbconfig.yaml,在 sources 字段中添加:
prettier_config:
type: file
path: "./.prettierrc"
3、在 workflow 的 input_schema 中声明该 context 为 required,并在 prompt template 中加入引用句式:你已加载 .prettierrc 内容:{{prettier_config.content}},所有生成代码必须完全匹配其配置项
4、运行 workbuddy init(如未初始化)后,再执行对应 workflow
四、启用 post-process 自定义钩子脚本
该方法脱离 workflow 编排,在 WorkBuddy 输出原始代码后,由独立 Python/Shell 脚本接管,执行标准化格式化、静态检查与自动修正,实现与模型解耦的强管控。
1、新建文件 fix-output.py,内容包含 subprocess.run 调用 black + ruff + eslint --fix
2、确保该脚本具有可执行权限(chmod +x fix-output.py)且路径可被 WorkBuddy 访问
3、在 .wbconfig.yaml 的 hooks 字段中配置:
post_run:
script: "/full/path/to/fix-output.py"
input_path: "{{workflow_output_path}}"
4、WorkBuddy 完成主流程后将自动触发该脚本,原地覆盖不合规代码










