@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/README.md +16 -13
- package/dist/cli.d.ts +52 -19
- package/dist/cli.js +257 -93
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -20
- package/dist/config.js +23 -45
- package/dist/config.js.map +1 -1
- package/dist/gate-key.d.ts +65 -0
- package/dist/gate-key.js +93 -0
- package/dist/gate-key.js.map +1 -0
- package/dist/gate-runtime.d.ts +27 -0
- package/dist/gate-runtime.js +44 -0
- package/dist/gate-runtime.js.map +1 -0
- package/dist/http.js +1 -2
- package/dist/http.js.map +1 -1
- package/dist/main.js +12 -12
- package/dist/main.js.map +1 -1
- package/dist/registry.d.ts +33 -2
- package/dist/registry.js +94 -10
- package/dist/registry.js.map +1 -1
- package/dist/runner.d.ts +59 -14
- package/dist/runner.js +158 -76
- package/dist/runner.js.map +1 -1
- package/dist/server.d.ts +11 -21
- package/dist/server.js +36 -132
- package/dist/server.js.map +1 -1
- package/dist/session-rotation.d.ts +58 -0
- package/dist/session-rotation.js +61 -0
- package/dist/session-rotation.js.map +1 -0
- package/dist/status.d.ts +55 -15
- package/dist/status.js +116 -65
- package/dist/status.js.map +1 -1
- package/package.json +2 -2
- package/skill/flow-rpa-engine.md +159 -50
- package/starter/baseline.json +18 -0
- package/starter/liepin_search_resumes/flow.json +34 -10
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 {
|
|
7
|
+
import { waitDurationLabel } from '@qing3a/flow-rpa-engine/src/gate.js';
|
|
8
8
|
import { FlowRegistry } from './registry.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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.
|
|
138
|
+
console.log(' 4. 安装更多流程包:把流程包放入 flows/ 目录(更多流程由 owner 分发)');
|
|
129
139
|
}
|
|
130
|
-
/** doctor 体检(纯函数,可单测):返回报告行 + 退出码(仅 ❌ 令退出码非 0)
|
|
131
|
-
|
|
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
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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('
|
|
195
|
+
else if (flows.length > 0) {
|
|
196
|
+
line('✅', `流程来源(${flows.length} 个:内置 ${builtin} / 自建 ${flows.length - builtin})`, '无内置流程偏离基线');
|
|
186
197
|
}
|
|
187
198
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
//
|
|
192
|
-
|
|
193
|
-
|
|
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 可执行文件', '
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
*
|
|
380
|
-
*
|
|
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
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
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
|
-
|
|
393
|
-
|
|
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 (
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
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
|
-
/**
|
|
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/
|
|
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
|
-
|
|
470
|
-
|
|
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 === '
|
|
495
|
-
|
|
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
|
-
*
|
|
45
|
-
*
|
|
31
|
+
* 与 `defaultRunConfig` 同源,仅注入日志出口(测试可传静默/捕获 sink;
|
|
32
|
+
* T033 的 doctor 与真实运行配置同源纪律同样适用于此)。
|
|
46
33
|
*/
|
|
47
|
-
export declare function
|
|
48
|
-
url: string;
|
|
49
|
-
token: string;
|
|
50
|
-
};
|
|
34
|
+
export declare function defaultRunConfigWith(dataDir: string, mock: boolean, log: (msg: string) => void): RunConfig;
|