@metagptx/deepflow-suite-cli 0.2.11-dev.20261020.1 → 0.3.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 (51) hide show
  1. package/README.md +44 -50
  2. package/bin/deepflow-suite.js +4 -4
  3. package/bundle/deepflow-release.json +21 -46
  4. package/bundle/skills/deepflow-suite/SKILL.md +7 -1
  5. package/bundle/skills/df-agentctrl/SKILL.md +5 -1
  6. package/bundle/skills/df-agentrt/SKILL.md +15 -0
  7. package/bundle/skills/df-agentrt-repo/SKILL.md +4 -0
  8. package/bundle/skills/df-task/SKILL.md +4 -0
  9. package/bundle/skills/df-taskdriver/SKILL.md +5 -1
  10. package/bundle/skills/df-workbench/SKILL.md +10 -2
  11. package/manifest.json +12 -30
  12. package/package.json +8 -17
  13. package/runtime/df-agentctrl/commands.mjs +93 -0
  14. package/runtime/df-agentctrl/df-agentctrl.mjs +119 -0
  15. package/runtime/df-agentctrl/release.json +1 -0
  16. package/runtime/df-agentrt/agentrt.mjs +3 -0
  17. package/runtime/df-agentrt/df-agentrt.mjs +3 -0
  18. package/runtime/df-agentrt/release.json +1 -0
  19. package/runtime/df-agentrt/result.mjs +44 -0
  20. package/runtime/df-agentrt/runtime.mjs +358 -0
  21. package/runtime/df-agentrt/usage.mjs +16 -0
  22. package/runtime/df-task/commands.mjs +188 -0
  23. package/runtime/df-task/df-task.mjs +167 -0
  24. package/runtime/df-task/protocol.mjs +3 -0
  25. package/runtime/df-task/read.mjs +127 -0
  26. package/runtime/df-task/release.json +1 -0
  27. package/runtime/df-taskdriver/df-taskdriver.mjs +131 -0
  28. package/runtime/df-taskdriver/release.json +1 -0
  29. package/runtime/{df-workbench.mjs → df-workbench/df-workbench.mjs} +11 -2
  30. package/runtime/df-workbench/release.json +1 -0
  31. package/scripts/build-package.mjs +29 -25
  32. package/src/bundle.mjs +4 -1
  33. package/src/cli-install.mjs +35 -125
  34. package/src/commands/doctor.mjs +2 -0
  35. package/src/linker.mjs +2 -2
  36. package/src/manifest.mjs +7 -13
  37. package/src/package-cli.mjs +44 -60
  38. package/bin/df-agentctrl.js +0 -10
  39. package/bin/df-agentrt.js +0 -10
  40. package/bin/df-task.js +0 -10
  41. package/bin/df-taskdriver.js +0 -10
  42. package/bin/df-workbench.js +0 -10
  43. package/bundle/skills/deepflow-suite/manifest.yaml +0 -20
  44. package/bundle/skills/df-task/skill_test.go +0 -201
  45. package/bundle/skills/df-workbench/manifest.yaml +0 -5
  46. package/scripts/build-runtime-packages.mjs +0 -38
  47. package/skills/deepflow-suite/SKILL.md +0 -81
  48. package/skills/deepflow-suite/manifest.yaml +0 -20
  49. package/src/cli-launcher.mjs +0 -71
  50. package/src/runtime-build.mjs +0 -193
  51. package/src/runtime-package.mjs +0 -31
package/README.md CHANGED
@@ -1,72 +1,66 @@
1
1
  # `@metagptx/deepflow-suite-cli`
2
2
 
3
- `deepflow-suite` is the published DeepFlow distribution CLI. It is intentionally
4
- separate from the legacy `@metagptx/deepflow-cli` package, which owns the
5
- `deepflow` command.
3
+ DeepFlow ships one portable Node package containing `deepflow-suite`, five service
4
+ CLIs and seven Skills. Node.js 22.13+ is required. Users do not need Go, Make, a
5
+ workspace checkout, optional dependencies or an OS-specific runtime package.
6
6
 
7
- ## Install
7
+ ## Install and check
8
8
 
9
9
  ```bash
10
10
  npm install -g @metagptx/deepflow-suite-cli
11
- deepflow-suite --help
12
- deepflow-suite install --source package
13
- deepflow-suite doctor --source package --json
11
+ deepflow-suite install
12
+ deepflow-suite doctor --json
14
13
  ```
15
14
 
