Skip to content

Commit 66402d9

Browse files
committed
chore(dev): run CLI workspace entries from source
- use tsx for bl/kscli dev and test runners - point local library exports to src while keeping publishConfig on dist - switch vendored telemetry modules to .cjs for source-run compatibility - update stress/e2e helpers and agent docs for the new source execution path
1 parent 4525d5d commit 66402d9

40 files changed

Lines changed: 410 additions & 103 deletions

CONTRIBUTING.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,7 @@ pnpm install
3333

3434
### Running the CLI from source
3535

36-
Open two terminals:
37-
3836
```bash
39-
# Terminal 1 — watch-build core
40-
pnpm dev
41-
42-
# Terminal 2 — run any bl command
4337
pnpm bl auth login --api-key sk-xxxxx
4438
pnpm bl text chat --message "hello"
4539
pnpm bl video generate --prompt "a cat walking"

CONTRIBUTING.zh.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,7 @@ pnpm install
3333

3434
### 从源码运行 CLI
3535

36-
开两个终端:
37-
3836
```bash
39-
# 终端 1 —— core watch 重建
40-
pnpm dev
41-
42-
# 终端 2 —— 跑任意 bl 命令
4337
pnpm bl auth login --api-key sk-xxxxx
4438
pnpm bl text chat --message "你好"
4539
pnpm bl video generate --prompt "一只走路的猫"

