@reconcrap/boss-recommend-mcp 1.3.38 → 2.0.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.
Files changed (85) hide show
  1. package/README.md +53 -33
  2. package/package.json +61 -9
  3. package/skills/boss-recommend-pipeline/SKILL.md +4 -0
  4. package/src/chat-mcp.js +1333 -0
  5. package/src/chat-runtime-config.js +559 -0
  6. package/src/cli.js +1095 -196
  7. package/src/core/browser/index.js +378 -0
  8. package/src/core/capture/index.js +298 -0
  9. package/src/core/cv-acquisition/index.js +219 -0
  10. package/src/core/greet-quota/index.js +54 -0
  11. package/src/core/infinite-list/index.js +459 -0
  12. package/src/core/reporting/legacy-csv.js +332 -0
  13. package/src/core/run/index.js +286 -0
  14. package/src/core/screening/index.js +1166 -0
  15. package/src/core/self-heal/index.js +848 -0
  16. package/src/domains/chat/cards.js +129 -0
  17. package/src/domains/chat/constants.js +183 -0
  18. package/src/domains/chat/detail.js +1369 -0
  19. package/src/domains/chat/index.js +7 -0
  20. package/src/domains/chat/jobs.js +334 -0
  21. package/src/domains/chat/page-guard.js +88 -0
  22. package/src/domains/chat/roots.js +56 -0
  23. package/src/domains/chat/run-service.js +1101 -0
  24. package/src/domains/recommend/actions.js +457 -0
  25. package/src/domains/recommend/cards.js +228 -0
  26. package/src/domains/recommend/constants.js +141 -0
  27. package/src/domains/recommend/detail.js +341 -0
  28. package/src/domains/recommend/filters.js +581 -0
  29. package/src/domains/recommend/index.js +10 -0
  30. package/src/domains/recommend/jobs.js +232 -0
  31. package/src/domains/recommend/refresh.js +204 -0
  32. package/src/domains/recommend/roots.js +78 -0
  33. package/src/domains/recommend/run-service.js +903 -0
  34. package/src/domains/recommend/scopes.js +245 -0
  35. package/src/domains/recruit/actions.js +277 -0
  36. package/src/domains/recruit/cards.js +67 -0
  37. package/src/domains/recruit/constants.js +130 -0
  38. package/src/domains/recruit/detail.js +414 -0
  39. package/src/domains/recruit/index.js +9 -0
  40. package/src/domains/recruit/instruction-parser.js +451 -0
  41. package/src/domains/recruit/refresh.js +40 -0
  42. package/src/domains/recruit/roots.js +68 -0
  43. package/src/domains/recruit/run-service.js +580 -0
  44. package/src/domains/recruit/search.js +1149 -0
  45. package/src/index.js +578 -419
  46. package/src/recommend-mcp.js +1257 -0
  47. package/src/recruit-mcp.js +1035 -0
  48. package/src/adapters.js +0 -3079
  49. package/src/boss-chat.js +0 -1037
  50. package/src/pipeline.js +0 -2249
  51. package/src/recommend-healing-config.js +0 -131
  52. package/src/recommend-healing-rules.json +0 -261
  53. package/src/self-heal.js +0 -2237
  54. package/src/test-adapters-runtime.js +0 -628
  55. package/src/test-boss-chat.js +0 -3196
  56. package/src/test-index-async.js +0 -498
  57. package/src/test-parser.js +0 -742
  58. package/src/test-pipeline.js +0 -2703
  59. package/src/test-run-state.js +0 -152
  60. package/src/test-self-heal.js +0 -224
  61. package/vendor/boss-chat-cli/README.md +0 -134
  62. package/vendor/boss-chat-cli/package.json +0 -53
  63. package/vendor/boss-chat-cli/src/app.js +0 -1501
  64. package/vendor/boss-chat-cli/src/browser/chat-page.js +0 -3562
  65. package/vendor/boss-chat-cli/src/cli.js +0 -1713
  66. package/vendor/boss-chat-cli/src/mcp/server.js +0 -149
  67. package/vendor/boss-chat-cli/src/mcp/tool-runtime.js +0 -193
  68. package/vendor/boss-chat-cli/src/runtime/async-run-state.js +0 -260
  69. package/vendor/boss-chat-cli/src/runtime/interaction.js +0 -102
  70. package/vendor/boss-chat-cli/src/runtime/run-control.js +0 -102
  71. package/vendor/boss-chat-cli/src/services/chrome-client.js +0 -107
  72. package/vendor/boss-chat-cli/src/services/llm.js +0 -1292
  73. package/vendor/boss-chat-cli/src/services/llm.test.js +0 -326
  74. package/vendor/boss-chat-cli/src/services/profile-store.js +0 -173
  75. package/vendor/boss-chat-cli/src/services/report-store.js +0 -317
  76. package/vendor/boss-chat-cli/src/services/resume-capture.js +0 -469
  77. package/vendor/boss-chat-cli/src/services/resume-network.js +0 -727
  78. package/vendor/boss-chat-cli/src/services/state-store.js +0 -90
  79. package/vendor/boss-chat-cli/src/utils/customer-key.js +0 -82
  80. package/vendor/boss-recommend-screen-cli/boss-recommend-screen-cli.cjs +0 -6927
  81. package/vendor/boss-recommend-screen-cli/scripts/capture-full-resume-canvas.cjs +0 -817
  82. package/vendor/boss-recommend-screen-cli/scripts/stitch_resume_chunks.py +0 -141
  83. package/vendor/boss-recommend-screen-cli/test-recoverable-resume-failures.cjs +0 -2294
  84. package/vendor/boss-recommend-search-cli/src/cli.js +0 -1698
  85. package/vendor/boss-recommend-search-cli/src/test-job-selection.js +0 -211