16
- The public package includes the `deepflow-suite` entrypoint, the five service
17
- CLI launchers (`df-workbench`, `df-task`, `df-taskdriver`, `df-agentctrl`, and
18
- `df-agentrt`), and seven bundled Skills. npm automatically selects the matching
19
- runtime package for `darwin-arm64`, `darwin-x64`, `linux-arm64`, `linux-x64`, or
20
- `win32-x64`; the user does not need a DeepFlow checkout, Go, or Make.
21
-
22
- `install --source package` copies the seven Skills into `$CODEX_HOME/skills`
23
- (or `~/.codex/skills`) and verifies all six command launchers plus the selected
24
- runtime package. `doctor --source package --json` reports the same complete
25
- distribution check. Use `--target` to choose another Skill directory and
26
- `--force` only when replacing an existing installation is intentional.
27
-
28
- If npm is run with `--omit=optional`, package installation fails before changing
29
- the Skill directory and reports the missing platform runtime package. Reinstall
30
- without `--omit=optional` to obtain the four Go-backed CLIs.
31
-
32
- ## Environment selection
33
-
34
- The service Skills cover `local`, `dev`, and domestic production `prod-cn`.
35
- Select the environment explicitly, then configure the service URL described in
36
- its Skill; installing the package does not select an environment or log in.
37
- The package release does not update deployed Runtime images, existing Session
38
- Skill snapshots, or Agent Control definitions.
15
+ npm registers `deepflow-suite`, `df-workbench`, `df-task`, `df-taskdriver`,
16
+ `df-agentctrl` and `df-agentrt` through `package.json#bin`. The installer copies
17
+ bundled Skills to `$CODEX_HOME/skills` (or `~/.codex/skills`); `--target` chooses
18
+ another Skill directory. Existing regular Skill directories require `--force`.
19
+ Skills contain instructions and references; they rely on Suite-provided commands
20
+ and do not carry CLI implementations. `--source package` remains supported and
21
+ is the default. npm installation does not modify the user's Skill directories.
22
+
23
+ `doctor` checks the installed Skill contents, all six entrypoints, their Suite
24
+ version, and the command actually selected by PATH. It reports stale commands
25
+ from previous installations without overwriting them. Each service CLI supports
26
+ `--cli-version --json`, separate from Agent definition `--version` arguments.
27
+ `npm install --ignore-scripts --omit=optional` is supported.
28
+
29
+ Select local/dev/prod explicitly before service calls, then configure the URL
30
+ and identity documented by the relevant Skill. Installation performs no login
31
+ or service calls. CLI releases do not update services, Agent definitions or
32
+ existing Session snapshots.
39
33
 
40
34
  ## Workspace development
41
35
 
42
- From the DeepFlow workspace, install relative Skill links and build the five
43
- service CLIs:
36
+ CLI source belongs to each service's `cli/` directory. Suite bundles those
37
+ sources without maintaining another client implementation. Development links
38
+ point directly to Node entries and do not compile services:
44
39
 
45
40
  ```bash
46
- deepflow-suite install --source workspace --bin-dir "$HOME/.local/bin"
47
- deepflow-suite doctor --source workspace --json
41
+ node tools/deepflow-cli/bin/deepflow-suite.js install --source workspace
42
+ node tools/deepflow-cli/bin/deepflow-suite.js doctor --source workspace --json
48
43
  ```
49
44
 
50
- The workspace distribution contains `deepflow-suite`, `df-workbench`,
51
- `df-task`, `df-taskdriver`, `df-agentctrl`, `df-agentrt`, and `df-agentrt-repo`.
52
- The four Runtime variant Skills (`df-agentrt-full`, `df-agentrt-git`,
53
- `df-agentrt-ci`, and `df-agentrt-preview`) are selected by Agent definitions
54
- and are not part of the ordinary distribution.
45
+ Use `--bin-dir` to choose a command directory. Replacing a different existing
46
+ command requires `--force`. The normal Skill set is `deepflow-suite`,
47
+ `df-workbench`, `df-task`, `df-taskdriver`, `df-agentctrl`, `df-agentrt` and
48
+ `df-agentrt-repo`; Runtime-specific variant Skills remain separate.
55
49
 
56
- ## Publishing
50
+ ## Build and release
57
51
 
58
- The package is prepared for public scoped publication like Console CLI:
52
+ Run service CLI contract tests and Node tests, then:
59
53
 
