WorkBuddy支持三种自定义代码片段方式:一、在SKILL.md中YAML格式声明Snippet并重载技能;二、在.workbuddy.snippets.json中JSON格式全局注册;三、通过Claw框架在对话中动态注入Snippet上下文。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用WorkBuddy编写代码时频繁重复输入相似结构(如React组件骨架、API请求封装、日志打印模板),则需通过配置代码片段模板(Snippet)实现一键插入。以下是完成自定义Snippet创建与管理的具体操作步骤:
一、在SKILL.md中声明Snippet结构
该方法直接修改对应技能的元信息文件,使WorkBuddy在代码生成阶段识别并注入预设片段,适用于高频复用且语义固定的代码模式。Snippet定义嵌入在技能描述文件中,由平台运行时动态解析加载。
1、定位到目标技能目录下的SKILL.md文件,例如skills/react-gen/SKILL.md,使用文本编辑器打开。
2、在文件末尾新增分隔块,并在其后按YAML格式定义片段:
```yaml
snippet: react-component
label: "React函数组件"
trigger: "rfc"
body:
- "const {name} = ({ children }) => {"
- " return ("
- "
- " {children}"
- "
- " );"
- "};"
- ""
- "export default {name};"
```
3、确保body数组中每行字符串为合法JSX语法片段,占位符{name}将在插入时被用户输入的组件名自动替换。
4、保存文件后,在WorkBuddy主界面右键点击「react-gen」技能 → 选择「重载技能」。
二、通过.workbuddy.snippets.json全局注册
该方式将Snippet定义集中存储于工作区根目录的专用JSON文件中,支持跨技能共享与版本化管理,便于团队统一维护和同步更新。
1、在当前项目根目录下新建纯文本文件,命名为.workbuddy.snippets.json。
2、填入标准JSON结构,每个片段对象必须包含id、label、trigger、body字段:
```json
使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表
{
"snippets": [
{
"id": "log-debug",
"label": "调试日志输出",
"trigger": "logd",
"body": ["console.log('%c[DEBUG] %o', 'color: #007acc;', {name});"]
},
{
"id": "api-fetch",
"label": "标准Fetch封装",
"trigger": "fetch",
"body": ["const response = await fetch('{url}', {", " method: '{method}',", " headers: { 'Content-Type': 'application/json' },", " body: JSON.stringify({data})", "});", "const result = await response.json();"]
}
]
}
```
3、确保文件名以点开头、全小写、无空格,且必须位于当前激活工作区的最顶层目录。
4、重启WorkBuddy或执行「刷新工作区」命令,系统自动读取并启用全部Snippet。
三、使用Claw框架动态注入Snippet上下文
该方法不修改任何文件,而是利用Claw的会话级上下文注入能力,在自然语言指令中实时绑定Snippet行为,适合临时性、场景化强的片段调用。
1、在任意对话输入框中,先发送指令:
「启用Snippet上下文:当我说“插入防抖函数”时,插入以下代码——function debounce(fn, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; }」
2、WorkBuddy将解析该指令并建立关键词与代码块的映射关系,无需保存或重启。
3、后续在同一会话中,只需输入“插入防抖函数”,系统即自动补全完整函数体并插入光标位置。
4、该绑定仅对当前会话有效;如需持久化,须将相同内容复制至.workbuddy.snippets.json中。

















