@qing3a/flow-rpa-app 0.5.12 → 0.7.0

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/dist/cli.js CHANGED
@@ -4,10 +4,14 @@ import { homedir } from 'node:os';
4
4
  import { join, dirname } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { parseFlow } from '@qing3a/flow-rpa-engine/src/validate.js';
7
- import { PlatformClient } from '@qing3a/flow-rpa-engine/src/platform.js';
7
+ import { waitDurationLabel } from '@qing3a/flow-rpa-engine/src/gate.js';
8
8
  import { FlowRegistry } from './registry.js';
9
- import { defaultRunConfig, resolvePlatformConfig } from './config.js';
10
- import { acquireInstanceLock, forceUnlock, lockState, releaseInstanceLock } from './runner.js';
9
+ import { defaultEdgePath, defaultRunConfig } from './config.js';
10
+ import { observeRotation, rotationDetail, setRotationObservation } from './session-rotation.js';
11
+ import { acquireInstanceLock, forceUnlock, lockState, newRunId, pauseGuidance, releaseInstanceLock, resumeRun, spawnRun } from './runner.js';
12
+ import { gateKeyLabel, reportGateFallback, resolveGateKey } from './gate-key.js';
13
+ import { observedRuntimeUrl } from './gate-runtime.js';
14
+ import { buildCtx } from './server.js';
11
15
  /** D-N3:缺省目录(本地开发 → 仓库根;全局 → ~/.flow-rpa) */
12
16
  export function defaultDirs() {
13
17
  const home = process.env.FLOW_RPA_HOME;
@@ -31,13 +35,11 @@ export function parseCli(argv) {
31
35
  mock: { type: 'boolean', default: false },
32
36
  port: { type: 'string' },
33
37
  edge: { type: 'string' },
34
- 'platform-url': { type: 'string' },
35
- 'platform-token': { type: 'string' },
36
38
  http: { type: 'boolean', default: false },
37
39
  'http-port': { type: 'string' },
38
40
  'http-token': { type: 'string' },
39
41
  role: { type: 'string' },
40
- status: { type: 'string' },
42
+ vars: { type: 'string' },
41
43
  },
42
44
  allowPositionals: true,
43
45
  strict: false,
@@ -50,28 +52,21 @@ export function parseCli(argv) {
50
52
  mock: values.mock === true,
51
53
  cdpPort: str(values.port) !== undefined ? Number(str(values.port)) : undefined,
52
54
  edgePath: str(values.edge),
53
- platformUrl: str(values['platform-url']),
54
- platformToken: str(values['platform-token']),
55
55
  http: values.http === true,
56
56
  httpPort: str(values['http-port']) !== undefined ? Number(str(values['http-port'])) : undefined,
57
57
  httpToken: str(values['http-token']),
58
58
  role: str(values.role),
59
+ vars: str(values.vars),
59
60
  positionals,
60
61
  };
61
62
  }