60
54
  ```bash
61
- npm run test
62
- npm run build:runtime
63
- npm run check:runtime
64
- npm run pack:dry-run
55
+ npm test
56
+ npm pack
65
57
  npm publish
66
58
  ```
67
59
 
68
- Publish the five platform runtime packages before publishing the main package;
69
- all six entrypoints and platform packages must use the same version. `prepack`
70
- materializes the seven Skill bundle, the Workbench Node entrypoint, and the
71
- runtime release metadata. The published installer never overwrites an existing
72
- Skill or CLI file without `--force`.
60
+ `prepack` gathers the five Node clients and seven Skills and generates release
61
+ metadata from the npm package version. The package has no native build or
62
+ runtime download step. Cross-platform install tests use the same npm tarball.
63
+ Old platform packages remain available for pinned 0.2.x releases; mark them
64
+ deprecated after the portable release is available, rather than unpublishing
65
+ packages still referenced by older versions. The legacy `@metagptx/deepflow-cli`
66
+ package and its `deepflow` command are a separate product entrypoint.
@@ -14,7 +14,7 @@ function parseArgs(argv) {
14
14
  const [first, ...rest] = argv;
15
15
  const command = first?.startsWith("-") ? undefined : first;
16
16
  const argumentsToParse = command ? rest : argv;
17
- const options = { source: "workspace", workspaceRoot: process.cwd() };
17
+ const options = { source: "package", workspaceRoot: process.cwd() };
18
18
  for (let index = 0; index < argumentsToParse.length; index += 1) {
19
19
  const argument = argumentsToParse[index];
20
20
  if (argument === "--source") options.source = argumentsToParse[++index];
@@ -27,14 +27,14 @@ function parseArgs(argv) {
27
27
  else if (argument === "--skip-cli") options.skipCli = true;
28
28
  else if (argument === "--json") options.json = true;
29
29
  else if (argument === "--help" || argument === "-h") options.help = true;
30
- else if (argument === "--version" || argument === "-v") options.version = true;
30
+ else if (argument === "--version" || argument === "--cli-version" || argument === "-v") options.version = true;
31
31
  else throw new Error(`unknown option: ${argument}`);
32
32
  }
33
33
  return { command, options };
34
34
  }
35
35
 
36
36
  function printHelp() {
37
- console.log(`${CLI_NAME} — DeepFlow distribution installer\n\nCommands:\n install --source workspace [--root <path>] [--bin-dir <path>] [--skip-cli]\n install --source package [--target <path>] [--force]\n install --source bundle --bundle <path> [--target <path>] [--force]\n doctor [--root <path>] [--bin-dir <path>]\n bundle --root <path> --output <path>\n\nUse ${CLI_NAME} --help for this message.`);
37
+ console.log(`${CLI_NAME} — DeepFlow distribution installer\n\nCommands:\n install [--target <path>] [--force] Install bundled Skills; npm provides all five CLIs\n doctor [--json] Check Skills, CLI versions and PATH\n install --source workspace [--root <path>] [--bin-dir <path>] [--skip-cli]\n doctor --source workspace [--root <path>] [--bin-dir <path>]\n bundle --root <path> --output <path>\n\nThe default source is package.`);
38
38
  }
39
39
 
40
40
  function output(value, json) {
@@ -47,7 +47,7 @@ const manifestPath = path.join(packageRoot, "manifest.json");
47
47
 
48
48
  if (options.version) {
49
49
  const packageJson = JSON.parse(await readFile(path.join(packageRoot, "package.json"), "utf8"));
50
- console.log(packageJson.version);
50
+ console.log(options.json ? JSON.stringify({ name: CLI_NAME, version: packageJson.version, entry: fileURLToPath(import.meta.url) }) : packageJson.version);
51
51
  process.exit(0);
52
52
  }
53
53
 
@@ -2,13 +2,13 @@
2
2
  "schemaVersion": 1,
3
3
  "distribution": "deepflow-suite",
4
4
  "package": "@metagptx/deepflow-suite-cli",
5
- "version": "0.2.11-dev.20261020.1",
5
+ "version": "0.3.1",
6
6
  "platform": "any",
7
7
  "arch": "any",
8
8
  "cli": {
9
9
  "name": "deepflow-suite",
10
10
  "package": "@metagptx/deepflow-suite-cli",
11
- "version": "0.2.11-dev.20261020.1",
11
+ "version": "0.3.1",
12
12
  "command": "deepflow-suite"
13
13
  },
14
14
  "skills": [
@@ -16,15 +16,10 @@
16
16
  "name": "deepflow-suite",
17
17
  "source": "tools/deepflow-cli/skills/deepflow-suite",
18
18
  "files": [
19
- {
20
- "path": "manifest.yaml",
21
- "size": 362,
22
- "sha256": "03089402b9a59b0605c582e968226f7868928043daea37d5944468d1f4b41b92"
23
- },
24
19
  {
25
20
  "path": "SKILL.md",
26
- "size": 3524,
27
- "sha256": "8be45b44925906998ec838dcd46a74e164b8e75572523b4facc7cc5e0e1a3118"
21
+ "size": 4018,
22
+ "sha256": "ebd8b217b9ce1ca5dc50024838db41ad8afae08a2bc6d2b2cebd6cd5f46fd0b1"
28
23
  }
29
24
  ]
30
25
  },
@@ -32,15 +27,10 @@
32
27
  "name": "df-workbench",
33
28
  "source": "deepflow-workbench/skills/df-workbench",
34
29
  "files": [
35
- {
36
- "path": "manifest.yaml",
37
- "size": 84,
38
- "sha256": "e7e7697d875a49b5d3d4dd4d38fb8479d8a1fb175ab65ab6a2c79addbb171457"
39
- },
40
30
  {
41
31
  "path": "SKILL.md",
42
- "size": 5782,
43
- "sha256": "a7df787038aa0f47a81da0c6ff28239d793e621c262c5254661009d16c9177fd"
32
+ "size": 6670,
33
+ "sha256": "f85fb71550d67a607a0507fe1259b1da753aeede5704a33035fff4f67029700e"
44
34
  }
45
35
  ]
46
36
  },
@@ -103,15 +93,10 @@
103
93
  "size": 1953,
104
94
  "sha256": "94bc4eb79b3f560b5bf0eb1cc728a1b2594dc698de02917f0ea53aea3d9c59f2"
105
95
  },
