Skip to content

Commit b1908fa

Browse files
Merge pull request #134 from modelstudioai/chore/opti-skill
refactor(skills): split domain skills and introduce bailian-protocol companion
2 parents 564e21d + d64ba09 commit b1908fa

48 files changed

Lines changed: 1178 additions & 438 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ tools/generated
3838
.claude/scheduled_tasks.lock
3939
.cursor/
4040
.qwen/
41+
.qoder
4142
.playwright-mcp/
4243
.pnpm-store/
4344

.vite-hooks/pre-commit

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,15 @@ set -eu
55
pnpm run sync:skill-assets
66

77
# Stage generator output so it is included in this commit.
8-
git add skills/bailian-cli/reference skills/bailian-cli/SKILL.md
8+
git add \
9+
skills/bailian-protocol/SKILL.md \
10+
skills/bailian-cli/SKILL.md \
11+
skills/bailian-cli/reference \
12+
skills/bailian-gen/SKILL.md \
13+
skills/bailian-gen/reference \
14+
skills/bailian-finetune/SKILL.md \
15+
skills/bailian-finetune/reference \
16+
skills/bailian-managed-agent/SKILL.md \
17+
skills/bailian-managed-agent/reference
918

1019
vp staged

AGENTS.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ packages/core/src/auth/ # apiKey / console credential 解析与落盘
3535
packages/core/src/client/ # HTTP client / endpoints / console gateway
3636
```
3737

38-
Skill / 命令手册随 `skills/bailian-cli/``npx skills add modelstudioai/cli` 安装`tools/generate-reference.ts`**`packages/cli/src/commands.ts`** 生成 `skills/bailian-cli/reference/`(纳入 git);`tools/sync-skill-metadata.ts``packages/cli/package.json` 同步 `skills/bailian-cli/SKILL.md``metadata.version`。两者由根脚本 `pnpm run sync:skill-assets``.vite-hooks/pre-commit` 执行。
38+
Skill / 命令手册随 `skills/bailian-*/``npx skills add modelstudioai/cli --all -g` 安装(整包装齐,含共享协议 `bailian-protocol`)。业务 skill(`bailian-cli` / `bailian-gen` / `bailian-finetune` / `bailian-managed-agent`)执行前读 `skills/bailian-protocol/`;不要依赖 frontmatter `companions`(安装器不强制)。`tools/generate-reference.ts`**`packages/cli/src/commands.ts`** 按一级命令归属表分流写入各 `skills/<skill>/reference/`(纳入 git);`tools/sync-skill-metadata.ts``packages/cli/package.json` 同步各 `skills/*/SKILL.md``metadata.version`。两者由根脚本 `pnpm run sync:skill-assets``.vite-hooks/pre-commit` 执行。hub `bailian-cli` 的路由表不复述领域命令明细;SKILL 文案 / 安装约定 / hand-off 见 [docs/agents/skill-change.md](docs/agents/skill-change.md)
3939

4040
约定:
4141

@@ -48,31 +48,32 @@ Skill / 命令手册随 `skills/bailian-cli/` 经 `npx skills add modelstudioai/
4848
非代码资产:
4949

5050
- `tools/release/` — 发版自动化(CI 驱动,见 `.github/workflows/publish.yml`
51-
- `tools/generate-reference.ts` — 从 `packages/cli/src/commands.ts` 生成 `skills/bailian-cli/reference/`
52-
- `tools/sync-skill-metadata.ts`同步 `skills/bailian-cli/SKILL.md``metadata.version`
51+
- `tools/generate-reference.ts` — 从 `packages/cli/src/commands.ts` 按归属表生成各 `skills/<skill>/reference/`
52+
- `tools/sync-skill-metadata.ts`同步各 `skills/*/SKILL.md``metadata.version`(含 `bailian-protocol`
5353
- `README.md` / `README.zh.md` — npm 和 GitHub 主页
5454

5555
## 业务场景索引
5656

5757
按当前任务从下表挑一条进入对应文档:
5858

59-
| 场景 | 何时进入 | 详见 |
60-
| -------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
61-
| 命令增删改 | 增加 / 删除 / 重命名 `bl xxx` 或入口命令路径 | [docs/agents/command-add-remove.md](docs/agents/command-add-remove.md) |
62-
| E2E 测试维护 | 新增/改命令或 e2e 用例、补 help/缺参/dry-run | [docs/agents/cli-e2e-tests.md](docs/agents/cli-e2e-tests.md) |
63-
| 批量压测 | 改/跑多能力并发压测、`test:stress`、fixtures | [docs/agents/stress-batch-tests.md](docs/agents/stress-batch-tests.md) |
64-
| 选项变更 | 给已有命令加 `--flag` 或改默认值 | [docs/agents/command-flag-change.md](docs/agents/command-flag-change.md) |
65-
| 模型上下架 | 增加新模型 / 改默认模型 / 废弃旧模型 | [docs/agents/model-add-remove.md](docs/agents/model-add-remove.md) |
66-
| 错误文案变更 |`BailianError` 的 message 或 hint | [docs/agents/error-hint-change.md](docs/agents/error-hint-change.md) |
67-
| URL / 渠道变更 | 控制台域名 / 文档站 / 追踪参数 | [docs/agents/url-change.md](docs/agents/url-change.md) |
68-
| 鉴权扩展 | 加 OAuth / SSO / 换 token 来源 | [docs/agents/auth-change.md](docs/agents/auth-change.md) |
69-
| 配置项扩展 | 新 env var 或 `~/.bailian/config.json` 字段 | [docs/agents/config-add.md](docs/agents/config-add.md) |
70-
| Profile / 激活 | 改命名 Profile、预设或 `active_config` | [docs/agents/config-profile-change.md](docs/agents/config-profile-change.md) |
71-
| 安装文档 | 改安装、鉴权、验证流程或线上 install 页面 | [docs/agents/install-doc-change.md](docs/agents/install-doc-change.md) |
72-
| 发布 | channel / stable 发 npm + 二进制(Bun / GitHub Release / OSS);安装脚本仓外维护 | [docs/agents/publish.md](docs/agents/publish.md) |
73-
| Change Log | 发版说明 / 历史版本说明 | [docs/agents/changelog-write.md](docs/agents/changelog-write.md) |
74-
| 工具链调整 | lint 规则 / 构建配置 / 依赖升级 | [docs/agents/lint-toolchain.md](docs/agents/lint-toolchain.md) |
75-
| Command Pack | 扩展包 / 白名单 / plugin 管理命令 | [docs/agents/command-pack.md](docs/agents/command-pack.md) |
59+
| 场景 | 何时进入 | 详见 |
60+
| ----------------- | ----------------------------------------------- | ---------------------------------------------------------------------------- |
61+
| 命令增删改 | 增加 / 删除 / 重命名 `bl xxx` 或入口命令路径 | [docs/agents/command-add-remove.md](docs/agents/command-add-remove.md) |
62+
| E2E 测试维护 | 新增/改命令或 e2e 用例、补 help/缺参/dry-run | [docs/agents/cli-e2e-tests.md](docs/agents/cli-e2e-tests.md) |
63+
| 批量压测 | 改/跑多能力并发压测、`test:stress`、fixtures | [docs/agents/stress-batch-tests.md](docs/agents/stress-batch-tests.md) |
64+
| 选项变更 | 给已有命令加 `--flag` 或改默认值 | [docs/agents/command-flag-change.md](docs/agents/command-flag-change.md) |
65+
| 模型上下架 | 增加新模型 / 改默认模型 / 废弃旧模型 | [docs/agents/model-add-remove.md](docs/agents/model-add-remove.md) |
66+
| Skill 文案 / 路由 | 改 SKILL 路由、安装约定、hand-off、hub/领域边界 | [docs/agents/skill-change.md](docs/agents/skill-change.md) |
67+
| 错误文案变更 |`BailianError` 的 message 或 hint | [docs/agents/error-hint-change.md](docs/agents/error-hint-change.md) |
68+
| URL / 渠道变更 | 控制台域名 / 文档站 / 追踪参数 | [docs/agents/url-change.md](docs/agents/url-change.md) |
69+
| 鉴权扩展 | 加 OAuth / SSO / 换 token 来源 | [docs/agents/auth-change.md](docs/agents/auth-change.md) |
70+
| 配置项扩展 | 新 env var 或 `~/.bailian/config.json` 字段 | [docs/agents/config-add.md](docs/agents/config-add.md) |
71+
| Profile / 激活 | 改命名 Profile、预设或 `active_config` | [docs/agents/config-profile-change.md](docs/agents/config-profile-change.md) |
72+
| 安装文档 | 改安装、鉴权、验证流程或线上 install 页面 | [docs/agents/install-doc-change.md](docs/agents/install-doc-change.md) |
73+
| 发布 | channel / stable 发布到 npm(CI 驱动) | [docs/agents/publish.md](docs/agents/publish.md) |
74+
| Change Log | 发版说明 / 历史版本说明 | [docs/agents/changelog-write.md](docs/agents/changelog-write.md) |
75+
| 工具链调整 | lint 规则 / 构建配置 / 依赖升级 | [docs/agents/lint-toolchain.md](docs/agents/lint-toolchain.md) |
76+
| Command Pack | 扩展包 / 白名单 / plugin 管理命令 | [docs/agents/command-pack.md](docs/agents/command-pack.md) |
7677

7778
如果当前任务无法对应任何场景,先按经验完成,然后**回来评估这是不是一类新场景** —— 是就新增 `docs/agents/<scenario>.md`,把清单沉淀下来。
7879

INSTALL.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,19 @@ npm install -g bailian-cli
5757
npx skills add modelstudioai/cli --all -g
5858
```
5959