docs/agents/auth-change.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,23 +114,23 @@ defineCommand({ auth }) → runtime/authStage → ctx.client → command.run(ctx
114114
```sh
115115
# 各种凭证组合
116116
unset DASHSCOPE_API_KEY ALIBABA_CLOUD_ACCESS_KEY_ID ALIBABA_CLOUD_ACCESS_KEY_SECRET
117-
HOME=/tmp/empty node packages/cli/src/main.ts auth status
117+
HOME=/tmp/empty pnpm -F bailian-cli exec tsx src/main.ts auth status
118118

119119
# flag 注入(凭证域 flag 只在对应业务命令可见,auth status 不接收)
120-
node packages/cli/src/main.ts text chat --message hi --api-key sk-xxx --dry-run
121-
node packages/cli/src/main.ts token-plan list-seats --access-key-id ak-xxx --access-key-secret sec-xxx --dry-run
122-
node packages/cli/src/main.ts auth login --open-api --access-key-id ak-xxx --access-key-secret sec-xxx --dry-run
120+
pnpm -F bailian-cli exec tsx src/main.ts text chat --message hi --api-key sk-xxx --dry-run
121+
pnpm -F bailian-cli exec tsx src/main.ts token-plan list-seats --access-key-id ak-xxx --access-key-secret sec-xxx --dry-run
122+
pnpm -F bailian-cli exec tsx src/main.ts auth login --open-api --access-key-id ak-xxx --access-key-secret sec-xxx --dry-run
123123

124124
# env 注入
125-
DASHSCOPE_API_KEY=sk-xxx node packages/cli/src/main.ts auth status
126-
ALIBABA_CLOUD_ACCESS_KEY_ID=ak-xxx ALIBABA_CLOUD_ACCESS_KEY_SECRET=sec-xxx node packages/cli/src/main.ts auth status
125+
DASHSCOPE_API_KEY=sk-xxx pnpm -F bailian-cli exec tsx src/main.ts auth status
126+
ALIBABA_CLOUD_ACCESS_KEY_ID=ak-xxx ALIBABA_CLOUD_ACCESS_KEY_SECRET=sec-xxx pnpm -F bailian-cli exec tsx src/main.ts auth status
127127
```
128128

129129
Console 登录/网关相关改动:
130130

131131
```sh
132-
node packages/cli/src/main.ts auth login --console
133-
node packages/cli/src/main.ts usage stats --dry-run --output json
132+
pnpm -F bailian-cli exec tsx src/main.ts auth login --console
133+
pnpm -F bailian-cli exec tsx src/main.ts usage stats --dry-run --output json
134134
```
135135

136136
## 常见漏点

docs/agents/command-add-remove.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,15 @@ packages/commands/src/index.ts
109109

110110
```sh
111111
pnpm run sync:skill-assets
112-
node packages/cli/src/main.ts <new-command> --help
113-
node packages/cli/src/main.ts
112+
pnpm -F bailian-cli exec tsx src/main.ts <new-command> --help
113+
pnpm -F bailian-cli exec tsx src/main.ts
114114
vp test packages/cli/tests/e2e/<topic>.e2e.test.ts
115115
```
116116

117117
如改了 `kscli` 入口:
118118

119119
```sh
120-
node packages/kscli/src/main.ts <command> --help
120+
pnpm -F knowledge-studio-cli exec tsx src/main.ts <command> --help
121121
```
122122

123123
## 常见漏点

docs/agents/command-flag-change.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545
## 完成后自查
4646

4747
```sh
48-
node packages/cli/src/main.ts <command> --help # 看新 flag 出现在 Flags
49-
node packages/cli/src/main.ts <command> --new-flag x # 实测一遍
48+
pnpm -F bailian-cli exec tsx src/main.ts <command> --help # 看新 flag 出现在 Flags
49+
pnpm -F bailian-cli exec tsx src/main.ts <command> --new-flag x # 实测一遍
5050
```
5151

5252
## 常见漏点

docs/agents/config-add.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ config 文件 ─┘
6666

6767
```sh
6868
# 三个来源都试一遍
69-
node packages/cli/src/main.ts config show --output json | grep <new-field>
70-
XXX=value node packages/cli/src/main.ts config show --output json | grep <new-field>
71-
node packages/cli/src/main.ts config show --xxx value --output json | grep <new-field>
69+
pnpm -F bailian-cli exec tsx src/main.ts config show --output json | grep <new-field>
70+
XXX=value pnpm -F bailian-cli exec tsx src/main.ts config show --output json | grep <new-field>
71+
pnpm -F bailian-cli exec tsx src/main.ts config show --xxx value --output json | grep <new-field>
7272

7373
# 写到文件(会改用户 HOME,必要时先用临时 HOME)
74-
node packages/cli/src/main.ts config set --key <key> --value <value>
74+
pnpm -F bailian-cli exec tsx src/main.ts config set --key <key> --value <value>
7575
cat ~/.bailian/config.json
7676
```
7777

docs/agents/error-hint-change.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,14 @@ process.exit(err.exitCode)
110110

111111
```sh
112112
# 触发对应错误,看 text 输出
113-
HOME=/tmp/empty node packages/cli/src/main.ts text chat --message "x"
113+
HOME=/tmp/empty pnpm -F bailian-cli exec tsx src/main.ts text chat --message "x"
114114

115115
# 看 JSON 输出(应包含 cause 字段当 cause 存在时)
116-
HOME=/tmp/empty node packages/cli/src/main.ts text chat --message "x" --output json
116+
HOME=/tmp/empty pnpm -F bailian-cli exec tsx src/main.ts text chat --message "x" --output json
117117

118118
# 模拟网络层错误,验证 errno 透传
119119
DASHSCOPE_BASE_URL=https://nonexistent-host.invalid \
120-
node packages/cli/src/main.ts text chat --message hi
120+
pnpm -F bailian-cli exec tsx src/main.ts text chat --message hi
121121
# 预期:"Network request failed: ENOTFOUND ..." + Caused by 链
122122
```
123123

docs/agents/lint-toolchain.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
### C. 构建配置
2828

2929
- [ ] `packages/*/vite.config.ts` 的 entry / dts / exports 设置符合包类型:
30-
- library 包(core/runtime/commands):导出 `dist/index.mjs` + dts + `@bailian-cli/source` dev export
30+
- library 包(core/runtime/commands):本地 `exports` 默认指向 `src/index.ts`;`publishConfig.exports` 覆盖发布入口为 `dist/index.mjs`;dts 产物正常生成
3131
- binary 包(cli/kscli):entry 指向 `src/main.ts`,有 shebang,`exports: true`
3232
- [ ] cli / kscli 的 bundle 必须把 workspace 包(`bailian-cli-core` / `bailian-cli-runtime` / `bailian-cli-commands`)当 **external**(不内联),确认 dist 中仍是 package import
3333
- [ ] cli / kscli 的 binary bundle 第一行必须有 `#!/usr/bin/env node` shebang

docs/agents/model-add-remove.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242

4343
```sh
4444
# 默认模型走通
45-
node packages/cli/src/main.ts <command> --message "test"
45+
pnpm -F bailian-cli exec tsx src/main.ts <command> --message "test"
4646
# 显式指定新模型
47-
node packages/cli/src/main.ts <command> --model <new-model> --message "test"
47+
pnpm -F bailian-cli exec tsx src/main.ts <command> --model <new-model> --message "test"
4848
```
4949

5050
## 常见漏点

docs/agents/stress-batch-tests.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ pnpm run test:stress -- video-edit --reuse-fixtures -- --count 3
115115

116116
### 子进程调用方式
117117

118-
- **实际执行**`node packages/cli/src/main.ts <args>``cwd``packages/cli`
118+
- **实际执行**仓库本地 `tsx src/main.ts <args>``cwd``packages/cli`
119119
- **禁止**`pnpm run dev` 跑子任务:`pnpm` 会向 stdout 打生命周期日志,污染 JSON 解析
120120
- **报告中的「完整命令」**:用 `pnpm run dev ...` 展示(`buildDisplayCommand`
121121

@@ -191,7 +191,7 @@ pnpm run test:stress -- video-edit --reuse-fixtures -- --count 3
191191
### 只改压测脚本时
192192

193193
- [ ] `lib/paths.mjs` 解析的 `CLI_PACKAGE` / `MONOREPO_ROOT` 仍正确
194-
- [ ] 子进程仍为 `node` + `src/main.ts`,未改回裸 `pnpm run dev` 执行任务
194+
- [ ] 子进程仍为仓库本地 `tsx` + `src/main.ts`,未改回裸 `pnpm run dev` 执行任务
195195
- [ ] 未对子进程加 `--quiet`,视频未加 `--async`
196196
- [ ] `parsers.mjs` 与文档中的成功判定一致
197197
- [ ]`package.json` 仅保留 `test:stress` 入口指向 `run.mjs`

0 commit comments

Comments
 (0)