106
- {
107
- "path": "skill_test.go",
108
- "size": 9146,
109
- "sha256": "88dfe1f8104812ff1c9c8dd2c869e116a0774e0972fde7e2bd3329f0b2cd332e"
110
- },
111
96
  {
112
97
  "path": "SKILL.md",
113
- "size": 13099,
114
- "sha256": "c83eef5901c10a4669d98ee7cf3d210a310bfef021e6aff5a3f1ec0913318ee1"
98
+ "size": 13393,
99
+ "sha256": "cd1ffc54bf884f02e540ddd4b75c805ed868e32d298d20abcecb3c8af51feb8b"
115
100
  }
116
101
  ]
117
102
  },
@@ -121,8 +106,8 @@
121
106
  "files": [
122
107
  {
123
108
  "path": "SKILL.md",
124
- "size": 13261,
125
- "sha256": "108ad742c99f5299a520954f994c1d969212b945881542a83a6e13d8b4def33d"
109
+ "size": 13523,
110
+ "sha256": "e336448764276e9043c7cbf0db57b66ed417be084d086ac161e42b7ca4013df7"
126
111
  }
127
112
  ]
128
113
  },
@@ -157,8 +142,8 @@
157
142
  },
158
143
  {
159
144
  "path": "SKILL.md",
160
- "size": 5120,
161
- "sha256": "3d4733fecf8feed798c4870356ae403b97a24214ed3c67fe8a89710640f0373e"
145
+ "size": 5411,
146
+ "sha256": "11f9127b58bfc7b6d28dfa6c0e588a9f458a9d3f9cc33aefee815d19c04327dc"
162
147
  }
163
148
  ]
164
149
  },
@@ -188,8 +173,8 @@
188
173
  },
189
174
  {
190
175
  "path": "SKILL.md",
191
- "size": 10787,
192
- "sha256": "a80b106dd9f2661c794eec40da955a267f20119ec9db89b112982c4d6b3f034e"
176
+ "size": 11934,
177
+ "sha256": "8710e7ec3da45b8363006bc09befa79b07e8edde4f8f46d98841b8761d1ea228"
193
178
  }
194
179
  ]
195
180
  },
@@ -199,8 +184,8 @@
199
184
  "files": [
200
185
  {
201
186
  "path": "SKILL.md",
202
- "size": 3198,
203
- "sha256": "1f2e9b3c3631eefc8d0bbf1a3727a0aaf64ea31647da26f22dc025ba0aae996d"
187
+ "size": 3492,
188
+ "sha256": "f04a22e7967727217003071b7ad7c9268fde9058af4e1f8d3de22e28e18ac718"
204
189
  }
205
190
  ]