60+
**Supported:** 始终使用 `--all -g`,一次装齐整套 `bailian-*`(含共享协议 `bailian-protocol`)。Agent Skills / `npx skills` **不会**按 metadata 自动拉依赖。
61+
62+
**Advanced / 不推荐:** 子集 `-s` 时 skills CLI 不会自动带上 `bailian-protocol`;若坚持子集,必须手动同时指定,例如:
63+
64+
```bash
65+
# Advanced: you MUST include bailian-protocol yourself — installer does not pull it
66+
npx skills add modelstudioai/cli -g -s bailian-protocol -s bailian-gen
67+
```
68+
69+
安装成功后,用中文简要说明已安装的 skills 及用户可做什么。
70+
71+
---
72+
6073
## 3. 鉴权(安装后必做才能调 API)
6174

6275
### 推荐:浏览器登录(控制台会话)

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ irm https://bailian.aliyun.com/cli/install.ps1 | iex
8585

8686
# Node users / developers (Node.js >= 18.17)
8787
npm install -g bailian-cli
88+
89+
# Agent skills
90+
npx skills add modelstudioai/cli --all -g
8891
```
8992

9093
> Binary install does not require Node.js. `npm install -g` remains fully supported.

README.zh.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ irm https://bailian.aliyun.com/cli/install.ps1 | iex
8383

8484
# Node 用户 / 开发者(需要 Node.js >= 18.17)
8585
npm install -g bailian-cli
86+
87+
# Agent skills
88+
npx skills add modelstudioai/cli --all -g
8689
```
8790

