@qfeius/everyline-cli 0.1.3 → 0.1.4

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
@@ -6,11 +6,11 @@ EveryLine 命令行工具,支持合同审查工作流、审查清单和审查
6
6
 
7
7
  ## 安装
8
8
 
9
- npm 包名为 `@qfeius/everyline-cli`,终端命令仍为 `everyline-cli`。 本地交付统一使用 `make package`,每次自动递增补丁版本,并同步 CLI 与三项 Skill 后生成安装包。发布到 npm 前使用 `.tgz` 安装;发布配置与操作见 [npm 发布指南](docs/npm-release.md)。
9
+ npm 包名为 `@qfeius/everyline-cli`,终端命令仍为 `everyline-cli`。 本地交付统一使用 `make package`,每次自动递增补丁版本,并同步 CLI 与两项 Skill 后生成安装包。发布到 npm 前使用 `.tgz` 安装;发布配置与操作见 [npm 发布指南](docs/npm-release.md)。
10
10
 
11
- npm 全局安装会同步登记 Codex 和 WorkBuddy 的三项 Skill。切换 Node/npm 安装目录时,安装器会校验旧链接所属的 EveryLine 包并更新链接,保留已有授权状态;迁移中途失败会尝试恢复原链接。用户自建目录或其他来源的同名 Skill 会保留并提示冲突。需要手动备份时,请放在 Skill 扫描目录之外,避免仅添加 `.bak` 后缀后仍被作为同名 Skill 加载。
11
+ npm 全局安装会同步登记 Codex 和 WorkBuddy 的两项 Skill。切换 Node/npm 安装目录时,安装器会校验旧链接所属的 EveryLine 包并更新链接,保留已有授权状态;迁移中途失败会尝试恢复原链接。用户自建目录或其他来源的同名 Skill 会保留并提示冲突。需要手动备份时,请放在 Skill 扫描目录之外,避免仅添加 `.bak` 后缀后仍被作为同名 Skill 加载。
12
12
 
13
- 豆包工作本地技能也随 npm 全局安装同步。macOS 自动识别已存在的 `~/Library/Application Support/DoubaoWork/Default/.doubaowork/agent_mode/workspace/.user_skills`;其他平台或自定义工作区通过 `EVERYLINE_DOUBAO_SKILLS_DIR` 指定实际技能根目录。安装器比较三项技能的完整内容,同版本重新打包也会更新引用文件,旧副本留在扫描目录外,失败时回滚。同步后返回 `skills_updated / reload_skills`,Agent 应重新读取技能或新建任务;仅更新文件不会改写历史对话。`EVERYLINE_SKIP_DOUBAO_SKILL_INSTALL=1` 可单独跳过豆包。
13
+ 豆包工作本地技能也随 npm 全局安装同步。macOS 自动识别已存在的 `~/Library/Application Support/DoubaoWork/Default/.doubaowork/agent_mode/workspace/.user_skills`;其他平台或自定义工作区通过 `EVERYLINE_DOUBAO_SKILLS_DIR` 指定实际技能根目录。安装器比较两项技能的完整内容,同版本重新打包也会更新引用文件,旧副本留在扫描目录外,失败时回滚。同步后返回 `skills_updated / reload_skills`,Agent 应重新读取技能或新建任务;仅更新文件不会改写历史对话。`EVERYLINE_SKIP_DOUBAO_SKILL_INSTALL=1` 可单独跳过豆包。
14
14
 
15
15
  ### 本地构建
16
16
 
@@ -123,9 +123,9 @@ app-id 的来源优先级为:--app-id > Profile 专用环境变量 > EVERYLINE
123
123
 
124
124
  ## Codex/Agent 最佳实践
125
125
 
126
- 仓库和 npm 发布包包含三项职责分离的交互式 Skill:`everyline-cli` 负责首次配置、身份和授权,`everyline-review` 负责单份合同审查,`everyline-review-config` 负责清单、规则和规则分组。三项 Skill 共用当前 CLI 的实时帮助和结构化输出约束;原 `everyline-shared` 已合并到 `everyline-cli`。
126
+ 仓库和 npm 发布包包含两项职责分离的交互式 Skill:`everyline-review` 负责首次配置、身份授权和单份合同审查,`everyline-review-config` 负责清单、规则和规则分组。两项 Skill 共用当前 CLI 的实时帮助和结构化输出约束;公共接入与授权已合并到 `everyline-review`。
127
127
 
128
- 全局安装 npm 包时,`postinstall` 会把三项 Skill 同步登记到 Codex 的 `$HOME/.agents/skills`、WorkBuddy 的 `$HOME/.workbuddy/skills`,并同步已发现或显式指定的豆包本地技能目录。首次安装建立授权门禁:旧 token 保留,但必须完成一次新的 user/app 授权后才能调用审查、清单或规则业务命令。项目局部安装和 `npx` 临时执行不登记用户级 Skill;豆包云端导入路径仍使用 `make skill-assets` 生成的三个独立 ZIP。Skill 不修改或替代 CLI 接口。
128
+ 全局安装 npm 包时,`postinstall` 会把两项 Skill 同步登记到 Codex 的 `$HOME/.agents/skills`、WorkBuddy 的 `$HOME/.workbuddy/skills`,并同步已发现或显式指定的豆包本地技能目录。首次安装建立授权门禁:旧 token 保留,但必须完成一次新的 user/app 授权后才能调用审查、清单或规则业务命令。项目局部安装和 `npx` 临时执行不登记用户级 Skill;豆包云端导入路径仍使用 `make skill-assets` 生成的两个独立 ZIP。Skill 不修改或替代 CLI 接口。
129
129
 
130
130
  首次安装使用 `npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli @qfeius/everyline-cli@latest`,让安装器提示可见。Codex、WorkBuddy 和豆包均需在确认 CLI 与 Skill 就绪后,由 Agent 在回复正文展示统一安装完成文案;豆包静态 ZIP 导入在导入后首次运行时完成这一检查和提示。
131
131
 
@@ -265,7 +265,7 @@ CLI 已移除 --app-type 参数;文件上传也不再接受 --business-id。
265
265
 
266
266
  ## 自更新
267
267
 
268
- CLI 与三项本地 Skill 支持两种更新来源:用户提供的 `.tgz`,或官方 npm 的最新版。两者都由 npm 安装器完成同步,保留原安装 prefix 和账号配置。
268
+ CLI 与两项本地 Skill 支持两种更新来源:用户提供的 `.tgz`,或官方 npm 的最新版。两者都由 npm 安装器完成同步,保留原安装 prefix 和账号配置。
269
269
 
270
270
  ```bash
271
271
  # 使用指定包,无需先发布到 npm;将路径替换为实际文件。
@@ -275,7 +275,7 @@ npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli ./ever
275
275
  npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli @qfeius/everyline-cli@latest --registry https://registry.npmjs.org
276
276
  ```
277
277
 