206
191
  }
@@ -209,37 +194,27 @@
209
194
  {
210
195
  "name": "df-workbench",
211
196
  "project": "deepflow-workbench",
212
- "install": "project",
213
- "package": "@metagptx/deepflow-suite-cli",
214
- "mode": "node"
197
+ "entry": "cli/df-workbench.mjs"
215
198
  },
216
199
  {
217
200
  "name": "df-task",
218
201
  "project": "deepflow-task",
219
- "install": "make install-cli",
220
- "package": "platform-runtime",
221
- "mode": "binary"
202
+ "entry": "cli/df-task.mjs"
222
203
  },
223
204
  {
224
205
  "name": "df-taskdriver",
225
206
  "project": "deepflow-task-driver",
226
- "install": "make install-cli",
227
- "package": "platform-runtime",
228
- "mode": "binary"
207
+ "entry": "cli/df-taskdriver.mjs"
229
208
  },
230
209
  {
231
210
  "name": "df-agentctrl",
232
211
  "project": "deepflow-agent-ctrl",
233
- "install": "make install-cli",
234
- "package": "platform-runtime",
235
- "mode": "binary"
212
+ "entry": "cli/df-agentctrl.mjs"
236
213
  },
237
214
  {
238
215
  "name": "df-agentrt",
239
216
  "project": "deepflow-agent-runtime",
240
- "install": "make build",
241
- "package": "platform-runtime",
242
- "mode": "binary"
217
+ "entry": "cli/df-agentrt.mjs"
243
218
  }
244
219
  ]
245
220
  }
@@ -5,6 +5,10 @@ description: DeepFlow 统一入口。常规任务默认使用 df-workbench;只
5
5
 
6
6
  # DeepFlow Suite
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  这是 DeepFlow 的统一用户和开发者入口。它开放完整的 DeepFlow 能力,但不默认调用整条链路:普通任务先走 `df-workbench`,只有确实需要解释推进、Agent 或 Runtime 问题时才升级到其他项目 CLI。
9
13
 
10
14
  ## 依赖
@@ -22,7 +26,9 @@ description: DeepFlow 统一入口。常规任务默认使用 df-workbench;只
22
26
 
23
27
  ## 环境门禁
24
28
 
25
- 用户没有明确说 `local`、本地、`dev`、开发环境或 `prod`、生产环境时,先询问:
29
+ 以下门禁适用于连接环境内服务。纯离线证据分析、源码审查或能力编写无需选择环境;不能借离线分析自动连接材料里引用的服务。
30
+
31
+ 需要连接服务、用户尚未明确说 `local`、本地、`dev`、开发环境或 `prod`、生产环境时,先询问:
26
32
 
27
33
  ```text
28
34
  请指定目标环境:local(本地)、dev(开发环境)还是 prod(生产环境)?
@@ -5,7 +5,11 @@ description: 使用df-agentctrl CLI查询DeepFlow Agent控制面的可用智能
5
5
 
6
6
  # DeepFlow Agent Control
7
7
 
8
- 通过`df-agentctrl`操作Agent定义和版本。运行命令前确认CLI已在PATH中;服务地址由`DF_AGENTCTRL_BASE_URL`或`--base-url`提供,默认`http://127.0.0.1:8080`。本Skill不安装二进制,也不自动启动服务。
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
12
+ 通过`df-agentctrl`操作Agent定义和版本。运行命令前确认CLI已在PATH中;服务地址由`DF_AGENTCTRL_BASE_URL`或`--base-url`提供,默认`http://127.0.0.1:8080`。本 Skill 不安装 CLI,也不自动启动服务。
9
13
 
10
14
  ## 环境与可用性
11
15
 
@@ -5,6 +5,10 @@ description: 在 DeepFlow Agent Runtime 里执行任务时使用。说明你所
5
5
 
6
6
  # DeepFlow Agent Runtime
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  你运行在 **DeepFlow Agent Runtime** 上。这是一个把「会话 + 多轮消息 + 代码仓库」
9
13
  管起来的服务,你现在执行的是其中一轮。
10
14
 
