helloagents 3.0.8-beta.1 → 3.0.10-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 +1 -1
- package/.claude-plugin/plugin.json +6 -6
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +18 -9
- package/README_CN.md +42 -33
- package/bootstrap-lite.md +18 -17
- package/bootstrap.md +22 -21
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/scripts/capability-registry.mjs +5 -5
- package/scripts/cli-codex-config.mjs +8 -2
- package/scripts/cli-codex.mjs +7 -3
- package/scripts/cli-doctor.mjs +6 -1
- package/scripts/cli-host-detect.mjs +18 -2
- package/scripts/cli-lifecycle.mjs +11 -0
- package/scripts/cli-messages.mjs +3 -3
- package/scripts/cli-toml-values.mjs +25 -0
- package/scripts/cli-toml.mjs +15 -0
- package/scripts/delivery-gate.mjs +5 -4
- package/scripts/guard.mjs +7 -6
- package/scripts/notify-context.mjs +32 -30
- package/scripts/notify-events.mjs +0 -8
- package/scripts/notify-gates.mjs +128 -0
- package/scripts/notify-route.mjs +5 -2
- package/scripts/notify-source.mjs +3 -60
- package/scripts/notify-ui.mjs +3 -0
- package/scripts/notify.mjs +72 -83
- package/scripts/project-storage.mjs +107 -15
- package/scripts/session-token.mjs +73 -0
- package/scripts/workflow-core.mjs +16 -8
- package/scripts/workflow-plan-files.mjs +17 -6
- package/scripts/workflow-recommendation.mjs +4 -4
- package/scripts/workflow-state.mjs +13 -13
- package/skills/commands/auto/SKILL.md +13 -13
- package/skills/commands/build/SKILL.md +5 -5
- package/skills/commands/clean/SKILL.md +6 -6
- package/skills/commands/commit/SKILL.md +2 -2
- package/skills/commands/help/SKILL.md +2 -2
- package/skills/commands/idea/SKILL.md +5 -5
- package/skills/commands/init/SKILL.md +4 -4
- package/skills/commands/loop/SKILL.md +4 -4
- package/skills/commands/plan/SKILL.md +13 -13
- package/skills/commands/prd/SKILL.md +13 -13
- package/skills/commands/verify/SKILL.md +3 -3
- package/skills/commands/wiki/SKILL.md +5 -5
- package/skills/hello-subagent/SKILL.md +1 -1
- package/skills/hello-ui/SKILL.md +3 -3
- package/skills/helloagents/SKILL.md +3 -2
- package/templates/plans/contract.json +2 -2
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "helloagents",
|
|
11
11
|
"description": "Quality-driven orchestration kernel for AI CLIs: intelligent routing, quality verification, safety guards, and notifications",
|
|
12
|
-
"version": "3.0.
|
|
12
|
+
"version": "3.0.10-beta.1",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "HelloWind",
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.10-beta.1",
|
|
4
4
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
|
|
5
|
-
"author":
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "HelloWind",
|
|
7
|
+
"email": "hellowind777@gmail.com"
|
|
8
|
+
},
|
|
6
9
|
"license": "Apache-2.0",
|
|
7
10
|
"keywords": [
|
|
8
11
|
"orchestration",
|
|
@@ -12,10 +15,7 @@
|
|
|
12
15
|
"notification",
|
|
13
16
|
"safety"
|
|
14
17
|
],
|
|
15
|
-
"repository":
|
|
16
|
-
"type": "git",
|
|
17
|
-
"url": "https://github.com/hellowind777/helloagents.git"
|
|
18
|
-
},
|
|
18
|
+
"repository": "https://github.com/hellowind777/helloagents",
|
|
19
19
|
"skills": "./skills",
|
|
20
20
|
"hooks": "./hooks/hooks-claude.json"
|
|
21
21
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.10-beta.1",
|
|
4
4
|
"description": "HelloAGENTS — Quality-driven orchestration kernel for AI CLIs with intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HelloWind",
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**Quality-driven workflow framework for AI coding CLIs — 14 auto-activated skills, process discipline, and checklist-based quality checks.**
|
|
10
10
|
|
|
11
|
-
[](./package.json)
|
|
12
12
|
[](https://www.npmjs.com/package/helloagents)
|
|
13
13
|
[](./package.json)
|
|
14
14
|
[](./skills)
|
|
@@ -95,7 +95,7 @@ HelloAGENTS fixes that. It's a workflow layer that sits on top of your AI CLI an
|
|
|
95
95
|
|
|
96
96
|
If the last version you used seriously was `v2.3.8`, this is not a minor update. The current line is a full product-line reset.
|
|
97
97
|
|
|
98
|
-
| Dimension | v2.3.8 | Local `v3.0.
|
|
98
|
+
| Dimension | v2.3.8 | Local `v3.0.10` |
|
|
99
99
|
|-----------|--------|----------------|
|
|
100
100
|
| **Implementation base** | Python package plus mixed scripts/rules | Pure Node.js + Markdown runtime built around `cli.mjs`, `bootstrap*.md`, `skills/`, and `scripts/` |
|
|
101
101
|
| **Product shape** | More like a multi-CLI management tool plus prompt protocol bundle | More like a quality workflow framework for AI CLIs, centered on routing, checks, verification, and resumable execution |
|
|
@@ -108,7 +108,7 @@ If the last version you used seriously was `v2.3.8`, this is not a minor update.
|
|
|
108
108
|
| **KB storage** | Project-local only | Project-local by default, plus `project_store_mode=repo-shared` for sharing stable KB/plan assets across git worktrees |
|
|
109
109
|
| **Codex integration** | Earlier compatibility layers and legacy paths | Standby = injected rules + local links; global = native local-plugin chain with less noise and drift |
|
|
110
110
|
|
|
111
|
-
In one sentence: `v2.3.8` was closer to "workflow glue for multiple CLIs"; `v3.0.
|
|
111
|
+
In one sentence: `v2.3.8` was closer to "workflow glue for multiple CLIs"; `v3.0.10` is a workflow framework that unifies quality rules, plan files, verification records, and installation lifecycle into one operating model.
|
|
112
112
|
|
|
113
113
|
## ✨ Core Features
|
|
114
114
|
|
|
@@ -304,12 +304,12 @@ HelloAGENTS touches different files depending on mode. The write/cleanup rules a
|
|
|
304
304
|
|-----|------------------------|----------------|
|
|
305
305
|
| Claude Code | Native plugin install (manual CLI command) | Managed by Claude's plugin system |
|
|
306
306
|
| Gemini CLI | Native extension install (manual CLI command) | Managed by Gemini's extension system |
|
|
307
|
-
| Codex CLI | Native local-plugin chain (automatic) | `~/.agents/plugins/marketplace.json`, `~/plugins/helloagents/`, `~/.codex/plugins/cache/local-plugins/helloagents/local/`, `~/.codex/config.toml` |
|
|
307
|
+
| Codex CLI | Native local-plugin chain (automatic) | `~/.agents/plugins/marketplace.json`, `~/plugins/helloagents/`, `~/.codex/plugins/cache/local-plugins/helloagents/local/`, `~/.codex/config.toml`, `~/.codex/helloagents -> ~/plugins/helloagents` |
|
|
308
308
|
|
|
309
309
|
### Update / reinstall / branch-switch behavior
|
|
310
310
|
|
|
311
311
|
- **Standby mode** keeps scripts, skills, templates, and hooks on `~/.claude/helloagents`, `~/.gemini/helloagents`, and `~/.codex/helloagents` symlinks, so linked package files reflect local changes immediately. The injected rules files (`CLAUDE.md`, `GEMINI.md`, `AGENTS.md`) are still snapshots and must be refreshed after bootstrap or branch changes.
|
|
312
|
-
- **Codex global mode** uses copied runtime files. Re-running `helloagents --global` refreshes both `~/plugins/helloagents/` and the Codex cache copy.
|
|
312
|
+
- **Codex global mode** uses copied runtime files and keeps `~/.codex/helloagents -> ~/plugins/helloagents` as the stable read-root fallback expected by bootstrap routing. Re-running `helloagents --global` refreshes both `~/plugins/helloagents/` and the Codex cache copy.
|
|
313
313
|
- Re-running the current mode command is supported intentionally: `helloagents --standby` and `helloagents --global` both act as **switch-or-refresh** commands.
|
|
314
314
|
- For deterministic manual cleanup, run `helloagents cleanup` before `npm uninstall -g helloagents`.
|
|
315
315
|
- `npm uninstall -g helloagents` removes the package; `~/.helloagents/helloagents.json` is intentionally preserved.
|
|
@@ -499,9 +499,9 @@ After every task, Ralph Loop auto-runs your project's verification commands:
|
|
|
499
499
|
|
|
500
500
|
`~wiki` creates or syncs the project knowledge base only. `~init` is the fuller bootstrap: it also writes project-level rule files (`AGENTS.md`, `CLAUDE.md`, `.gemini/GEMINI.md`), refreshes host-native project skill links, and appends the related ignore rules. In standby mode, the presence of the local `.helloagents/` is what promotes the current project into the full project workflow; project-level rule files are optional.
|
|
501
501
|
|
|
502
|
-
By default, KB and plan files live in the project's local `.helloagents/`. If `project_store_mode = "repo-shared"`, the local `.helloagents/` directory keeps
|
|
502
|
+
By default, KB and plan files live in the project's local `.helloagents/`. The state file uses the path provided by `state_path`. When the host exposes a stable conversation/session identifier, HelloAGENTS writes it to `.helloagents/sessions/<branch>/<session>/STATE.md`; otherwise it uses the branch default path at `.helloagents/sessions/<branch>/default/STATE.md`. If `project_store_mode = "repo-shared"`, the local `.helloagents/` directory keeps the activation signal, session-scoped `STATE.md`, and runtime files such as `.ralph-*`, while `context.md`, `guidelines.md`, `DESIGN.md`, `verify.yaml`, `modules/`, `plans/`, and `archive/` move to `~/.helloagents/projects/<repo-key>/` so multiple worktrees of the same git repo can share stable project memory.
|
|
503
503
|
|
|
504
|
-
`STATE.md` is
|
|
504
|
+
`STATE.md` is the current state file resolved from `state_path`, not a universal memory file for every interaction. Its branch + session layout prevents concurrent conversations on the same repo from fighting over one shared file. It is created and continuously updated for long-running project workflows such as `~wiki`, `~init`, `~plan`, `~build`, `~auto`, `~prd`, and `~loop`; updated when already present for verification/review style tasks; and intentionally not created for one-off read-only interactions such as `~help`.
|
|
505
505
|
|
|
506
506
|
| File | Purpose |
|
|
507
507
|
|------|---------|
|
|
@@ -718,10 +718,19 @@ Subagents may skip workflow packaging such as routing, interaction flow, and out
|
|
|
718
718
|
|
|
719
719
|
## 📈 Version History
|
|
720
720
|
|
|
721
|
-
### v3.0.
|
|
721
|
+
### v3.0.10 (current)
|
|
722
|
+
|
|
723
|
+
**Fixes and verification since `v3.0.9beta`:**
|
|
724
|
+
- 🔧 Codex managed `notify` entries now carry an explicit marker, so cleanup can distinguish HelloAGENTS config from user-owned `notify` commands that also use `codex-notify`
|
|
725
|
+
- 🔧 Codex cleanup now preserves multiline user `notify` arrays and restores them without corrupting surrounding TOML sections
|
|
726
|
+
- 🔧 `notify_level=0` now suppresses warning and confirmation notifications as well as completion notifications, keeping the documented "off" behavior consistent
|
|
727
|
+
- 🔧 Restored `hello-ui` guidance after confirming OpenAI's public skill guidance recommends keeping `SKILL.md` under about 500 lines rather than enforcing a 200-line limit
|
|
728
|
+
- 🧪 Added regressions for Codex `notify` preservation, multiline TOML handling, and notification-level gating
|
|
729
|
+
|
|
730
|
+
### v3.0.9
|
|
722
731
|
|
|
723
732
|
**Fixes and verification:**
|
|
724
|
-
- 🔧 Claude Code / Gemini CLI `stop` delivery gating now
|
|
733
|
+
- 🔧 Claude Code / Gemini CLI `stop` delivery gating now only accepts structured `turn-state` for completion, so ordinary waiting turns no longer get misclassified as finished delivery
|
|
725
734
|
- 🔧 Codex cleanup now preserves user-owned post-install replacements for `model_instructions_file`, `notify`, and non-managed `codex_hooks` instead of restoring stale pre-install values over them
|
|
726
735
|
- 🧪 Added lifecycle/runtime regressions for structured `stop` gating and Codex config preservation after post-install user edits
|
|
727
736
|
|
package/README_CN.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
**质量驱动的 AI 编码 CLI 工作流框架 — 14 个自动激活技能、流程纪律、检查清单把关。**
|
|
10
10
|
|
|
11
|
-
[](./package.json)
|
|
12
12
|
[](https://www.npmjs.com/package/helloagents)
|
|
13
13
|
[](./package.json)
|
|
14
14
|
[](./skills)
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
- [🆚 相比 v2.3.8 的变化](#-相比-v238-的变化)
|
|
37
37
|
- [✨ 核心特性](#-核心特性)
|
|
38
38
|
- [🚀 快速开始](#-快速开始)
|
|
39
|
-
- [🔄
|
|
39
|
+
- [🔄 安装流程与文件写入](#-安装流程与文件写入)
|
|
40
40
|
- [📖 命令](#-命令)
|
|
41
41
|
- [🔧 配置](#-配置)
|
|
42
42
|
- [⚙️ 工作原理](#️-工作原理)
|
|
@@ -95,7 +95,7 @@ HelloAGENTS 就是为了解决这个问题。它是一个编排层,装在你
|
|
|
95
95
|
|
|
96
96
|
如果你上一次认真使用 HelloAGENTS 还是 `v2.3.8`,这一代的变化不是“增量补丁”,而是整条产品线重构。
|
|
97
97
|
|
|
98
|
-
| 维度 | v2.3.8 | 本地 `v3.0.
|
|
98
|
+
| 维度 | v2.3.8 | 本地 `v3.0.10` |
|
|
99
99
|
|------|--------|---------------|
|
|
100
100
|
| **底层实现** | Python 包 + 大量脚本/规则混合 | 纯 Node.js + Markdown 运行时,围绕 `cli.mjs`、`bootstrap*.md`、`skills/`、`scripts/` 重建 |
|
|
101
101
|
| **目标定位** | 更像多 CLI 管理工具 + 提示协议集合 | 更像 AI CLI 的质量工作流框架,重点是路由、把关、验证和可恢复执行 |
|
|
@@ -106,9 +106,9 @@ HelloAGENTS 就是为了解决这个问题。它是一个编排层,装在你
|
|
|
106
106
|
| **质量模型** | 规则较分散,更多依赖自然语言约束 | 14 个自动激活技能 + 检查清单把关 + Ralph Loop + 结构化证据 |
|
|
107
107
|
| **项目状态** | 知识库更多是附属能力 | `.helloagents/` 成为项目激活边界,`STATE.md` / 方案包 / `DESIGN.md` / `contract.json` 组成主流程的主要判断依据 |
|
|
108
108
|
| **知识库存储** | 默认项目本地 | 默认项目本地,同时新增 `project_store_mode=repo-shared`,支持同一 git 仓库多个 worktree 共享稳定知识和方案资产 |
|
|
109
|
-
| **Codex 集成** |
|
|
109
|
+
| **Codex 集成** | 早期依赖更多兼容层和旧流程 | 标准模式使用注入规则 + 本地链接;全局模式使用原生本地插件,减少噪音与漂移 |
|
|
110
110
|
|
|
111
|
-
一句话概括:`v2.3.8` 更像“给多个 CLI 加一层工作流外壳”,`v3.0.
|
|
111
|
+
一句话概括:`v2.3.8` 更像“给多个 CLI 加一层工作流外壳”,`v3.0.10` 更像“把质量规则、计划产物、验证证据和安装生命周期统一成一套真正可运转的工作流框架”。
|
|
112
112
|
|
|
113
113
|
## ✨ 核心特性
|
|
114
114
|
|
|
@@ -217,7 +217,7 @@ helloagents install --all --standby
|
|
|
217
217
|
|------|----------|------|
|
|
218
218
|
| 先安装包,不立即改宿主 | `npm install -g helloagents` | 仅安装命令与 `~/.helloagents/helloagents.json` |
|
|
219
219
|
| 默认保持轻量 | `helloagents install --all --standby` | **标准模式**:显式为目标 CLI 注入精简规则 |
|
|
220
|
-
| 所有项目启用完整规则 | `helloagents install --all --global` 或 `helloagents --global` | 切到 **全局模式**:Claude/Gemini 走原生插件/扩展,Codex
|
|
220
|
+
| 所有项目启用完整规则 | `helloagents install --all --global` 或 `helloagents --global` | 切到 **全局模式**:Claude/Gemini 走原生插件/扩展,Codex 自动安装原生本地插件 |
|
|
221
221
|
| 本地切分支/改文件后重新同步 | `helloagents update codex`、`helloagents install --all --standby`、`helloagents --global` | 按目标或当前模式刷新已注入/已复制的文件 |
|
|
222
222
|
|
|
223
223
|
### 2.1)按单个 CLI 管理
|
|
@@ -233,7 +233,7 @@ helloagents uninstall gemini
|
|
|
233
233
|
- 支持的目标:`claude`、`gemini`、`codex`
|
|
234
234
|
- 省略 `--standby` / `--global` 时:优先沿用该 CLI 已记录或已检测到的模式;如果没有历史记录,则回退到 `standby`
|
|
235
235
|
- `install` / `update` 只处理目标 CLI;用 `--all` 可显式批量处理全部目标
|
|
236
|
-
- Claude Code / Gemini CLI 在 `global` 模式下仍需手动执行原生插件/扩展安装或卸载命令;Codex CLI 仍由 HelloAGENTS
|
|
236
|
+
- Claude Code / Gemini CLI 在 `global` 模式下仍需手动执行原生插件/扩展安装或卸载命令;Codex CLI 仍由 HelloAGENTS 自动处理本地插件安装
|
|
237
237
|
|
|
238
238
|
如需所有项目启用完整规则,切换到全局模式:
|
|
239
239
|
|
|
@@ -251,7 +251,7 @@ helloagents --global
|
|
|
251
251
|
gemini extensions install https://github.com/hellowind777/helloagents
|
|
252
252
|
```
|
|
253
253
|
|
|
254
|
-
Codex CLI 无需手动执行插件命令。`helloagents --global`
|
|
254
|
+
Codex CLI 无需手动执行插件命令。`helloagents --global` 会自动安装原生本地插件,写入:
|
|
255
255
|
- `~/.agents/plugins/marketplace.json`
|
|
256
256
|
- `~/plugins/helloagents/`
|
|
257
257
|
- `~/.codex/plugins/cache/local-plugins/helloagents/local/`
|
|
@@ -286,7 +286,7 @@ Codex CLI 无需手动执行插件命令。`helloagents --global` 会自动走
|
|
|
286
286
|
~plan "重构支付模块"
|
|
287
287
|
```
|
|
288
288
|
|
|
289
|
-
## 🔄
|
|
289
|
+
## 🔄 安装流程与文件写入
|
|
290
290
|
|
|
291
291
|
HelloAGENTS 在不同模式下会写入不同文件,但写入/恢复/清理都是可预期的。
|
|
292
292
|
|
|
@@ -304,12 +304,12 @@ HelloAGENTS 在不同模式下会写入不同文件,但写入/恢复/清理都
|
|
|
304
304
|
|-----|---------|----------|
|
|
305
305
|
| Claude Code | 原生插件安装(手动命令) | 由 Claude 插件系统管理 |
|
|
306
306
|
| Gemini CLI | 原生扩展安装(手动命令) | 由 Gemini 扩展系统管理 |
|
|
307
|
-
| Codex CLI |
|
|
307
|
+
| Codex CLI | 原生本地插件(自动) | `~/.agents/plugins/marketplace.json`、`~/plugins/helloagents/`、`~/.codex/plugins/cache/local-plugins/helloagents/local/`、`~/.codex/config.toml`、`~/.codex/helloagents -> ~/plugins/helloagents` |
|
|
308
308
|
|
|
309
309
|
### 更新 / 重装 / 切分支行为
|
|
310
310
|
|
|
311
311
|
- **标准模式** 通过 `~/.claude/helloagents`、`~/.gemini/helloagents`、`~/.codex/helloagents` 这三个符号链接保持脚本、技能、模板和 hooks 与包根目录同步,相关链接文件会立即反映本地变化;但 `CLAUDE.md`、`GEMINI.md`、`AGENTS.md` 这类注入后的规则文件仍是快照,bootstrap 或分支变化后需要显式刷新。
|
|
312
|
-
- **Codex 全局模式**
|
|
312
|
+
- **Codex 全局模式** 使用复制后的运行时文件,并维护 `~/.codex/helloagents -> ~/plugins/helloagents` 作为 bootstrap 路由期望的稳定读取根目录。重新执行 `helloagents --global` 会刷新 `~/plugins/helloagents/` 和 Codex cache 中的副本。
|
|
313
313
|
- 重新执行当前模式命令是被支持的:`helloagents --standby` 和 `helloagents --global` 都是 **切换或刷新** 命令。
|
|
314
314
|
- 如需确定性的手动清理,先执行 `helloagents cleanup`,再执行 `npm uninstall -g helloagents`。
|
|
315
315
|
- `npm uninstall -g helloagents` 会移除包本身;`~/.helloagents/helloagents.json` 会被有意保留。
|
|
@@ -323,8 +323,8 @@ HelloAGENTS 在不同模式下会写入不同文件,但写入/恢复/清理都
|
|
|
323
323
|
| 命令 | 说明 |
|
|
324
324
|
|------|------|
|
|
325
325
|
| `~idea` | 轻量点子探索 — 比较方向与方案,不写文件 |
|
|
326
|
-
| `~auto` |
|
|
327
|
-
| `~plan` | 结构化规划 — 需求澄清 +
|
|
326
|
+
| `~auto` | 自动执行 — 自动选择主路径并持续推进到实现 / 验证 / 收尾,并优先复用现有活跃方案包 |
|
|
327
|
+
| `~plan` | 结构化规划 — 需求澄清 + 方案确认 + 计划包 |
|
|
328
328
|
| `~build` | 执行实现 — 基于当前需求或现有计划包完成实现 |
|
|
329
329
|
| `~prd` | 完整 PRD — 13 维度头脑风暴式探索,生成产品需求文档 |
|
|
330
330
|
| `~loop` | 自主迭代优化 — 设定目标和指标,AI 循环改进直到达标 |
|
|
@@ -440,7 +440,7 @@ helloagents --standby
|
|
|
440
440
|
- `T0` — 只读探索、点子比较、方向发散
|
|
441
441
|
- `T1` — 低风险小改动、明确实现、显式验证
|
|
442
442
|
- `T2` — 多文件功能、新项目、需要结构化产物的任务
|
|
443
|
-
- `T3` —
|
|
443
|
+
- `T3` — 高风险或不可逆操作,如认证、安全、支付、数据库、生产发布
|
|
444
444
|
|
|
445
445
|
**路由规则:**
|
|
446
446
|
- 点子探索 / 比较方向 → `~idea`
|
|
@@ -464,7 +464,7 @@ HelloAGENTS 支持两种安装模式,采用不同的安装方式:
|
|
|
464
464
|
| **标准模式** (默认) | `helloagents install <target> --standby` 或 `helloagents install --all --standby` | `bootstrap-lite.md`(含压缩版质量下限、UI 质量基线、安全规则与完成约束的精简规则) | `~command` 按需使用;激活前 UI 任务仍受 UI 质量基线约束,出现 `.helloagents/` 后切换到完整流程 | 按需使用,不影响其他项目 |
|
|
465
465
|
| **全局模式** | Claude/Gemini 手动装插件;Codex 自动装原生本地插件 | `bootstrap.md`(完整规则) | 14 个技能自动激活 | 全面使用 HelloAGENTS |
|
|
466
466
|
|
|
467
|
-
标准模式会把规则注入到 `~/.claude/CLAUDE.md`、`~/.gemini/GEMINI.md`、`~/.codex/AGENTS.md`;对于 Codex,HelloAGENTS 还会在 `~/.codex/config.toml` 中写入一条受管的 `model_instructions_file`,指向同步后的 `~/.codex/AGENTS.md`,让同一份 home carrier 同时成为 Codex 的 base instructions override。执行清理时会恢复用户原来的 `model_instructions_file`。每个 CLI 还会创建 `helloagents` 包根目录符号链接。Claude Code 和 Gemini 仍使用 hooks,因为宿主可以较安静地承载这类注入;Codex 默认**不启用** HelloAGENTS hooks:最新 pre 源码里 hook 生命周期会在 TUI 中可见显示,且 `suppressOutput` 不能作为真正的静默注入通道,所以 Codex 改为依赖注入后的规则文件,以及本地符号链接 / 原生本地插件目录结构。全局模式下,Claude Code 通过 `.claude-plugin/plugin.json` 中声明的 hooks 工作,Gemini 通过 `contextFileName=bootstrap.md` 和扩展 hooks 工作;Codex
|
|
467
|
+
标准模式会把规则注入到 `~/.claude/CLAUDE.md`、`~/.gemini/GEMINI.md`、`~/.codex/AGENTS.md`;对于 Codex,HelloAGENTS 还会在 `~/.codex/config.toml` 中写入一条受管的 `model_instructions_file`,指向同步后的 `~/.codex/AGENTS.md`,让同一份 home carrier 同时成为 Codex 的 base instructions override。执行清理时会恢复用户原来的 `model_instructions_file`。每个 CLI 还会创建 `helloagents` 包根目录符号链接。Claude Code 和 Gemini 仍使用 hooks,因为宿主可以较安静地承载这类注入;Codex 默认**不启用** HelloAGENTS hooks:最新 pre 源码里 hook 生命周期会在 TUI 中可见显示,且 `suppressOutput` 不能作为真正的静默注入通道,所以 Codex 改为依赖注入后的规则文件,以及本地符号链接 / 原生本地插件目录结构。全局模式下,Claude Code 通过 `.claude-plugin/plugin.json` 中声明的 hooks 工作,Gemini 通过 `contextFileName=bootstrap.md` 和扩展 hooks 工作;Codex 仍使用原生本地插件安装(marketplace + 本地插件目录 + cache + `config.toml` 插件启用段),并继续使用同一份 `~/.codex/AGENTS.md` home 基线,但不启用插件 hooks。
|
|
468
468
|
|
|
469
469
|
在标准模式下,`.helloagents/` 就是项目激活边界。激活前,lite 规则**不会**进入完整六阶段主流程,也不会启用语义自动选路;它只保留轻量执行规则、显式 `~command` 入口,以及最低质量/完成门槛。项目一旦存在 `.helloagents/`,当前项目就切换到完整项目流程,并以 `bootstrap.md` 作为运行时判断依据。
|
|
470
470
|
|
|
@@ -482,10 +482,10 @@ HelloAGENTS 支持两种安装模式,采用不同的安装方式:
|
|
|
482
482
|
| `~plan` | 仅做交互式规划,生成计划包 | 想先审查方案再编码 |
|
|
483
483
|
| `~build` | 从当前需求或现有计划包执行实现 | 需求已明确,想直接开始做 |
|
|
484
484
|
| `~verify` | 审查与验证工作流 | 想先看审查结果、跑检查并修复 |
|
|
485
|
-
| `~auto` |
|
|
485
|
+
| `~auto` | 在以上模式之间自动选择并一路推进 | 需求明确,想要端到端交付 |
|
|
486
486
|
| `~prd` | 13 维度 PRD 生成 | 需要完整的产品需求文档 |
|
|
487
487
|
|
|
488
|
-
典型模式:先 `~idea` 比较方向,再 `~plan`
|
|
488
|
+
典型模式:先 `~idea` 比较方向,再 `~plan` 确认方案,然后 `~build` 实现,最后 `~verify` 验证。或者直接 `~auto` 一步到位。如果项目里已经有活跃方案包,`~auto` 应先复用现有计划,而不是无故重新脑暴或重新规划。涉及 UI 时,决策优先级固定为:`plan.md` / PRD 中的 UI 决策 → `DESIGN.md` → 通用 UI 规则。
|
|
489
489
|
|
|
490
490
|
### 质量验证(Ralph Loop)
|
|
491
491
|
|
|
@@ -499,9 +499,9 @@ HelloAGENTS 支持两种安装模式,采用不同的安装方式:
|
|
|
499
499
|
|
|
500
500
|
`~wiki` 只创建或同步项目知识库。`~init` 是更完整的项目初始化:它还会写入项目级规则文件(`AGENTS.md`、`CLAUDE.md`、`.gemini/GEMINI.md`)、刷新各宿主项目级原生 skills 链接,并补齐相关忽略项。在标准模式下,真正让当前项目进入完整项目流程的是项目本地 `.helloagents/` 的存在,项目级规则文件只是 `~init` 的附加能力。
|
|
501
501
|
|
|
502
|
-
默认情况下,知识库和方案包都写在项目本地 `.helloagents
|
|
502
|
+
默认情况下,知识库和方案包都写在项目本地 `.helloagents/`。状态文件只使用 `state_path` 指定的位置。当宿主能提供稳定的会话标识时,HelloAGENTS 会把它写到 `.helloagents/sessions/<branch>/<session>/STATE.md`;否则写到分支默认位置 `.helloagents/sessions/<branch>/default/STATE.md`。若 `project_store_mode = "repo-shared"`,本地 `.helloagents/` 仅保留激活信号、会话级 `STATE.md` 与 `.ralph-*` 等运行态文件;`context.md`、`guidelines.md`、`DESIGN.md`、`verify.yaml`、`modules/`、`plans/`、`archive/` 会改写到 `~/.helloagents/projects/<repo-key>/`,从而在同一 git 仓库的多个 worktree 间共享稳定资料。
|
|
503
503
|
|
|
504
|
-
`STATE.md`
|
|
504
|
+
`STATE.md` 是由 `state_path` 解析出的当前状态文件,不是所有交互的统一记忆文件。按“分支 + 会话 / 默认位置”存储后,同仓库并发对话不再争用同一个文件。它会在 `~wiki`、`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop` 这类项目级连续流程中创建并持续更新;在验证/审查类任务中仅在文件已存在时更新;对 `~help` 这类一次性只读交互则不会创建。
|
|
505
505
|
|
|
506
506
|
| 文件 | 用途 |
|
|
507
507
|
|------|------|
|
|
@@ -541,8 +541,8 @@ npm test
|
|
|
541
541
|
测试覆盖:
|
|
542
542
|
- 标准/全局模式的安装、重装、刷新、卸载、模式切换
|
|
543
543
|
- Claude / Gemini / Codex 配置文件的合并、恢复、清理行为
|
|
544
|
-
- Codex
|
|
545
|
-
- 运行时 inject / route / guard / Ralph Loop
|
|
544
|
+
- Codex 本地插件在本地切分支或文件更新后的刷新流程
|
|
545
|
+
- 运行时 inject / route / guard / Ralph Loop 流程
|
|
546
546
|
- `~/.codex/` 已不存在时,Codex 全局产物的清理行为
|
|
547
547
|
|
|
548
548
|
## ❓ FAQ
|
|
@@ -550,7 +550,7 @@ npm test
|
|
|
550
550
|
<details>
|
|
551
551
|
<summary><strong>Q:这是 CLI 工具还是 prompt 框架?</strong></summary>
|
|
552
552
|
|
|
553
|
-
**A:** 两者都是。CLI(`cli.mjs`)负责安装、模式切换和 CLI 配置。实际工作流来自 `bootstrap.md` / `bootstrap-lite.md`
|
|
553
|
+
**A:** 两者都是。CLI(`cli.mjs`)负责安装、模式切换和 CLI 配置。实际工作流来自 `bootstrap.md` / `bootstrap-lite.md` 规则、质量技能,以及按宿主选择的运行时辅助流程。Claude/Gemini 会使用 `notify.mjs`、`guard.mjs`、`ralph-loop.mjs` 等 hooks;Codex 默认走规则文件驱动,尽量保持 TUI 安静。可以理解为:交付系统 + 智能质量协议。
|
|
554
554
|
</details>
|
|
555
555
|
|
|
556
556
|
<details>
|
|
@@ -718,21 +718,30 @@ npm test
|
|
|
718
718
|
|
|
719
719
|
## 📈 版本历史
|
|
720
720
|
|
|
721
|
-
### v3.0.
|
|
721
|
+
### v3.0.10(当前版本)
|
|
722
|
+
|
|
723
|
+
**相对 `v3.0.9beta` 的修复与验证:**
|
|
724
|
+
- 🔧 Codex 受管 `notify` 配置现在带有明确标记,清理时可区分 HelloAGENTS 写入和用户自定义的 `codex-notify`
|
|
725
|
+
- 🔧 Codex 清理流程现在会保留用户的多行 `notify` 数组,并正确恢复周围 TOML 配置
|
|
726
|
+
- 🔧 `notify_level=0` 现在同时关闭完成、警告和确认通知,和文档中的“关闭”含义保持一致
|
|
727
|
+
- 🔧 恢复 `hello-ui` 的完整指导;已确认 OpenAI 公开 skill 建议是主 `SKILL.md` 尽量控制在约 500 行以内,而不是按 200 行硬限制精简
|
|
728
|
+
- 🧪 新增 Codex `notify` 保留、多行 TOML 处理和通知等级门控的回归测试
|
|
729
|
+
|
|
730
|
+
### v3.0.9
|
|
722
731
|
|
|
723
732
|
**修复与验证:**
|
|
724
|
-
- 🔧 Claude Code / Gemini CLI 的 `stop`
|
|
725
|
-
- 🔧 Codex
|
|
733
|
+
- 🔧 Claude Code / Gemini CLI 的 `stop` 交付门控现在只接受结构化 `turn-state` 完成态,普通等待态不再被误判为已完成
|
|
734
|
+
- 🔧 Codex 清理流程现在会保留安装后用户自行改写的 `model_instructions_file`、`notify` 与非托管 `codex_hooks`,不再被安装前旧备份回写覆盖
|
|
726
735
|
- 🧪 新增运行时 / 生命周期回归,覆盖 `stop` 的结构化完成态门控,以及安装后用户改写 Codex 配置时的 cleanup 保留行为
|
|
727
736
|
|
|
728
737
|
### v3.0.7
|
|
729
738
|
|
|
730
739
|
**相对 `v2.3.8` 的当前主线结果:**
|
|
731
|
-
- ✨ 从 Python 包全面重写为 Node.js/Markdown
|
|
732
|
-
- ✨ 把旧的多层路由 / design-develop
|
|
740
|
+
- ✨ 从 Python 包全面重写为 Node.js/Markdown 工作流框架,安装、运行时注入、技能、规则与验证流程全部重建
|
|
741
|
+
- ✨ 把旧的多层路由 / design-develop 流程,统一整理为 ROUTE/TIER → SPEC → PLAN → BUILD → VERIFY → CONSOLIDATE 六阶段主流程
|
|
733
742
|
- ✨ 从旧命令集切换到 `~idea` / `~plan` / `~build` / `~verify` / `~prd` / `~loop` / `~wiki` 等更聚焦的命令体系,并引入 14 个自动激活质量技能
|
|
734
743
|
- ✨ 项目产物体系成型:`STATE.md`、`DESIGN.md`、`requirements.md`、`plan.md`、`tasks.md`、`contract.json`、`.ralph-*` 证据成为流程判断依据,而不是附属文档
|
|
735
|
-
- ✨ 安装模型重构为标准模式 / 全局模式双轨;Codex
|
|
744
|
+
- ✨ 安装模型重构为标准模式 / 全局模式双轨;Codex 改为原生本地插件,Claude/Gemini 保留各自宿主原生能力
|
|
736
745
|
- ✨ 新增 `project_store_mode=repo-shared`,让同一 git 仓库的多个 worktree 可以共享稳定知识库和方案包,而本地 `.helloagents/` 继续保留激活和运行态隔离
|
|
737
746
|
|
|
738
747
|
### v3.0.4
|
|
@@ -761,8 +770,8 @@ npm test
|
|
|
761
770
|
### v3.0.1
|
|
762
771
|
|
|
763
772
|
**修复与验证:**
|
|
764
|
-
- 🔧
|
|
765
|
-
- 🔧 修复 Codex
|
|
773
|
+
- 🔧 明确并加强 `STATE.md` 恢复规则:关键决策变更即更新,长流程一旦失真立即重写,宿主明确进入压缩/恢复前置阶段前必须先确认已同步
|
|
774
|
+
- 🔧 修复 Codex 本地插件清理后的空 `~/.agents/plugins/marketplace.json` 残留
|
|
766
775
|
- 🔧 修复并验证单 CLI `update` 在记录模式过期时仍会优先复用本地已检测模式,符合 `helloagents update <cli>` 的预期行为
|
|
767
776
|
- 🔧 明确标准模式下“链接文件立即同步、注入后的规则文件需显式刷新”的分支 / bootstrap 刷新语义
|
|
768
777
|
- 🧪 新增标准模式规则文件刷新、模式自动复用、Codex 空 marketplace 清理,以及与版本号无关的 npm pack 生命周期测试
|
|
@@ -783,11 +792,11 @@ npm test
|
|
|
783
792
|
- ✨ `~verify` 命令:自动检测并运行所有验证命令
|
|
784
793
|
- ✨ Guard 系统(`guard.mjs`):L1 拦截破坏性命令 + L2 安全模式建议
|
|
785
794
|
- ✨ 标准/全局模式:`install_mode` 配置项支持按项目或全局激活
|
|
786
|
-
- ✨ 流状态管理(`STATE.md
|
|
795
|
+
- ✨ 流状态管理(`STATE.md`):用于压缩/恢复时继续工作的恢复快照(≤70 行)
|
|
787
796
|
- ✨ 设计系统生成(`DESIGN.md`):作为项目级 UI 契约自动创建
|
|
788
797
|
- ✨ 计划包系统:`requirements.md` + `plan.md` + `tasks.md` + `contract.json`
|
|
789
|
-
- ✨ 可选 advisor 契约与证据:仅在 T3 / UI /
|
|
790
|
-
- ✨ 可选视觉验收证据:仅在 UI 契约明确要求时启用,通过 `contract.json` + `.helloagents/.ralph-visual.json`
|
|
798
|
+
- ✨ 可选 advisor 契约与证据:仅在 T3 / UI / 高风险流程启用,通过 `contract.json` + `.helloagents/.ralph-advisor.json` 记录
|
|
799
|
+
- ✨ 可选视觉验收证据:仅在 UI 契约明确要求时启用,通过 `contract.json` + `.helloagents/.ralph-visual.json` 记录
|
|
791
800
|
|
|
792
801
|
**架构:**
|
|
793
802
|
- 📦 先选路再执行的六阶段主流程:ROUTE/TIER → SPEC → PLAN → BUILD → VERIFY → CONSOLIDATE
|
package/bootstrap-lite.md
CHANGED
|
@@ -172,10 +172,10 @@
|
|
|
172
172
|
- `T0` — 只读分析、创意探索、方案比较 → 自然响应或 `~idea`
|
|
173
173
|
- `T1` — 低风险小改动、明确实现、显式验证 → 直接执行或 `~build` / `~verify`
|
|
174
174
|
- `T2` — 多文件功能、新项目、需要结构化产物 → `~plan` 或 `~auto`
|
|
175
|
-
- `T3` —
|
|
175
|
+
- `T3` — 高风险或不可逆操作(权限、安全、支付、数据库、生产发布等)→ 先 `~plan` / `~prd`,再 `~build` / `~verify`
|
|
176
176
|
|
|
177
177
|
## 完成约束
|
|
178
|
-
- 未激活项目且未进入方案包 / `contract.json` /
|
|
178
|
+
- 未激活项目且未进入方案包 / `contract.json` / 证据文件时,声称完成前必须完成与任务类型匹配的必要检查;无法执行的检查必须明确说明,不得直接宣称完成
|
|
179
179
|
- 当前项目已激活,或已存在方案包 / `contract.json` / 证据文件时,以完整流程、对应 skill 与运行时交付约束为准,不得降级为本节
|
|
180
180
|
- 只读分析、创意探索、方案比较、中间进度和阻塞汇报不适用本节
|
|
181
181
|
|
|
@@ -193,13 +193,14 @@
|
|
|
193
193
|
所有文件的创建和更新必须按 templates/ 目录中对应模板的格式执行,不可自由发挥格式。
|
|
194
194
|
说明:
|
|
195
195
|
- `.helloagents/` 表示项目级存储路径,也是 standby 模式的激活信号
|
|
196
|
-
- `
|
|
196
|
+
- `state_path` 指向的状态文件、`.ralph-*.json`、`loop-results.tsv` 等运行态文件始终保留在项目本地 `.helloagents/`
|
|
197
|
+
- `state_path` 是状态文件的唯一位置。宿主提供会话标识时,写入 `.helloagents/sessions/{branch}/{session}/STATE.md`;没有稳定会话标识时,写入 `.helloagents/sessions/{branch}/default/STATE.md`
|
|
197
198
|
- 若 helloagents.json 中 `project_store_mode = "repo-shared"`,`context.md`、`guidelines.md`、`CHANGELOG.md`、`verify.yaml`、`DESIGN.md`、`modules/`、`plans/`、`archive/` 改按当前上下文中已注入的“当前项目存储”/“项目知识/方案目录”解析;未注入具体路径时,按当前存储模式自行解析,不要假定这些文件一定实际位于当前工作树中
|
|
198
199
|
templates/ 查找路径(按优先级;首次确定模板根目录后,本轮复用):
|
|
199
200
|
按上文 `~command` 路由中的相同技能根目录规则确定;确定根目录后读取其中的 `templates/`。
|
|
200
201
|
|
|
201
202
|
### 流程状态(不受 kb_create_mode 控制,始终可写)
|
|
202
|
-
-
|
|
203
|
+
- 状态文件(`state_path`)— ≤70 行,用来记录“上次做到哪里”。判断当前任务时,当前用户消息、显式命令、活跃方案包 / PRD、代码与验证证据优先于状态文件
|
|
203
204
|
内容:主线目标、正在做什么、关键上下文(决策/变更/假设)、下一步(具体可执行动作含文件路径)、阻塞项
|
|
204
205
|
适用边界:
|
|
205
206
|
- 强制创建并持续更新:`~wiki`、`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及进入统一执行流程/已激活项目的连续任务
|
|
@@ -207,14 +208,14 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
207
208
|
- 已有则更新:`~verify`、`~review`(兼容别名)、`~test`、`~commit`
|
|
208
209
|
- 不创建:`~help`、`~idea`、普通问答、一次性只读任务、子代理自身执行过程、压缩/恢复钩子
|
|
209
210
|
更新规则:
|
|
210
|
-
-
|
|
211
|
-
-
|
|
211
|
+
- 属于“强制创建并持续更新”范围且状态文件不存在时,按 templates/STATE.md 创建
|
|
212
|
+
- 每次更新是重写,不是追加。状态文件只记录当前状态,不记录历史
|
|
212
213
|
- 更新时机:任务开始、关键决策落定、子任务完成、遇到/解除阻塞、任务完成
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
214
|
+
- 长流程中状态文件过时就立即重写,不等任务结束
|
|
215
|
+
- 恢复时先看当前用户消息;如果仍是同一任务,再参考状态文件;否则按当前消息、活跃方案包与代码事实重新判断任务,并立即重写状态文件
|
|
216
|
+
- 当前项目只有状态文件时,它只是恢复参考,不是项目规则或自动授权
|
|
217
|
+
- 若宿主进入压缩/恢复前置阶段,且当前任务属于状态文件适用范围,必须先确认状态文件已同步到最新
|
|
218
|
+
- 自检:如果现在上下文被压缩,下一轮能否凭状态文件找回进度?不能 → 该更新了
|
|
218
219
|
- “关键上下文”只保留恢复所需的信息,已不再相关的决策和变更移除
|
|
219
220
|
- DESIGN.md — 项目级稳定 UI 契约(仅 UI 项目),`~plan` / `~auto` / `~prd` 创建或更新;不存在且当前任务涉及 UI → 按 templates/DESIGN.md 创建;不替代单次需求的 `plan.md`
|
|
220
221
|
- plans/{feature}/ — 活跃方案包。`~plan` / `~auto` 生成:`requirements.md` + `plan.md` + `tasks.md` + `contract.json`;`~prd` 生成:`prd/` 目录(多维度文档)+ `tasks.md` + `decisions.md` + `contract.json`
|
|
@@ -222,7 +223,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
222
223
|
- archive/YYYY-MM/ — 已归档的方案包(整个 plans/{feature}/ 目录移入)
|
|
223
224
|
- archive/_index.md — 归档索引
|
|
224
225
|
|
|
225
|
-
###
|
|
226
|
+
### 知识记录(受 kb_create_mode 控制,0=关闭/1=已激活项目或全局模式中编码自动/2=已激活项目或全局模式中始终)
|
|
226
227
|
- context.md — 项目架构、技术栈、目录结构、模块索引
|
|
227
228
|
- guidelines.md — 编码约定(仅含非显而易见的约定)
|
|
228
229
|
- CHANGELOG.md — 变更历史
|
|
@@ -241,17 +242,17 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
241
242
|
主线判断依据优先级:
|
|
242
243
|
1. 当前用户最新消息、显式 `~command`、本轮已确认的范围与结论
|
|
243
244
|
2. 当前活跃方案包 / PRD、代码与验证证据
|
|
244
|
-
3.
|
|
245
|
-
4.
|
|
245
|
+
3. 当前状态文件(`state_path`,只用于补齐最近进度)
|
|
246
|
+
4. 其他知识记录与历史归档
|
|
246
247
|
|
|
247
248
|
### .helloagents/ 文件读取优先级
|
|
248
249
|
以下文件在任务需要时按需读取,按优先级分层:
|
|
249
250
|
说明:
|
|
250
|
-
- Tier 1
|
|
251
|
+
- Tier 1 始终读取当前 `state_path`
|
|
251
252
|
- Tier 2 / Tier 3 中的 `.helloagents/...` 路径默认按项目级存储路径解析;`project_store_mode=repo-shared` 时按共享知识/方案目录解析
|
|
252
253
|
|
|
253
|
-
Tier 1 —
|
|
254
|
-
-
|
|
254
|
+
Tier 1 — 恢复当前任务时优先读取:
|
|
255
|
+
- 当前状态文件(`state_path`)→ 先确认当前消息仍是同一任务,再用它找回最近进度
|
|
255
256
|
|
|
256
257
|
Tier 2 — 理解项目时读取:
|
|
257
258
|
- .helloagents/context.md → 项目架构、技术栈、目录结构、模块索引
|
package/bootstrap.md
CHANGED
|
@@ -176,14 +176,14 @@
|
|
|
176
176
|
- `T0` — 只读分析、创意探索、方案比较 → 自然响应或 `~idea`
|
|
177
177
|
- `T1` — 低风险小改动、明确实现、显式验证 → 直接执行或 `~build` / `~verify`
|
|
178
178
|
- `T2` — 多文件功能、新项目、需要结构化产物 → `~plan` 或 `~auto`
|
|
179
|
-
- `T3` —
|
|
179
|
+
- `T3` — 高风险或不可逆操作(权限、安全、支付、数据库、生产发布等)→ 先 `~plan` / `~prd`,再 `~build` / `~verify`,必要时单独确认
|
|
180
180
|
- 创意探索 / 方案比较 → `~idea`
|
|
181
181
|
- 明确实现 / 小范围修复 → `~build`
|
|
182
182
|
- 为指定模块编写测试 → `~test`
|
|
183
183
|
- 结构化规划 / 新功能 / 新项目 → `~plan`
|
|
184
184
|
- 完整产品规格 → `~prd`
|
|
185
185
|
- 审查 / 执行验证 → `~verify`
|
|
186
|
-
-
|
|
186
|
+
- 不确定或希望端到端自动推进时使用 `~auto`
|
|
187
187
|
|
|
188
188
|
当前项目只要已建立 `.helloagents/`(例如执行过 `~wiki`、`~init`,或已进入项目级连续流程),就按项目级完整流程执行。
|
|
189
189
|
|
|
@@ -209,9 +209,9 @@ hello-* 技能读取路径:`{HELLOAGENTS_READ_ROOT}/skills/{技能名}/SKILL.m
|
|
|
209
209
|
- `~plan` 生成 `requirements.md`、`plan.md`、`tasks.md`、`contract.json`
|
|
210
210
|
- `~prd` 生成 PRD 维度文档、`tasks.md`、`decisions.md`
|
|
211
211
|
- `~build` 读取现有方案包并做定位,不重复发明方案
|
|
212
|
-
- `contract.json` 是方案包的机器契约,至少明确 `verifyMode`、`reviewerFocus`、`testerFocus`;只有在 T3 / UI /
|
|
212
|
+
- `contract.json` 是方案包的机器契约,至少明确 `verifyMode`、`reviewerFocus`、`testerFocus`;只有在 T3 / UI / 高风险流程确有收益时,才额外声明 `advisor`;进入验证或最终交付前,优先消费它而不是从自然语言描述里回推验证路径
|
|
213
213
|
- 涉及 UI 时,设计约束优先级固定为:当前 `plan.md` / PRD UI 决策 → 逻辑 `.helloagents/DESIGN.md`(实际路径按当前项目存储模式解析) → 通用 UI 规则
|
|
214
|
-
- `~idea` 在输出比较与推荐后结束,不进入实现,也不创建 `.helloagents
|
|
214
|
+
- `~idea` 在输出比较与推荐后结束,不进入实现,也不创建 `.helloagents/`、状态文件或方案包
|
|
215
215
|
|
|
216
216
|
### 4. BUILD — 实现
|
|
217
217
|
进入实现时,读取 PLAN 阶段标记的技能 SKILL.md(按上方 hello-* 技能查找路径读取 `skills/{技能名}/SKILL.md`),按其规范执行。
|
|
@@ -233,10 +233,10 @@ hello-* 技能读取路径:`{HELLOAGENTS_READ_ROOT}/skills/{技能名}/SKILL.m
|
|
|
233
233
|
非编码任务(文档 / 方案 / 审查等):
|
|
234
234
|
- 收集已激活技能的交付检查清单,逐项确认通过
|
|
235
235
|
|
|
236
|
-
### 6. CONSOLIDATE —
|
|
236
|
+
### 6. CONSOLIDATE — 状态、资料与归档
|
|
237
237
|
所有任务:
|
|
238
238
|
- 有方案包且准备报告完成 → 优先调用 `scripts/closeout-state.mjs write` 写 `.helloagents/.ralph-closeout.json`,记录“需求覆盖”和“交付清单”;每项写明 `PASS` / `BLOCKED` 与简要摘要,再进入最终交付
|
|
239
|
-
- `
|
|
239
|
+
- 状态文件维护:按上文“流程状态”中的适用范围执行。属于“强制创建并持续更新”范围时,重写 `state_path` 指向的文件(“正在做什么”更新为已完成,清空关键上下文 / 下一步 / 阻塞项);属于“已有则更新”范围时,仅在文件已存在时重写;属于“不创建”范围时不生成此文件
|
|
240
240
|
- 有方案包且任务已完成 → 将整个 `plans/{feature}/` 目录归档到 `.helloagents/archive/YYYY-MM/`,并更新 `archive/_index.md`。清理临时文件(`loop-results.tsv`、`.ralph-breaker.json`、`.ralph-verify.json`、`.ralph-review.json`、`.ralph-closeout.json`)
|
|
241
241
|
- 按 `kb_create_mode` 同步知识库(0=关闭 / 1=已激活项目或全局模式中编码自动 / 2=已激活项目或全局模式中始终):
|
|
242
242
|
- `.helloagents/` 不存在则按 templates/ 创建知识库文件(`context.md`、`guidelines.md`、`verify.yaml`、`CHANGELOG.md`、`modules/`)
|
|
@@ -262,13 +262,14 @@ hello-* 技能读取路径:`{HELLOAGENTS_READ_ROOT}/skills/{技能名}/SKILL.m
|
|
|
262
262
|
所有文件的创建和更新必须按 templates/ 目录中对应模板的格式执行,不可自由发挥格式。
|
|
263
263
|
说明:
|
|
264
264
|
- `.helloagents/` 表示项目级存储路径,也是 standby 模式的激活信号
|
|
265
|
-
- `
|
|
265
|
+
- `state_path` 指向的状态文件、`.ralph-*.json`、`loop-results.tsv` 等运行态文件始终保留在项目本地 `.helloagents/`
|
|
266
|
+
- `state_path` 是状态文件的唯一位置。宿主提供会话标识时,写入 `.helloagents/sessions/{branch}/{session}/STATE.md`;没有稳定会话标识时,写入 `.helloagents/sessions/{branch}/default/STATE.md`
|
|
266
267
|
- 若 helloagents.json 中 `project_store_mode = "repo-shared"`,`context.md`、`guidelines.md`、`CHANGELOG.md`、`verify.yaml`、`DESIGN.md`、`modules/`、`plans/`、`archive/` 改按当前上下文中已注入的“当前项目存储”/“项目知识/方案目录”解析;未注入具体路径时,按当前存储模式自行解析,不要假定这些文件一定实际位于当前工作树中
|
|
267
268
|
templates/ 查找路径(按优先级;首次确定模板根目录后,本轮复用):
|
|
268
269
|
按上文相同的技能根目录规则确定;确定根目录后读取其中的 `templates/`。
|
|
269
270
|
|
|
270
271
|
### 流程状态(不受 kb_create_mode 控制,始终可写)
|
|
271
|
-
-
|
|
272
|
+
- 状态文件(`state_path`)— ≤70 行,用来记录“上次做到哪里”。判断当前任务时,当前用户消息、显式命令、活跃方案包 / PRD、代码与验证证据优先于状态文件
|
|
272
273
|
内容:主线目标、正在做什么、关键上下文(决策/变更/假设)、下一步(具体可执行动作含文件路径)、阻塞项
|
|
273
274
|
适用边界:
|
|
274
275
|
- 强制创建并持续更新:`~wiki`、`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及进入统一执行流程/已激活项目的连续任务
|
|
@@ -276,14 +277,14 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
276
277
|
- 已有则更新:`~verify`、`~review`(兼容别名)、`~test`、`~commit`
|
|
277
278
|
- 不创建:`~help`、`~idea`、普通问答、一次性只读任务、子代理自身执行过程、压缩/恢复钩子
|
|
278
279
|
更新规则:
|
|
279
|
-
-
|
|
280
|
-
-
|
|
280
|
+
- 属于“强制创建并持续更新”范围且状态文件不存在时,按 templates/STATE.md 创建
|
|
281
|
+
- 每次更新是重写,不是追加。状态文件只记录当前状态,不记录历史
|
|
281
282
|
- 更新时机:任务开始、关键决策落定、子任务完成、遇到/解除阻塞、任务完成
|
|
282
|
-
-
|
|
283
|
-
-
|
|
284
|
-
-
|
|
285
|
-
-
|
|
286
|
-
-
|
|
283
|
+
- 长流程中状态文件过时就立即重写,不等任务结束
|
|
284
|
+
- 恢复时先看当前用户消息;如果仍是同一任务,再参考状态文件;否则按当前消息、活跃方案包与代码事实重新判断任务,并立即重写状态文件
|
|
285
|
+
- 当前项目只有状态文件时,它只是恢复参考,不是项目规则或自动授权
|
|
286
|
+
- 若宿主进入压缩/恢复前置阶段,且当前任务属于状态文件适用范围,必须先确认状态文件已同步到最新
|
|
287
|
+
- 自检:如果现在上下文被压缩,下一轮能否凭状态文件找回进度?不能 → 该更新了
|
|
287
288
|
- “关键上下文”只保留恢复所需的信息,已不再相关的决策和变更移除
|
|
288
289
|
- DESIGN.md — 项目级稳定 UI 契约(仅 UI 项目),`~plan` / `~auto` / `~prd` 创建或更新;不存在且当前任务涉及 UI → 按 templates/DESIGN.md 创建;不替代单次需求的 `plan.md`
|
|
289
290
|
- plans/{feature}/ — 活跃方案包。`~plan` / `~auto` 生成:`requirements.md` + `plan.md` + `tasks.md` + `contract.json`;`~prd` 生成:`prd/` 目录(多维度文档)+ `tasks.md` + `decisions.md` + `contract.json`
|
|
@@ -291,7 +292,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
291
292
|
- archive/YYYY-MM/ — 已归档的方案包(整个 plans/{feature}/ 目录移入)
|
|
292
293
|
- archive/_index.md — 归档索引
|
|
293
294
|
|
|
294
|
-
###
|
|
295
|
+
### 知识记录(受 kb_create_mode 控制,0=关闭/1=已激活项目或全局模式中编码自动/2=已激活项目或全局模式中始终)
|
|
295
296
|
- context.md — 项目架构、技术栈、目录结构、模块索引
|
|
296
297
|
- guidelines.md — 编码约定(仅含非显而易见的约定)
|
|
297
298
|
- CHANGELOG.md — 变更历史
|
|
@@ -310,17 +311,17 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
|
|
|
310
311
|
主线判断依据优先级:
|
|
311
312
|
1. 当前用户最新消息、显式 `~command`、本轮已确认的范围与结论
|
|
312
313
|
2. 当前活跃方案包 / PRD、代码与验证证据
|
|
313
|
-
3.
|
|
314
|
-
4.
|
|
314
|
+
3. 当前状态文件(`state_path`,只用于补齐最近进度)
|
|
315
|
+
4. 其他知识记录与历史归档
|
|
315
316
|
|
|
316
317
|
### .helloagents/ 文件读取优先级
|
|
317
318
|
以下文件在任务需要时按需读取,按优先级分层:
|
|
318
319
|
说明:
|
|
319
|
-
- Tier 1
|
|
320
|
+
- Tier 1 始终读取当前 `state_path`
|
|
320
321
|
- Tier 2 / Tier 3 中的 `.helloagents/...` 路径默认按项目级存储路径解析;`project_store_mode=repo-shared` 时按共享知识/方案目录解析
|
|
321
322
|
|
|
322
|
-
Tier 1 —
|
|
323
|
-
-
|
|
323
|
+
Tier 1 — 恢复当前任务时优先读取:
|
|
324
|
+
- 当前状态文件(`state_path`)→ 先确认当前消息仍是同一任务,再用它找回最近进度
|
|
324
325
|
|
|
325
326
|
Tier 2 — 理解项目时读取:
|
|
326
327
|
- .helloagents/context.md → 项目架构、技术栈、目录结构、模块索引
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helloagents",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.10-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
|
|
6
6
|
"author": "HelloWind",
|
|
@@ -8,9 +8,9 @@ function getPrimaryPlan(snapshot) {
|
|
|
8
8
|
return snapshot.activePlans[0] || snapshot.plans[0] || null
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export function selectCapabilities({ cwd, skillName = '' }) {
|
|
12
|
-
const snapshot = getWorkflowSnapshot(cwd)
|
|
13
|
-
const recommendation = getWorkflowRecommendation(cwd)
|
|
11
|
+
export function selectCapabilities({ cwd, skillName = '', options = {} }) {
|
|
12
|
+
const snapshot = getWorkflowSnapshot(cwd, options)
|
|
13
|
+
const recommendation = getWorkflowRecommendation(cwd, options)
|
|
14
14
|
const plan = getPrimaryPlan(snapshot)
|
|
15
15
|
const advisorRequirement = getAdvisorRequirement(plan?.contract)
|
|
16
16
|
const visualRequirement = getVisualValidationRequirement(plan?.contract)
|
|
@@ -52,8 +52,8 @@ export function selectCapabilities({ cwd, skillName = '' }) {
|
|
|
52
52
|
return capabilities
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export function buildCapabilityHint({ cwd, skillName = '' }) {
|
|
56
|
-
const capabilities = selectCapabilities({ cwd, skillName })
|
|
55
|
+
export function buildCapabilityHint({ cwd, skillName = '', options = {} }) {
|
|
56
|
+
const capabilities = selectCapabilities({ cwd, skillName, options })
|
|
57
57
|
if (capabilities.length === 0) return ''
|
|
58
58
|
return `按需能力:${capabilities.map((entry) => `${entry.id}=${entry.description}`).join(' ')}`
|
|
59
59
|
}
|