首页 / 实战七步

手把手创建你的
专家与专家团

不管你懂不懂写代码,都有一条路能做出自己的专家团。下面的「跟我建一个团」用保险规划顾问团当样板,字段值全是真的,可直接复制照抄。

先选一条路

路线 A · 零代码

对话式创建(推荐多数人)

直接对 WorkBuddy 说「帮我创建一个 XX 专家团」,它用内置 expert-manager 流程问你信息 → 生成文件 → 跑校验 → 注册。你只管补充需求,不用碰命令行。

适合:非技术背景、想快速做出自己的团、只自己用。

路线 B · 精确控制

文件级创建

自己写 plugin.json + agents/*.md,再用脚本校验、注册。本站「实战七步」就是这条路。

适合:要精确控制每个字段、批量造、做可复用的专家团。

路线 A · 对话式创建(零代码)

这是最省事的方式。WorkBuddy 自带「专家包管理器」技能,你用自然语言描述需求,它走完 init → 填内容 → 校验 → 注册 全流程,并在「我的专家」里出现。

1

打开 WorkBuddy,进入任意对话

不用开终端。直接发一句话告诉它你要建什么——类型、领域、成员。下面这段可直接复制改几个字。

发给 WorkBuddy 的话
帮我创建一个 WorkBuddy 专家团,名称「保险规划顾问团」,领域是家庭保险规划(分类 08-FinanceInvestment)。包含一个主理人和 3 个成员:
- 主理人 顾周全(保障规划总监,负责拆任务、汇总交付)
- 成员 问需明(需求洞察师,测算保障缺口与预算)
- 成员 比优劣(产品对比师,对比主流险种与产品)
- 成员 配周全(方案架构师,输出保障方案与核保提示)
请按 expert-manager 规范生成 plugin.json、agents MD、头像,并跑校验和注册。
2

补齐它会问你的信息

WorkBuddy 会逐项确认。提前想好这几样,回答更快:

  • 类型:单角色 → agent;多角色协作 → team(系统也会按结构自动判断)。
  • 名字 / 职业(中英文):名字是花名(如「顾周全」),职业是头衔(如「保障规划总监」)。
  • 能力介绍:中文 40–50 字,讲清核心能力。
  • 擅长领域标签恰好 3 个(中英文)。
  • 推荐提示词恰好 3 个,第一条同时作为开场提问。
  • 团队成员(team):每个成员的名字、职业、职责;主理人也要列。
  • SOP / 问候语:团队按什么顺序协作、首次对话说什么。
3

它跑完流程,你在「我的专家」收到

生成后 WorkBuddy 会自动校验(0 错误才注册)。注册成功,专家就出现在 WorkBuddy 的专家中心 → 我的专家,可直接召唤。

⚠️ 同样要过校验
对话式生成的包,目录也在 ~/.workbuddy/plugins/marketplaces/my-experts/plugins/,校验规则和文件级完全一样——标签不是 3 个、成员缺主理人照样会被拦下。
🔒 别在对话里贴密钥
若要做公众号发布这类需要凭证的团,AppSecret、IP 白名单不要写进普通对话(详见微信生态实战的安全红线)。

路线 B · 文件级创建(精确控制)

想完全掌控字段、批量造、或做可分享的市场包,走文件级。核心是写对一个目录 + 两份文件,再用脚本校验注册。下面七步,配合真实保险团的字段值。

目录结构(init 后自动生成)

目录树
my-experts/plugins/insurance-planning-advisor/
├─ .codebuddy-plugin/
│  ├─ plugin.json        ← 包的"身份证":类型/名字/标签/成员
│  └─ settings.json      ← 仅 team 需要:默认调度模式
├─ agents/
│  ├─ insurance-planning-advisor-team-lead.md   ← 主理人
│  ├─ insurance-needs-analyst.md                ← 成员
│  ├─ insurance-product-comparator.md
│  └─ insurance-plan-architect.md
├─ avatars/              ← 头像 PNG(团队 N+1 张,512×512)
└─ README.md
1

定位:选类型 + 选分类

单角色选 agent,多角色选 teamcategoryId主要输出物选(如输出保障方案 → 08-FinanceInvestment),共 12 类,见规范手册

2

初始化目录

bash
python3 scripts/init_expert.py insurance-planning-advisor \
  --type team \
  --path $WORKBUDDY_CONFIG_DIR/plugins/marketplaces/my-experts/plugins
⚠️ 路径被硬锁
--path 必须是专家目录,别的目录生成的专家 WorkBuddy 检测不到。Windows 默认即 ~/.workbuddy/plugins/marketplaces/my-experts/plugins
3

填 plugin.json(逐字段,真实值)

初始化后生成的模板长这样,所有位置都是 [TODO] 占位符——把每个占位符换成你的真实内容即可:

plugin.json(init 生成的模板)
{
  "name": "[TODO: kebab-case 唯一标识,如 insurance-planning-advisor]",
  "version": "1.0.0",
  "description": "[TODO: 英文一句话描述]",
  "expertType": "[TODO: agent 或 team]",
  "agentName": "[TODO: 主 Agent 名,须=agents/ 下 MD 文件名]",
  "displayName":  { "en": "[TODO]", "zh": "[TODO: 中文花名]" },
  "profession":   { "en": "[TODO]", "zh": "[TODO: 中文职业头衔]" },
  "displayDescription": { "en": "[TODO]", "zh": "[TODO: 中文描述 40-50 字]" },
  "avatar": "avatars/[TODO].png",
  "categoryId": "[TODO: 如 08-FinanceInvestment]",
  "defaultInitPrompt": { "en": "[TODO]", "zh": "[TODO: 首条推荐提示词]" },
  "plugin": "[TODO: 同 name]",
  "tags": [ {en,zh},{en,zh},{en,zh} ],        // 固定 3 个
  "quickPrompts": [ {en,zh},{en,zh},{en,zh} ] // 固定 3 个,第1条=defaultInitPrompt
}

下表是保险团填好的关键字段,对照着把上面的 [TODO] 换成真实值:

字段保险团真实值规则
expertType"team"单角色=agent,多角色=team
displayName / profession保险规划顾问团 / 同左team 两者须一致
displayDescription「为家庭测算保障缺口与预算,横向对比主流险种与产品,输出可落地的家庭保障方案、投保与核保提示。」中文 40–50 字
categoryId08-FinanceInvestment按主要输出物选
tags需求测算 / 产品对比 / 方案设计恰好 3 个
quickPrompts3 条(首条=开场提问)恰好 3 个
members顾周全(lead)+问需明+比优劣+配周全必含 lead
4

写 Agent MD(主理人 + 成员)

每个成员一个 agents/{id}.md主理人文件名必须带团队前缀(如 insurance-planning-advisor-team-lead.md),正文含「团队成员表 + SOP + 协作铁律」;成员正文含「核心能力 + 工作流程 + 输出规范 + SendMessage 回传」。frontmatter 禁止写 tools

5

生成头像

ImageGen 按规范生成(团队 N+1 张,512×512 PNG)。本站三个团用 PIL 离线生成品牌头像,不耗积分,你也可手绘后替换(PNG/JPG ≤500KB)。

6

校验

bash
python3 scripts/validate_expert.py <expert-dir>
# ✅ Expert package is valid!   (0 error 才继续)
7

注册(出现在「我的专家」)

bash
python3 scripts/register_expert.py <expert-dir> --session-id $CODEBUDDY_SESSION_ID
🔁 改完必须重注册
无论改了名字、标签还是 MD 正文,都要再跑一次 register。但 name/agentName/目录名/MD 文件名是唯一定位标识,改了等于丢专家,需重建

跟我建一个团:保险规划顾问团(完整样板)

下面是这个团的配置示例(已精简展示关键部分)。照这个结构抄,你就能做出自己的团。

① plugin.json(关键字段,真实值)

.codebuddy-plugin/plugin.json
{
  "name": "insurance-planning-advisor",
  "expertType": "team",
  "agentName": "insurance-planning-advisor-team-lead",
  "teamInfo": {
    "leadAgent": "insurance-planning-advisor-team-lead",
    "memberAgents": ["insurance-needs-analyst",
                     "insurance-product-comparator",
                     "insurance-plan-architect"]
  },
  "displayName":  { "zh": "保险规划顾问团" },
  "profession":   { "zh": "保险规划顾问团" },   // team 须与 displayName 一致
  "displayDescription": { "zh": "为家庭测算保障缺口与预算,横向对比主流险种与产品,输出可落地的家庭保障方案、投保与核保提示。" },
  "categoryId": "08-FinanceInvestment",
  "tags": [ {"zh":"需求测算"}, {"zh":"产品对比"}, {"zh":"方案设计"} ],   // 恰好 3 个
  "quickPrompts": [
    {"zh":"帮我给一家三口做一份保障规划,年收入 30 万,想先覆盖大病和意外。"},
    {"zh":"重疾险和医疗险到底有什么差别?我家该优先买哪个?"},
    {"zh":"帮我对比三款热门增额终身寿的现金价值和IRR。"}
  ],
  "members": [
    {"id":"insurance-planning-advisor-team-lead","displayName":{"zh":"顾周全"},"profession":{"zh":"保障规划总监"},"role":"lead"},
    {"id":"insurance-needs-analyst","displayName":{"zh":"问需明"},"profession":{"zh":"需求洞察师"},"role":"member"},
    {"id":"insurance-product-comparator","displayName":{"zh":"比优劣"},"profession":{"zh":"产品对比师"},"role":"member"},
    {"id":"insurance-plan-architect","displayName":{"zh":"配周全"},"profession":{"zh":"方案架构师"},"role":"member"}
  ]
}

② 主理人 MD(真实片段)

agents/insurance-planning-advisor-team-lead.md
---
name: insurance-planning-advisor-team-lead
displayName: { zh: 顾周全 }
profession:  { zh: 保障规划总监 }
maxTurns: 180
---

# 保险规划顾问团 - 主理人
你是主理人顾周全,负责把复杂需求拆给专家、汇总产出、交付最终方案。只做编排,不替成员写专业内容。

## 团队成员
| 成员 ID | 名字 | 职责 |
|---------|------|------|
| ...-team-lead | 顾周全 | 编排调度、汇总交付 |
| insurance-needs-analyst | 问需明 | 需求洞察师 |
| insurance-product-comparator | 比优劣 | 产品对比师 |
| insurance-plan-architect | 配周全 | 方案架构师 |

## 标准工作流程(SOP)
### Phase 1(并行)
- 问需明 → 测算缺口与预算;比优劣 → 产品对比矩阵;配周全 → 草拟方案骨架
### Phase 2(串行)
- 配周全 → 汇总成完整方案,补核保与投保提示
### 最终报告:结论先行 → 关键依据 → 行动清单 → 风险提示

## 团队协作铁律
- 团队创建只能由主理人执行;成员产出必须回传主理人汇总
- 严禁主理人代写成员专业内容、严禁成员互相直连

③ 成员 MD(真实片段:问需明)

agents/insurance-needs-analyst.md
---
name: insurance-needs-analyst
displayName: { zh: 问需明 }
profession:  { zh: 需求洞察师 }
maxTurns: 50
---

# 需求洞察师 - 问需明
你只做自己领域内的专业产出,不替其他成员发言。

## 核心能力
1. 家庭画像:从收入/负债/抚养比/已有保单抽取变量
2. 缺口测算:倍数法 + 责任法分别测算各险种应保额
3. 预算匹配:在预算内给优先级与分阶段配置建议

## 工作流程
1. 收集家庭结构、收入负债、已有保障
2. 双重测算各险种应保额
3. 对照已有保单找重叠与缺口,输出优先级清单

## 输出规范
- 家庭风险剖面表 / 建议保额区间 / 分阶段路线图

## SendMessage 回传
分析完成后,必须通过 SendMessage 将完整结果回传给主理人。
💡 怎么用这个示例
上面的结构就是本站行业团教程用的真实样板。把 plugin.jsonagents/*.md 按这个结构写进你的包目录,跑通校验后就能在 WorkBuddy 专家中心召唤。想看更多行业,去 行业专家团 栏目。

最容易卡住的 4 个点

① 标签 / 提示词必须恰好 3 个

多了或少了校验直接报错。满 3 个想加新标签,先删旧的。

② members 必须含 lead

主理人要在 members 里且 role:"lead"teamInfo.memberAgents不能再写主理人。

③ profession 与 displayName 一致

team 型两者必须相同,否则校验失败。

④ 改完要重注册

任何字段改动都重跑 register;name/目录名/MD 文件名是标识,改了等于重建。

📌 更多坑
网传 .workbuddy-plugin/ 是错的(应为 .codebuddy-plugin/)、头像缺失只是 warning、常见报错全文见 避坑铁律