278
- 指定 tgz 时不因版本相同或 npm 查询失败跳过安装。更新后核对 CLI 与三项 Skill,重新读取或新建任务加载;豆包云端手动导入的 Skill 仍需在平台重新导入。详见 [更新与卸载](docs/everyline-cli-skill-guide.md#10-更新与卸载)。`everyline-cli update` 本身仍用于下述独立二进制 manifest 更新。
278
+ 指定 tgz 时不因版本相同或 npm 查询失败跳过安装。更新后核对 CLI 与两项 Skill,重新读取或新建任务加载;豆包云端手动导入的 Skill 仍需在平台重新导入。详见 [更新与卸载](docs/everyline-cli-skill-guide.md#10-更新与卸载)。`everyline-cli update` 本身仍用于下述独立二进制 manifest 更新。
279
279
 
280
280
 
281
281
  `everyline-cli version` 输出 `latestVersion/isLatest/updateRequired/updateCommand`;检查失败时 `isLatest=null`,且不会把未知状态当成需要更新。普通 review/checklist/rule 命令确认存在新版本时,在 stderr 输出 `UPDATE_PENDING` 单行 JSON,但继续完成当前业务 API。Agent 在当前完整业务流程结束后执行其中的 `updateCommand`,下一条新业务再使用新版 CLI 与 Skill。
@@ -293,7 +293,7 @@ everyline-cli update \
293
293
 
294
294
  manifest 需要声明版本、当前平台的制品 URL 和 SHA-256。CLI 只有在新版本、平台匹配且摘要校验通过时才替换二进制;下载失败或校验失败会保留原文件。Windows 需要延后替换时返回 `updated=false, scheduled=true`,独立 helper 的最终结果写入 stderr。通过 npm/npx 薄包装启动时不会修改包内二进制,请使用 npm 更新包。
295
295
 
296
- CLI 和三项 Skill 来自同一个 npm 包。npm 更新成功后,Codex 与 WorkBuddy 的现有目录链接直接使用新版 Skill,已发现或显式配置的豆包本地技能目录同步完整内容。版本门禁以统一包版本为检测信号,因此每次 Skill 发布(包括纯文案调整)都必须提升 `package.json` 版本、发布同版本 npm 包并更新远端 manifest;只替换 ZIP 而不提升统一版本不会触发本地强制更新。主动重装 npm 包时,豆包同步仍会比较内容;豆包云端导入版按平台发布流程上传新 ZIP。
296
+ CLI 和两项 Skill 来自同一个 npm 包。npm 更新成功后,Codex 与 WorkBuddy 的现有目录链接直接使用新版 Skill,已发现或显式配置的豆包本地技能目录同步完整内容。版本门禁以统一包版本为检测信号,因此每次 Skill 发布(包括纯文案调整)都必须提升 `package.json` 版本、发布同版本 npm 包并更新远端 manifest;只替换 ZIP 而不提升统一版本不会触发本地强制更新。主动重装 npm 包时,豆包同步仍会比较内容;豆包云端导入版按平台发布流程上传新 ZIP。
297
297
 
298
298
  manifest 示例:
299
299
 
@@ -342,4 +342,4 @@ everyline-cli completion zsh
342
342
 
343
343
  npm 安装版通过 `everyline-cli version --output json` 查询 npm 官方源的 `latest` 版本,无需配置 manifest。发现新版后,在当前业务流程结束时执行返回的 `updateCommand`,由 npm 安装器同步 CLI 和本地 Skills;检查失败时最新版本状态保持未知。独立二进制安装仍使用 HTTPS manifest。
344
344
 
345
- 三项 Skill 使用 `metadata.version` 标记实际加载版本。`npm pack` / `npm publish` 的 prepack 和 `scripts/build-skill-bundles.sh` 会自动从 `package.json` 同步该版本;发布前仍需以相同版本构建 CLI。每个会话首次使用时展示 Skill、CLI 和 npm 最新安装包版本,发现新版后在当前业务结束时更新;宿主文件已更新而会话仍旧时提示新建任务。
345
+ 两项 Skill 使用 `metadata.version` 标记实际加载版本。`npm pack` / `npm publish` 的 prepack 和 `scripts/build-skill-bundles.sh` 会自动从 `package.json` 同步该版本;发布前仍需以相同版本构建 CLI。每个会话首次使用时展示 Skill、CLI 和 npm 最新安装包版本,发现新版后在当前业务结束时更新;宿主文件已更新而会话仍旧时提示新建任务。
package/bin/checksums.txt CHANGED
@@ -1,6 +1,6 @@
1
- 047f56657da2c179ffda29f0ab3f629347993736b763e338ac5f36585cd442e5 bin/darwin-amd64/everyline-cli
2
- 62dbc113dfae46b27a2c1e3bffaee339c43653477fb91ceb80a60f9b73902e58 bin/darwin-arm64/everyline-cli
3
- 77bd019ce146da784134cc39add984e4c7be1b7f6d33e9768e87792e9fc47d45 bin/linux-amd64/everyline-cli
4
- e845e1171d2dc784e2600eef984f367d318c3e74fc62e50c0a2937b95c1432cc bin/linux-arm64/everyline-cli
5
- d7dfc430e0101c303073de2c93bf3d57c9948d5f09c1295633c5257eb2188c97 bin/windows-amd64/everyline-cli.exe
6
- f3a1584659cbfb529bb210ff29b3a6026adc642c5ffd5d8a863228660bdb0c85 bin/windows-arm64/everyline-cli.exe
1
+ 9dc852a86aea9ae39a8c386c294a9d5fde07ec6a4133187d0fe136d1411df30c bin/darwin-amd64/everyline-cli
2
+ c8d11032ff5779b4c891699ed71c895d2071df3ee6d281860c3571fb74616147 bin/darwin-arm64/everyline-cli
3
+ 9132cacb338ecea9fd2d8d60d10a33c4a1a99839003d2d57c380769fbb78515f bin/linux-amd64/everyline-cli
4
+ 12e239482566e8a73c75d2515ec650aaea3ceef795eba2eae0513c55d4f256bc bin/linux-arm64/everyline-cli
5
+ 14e775a284c4e9fcbe9ce3ca2b98770175bbf62f4d8035bc2bdfca8c401ae74b bin/windows-amd64/everyline-cli.exe
6
+ 23a2122126cd74deffbe59958ef785e0bcd9ae1b9033c7342f012048f0ee5f76 bin/windows-arm64/everyline-cli.exe
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  # EveryLine CLI 交互 Skill 安装与验证(Codex / WorkBuddy / 豆包)
2
2
 
3
- 本文用于安装 `everyline-cli` CLI 及三项配套 Skill,并验证合同审查的多轮对话流程:`everyline-cli` Skill 负责接入与授权,`everyline-review` 负责单份合同审查,`everyline-review-config` 负责清单和规则管理。CLI 继续负责授权、上传、主体提取、查询和写入;全局 npm 安装默认同时登记 Codex 与 WorkBuddy Skills。
3
+ 本文用于安装 `everyline-cli` CLI 及两项配套 Skill,并验证合同审查的多轮对话流程:`everyline-review` 负责接入、授权和单份合同审查,`everyline-review-config` 负责清单和规则管理。CLI 继续负责授权、上传、主体提取、查询和写入;全局 npm 安装默认同时登记 Codex 与 WorkBuddy Skills。
4
4
 
5
5
  需要逐项评审或测试当前 Skill 的全部分支时,请结合 [EveryLine CLI Skill 全量交互场景](everyline-cli-skill-interaction-scenarios.md)。
6
6
 
@@ -10,7 +10,7 @@ Skill 的安装位置和验证入口由 Agent 宿主决定,不要跨宿主复
10
10
  | --- | --- | --- |
11
11
  | Codex | 本地 Skill 目录 | `$HOME/.agents/skills/everyline-{shared,review,review-config}` |
12
12
  | WorkBuddy | 「专家·技能·连接器」或本地 Skill 目录 | `$HOME/.workbuddy/skills/everyline-{shared,review,review-config}` |
13
- | 豆包 | 本地 npm 同步,或技能管理中的 ZIP 导入 | 本地使用已存在的 `workspace/.user_skills`;自定义目录用 `EVERYLINE_DOUBAO_SKILLS_DIR` 指定;云端仍分别导入三个 `*-skill.zip` |
13
+ | 豆包 | 本地 npm 同步,或技能管理中的 ZIP 导入 | 本地使用已存在的 `workspace/.user_skills`;自定义目录用 `EVERYLINE_DOUBAO_SKILLS_DIR` 指定;云端仍分别导入两个 `*-skill.zip` |
14
14
 
15
15
  OpenAI 官方文档将 Skill 定义为包含 `SKILL.md` 及可选 references、scripts、assets 的目录。Codex 支持显式 `$skill-name` 调用和按 description 自动触发,并扫描用户级 `$HOME/.agents/skills`。详见 [OpenAI Build skills](https://learn.chatgpt.com/docs/build-skills)。WorkBuddy 使用自己的 `$HOME/.workbuddy/skills`,可参考 [WorkBuddy 技能系统说明](https://cloud.tencent.com/developer/article/2693324);豆包电脑版当前通过界面上传本地 Skill,可参考 [豆包工作任务自定义 Skill 说明](https://www.beating.news/flash/362784),最终入口以客户端实际展示为准。
16
16
 
@@ -30,7 +30,7 @@ CLI 和 Skill 应来自同一个发布版本。每次 Skill 发布(包括纯
30
30
 
31
31
  ## 2. 全局安装包同步 CLI、Codex、WorkBuddy 和豆包本地 Skills
32
32
 
33
- 全局安装 `everyline-cli` npm 包时,`postinstall` 会校验原生 CLI,并把三项 Skill 分别链接到 `$HOME/.agents/skills` 和 `$HOME/.workbuddy/skills`:
33
+ 全局安装 `everyline-cli` npm 包时,`postinstall` 会校验原生 CLI,并把两项 Skill 分别链接到 `$HOME/.agents/skills` 和 `$HOME/.workbuddy/skills`:
34
34
 
35
35
  - 只有全局安装登记用户级 Skill;项目局部安装和 `npx` 临时执行不写入用户 Skill 目录。
36
36
  - 已存在并指向同一 npm 包的 Skill 链接会直接复用,重复安装不会嵌套目录。
@@ -68,12 +68,12 @@ everyline-cli version --output json
68
68
  everyline-cli --help
69
69
  ```
70
70
 
71
- 预期结果:命令可以执行,版本与待验证版本一致,stdout 返回 JSON 版本信息。首次安装时还应包含 `firstInstall=true`、`authorizationRequired=true` 和 `nextAction=authorize`,随后必须通过 `everyline-cli` Skill 完成一次新的 user 或 app 授权。
71
+ 预期结果:命令可以执行,版本与待验证版本一致,stdout 返回 JSON 版本信息。首次安装时还应包含 `firstInstall=true`、`authorizationRequired=true` 和 `nextAction=authorize`,随后必须通过 `everyline-review` Skill 完成一次新的 user 或 app 授权。
72
72
 
73
73
  同时检查 Codex 与 WorkBuddy Skills:
74
74
 
75
75
  ```bash
76
- for skill_name in everyline-cli everyline-review everyline-review-config; do
76
+ for skill_name in everyline-review everyline-review-config; do
77
77
  test -f "$HOME/.agents/skills/$skill_name/SKILL.md"
78
78
  test -f "$HOME/.workbuddy/skills/$skill_name/SKILL.md"
79
79
  done
@@ -81,15 +81,14 @@ done
81
81
 
82
82
  ## 3. 按宿主安装 Skill
83
83
 
84
- npm 包内的三项 Skill 位于:
84
+ npm 包内的两项 Skill 位于:
85
85
 
86
86
  ```text
87
- <npm-global-root>/everyline-cli/skills/everyline-cli/
88
- <npm-global-root>/everyline-cli/skills/everyline-review/
89
- <npm-global-root>/everyline-cli/skills/everyline-review-config/
87
+ <npm-global-root>/@qfeius/everyline-cli/skills/everyline-review/
88
+ <npm-global-root>/@qfeius/everyline-cli/skills/everyline-review-config/
90
89
  ```
91
90
 
92
- 全局 npm 安装会自动登记 Codex、WorkBuddy,同步已发现或显式配置的豆包本地技能目录,并建立首次安装门禁。豆包云端独立 ZIP 的静态导入不执行 npm 安装脚本。三个宿主都在确认 CLI 可执行、三项 Skill 可读取或启用后,由 Agent 在回复正文展示首次安装提示;终端日志或 JSON 事件不代替面向用户的回复。安装过程不创建 Profile、不直接发起远端授权或业务请求,展示后等待用户确认开始授权,再选择身份、匹配或创建 Profile 并执行对应授权流程。
91
+ 全局 npm 安装会自动登记 Codex、WorkBuddy,同步已发现或显式配置的豆包本地技能目录,并建立首次安装门禁。豆包云端独立 ZIP 的静态导入不执行 npm 安装脚本。三个宿主都在确认 CLI 可执行、两项 Skill 可读取或启用后,由 Agent 在回复正文展示首次安装提示;终端日志或 JSON 事件不代替面向用户的回复。安装过程不创建 Profile、不直接发起远端授权或业务请求,展示后等待用户确认开始授权,再选择身份、匹配或创建 Profile 并执行对应授权流程。
93
92
 
94
93
  全局 npm 安装路径在本次安装任务完成时展示;豆包 ZIP 导入路径在首次运行 Skill 并确认当前任务中 CLI 可用时展示。豆包、WorkBuddy 界面导入或手工安装路径,按已确认的首次导入/安装上下文触发,不依赖全局 npm 状态文件;普通新会话不重复介绍,安装失败不展示完成文案。首次安装统一提示:
95
94
 
@@ -110,12 +109,12 @@ export EVERYLINE_NPM_ROOT="$(npm root -g --prefix "$EVERYLINE_NPM_PREFIX")"
110
109
 
111
110
  #### macOS 或 Linux
112
111
 
113
- 正常情况下全局安装已经创建三项链接。跳过生命周期脚本或需要手工修复时执行:
112
+ 正常情况下全局安装已经创建两项链接。跳过生命周期脚本或需要手工修复时执行:
114
113
 
115
114
  ```bash
116
115
  npm_global_root="${EVERYLINE_NPM_ROOT:-$(npm root -g)}"
117
116
  mkdir -p "$HOME/.agents/skills"
118
- for skill_name in everyline-cli everyline-review everyline-review-config; do
117
+ for skill_name in everyline-review everyline-review-config; do
119
118
  skill_source="$npm_global_root/@qfeius/everyline-cli/skills/$skill_name"
120
119
  skill_target="$HOME/.agents/skills/$skill_name"
121
120
  test -f "$skill_source/SKILL.md"
@@ -134,7 +133,7 @@ done
134
133
  $NpmRoot = (npm root -g).Trim()
135
134
  $SkillTargetRoot = Join-Path $HOME ".agents\skills"
136
135
  New-Item -ItemType Directory -Force -Path $SkillTargetRoot | Out-Null
137
- foreach ($SkillName in @("everyline-cli", "everyline-review", "everyline-review-config")) {
136
+ foreach ($SkillName in @("everyline-review", "everyline-review-config")) {
138
137
  $SkillSource = Join-Path $NpmRoot "@qfeius\everyline-cli\skills\$SkillName"
139
138
  $SkillTarget = Join-Path $SkillTargetRoot $SkillName
140
139
  if (-not (Test-Path (Join-Path $SkillSource "SKILL.md"))) {
@@ -158,7 +157,7 @@ Windows 目录联接与 macOS/Linux 符号链接一样,会持续指向 npm 包
158
157
 
159
158
  #### 从源码目录验证
160
159
 
161
- 从源码验证时,把 `skills/everyline-cli/`、`skills/everyline-review/` 和 `skills/everyline-review-config/` 分别复制或链接到:
160
+ 从源码验证时,把 `skills/everyline-review/` 和 `skills/everyline-review-config/` 分别复制或链接到:
162
161
 
163
162
  ```text
164
163
  $HOME/.agents/skills/<同名 Skill>/
@@ -175,7 +174,7 @@ macOS 或 Linux:
175
174
  ```bash
176
175
  npm_global_root="${EVERYLINE_NPM_ROOT:-$(npm root -g)}"
177
176
  mkdir -p "$HOME/.workbuddy/skills"
178
- for skill_name in everyline-cli everyline-review everyline-review-config; do
177
+ for skill_name in everyline-review everyline-review-config; do
179
178
  skill_source="$npm_global_root/@qfeius/everyline-cli/skills/$skill_name"
180
179
  skill_target="$HOME/.workbuddy/skills/$skill_name"
181
180
  test -f "$skill_source/SKILL.md"
@@ -188,7 +187,7 @@ done
188
187
 
189
188
  ### 3.3 豆包电脑版
190
189
 
191
- 豆包工作支持本地普通技能文件夹。npm 全局安装时,macOS 自动发现已存在的 `~/Library/Application Support/DoubaoWork/Default/.doubaowork/agent_mode/workspace/.user_skills`,同步三项完整技能;安装器不替用户创建猜测的宿主路径。其他平台、不同用户配置或远端运行时,应使用当前豆包环境实际提供的目录:
190
+ 豆包工作支持本地普通技能文件夹。npm 全局安装时,macOS 自动发现已存在的 `~/Library/Application Support/DoubaoWork/Default/.doubaowork/agent_mode/workspace/.user_skills`,同步两项完整技能;安装器不替用户创建猜测的宿主路径。其他平台、不同用户配置或远端运行时,应使用当前豆包环境实际提供的目录:
192
191
 
193
192
  ```bash
194
193
  EVERYLINE_DOUBAO_SKILLS_DIR="<豆包实际技能根目录的绝对路径>" npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli <发布包.tgz>
@@ -196,23 +195,22 @@ EVERYLINE_DOUBAO_SKILLS_DIR="<豆包实际技能根目录的绝对路径>" npm i
196
195
 
197
196
  本地同步会比较内容而非只比较版本号,更新 `SKILL.md` 和全部 `references/`;旧目录保留在扫描目录外,出错时回滚本轮各宿主的变更。同名目录未声明对应 EveryLine 技能、含符号链接或特殊文件时,保留原目录并报告冲突。`EVERYLINE_SKIP_DOUBAO_SKILL_INSTALL=1` 跳过豆包,`EVERYLINE_SKIP_SKILL_INSTALL=1` 跳过全部宿主。
198
197
 
199
- 同步事件 `event=skills_updated / host=doubao / nextAction=reload_skills` 表示文件更新成功;Agent 应重新读取 `skills[].target` 下的三项 `SKILL.md`,或新建任务加载。历史对话不自动替换旧内容。云端导入副本尚未接入自动发布;该路径仍使用 ZIP。仓库执行 `make skill-assets` 后生成:
198
+ 同步事件 `event=skills_updated / host=doubao / nextAction=reload_skills` 表示文件更新成功;Agent 应重新读取 `skills[].target` 下的两项 `SKILL.md`,或新建任务加载。历史对话不自动替换旧内容。云端导入副本尚未接入自动发布;该路径仍使用 ZIP。仓库执行 `make skill-assets` 后生成:
200
199
 
201
200
  ```text
202
- dist/everyline-cli-skill.zip
203
201
  dist/everyline-review-skill.zip
204
202
  dist/everyline-review-config-skill.zip
205
203
  ```
206
204
 
207
- 每个 ZIP 根目录都直接包含自己的 `SKILL.md`;审查和配置 ZIP 还包含对应 `references/`。构建过程会清理旧的 `dist/everyline-shared-skill.zip`,避免重复导入公共授权入口。
205
+ 每个 ZIP 根目录都直接包含自己的 `SKILL.md`;审查和配置 ZIP 还包含对应 `references/`。构建过程会清理旧的 `dist/everyline-shared-skill.zip` 和 `dist/everyline-cli-skill.zip`,避免重复导入公共授权入口。
208
206
 
209
207
  在豆包中安装:
210
208
 
211
209
  1. 打开豆包工作任务的「技能·连接器·伙伴 → 我的技能 → 上传技能」。
212
- 2. 依次上传三个 ZIP,确认解析名称分别为 `everyline-cli`、`everyline-review`、`everyline-review-config`。
213
- 3. 启用三项 Skill 并新建任务验证;ZIP 应作为 Skill 导入,不作为普通聊天附件总结。
214
- 4. 远端沙箱准备对应 Linux CLI,并按 `everyline-cli` 公共 Skill 提供 Device Grant 的会话变量;合同通过附件字节流、沙箱内路径或完整 URL 交付。
215
- 5. 首次验证时发送「刚首次导入 EveryLine 的三项 Skill,请验证 CLI 和 Skill 已就绪并展示安装完成提示,先不要发起授权」。CLI 尚未安装时在同一请求中补充安装要求;确认 CLI 可执行后,豆包应在回复正文展示上述统一文案,即使 `version` 没有首次安装字段。
210
+ 2. 依次上传两个 ZIP,确认解析名称分别为 `everyline-review`、`everyline-review-config`。
211
+ 3. 启用两项 Skill 并新建任务验证;ZIP 应作为 Skill 导入,不作为普通聊天附件总结。
212
+ 4. 远端沙箱准备对应 Linux CLI,并按 `everyline-review` 的公共接入流程提供 Device Grant 的会话变量;合同通过附件字节流、沙箱内路径或完整 URL 交付。
213
+ 5. 首次验证时发送「刚首次导入 EveryLine 的两项 Skill,请验证 CLI 和 Skill 已就绪并展示安装完成提示,先不要发起授权」。CLI 尚未安装时在同一请求中补充安装要求;确认 CLI 可执行后,豆包应在回复正文展示上述统一文案,即使 `version` 没有首次安装字段。
216
214
 
217
215
  豆包的 Skill 功能和入口仍在快速更新;本手册以客户端存在“上传技能”为前提。当前客户端只有“对话新建技能”时,应等待或启用本地 Skill 上传入口,避免把 `SKILL.md` 正文复制成缺少 references 的不完整技能。
218
216
 
@@ -226,34 +224,34 @@ dist/everyline-review-config-skill.zip
226
224
  /skills
227
225
  ```
228
226
 
229
- 预期列表中出现 `everyline-cli`、`everyline-review` 和 `everyline-review-config`。
227
+ 预期列表中出现 `everyline-review` 和 `everyline-review-config`。
230
228
 
231
229
  如果目录已经正确但列表尚未刷新,重启 Codex 后再检查。官方文档说明 Codex 支持自动检测 Skill 变化,未出现时可通过重启刷新。
232
230
 
233
231
  先运行一个不上传合同的冒烟验证:
234
232
 
235
233
  ```text
236
- $everyline-cli 使用当前 prod-user Profile 和 user 身份检查 CLI 版本和授权状态,先不要上传合同。
234
+ $everyline-review 使用当前 prod-user Profile 和 user 身份检查 CLI 版本和授权状态,先不要上传合同。
237
235
  ```
238
236
 
239
237
  预期行为:Codex 检查 `everyline-cli` 路径、版本、两条任务命令的帮助信息和授权状态,解析当前 `prod-user` Profile,并在后续调用中固定传入该 Profile 与 user 身份;不要求填写 `businessId`、`fileHash` 等内部字段。
240
238
 
241
239
  ### 4.2 WorkBuddy
242
240
 
243
- 重新打开 WorkBuddy 任务,在「专家·技能·连接器」中确认三项 EveryLine Skill 已启用。先发送:
241
+ 重新打开 WorkBuddy 任务,在「专家·技能·连接器」中确认两项 EveryLine Skill 已启用。先发送:
244
242
 
245
243
  ```text
246
- 使用 everyline-cli 技能,检查 CLI 路径、版本和当前授权状态,先不要上传合同。
244
+ 使用 everyline-review 技能,检查 CLI 路径、版本和当前授权状态,先不要上传合同。
247
245
  ```
248
246
 
249
247
  预期 WorkBuddy 执行真实 CLI 命令并返回结构化检查结果,而不是只复述安装文档。WorkBuddy 中不需要前往 Codex 执行 `/skills`。
250
248
 
251
249
  ### 4.3 豆包电脑版
252
250
 
253
- 在豆包「我的技能」中确认三项 EveryLine Skill 已启用,再新建工作任务并发送:
251
+ 在豆包「我的技能」中确认两项 EveryLine Skill 已启用,再新建工作任务并发送:
254
252
 
255
253
  ```text
256
- 使用 everyline-cli 技能,执行 command -v everyline-cli 和 everyline-cli version --output json;再检查当前授权状态,先不要上传合同。
254
+ 使用 everyline-review 技能,执行 command -v everyline-cli 和 everyline-cli version --output json;再检查当前授权状态,先不要上传合同。
257
255
  ```
258
256
 
259
257
  继续条件:豆包实际返回命令路径和 CLI JSON 版本,不只是描述应该执行哪些命令。找不到命令时,先让豆包本地任务环境包含 npm 全局 bin 或 `$HOME/.local/bin`,然后重新打开任务。
@@ -472,7 +470,7 @@ $everyline-review 使用 prod-user Profile 和 user 身份审查 /absolute/path/
472
470
 
473
471
  | 检查项 | 通过标准 |
474
472
  | --- | --- |
475
- | Skill 发现 | 三个宿主中均出现 `everyline-cli`、`everyline-review`、`everyline-review-config` |
473
+ | Skill 发现 | 三个宿主中均出现 `everyline-review`、`everyline-review-config` |
476
474
  | CLI 发现 | `everyline-cli version --output json` 成功,版本符合预期 |
477
475
  | 调用上下文 | 所有授权和业务命令显式使用同一 `--profile/--as` |
478
476
  | 授权 | `auth status` 返回 `authenticated=true` |
@@ -493,7 +491,7 @@ $everyline-review 使用 prod-user Profile 和 user 身份审查 /absolute/path/
493
491
 
494
492
  ### `/skills` 中缺少拆分后的 EveryLine Skill
495
493
 
496
- - 检查 `$HOME/.agents/skills/everyline-cli/SKILL.md`、`everyline-review/SKILL.md` 和 `everyline-review-config/SKILL.md`。
494
+ - 检查 `$HOME/.agents/skills/everyline-review/SKILL.md` 和 `everyline-review-config/SKILL.md`。
497
495
  - 检查是否误生成同名双层目录。
498
496
  - 重启 Codex 后重新执行 `/skills`。
499
497
 
@@ -505,7 +503,7 @@ $everyline-review 使用 prod-user Profile 和 user 身份审查 /absolute/path/
505
503
 
506
504
  ### 豆包上传技能后只解释文档,没有执行 CLI
507
505
 
508
- - 确认三个 ZIP 都通过上传入口安装成技能,而不是作为普通聊天附件。
506
+ - 确认两个 ZIP 都通过上传入口安装成技能,而不是作为普通聊天附件。
509
507
  - 让豆包实际执行 `command -v everyline-cli` 和 `everyline-cli version --output json`。
510
508
  - 检查沙箱 Linux CLI、命令执行权限、Device Grant 会话变量和 PATH;通过后再上传合同。
511
509
 
@@ -519,7 +517,7 @@ $everyline-review 使用 prod-user Profile 和 user 身份审查 /absolute/path/
519
517
 
520
518
  解析 `version --output json`。`updateRequired=true` 时先记住 `updateCommand`,继续完成当前完整业务流程;CLI 同时会在 stderr 输出 `code=UPDATE_PENDING`、当前版本、最新版本、更新命令和 `updateAfter=current_business_workflow`。全部业务 API 结束并保留结果后原样执行一次更新命令,再次检查版本;下一条新业务重新加载新版 Skill。
521
519
 
522
- CLI 与三项 Skill 更新并校验成功后展示“EveryLine CLI 已更新完成。目前支持合同审查,以及审查清单、规则和规则分组配置。”,复用同次授权中用户已选的身份;尚未选择时先单选 user/app,再对匹配的 Profile 和身份执行一次 `auth status`。只有 `authenticated=true` 时追加“当前已存在生效授权,可直接调用cli能力;”;`authenticated=false` 时追加“使用前需要先完成账号授权,我现在可以为你打开授权页面或生成授权链接。”,已有继续授权请求时直接按已选身份继续,否则等待用户确认。状态查询报错时保留未知状态并报告原始错误,不从 token 文件或安装成功推断授权有效。
520
+ CLI 与两项 Skill 更新并校验成功后展示“EveryLine CLI 已更新完成。目前支持合同审查,以及审查清单、规则和规则分组配置。”,复用同次授权中用户已选的身份;尚未选择时先单选 user/app,再对匹配的 Profile 和身份执行一次 `auth status`。只有 `authenticated=true` 时追加“当前已存在生效授权,可直接调用cli能力;”;`authenticated=false` 时追加“使用前需要先完成账号授权,我现在可以为你打开授权页面或生成授权链接。”,已有继续授权请求时直接按已选身份继续,否则等待用户确认。状态查询报错时保留未知状态并报告原始错误,不从 token 文件或安装成功推断授权有效。
523
521
 
524
522
  ### 提示尚未选择 Profile
525
523
 
@@ -557,7 +555,7 @@ npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli ./ever
557
555
  everyline-cli version --output json
558
556
  ```
559
557
 
560
- 也可以将 tgz 作为工作任务附件提供,然后告诉 Agent:“使用 everyline-cli 技能,按附件 tgz 更新 CLI 和三项 Skill,不从 npm 查询最新版。”即使包版本相同,也按指定包安装并同步可管理的 Skill 内容;无需该包先发布到 npm。
558
+ 也可以将 tgz 作为工作任务附件提供,然后告诉 Agent:“使用 everyline-review 技能,按附件 tgz 更新 CLI 和两项 Skill,不从 npm 查询最新版。”即使包版本相同,也按指定包安装并同步可管理的 Skill 内容;无需该包先发布到 npm。
561
559
 
562
560
  **从 npm 更新到最新版**:
563
561
 
@@ -566,9 +564,9 @@ npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli @qfeiu
566
564
  everyline-cli version --output json
567
565
  ```
568
566
 
569
- 或告诉 Agent:“使用 everyline-cli 技能,从 npm 更新 CLI 和三项 Skill。”此方式要求对应版本已经发布到 npm。两种方式都保留原安装 prefix 和账号配置,并在更新后核对 CLI 与三项 Skill 版本;自定义 prefix 复用下文命令。
567
+ 或告诉 Agent:“使用 everyline-review 技能,从 npm 更新 CLI 和两项 Skill。”此方式要求对应版本已经发布到 npm。两种方式都保留原安装 prefix 和账号配置,并在更新后核对 CLI 与两项 Skill 版本;自定义 prefix 复用下文命令。
570
568
 
571
- Codex、WorkBuddy 和已发现的豆包本地技能目录随 npm 安装同步,更新后新建任务加载。豆包云端手动导入版需重新导入三项 Skill ZIP;客户端提供的附件路径必须能被执行环境读取。
569
+ Codex、WorkBuddy 和已发现的豆包本地技能目录随 npm 安装同步,更新后新建任务加载。豆包云端手动导入版需重新导入两项 Skill ZIP;客户端提供的附件路径必须能被执行环境读取。
572
570
 
573
571
 
574
572
  使用 npm 标准全局目录时更新 CLI:
@@ -592,9 +590,9 @@ $EverylineNpmPrefix = Join-Path $HOME ".local"
592
590
  npm install -g --allow-scripts=@qfeius/everyline-cli --prefix $EverylineNpmPrefix @qfeius/everyline-cli@NEW_RELEASE_VERSION
593
591
  ```
594
592
 
595
- macOS/Linux 使用符号链接、Windows 使用目录联接时,Codex 与 WorkBuddy 的三项 Skill 都指向新 npm 包中的同名目录。已发现或显式配置的豆包本地目录同步完整文件夹,三项技能的引用文件也会更新。云端导入版仍通过 `make skill-assets` 生成并上传三个新 ZIP。
593
+ macOS/Linux 使用符号链接、Windows 使用目录联接时,Codex 与 WorkBuddy 的两项 Skill 都指向新 npm 包中的同名目录。已发现或显式配置的豆包本地目录同步完整文件夹,两项技能的引用文件也会更新。云端导入版仍通过 `make skill-assets` 生成并上传两个新 ZIP。
596
594
 
597
- 豆包更新后应区分“本地文件已同步”和“当前任务已重新加载”。以 `skills_updated` 事件的目标路径核对三项实际文件,再重新读取或新建任务;只查看 npm 包内文件或 CLI 版本不算验证加载成功。未发现豆包目录、云端导入版或内容尚未核实时,应报告仍待更新/验证,使用实际目录重装或通过三个独立 ZIP 更新,外层完整发布 ZIP 和 npm `.tgz` 不作为豆包 Skill 导入包。
595
+ 豆包更新后应区分“本地文件已同步”和“当前任务已重新加载”。以 `skills_updated` 事件的目标路径核对两项实际文件,再重新读取或新建任务;只查看 npm 包内文件或 CLI 版本不算验证加载成功。未发现豆包目录、云端导入版或内容尚未核实时,应报告仍待更新/验证,使用实际目录重装或通过两个独立 ZIP 更新,外层完整发布 ZIP 和 npm `.tgz` 不作为豆包 Skill 导入包。
598
596
 
599
597
  ### 只从某一个宿主移除 Skill
600
598
 
@@ -603,7 +601,7 @@ macOS/Linux 使用符号链接、Windows 使用目录联接时,Codex 与 WorkB
603
601
  Codex 的 macOS/Linux 符号链接:
604
602
 
605
603
  ```bash
606
- for skill_name in everyline-cli everyline-review everyline-review-config; do
604
+ for skill_name in everyline-review everyline-review-config; do
607
605
  unlink "$HOME/.agents/skills/$skill_name"
608
606
  done
609
607
  ```
@@ -611,14 +609,14 @@ done
611
609
  WorkBuddy 的符号链接卸载:
612
610
 
613
611
  ```bash
614
- for skill_name in everyline-cli everyline-review everyline-review-config; do
612
+ for skill_name in everyline-review everyline-review-config; do
615
613
  unlink "$HOME/.workbuddy/skills/$skill_name"
616
614
  done
617
615
  ```
618
616
 
619
- 豆包在「我的技能」中分别移除三项 Skill;不手工删除豆包客户端内部数据目录,也不因此卸载其他宿主仍在使用的 CLI。
617
+ 豆包在「我的技能」中分别移除两项 Skill;不手工删除豆包客户端内部数据目录,也不因此卸载其他宿主仍在使用的 CLI。
620
618
 
621
- Windows 目录联接在确认路径后,分别对两个宿主下的 `everyline-cli`、`everyline-review`、`everyline-review-config` 执行 `Remove-Item`。WorkBuddy 通过界面安装时,也只在其「专家·技能·连接器」中移除对应技能。
619
+ Windows 目录联接在确认路径后,分别对两个宿主下的 `everyline-review`、`everyline-review-config` 执行 `Remove-Item`。WorkBuddy 通过界面安装时,也只在其「专家·技能·连接器」中移除对应技能。
622
620
 
623
621
  ### 全局卸载 CLI 和 npm 包
624
622
 
@@ -1,6 +1,6 @@
1
1
  # EveryLine CLI Skill 全量交互场景
2
2
 
3
- 本文以当前三项 Skill 为行为基线:`skills/everyline-cli/SKILL.md` 负责公共接入与授权,`skills/everyline-review/` 负责单份合同审查,`skills/everyline-review-config/` 负责清单与规则管理。本文梳理已经定义的全部用户交互、分支、停止条件和当前范围外能力,可用于产品评审、验收测试和其他设备上的对话验证。
3
+ 本文以当前两项 Skill 为行为基线:`skills/everyline-review/` 负责公共接入、授权与单份合同审查,`skills/everyline-review-config/` 负责清单与规则管理。本文梳理已经定义的全部用户交互、分支、停止条件和当前范围外能力,可用于产品评审、验收测试和其他设备上的对话验证。
4
4
 
5
5
  ## 1. 场景状态说明
6
6
 
@@ -69,7 +69,7 @@ flowchart TD
69
69
 
70
70
  | ID | 状态 | 用户示例 | Skill 处理 | 结束条件 |
71
71
  | --- | --- | --- | --- | --- |
72
- | ENTRY-01 | 已支持 | `$everyline-cli 帮我审查合同` | 显式加载 Skill,识别为合同审查 | 进入首次使用检查 |
72
+ | ENTRY-01 | 已支持 | `$everyline-review 帮我审查合同` | 显式加载 Skill,识别为合同审查 | 进入首次使用检查 |
73
73
  | ENTRY-02 | 已支持 | `用 EveryLine CLI 看一下这份合同` | description 唯一匹配时隐式加载 | 进入首次使用检查 |
74
74
  | ENTRY-03 | 已支持 | `帮我操作普通智书 contract-cli` | 根据 Skill 边界不接管 | 交由其他能力处理 |
75
75
  | READY-01 | 已支持 | 新会话首次调用 | 执行 `command -v`、`version --output json` 和根帮助;解析首次安装授权字段 | 命令和版本可读取 |
@@ -81,10 +81,10 @@ flowchart TD
81
81
  | READY-07 | 受限 | CLI 未说明清单与内置规则包可组合 | 不假设组合语义,不上传合同 | 停止合同审查 |
82
82
  | READY-08 | 受限 | `review task result --help` 未提供等待最终结果能力 | 不自行模拟任务状态机 | 停止合同审查 |
83
83
  | READY-09 | 已支持 | `firstInstall=true` 且 `authorizationRequired=true` | 展示首次安装引导,先让用户选择身份再匹配 Profile 并进入强制新授权流程;不接受旧 dev token,不调用业务 API | 新授权成功并返回 `authorizationRequired=false` |
84
- | READY-10 | 已支持 | CLI 与三项 Skill 更新成功 | 展示统一更新完成文案,复用同次授权已选身份;尚未选择时先单选,再对匹配的 Profile/身份执行一次 `auth status` | 进入唯一一个授权状态分支 |
84
+ | READY-10 | 已支持 | CLI 与两项 Skill 更新成功 | 展示统一更新完成文案,复用同次授权已选身份;尚未选择时先单选,再对匹配的 Profile/身份执行一次 `auth status` | 进入唯一一个授权状态分支 |
85
85
  | READY-11 | 已支持 | 更新后 `authenticated=false` | 展示“使用前需要先完成账号授权,我现在可以为你打开授权页面或生成授权链接。”;已有继续授权请求时直接继续,否则等待用户确认 | 使用已选身份按宿主进入授权流程 |
86
86
  | READY-12 | 已支持 | 更新后 `authenticated=true` | 提示当前授权生效且可直接调用 CLI | 当前请求结束或进入下一项业务 |
87
- | READY-13 | 已支持 | Codex/WorkBuddy 首次 npm 安装成功,但日志未显示安装器文案 | 检查 `version --output json` 和三项 Skill,按本次安装事实在最终回复正文补齐统一文案 | 用户看到能力介绍及打开授权页面或生成授权链接的提示 |
87
+ | READY-13 | 已支持 | Codex/WorkBuddy 首次 npm 安装成功,但日志未显示安装器文案 | 检查 `version --output json` 和两项 Skill,按本次安装事实在最终回复正文补齐统一文案 | 用户看到能力介绍及打开授权页面或生成授权链接的提示 |
88
88
  | READY-14 | 已支持 | 豆包/WorkBuddy 界面首次导入,`version` 未提供首次安装字段或字段为 false | 依据宿主明确的首次导入上下文或用户首次使用说明,确认 CLI 可用后展示统一文案 | 提示展示一次,等待用户选择身份 |
89
89
  | READY-15 | 已支持 | 同次对话从公共 Skill 进入审查或配置 Skill | 复用公共 Skill 的提示展示记录和已选身份 | 不重复介绍,不丢失原业务目标 |
90
90
 
@@ -306,16 +306,16 @@ flowchart TD
306
306
 
307
307
  以下最小集合可覆盖主要分支:
308
308
 
309
- 1. `$everyline-cli 使用 test-user Profile 和 user 身份检查授权状态,先不要上传文件。`
310
- 2. 在消息中附加一份合同并发送:`$everyline-cli 使用 test-user Profile 和 user 身份审查这个附件;强度中立。`
311
- 3. `$everyline-cli 使用 test-user Profile 和 user 身份审查 /absolute/path/合同.pdf。`
312
- 4. `$everyline-cli 使用 test-user Profile 和 user 身份审查 https://example.test/合同.pdf;使用内置规则包;强度中立。`
313
- 5. `$everyline-cli 列出我可用的自定义审查清单和其中的规则。`
314
- 6. `$everyline-cli 创建一个采购合同审查清单。`
315
- 7. `$everyline-cli 给“采购合同清单”增加“付款条件风险”规则。`
316
- 8. `$everyline-cli 删除“采购合同清单”。`
317
- 9. `$everyline-cli 创建一条付款条件风险规则。`
318
- 10. `$everyline-cli 删除一条仍被清单引用的规则。`
319
- 11. `$everyline-cli 删除包含多条规则的规则分组。`
309
+ 1. `$everyline-review 使用 test-user Profile 和 user 身份检查授权状态,先不要上传文件。`
310
+ 2. 在消息中附加一份合同并发送:`$everyline-review 使用 test-user Profile 和 user 身份审查这个附件;强度中立。`
311
+ 3. `$everyline-review 使用 test-user Profile 和 user 身份审查 /absolute/path/合同.pdf。`
312
+ 4. `$everyline-review 使用 test-user Profile 和 user 身份审查 https://example.test/合同.pdf;使用内置规则包;强度中立。`
313
+ 5. `$everyline-review 列出我可用的自定义审查清单和其中的规则。`
314
+ 6. `$everyline-review 创建一个采购合同审查清单。`
315
+ 7. `$everyline-review 给“采购合同清单”增加“付款条件风险”规则。`
316
+ 8. `$everyline-review 删除“采购合同清单”。`
317
+ 9. `$everyline-review 创建一条付款条件风险规则。`
318
+ 10. `$everyline-review 删除一条仍被清单引用的规则。`
319
+ 11. `$everyline-review 删除包含多条规则的规则分组。`
320
320
 
321
321
  验收时应同时覆盖确认、取消、名称重复、无匹配、授权失败、版本能力缺失、计费异常、发起超时无 task ID、成功无详情链接等分支。
@@ -1,6 +1,6 @@
1
1
  # EveryLine Cli npm 发布
2
2
 
3
- npm 包名为 `@qfeius/everyline-cli`,终端命令和三项 Skill 名称保持不变。公共源固定为 `https://registry.npmjs.org/`。生成 `.tgz`、推送源码与发布 npm 是三个独立步骤,只有发布成功后才能通过包名安装。
3
+ npm 包名为 `@qfeius/everyline-cli`,终端命令和两项 Skill 名称保持不变。公共源固定为 `https://registry.npmjs.org/`。生成 `.tgz`、推送源码与发布 npm 是三个独立步骤,只有发布成功后才能通过包名安装。
4
4
 
5
5
  ## 一次性配置
6
6
 
@@ -13,7 +13,7 @@ Token 权限说明:[npm CI/CD 文档](https://docs.npmjs.com/using-private-pac
13
13
  ## 发布步骤
14
14
 
15
15
  1. 在准备发布的分支更新 `package.json.version`。正式版如 `0.0.8`,预发布版如 `0.0.8-beta.1`。已发布版本不能覆盖。
16
- 2. 执行 `make release-check`。构建脚本会同步三项 Skill 的版本;提交版本及相关改动。
16
+ 2. 执行 `make release-check`。构建脚本会同步两项 Skill 的版本;提交版本及相关改动。
17
17
  3. 创建并推送与包版本完全一致的标签,例如:
18
18
 
19
19
  ```bash
@@ -24,7 +24,7 @@ git push github v0.0.8
24
24
 
25
25
  上例中的版本须替换为本次版本。`github` 为本仓库指向 GitHub 的远端名称。
26
26
 
27
- 标签触发的工作流依次校验版本与 npm 登录、运行测试和安装校验、发布 GitHub 原生二进制制品、上传 npm 安装包和三项 Skill ZIP、发布 npm 包,最后回查 npm 渠道版本。正式版发布到 `latest`;含预发布后缀的版本发布到 `beta`,不覆盖 `latest`。
27
+ 标签触发的工作流依次校验版本与 npm 登录、运行测试和安装校验、发布 GitHub 原生二进制制品、上传 npm 安装包和两项 Skill ZIP、发布 npm 包,最后回查 npm 渠道版本。正式版发布到 `latest`;含预发布后缀的版本发布到 `beta`,不覆盖 `latest`。
28
28
 
29
29
  GitLab 流水线继续负责测试、构建和保存 `.tgz`,不重复发布 npm。
30
30
 
@@ -46,7 +46,7 @@ make package
46
46
  npm install -g --foreground-scripts --allow-scripts=@qfeius/everyline-cli "./dist/everyline-cli-<版本>.tgz"
47
47
  ```
48
48
 
49
- `make package` 每次先将补丁版本递增一位(例如 `0.0.7 → 0.0.8`),再同步三项 Skill、重新构建六个平台的二进制并生成 `.tgz`;不会提交代码、创建 Git 标签或发布到 npm。若当前是预发布版本,按 npm 的 patch 规则转为对应正式版本。文件名中的版本以实际产物为准。日常交付使用 `make package`;`npm pack` 仅用于 CI 已固定版本的发布和内部校验,不自动升版。三个 `*-skill.zip` 是 Skill 导入包,不替代 CLI 安装包。
49
+ `make package` 每次先将补丁版本递增一位(例如 `0.0.7 → 0.0.8`),再同步两项 Skill、重新构建六个平台的二进制并生成 `.tgz`;不会提交代码、创建 Git 标签或发布到 npm。若当前是预发布版本,按 npm 的 patch 规则转为对应正式版本。文件名中的版本以实际产物为准。日常交付使用 `make package`;`npm pack` 仅用于 CI 已固定版本的发布和内部校验,不自动升版。两个 `*-skill.zip` 是 Skill 导入包,不替代 CLI 安装包。
50
50
 
51
51
  ## 从旧包名迁移
52
52
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qfeius/everyline-cli",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "EveryLine CLI 工具的 npm/npx 薄包装",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -18,8 +18,8 @@ const { basename, dirname, join, resolve } = require("node:path");
18
18
  const { resolvePlatformTarget } = require("./platform");
19
19
  const { buildDoubaoSkillPlans, inspectDoubaoSkillRegistration, installDoubaoSkill, finishDoubaoSkill } = require("./doubao-skills");
20
20
 
21
- // skillNames 是同一份 npm 包向 Codex、WorkBuddy 和豆包发布的三项职责分离 Skill。
22
- const skillNames = ["everyline-cli", "everyline-review", "everyline-review-config"];
21
+ // skillNames 是同一份 npm 包向 Codex、WorkBuddy 和豆包发布的两项职责分离 Skill。
22
+ const skillNames = ["everyline-review", "everyline-review-config"];
23
23
  const deprecatedSkillNames = ["everyline-shared"];
24
24
  const installStateSchema = "everyline.install-state.v1";
25
25
  // 安装提示与 Agent 事件共用文案;先说明可协助授权,用户要求登录后再选择 user/app。
@@ -211,7 +211,7 @@ function registerAgentSkill(source, target, platform = process.platform, hostNam
211
211
  }
212
212
 
213
213
  /**
214
- * buildSkillSetPlans 构造一个宿主下三项职责分离 Skill 的无副作用登记计划。
214
+ * buildSkillSetPlans 构造一个宿主下两项职责分离 Skill 的无副作用登记计划。
215
215
  * 入参:packageRoot(string)为 npm 包根目录;skillRoot(string)为宿主 Skill 根目录;hostName(string)为宿主名;hostKey(string)为返回结果分组键。
216
216
  * 返回值:Array<object>,每项包含来源、目标、Skill 名称和宿主分组。
217
217
  */
@@ -235,7 +235,7 @@ function registerCodexSkill(source, target, platform = process.platform) {
235
235
  }
236
236
 
237
237
  /**
238
- * registerSkillSet 将职责分离的三项 EveryLine Skill 登记到一个宿主根目录。
238
+ * registerSkillSet 将职责分离的两项 EveryLine Skill 登记到一个宿主根目录。
239
239
  * 入参:packageRoot(string)为 npm 包根目录;skillRoot(string)为宿主 Skill 根目录;platform(string)为 Node 平台名;hostName(string)为宿主名。
240
240
  * 返回值:Array<object>,每项包含 name、target 和 created/existing/updated 状态。
241
241
  */
@@ -453,7 +453,7 @@ function formatInstallOutput(result) {
453
453
  }
454
454
  }
455
455
  if (result.doubaoSkillReloadRequired) {
456
- lines.push("豆包本地 Skill 已同步;请重新读取三项 SKILL.md,或新建任务加载新版。历史对话不会自动重载。");
456
+ lines.push("豆包本地 Skill 已同步;请重新读取两项 SKILL.md,或新建任务加载新版。历史对话不会自动重载。");
457
457
  lines.push(JSON.stringify({
458
458
  schema: "everyline.skill-event.v1", event: "skills_updated", host: "doubao",
459
459
  reloadRequired: true, nextAction: "reload_skills", skills: result.skills.doubao,
@@ -465,7 +465,7 @@ function formatInstallOutput(result) {
465
465
  event: "updated",
466
466
  authCheckRequired: true,
467
467
  nextAction: "auth_status",
468
- recommendedSkill: "everyline-cli",
468
+ recommendedSkill: "everyline-review",
469
469
  message: updateMessage,
470
470
  authorizationRequiredMessage,
471
471
  authorizedMessage,
@@ -476,7 +476,7 @@ function formatInstallOutput(result) {
476
476
  event: "first_install",
477
477
  authorizationRequired: true,
478
478
  nextAction: "authorize",
479
- recommendedSkill: "everyline-cli",
479
+ recommendedSkill: "everyline-review",
480
480
  message: firstInstallMessage,
481
481
  }));
482
482
  }
@@ -4,7 +4,7 @@ const { join } = require("node:path");
4
4
  const { normalizePackageVersion } = require("./package-version");
5
5
 
6
6
  /**
7
- * syncSkillVersions 将安装包版本写入三项 Skill 的 metadata。
7
+ * syncSkillVersions 将安装包版本写入两项 Skill 的 metadata。
8
8
  * 入参:root string 为包根目录。
9
9
  * 返回值:无;版本或 frontmatter 无效时抛出错误,阻止发布。
10
10
  */
@@ -14,7 +14,7 @@ function syncSkillVersions(root) {
14
14
  throw new Error(`无效发布版本: ${version}`);
15
15
  }
16
16
  // 先验证全部文件再写入,避免其中一项格式异常造成部分同步。
17
- const changes = ["everyline-cli", "everyline-review", "everyline-review-config"].map(name => {
17
+ const changes = ["everyline-review", "everyline-review-config"].map(name => {
18
18
  const path = join(root, "skills", name, "SKILL.md");
19
19
  const source = readFileSync(path, "utf8");
20
20
  const match = source.match(/^---\r?\n([\s\S]*?)\r?\n---/);