@@ -49,6 +53,17 @@ Run 中 `df-agentrt` 只使用部署注入的 `MULTICA_SERVER_URL`,忽略 `AGE
49
53
  需要交付文件内容时,用文字描述,或者把关键片段直接贴进回复。**不要**写成本地路径链接,
50
54
  也不要写得像文件已经送到了——读的人会去找一个根本不存在的附件。
51
55
 
56
+ ## 修改已发布的普通文件
57
+
58
+ 用户要求修改已发布的文件时,由你判断直接覆盖原文件还是另存新文件:同一份成果的修订通常覆盖原路径,内容已是另一份交付时另存新文件名。
59
+
60
+ 覆盖已发布文件时:
61
+ - 在该文件所在目录的 `改动记录.md` 末尾追加一条:时间、文件名、改了什么、为什么改;文件不存在时新建,不改写已有记录。
62
+ - 写完后用本轮已加载的事实写入技能重新发布该文件的真实路径,让成果卡片更新到本轮。
63
+ - 同时把 `改动记录.md` 也发布一次(ref 写它的相对路径);用户只能从成果卡片打开它,不发布就看不到改动记录。
64
+
65
+ 文件仍依赖所属 Worker 工作目录,不是归档或永久可用承诺;未发布或仍在生成的文件不能宣称已交付。
66
+
52
67
  ## 工作目录:跨轮复用,检出是同级目录
53
68
 
54
69
  - 同一个会话的多轮**复用同一个工作目录**,上一轮留下的文件这一轮还在。
@@ -5,6 +5,10 @@ description: 任务进行中发现需要另一个代码仓库时使用。查看
5
5
 
6
6
  # 中途添加代码仓库
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  会话创建时定下的配置里,只有**代码仓库**这一项是可以在任务进行中追加的。
9
13
 
10
14
  你可能在分析到一半时才发现答案不在手上这几个仓库里——这时不需要中断任务回报、
@@ -5,6 +5,10 @@ description: 在一次 Run 里用 df-task 读写 DeepFlow Task 事实日志 —
5
5
 
6
6
  # df-task
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  `df-task` 是 DeepFlow Task 事实日志的命令行入口。Task 是一件工作的身份,它下面挂着一本**只追加**的事实日志:谁在什么时候写下了什么。**没有状态字段,也没有状态机** —— 「这件工作到哪一步了」是从这本日志里读出来的,不是查出来的。
9
13
 
10
14
  服务地址取自 `DF_TASK_BASE_URL`,默认 `http://127.0.0.1:8090`。写事实的身份取自 `DF_TASK_ACTOR_KIND` 与 `DF_TASK_ACTOR_ID`,由 runtime 在起进程时注入 —— **不要自己改这两个环境变量**,身份决定了你能写哪些事实。
@@ -5,6 +5,10 @@ description: 使用df-taskdriver CLI诊断DeepFlow任务推进器的运行状态
5
5
 
6
6
  # DeepFlow Task Driver
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  通过`df-taskdriver`查看一个正在运行的driver实例。运行命令前确认CLI已在PATH中;实例地址由`DF_TASKDRIVER_BASE_URL`或`--base-url`提供,默认`http://127.0.0.1:8081`。本Skill不安装二进制,也不启动服务。
9
13
 
10
14
  ## 目标环境门禁与地址
@@ -38,7 +42,7 @@ df-taskdriver help
38
42
  df-taskdriver task <task-id>
