"三年铸一剑,一剑断万法"
藏剑庐是铸剑山庄的核心工坊,六位当世顶尖铸剑师各司其职,将每一行代码视作神兵剑胚,经六道工序锤炼——从剑谱画定到封剑出庐,不染一丝杂质,不容一处裂纹。
本仓库是 NPC 团队模板。把它设为你的目标仓库(或 fork 后使用)即可获得一整套铸剑师团队。召唤方式见下方 触发 NPC。
软件开发如铸剑。需求是剑谱,架构是剑骨,交互是剑鞘,测试是试剑石,评审是淬火池,交付是封剑出庐。六道工序环环相扣,缺一不可:
画剑谱 → 锻剑骨 → 雕剑纹 → 淬火审 → 试剑锋 → 封剑出庐
(需求) (后端) (前端) (评审) (测试) (发布)
| 铸剑师 | 职能 | 信仰 | 口头禅 |
|---|---|---|---|
| 庄主·欧冶子 | 需求分析与架构定义 | "凡剑出藏剑庐,必是神兵" | "先画剑谱,再开剑炉。" |
| 锻剑师·赤焰 | 后端开发与系统实现 | "千锤百炼,杂质自去" | "火候到了,杂质已锻尽。" |
| 雕纹师·玲珑 | 前端开发与用户体验 | "剑可杀人,亦当赏心悦目" | "这把剑的纹路,客官可满意?" |
| 淬火师·寒潭 | 代码评审与质量把关 | "热铁入寒潭,不成则碎" | "淬火一试,裂痕自现。" |
| 试剑人·无名 | 测试与质量验证 | "剑不试不知锋利" | "拿稻草人来!" |
| 封剑师·守藏 | DevOps 与发布管理 | "神兵出庐,天下惊" | "封剑仪式完成,可以下山了。" |
在 Issue 或合并请求评论中使用 @cnpc/forge(角色名) 召唤对应铸剑师(路径即本仓库的 cnpc/forge):
# 需求不清晰?请庄主画剑谱
@cnpc/forge(庄主·欧冶子) 用户想要一个暗黑模式切换,帮我整理需求
# Bug 修不好?找赤焰锻剑
@cnpc/forge(锻剑师·赤焰) 这个接口返回 500 了,帮我排查
# 页面不好看?玲珑为你雕纹
@cnpc/forge(雕纹师·玲珑) 这个按钮组件需要加一个 loading 态
# 代码写完了?让寒潭淬火审剑
@cnpc/forge(淬火师·寒潭) 审一下这个 PR
# 测试没覆盖?无名来试剑
@cnpc/forge(试剑人·无名) 帮我给这个模块写测试用例
# 要发布了?守藏负责封剑
@cnpc/forge(封剑师·守藏) 检查一下依赖安全,然后打一个 release
不指定角色名时默认召唤庄主·欧冶子(见 .cnb/settings.yml 中的 defaultRole)。
当合并请求提交到 main 分支时,淬火师·寒潭会自动触发评审,无需手动 @。
forge/
├── .cnb/
│ ├── settings.yml # 六位铸剑师角色定义(name / slogan / avatar / prompt)
│ └── npc.yml # NPC 事件流水线(@ 触发规则 + 镜像/密钥/模型配置 + PR 自动评审)
├── .cnb.yml # 主流水线(include npc.yml)
├── README.md # 本文件
└── assets/ # 角色头像(替换为你喜欢的图片)
├── master.png # 欧冶子
├── forger.png # 赤焰
├── engraver.png # 玲珑
├── quencher.png # 寒潭
└── tester.png # 无名
封剑师·守藏未配置头像,使用运行时默认头像;如需自定义,在
settings.yml对应角色补avatar.src并放入图片即可。
藏剑庐的每一位铸剑师必须遵守以下庄规:
NPC 的 LLM 接入在 .cnb/npc.yml 中集中配置,不在 .cnb.yml 里:
.npc-job-base 的 imports 引用一个密钥仓库文件(示例指向 cnb.cool/xqitw/api-key)。该文件导出 OPENAI_MODEL_GLM52、OPENAI_MODEL_KIMIK26 等模型与 token 变量。.base-stage 的 env 中引用——ANTHROPIC_MODEL: $OPENAI_MODEL_GLM52(主模型,文本/代码)、VISION_MODEL: $OPENAI_MODEL_KIMIK26(视觉模型,识图)。换成你自己的接入时,改 imports 指向你的密钥仓库,并相应调整 ANTHROPIC_MODEL / VISION_MODEL 的值即可。走 CNB 内置 AI 网关时,可省略 imports 与模型变量,由镜像内置默认值接管。
替换 assets/ 目录下的图片,保持文件名不变即可。推荐 1:1 正方形 PNG,建议尺寸 256x256。封剑师·守藏默认无头像,需自定义时在 settings.yml 对应角色补 avatar.src 并新增同名图片。
编辑 .cnb/settings.yml,修改任意角色的 prompt 字段。角色名须与 @cnpc/forge(角色名) 中使用的完全一致;改了 defaultRole 则不指定角色名时召唤的就是新默认角色。
可在仓库根目录放置以下文件覆盖镜像内置全局配置:
| 文件 | 作用 |
|---|---|
CLAUDE.md | 仓库专属规则 |
.claude/settings.json | 覆盖全局 settings |
.claude/skills/ | 仓库专属 skills |
.mcp.json | 仓库专属 MCP Server |
基于 MIT 协议开源。
"剑成之日,天降玄雷。剑出庐门,江湖震动。" —— 藏剑庐守藏