alanbox 0.1.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.
Files changed (41) hide show
  1. package/0commondflowv1/AGENTS.md +51 -0
  2. package/0commondflowv1/res/three-lens-review.js +124 -0
  3. package/0commondflowv1/src/AGENTS.md +26 -0
  4. package/0commondflowv1/src/args.js +75 -0
  5. package/0commondflowv1/src/cli.js +121 -0
  6. package/0commondflowv1/src/commands/AGENTS.md +29 -0
  7. package/0commondflowv1/src/commands/doctor.js +17 -0
  8. package/0commondflowv1/src/commands/info.js +33 -0
  9. package/0commondflowv1/src/commands/install.js +247 -0
  10. package/0commondflowv1/src/commands/swarm/auto.js +270 -0
  11. package/0commondflowv1/src/commands/swarm/custom.js +60 -0
  12. package/0commondflowv1/src/commands/swarm/index.js +20 -0
  13. package/0commondflowv1/src/core/AGENTS.md +31 -0
  14. package/0commondflowv1/src/core/handoff.js +100 -0
  15. package/0commondflowv1/src/core/prompt-builder.js +93 -0
  16. package/0commondflowv1/src/core/prompt-templates.js +92 -0
  17. package/0commondflowv1/src/core/storage.js +98 -0
  18. package/0commondflowv1/src/core/swarm-executor.js +167 -0
  19. package/0commondflowv1/src/core/workers.js +172 -0
  20. package/0commondflowv1/src/core/workflow-planner.js +366 -0
  21. package/0commondflowv1/src/core/workflow-storage.js +123 -0
  22. package/0commondflowv1/src/prompt/AGENTS.md +16 -0
  23. package/0commondflowv1/src/prompt/default.md +30 -0
  24. package/0commondflowv1/src/prompt/reviewer.md +59 -0
  25. package/0commondflowv1/src/prompt/synthesizer.md +31 -0
  26. package/0commondflowv1/src/prompt/verifier.md +31 -0
  27. package/0commondflowv1/src/runner/AGENTS.md +24 -0
  28. package/0commondflowv1/src/runner/codex-runner.js +519 -0
  29. package/0commondflowv1/src/runner/config.json +16 -0
  30. package/README.md +31 -0
  31. package/bin/multirunagent.js +15 -0
  32. package/hooks/hooks.json +18 -0
  33. package/mcp/README.md +5 -0
  34. package/package.json +45 -0
  35. package/plugin/AGENTS.md +14 -0
  36. package/plugin/plugin.json +36 -0
  37. package/scripts/sub-codex-hook.ps1 +15 -0
  38. package/skills/AGENTS.md +17 -0
  39. package/skills/aibox-swam/SKILL.md +77 -0
  40. package/skills/sub-codex-doctor/SKILL.md +27 -0
  41. package/skills/sub-codex-swarm/SKILL.md +56 -0