package/README.md CHANGED
@@ -1,42 +1,57 @@
1
1
  # @reconcrap/boss-recommend-mcp
2
2
 
3
- Boss 推荐页自动化流水线 MCP(stdio)服务。
3
+ Boss 推荐 / 搜索 / 聊天筛选 MCP(stdio)服务。
4
4
 
5
5
  发布入口:
6
6
 
7
7
  - npm: `@reconcrap/boss-recommend-mcp`(https://www.npmjs.com/package/@reconcrap/boss-recommend-mcp)
8
8
  - GitHub: `reconcrap-cpu/boss-recommend-mcp`(https://github.com/reconcrap-cpu/boss-recommend-mcp)
9
9
 
10
- 它把 recommend 页面上的两段能力串起来:
10
+ 2.0.0 是 CDP-only 重写版本:活跃浏览器路径只允许 Chrome DevTools Protocol 的 `DOM` / `Input` / `Page` / `Network` / `Accessibility` 等域,不使用 `Runtime.evaluate` 或页面 JS。包内保留 recommend、search/recruit、chat 三条域服务,并共享浏览器、生命周期、筛选、CV 获取、无限滚动、自愈与 CSV 报告层。
11
11
 
12
- - `boss-recommend-search-cli`: 只负责推荐页筛选项
13
- - `boss-recommend-screen-cli`: 只负责滚动列表、打开详情、提取完整简历图、多模态判断,并对通过人选统一执行 `favorite` 或 `greet`
12
+ 安装 `boss-recommend-mcp` 后可以直接:
14
13
 
15
- 现在包内还内置了 `boss-chat` runtime,因此安装 `boss-recommend-mcp` 后可以直接:
16
-
17
- - 单独运行 chat-only 任务,不需要再单独安装 `boss-chat`
18
- - recommend screen 完成后,通过同一个父 run 自动进入 `chat_followup`
19
- - 继续把聊天页状态保存在用户目录下的 `~/.boss-recommend-mcp/boss-chat/`(可通过 `BOSS_CHAT_HOME` 覆盖)
14
+ - 读取推荐页岗位列表,供 cron / 一次性任务提前填写完整 `job` 参数。
15
+ - 运行推荐页筛选、搜索页筛选、聊天页筛选。
16
+ - 使用 Network 优先、完整滚动截图兜底的 CV 获取策略。
17
+ - 通过共享 run lifecycle 查询、暂停、恢复、取消任务。
18
+ - 把运行态保存在用户目录下的 `~/.boss-recommend-mcp/`(chat 默认在 `~/.boss-recommend-mcp/boss-chat/`,可通过 `BOSS_CHAT_HOME` 覆盖)。
20
19
 
21
20
  MCP 工具:
22
21
 
22
+ - `list_recommend_jobs`(只读读取推荐页岗位下拉框,返回可直接用于 cron/一次性任务的 `job_names`)
23
23
  - `start_recommend_pipeline_run`(异步启动;同样先经过前置门禁,通过后返回 run_id)
24
24
  - `get_recommend_pipeline_run`(轮询 run_id 状态)
25
25
  - `cancel_recommend_pipeline_run`(取消运行中任务)
26
26
  - `pause_recommend_pipeline_run`(请求暂停 run;会在当前候选人处理完成后进入 paused)
27
27
  - `resume_recommend_pipeline_run`(继续 paused run;沿用同 run_id 与同 CSV)
28
28
  - `run_recommend_self_heal`(手动运维工具;扫描 Boss recommend 的 selector / network 规则漂移,并在确认后应用高置信度修复)
29
+ - `run_recruit_pipeline`
30
+ - `start_recruit_pipeline_run`
31
+ - `get_recruit_pipeline_run`
32
+ - `pause_recruit_pipeline_run`
33
+ - `resume_recruit_pipeline_run`
34
+ - `cancel_recruit_pipeline_run`
29
35
  - `boss_chat_health_check`
36
+ - `prepare_boss_chat_run`
30
37
  - `start_boss_chat_run`
31
38
  - `get_boss_chat_run`
32
39
  - `pause_boss_chat_run`
33
40
  - `resume_boss_chat_run`
34
41
  - `cancel_boss_chat_run`
35
- - `validation_profile=safe`:只做非破坏性扫描与被动 network 观察
36
- - `validation_profile=full`:会主动打开候选人详情,并执行收藏往返校验与一次打招呼校验;若完整交互没跑通,会明确返回验证异常而不是静默跳过
37
- - 扫描会主动覆盖 recommend/latest/featured 三个 tab 的详情链路(详情打开、详情内关键 selector、popup 关闭)
38
- - 搜索链路 selector 会在状态触发后验证:职位下拉、职位搜索输入、职位 label、筛选面板、筛选分组(school/degree/gender/recentNotView)、筛选滚动容器与筛选项激活态
39
- - 对关闭弹层相关 selector,会同时验证 close 按钮与 fallback close 候选 selector
42
+
43
+ 推荐页 page scope:
44
+
45
+ - 支持 `recommend` / `featured` / `latest`,对应 Boss UI 的 `推荐` / `精选` / `最新`。
46
+ - 切换岗位后再选择 page scope;如果所选岗位没有用户要求的 scope,会自动回退到 `推荐` 并继续运行。
47
+
48
+ 推荐页岗位列表:
49
+
50
+ ```bash
51
+ boss-recommend-mcp list-jobs --slow-live --port 9222
52
+ ```
53
+
54
+ 返回的 `job_names` 可直接作为后续 `start_recommend_pipeline_run` 的 `confirmation.job_value` / `overrides.job`。
40
55
 
41
56
  状态机:
42
57
 
@@ -54,12 +69,15 @@ MCP 工具:
54
69
  - `failed`
55
70
  - `canceled`
56
71
 
57
- recommend run 传入 `follow_up.chat` screen 成功后,父 run 会进入 `chat_followup` 阶段并保持 `running`,直到内置 boss-chat 子任务结束。此时对父 run `pause/resume/cancel` 会代理到子 chat run。
72
+ 旧版 recommend -> chat 自动衔接属于 legacy-only 行为,2.0.0 CDP-only MCP 路径会 fail closed。需要聊天页筛选时,请在 recommend 完成后显式调用 `prepare_boss_chat_run` / `start_boss_chat_run`。
58
73
 
59
74
  ## 设计特点
60
75
 
61
76
  - 页面目标固定为 `https://www.zhipin.com/web/chat/recommend`
77
+ - 活跃浏览器自动化为 CDP-only;硬静态门禁会阻止活跃路径重新引入 `Runtime.evaluate` / 页面 JS。
62
78
  - 支持推荐页原生筛选:学校标签 / 学历 / 性别 / 近14天没有
79
+ - 支持推荐页岗位列表只读读取:`list_recommend_jobs` / `boss-recommend-mcp list-jobs`
80
+ - 支持推荐页 page scope:`推荐` / `精选` / `最新`
63
81
  - 学校标签支持多选语义:如“985、211”会同时勾选这两项
64
82
  - 学校标签对“混合输入”按容错处理:如“985、211、qs100”会忽略无效项 `qs100`,保留并应用有效项;仅当全部无效或用户明确“不限”时才回落到“不限”
65
83
  - 学历支持单选与多选语义:如“本科及以上”会展开为 `本科/硕士/博士`;如“大专、本科”只勾选这两项
@@ -77,11 +95,12 @@ MCP 工具:
77
95
  - 若达到 `max_greet_count` 但流程仍需继续,后续通过人选会自动改为收藏
78
96
  - 不会对每位候选人重复确认
79
97
  - 推荐页详情处理完成后,会强制关闭详情页并确认已关闭
80
- - 简历提取采用“分段滚动截图 + 拼成长图”的方式,再交给多模态模型判断
98
+ - 简历提取优先使用 Network 响应;没有可解析 Network CV 时,回退到完整滚动截图序列再交给多模态模型判断
81
99
  - 提供显式运维自愈工具:只在手动调用 `run_recommend_self_heal` 时运行,不会接入正常 run / doctor / preflight 自动链路
82
100
  - 运行前会自动做依赖体检(Node.js、Python、Pillow、`chrome-remote-interface`、`ws`),缺失时会在 `doctor` 与流水线失败诊断中明确提示
83
101
  - 若 preflight 失败,返回 `diagnostics.recovery`(含有序修复步骤与 `agent_prompt`),可直接交给 AI agent 自动按顺序安装依赖
84
102
  - 不依赖 PowerShell;Windows / macOS 均可运行(命令提示会按平台给出)
103
+ - package-local legacy/vendor 代码被隔离在 `legacy/research/`,不会进入 npm clean install 包。
85
104
 
86
105
  ## 安装
87
106
 
@@ -117,12 +136,12 @@ BOSS_RECOMMEND_MCP_CONFIG_TARGETS # JSON 数组或系统 path 分隔路径列
117
136
  BOSS_RECOMMEND_EXTERNAL_SKILL_DIRS # JSON 数组或系统 path 分隔路径列表,指定额外 skills 根目录
118
137
  ```
119
138
 
120
- 或使用 CLI fallback
139
+ 推荐运行入口是 MCP 工具。旧版 one-shot recommend CLI `run` 在 CDP-only 重写期间已 fenced;请使用 `start_recommend_pipeline_run` 或 live harness。岗位发现可以使用新的只读 CLI
121
140
 
122
141
  ```bash
123
- npx -y @reconcrap/boss-recommend-mcp@latest run --instruction "推荐页筛选985男生,近14天没有,有大模型平台经验,符合标准的收藏"
142
+ npx -y @reconcrap/boss-recommend-mcp@latest list-jobs --slow-live --port 9222
124
143
  # 源码模式(GitHub clone 后)
125
- node src/cli.js run --instruction "推荐页筛选985男生,近14天没有,有大模型平台经验,符合标准的收藏"
144
+ node src/cli.js list-jobs --slow-live --port 9222
126
145
  ```
127
146
 
128
147
  ## 配置
@@ -185,15 +204,16 @@ node src/cli.js config set --base-url https://api.openai.com/v1 --api-key <your-
185
204
  node src/cli.js set-port --port 9222
186
205
  node src/cli.js doctor --agent trae-cn
187
206
  node src/cli.js launch-chrome --port 9222
188
- node src/cli.js run --instruction-file request.txt --confirmation-file confirmation.json --overrides-file overrides.json
189
- node src/cli.js run --instruction-file request.txt --confirmation-file confirmation.json --overrides-file overrides.json --follow-up-file follow-up.json
207
+ node src/cli.js list-jobs --slow-live --port 9222
190
208
  node src/cli.js chat health-check
191
- node src/cli.js chat run --job "算法工程师" --start-from unread --criteria "有 AI Agent 经验" --targetCount 20 --greeting-text "您好,方便发下简历吗?"
209
+ node src/cli.js chat prepare-run --slow-live --port 9222
192
210
  ```
193
211
 
194
- ## Recommend + Chat Follow-up
212
+ ## Recommend + Chat Follow-up(Legacy-only)
213
+
214
+ 旧版曾支持 recommend screen 完成后自动开始 boss-chat,把 chat 配置放到同一个 recommend run 的顶层 `follow_up.chat`。2.0.0 的 CDP-only MCP 路径已将该链式 orchestration fenced,避免回到 legacy page-JS 路径。推荐做法是:recommend run 完成后,显式启动 chat 工具。
195
215
 
196
- 若要让 recommend screen 完成后自动开始 boss-chat,把 chat 配置放到同一个 recommend run 的顶层 `follow_up.chat`:
216
+ 历史 payload 形状如下,仅作迁移参考:
197
217
 
198
218
  ```json
199
219
  {
@@ -222,8 +242,8 @@ node src/cli.js chat run --job "算法工程师" --start-from unread --criteria
222
242
  - `baseUrl` / `apiKey` / `model` 不再单独传入,固定复用 recommend 的 `screening-config.json`
223
243
  - `greeting_text` 默认优先级:本次显式值 > profile 历史值 > 内置默认招呼语(`Hi同学,能麻烦发下简历吗?`)
224
244
  - 若缺少 `follow_up.chat` 必填项,pipeline 会返回 `NEED_INPUT`
225
- - recommend 成功后,父 run 继续存活并进入 `chat_followup`;chat 结束后父 run 才会进入最终终态
226
- - `boss-chat` 子任务状态统一写入 `~/.boss-recommend-mcp/boss-chat`(或 `BOSS_CHAT_HOME` 指定目录),不再依赖工作区 `cwd`
245
+ - 如需聊天页筛选,请调用 `prepare_boss_chat_run` 获取岗位列表,再调用 `start_boss_chat_run`。
246
+ - `boss-chat` 状态统一写入 `~/.boss-recommend-mcp/boss-chat`(或 `BOSS_CHAT_HOME` 指定目录),不再依赖工作区 `cwd`
227
247
 
228
248
  ## Chat-only
229
249
 
@@ -232,16 +252,16 @@ node src/cli.js chat run --job "算法工程师" --start-from unread --criteria
232
252
  - CLI:
233
253
  - `boss-recommend-mcp chat health-check`
234
254
  - `boss-recommend-mcp chat prepare-run`
235
- - `boss-recommend-mcp chat run --job "算法工程师" --start-from unread --targetCount 20 --criteria "有 AI Agent 经验" [--greeting-text "您好,方便发下简历吗?"]`(后台启动,不自动轮询)
236
- - `boss-recommend-mcp chat start-run|get-run|pause-run|resume-run|cancel-run`
255
+ - `boss-recommend-mcp chat start-run` / `run` 2.0.0 CLI fenced;活跃异步 chat run 请使用 MCP `start_boss_chat_run` 或 live harness。
256
+ - `boss-recommend-mcp chat get-run|pause-run|resume-run|cancel-run`
237
257
  - MCP:
238
258
  - `boss_chat_health_check`
239
259
  - `prepare_boss_chat_run`
240
- - `start_boss_chat_run`
241
- - `get_boss_chat_run`
242
- - `pause_boss_chat_run`
243
- - `resume_boss_chat_run`
244
- - `cancel_boss_chat_run`
260
+ - `start_boss_chat_run`
261
+ - `get_boss_chat_run`
262
+ - `pause_boss_chat_run`
263
+ - `resume_boss_chat_run`
264
+ - `cancel_boss_chat_run`
245
265
  - vendored `boss-chat` CLI 还支持 `--data-dir <path>` 与 `BOSS_CHAT_HOME`,默认目录为 `~/.boss-recommend-mcp/boss-chat`(若设置 `BOSS_RECOMMEND_HOME`,则默认 `<BOSS_RECOMMEND_HOME>/boss-chat`)
246
266
  - 对 `/.boss-chat`、系统目录等危险运行目录会主动拒绝启动并返回 `UNSAFE_DATA_DIR`,避免在 harness 丢参时误写根目录
247
267
  - `boss_chat_health_check` 与 chat run 返回结果会包含 `data_dir` 与 `data_dir_source`,便于定位是参数/环境变量/默认路径生效
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reconcrap/boss-recommend-mcp",
3
- "version": "1.3.38",
3
+ "version": "2.0.0",
4
4
  "description": "Unified MCP pipeline for recommend-page filtering and screening on Boss Zhipin",
5
5
  "keywords": [
6
6
  "boss",
@@ -21,22 +21,74 @@
21
21
  "install:local": "node src/cli.js install",
22
22
  "postinstall": "node scripts/postinstall.cjs",
23
23
  "test:parser": "node src/test-parser.js",
24
- "test:pipeline": "node src/test-pipeline.js",
25
24
  "test:run-state": "node src/test-run-state.js",
26
- "test:runtime": "node src/test-adapters-runtime.js",
25
+ "test:cdp-browser": "node src/test-cdp-browser.js",
26
+ "test:core-capture": "node src/test-core-capture.js",
27
+ "test:core-cv-acquisition": "node src/test-core-cv-acquisition.js",
28
+ "test:core-greet-quota": "node src/test-core-greet-quota.js",
29
+ "test:core-infinite-list": "node src/test-core-infinite-list.js",
30
+ "test:core-reporting": "node src/test-core-reporting.js",
31
+ "test:core-run": "node src/test-core-run.js",
32
+ "test:core-screening": "node src/test-core-screening.js",
33
+ "test:core-self-heal": "node src/test-core-self-heal.js",
34
+ "test:recommend-actions": "node src/test-recommend-actions.js",
35
+ "test:recommend-domain": "node src/test-recommend-domain.js",
36
+ "test:recommend-run-service": "node src/test-recommend-run-service.js",
37
+ "test:recommend-mcp": "node src/test-recommend-mcp.js",
38
+ "test:recruit-domain": "node src/test-recruit-domain.js",
39
+ "test:recruit-mcp": "node src/test-recruit-mcp.js",
40
+ "test:chat-domain": "node src/test-chat-domain.js",
41
+ "test:chat-run-service": "node src/test-chat-run-service.js",
42
+ "test:chat-mcp": "node src/test-chat-mcp.js",
27
43
  "test:async": "node src/test-index-async.js",
28
- "test:boss-chat": "node src/test-boss-chat.js",
29
- "test:self-heal": "node src/test-self-heal.js",
30
- "test:search-job": "node vendor/boss-recommend-search-cli/src/test-job-selection.js",
31
- "test:screen-runtime": "node vendor/boss-recommend-screen-cli/test-recoverable-resume-failures.cjs"
44
+ "test:runtime-scan": "node src/test-runtime-scan.js",
45
+ "scan:runtime": "node scripts/scan-forbidden-runtime.js",
46
+ "scan:runtime:json": "node scripts/scan-forbidden-runtime.js --json",
47
+ "scan:runtime:strict": "node scripts/scan-forbidden-runtime.js --fail-on-findings",
48
+ "scan:runtime:package": "node scripts/scan-forbidden-runtime.js --package-surface",
49
+ "scan:runtime:package:strict": "node scripts/scan-forbidden-runtime.js --package-surface --fail-on-legacy",
50
+ "scan:legacy-boundary": "node scripts/scan-legacy-boundary.js",
51
+ "scan:package-boundary": "node scripts/scan-package-boundary.js",
52
+ "gate:phase9-static": "node scripts/phase9-static-gate.js",
53
+ "gate:phase10-complete": "node scripts/phase10-completion-gate.js",
54
+ "live:cdp-smoke": "node scripts/live-cdp-smoke.js",
55
+ "live:run-lifecycle": "node scripts/live-run-lifecycle-smoke.js",
56
+ "live:screening": "node scripts/live-screening-smoke.js",
57
+ "live:detail": "node scripts/live-detail-smoke.js",
58
+ "live:infinite-list": "node scripts/live-infinite-list-smoke.js",
59
+ "live:scroll-end": "node scripts/live-scroll-end-screenshot.js",
60
+ "live:refresh-round": "node scripts/live-refresh-round-smoke.js",
61
+ "live:self-heal": "node scripts/live-self-heal-smoke.js",
62
+ "live:recommend-actions": "node scripts/live-recommend-actions-smoke.js",
63
+ "live:recommend-phase10-full": "node scripts/live-recommend-phase10-full.js",
64
+ "live:recommend-domain": "node scripts/live-recommend-domain-smoke.js",
65
+ "live:recommend-run-service": "node scripts/live-recommend-run-service-smoke.js",
66
+ "live:recommend-mcp": "node scripts/live-recommend-mcp-smoke.js",
67
+ "live:search-phase10-full": "node scripts/live-search-phase10-full.js",
68
+ "live:recruit-domain": "node scripts/live-recruit-domain-smoke.js",
69
+ "live:recruit-run-service": "node scripts/live-recruit-run-service-smoke.js",
70
+ "live:recruit-mcp": "node scripts/live-recruit-mcp-smoke.js",
71
+ "live:chat-domain": "node scripts/live-chat-domain-smoke.js",
72
+ "live:chat-run-service": "node scripts/live-chat-run-service-smoke.js",
73
+ "live:chat-mcp": "node scripts/live-chat-mcp-smoke.js",
74
+ "live:chat-phase10-full": "node scripts/live-chat-phase10-full.js",
75
+ "live:chat-image-screening": "node scripts/live-chat-image-screening-smoke.js"
32
76
  },
33
77
  "files": [
34
78
  "bin",
35
79
  "config/screening-config.example.json",
36
80
  "skills",
37
81
  "scripts/postinstall.cjs",
38
- "src",
39
- "vendor",
82
+ "src/core",
83
+ "src/domains",
84
+ "src/chat-mcp.js",
85
+ "src/chat-runtime-config.js",
86
+ "src/cli.js",
87
+ "src/index.js",
88
+ "src/parser.js",
89
+ "src/recommend-mcp.js",
90
+ "src/recruit-mcp.js",
91
+ "src/run-state.js",
40
92
  "README.md"
41
93
  ],
42
94
  "dependencies": {
@@ -95,6 +95,10 @@ description: "Use when users want Boss recommend-page filtering/screening via bo
95
95
 
96
96
  ## Tool Usage
97
97
 
98
+ - 岗位发现工具:`list_recommend_jobs`
99
+ - 用途:当用户需要为 cron / 一次性自动任务提前填写完整参数时,先用它读取推荐页岗位下拉框的全部可用岗位名。
100
+ - 输出:优先把 `job_names` 里的值作为后续 `overrides.job` / `confirmation.job_value`。
101
+ - 限制:只读岗位列表,不启动筛选任务;仍然必须在正式 `start_recommend_pipeline_run` 前完成岗位与最终确认。
98
102
  - 主工具:`start_recommend_pipeline_run`
99
103
  - 必填:`instruction`
100
104
  - 关键输入: