组织架构初始化与治理工作流
> v1.0 · 2026-04-19 · 沉淀自实际执行复盘
触发条件
用户说"初始化组织"、"治理组织"、"组织架构规划"、"给组织建仓库"、"更新组织简介"等。
架构定义
七工位(CNB)
| 组织 | 标签 | 定位 | 简介关键词 |
|---|---|---|---|
| yunjinhong | 前台 | 正式产品发布 | 领航项目、产品迭代、生产运维 |
| cnbmm | 客户部 | 客户项目交付 | 定制开发、按客户名建仓库 |
| cnbnn | 工具箱 | NPC协同与工具 | NPC派单、代码审查、工作流 |
| cnbvv | 实验室 | 技术预研 | MVP验证、方案选型、跑通再搬 |
| cnbyy | 采购部 | 第三方集成 | API/SDK对接、外部依赖管理 |
| cnbll | 机房 | 基础设施 | OpenClaw、Skill开发、运维 |
| W3C | 展厅 | 开源社区 | 技术联盟(通常无管理权限) |
决策链
老板指令 → cnbvv(实验) → cnbll(Skill沉淀) / cnbmm(客户交付) / yunjinhong(正式上线)
仓库归属规则
- Skill 一律放 cnbll
- 工作流模板放 cnbnn
- 客户项目放 cnbmm
- 正式产品放 yunjinhong
- 实验/MVP 放 cnbvv
- 第三方集成放 cnbyy
- 基础设施放 cnbll
- 开源贡献放 W3C
Gitee 定位
分发与展示,不做开发。
| 仓库 | 用途 |
|---|---|
| openclaw-workspace | 记忆备份 |
| docs-site | 组织文档站(Gitee Pages) |
| releases | Release 国内下载源 |
工作流步骤
Step 1: 记忆检索
目的:查历史组织架构、积分状态、已有仓库,避免重复劳动。
# 在 agent 中执行
memory_search("组织架构 cnbmm cnbll 积分 职责")
memory_get("memory/cnb-core/MEMORY.md")
输出:组织架构全景表 + 积分现状 + 待办。
Step 2: CNB 组织简介更新
API:PUT /{group}(UpdateOrganization)
权限:group-manage:rw
提示词模板:
> 把每个组织的简介更新一下,写清楚各自负责什么
curl 示例:
curl -s -X PUT "https://api.cnb.cool/yunjinhong" \
-H "Accept: application/vnd.cnb.api+json" \
-H "Authorization: Bearer ${CNB_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"description": "正式产品发布 · 面向客户的上线项目\n\n核心产品:领航项目(微信小程序+云开发)\n\n职责:产品迭代、版本发布、生产运维、客户交付",
"remark": "前台"
}'
参数说明:
- description:组织描述(支持换行)
- remark:短标签(前台/客户部/工具箱/实验室/采购部/机房)
- site:网站链接
- wechat_mp:微信公众号
批量更新脚本:见 references/batch-update-orgs.sh
踩坑:
- W3C 是技术联盟组织,普通 Token 无 group-manage:rw 权限,会返回空响应
- description 换行用 \n 转义
Step 3: CNB 仓库批量创建
API:POST /{slug}/-/repos(CreateRepo)
权限:group-resource:rw
提示词模板:
> 给每个组织初始化一个 scaffold 仓库
curl 示例:
curl -s -X POST "https://api.cnb.cool/yunjinhong/-/repos" \
-H "Accept: application/vnd.cnb.api+json" \
-H "Authorization: Bearer ${CNB_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "scaffold",
"description": "初始化模板",
"visibility": "public"
}'
参数:
- name:仓库名
- description:仓库描述
- visibility:public / private
- license:开源协议(可选)
成功:HTTP 201
失败:HTTP 403(无权限)、HTTP 409(仓库已存在)
Step 4: 仓库标准内容推送
踩坑记录:
1. ~~CreateBlob + CreateCommit API~~ — CreateCommit 需要预先构建 tree 对象,API 不支持从 blob 直接创建 commit,此路不通
2. ✅ 用 git clone + 本地 commit + push — 最可靠
提示词模板:
> 给 scaffold 仓库推送标准结构
推送脚本:
TMPDIR=$(mktemp -d)
cd "$TMPDIR"
ORG="yunjinhong"
DESC="前台 · 正式产品上线运营"
mkdir -p "${ORG}-scaffold/docs" "${ORG}-scaffold/src" "${ORG}-scaffold/tests"
cat > "${ORG}-scaffold/README.md" <<EOF
# ${ORG}/scaffold
> ${DESC}
## 标准结构
\`\`\`
${ORG}/scaffold/
├── README.md
├── docs/
├── src/
└── tests/
\`\`\`
EOF
touch "${ORG}-scaffold/docs/.gitkeep" \
"${ORG}-scaffold/src/.gitkeep" \
"${ORG}-scaffold/tests/.gitkeep"
cd "${ORG}-scaffold"
git init
git add -A
git -c user.name="cnb" -c user.email="cnb@cnb.cool" commit -m "init: scaffold 初始化"
git remote add origin "https://cnb:${CNB_TOKEN}@cnb.cool/${ORG}/scaffold.git"
git push -u origin master # CNB 默认 master,不是 main
批量推送:见 references/batch-push-scaffold.sh
踩坑:
- CNB 默认分支是 master,不是 main。git push -u origin main 会报错,用 master
- 删临时目录用 rm -rf "$TMPDIR"
Step 5: Gitee 接入
5.1 验证 Token
curl -s "https://gitee.com/api/v5/user?access_token=${GITEE_TOKEN}" | jq '{login,name,public_repos}'
5.2 列出所有仓库(含私有)
curl -s "https://gitee.com/api/v5/user/repos?access_token=${GITEE_TOKEN}&type=all&per_page=100" \
| jq '.[] | {name,private,updated_at}'
5.3 删除仓库
curl -s -X DELETE "https://gitee.com/api/v5/repos/hjhcoo/{repo}?access_token=${GITEE_TOKEN}"
5.4 创建仓库
curl -s "https://gitee.com/api/v5/user/repos" \
-d "access_token=${GITEE_TOKEN}" \
-d "name={repo_name}" \
-d "description={desc}" \
-d "private=true" \
-d "auto_init=true"
5.5 Gitee 初始化推送
git clone "https://hjhcoo:${GITEE_TOKEN}@gitee.com/hjhcoo/{repo}.git"
# ... 添加文件 ...
git -c user.name="hjhcoo" -c user.email="hjhcoo@cnb.cool" commit -m "init: ..."
git push
踩坑:
- Gitee API 返回空 body 表示成功(DELETE 操作)
- Gitee 私有仓库不出现在公开 profile,必须用 type=all 查询
- 不要建 CNB 镜像仓库——空壳无价值,需要时再建
Step 6: 记忆同步
提示词模板:
> 更新记忆文件
更新清单:
1. TOOLS.md — 添加/更新 Gitee 配置
2. memory/cnb-core/MEMORY.md — 更新组织表格、积分状态
3. USER.md — 组织架构(已有则跳过)
4. memory/YYYY-MM-DD.md — 当日工作日志
完整提示词链(一步到位版)
老板只需说:
> 初始化所有组织的仓库和简介
Agent 自动执行 Step 1-6 全流程,无需逐步确认。
质量自评
- ✅ 触发精准:组织初始化/治理/规划相关指令
- ✅ 边界清晰:只管 CNB + Gitee 组织层面,不管具体项目开发
- ✅ 踩坑完整:API 限制、分支名、权限问题都有记录
- ✅ 可复用:curl 命令可直接复制执行
- ⚠️ 积分管理未纳入:NPC 积分消耗是另一个工作流