package/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # alanbox
2
+
3
+ `alanbox` is a local worker orchestration CLI for running isolated Codex or Claude child workers.
4
+
5
+ The current stable workflow is `swam` / `swarm` from `0commondflowv1`.
6
+
7
+ ## Install
8
+
9
+ ```powershell
10
+ npm install -g alanbox
11
+ ```
12
+
13
+ ## Commands
14
+
15
+ ```powershell
16
+ alanbox info
17
+ alanbox doctor
18
+ alanbox install --target codex
19
+ alanbox install --target claude
20
+ alanbox install --target both
21
+ alanbox swam --namespace run-name --worker "codex:reviewer:检查当前改动"
22
+ alanbox swam --namespace run-name --worker "claude:reviewer:检查当前改动"
23
+ ```
24
+
25
+ `multirunagent` remains available as a compatibility bin name.
26
+
27
+ ## Notes
28
+
29
+ - `install` explicitly copies bundled skills, hooks, scripts, and MCP resource placeholders to Codex and/or Claude homes.
30
+ - `1uiflowv1` measure and `2apiflowv1` getapi are not exposed by this npm package yet.
31
+ - `swam` is a compatibility alias for `swarm`.
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * multirunagent 的包命令入口。
5
+ * bin 层保持很薄,只把命令处理交给 0commondflowv1/src/cli.js。
6
+ */
7
+
8
+ require('../0commondflowv1/src/cli').main().catch((error) => {
9
+ console.error(error.message || error);
10
+ process.exitCode = 1;
11
+ });
12
+
13
+
14
+
15
+
@@ -0,0 +1,18 @@
1
+ {
2
+ "description": "Optional Codex hook examples for multirunagent. Keep disabled unless the local Codex hook schema is explicitly configured.",
3
+ "hooks": {
4
+ "SessionStart": [
5
+ {
6
+ "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\scripts\\sub-codex-hook.ps1\" session-start"
7
+ }
8
+ ],
9
+ "SessionEnd": [
10
+ {
11
+ "command": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\scripts\\sub-codex-hook.ps1\" session-end"
12
+ }
13
+ ]
14
+ }
15
+ }
16
+
17
+
18
+
package/mcp/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # alanbox MCP resources
2
+
3
+ This directory is reserved for optional alanbox MCP resources.
4
+
5
+ The installer copies this directory to Codex and Claude resource homes when present. No MCP server is implemented here yet; keep this placeholder so packaged installs still create the target `mcp/alanbox` directory.
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "alanbox",
3
+ "version": "0.1.1",
4
+ "description": "Run isolated child Codex or Claude workers with serial, parallel, and auto swarm orchestration.",
5
+ "main": "0commondflowv1/src/cli.js",
6
+ "bin": {
7
+ "alanbox": "bin/multirunagent.js",
8
+ "multirunagent": "bin/multirunagent.js"
9
+ },
10
+ "files": [
11
+ "bin/**",
12
+ "0commondflowv1/**",
13
+ "skills/**",
14
+ "plugin/**",
15
+ "hooks/**",
16
+ "mcp/**",
17
+ "scripts/**",
18
+ "README.md",
19
+ "LICENSE"
20
+ ],
21
+ "scripts": {
22
+ "swarm": "node bin/multirunagent.js swarm",
23
+ "doctor": "node bin/multirunagent.js doctor",
24
+ "test": "node bin/multirunagent.js --help && node bin/multirunagent.js info",
25
+ "validate": "node bin/multirunagent.js info"
26
+ },
27
+ "keywords": [
28
+ "codex",
29
+ "multi-agent",
30
+ "worker",
31
+ "swarm",
32
+ "cli",
33
+ "plugin",
34
+ "skills"
35
+ ],
36
+ "license": "MIT",
37
+ "publishConfig": {
38
+ "access": "public",
39
+ "registry": "https://registry.npmjs.org/"
40
+ },
41
+ "engines": {
42
+ "node": ">=20.0.0"
43
+ }
44
+ }
45
+
@@ -0,0 +1,14 @@
1
+ ## alanbox plugin
2
+
3
+ `C:\Users\lenovo\Desktop\my-project\101my-aitool\aibox\plugin` 存放源码侧 Codex plugin manifest。安装时 `0commondflowv1/src/commands/install.js` 会把本目录复制到用户插件目录的 `plugins/alanbox/.codex-plugin/`,所以源码目录名是 `plugin/`,安装目标目录名才是 `.codex-plugin/`。
4
+
5
+ **Important:** 这里是 Codex 插件展示与 skill 发现配置,不是 Claude 配置。Claude 侧只复用 `skills/`、`hooks/`、`scripts/`、`mcp/` 资源,不读取 `plugin.json`。
6
+
7
+ ### Important files
8
+
9
+ - `plugin.json` — Codex plugin manifest;`skills` 必须继续指向 `./skills/`,默认提示词应只描述当前真实入口 `swam`/`swarm`、`info`、`doctor`。
10
+
11
+ ### Implementation notes
12
+
13
+ - 修改 skill 名称、插件展示文案或 package 分发目录时,同步检查根目录 `package.json.files` 和 `install.js`。
14
+ - 不要在 manifest 里写已经移除的 `exec`、独立 `parallel` 或 `dry-run` 用法。
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "alanbox",
3
+ "version": "0.1.1",
4
+ "description": "Codex skills for using alanbox to run isolated Codex or Claude child workers.",
5
+ "author": {
6
+ "name": "local"
7
+ },
8
+ "license": "MIT",
9
+ "keywords": [
10
+ "codex",
11
+ "sub-agent",
12
+ "worker",
13
+ "swarm",
14
+ "automation"
15
+ ],
16
+ "skills": "./skills/",
17
+ "interface": {
18
+ "displayName": "alanbox",
19
+ "shortDescription": "Use alanbox swam/swarm to run child Codex or Claude workers.",
20
+ "longDescription": "Provides concise skills that explain how to call alanbox for swam/swarm, parallel worker scheduling, auto workflow, and doctor checks.",
21
+ "developerName": "local",
22
+ "category": "Productivity",
23
+ "capabilities": [
24
+ "Write",
25
+ "Automation"
26
+ ],
27
+ "defaultPrompt": [
28
+ "Use alanbox swam to run one child Codex worker.",
29
+ "Use alanbox swam to run one child Claude worker.",
30
+ "Plan a serial swam workflow for this task."
31
+ ]
32
+ }
33
+ }
34
+
35
+
36
+
@@ -0,0 +1,15 @@
1
+ param(
2
+ [string]$EventName = "unknown"
3
+ )
4
+
5
+ $Root = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
6
+ $LogDir = Join-Path $Root ".sub-codex-hooks"
7
+ $LogPath = Join-Path $LogDir "events.log"
8
+
9
+ New-Item -ItemType Directory -Force -Path $LogDir | Out-Null
10
+ $Line = "$(Get-Date -Format o) $EventName"
11
+ Add-Content -LiteralPath $LogPath -Encoding UTF8 -Value $Line
12
+ Write-Output $Line
13
+
14
+
15
+
@@ -0,0 +1,17 @@
1
+ ## aibox skills
2
+
3
+ `C:\Users\lenovo\Desktop\my-project\101my-aitool\aibox\skills` 存放随 `alanbox` 分发的 agent skills。当前只描述 `0commondflowv1` 的 `swam`/`swarm`、`info` 和 `doctor` 用法;不要在这里接入 `1uiflowv1` 的 measure 或 `2apiflowv1` 的 getapi,除非用户重新明确要求。
4
+
5
+ **Important:** skills 只写调用 workflow,不实现业务逻辑。发布包中的示例优先使用 `alanbox ...`;本地源码调试才使用 `node bin/multirunagent.js ...`。
6
+
7
+ ### Important files
8
+
9
+ - `aibox-swam/SKILL.md` — 通用 swam workflow skill;同时适用于 Codex 和 Claude,示例应覆盖 `codex:` 与 `claude:` worker。
10
+ - `sub-codex-swarm/SKILL.md` — 兼容旧触发名的 swarm skill;保留但内容必须和当前 `swam`/`swarm` CLI 行为一致。
11
+ - `sub-codex-doctor/SKILL.md` — 诊断 skill;只指导调用 `info` 和 `doctor`。
12
+
13
+ ### Implementation notes
14
+
15
+ - 新增或修改 CLI 参数时,同步检查对应 `SKILL.md` 示例。
16
+ - `install` 会把本目录中含 `SKILL.md` 的子目录安装到 Codex 的 `~/.codex/skills`,以及 Claude 的 `~/.claude/skill`。
17
+ - 不要把一次性本机 runId、账号、token、私有服务地址写进 skill。
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: aibox-swam
3
+ description: 当 Codex 或 Claude 需要通过 alanbox 调用 swam/swarm 执行 Codex 或 Claude 子 worker 时使用。
4
+ ---
5
+
6
+ # aibox swam workflow
7
+
8
+ 本 skill 只负责指导调用 alanbox 的 `swam`/`swarm` 命令。真实执行由 CLI 完成;不要在 skill 内复制实现逻辑。
9
+
10
+ ## 入口
11
+
12
+ ```powershell
13
+ alanbox swam --namespace run-name --worker "codex:reviewer:检查当前改动"
14
+ ```
15
+
16
+ `swam` 是 `swarm` 的兼容别名;两者走同一条执行链路。
17
+
18
+ ## 调用 Codex worker
19
+
20
+ ```powershell
21
+ alanbox swam --namespace codex-check --worker "codex:reviewer:复核 src 目录的正确性问题"
22
+ ```
23
+
24
+ ## 调用 Claude worker
25
+
26
+ ```powershell
27
+ alanbox swam --namespace claude-check --worker "claude:reviewer:复核 src 目录的正确性问题"
28
+ ```
29
+
30
+ ## 串行和并行
31
+
32
+ 后一个 worker 需要读取前一个 worker 的结论时,重复传 `--worker`:
33
+
34
+ ```powershell
35
+ alanbox swam --namespace staged-review --worker "codex:lead:先分析问题范围" --worker "claude:reviewer:基于上游结论复核"
36
+ ```
37
+
38
+ 多个 worker 可以独立执行时,使用 `--parallel-workers`:
39
+
40
+ ```powershell
41
+ alanbox swam --namespace parallel-review --parallel-workers --worker "codex:a:检查前端" --worker "claude:b:检查脚本"
42
+ ```
43
+
44
+ 混合串行/并行阶段时,用方括号表示同一阶段并行:
45
+
46
+ ```powershell
47
+ alanbox swam --namespace mixed-review --worker "codex:lead:先拆分任务" --worker "[codex:frontend:检查前端,claude:backend:检查后端]" --worker "codex:summary:汇总结论"
48
+ ```
49
+
50
+ ## 自动 workflow
51
+
52
+ 需要 CLI 先推荐 workflow,再确认执行时:
53
+
54
+ ```powershell
55
+ alanbox swam --auto "检查这个项目的主要风险" -a "codex:reviewer:检查代码正确性" -a "claude:reviewer:检查可维护性" -p "优先按目录拆分"
56
+ ```
57
+
58
+ 非交互恢复待执行 workflow:
59
+
60
+ ```powershell
61
+ alanbox swam --resume <runId> --namespace <namespace> -y
62
+ ```
63
+
64
+ ## 读取结果
65
+
66
+ ```text
67
+ %USERPROFILE%\.multirunagent\<namespace>\results\
68
+ %USERPROFILE%\.multirunagent\<namespace>\memory\index.json
69
+ %USERPROFILE%\.multirunagent\<namespace>\runs\<runId>\
70
+ ```
71
+
72
+ 如果只是诊断配置,先用:
73
+
74
+ ```powershell
75
+ alanbox info
76
+ alanbox doctor
77
+ ```
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: sub-codex-doctor
3
+ description: 当 Codex 或 Claude 需要检查或诊断本地 alanbox 包、worker 配置、账户主目录、CLI 命令路径、沙箱或子 worker 健康状况时使用。
4
+ ---
5
+
6
+ # alanbox 诊断(Doctor)
7
+
8
+ 检查已解析的配置:
9
+
10
+ ```powershell
11
+ alanbox info
12
+ ```
13
+
14
+ 通过 alanbox 运行 provider CLI 健康检查:
15
+
16
+ ```powershell
17
+ alanbox doctor
18
+ ```
19
+
20
+ 指定某个账户或 worker:
21
+
22
+ ```powershell
23
+ alanbox info --worker worker-e7
24
+ alanbox doctor --account codex-19b
25
+ ```
26
+
27
+ 修改配置前优先运行 `info`。当子 Codex 命令、鉴权、网络、MCP 或状态存储可能出现故障时,使用 `doctor`。
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: sub-codex-swarm
3
+ description: 当 Codex 或 Claude 需要使用 alanbox 的 swam/swarm 串行、并行或自动 GOAP 工作流规划,并在真实子 worker 运行前进行确认时使用。
4
+ ---
5
+
6
+ # alanbox 集群(swam/swarm)
7
+
8
+ 当后续 worker 必须基于先前结果展开时,使用串行 swarm:
9
+
10
+ ```powershell
11
+ alanbox swam --namespace run-name --worker "codex:lead:主分析任务" --worker "claude:reviewer:基于上游结果复核"
12
+ ```
13
+
14
+ `swam` 是 `swarm` 的兼容别名,两者走同一条执行链路。
15
+
16
+ 需要混合串行和并行阶段时,在一个 `--worker` 参数中用方括号包住同一阶段的多个 worker:
17
+
18
+ ```powershell
19
+ alanbox swam --namespace run-name --worker "codex:a:先分析 A" --worker "[codex:c:并行检查 C,claude:d:并行检查 D]" --worker "codex:e:基于 C 和 D 汇总"
20
+ ```
21
+
22
+ 上例执行顺序是 `a -> [c,d] -> e`。方括号内用英文逗号分隔;如果 prompt 里必须出现字面逗号,写成 `\,`。
23
+
24
+ Worker 规格格式:
25
+
26
+ ```text
27
+ <worker-or-platform>:<role>:<prompt>
28
+ ```
29
+
30
+ 当用户给出自然语言目标、并希望 CLI 先推荐一个工作流时,使用自动工作流:
31
+
32
+ ```powershell
33
+ alanbox swam --auto "帮我检查我的项目有问题" -a "codex:reviewer:复核当前项目代码" -a "claude:reviewer:复核可维护性" -p "最好每个子文件夹一个子agent并行"
34
+ ```
35
+
36
+ 自动工作流规则:
37
+
38
+ - `swam` 作为 `swarm` 的兼容别名被接受。
39
+ - 在 `swarm --auto` 中,`-a` / `--agent` 是可重复的 agent 规格;如需隔离账户,使用 `--account`。
40
+ - 在 `swarm --auto` 中,`-p` / `--plan-hint` 是规划指引;如需 Codex profile,使用 `--profile`。
41
+ - auto workflow 会调用真实 provider(已无 dry-run 预览);不带 `-y` 时,CLI 会先推荐工作流并等待确认后才运行真实 worker。
42
+ - 在非交互模式下,可通过以下方式恢复一个待处理的运行:
43
+
44
+ ```powershell
45
+ alanbox swam --resume <runId> --namespace <namespace> -y
46
+ ```
47
+
48
+ 真实运行后读取输出:
49
+
50
+ ```text
51
+ %USERPROFILE%\.multirunagent\<namespace>\results\
52
+ %USERPROFILE%\.multirunagent\<namespace>\memory\index.json
53
+ %USERPROFILE%\.multirunagent\<namespace>\runs\<runId>\
54
+ ```
55
+
56
+ 当 worker B 需要 worker A 的结论时,使用普通 `swam`/`swarm`;只有全部 worker 都彼此独立时才加 `--parallel-workers`。混合串行/并行阶段用方括号分组。Skill 仅指导 CLI 的用法;所有实际执行都由 CLI 完成。