@reconcrap/boss-recommend-mcp 2.1.6 → 2.1.7
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 +1 -0
- package/package.json +1 -1
- package/skills/boss-recommend-pipeline/SKILL.md +1 -0
- package/src/recommend-mcp.js +21 -1
package/README.md
CHANGED
|
@@ -477,6 +477,7 @@ Trae-CN / 长对话防循环建议:
|
|
|
477
477
|
|
|
478
478
|
- `run_recommend` 与 `start_recommend_pipeline_run` 是同一个异步 MCP 启动入口,但不会跳过同步确认流程。
|
|
479
479
|
- `prepare_recommend_pipeline_run` / `boss-recommend-mcp prepare-run` 只做参数门禁;它不启动筛选。普通 MCP 宿主现在运行时,prepare READY 后继续调用 `run_recommend` / `start_recommend_pipeline_run`,不要改用 CLI fallback。
|
|
480
|
+
- `prepare_recommend_pipeline_run` 的 READY 响应会带 `prepared_only=true`、`run_started=false`、`recommended_next_tool=start_recommend_pipeline_run`、`alternate_next_tool=run_recommend` 和 `next_action.do_not_call_prepare_again=true`;agent 应直接照这个字段继续下一步。
|
|
480
481
|
- `schedule_recommend_pipeline_run` / `boss-recommend-mcp schedule-run` 是推荐页定时启动的唯一推荐路径;它创建真实 package-owned detached scheduler,并返回 `schedule_id`。
|
|
481
482
|
- 定时心跳默认 120 秒一次;`updated_at` 仍会在阶段或进度变化时刷新。
|
|
482
483
|
- 每个 run 会持久化到 `~/.boss-recommend-mcp/runs/<run_id>.json`(可通过 `BOSS_RECOMMEND_HOME` 覆盖)。
|
package/package.json
CHANGED
|
@@ -96,6 +96,7 @@ description: "Use when users want Boss recommend-page filtering/screening via bo
|
|
|
96
96
|
- 准备/门禁工具:`prepare_recommend_pipeline_run`
|
|
97
97
|
- 用途:只校验参数是否完整,不启动筛选任务。
|
|
98
98
|
- 要求:若用户要“现在启动”,返回 `status=READY` 且 `cron_ready=true` 后,下一步必须调用 MCP 工具 `run_recommend` 或 `start_recommend_pipeline_run`,禁止改用 CLI fallback。只有用户要“稍后/cron/定时启动”时,才继续创建定时任务。
|
|
99
|
+
- READY 响应会带 `prepared_only=true`、`run_started=false`、`recommended_next_tool=start_recommend_pipeline_run`、`alternate_next_tool=run_recommend`、`next_action.do_not_call_prepare_again=true`;必须照这些字段继续,不得再次调用 prepare。
|
|
99
100
|
- 若返回 `NEED_INPUT` / `NEED_CONFIRMATION` / `FAILED`:继续补齐 `pending_questions` 或修复登录/页面/config;不得先创建 cron。
|
|
100
101
|
- Cron 创建工具:`schedule_recommend_pipeline_run`
|
|
101
102
|
- 用途:保存已经 READY 的完整 payload,并启动 package-owned detached scheduler;到点后由包内 worker 直接调用 `start_recommend_pipeline_run`。
|
package/src/recommend-mcp.js
CHANGED
|
@@ -1563,13 +1563,33 @@ export function prepareRecommendPipelineRunTool({ workspaceRoot = "", args = {}
|
|
|
1563
1563
|
};
|
|
1564
1564
|
}
|
|
1565
1565
|
const { parsed, normalized } = prepared;
|
|
1566
|
+
const nextAction = {
|
|
1567
|
+
immediate_run: {
|
|
1568
|
+
recommended_next_tool: "start_recommend_pipeline_run",
|
|
1569
|
+
alternate_next_tool: "run_recommend",
|
|
1570
|
+
same_arguments: true
|
|
1571
|
+
},
|
|
1572
|
+
scheduled_run: {
|
|
1573
|
+
recommended_next_tool: "schedule_recommend_pipeline_run",
|
|
1574
|
+
same_arguments: true,
|
|
1575
|
+
requires_schedule_field: true
|
|
1576
|
+
},
|
|
1577
|
+
do_not_call_prepare_again: true,
|
|
1578
|
+
do_not_use_cli_fallback_when_mcp_tools_available: true
|
|
1579
|
+
};
|
|
1566
1580
|
return {
|
|
1567
1581
|
status: "READY",
|
|
1568
1582
|
cron_ready: true,
|
|
1583
|
+
prepared_only: true,
|
|
1584
|
+
run_started: false,
|
|
1585
|
+
recommended_next_tool: nextAction.immediate_run.recommended_next_tool,
|
|
1586
|
+
alternate_next_tool: nextAction.immediate_run.alternate_next_tool,
|
|
1587
|
+
next_action: nextAction,
|
|
1588
|
+
message: "READY only means the payload passed validation; prepare_recommend_pipeline_run did not start a run. To start now, call start_recommend_pipeline_run or run_recommend with the same arguments. Do not call prepare_recommend_pipeline_run again, and do not use CLI fallback when MCP tools are available.",
|
|
1569
1589
|
review: parsed.review,
|
|
1570
1590
|
post_action: {
|
|
1571
1591
|
requested: normalized.postAction,
|
|
1572
|
-
execute_post_action: args.dry_run_post_action === true ? false : args.execute_post_action !== false,
|
|
1592
|
+
execute_post_action: args.dry_run_post_action === true ? false : args.execute_post_action !== false,
|
|
1573
1593
|
max_greet_count: normalized.maxGreetCount
|
|
1574
1594
|
},
|
|
1575
1595
|
target_count_semantics: TARGET_COUNT_SEMANTICS
|