@sokeai/cli 1.0.23 → 1.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  `soke-cli` 是授客AI官方提供的命令行工具,旨在帮助开发者和系统管理员更便捷地通过命令行与授客AI开放平台进行交互。该工具使用 Go 语言开发,支持多平台,并提供了 NPM 包的安装方式。
4
4
 
5
+ ## 目录
6
+
7
+ - [核心能力](#核心能力)
8
+ - [安装方法](#安装方法)
9
+ - [快速开始](#快速开始)
10
+ - [开发指南](#开发指南)
11
+ - [从接口封装到发布的完整流程](#从接口封装到发布的完整流程)
12
+ - [本地开发测试](#本地开发测试)
13
+ - [项目结构](#项目结构)
14
+ - [相关文档](#相关文档)
15
+
5
16
  ## 核心能力
6
17
 
7
18
  `soke-cli` 提供了以下核心能力:
@@ -25,12 +36,16 @@
25
36
  - **培训 (training)**: 线下培训查询与分配。
26
37
  - **新闻公告 (news)**: 资讯列表与详情。
27
38
 
39
+ 4. **AI Agent Skills**
40
+ - 提供 AI Agent 技能(Skills),使 AI 助手能够自动发现和调用 CLI 功能。
41
+ - 支持自然语言交互,无需记忆复杂的命令参数。
42
+
28
43
  ## 安装方法
29
44
 
30
45
  ### 方式一:通过 NPM 安装 (推荐)
31
46
  如果你本地已安装 Node.js,可以直接使用 npm 全局安装:
32
47
  ```bash
33
- npm install -g @sokeai/cli
48
+ npm install -g @sokeai/cli@latest
34
49
  ```
35
50
 
36
51
  ### 方式二:通过源码编译安装 (需要 Go 环境)
@@ -149,20 +164,377 @@ soke-cli api GET /users/me
149
164
  soke-cli api POST /some/endpoint --data '{"key": "value"}'
150
165
  ```
151
166
 
152
- ## 项目结构说明
167
+ ## 开发指南
168
+
169
+ ### 从接口封装到发布的完整流程
170
+
171
+ #### 1️⃣ 接口封装为 CLI 命令
172
+
173
+ **步骤 1: 在 shortcuts 目录下定义接口元数据**
174
+
175
+ ```bash
176
+ # 创建新模块目录
177
+ mkdir -p shortcuts/your-module
178
+
179
+ # 创建命令定义文件
180
+ touch shortcuts/your-module/list_items.go
181
+ ```
182
+
183
+ **示例:定义一个查询列表的命令**
184
+
185
+ ```go
186
+ // shortcuts/your-module/list_items.go
187
+ package yourmodule
188
+
189
+ import "soke-cli/internal/client"
190
+
191
+ // ListItemsShortcut 定义查询列表命令
192
+ func ListItemsShortcut() client.Shortcut {
193
+ return client.Shortcut{
194
+ Name: "list-items", // 命令名称
195
+ Description: "查询项目列表", // 命令描述
196
+ Method: "GET", // HTTP 方法
197
+ Path: "/api/v1/items", // API 路径
198
+ Params: []client.Param{ // 参数定义
199
+ {
200
+ Name: "page",
201
+ Type: "int",
202
+ Description: "页码",
203
+ Required: false,
204
+ Default: "1",
205
+ },
206
+ {
207
+ Name: "page_size",
208
+ Type: "int",
209
+ Description: "每页数量",
210
+ Required: false,
211
+ Default: "10",
212
+ },
213
+ {
214
+ Name: "keyword",
215
+ Type: "string",
216
+ Description: "搜索关键词",
217
+ Required: false,
218
+ },
219
+ },
220
+ }
221
+ }
222
+ ```
223
+
224
+ **步骤 2: 注册命令到模块**
225
+
226
+ ```go
227
+ // shortcuts/your-module/shortcuts.go
228
+ package yourmodule
229
+
230
+ import "soke-cli/internal/client"
231
+
232
+ // Shortcuts 返回该模块的所有快捷命令
233
+ func Shortcuts() []client.Shortcut {
234
+ return []client.Shortcut{
235
+ ListItemsShortcut(),
236
+ // 添加更多命令...
237
+ }
238
+ }
239
+ ```
240
+
241
+ **步骤 3: 在 cmd 层注册模块**
242
+
243
+ ```go
244
+ // cmd/your_module/your_module.go
245
+ package yourmodule
246
+
247
+ import (
248
+ "soke-cli/internal/client"
249
+ yourmodule "soke-cli/shortcuts/your-module"
250
+ "github.com/spf13/cobra"
251
+ )
252
+
253
+ // YourModuleCmd 模块根命令
254
+ var YourModuleCmd = &cobra.Command{
255
+ Use: "your-module",
256
+ Short: "你的模块管理",
257
+ Long: "管理你的模块相关功能",
258
+ }
259
+
260
+ func init() {
261
+ // 自动注册所有快捷命令
262
+ client.RegisterShortcuts(YourModuleCmd, yourmodule.Shortcuts())
263
+ }
264
+ ```
265
+
266
+ **步骤 4: 在根命令中注册模块**
267
+
268
+ ```go
269
+ // cmd/root.go
270
+ import (
271
+ yourmodule "soke-cli/cmd/your_module"
272
+ )
273
+
274
+ func init() {
275
+ // 注册模块命令
276
+ rootCmd.AddCommand(yourmodule.YourModuleCmd)
277
+ }
278
+ ```
279
+
280
+ #### 2️⃣ 创建 AI Agent Skill
281
+
282
+ **步骤 1: 创建 Skill 目录和文档**
283
+
284
+ ```bash
285
+ # 创建 Skill 目录
286
+ mkdir -p skills/your-module
287
+
288
+ # 创建 Skill 定义文件
289
+ touch skills/your-module/SKILL.md
290
+ ```
291
+
292
+ **步骤 2: 编写 Skill 文档**
293
+
294
+ ```markdown
295
+ <!-- skills/your-module/SKILL.md -->
296
+ ---
297
+ name: your-module
298
+ description: 你的模块管理:查询项目列表、创建项目、更新项目等
299
+ trigger: 当用户需要查询项目、管理项目时使用
300
+ ---
301
+
302
+ # 你的模块管理 Skill
303
+
304
+ ## 功能说明
305
+
306
+ 提供项目管理相关功能,包括:
307
+ - 查询项目列表
308
+ - 创建新项目
309
+ - 更新项目信息
310
+ - 删除项目
311
+
312
+ ## 使用场景
313
+
314
+ - 用户询问:"查询所有项目"
315
+ - 用户询问:"创建一个新项目"
316
+ - 用户询问:"更新项目信息"
317
+
318
+ ## 可用命令
319
+
320
+ ### 查询项目列表
321
+
322
+ \`\`\`bash
323
+ soke-cli your-module +list-items [选项]
324
+ \`\`\`
325
+
326
+ **参数说明:**
327
+ - `--page <number>`: 页码(可选,默认:1)
328
+ - `--page-size <number>`: 每页数量(可选,默认:10)
329
+ - `--keyword <string>`: 搜索关键词(可选)
330
+
331
+ **使用示例:**
332
+ \`\`\`bash
333
+ # 查询第一页
334
+ soke-cli your-module +list-items
335
+
336
+ # 搜索包含"测试"的项目
337
+ soke-cli your-module +list-items --keyword "测试"
338
+ \`\`\`
339
+
340
+ ## 交互流程
341
+
342
+ 1. 识别用户意图(查询/创建/更新/删除)
343
+ 2. 提示用户提供必要参数
344
+ 3. 执行对应的 CLI 命令
345
+ 4. 解析并展示结果
346
+
347
+ ## 错误处理
348
+
349
+ - 如果用户未登录,提示执行 `soke-cli auth login`
350
+ - 如果参数缺失,提示用户补充必要参数
351
+ - 如果 API 返回错误,展示友好的错误信息
352
+ ```
353
+
354
+ **步骤 3: 更新 skills/README.md**
355
+
356
+ 在 `skills/README.md` 中添加新 Skill 的说明。
357
+
358
+ #### 3️⃣ 本地测试 Skill
359
+
360
+ **方法一:一键测试脚本(推荐)**
361
+
362
+ ```bash
363
+ # 1. 编译、安装到全局、运行测试
364
+ bash ./scripts/local-test.sh
365
+ # 提示时输入 'y' 更新全局安装
366
+
367
+ # 2. 链接 Skills 到 AI Agent
368
+ bash ./scripts/link-skills.sh
369
+ # 选择 'all' 链接到所有目录
370
+
371
+ # 3. 在 AI Agent 中测试
372
+ # 打开 Claude Code,输入:"查询所有项目"
373
+ ```
374
+
375
+ **方法二:手动测试**
376
+
377
+ ```bash
378
+ # 1. 编译项目
379
+ go build -o soke-cli main.go
380
+
381
+ # 2. 测试命令是否正常工作
382
+ ./soke-cli your-module +list-items --help
383
+
384
+ # 3. 安装到全局
385
+ sudo cp soke-cli /usr/local/bin/
386
+
387
+ # 4. 链接 Skill 到 Claude
388
+ mkdir -p ~/.claude/skills/your-module
389
+ cp skills/your-module/SKILL.md ~/.claude/skills/your-module/
390
+
391
+ # 5. 在 Claude Code 中测试
392
+ # 输入:"查询所有项目"
393
+ ```
394
+
395
+ **测试检查清单:**
396
+ - [ ] CLI 命令能正常执行
397
+ - [ ] 参数验证正确
398
+ - [ ] API 调用成功
399
+ - [ ] 输出格式正确
400
+ - [ ] AI Agent 能识别意图
401
+ - [ ] AI Agent 能正确调用命令
402
+ - [ ] 错误处理友好
403
+
404
+ #### 4️⃣ 用 Go 编译二进制文件
405
+
406
+ **编译单平台二进制**
407
+
408
+ ```bash
409
+ # macOS (Intel)
410
+ GOOS=darwin GOARCH=amd64 go build -o bin/soke-cli-darwin-amd64 main.go
411
+
412
+ # macOS (Apple Silicon)
413
+ GOOS=darwin GOARCH=arm64 go build -o bin/soke-cli-darwin-arm64 main.go
414
+
415
+ # Linux
416
+ GOOS=linux GOARCH=amd64 go build -o bin/soke-cli-linux-amd64 main.go
417
+
418
+ # Windows
419
+ GOOS=windows GOARCH=amd64 go build -o bin/soke-cli-windows-amd64.exe main.go
420
+ ```
421
+
422
+ **一键编译所有平台**
423
+
424
+ ```bash
425
+ # 使用编译脚本
426
+ bash ./scripts/build-binaries.sh
427
+
428
+ # 编译结果在 bin/ 目录下
429
+ ls -lh bin/
430
+ ```
431
+
432
+ **编译优化选项**
433
+
434
+ ```bash
435
+ # 减小二进制文件大小
436
+ go build -ldflags="-s -w" -o soke-cli main.go
437
+
438
+ # 添加版本信息
439
+ VERSION=$(git describe --tags --always)
440
+ go build -ldflags="-X main.Version=$VERSION" -o soke-cli main.go
441
+ ```
442
+
443
+ #### 5️⃣ 发布到 NPM 和 GitHub
444
+
445
+ **准备工作**
446
+
447
+ ```bash
448
+ # 1. 确保已登录 NPM
449
+ npm login
450
+
451
+ # 2. 确保已登录 GitHub CLI
452
+ gh auth login
453
+
454
+ # 3. 确保代码已提交
455
+ git add .
456
+ git commit -m "feat: 添加新模块"
457
+ git push
458
+ ```
459
+
460
+ **发布流程**
461
+
462
+ **方法一:一键发布(推荐)**
463
+
464
+ ```bash
465
+ # 1. 更新版本号
466
+ npm version patch # 1.0.0 -> 1.0.1
467
+ # 或
468
+ npm version minor # 1.0.0 -> 1.1.0
469
+ # 或
470
+ npm version major # 1.0.0 -> 2.0.0
471
+
472
+ # 2. 执行一键发布脚本
473
+ bash ./scripts/release.sh
474
+
475
+ # 脚本会自动完成:
476
+ # - 编译所有平台二进制文件
477
+ # - 创建 Git 标签
478
+ # - 推送标签到 GitHub
479
+ # - 创建 GitHub Release 并上传二进制文件
480
+ # - 发布到 NPM
481
+ ```
482
+
483
+ **方法二:手动发布**
153
484
 
154
- - `cmd/`: 存放所有 CLI 子命令的定义(按业务模块划分,如 `auth`, `course`, `exam` 等)。
155
- - `internal/`: 存放核心逻辑,包括认证 (`auth`)、API 客户端封装 (`client`)、配置管理 (`core`) 以及输出格式化 (`output`) 等。
156
- - `shortcuts/`: 定义了各个业务模块的快捷命令元数据(API路径、参数、默认值等),供 `cmd/` 动态注册命令使用。
157
- - `scripts/`: NPM 包相关的安装与运行脚本。
158
- - `main.go`: CLI 的主入口文件。
485
+ ```bash
486
+ # 1. 更新版本号
487
+ npm version patch
488
+
489
+ # 2. 编译所有平台
490
+ bash ./scripts/build-binaries.sh
491
+
492
+ # 3. 创建并推送标签
493
+ VERSION=$(node -p "require('./package.json').version")
494
+ git tag v$VERSION
495
+ git push origin v$VERSION
496
+
497
+ # 4. 创建 GitHub Release
498
+ gh release create v$VERSION \
499
+ bin/soke-cli-darwin-amd64 \
500
+ bin/soke-cli-darwin-arm64 \
501
+ bin/soke-cli-linux-amd64 \
502
+ bin/soke-cli-windows-amd64.exe \
503
+ --title "v$VERSION" \
504
+ --notes "Release v$VERSION"
505
+
506
+ # 5. 发布到 NPM
507
+ npm publish --access public
508
+
509
+ # 6. 验证发布
510
+ npm view @sokeai/cli version
511
+ ```
159
512
 
160
- ## 开发与贡献
513
+ **发布后验证**
161
514
 
162
- ### 快速开始本地测试
515
+ ```bash
516
+ # 1. 测试 NPM 安装
517
+ npm install -g @sokeai/cli@latest
518
+
519
+ # 2. 验证版本
520
+ soke-cli --version
521
+
522
+ # 3. 测试命令
523
+ soke-cli your-module +list-items --help
524
+
525
+ # 4. 测试 Skills 安装
526
+ npx skills add liuchenlong1111/soke-cli -y -g
527
+
528
+ # 5. 在 AI Agent 中测试
529
+ # 打开 Claude Code,输入:"查询所有项目"
530
+ ```
531
+
532
+ ### 本地开发测试
533
+
534
+ **🚀 快速测试流程(推荐)**
163
535
 
164
536
  ```bash
165
- # 1. 编译、安装到全局、运行测试(一条命令)
537
+ # 1. 一键测试:编译、安装到全局、运行测试(一条命令)
166
538
  bash ./scripts/local-test.sh
167
539
  # 提示时输入 'y' 更新全局安装
168
540
 
@@ -176,51 +548,72 @@ bash ./scripts/link-skills.sh
176
548
 
177
549
  **📖 详细指南:** [docs/LOCAL_TESTING.md](docs/LOCAL_TESTING.md)
178
550
 
179
- ### 本地开发测试
551
+ **完整开发流程**
552
+
553
+ ```bash
554
+ # 1. 修改代码后,运行本地测试(会提示是否更新全局安装)
555
+ bash ./scripts/local-test.sh
556
+
557
+ # 2. 运行完整 E2E 测试
558
+ bash ./scripts/e2e-test.sh
559
+
560
+ # 3. 测试 Skills(需要先更新全局安装)
561
+ npx skills add liuchenlong1111/soke-cli -y -g
562
+
563
+ # 4. 在 AI Agent 中测试自然语言交互
564
+ # 例如:"查询张三的学习档案"
565
+ ```
566
+
567
+ **运行完整 E2E 测试**
568
+
569
+ ```bash
570
+ # 测试所有模块
571
+ bash ./scripts/e2e-test.sh
572
+
573
+ # 测试特定模块
574
+ bash ./scripts/e2e-test.sh learning-profile
575
+ bash ./scripts/e2e-test.sh contact
576
+ ```
577
+
578
+ ## 项目结构
579
+
580
+ ```
581
+ soke-cli/
582
+ ├── cmd/ # CLI 子命令定义(按业务模块划分)
583
+ │ ├── root.go # 根命令和命令注册
584
+ │ ├── auth/ # 认证相关命令
585
+ │ ├── config/ # 配置管理命令
586
+ │ ├── api/ # 通用 API 调用命令
587
+ │ └── your_module/ # 你的业务模块命令
588
+ ├── internal/ # 核心逻辑(不对外暴露)
589
+ │ ├── auth/ # 认证逻辑(OAuth Device Flow)
590
+ │ ├── client/ # API 客户端封装
591
+ │ ├── core/ # 配置管理
592
+ │ └── output/ # 输出格式化
593
+ ├── shortcuts/ # 业务模块快捷命令元数据定义
594
+ │ └── your-module/ # 各模块的 API 路径、参数、默认值等
595
+ ├── skills/ # AI Agent Skills 定义
596
+ │ ├── README.md # Skills 使用说明
597
+ │ └── your-module/ # 各模块的 Skill 文档
598
+ │ └── SKILL.md
599
+ ├── scripts/ # 构建和发布脚本
600
+ │ ├── install.js # NPM 安装时下载二进制文件
601
+ │ ├── run.js # NPM 运行时入口
602
+ │ ├── build-binaries.sh # 编译所有平台二进制
603
+ │ ├── release.sh # 一键发布脚本
604
+ │ ├── local-test.sh # 本地测试脚本
605
+ │ └── link-skills.sh # 链接 Skills 到 AI Agent
606
+ ├── main.go # CLI 主入口
607
+ ├── go.mod # Go 依赖管理
608
+ ├── package.json # NPM 包配置
609
+ ├── Makefile # 编译和安装脚本
610
+ └── README.md # 项目说明文档
611
+ ```
612
+
613
+ ## 相关文档
180
614
 
181
- 1. **一键测试和安装**
182
- ```bash
183
- # 编译 -> 安装到全局 -> 运行测试(一条命令完成所有步骤)
184
- bash ./scripts/local-test.sh
185
- ```
186
-
187
- 这个脚本会:
188
- - 编译项目
189
- - 检查本地版本功能
190
- - 检测全局安装状态
191
- - 提示是否需要更新全局安装(会自动备份)
192
- - 运行功能测试验证
193
-
194
- 2. **运行完整 E2E 测试**
195
- ```bash
196
- # 测试所有模块
197
- bash ./scripts/e2e-test.sh
198
-
199
- # 测试特定模块
200
- bash ./scripts/e2e-test.sh learning-profile
201
- bash ./scripts/e2e-test.sh contact
202
- ```
203
-
204
- 3. **依赖管理**
205
-
206
- 项目使用 Go Modules,可以运行 `go mod tidy` 整理依赖。
207
-
208
- 4. **添加新命令**
209
- - 业务接口建议在 `shortcuts/` 目录下添加对应的结构定义。
210
- - 基础功能可在 `cmd/` 下新建对应包并在 `cmd/root.go` 中注册。
211
- - 为新模块创建 Skill 文档:`skills/<module-name>/SKILL.md`
212
-
213
- 5. **完整开发流程**
214
- ```bash
215
- # 1. 修改代码后,运行本地测试(会提示是否更新全局安装)
216
- bash ./scripts/local-test.sh
217
-
218
- # 2. 运行完整 E2E 测试
219
- bash ./scripts/e2e-test.sh
220
-
221
- # 3. 测试 Skills(需要先更新全局安装)
222
- npx skills add liuchenlong1111/soke-cli -y -g
223
-
224
- # 4. 在 AI Agent 中测试自然语言交互
225
- # 例如:"查询张三的学习档案"
226
- ```
615
+ - **[QUICKSTART.md](QUICKSTART.md)** - 快速开始指南
616
+ - **[CLAUDE.md](CLAUDE.md)** - 项目架构和开发规范
617
+ - **[docs/LOCAL_TESTING.md](docs/LOCAL_TESTING.md)** - 本地测试详细指南
618
+ - **[skills/README.md](skills/README.md)** - AI Agent Skills 使用说明
619
+ - **[npm.md](npm.md)** - NPM 包发布详细文档
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sokeai/cli",
3
- "version": "1.0.23",
3
+ "version": "1.0.26",
4
4
  "description": "授客AI官方CLI工具 - 支持AI Agent Skills",
5
5
  "bin": {
6
6
  "soke-cli": "scripts/run.js"
@@ -107,7 +107,65 @@ else
107
107
  fi
108
108
  echo ""
109
109
 
110
- # 步骤4: 运行测试
110
+ # 步骤3.5: 分发 Skills 到本地 Agent
111
+ echo -e "${YELLOW}[3.5/4] 分发 Skills 到本地 Agent...${NC}"
112
+ if [ "$SKIP_GLOBAL" = false ]; then
113
+ echo -e " 执行 scripts/install.js 同步 Skills..."
114
+ # 注入特殊环境变量或者直接调用 node 执行
115
+ # 我们只想要触发 syncSkillsToSokeclawWorkspace 和 syncSkillsToWorkclawRegistry
116
+ # 但原 install.js 会尝试下载二进制文件,所以我们新建一个临时脚本或修改调用方式
117
+
118
+ # 为了安全起见,这里直接使用 node 运行一小段脚本引入 install.js 中的逻辑
119
+ cat > ./scripts/sync-skills-local.js << 'EOF'
120
+ const fs = require('fs');
121
+ const path = require('path');
122
+ const installCode = fs.readFileSync(path.join(__dirname, 'install.js'), 'utf8');
123
+
124
+ // 提取需要的函数
125
+ const syncFn1Match = installCode.match(/function syncSkillsToSokeclawWorkspace\(\) \{[\s\S]*?\n\}/);
126
+ const syncFn2Match = installCode.match(/function syncSkillsToWorkclawRegistry\(\) \{[\s\S]*?\n\}/);
127
+
128
+ // 我们更推荐直接利用已经写好的 js 模块(如果它是通过 module.exports 导出的)
129
+ // 但因为 install.js 是直接执行的脚本,我们通过简单的 node 脚本手动拷贝
130
+ const os = require('os');
131
+ function copyDirRecursive(srcDir, destDir) {
132
+ if (!fs.existsSync(srcDir)) return;
133
+ if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });
134
+ const entries = fs.readdirSync(srcDir, { withFileTypes: true });
135
+ for (const entry of entries) {
136
+ const srcPath = path.join(srcDir, entry.name);
137
+ const destPath = path.join(destDir, entry.name);
138
+ if (entry.isDirectory()) { copyDirRecursive(srcPath, destPath); continue; }
139
+ fs.copyFileSync(srcPath, destPath);
140
+ }
141
+ }
142
+
143
+ const homeDir = os.homedir();
144
+ const defaultSokeclawDir = path.join(homeDir, '.sokeclaw', 'openai-agents', 'workspaces', 'main', 'skills');
145
+ const packageRoot = path.join(__dirname, '..');
146
+ const packagedSkillsDir = path.join(packageRoot, 'skills');
147
+
148
+ if (fs.existsSync(packagedSkillsDir)) {
149
+ const skillNames = fs.readdirSync(packagedSkillsDir).filter(n => n.startsWith('soke-'));
150
+ if (fs.existsSync(defaultSokeclawDir)) {
151
+ for (const skillName of skillNames) {
152
+ const src = path.join(packagedSkillsDir, skillName);
153
+ const dest = path.join(defaultSokeclawDir, skillName);
154
+ copyDirRecursive(src, dest);
155
+ console.log(` ✓ 同步 ${skillName} 到 ${dest}`);
156
+ }
157
+ }
158
+ }
159
+ EOF
160
+ node ./scripts/sync-skills-local.js
161
+ rm ./scripts/sync-skills-local.js
162
+ echo -e "${GREEN} ✓ Skills 同步完成${NC}"
163
+ else
164
+ echo -e "${YELLOW} 跳过全局安装,同时跳过 Skills 同步${NC}"
165
+ fi
166
+ echo ""
167
+
168
+ # 步骤4: 运行功能测试
111
169
  echo -e "${YELLOW}[4/4] 运行功能测试...${NC}"
112
170
 
113
171
  # 测试本地版本
@@ -164,15 +222,4 @@ echo ""
164
222
  echo -e "${GREEN}========================================${NC}"
165
223
  echo -e "${GREEN} 本地测试完成! ✓${NC}"
166
224
  echo -e "${GREEN}========================================${NC}"
167
- echo ""
168
- echo -e "${BLUE}下一步:${NC}"
169
- if [ "$SKIP_GLOBAL" = true ]; then
170
- echo -e " ${YELLOW}提示: 未更新全局安装,Skills 可能无法使用新功能${NC}"
171
- echo -e " ${YELLOW}如需测试 Skills,请重新运行此脚本并选择更新全局安装${NC}"
172
- echo ""
173
- fi
174
- echo -e " 1. 运行完整测试: ${BLUE}bash ./scripts/e2e-test.sh${NC}"
175
- echo -e " 2. 测试 Skills: ${BLUE}npx skills add liuchenlong1111/soke-cli -y -g${NC}"
176
- echo -e " 3. 在 AI Agent 中测试: ${BLUE}\"查询张三的学习档案\"${NC}"
177
- echo ""
178
225
 
package/scripts/push.sh CHANGED
@@ -236,13 +236,3 @@ fi
236
236
 
237
237
  echo " - Aliyun (origin): master 分支已更新"
238
238
  echo " - GitHub (github): master 和 main 分支已更新"
239
-
240
- if [[ "$IS_RELEASE" == true ]]; then
241
- echo ""
242
- print_highlight "📦 下一步操作:"
243
- echo " 1. 编译二进制文件: make build"
244
- echo " 2. 发布到 NPM: npm publish"
245
- echo " 3. 创建 GitHub Release (可选)"
246
- fi
247
-
248
- echo ""