62
- /** 从 CLI 选项构造 RunConfig(含环境变量兜底 + 平台配置持久化自动加载) */
63
+ /** 从 CLI 选项构造 RunConfig(含环境变量兜底) */
63
64
  export function configFromCli(opts) {
64
65
  const config = defaultRunConfig(opts.dataDir, opts.mock);
65
66
  if (opts.cdpPort !== undefined && !Number.isNaN(opts.cdpPort))
66
67
  config.cdpPort = opts.cdpPort;
67
68
  if (opts.edgePath !== undefined && opts.edgePath.length > 0)
68
69
  config.edgePath = opts.edgePath;
69
- // 平台配置:CLI/env 显式提供(并自动持久化)> data/platform.json 自动加载
70
- const explicitUrl = opts.platformUrl ?? process.env.FLOW_PLATFORM_URL ?? '';
71
- const explicitToken = opts.platformToken ?? process.env.FLOW_PLATFORM_TOKEN ?? '';
72
- const resolved = resolvePlatformConfig(opts.dataDir, explicitUrl, explicitToken);
73
- config.platformUrl = resolved.url;
74
- config.platformToken = resolved.token;
75
70
  // D3 角色:hunter 裁剪工具面;其它值(含缺省)→ owner(向后兼容)
76
71
  if (opts.role === 'hunter')
77
72
  config.role = 'hunter';
@@ -80,7 +75,7 @@ export function configFromCli(opts) {
80
75
  /**
81
76
  * `flow-app init`:首启引导——创建 flows/data 目录 + 复制内置 starter 流程 + 提示下一步
82
77
  * (USAGE-ISSUES #1 教训:装完 list 空无引导;T004 P1-5:内置 starter 流程)。
83
- * 幂等:目录已存在则跳过创建;starter 复制同名跳过(不覆盖用户/pkg_update 版本)。
78
+ * 幂等:目录已存在则跳过创建;starter 复制同名跳过(不覆盖用户已有版本)。
84
79
  */
85
80
  export function runInit(opts) {
86
81
  const { flowsDir, dataDir } = opts;
@@ -93,8 +88,9 @@ export function runInit(opts) {
93
88
  process.exit(1);
94
89
  }
95
90
  // T004 P1-5:内置 starter 流程复制(包根 starter/ → flows/,同名已存在则跳过)
91
+ let starterDir;
96
92
  try {
97
- const starterDir = join(dirname(fileURLToPath(import.meta.url)), '..', 'starter'); // dist/ → 包根/starter
93
+ starterDir = join(dirname(fileURLToPath(import.meta.url)), '..', 'starter'); // dist/ → 包根/starter
98
94
  if (existsSync(starterDir)) {
99
95
  for (const sub of readdirSync(starterDir)) {
100
96
  const src = join(starterDir, sub);
@@ -116,6 +112,20 @@ export function runInit(opts) {
116
112
  catch (e) {
117
113
  console.log(`⚠️ 内置流程复制跳过: ${e instanceof Error ? e.message : String(e)}`);
118
114
  }
115
+ // T035-2(S6):基线清单(starter/baseline.json → flows/baseline.json)——**与「同名不覆盖」不同,
116
+ // 这里总是刷新**:清单描述的是「本包内置的基线」,用户改的是流程文件而不是清单;留着旧清单只会
117
+ // 让来源标注失真(升级后把「未改动」误报为「已改动」)。缺失(老包/开发态未 build)→ 静默跳过,
118
+ // 无基线时 FlowRegistry 降级为「不校验来源」(日志一行,不报错)。
119
+ try {
120
+ const baselineSrc = starterDir !== undefined ? join(starterDir, 'baseline.json') : '';
121
+ if (baselineSrc.length > 0 && existsSync(baselineSrc)) {
122
+ copyFileSync(baselineSrc, join(flowsDir, 'baseline.json'));
123
+ console.log('✓ 已内置流程基线: flows/baseline.json(用于标注内置流程是否被本地改动)');
124
+ }
125
+ }
126
+ catch (e) {
127
+ console.log(`⚠️ 内置流程基线复制跳过: ${e instanceof Error ? e.message : String(e)}`);
128
+ }
119
129
  console.log(`✓ 已就绪: flows 目录 ${flowsDir}`);
120
130
  console.log(`✓ 已就绪: data 目录 ${dataDir}`);
121
131
  console.log('');
@@ -125,10 +135,12 @@ export function runInit(opts) {
125
135
  console.log(' 3. 启动 MCP 服务:flow-app --http --http-port 3111 --edge "<Edge 可执行文件路径>"');
126
136
  console.log(' (--edge 必填:从零环境引擎靠它拉起专用浏览器;Windows 默认路径示例:');
127
137
  console.log(' C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe)');
128
- console.log(' 4. 安装更多流程包:配置 platform-url pkg_update,或把流程包放入 flows/ 目录');
138
+ console.log(' 4. 安装更多流程包:把流程包放入 flows/ 目录(更多流程由 owner 分发)');
129
139
  }
130
- /** doctor 体检(纯函数,可单测):返回报告行 + 退出码(仅 ❌ 令退出码非 0) */
131
- export function doctorReport(opts) {
140
+ /** doctor 体检(纯函数,可单测):返回报告行 + 退出码(仅 ❌ 令退出码非 0)
141
+ * `detectEdge`(T033-2):Edge 自动探测注入缝(缺省 `defaultEdgePath`)——测试可注入「探测不到」
142
+ * 以覆盖三态中的「未配置」分支,不依赖跑测机器的 Edge 安装情况。 */
143
+ export function doctorReport(opts, detectEdge = defaultEdgePath) {
132
144
  const lines = [];
133
145
  let exitCode = 0;
134
146
  const line = (mark, label, detail = '') => {
@@ -174,29 +186,42 @@ export function doctorReport(opts) {
174
186
  else if (flows.length > 0) {
175
187
  line('✅', '流程定义无警告');
176
188
  }
177
- }
178
- // 平台:未配置 = 可忽略(本地模式)
179
- try {
180
- const resolved = resolvePlatformConfig(opts.dataDir, opts.platformUrl ?? '', opts.platformToken ?? '');
181
- if (resolved.url.length > 0) {
182
- line('✅', '平台已配置', resolved.url);
189
+ // T035-2(S6):来源标注(内置 / 内置已改动 / 自建)——「内置流程被静默改过」在体检里一眼可见
190
+ const modified = flows.filter((f) => f.origin === 'builtin-modified');
191
+ const builtin = flows.filter((f) => f.origin === 'builtin').length;
192
+ if (modified.length > 0) {
193
+ line('⚠️', `流程来源(${flows.length} 个:内置 ${builtin} / 内置已改动 ${modified.length} / 自建 ${flows.length - builtin - modified.length})`, `与内置基线不一致(本地已改动):${modified.map((f) => f.id).join(', ')}——引擎照你的版本执行,不阻断`);
183
194
  }
184
- else {
185
- line('⚠️', '平台已配置', '未配置——本地模式正常使用(观察/流程同步需 platform-url + platform-token)');
195
+ else if (flows.length > 0) {
196
+ line('', `流程来源(${flows.length} 个:内置 ${builtin} / 自建 ${flows.length - builtin})`, '无内置流程偏离基线');
186
197
  }
187
198
  }
188
- catch {
189
- line('⚠️', '平台配置解析', 'platform.json 损坏(可忽略,本地模式正常)');
190
- }
191
- // Edge:显式配置 ✅;未配置 ⚠️(外部 9222 复用可跑;从零自举建议 --edge)
192
- if (opts.edgePath) {
193
- line('✅', 'Edge 可执行文件', opts.edgePath);
199
+ // Edge:T033-2(S5)与**真实运行配置同源**——判据 = 与 configFromCli 相同的优先级链
200
+ // (显式 --edge 优先,否则探测 `detectEdge()` = 缺省 defaultEdgePath),不再只看 CLI 旗标
201
+ // (旧口径会把「自动探测到」误报为「未配置」,远程用户碰到过这种误报)。三态:
202
+ // 显式配置 --edge ✅;② 自动探测到 → ✅(打印探测路径);③ 未配置 → ⚠️(并明说本次 run 不会轮换会话)
203
+ // 探测只跑一次(detectEdge 注入缝:测试可注入「探测不到」覆盖第 ③ 态)
204
+ const explicitEdge = opts.edgePath !== undefined && opts.edgePath.length > 0 ? opts.edgePath : undefined;
205
+ const edgePath = explicitEdge ?? detectEdge();
206
+ const rotation = observeRotation(edgePath, explicitEdge !== undefined);
207
+ setRotationObservation(rotation);
208
+ if (rotation.reason === 'explicit') {
209
+ line('✅', 'Edge 可执行文件(显式配置 --edge)', rotation.edgePath);
210
+ }
211
+ else if (rotation.reason === 'detected') {
212
+ line('✅', 'Edge 可执行文件(自动探测到)', `${rotation.edgePath}——未传 --edge,运行时按此路径拉起/轮换`);
194
213
  }
195
214
  else {
196
- line('⚠️', 'Edge 可执行文件', '未配置(--edge)——从零自举建议显式指定;若外部已开 9222 调试实例可省略');
215
+ line('⚠️', 'Edge 可执行文件', '未配置且未探测到(常见安装路径都没有)——外部已开 9222 调试实例时可跑;' +
216
+ '本次 run 不会做会话轮换(轮换需要 Edge 可执行文件)');
197
217
  }
218
+ // T033-2:会话轮换状态(与 executeRun / get_status 同一判据;把「静默跳过」变成可见项)
219
+ line(rotation.enabled ? '✅' : '⚠️', '会话轮换(每次 run 前)', rotationDetail(rotation));
198
220
  // BATCH-B:同站冷却建议(防封节奏提示,非阻断——⚠️ 不令退出码非 0)
199
- line('⚠️', '同站冷却建议(≥2h)', '目标站点对高频访问有节流——真实流程建议同站冷却 ≥2h(点击慢时);引擎已自动会话轮换(run 前重启浏览器会话)');
221
+ const coolHint = rotation.enabled
222
+ ? '引擎已自动会话轮换(run 前重启浏览器会话)'
223
+ : '本次未启用会话轮换(见上一项:未探测到 Edge)';
224
+ line('⚠️', '同站冷却建议(≥2h)', `目标站点对高频访问有节流——真实流程建议同站冷却 ≥2h(点击慢时);${coolHint}`);
200
225
  // 单实例锁:held = 阻断;死锁/损坏 = ⚠️(可 unlock 清理)
201
226
  try {
202
227
  const st = lockState(opts.dataDir);
@@ -216,7 +241,7 @@ export function doctorReport(opts) {
216
241
  return { lines, exitCode };
217
242
  }
218
243
  /**
219
- * `flow-app doctor`:体检——flows/data 目录、流程可解析、平台配置、Edge 路径、单实例锁。
244
+ * `flow-app doctor`:体检——flows/data 目录、流程可解析、Edge 路径、单实例锁。
220
245
  * 三级口径(T002 #3):✅ 通过 / ⚠️ 可忽略(不阻塞)/ ❌ 阻断(令退出码非 0)。
221
246
  */
222
247
  export function runDoctor(opts) {
@@ -234,6 +259,29 @@ export function runDoctor(opts) {
234
259
  if (exitCode !== 0)
235
260
  process.exit(exitCode);
236
261
  }
262
+ export function installSkillTargets() {
263
+ const home = homedir();
264
+ const candidates = [
265
+ { name: 'WorkBuddy', dir: join(home, '.agents', 'skills') },
266
+ { name: 'Claude', dir: join(home, '.claude', 'skills') },
267
+ ];
268
+ return candidates.map((c) => ({ ...c, exists: existsSync(c.dir) }));
269
+ }
270
+ /** install-skill 无参帮助:目标清单 + 已存在标记 + 用法(退出码 2 = 用法错误,与其它子命令一致;以 process.exit 结尾 → never) */
271
+ export function printInstallSkillHelp() {
272
+ console.log('用法: flow-app install-skill <target-dir>');
273
+ console.log(' 把引擎级 skill(flow-rpa-engine/SKILL.md + 平铺兼容)拷贝到 Agent 平台的 skills 目录。');
274
+ console.log('');
275
+ console.log('常见目标(✅ = 本机已存在该目录;只读探测,不会自动写入):');
276
+ for (const t of installSkillTargets()) {
277
+ console.log(` ${t.exists ? '✅' : ' '} ${t.name.padEnd(10)} ${t.dir}`);
278
+ }
279
+ console.log('');
280
+ console.log(' 其它平台:把 <target-dir> 指到该平台的 skills 目录即可(拷贝幂等,重复安装安全)。');
281
+ console.log(' 也可直接把下面这段话发给你的 Agent,由它完成安装(README「交给你的 Agent 安装」同款):');
282
+ console.log(' 运行 flow-app install-skill 列出常见 skills 目录,把引擎 skill 安装到我的 Agent 平台对应目录,然后跑 flow-app doctor 验证。');
283
+ process.exit(2);
284
+ }
237
285
  /**
238
286
  * M11c D-K2:install-skill —— 拷贝引擎级 skill 到 Agent 平台的 skills 目录。
239
287
  * skill 内容来自包内 skill/flow-rpa-engine.md(构建时从 docs/SKILL-ENGINE.md 复制,唯一真源)。
@@ -263,7 +311,7 @@ export function installSkill(targetDir) {
263
311
  const skillDir = join(targetDir, 'flow-rpa-engine');
264
312
  mkdirSync(skillDir, { recursive: true });
265
313
  const skillBody = final.replace(/^<!--[\s\S]*?-->\n?/, ''); // 去掉版本注释头(frontmatter 取代它)
266
- const frontmatter = `---\nname: flow-rpa-engine\ndescription: flow-rpa 本地 RPA 引擎——MCP 13 工具调用说明书(流程执行/结果查询/建议处置)。首次使用/自举见「〇、首次使用/自举」。安装版本 v${version}。\nversion: ${version}\n---\n`;
314
+ const frontmatter = `---\nname: flow-rpa-engine\ndescription: flow-rpa 本地 RPA 引擎——MCP 12 工具调用说明书(流程执行/结果查询/建议处置)。首次使用/自举见「〇、首次使用/自举」。安装版本 v${version}。\nversion: ${version}\n---\n`;
267
315
  const skMd = frontmatter + skillBody;
268
316
  writeFileSync(join(skillDir, 'SKILL.md'), skMd, 'utf8');
269
317
  // 平铺兼容(不破坏既有用法)
@@ -375,60 +423,160 @@ export async function runOpenBrowser(opts) {
375
423
  releaseInstanceLock(dataDir);
376
424
  console.log('✓ open-browser 结束(锁已释放;浏览器保持运行,登录态持久)');
377
425
  }
426
+ // ---- T026/B1:CLI 直跑通道(run / resume / get 薄封装;bsk「无锁定」原则——非 MCP Agent / 脚本 / 人工排障可用) ----
378
427
  /**
379
- * T020 P0-3:反馈消费端读入口 CLI。
380
- * flow-app issues list [--status open] 列出反馈 issue(可选状态过滤)
381
- * flow-app issues get <id> 查看单个 issue 详情
382
- * flow-app issues comment <id> "<文本>" 回复评论(确认闭环)
383
- * 平台配置来自 CLI/env 或 data/platform.json 持久化(configFromCli)。
428
+ * T026/B1:--vars 解析(JSON 单参数,对齐 run_flow vars 语义——值必须是字符串)。
429
+ * 非法 JSON / 非对象 / 非字符串值 → 抛错(调用方转退出码 2 用法错误)。
384
430
  */
385
- export async function runIssuesCommand(opts) {
386
- const sub = opts.positionals?.[1];
387
- const config = configFromCli(opts);
388
- if (config.platformUrl.length === 0 || config.platformToken.length === 0) {
389
- console.error('平台未配置:issues 需要 --platform-url + --platform-token(或 data/platform.json 已持久化)');
390
- process.exit(2);
431
+ export function parseVarsJson(raw) {
432
+ if (raw === undefined || raw.length === 0)
433
+ return {};
434
+ let parsed;
435
+ try {
436
+ parsed = JSON.parse(raw);
391
437
  }
392
- const client = new PlatformClient(config.platformUrl, config.platformToken);
393
- if (sub === 'list') {
394
- const status = opts.status;
395
- const issues = await client.listIssues(status);
396
- if (issues.length === 0) {
397
- console.log(status ? `没有 ${status} 状态的反馈 issue` : '没有反馈 issue');
398
- }
399
- else {
400
- for (const it of issues) {
401
- const title = typeof it.title === 'string' ? it.title : '(无标题)';
402
- const st = typeof it.status === 'string' ? it.status : '?';
403
- console.log(`- ${it.id} [${st}] ${title}`);
404
- }
405
- }
406
- return;
438
+ catch {
439
+ throw new Error(`--vars 不是合法 JSON: ${raw.slice(0, 80)}`);
407
440
  }
408
- if (sub === 'get') {
409
- const id = opts.positionals?.[2];
410
- if (!id) {
411
- console.error('用法: flow-app issues get <id>');
412
- process.exit(2);
413
- }
414
- const issue = await client.getIssue(id);
415
- console.log(JSON.stringify(issue, null, 2));
416
- return;
417
- }
418
- if (sub === 'comment') {
419
- const id = opts.positionals?.[2];
420
- const text = opts.positionals?.[3];
421
- if (!id || !text) {
422
- console.error('用法: flow-app issues comment <id> "<文本>"');
423
- process.exit(2);
424
- }
425
- const r = await client.commentIssue(id, text);
426
- console.log(`已评论 issue ${id}(${r.status})`);
427
- return;
441
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
442
+ throw new Error(`--vars 必须是 JSON 对象(如 '{"keyword":"…"}')`);
443
+ }
444
+ const vars = {};
445
+ for (const [k, v] of Object.entries(parsed)) {
446
+ if (typeof v !== 'string')
447
+ throw new Error(`--vars.${k} 必须是字符串(run_flow vars 语义)`);
448
+ vars[k] = v;
449
+ }
450
+ return vars;
451
+ }
452
+ /** 运行结果摘要(run/resume 共用输出形态;paused 附 T027/B2 统一指引映射) */
453
+ export function formatRunResult(r, runsDir) {
454
+ const mark = r.status === 'done' ? '✓' : r.status === 'paused' ? '⏸' : '✗';
455
+ const lines = [`${mark} status=${r.status} runId=${r.runId}`];
456
+ if (r.error)
457
+ lines.push(` error: ${r.error}`);
458
+ if (r.status === 'paused' && r.pauseReason) {
459
+ lines.push(` 暂停原因: ${r.pauseReason}`);
460
+ lines.push(` 下一步: ${r.pauseGuidance ?? `人工处理后运行 flow-app resume ${r.runId}(或 MCP resume_run)从暂停点继续`}`);
461
+ }
462
+ if (r.precheckRejected)
463
+ lines.push(' (本次 resume 未执行——登录态预检未通过,见上)');
464
+ // T035(S6 来源 / S2 闸门维度):只进 CLI 输出(run.json 落盘格式冻结,这两项不落盘)
465
+ if (r.origin)
466
+ lines.push(` 流程来源: ${r.origin}`);
467
+ if (r.gateKey)
468
+ lines.push(` 闸门维度: ${r.gateKey}`);
469
+ lines.push(` 记录: ${join(runsDir, `${r.runId}.json`)}`);
470
+ return lines.join('\n');
471
+ }
472
+ /**
473
+ * run 前置检查(镜像 server run_flow handler 顺序:存在性 → 必填 vars → 同站闸门——CLI 直跑不绕过防封闸门)。
474
+ * `gate`(T035-1,S2):闸门 key 的三级解析结果——① 运行时 host 由页面驱动提供(CLI 前置检查拿不到
475
+ * 页面对象,故此处实际落在 ② 流程声明的 navigate host / ③ `flow:<id>` 兜底);返回给调用方,
476
+ * 与执行层的 penalize 用**同一个 key**(同一 run 不出现两套口径)。
477
+ */
478
+ function precheckRun(ctx, flowId, vars, gate) {
479
+ const cached = ctx.registry.get(flowId);
480
+ if (!cached)
481
+ return `✗ 流程不存在: ${flowId}(flow-app list 查看可用流程)`;
482
+ const missing = (cached.flow.inputs ?? []).filter((i) => i.required === true && i.default === undefined && vars[i.name] === undefined);
483
+ if (missing.length > 0) {
484
+ return `✗ 缺少必填参数: ${missing.map((m) => m.name).join(', ')}(用 --vars '<JSON>' 传入;flow-app list 查看各流程 inputs)`;
485
+ }
486
+ const waitSecs = ctx.siteGate.acquire(gate.key);
487
+ if (typeof waitSecs === 'number') {
488
+ return `✗ 同站节流:${gateKeyLabel(gate)} 还需等待 ${waitDurationLabel(waitSecs)}`;
489
+ }
490
+ return undefined;
491
+ }
492
+ /** 构造 CLI 执行上下文(mode='cli';自描述 lock.mode 区分于 stdio/http) */
493
+ function cliCtx(opts) {
494
+ return buildCtx(opts.flowsDir, opts.dataDir, configFromCli(opts), 'cli');
495
+ }
496
+ /**
497
+ * T026/B1:`flow-app run <flowId> [--vars '<JSON>']`——同步执行一个流程(wait:true 语义)。
498
+ * 复用 server 同一执行路径(spawnRun → executeRun):串行队列/闸门/落盘/L2 全同源;
499
+ * 单实例锁与 stdio/--http 互斥(D-R2 语义不变)。owner='cli'(D7 问责:CLI 直跑标识)。
500
+ * 返回退出码:done/paused → 0(paused 是定义内的人工接管中间态,指引在输出里);failed → 1;用法错误 → 2。
501
+ */
502
+ export async function cliRun(opts, flowId, varsRaw) {
503
+ if (!flowId)
504
+ return { code: 2, output: "用法: flow-app run <flowId> [--vars '{\"keyword\":\"…\"}'] [--mock]" };
505
+ let vars;
506
+ try {
507
+ vars = parseVarsJson(varsRaw);
508
+ }
509
+ catch (e) {
510
+ return { code: 2, output: `✗ ${e instanceof Error ? e.message : String(e)}` };
511
+ }
512
+ const ctx = cliCtx(opts);
513
+ // T035-1(S2):闸门 key 三级解析(① 该流程最近一次 run 观测到的运行时宿主站 → ② 流程声明
514
+ // navigate host → ③ flow 维度兜底);解析结果一路传进执行层,acquire 与 penalize 同一个 key。
515
+ const cached = ctx.registry.get(flowId);
516
+ if (!cached)
517
+ return { code: 1, output: `✗ 流程不存在: ${flowId}(flow-app list 查看可用流程)` };
518
+ const gate = resolveGateKey(flowId, cached.flow.steps, { runtimeUrl: observedRuntimeUrl(flowId) });
519
+ if (gate.source === 'flow')
520
+ reportGateFallback(flowId);
521
+ const precheckErr = precheckRun(ctx, flowId, vars, gate);
522
+ if (precheckErr)
523
+ return { code: precheckErr.startsWith('✗ 缺少必填参数') ? 2 : 1, output: precheckErr };
524
+ try {
525
+ mkdirSync(opts.dataDir, { recursive: true });
526
+ }
527
+ catch {
528
+ // 目录不可写 → acquire 会失败
529
+ }
530
+ if (!acquireInstanceLock(opts.dataDir)) {
531
+ return { code: 1, output: '✗ 另一个 flow-rpa 实例正在运行(data/.lock 锁持有中);请先退出再运行' };
532
+ }
533
+ const runId = newRunId();
534
+ try {
535
+ const r = await spawnRun(ctx, { flowId, vars, wait: true, owner: 'cli', gateKeyResolved: gate }, runId);
536
+ return { code: r.status === 'failed' ? 1 : 0, output: formatRunResult(r, ctx.store.runsDir()) };
537
+ }
538
+ finally {
539
+ releaseInstanceLock(opts.dataDir);
428
540
  }
429
- console.log('用法: flow-app issues list [--status <open>] | get <id> | comment <id> "<文本>"');
430
541
  }
431
- /** CLI 子命令:list / validate / install-skill / init / doctor / unlock / open-browser;返回 true 表示已处理(退出) */
542
+ /** T026/B1:`flow-app resume <runId>`——人工接管后从暂停点继续(复用 resumeRun 同一路径;precheck 供测试注入,CLI 实际走缺省探测器)。 */
543
+ export async function cliResume(opts, runId, precheck) {
544
+ if (!runId)
545
+ return { code: 2, output: '用法: flow-app resume <runId>(flow-app get <runId> 可查暂停原因)' };
546
+ const ctx = cliCtx(opts);
547
+ try {
548
+ mkdirSync(opts.dataDir, { recursive: true });
549
+ }
550
+ catch {
551
+ // 目录不可写 → acquire 会失败
552
+ }
553
+ if (!acquireInstanceLock(opts.dataDir)) {
554
+ return { code: 1, output: '✗ 另一个 flow-rpa 实例正在运行(data/.lock 锁持有中);请先退出再运行' };
555
+ }
556
+ try {
557
+ const r = await resumeRun(ctx, runId, precheck);
558
+ // T027/B2:预检拒绝(run 保持 paused 未执行)→ 退出码 1(与「resume 后推进/再次 paused」区分)
559
+ return { code: r.status === 'failed' || r.precheckRejected ? 1 : 0, output: formatRunResult(r, ctx.store.runsDir()) };
560
+ }
561
+ finally {
562
+ releaseInstanceLock(opts.dataDir);
563
+ }
564
+ }
565
+ /** T026/B1:`flow-app get <runId>`——读 run.json 摘要(只读,不取锁;paused 附 T027/B2 统一指引)。 */
566
+ export function cliGet(opts, runId) {
567
+ if (!runId)
568
+ return { code: 2, output: '用法: flow-app get <runId>' };
569
+ const ctx = cliCtx(opts);
570
+ const rec = ctx.store.loadRun(runId);
571
+ if (!rec)
572
+ return { code: 1, output: `✗ 执行记录不存在: ${runId}(${ctx.store.runsDir()} 下无对应文件)` };
573
+ const lines = [JSON.stringify(rec, null, 2)];
574
+ if (rec.status === 'paused') {
575
+ lines.push(`⏸ 暂停中:${pauseGuidance(rec.pauseReason ?? 'paused', runId)}`);
576
+ }
577
+ return { code: 0, output: lines.join('\n') };
578
+ }
579
+ /** CLI 子命令:list / validate / install-skill / init / doctor / unlock / open-browser / run / resume / get;返回 true 表示已处理(退出) */
432
580
  export async function runCliCommand(opts) {
433
581
  const cmd = opts.positionals?.[0];
434
582
  if (cmd === 'list') {
@@ -436,7 +584,7 @@ export async function runCliCommand(opts) {
436
584
  const flows = reg.list();
437
585
  if (flows.length === 0) {
438
586
  console.log('没有可用的流程(flows/ 目录下无 flow.json)');
439
- console.log('提示:用 `flow-app init` 初始化,或把流程包放入 flows/ 目录(可 npm i -g 安装平台发布的流程包)');
587
+ console.log('提示:用 `flow-app init` 初始化,或把流程包放入 flows/ 目录(更多流程由 owner 分发)');
440
588
  }
441
589
  else {
442
590
  for (const f of flows) {
@@ -466,10 +614,8 @@ export async function runCliCommand(opts) {
466
614
  if (cmd === 'install-skill') {
467
615
  const target = opts.positionals?.[1];
468
616
  if (!target) {
469
- console.log('用法: flow-app install-skill <target-dir>');
470
- console.log(' 把引擎级 skill(flow-rpa-engine.md)拷贝到 Agent 平台的 skills 目录。');
471
- console.log(' 常见位置:WorkBuddy ~/.agents/skills/、Claude ~/.claude/skills/');
472
- process.exit(2);
617
+ // T025/B3:无参 常见目标清单(只读探测已存在目录)+ 用法;不再是无引导的裸用法报错
618
+ printInstallSkillHelp();
473
619
  }
474
620
  installSkill(target);
475
621
  return true;
@@ -491,8 +637,26 @@ export async function runCliCommand(opts) {
491
637
  }
492
638
  return true;
493
639
  }
494
- if (cmd === 'issues') {
495
- await runIssuesCommand(opts);
640
+ if (cmd === 'run') {
641
+ // T026/B1:CLI 直跑(同步;与 MCP run_flow 同一执行路径——闸门/队列/锁/落盘全同源)
642
+ const r = await cliRun(opts, opts.positionals?.[1], opts.vars);
643
+ console.log(r.output);
644
+ if (r.code !== 0)
645
+ process.exit(r.code);
646
+ return true;
647
+ }
648
+ if (cmd === 'resume') {
649
+ const r = await cliResume(opts, opts.positionals?.[1]);
650
+ console.log(r.output);
651
+ if (r.code !== 0)
652
+ process.exit(r.code);
653
+ return true;
654
+ }
655
+ if (cmd === 'get') {
656
+ const r = cliGet(opts, opts.positionals?.[1]);
657
+ console.log(r.output);
658
+ if (r.code !== 0)
659
+ process.exit(r.code);
496
660
  return true;
497
661
  }
498
662
  return false;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type SimProfile } from '@qing3a/flow-rpa-engine/src/simprofile.js';
2
2
  /**
3
3
  * 运行配置(浏览器/驱动选择;移植 Rust `server.rs` RunConfig)。
4
+ * T029(0.6.0):md-forge 平台配置(platformUrl/platformToken/platform.json 持久化)随平台退役移除。
4
5
  */
5
6
  /** 工具面角色(D3:owner 全量 12 工具;hunter 裁剪集,ARCHITECTURE #10 红线 4 代码化) */
6
7
  export type ToolRole = 'owner' | 'hunter';
@@ -15,10 +16,6 @@ export interface RunConfig {
15
16
  mock: boolean;
16
17
  /** 拟人参数(机器差异化,启动时加载) */
17
18
  simProfile: SimProfile;
18
- /** md-forge 平台地址(pkg_update 用;空 = 未配置) */
19
- platformUrl: string;
20
- /** md-forge 共享令牌 */
21
- platformToken: string;
22
19
  /** 工具面角色(D3;owner 缺省) */
23
20
  role: ToolRole;
24
21
  /** T015 P0-2:暂停超时(ms;缺省 5 分钟)——暂停后超时未 resume → 转 failed(防无限挂起) */
@@ -30,21 +27,8 @@ export interface RunConfig {
30
27
  export declare function defaultEdgePath(): string;
31
28
  /** 默认配置:真实浏览器驱动,profile 与 sim 参数在 data 目录 */
32
29
  export declare function defaultRunConfig(dataDir: string, mock: boolean): RunConfig;
33
- export interface PlatformConfig {
34
- url: string;
35
- token: string;
36
- }
37
- /** data/platform.json 路径 */
38
- export declare function platformConfigFile(dataDir: string): string;
39
- /** 读取持久化平台配置(文件不存在 → undefined) */
40
- export declare function loadPlatformConfig(dataDir: string): PlatformConfig | undefined;
41
- /** 保存平台配置(token 本地明文;data/ 目录 gitignore,文档注明) */
42
- export declare function savePlatformConfig(dataDir: string, url: string, token: string): void;
43
30
  /**
44
- * 平台配置解析(优先级:CLI/env 显式提供 > 持久化 data/platform.json)。
45
- * 显式提供且与持久化不同 自动持久化(下次启动免参,即「自动被 flow-rpa 注册」的配置面)。
31
+ * `defaultRunConfig` 同源,仅注入日志出口(测试可传静默/捕获 sink;
32
+ * T033 doctor 与真实运行配置同源纪律同样适用于此)。
46
33
  */
47
- export declare function resolvePlatformConfig(dataDir: string, explicitUrl: string, explicitToken: string): {
48
- url: string;
49
- token: string;
50
- };
34
+ export declare function defaultRunConfigWith(dataDir: string, mock: boolean, log: (msg: string) => void): RunConfig;