8891
> 二进制安装不依赖 Node.js。`npm install -g` 长期保留。

docs/agents/auth-change.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ defineCommand({ auth }) → runtime/authStage → ctx.client → command.run(ctx
121121
### D. 用户面文档
122122

123123
- [ ] `README.md` / `README.zh.md` "Authentication" 段落
124-
- [ ] `skills/bailian-cli/reference/` 通过 `pnpm run sync:skill-assets` 重建
124+
- [ ] `skills/<skill>/reference/` 通过 `pnpm run sync:skill-assets` 重建
125125

126126
### E. 测试
127127

docs/agents/branch-merge-review.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ git diff --name-only <base>...<head>
5656

5757
- [ ] **新命令 / 新 flag** 已同步到用户面文档:
5858
- [README.md](README.md) + [README.zh.md](README.zh.md)(中英文都要,常漏 `_CN`)
59-
- `skills/bailian-cli/reference/` + `skills/bailian-cli/SKILL.md` 通过 `pnpm run sync:skill-assets` 更新并提交
59+
- `skills/<skill>/reference/` + 对应 `SKILL.md` 通过 `pnpm run sync:skill-assets` 更新并提交
6060
- [ ] **`bl <cmd> --help`** 文案完整:`description` / `examples` 都填了
6161
- [ ] **demo / quickstart**:用户可调用的新命令至少有一个示例
6262
- [ ] **行为变化的老命令**:在 commit message / CHANGELOG 注明用户感知的差异

docs/agents/cli-e2e-tests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ describe.skipIf(<ready>)("e2e: <topic>(DashScope …)", () => {
9595

9696
- [ ] `packages/commands/src/index.ts` 导出 + `packages/cli/src/commands.ts` 暴露路径 + `topic-routes.ts` 补最小路由
9797
- [ ] `packages/commands/tests/e2e/<topic>.e2e.test.ts`(新建或扩展)
98-
- [ ] 若改了 `usageArgs` / `flags` / `exampleArgs`,跑 `pnpm --filter bailian-cli run generate:reference` 更新 `skills/bailian-cli/reference/` 并提交
98+
- [ ] 若改了 `usageArgs` / `flags` / `exampleArgs`,跑 `pnpm --filter bailian-cli run generate:reference` 更新各 `skills/<skill>/reference/` 并提交
9999
- [ ] 子命令 `--help`(分组 help 由 bl `registry.smoke` 覆盖)
100100
- [ ] skip 块:每个 required flag 缺参;可 dry-run 则加一条
101101
- [ ] 至少一条真实集成(或说明为何仅 smoke);不破坏已有集成用例顺序

docs/agents/command-add-remove.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ packages/commands/src/index.ts
5656
- **`packages/cli/src/commands.ts`**:`bl` 产品命令 map;新增/删除/重命名 `bl` 命令必须改这里
5757
- **`packages/kscli/src/main.ts`**:`kscli` 产品命令 map;只有该入口需要暴露/变更时才改
5858
- **`packages/runtime/src/registry.ts`**:通用 registry,从传入 map 建树;不要在这里登记业务命令
59-
- **`tools/generate-reference.ts`**:pre-commit / `pnpm run sync:skill-assets` 时读 `packages/cli/src/commands.ts`,`skills/bailian-cli/reference/index.md` + `<一级命令>.md`该目录**纳入 git**,勿手改
59+
- **`tools/generate-reference.ts`**:pre-commit / `pnpm run sync:skill-assets` 时读 `packages/cli/src/commands.ts`,`GROUP_OWNER_SKILL` 归属表分流写到各 `skills/<skill>/reference/index.md` + `<一级命令>.md`未显式归属的一级组默认进 `bailian-cli`。各目录**纳入 git**,勿手改。新增一级命令组若应归领域 skill,记得改归属表。
6060

6161
已删除/勿再引用:旧的 `packages/cli/src/commands/catalog.ts`、旧的 `packages/cli/src/commands/index.ts` catalog re-export、`packages/cli/src/registry.ts``skipDefaultApiKeySetup``ensureApiKey` 启动拦截、`config/export-schema.ts`
6262

@@ -87,9 +87,10 @@ packages/commands/src/index.ts
8787

8888
### C. 文档层
8989

90-
- [ ] 运行 `pnpm run sync:skill-assets`(或正常 `git commit` 走 pre-commit),刷新 `skills/bailian-cli/reference/``SKILL.md``metadata.version` 并提交
90+
- [ ] 运行 `pnpm run sync:skill-assets`(或正常 `git commit` 走 pre-commit),刷新各 `skills/<skill>/reference/``SKILL.md``metadata.version` 并提交
9191
- [ ] `README.md` / `README.zh.md`:Quick Start、命令一览、认证说明(用户向,与 help 对齐)
92-
- [ ] `skills/bailian-cli/SKILL.md`:若安装说明或能力边界有变,同步更新
92+
- [ ] 相关 `skills/<skill>/SKILL.md`:若安装说明或能力边界有变,同步更新;新一级命令组若属领域 skill,同步改 `tools/generate-reference.ts``GROUP_OWNER_SKILL`
93+
- [ ] **拥有方** skill 的「When to use which command」(或等价路由表)补上新意图;hub `bailian-cli` 仅加/改 hand-off 行,**不要**把领域子命令与默认模型抄进 hub 表(约定见 [skill-change.md](skill-change.md))
9394

9495
### D. 测试层
9596

@@ -105,7 +106,7 @@ packages/commands/src/index.ts
105106
- `packages/cli/src/commands.ts` map key
106107
- `packages/kscli/src/commands.ts` map key(如适用)
107108
- 用户可见 hint / README / tests
108-
- `skills/bailian-cli/reference/`(重建后检查并提交)
109+
- `skills/*/reference/`(重建后检查并提交)
109110
- [ ] 检查 `usageArgs` / `exampleArgs` 没有硬编码旧的 `bl <path>` 前缀
110111

111112
## 完成后自查
@@ -127,7 +128,9 @@ pnpm -F knowledge-studio-cli exec tsx src/main.ts <command> --help
127128

128129
- ✗ 只新增 `packages/commands/src/commands/...` 文件,忘了在 `packages/commands/src/index.ts` 导出
129130
- ✗ 只导出了命令实现,忘了在 `packages/cli/src/commands.ts` 暴露路径 → `bl --help` 看不到
130-
- ✗ 手改 `skills/bailian-cli/reference/*.md` → 下次 generate 被覆盖;应改 command metadata 后重新 generate 并提交
131+
- ✗ 手改 `skills/*/reference/*.md` → 下次 generate 被覆盖;应改 command metadata 后重新 generate 并提交
132+
- ✗ 新一级命令组忘改 `tools/generate-reference.ts``GROUP_OWNER_SKILL` → reference 会落到 hub `bailian-cli`(未必是预期)
133+
- ✗ 只改 reference / hub,忘改拥有方 skill 路由表;或把领域命令明细重新抄回 `bailian-cli` SKILL → 与 [skill-change.md](skill-change.md) 分层冲突
131134
- ✗ 在 `usageArgs` / `exampleArgs` 写死 `bl text chat``kscli` 等入口复用时 help 错
132135
- ✗ Console Gateway 命令忘设 `auth: "console"` → console flags / credential 注入都不生效
133136
- ✗ 单 action 的子组是反模式,新增时优先拍平为两级

0 commit comments

Comments
 (0)