39
43
  ```
40
44
 
41
- 若命令不存在,说明缺少CLI部署:本项目源码可用时运行`make install-cli`,否则向调用方说明需要安装`df-taskdriver`并提供实例地址。driver的地址不是事实服务的地址,也不是runtime的地址。
45
+ 若命令不存在,说明缺少 Suite CLI 安装;向调用方说明需要安装 `@metagptx/deepflow-suite-cli` 并提供实例地址。driver的地址不是事实服务的地址,也不是runtime的地址。
42
46
 
43
47
  ## driver做什么,不做什么
44
48
 
@@ -5,6 +5,10 @@ description: 面向普通用户的 DeepFlow Workbench 入口。使用 df-workben
5
5
 
6
6
  # df-workbench
7
7
 
8
+ ## CLI 依赖
9
+
10
+ CLI 由 `@metagptx/deepflow-suite-cli` 统一安装,本 Skill 不携带 CLI 实现。使用前应已完成 Suite 安装;缺少命令或版本不匹配时,用 `deepflow-suite doctor --json` 核对。Run 内缺少工具属于执行环境异常,不临时安装或编译。
11
+
8
12
  `df-workbench` 是普通用户的轻量入口。它保持与 Workbench 人工操作一致:先确定当前身份和工作区,再通过 Workbench 的用户 API 创建任务和发送消息。不要直接调用数据库、`df-task` 的写接口或伪造 `DF_TASK_ACTOR_*` 身份。
9
13
 
10
14
  ## 环境和身份
@@ -36,7 +40,11 @@ df-workbench config --json
36
40
 
37
41
  `me` 返回当前用户和可访问工作区;`config` 返回认证模式、当前工作区、Task 写入能力和 Workbench UI 能力。不要打印 Token、Cookie 或其他凭据。
38
42
 
39
- local 环境只允许从本机回环地址访问;OIDC 环境使用 Workbench personal token。Token 应通过公司内部配置或 Skill 平台提供,不在命令参数中传递。
43
+ local 环境只允许从本机回环地址访问,无需 Token;OIDC 环境使用 Workbench personal token。
44
+
45
+ Token 获取入口:使用公司账号登录目标环境 Workbench,打开「头像 → 个人设置 → 个人 Token → 创建 Token」,填写用途名称和到期时间。完整 Token 只在创建时显示一次,将其配置为 `DF_WORKBENCH_TOKEN`;`DF_WORKBENCH_BASE_URL` 使用同一环境的 Workbench 根地址。也可通过公司内部配置或 Skill 平台的个人凭据配置提供,不在命令参数中传递,不打印凭据。
46
+
47
+ 列表仅显示前缀和使用状态,无法找回完整 Token;遗失、到期或不再使用时,在同一入口撤销并按需新建。独立管理员账号不支持创建个人 Token,需使用公司账号登录。网页退出不会撤销 Token。
40
48
 
41
49
  ## 用户任务流程
42
50
 
@@ -103,4 +111,4 @@ Token、工作区或服务地址配置错误。
103
111
 
104
112
  ## 缺少依赖
105
113
 
106
- 如果 `df-workbench` CLI 或本 Skill 缺失,提示用户从公司内部 Skill 共享平台安装对应项目,不执行 `pnpm`、`go install`、`make install-cli`、`git clone` 或本地 Skill 目录复制。
114
+ 如果 CLI 或本 Skill 缺失,提示用户安装 `@metagptx/deepflow-suite-cli` 后运行 `deepflow-suite install`;Run 内不执行安装、编译或目录复制。
package/manifest.json CHANGED
@@ -1,78 +1,60 @@
1
1
  {
2
2
  "distribution": "deepflow-suite",
3
- "version": "0.2.11-dev.20261020.1",
4
3
  "skills": [
5
4
  {
6
5
  "name": "deepflow-suite",
7
- "source": "tools/deepflow-cli/skills/deepflow-suite",
8
- "packageSource": "skills/deepflow-suite"
6
+ "source": "tools/deepflow-cli/skills/deepflow-suite"
9
7
  },
10
8
  {
11
9
  "name": "df-workbench",
12
- "source": "deepflow-workbench/skills/df-workbench",
13
- "packageSource": "skills/df-workbench"
10
+ "source": "deepflow-workbench/skills/df-workbench"
14
11
  },
15
12
  {
16
13
  "name": "df-task",
17
- "source": "deepflow-task/skills/df-task",
18
- "packageSource": "skills/df-task"
14
+ "source": "deepflow-task/skills/df-task"
19
15
  },
20
16
  {
21
17
  "name": "df-taskdriver",
22
- "source": "deepflow-task-driver/skills/df-taskdriver",
23
- "packageSource": "skills/df-taskdriver"
18
+ "source": "deepflow-task-driver/skills/df-taskdriver"
24
19
  },
25
20
  {
26
21
  "name": "df-agentctrl",
27
- "source": "deepflow-agent-ctrl/skills/df-agentctrl",
28
- "packageSource": "skills/df-agentctrl"
22
+ "source": "deepflow-agent-ctrl/skills/df-agentctrl"
29
23
  },
30
24
  {
31
25
  "name": "df-agentrt",
32
- "source": "deepflow-agent-runtime/skills/df-agentrt",
33
- "packageSource": "skills/df-agentrt"
26
+ "source": "deepflow-agent-runtime/skills/df-agentrt"
34
27
  },
35
28
  {
36
29
  "name": "df-agentrt-repo",
37
- "source": "deepflow-agent-runtime/skills/df-agentrt-repo",
38
- "packageSource": "skills/df-agentrt-repo"
30
+ "source": "deepflow-agent-runtime/skills/df-agentrt-repo"
39
31
  }
40
32
  ],
41
33
  "clis": [
42
34
  {
43
35
  "name": "df-workbench",
44
36
  "project": "deepflow-workbench",
45
- "install": "project",
46
- "package": "@metagptx/deepflow-suite-cli",
47
- "mode": "node"
37
+ "entry": "cli/df-workbench.mjs"
48
38
  },
49
39
  {
50
40
  "name": "df-task",
51
41
  "project": "deepflow-task",
52
- "install": "make install-cli",
53
- "package": "platform-runtime",
54
- "mode": "binary"
42
+ "entry": "cli/df-task.mjs"
55
43
  },
56
44
  {
57
45
  "name": "df-taskdriver",
58
46
  "project": "deepflow-task-driver",
59
- "install": "make install-cli",
60
- "package": "platform-runtime",
61
- "mode": "binary"
47
+ "entry": "cli/df-taskdriver.mjs"
62
48
  },
63
49
  {
64
50
  "name": "df-agentctrl",
65
51
  "project": "deepflow-agent-ctrl",
66
- "install": "make install-cli",
67
- "package": "platform-runtime",
68
- "mode": "binary"
52
+ "entry": "cli/df-agentctrl.mjs"
69
53
  },
70
54
  {
71
55
  "name": "df-agentrt",
72
56
  "project": "deepflow-agent-runtime",
73
- "install": "make build",
74
- "package": "platform-runtime",
75
- "mode": "binary"
57
+ "entry": "cli/df-agentrt.mjs"
76
58
  }
77
59
  ]
78
60
  }
package/package.json CHANGED
@@ -1,23 +1,22 @@
1
1
  {
2
2
  "name": "@metagptx/deepflow-suite-cli",
3
- "version": "0.2.11-dev.20261020.1",
3
+ "version": "0.3.1",
4
4
  "description": "Agent-friendly installer and distribution CLI for the DeepFlow suite.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
7
7
  "bin": {
8
8
  "deepflow-suite": "bin/deepflow-suite.js",
9
- "df-workbench": "bin/df-workbench.js",
10
- "df-task": "bin/df-task.js",
11
- "df-taskdriver": "bin/df-taskdriver.js",
12
- "df-agentctrl": "bin/df-agentctrl.js",
13
- "df-agentrt": "bin/df-agentrt.js"
9
+ "df-workbench": "runtime/df-workbench/df-workbench.mjs",
10
+ "df-task": "runtime/df-task/df-task.mjs",
11
+ "df-taskdriver": "runtime/df-taskdriver/df-taskdriver.mjs",
12
+ "df-agentctrl": "runtime/df-agentctrl/df-agentctrl.mjs",
13
+ "df-agentrt": "runtime/df-agentrt/df-agentrt.mjs"
14
14
  },
15
15
  "files": [
16
16
  "bin/",
17
17
  "bundle/",
18
18
  "manifest.json",
19
19
  "runtime/",
20
- "skills/",
21
20
  "src/",
22
21
  "scripts/",
23
22
  "README.md"
@@ -25,21 +24,13 @@
25
24
  "publishConfig": {
26
25
  "access": "public"
27
26
  },
28
- "optionalDependencies": {
29
- "@metagptx/deepflow-suite-cli-darwin-arm64": "0.2.11-dev.20261020.1",
30
- "@metagptx/deepflow-suite-cli-darwin-x64": "0.2.11-dev.20261020.1",
31
- "@metagptx/deepflow-suite-cli-linux-arm64": "0.2.11-dev.20261020.1",
32
- "@metagptx/deepflow-suite-cli-linux-x64": "0.2.11-dev.20261020.1",
33
- "@metagptx/deepflow-suite-cli-win32-x64": "0.2.11-dev.20261020.1"
34
- },
35
27
  "engines": {
36
28
  "node": ">=22.13.0"
37
29
  },
38
30
  "scripts": {
39
31
  "test": "node --test tests/*.test.mjs",
40
- "build:runtime": "node scripts/build-runtime-packages.mjs",
41
- "check:runtime": "node scripts/build-runtime-packages.mjs --check",
42
32
  "prepack": "node scripts/build-package.mjs",
43
- "pack:dry-run": "npm pack --dry-run"
33
+ "pack:dry-run": "npm pack --dry-run",
34
+ "build": "node scripts/build-package.mjs"
44
35
  }
45
36
  }