helloagents 3.0.12 → 3.0.16-beta.1
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/.claude-plugin/marketplace.json +6 -4
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +182 -35
- package/README_CN.md +184 -37
- package/bootstrap-lite.md +32 -26
- package/bootstrap.md +35 -29
- package/cli.mjs +119 -11
- package/gemini-extension.json +1 -1
- package/install.ps1 +128 -0
- package/install.sh +121 -0
- package/package.json +23 -4
- package/scripts/advisor-state.mjs +36 -63
- package/scripts/capability-registry.mjs +4 -4
- package/scripts/cli-branch.mjs +84 -0
- package/scripts/cli-codex-config.mjs +14 -20
- package/scripts/cli-codex.mjs +32 -38
- package/scripts/cli-doctor-render.mjs +4 -0
- package/scripts/cli-doctor.mjs +40 -30
- package/scripts/cli-host-detect.mjs +0 -1
- package/scripts/cli-hosts.mjs +16 -8
- package/scripts/cli-lifecycle-hosts.mjs +119 -32
- package/scripts/cli-lifecycle.mjs +24 -13
- package/scripts/cli-messages.mjs +34 -16
- package/scripts/cli-runtime-carrier.mjs +15 -0
- package/scripts/cli-runtime-root.mjs +72 -0
- package/scripts/cli-toml.mjs +0 -79
- package/scripts/cli-utils.mjs +30 -4
- package/scripts/closeout-state.mjs +35 -62
- package/scripts/delivery-gate-messages.mjs +70 -0
- package/scripts/delivery-gate.mjs +9 -75
- package/scripts/guard-rules.mjs +42 -42
- package/scripts/guard.mjs +44 -24
- package/scripts/notify-context.mjs +19 -28
- package/scripts/notify-events.mjs +3 -1
- package/scripts/notify-gates.mjs +2 -0
- package/scripts/notify-route.mjs +9 -7
- package/scripts/notify-ui.mjs +42 -32
- package/scripts/notify.mjs +72 -36
- package/scripts/project-storage.mjs +35 -66
- package/scripts/ralph-loop.mjs +36 -31
- package/scripts/replay-state.mjs +31 -128
- package/scripts/review-state.mjs +34 -61
- package/scripts/runtime-artifacts.mjs +95 -0
- package/scripts/runtime-context.mjs +35 -29
- package/scripts/runtime-scope.mjs +313 -0
- package/scripts/session-capsule.mjs +202 -0
- package/scripts/turn-state-cli.mjs +17 -0
- package/scripts/turn-state.mjs +185 -66
- package/scripts/turn-stop-gate.mjs +24 -6
- package/scripts/verify-state.mjs +34 -85
- package/scripts/visual-state.mjs +38 -65
- package/scripts/workflow-core.mjs +3 -3
- package/scripts/workflow-plan-files.mjs +1 -1
- package/scripts/workflow-recommendation.mjs +17 -13
- package/scripts/workflow-state.mjs +5 -5
- package/skills/commands/build/SKILL.md +1 -1
- package/skills/commands/commit/SKILL.md +1 -1
- package/skills/commands/help/SKILL.md +5 -3
- package/skills/commands/loop/SKILL.md +1 -1
- package/skills/commands/plan/SKILL.md +8 -6
- package/skills/commands/prd/SKILL.md +5 -3
- package/skills/commands/verify/SKILL.md +5 -5
- package/skills/hello-debug/SKILL.md +20 -3
- package/skills/hello-review/SKILL.md +2 -2
- package/skills/hello-subagent/SKILL.md +2 -2
- package/skills/hello-test/SKILL.md +6 -2
- package/skills/hello-ui/SKILL.md +7 -7
- package/skills/hello-verify/SKILL.md +10 -7
- package/skills/helloagents/SKILL.md +14 -9
- package/templates/context.md +6 -0
- package/templates/plans/plan.md +3 -0
- package/templates/plans/tasks.md +8 -3
package/README_CN.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**面向 AI 编码 CLI 的工作流层:技能、知识库、交付检查、更安全的配置写入,以及可恢复的执行流程。**
|
|
10
10
|
|
|
11
|
-
[](./package.json)
|
|
12
12
|
[](https://www.npmjs.com/package/helloagents)
|
|
13
13
|
[](./package.json)
|
|
14
14
|
[](./skills)
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
## 目录
|
|
31
31
|
|
|
32
32
|
- [HelloAGENTS 做什么](#helloagents-做什么)
|
|
33
|
-
- [相对 v3.0.
|
|
33
|
+
- [相对 v3.0.15 的真实变化](#相对-v3015-的真实变化)
|
|
34
34
|
- [核心功能](#核心功能)
|
|
35
35
|
- [快速开始](#快速开始)
|
|
36
36
|
- [CLI 管理](#cli-管理)
|
|
@@ -77,13 +77,17 @@ HelloAGENTS 叠加在 Claude Code、Gemini CLI 和 Codex CLI 之上,帮助模
|
|
|
77
77
|
| 完成态模糊 | 自然语言说“完成” | 按状态、证据和验证结果交付 |
|
|
78
78
|
| 配置容易漂移 | CLI 文件可能不一致 | 安装、更新、清理和 doctor 会检查受管文件 |
|
|
79
79
|
|
|
80
|
-
## 相对 v3.0.
|
|
80
|
+
## 相对 v3.0.15 的真实变化
|
|
81
81
|
|
|
82
|
-
下面是当前 `v3.0.
|
|
82
|
+
下面是当前 `v3.0.16` 相对 `v3.0.15 beta` 的主要可见变化:
|
|
83
83
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
84
|
+
- Codex 通知现在同时覆盖 Codex TUI 与 `codex exec` 的完成事件,turn-state 门控、交付检查和完成通知在不同入口下保持一致。
|
|
85
|
+
- Windows 下的 Codex 受管通知命令改用命令 shim,减少直接脚本路径或 shell 解析差异导致的失败。
|
|
86
|
+
- 运行时配置读取会优先复用当前会话缓存,减少重复读取 `~/.helloagents/helloagents.json`,同时保留显式刷新行为。
|
|
87
|
+
- 持久 carrier 文件不再快照用户设置;运行时注入和最终输出格式在执行时解析当前配置。
|
|
88
|
+
- 部分宿主安装成功后,安装追踪更严格,`helloagents update --all` 可以更可靠地保留每个 CLI 的检测模式或追踪模式。
|
|
89
|
+
- UI 规则边界更清晰:共享 UI 基线是最低质量线;在全局模式、已激活项目或显式 UI 工作流中,`hello-ui` 补充具体设计、实现和视觉验收规则。
|
|
90
|
+
- 一键安装脚本新增 `HELLOAGENTS_ACTION=cleanup`,可只清理宿主集成而不卸载包。
|
|
87
91
|
|
|
88
92
|
## 核心功能
|
|
89
93
|
|
|
@@ -109,8 +113,8 @@ HelloAGENTS 内置 14 个 `hello-*` 技能。技能只在当前阶段需要时
|
|
|
109
113
|
| `hello-reflect` | 可复用经验和知识更新 |
|
|
110
114
|
|
|
111
115
|
所有 UI 任务都会先受共享的 UI 质量基线约束。
|
|
112
|
-
|
|
113
|
-
当需要视觉证据时,HelloAGENTS
|
|
116
|
+
在全局模式、已激活项目或明确的 UI 工作流里,`hello-ui` 会在该基线之上补充设计契约执行、设计系统映射与视觉验收。
|
|
117
|
+
当需要视觉证据时,HelloAGENTS 会写入当前会话的 `artifacts/visual.json`。
|
|
114
118
|
|
|
115
119
|
### 2)面向不同工作方式的命令
|
|
116
120
|
|
|
@@ -205,11 +209,13 @@ HelloAGENTS 不把“命令通过”和“任务完成”简单画等号。交
|
|
|
205
209
|
|
|
206
210
|
运行态证据文件包括:
|
|
207
211
|
|
|
208
|
-
- `.helloagents
|
|
209
|
-
- `.helloagents
|
|
210
|
-
- `.helloagents
|
|
211
|
-
- `.helloagents
|
|
212
|
-
- `.helloagents/
|
|
212
|
+
- `.helloagents/sessions/<branch>/<session>/capsule.json`
|
|
213
|
+
- `.helloagents/sessions/<branch>/<session>/events.jsonl`
|
|
214
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/review.json`
|
|
215
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/advisor.json`
|
|
216
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/visual.json`
|
|
217
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/closeout.json`
|
|
218
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/loop-results.tsv`
|
|
213
219
|
|
|
214
220
|
### 7)更安全的安装、更新、清理和诊断
|
|
215
221
|
|
|
@@ -235,7 +241,7 @@ npm install -g helloagents
|
|
|
235
241
|
helloagents-js
|
|
236
242
|
```
|
|
237
243
|
|
|
238
|
-
|
|
244
|
+
默认情况下,`postinstall` 会安装包命令、初始化 `~/.helloagents/helloagents.json`,并把运行时文件同步到 `~/.helloagents/helloagents`。如果希望 npm 在安装或更新后直接部署,设置 `HELLOAGENTS=目标[:模式]`,例如 `HELLOAGENTS=codex:global`。
|
|
239
245
|
|
|
240
246
|
### 2)部署到目标 CLI
|
|
241
247
|
|
|
@@ -250,8 +256,11 @@ helloagents install --all --standby
|
|
|
250
256
|
|
|
251
257
|
```bash
|
|
252
258
|
helloagents --global
|
|
259
|
+
helloagents install --all --global
|
|
253
260
|
```
|
|
254
261
|
|
|
262
|
+
重装、刷新或切换模式后,请重启对应 AI CLI 或新开会话;已运行会话不会自动重载注入规则。
|
|
263
|
+
|
|
255
264
|
### 3)在 AI CLI 里验证
|
|
256
265
|
|
|
257
266
|
输入:
|
|
@@ -288,6 +297,8 @@ helloagents install --all --global
|
|
|
288
297
|
helloagents update codex
|
|
289
298
|
helloagents cleanup claude --global
|
|
290
299
|
helloagents uninstall gemini
|
|
300
|
+
helloagents switch-branch beta
|
|
301
|
+
helloagents switch-branch beta claude --global
|
|
291
302
|
helloagents doctor
|
|
292
303
|
helloagents doctor codex --json
|
|
293
304
|
```
|
|
@@ -301,13 +312,129 @@ helloagents doctor codex --json
|
|
|
301
312
|
|
|
302
313
|
省略 `--standby` 或 `--global` 时,HelloAGENTS 会先复用该 CLI 已记录或检测到的模式,再回退到 `standby`。
|
|
303
314
|
|
|
315
|
+
### npm 和一键脚本入口
|
|
316
|
+
|
|
317
|
+
当你不想依赖更新过程中的 `helloagents` 可执行文件时,用 npm 或一键脚本。`HELLOAGENTS=目标[:模式]` 中,目标支持 `all`、`claude`、`gemini`、`codex`;模式支持 `standby`、`global`,省略时默认 `standby`。
|
|
318
|
+
|
|
319
|
+
宿主配置使用稳定的 `helloagents-js` 入口和运行根目录 `~/.helloagents/helloagents`,Node 全局包路径变化不会破坏受管 hooks 或 Codex `notify`。
|
|
320
|
+
|
|
321
|
+
#### npm 命令
|
|
322
|
+
|
|
323
|
+
macOS / Linux:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
# 安装到 Codex,标准模式
|
|
327
|
+
HELLOAGENTS=codex npm install -g helloagents
|
|
328
|
+
|
|
329
|
+
# 安装到 Codex,全局模式
|
|
330
|
+
HELLOAGENTS=codex:global npm install -g helloagents
|
|
331
|
+
|
|
332
|
+
# 更新并同步 Claude,标准模式
|
|
333
|
+
HELLOAGENTS=claude:standby npm update -g helloagents
|
|
334
|
+
|
|
335
|
+
# 切换到 beta 分支并同步全部 CLI,标准模式
|
|
336
|
+
HELLOAGENTS=all:standby npm install -g github:hellowind777/helloagents#beta
|
|
337
|
+
|
|
338
|
+
# 卸载包前清理 Gemini 集成
|
|
339
|
+
npm explore -g helloagents -- npm run uninstall -- gemini --standby
|
|
340
|
+
npm uninstall -g helloagents
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Windows PowerShell:
|
|
344
|
+
|
|
345
|
+
```powershell
|
|
346
|
+
# 安装到 Codex,标准模式
|
|
347
|
+
$env:HELLOAGENTS="codex"; npm install -g helloagents
|
|
348
|
+
|
|
349
|
+
# 安装到 Codex,全局模式
|
|
350
|
+
$env:HELLOAGENTS="codex:global"; npm install -g helloagents
|
|
351
|
+
|
|
352
|
+
# 更新并同步 Claude,标准模式
|
|
353
|
+
$env:HELLOAGENTS="claude:standby"; npm update -g helloagents
|
|
354
|
+
|
|
355
|
+
# 切换到 beta 分支并同步全部 CLI,标准模式
|
|
356
|
+
$env:HELLOAGENTS="all:standby"; npm install -g github:hellowind777/helloagents#beta
|
|
357
|
+
|
|
358
|
+
# 卸载包前清理 Gemini 集成
|
|
359
|
+
npm explore -g helloagents -- npm run uninstall -- gemini --standby
|
|
360
|
+
npm uninstall -g helloagents
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
包已安装后,也可以直接调用包内 npm scripts:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
npm explore -g helloagents -- npm run deploy:global
|
|
367
|
+
npm explore -g helloagents -- npm run sync-hosts -- --all --standby
|
|
368
|
+
npm explore -g helloagents -- npm run cleanup-hosts -- codex --standby
|
|
369
|
+
npm explore -g helloagents -- npm run uninstall -- --all --standby
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
#### 一键脚本
|
|
373
|
+
|
|
374
|
+
macOS / Linux:
|
|
375
|
+
|
|
376
|
+
```bash
|
|
377
|
+
# 安装
|
|
378
|
+
HELLOAGENTS=codex curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
|
|
379
|
+
|
|
380
|
+
# 更新
|
|
381
|
+
HELLOAGENTS=claude:standby HELLOAGENTS_ACTION=update curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
|
|
382
|
+
|
|
383
|
+
# 切换分支
|
|
384
|
+
HELLOAGENTS=all:global HELLOAGENTS_ACTION=switch-branch HELLOAGENTS_BRANCH=beta curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
|
|
385
|
+
|
|
386
|
+
# 只清理宿主集成,不卸载包
|
|
387
|
+
HELLOAGENTS=codex:standby HELLOAGENTS_ACTION=cleanup curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
|
|
388
|
+
|
|
389
|
+
# 卸载
|
|
390
|
+
HELLOAGENTS=gemini HELLOAGENTS_ACTION=uninstall curl -fsSL https://raw.githubusercontent.com/hellowind777/helloagents/main/install.sh | sh
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Windows PowerShell:
|
|
394
|
+
|
|
395
|
+
```powershell
|
|
396
|
+
# 安装
|
|
397
|
+
$env:HELLOAGENTS="codex"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
|
|
398
|
+
|
|
399
|
+
# 更新
|
|
400
|
+
$env:HELLOAGENTS="claude:standby"; $env:HELLOAGENTS_ACTION="update"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
|
|
401
|
+
|
|
402
|
+
# 切换分支
|
|
403
|
+
$env:HELLOAGENTS="all:global"; $env:HELLOAGENTS_ACTION="switch-branch"; $env:HELLOAGENTS_BRANCH="beta"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
|
|
404
|
+
|
|
405
|
+
# 只清理宿主集成,不卸载包
|
|
406
|
+
$env:HELLOAGENTS="codex:standby"; $env:HELLOAGENTS_ACTION="cleanup"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
|
|
407
|
+
|
|
408
|
+
# 卸载
|
|
409
|
+
$env:HELLOAGENTS="gemini"; $env:HELLOAGENTS_ACTION="uninstall"; irm https://raw.githubusercontent.com/hellowind777/helloagents/main/install.ps1 | iex
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### 分支切换
|
|
413
|
+
|
|
414
|
+
`switch-branch` 会先安装指定 npm/GitHub ref,再通过 npm 脚本同步宿主 CLI,避免依赖更新过程中的 `helloagents` 可执行文件:
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
helloagents switch-branch beta
|
|
418
|
+
helloagents switch-branch beta claude --global
|
|
419
|
+
helloagents branch github:hellowind777/helloagents#beta --all --standby
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
如果只想切换包本身,暂不同步宿主 CLI,可以直接使用 npm:
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
npm install -g github:hellowind777/helloagents#beta
|
|
426
|
+
npm update -g helloagents
|
|
427
|
+
npm explore -g helloagents -- npm run uninstall -- --all --standby
|
|
428
|
+
npm uninstall -g helloagents
|
|
429
|
+
```
|
|
430
|
+
|
|
304
431
|
### 标准模式文件
|
|
305
432
|
|
|
306
433
|
| CLI | 写入或更新的文件 | 清理行为 |
|
|
307
434
|
|-----|------------------|----------|
|
|
308
|
-
| Claude Code | `~/.claude/CLAUDE.md`、`~/.claude/settings.json`、`~/.claude/helloagents ->
|
|
309
|
-
| Gemini CLI | `~/.gemini/GEMINI.md`、`~/.gemini/settings.json`、`~/.gemini/helloagents ->
|
|
310
|
-
| Codex CLI | `~/.codex/AGENTS.md`、`~/.codex/config.toml`、`~/.codex/helloagents ->
|
|
435
|
+
| Claude Code | `~/.claude/CLAUDE.md`、`~/.claude/settings.json`、`~/.claude/helloagents -> ~/.helloagents/helloagents` | 删除受管标记块、HelloAGENTS hooks / 权限和符号链接 |
|
|
436
|
+
| Gemini CLI | `~/.gemini/GEMINI.md`、`~/.gemini/settings.json`、`~/.gemini/helloagents -> ~/.helloagents/helloagents` | 删除受管标记块、HelloAGENTS hooks 和符号链接 |
|
|
437
|
+
| Codex CLI | `~/.codex/AGENTS.md`、`~/.codex/config.toml`、`~/.codex/helloagents -> ~/.helloagents/helloagents`、受管备份 | 删除受管标记块、受管配置键、符号链接和最近一次受管备份 |
|
|
311
438
|
|
|
312
439
|
### 全局模式文件
|
|
313
440
|
|
|
@@ -315,15 +442,18 @@ helloagents doctor codex --json
|
|
|
315
442
|
|-----|----------|----------|
|
|
316
443
|
| Claude Code | 原生插件安装 | 由 Claude Code 插件系统管理 |
|
|
317
444
|
| Gemini CLI | 原生扩展安装 | 由 Gemini 扩展系统管理 |
|
|
318
|
-
| Codex CLI |
|
|
445
|
+
| Codex CLI | 原生本地插件流程 | `~/.agents/plugins/marketplace.json`、`~/plugins/helloagents/`、`~/.codex/plugins/cache/local-plugins/helloagents/local/`、`~/.codex/config.toml`、`~/.codex/helloagents -> ~/plugins/helloagents` |
|
|
319
446
|
|
|
320
|
-
|
|
447
|
+
全局模式下,HelloAGENTS 会自动尝试宿主原生命令。若宿主命令不可用,再手动执行:
|
|
321
448
|
|
|
322
449
|
```text
|
|
323
450
|
/plugin marketplace add hellowind777/helloagents
|
|
451
|
+
/plugin install helloagents@helloagents
|
|
324
452
|
gemini extensions install https://github.com/hellowind777/helloagents
|
|
325
453
|
```
|
|
326
454
|
|
|
455
|
+
Claude Code 会自动尝试等价的 `claude plugin marketplace add ...` 和 `claude plugin install ...` 命令。marketplace 名称和插件名称都是 `helloagents`,所以安装目标是 `helloagents@helloagents`。全局安装后需要重启宿主 CLI。
|
|
456
|
+
|
|
327
457
|
Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
|
|
328
458
|
|
|
329
459
|
## 对话命令
|
|
@@ -377,8 +507,20 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
|
|
|
377
507
|
运行态文件仍保留在当前项目本地:
|
|
378
508
|
|
|
379
509
|
- `state_path`
|
|
380
|
-
- `.
|
|
381
|
-
-
|
|
510
|
+
- `.helloagents/sessions/<branch>/<session>/capsule.json`
|
|
511
|
+
- `.helloagents/sessions/<branch>/<session>/events.jsonl`
|
|
512
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/*.json`
|
|
513
|
+
- `.helloagents/sessions/<branch>/<session>/artifacts/loop-results.tsv`
|
|
514
|
+
|
|
515
|
+
### 未激活或临时会话
|
|
516
|
+
|
|
517
|
+
如果当前目录及其父级没有项目激活目录 `.helloagents/`,HelloAGENTS 不会自动写入项目目录。临时运行态写到用户级目录:
|
|
518
|
+
|
|
519
|
+
```text
|
|
520
|
+
~/.helloagents/runtime/<scope-key>/
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
这里仅保存短期的 `capsule.json`、`events.jsonl` 和 `artifacts/`,不作为项目知识库。过期临时会话会按 TTL 清理。
|
|
382
524
|
|
|
383
525
|
### 知识创建规则
|
|
384
526
|
|
|
@@ -424,15 +566,14 @@ UI 任务遵循以下优先级:
|
|
|
424
566
|
|
|
425
567
|
1. 当前 `plan.md` 或 PRD 中的 UI 决策
|
|
426
568
|
2. `.helloagents/DESIGN.md`
|
|
427
|
-
3.
|
|
428
|
-
4. `hello-ui` 的实现和验收规则
|
|
569
|
+
3. `hello-ui` 的实现和验收规则,与共享 UI 质量基线共同生效
|
|
429
570
|
|
|
430
571
|
更重的 UI 任务可以通过 `contract.json` 要求:
|
|
431
572
|
|
|
432
573
|
- `ui.styleAdvisor.required`
|
|
433
574
|
- `ui.visualValidation.required`
|
|
434
575
|
|
|
435
|
-
|
|
576
|
+
这些要求分别通过当前会话的 `artifacts/advisor.json` 和 `artifacts/visual.json` 收尾。
|
|
436
577
|
|
|
437
578
|
### 验证命令来源
|
|
438
579
|
|
|
@@ -452,7 +593,7 @@ UI 任务遵循以下优先级:
|
|
|
452
593
|
~/.helloagents/helloagents.json
|
|
453
594
|
```
|
|
454
595
|
|
|
455
|
-
|
|
596
|
+
默认结构。`host_install_modes` 会在需要记录单个 CLI 模式时写入:
|
|
456
597
|
|
|
457
598
|
```json
|
|
458
599
|
{
|
|
@@ -464,21 +605,23 @@ UI 任务遵循以下优先级:
|
|
|
464
605
|
"kb_create_mode": 1,
|
|
465
606
|
"project_store_mode": "local",
|
|
466
607
|
"commit_attribution": "",
|
|
467
|
-
"install_mode": "standby"
|
|
608
|
+
"install_mode": "standby",
|
|
609
|
+
"host_install_modes": {}
|
|
468
610
|
}
|
|
469
611
|
```
|
|
470
612
|
|
|
471
613
|
| 键 | 默认值 | 含义 |
|
|
472
614
|
|----|--------|------|
|
|
473
615
|
| `output_language` | `""` | 默认跟随用户语言 |
|
|
474
|
-
| `output_format` | `true` |
|
|
616
|
+
| `output_format` | `true` | 主代理最终收尾必须使用 HelloAGENTS 格式;中间输出和子代理输出保持自然 |
|
|
475
617
|
| `notify_level` | `0` | `0` 关闭,`1` 桌面通知,`2` 声音,`3` 两者 |
|
|
476
|
-
| `ralph_loop_enabled` | `true` |
|
|
618
|
+
| `ralph_loop_enabled` | `true` | 显式 `~verify` / `~loop` 或收尾要求时运行验证 |
|
|
477
619
|
| `guard_enabled` | `true` | 拦截危险命令 |
|
|
478
620
|
| `kb_create_mode` | `1` | 控制知识库自动更新 |
|
|
479
621
|
| `project_store_mode` | `"local"` | `local` 或 `repo-shared` |
|
|
480
622
|
| `commit_attribution` | `""` | 提交信息附加署名 |
|
|
481
623
|
| `install_mode` | `"standby"` | 当前默认安装模式 |
|
|
624
|
+
| `host_install_modes` | `{}` | 受管的单 CLI 模式记录,如 `{ "codex": "standby" }`;优先于 `install_mode` |
|
|
482
625
|
|
|
483
626
|
## 各 CLI 集成方式
|
|
484
627
|
|
|
@@ -486,14 +629,14 @@ UI 任务遵循以下优先级:
|
|
|
486
629
|
|
|
487
630
|
- 标准模式写入 `~/.claude/CLAUDE.md`
|
|
488
631
|
- 标准模式在 `~/.claude/settings.json` 中写入受管 hooks 和权限
|
|
489
|
-
- 标准模式创建 `~/.claude/helloagents ->
|
|
632
|
+
- 标准模式创建 `~/.claude/helloagents -> ~/.helloagents/helloagents`
|
|
490
633
|
- 全局模式使用 Claude Code 插件系统
|
|
491
634
|
|
|
492
635
|
### Gemini CLI
|
|
493
636
|
|
|
494
637
|
- 标准模式写入 `~/.gemini/GEMINI.md`
|
|
495
638
|
- 标准模式在 `~/.gemini/settings.json` 中写入受管 hooks
|
|
496
|
-
- 标准模式创建 `~/.gemini/helloagents ->
|
|
639
|
+
- 标准模式创建 `~/.gemini/helloagents -> ~/.helloagents/helloagents`
|
|
497
640
|
- 全局模式使用 Gemini 扩展系统
|
|
498
641
|
|
|
499
642
|
### Codex CLI
|
|
@@ -501,10 +644,10 @@ UI 任务遵循以下优先级:
|
|
|
501
644
|
Codex 默认走规则文件驱动。
|
|
502
645
|
|
|
503
646
|
- 标准模式写入 `~/.codex/AGENTS.md`
|
|
504
|
-
- 标准模式写入受管 `model_instructions_file`
|
|
505
|
-
- 标准模式写入受管 `notify` 命令用于收尾通知
|
|
506
|
-
- 标准模式创建 `~/.codex/helloagents ->
|
|
507
|
-
-
|
|
647
|
+
- 标准模式写入受管 `model_instructions_file = "~/.codex/AGENTS.md"`
|
|
648
|
+
- 标准模式写入受管 `notify = ["helloagents-js", "codex-notify"]` 命令用于收尾通知
|
|
649
|
+
- 标准模式创建 `~/.codex/helloagents -> ~/.helloagents/helloagents`
|
|
650
|
+
- 全局模式安装原生本地插件流程
|
|
508
651
|
- HelloAGENTS 默认不启用 Codex hooks
|
|
509
652
|
|
|
510
653
|
## 验证
|
|
@@ -522,12 +665,16 @@ npm test
|
|
|
522
665
|
- Codex 受管 `model_instructions_file`、`notify`、本地插件、marketplace 和缓存行为
|
|
523
666
|
- `helloagents doctor`
|
|
524
667
|
- 项目存储和 `repo-shared`
|
|
525
|
-
- 会话级 `state_path
|
|
668
|
+
- 会话级 `state_path`、运行态信号和证据
|
|
526
669
|
- 运行时选路、Guard、验证、视觉证据和交付门控
|
|
527
670
|
- README 与 skill 契约一致性
|
|
528
671
|
|
|
529
672
|
## FAQ
|
|
530
673
|
|
|
674
|
+
### `docs/` 的作用是什么?
|
|
675
|
+
|
|
676
|
+
`docs/` 只作为用户和 AI 理解项目的参考材料,可能滞后于实现。运行时行为以源码、bootstrap 文件、skills、templates 和测试为准。
|
|
677
|
+
|
|
531
678
|
### 这是 CLI 工具还是提示词框架?
|
|
532
679
|
|
|
533
680
|
两者都是。
|
|
@@ -562,7 +709,7 @@ npm test
|
|
|
562
709
|
|
|
563
710
|
### `npm uninstall -g helloagents` 会删除项目知识库吗?
|
|
564
711
|
|
|
565
|
-
|
|
712
|
+
不会。卸载包前运行 `npm explore -g helloagents -- npm run uninstall -- --all --standby`,会清理宿主集成和稳定运行副本。项目 `.helloagents/` 文件和 `~/.helloagents/helloagents.json` 会保留,除非你手动删除。
|
|
566
713
|
|
|
567
714
|
## 故障排除
|
|
568
715
|
|
package/bootstrap-lite.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
## 配置
|
|
6
6
|
配置文件: ~/.helloagents/helloagents.json
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
`output_language` 非空时,所有用户可见文本使用该语言;为空则跟随用户当前语言。
|
|
8
|
+
会话级缓存优先:当前上下文已有"当前用户设置"、原始 JSON 或读取摘要,且覆盖所需配置项时,直接复用。
|
|
9
|
+
仅在缺少所需项、用户要求刷新,或本轮修改后需要核验时读取;输出格式只在缺少 `output_format` 已知值时触发读取。
|
|
10
|
+
同一会话内,同一路径的配置文件、模块、SKILL、模板只读一次并跨轮复用;读取失败必须明示,并按默认值或已知设置执行。
|
|
11
11
|
|
|
12
12
|
## 编码原则
|
|
13
13
|
- 代码是唯一判断依据,文档与代码不一致时以代码为准
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
- 项目已有技术栈、设计系统或方案包时必须遵循既有决策
|
|
55
55
|
|
|
56
56
|
### UI 质量基线(涉及视觉/交互任务时,全阶段生效)
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
任务涉及界面视觉、交互体验、页面结构、组件外观、信息呈现或设计需求时,统一遵循以下基线;适用于标准模式未激活项目、标准模式已激活项目与全局模式。
|
|
58
|
+
纯逻辑修复、纯文案修改、纯数据处理、纯后端实现等不涉及视觉/交互变化的任务,不触发本节。本基线是最低质量线;已有 `plan.md` / PRD、`DESIGN.md` 或 `hello-ui` 约束时,与其共同生效,不覆盖上层决策。
|
|
59
59
|
|
|
60
60
|
- 先判断本次视觉变更是延续既有风格、演进式优化还是探索性方案,再形成简短但明确的内部设计简报:界面目的、目标用户与场景、主要视口、情绪方向、记忆点;不得直接滑入泛化风格标签或模型默认审美
|
|
61
61
|
- 已有项目优先复用现有组件、token、品牌资产、内容语气与交互模式;先建立最小设计系统:至少明确背景/表面/正文/弱化/强调/语义色,以及 display/headline/body/caption 等排版角色;缺少关键设计上下文时明确说明,不凭空发明视觉语言
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
|
|
98
98
|
## 输出格式
|
|
99
99
|
适用条件:
|
|
100
|
-
- 当 `helloagents.json` 的 `output_format` 为 `true`
|
|
100
|
+
- 当 `helloagents.json` 的 `output_format` 为 `true` 时,主代理必须在本轮最后一条、且确认**不再继续调用工具、不再继续执行**的**收尾消息**中使用输出格式。
|
|
101
101
|
- 若某个 skill 在本轮明确要求输出停顿、确认或总结,也仅当该消息同时是**本轮最终收尾消息**时,才可使用输出格式。
|
|
102
102
|
|
|
103
103
|
排除条件:
|
|
@@ -116,16 +116,18 @@
|
|
|
116
116
|
图标:💡直接响应 | ⚡快速执行 | 🔵规划流程 | ✅完成 | ❓等待输入 | ⚠️警告 | ❌错误
|
|
117
117
|
|
|
118
118
|
使用约束:
|
|
119
|
-
-
|
|
120
|
-
- `🔄 下一步`
|
|
121
|
-
- `🔄 下一步` 只写真实下一步,不改写成条件式能力表述或询问句。
|
|
119
|
+
- 状态图标与收尾内容必须一致。正文仍在等待用户输入、确认、授权或补充信息(含确认是否执行已给出的方案)时,只能使用 `❓等待输入`;仅在本轮执行已完成且不存在待确认动作时,才能使用 `✅完成`。
|
|
120
|
+
- `🔄 下一步` 必须写真实下一步,不改写成条件式能力表述或空泛询问。若正在等待确认,写清待确认动作;若存在自然后续动作,直接给出明确引导;若当前任务已完整结束且确无合理后续,可填写“当前任务已完成;无后续动作。”
|
|
122
121
|
|
|
123
122
|
### 收尾状态信号
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
123
|
+
- `turn-state` 只在运行时必须识别本轮“完成 / 等待输入 / 阻塞”时写入;普通问候、普通问答、T0 只读分析和一次性解释不调用
|
|
124
|
+
- 必须调用场景:显式 `~auto` / `~loop`;非只读任务完成验证并进入收尾;需要 delivery gate / Ralph Loop / closeout evidence;需要等待或阻塞且运行时必须识别状态;已进入项目连续流程或方案包闭环
|
|
125
|
+
- 首选参数式调用,保证一次完成:`helloagents-turn-state write --kind complete --role main`;也可用 stdin JSON。不要查找、读取或拼接 `turn-state.mjs` 源码路径
|
|
126
|
+
- 本轮已完成且不再等待用户输入 → `helloagents-turn-state write --kind complete --role main`
|
|
127
|
+
- 因阻塞判定等待用户输入、确认、授权或补充信息(含未授权的外部副作用确认) → 写 `kind=waiting`、`role=main`,并同时写 `reasonCategory` 与 `reason`
|
|
127
128
|
- 因错误、缺少前置条件或外部依赖而本轮停下 → 写 `kind=blocked`、`role=main`,并同时写 `reasonCategory` 与 `reason`
|
|
128
129
|
- `reasonCategory` 只允许:`ambiguity`、`missing-input`、`missing-file`、`missing-credential`、`unauthorized-side-effect`、`high-risk-confirmation`、`external-dependency`、`error`
|
|
130
|
+
- 显式 `~auto` / `~loop` 下,`waiting` / `blocked` 还必须写入 `blocker.target`、`blocker.evidence`、`blocker.requiredAction`;阶段汇报、单轮 probe 完成、内部路线调整或“下一步建议”不构成停下理由
|
|
129
131
|
- 子代理不得写 turn-state;子代理结束只直接返回结果,不为主代理代写完成态
|
|
130
132
|
|
|
131
133
|
## 交互规则
|
|
@@ -163,7 +165,7 @@
|
|
|
163
165
|
以下情况才构成中途停下并请求用户输入的正当理由:
|
|
164
166
|
- 需求存在影响执行结果的真实歧义
|
|
165
167
|
- 缺少继续执行所必需的信息、文件、路径或凭据
|
|
166
|
-
-
|
|
168
|
+
- 将产生外部副作用,但本轮尚未获得对应授权(含等待确认是否实施已给方案)
|
|
167
169
|
- 操作属于高风险或不可逆,按安全规则必须确认
|
|
168
170
|
除上述情况外,默认继续执行,不以“建议下一步”替代实际推进。
|
|
169
171
|
|
|
@@ -186,22 +188,26 @@
|
|
|
186
188
|
- 未激活项目且未进入方案包 / `contract.json` / 证据文件时,声称完成前必须完成与任务类型匹配的必要检查;无法执行的检查必须明确说明,不得直接宣称完成
|
|
187
189
|
- 当前项目已激活,或已存在方案包 / `contract.json` / 证据文件时,以完整流程、对应 skill 与运行时交付约束为准,不得降级为本节
|
|
188
190
|
- 只读分析、创意探索、方案比较、中间进度和阻塞汇报不适用本节
|
|
191
|
+
- 本地版本检查点:非只读任务完成验证且产生工作区变更时,最终收尾前自动执行本地提交。先检查 `git status --short`;若不是 git 仓库或无变更则跳过。若发现 `.env`、密钥、凭据、明显不应提交的大文件或二进制产物,停止提交并说明风险;否则执行 `git add -A`,使用当前回复语言生成简洁 conventional commit message 后执行 `git commit`。不自动远程 `git push`,除非用户明确要求
|
|
189
192
|
|
|
190
193
|
## 路由
|
|
191
194
|
- `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~verify` 的兼容别名
|
|
192
195
|
- `~test` — 为指定模块或最近变更编写测试
|
|
193
|
-
- 路径定义:`{HELLOAGENTS_READ_ROOT}` = 本轮已确定的 HelloAGENTS
|
|
196
|
+
- 路径定义:`{HELLOAGENTS_READ_ROOT}` = 本轮已确定的 HelloAGENTS 读取根目录,统一用于读取 `skills/` 与 `templates/`
|
|
194
197
|
- `~command` 路由:用户输入 `~xxx` 时,立即读取对应的 SKILL.md 并按其流程执行,不要自行探索或猜测。若当前上下文已解析出具体命令技能文件路径,直接使用它;否则先确定当前技能根目录:
|
|
195
198
|
- 优先使用当前上下文中已注入的“本轮 HelloAGENTS 读取根目录”
|
|
196
|
-
-
|
|
199
|
+
- 若当前上下文未注入,则使用稳定运行根目录 `~/.helloagents/helloagents`
|
|
200
|
+
- 宿主固定链接(Codex `~/.codex/helloagents`、Claude `~/.claude/helloagents`、Gemini `~/.gemini/helloagents`)只作为兼容别名,不作为优先探测路径
|
|
201
|
+
- 仍无法确定时,明确说明缺少 HelloAGENTS 读取根目录;不要递归扫描 `$HOME`、`Downloads`、项目目录或旧版本目录
|
|
197
202
|
确定根目录后读取其中的 `skills/commands/{name}/SKILL.md`;标准模式下即使项目目录存在本地 HelloAGENTS skills,也不要读取项目路径。不要扫描整个目录,也不要对同一命令重复探测多个路径。
|
|
203
|
+
包内脚本优先使用稳定命令入口;需要写收尾状态时优先调用 `helloagents-turn-state write --kind complete --role main`,不要拼接 `turn-state.mjs` 路径。
|
|
198
204
|
|
|
199
205
|
## .helloagents/ 目录
|
|
200
206
|
路径: {CWD}/.helloagents/
|
|
201
207
|
所有文件的创建和更新必须按 templates/ 目录中对应模板的格式执行,不可自由发挥格式。
|
|
202
208
|
说明:
|
|
203
|
-
- `.helloagents/`
|
|
204
|
-
- `state_path`
|
|
209
|
+
- `.helloagents/` 表示项目级存储路径,也是标准模式的项目激活信号
|
|
210
|
+
- `state_path` 指向的状态文件、当前会话 `capsule.json`、`events.jsonl`、`artifacts/*.json`、`artifacts/loop-results.tsv` 等运行态文件始终保留在项目本地 `.helloagents/sessions/{branch}/{session}/`
|
|
205
211
|
- `state_path` 是状态文件的唯一位置。宿主提供会话标识时,写入 `.helloagents/sessions/{branch}/{session}/STATE.md`;没有稳定会话标识时,写入 `.helloagents/sessions/{branch}/default/STATE.md`
|
|
206
212
|
- 若 helloagents.json 中 `project_store_mode = "repo-shared"`,`context.md`、`guidelines.md`、`CHANGELOG.md`、`verify.yaml`、`DESIGN.md`、`modules/`、`plans/`、`archive/` 改按当前上下文中已注入的“当前项目存储”/“项目知识/方案目录”解析;未注入具体路径时,按当前存储模式自行解析,不要假定这些文件一定实际位于当前工作树中
|
|
207
213
|
templates/ 查找路径(按优先级;首次确定模板根目录后,本轮复用):
|
|
@@ -227,7 +233,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
227
233
|
- “关键上下文”只保留恢复所需的信息,已不再相关的决策和变更移除
|
|
228
234
|
- DESIGN.md — 项目级稳定 UI 契约(仅 UI 项目),`~plan` / `~auto` / `~prd` 创建或更新;不存在且当前任务涉及 UI → 按 templates/DESIGN.md 创建;不替代单次需求的 `plan.md`
|
|
229
235
|
- plans/{feature}/ — 活跃方案包。`~plan` / `~auto` 生成:`requirements.md` + `plan.md` + `tasks.md` + `contract.json`;`~prd` 生成:`prd/` 目录(多维度文档)+ `tasks.md` + `decisions.md` + `contract.json`
|
|
230
|
-
-
|
|
236
|
+
- artifacts/advisor.json — 当前会话的可选 advisor 证据;仅当 `contract.json` 明确要求独立 advisor 时写入,记录 reason / focus / consultedSources / outcome
|
|
231
237
|
- archive/YYYY-MM/ — 已归档的方案包(整个 plans/{feature}/ 目录移入)
|
|
232
238
|
- archive/_index.md — 归档索引
|
|
233
239
|
|
|
@@ -239,11 +245,11 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
239
245
|
- modules/*.md — 模块文档和经验
|
|
240
246
|
|
|
241
247
|
### 临时文件(流程产物,~clean 时清理)
|
|
242
|
-
- loop-results.tsv — ~loop 迭代记录
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
248
|
+
- artifacts/loop-results.tsv — 当前会话的 ~loop 迭代记录
|
|
249
|
+
- artifacts/loop-breaker.json — 当前会话的 hello-verify 断路器状态,仅在 `~loop` 或自动验证触发时写入
|
|
250
|
+
- artifacts/verify.json — 当前会话最近一次成功验证的证据快照
|
|
251
|
+
- artifacts/review.json — 当前会话最近一次成功审查的证据快照
|
|
252
|
+
- artifacts/closeout.json — 当前会话最近一次成功收尾的交付证据快照
|
|
247
253
|
|
|
248
254
|
## 项目上下文
|
|
249
255
|
|
|
@@ -256,11 +262,11 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
256
262
|
### .helloagents/ 文件读取优先级
|
|
257
263
|
以下文件在任务需要时按需读取,按优先级分层:
|
|
258
264
|
说明:
|
|
259
|
-
- Tier 1
|
|
265
|
+
- Tier 1 在恢复、压缩、连续流程或活跃方案包场景读取当前 `state_path`;普通问答和一次性只读任务不强制读取
|
|
260
266
|
- Tier 2 / Tier 3 中的 `.helloagents/...` 路径默认按项目级存储路径解析;`project_store_mode=repo-shared` 时按共享知识/方案目录解析
|
|
261
267
|
|
|
262
268
|
Tier 1 — 恢复当前任务时优先读取:
|
|
263
|
-
- 当前状态文件(`state_path`)→
|
|
269
|
+
- 当前状态文件(`state_path`)→ 仅在恢复、压缩、连续流程或活跃方案包场景读取;先确认当前消息仍是同一任务,再用它找回最近进度
|
|
264
270
|
|
|
265
271
|
Tier 2 — 理解项目时读取:
|
|
266
272
|
- .helloagents/context.md → 项目架构、技术栈、目录结构、模块索引
|