@reconcrap/boss-recommend-mcp 1.1.5 → 1.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/package.json +62 -51
- package/scripts/postinstall.cjs +44 -44
- package/skills/boss-recommend-pipeline/README.md +12 -12
- package/skills/boss-recommend-pipeline/SKILL.md +235 -238
- package/src/adapters.js +317 -419
- package/src/index.js +99 -19
- package/src/pipeline.js +740 -781
- package/src/run-state.js +351 -351
- package/src/test-adapters-runtime.js +172 -163
- package/src/test-index-async.js +236 -236
- package/src/test-pipeline.js +2 -4
- package/src/test-run-state.js +152 -152
- package/vendor/boss-recommend-screen-cli/boss-recommend-screen-cli.cjs +15 -2
- package/vendor/boss-recommend-screen-cli/scripts/capture-full-resume-canvas.cjs +295 -84
- package/vendor/boss-recommend-screen-cli/test-recoverable-resume-failures.cjs +95 -0
- package/vendor/boss-recommend-search-cli/src/cli.js +1603 -1603
- package/vendor/boss-recommend-search-cli/src/test-job-selection.js +201 -201
package/package.json
CHANGED
|
@@ -1,51 +1,62 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@reconcrap/boss-recommend-mcp",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Unified MCP pipeline for recommend-page filtering and screening on Boss Zhipin",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"boss",
|
|
7
|
-
"mcp",
|
|
8
|
-
"codex",
|
|
9
|
-
"recruiting",
|
|
10
|
-
"boss-zhipin",
|
|
11
|
-
"recommend"
|
|
12
|
-
],
|
|
13
|
-
"type": "module",
|
|
14
|
-
"main": "src/index.js",
|
|
15
|
-
"bin": {
|
|
16
|
-
"boss-recommend-mcp": "bin/boss-recommend-mcp.js"
|
|
17
|
-
},
|
|
18
|
-
"scripts": {
|
|
19
|
-
"start": "node src/index.js",
|
|
20
|
-
"cli": "node src/cli.js",
|
|
21
|
-
"install:local": "node src/cli.js install",
|
|
22
|
-
"postinstall": "node scripts/postinstall.cjs",
|
|
23
|
-
"test:parser": "node src/test-parser.js",
|
|
24
|
-
"test:pipeline": "node src/test-pipeline.js",
|
|
25
|
-
"test:run-state": "node src/test-run-state.js",
|
|
26
|
-
"test:runtime": "node src/test-adapters-runtime.js",
|
|
27
|
-
"test:async": "node src/test-index-async.js",
|
|
28
|
-
"test:search-job": "node vendor/boss-recommend-search-cli/src/test-job-selection.js",
|
|
29
|
-
"test:screen-runtime": "node vendor/boss-recommend-screen-cli/test-recoverable-resume-failures.cjs"
|
|
30
|
-
},
|
|
31
|
-
"files": [
|
|
32
|
-
"bin",
|
|
33
|
-
"config/screening-config.example.json",
|
|
34
|
-
"skills",
|
|
35
|
-
"scripts/postinstall.cjs",
|
|
36
|
-
"src",
|
|
37
|
-
"vendor",
|
|
38
|
-
"README.md"
|
|
39
|
-
],
|
|
40
|
-
"dependencies": {
|
|
41
|
-
"chrome-remote-interface": "^0.33.3",
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@reconcrap/boss-recommend-mcp",
|
|
3
|
+
"version": "1.1.7",
|
|
4
|
+
"description": "Unified MCP pipeline for recommend-page filtering and screening on Boss Zhipin",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"boss",
|
|
7
|
+
"mcp",
|
|
8
|
+
"codex",
|
|
9
|
+
"recruiting",
|
|
10
|
+
"boss-zhipin",
|
|
11
|
+
"recommend"
|
|
12
|
+
],
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "src/index.js",
|
|
15
|
+
"bin": {
|
|
16
|
+
"boss-recommend-mcp": "bin/boss-recommend-mcp.js"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"start": "node src/index.js",
|
|
20
|
+
"cli": "node src/cli.js",
|
|
21
|
+
"install:local": "node src/cli.js install",
|
|
22
|
+
"postinstall": "node scripts/postinstall.cjs",
|
|
23
|
+
"test:parser": "node src/test-parser.js",
|
|
24
|
+
"test:pipeline": "node src/test-pipeline.js",
|
|
25
|
+
"test:run-state": "node src/test-run-state.js",
|
|
26
|
+
"test:runtime": "node src/test-adapters-runtime.js",
|
|
27
|
+
"test:async": "node src/test-index-async.js",
|
|
28
|
+
"test:search-job": "node vendor/boss-recommend-search-cli/src/test-job-selection.js",
|
|
29
|
+
"test:screen-runtime": "node vendor/boss-recommend-screen-cli/test-recoverable-resume-failures.cjs"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"bin",
|
|
33
|
+
"config/screening-config.example.json",
|
|
34
|
+
"skills",
|
|
35
|
+
"scripts/postinstall.cjs",
|
|
36
|
+
"src",
|
|
37
|
+
"vendor",
|
|
38
|
+
"README.md"
|
|
39
|
+
],
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"chrome-remote-interface": "^0.33.3",
|
|
42
|
+
"sharp": "^0.34.4",
|
|
43
|
+
"ws": "^8.19.0"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=18"
|
|
47
|
+
},
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"devDependencies": {},
|
|
53
|
+
"repository": {
|
|
54
|
+
"type": "git",
|
|
55
|
+
"url": "git+https://github.com/reconcrap-cpu/boss-recommend-mcp.git"
|
|
56
|
+
},
|
|
57
|
+
"author": "",
|
|
58
|
+
"bugs": {
|
|
59
|
+
"url": "https://github.com/reconcrap-cpu/boss-recommend-mcp/issues"
|
|
60
|
+
},
|
|
61
|
+
"homepage": "https://github.com/reconcrap-cpu/boss-recommend-mcp#readme"
|
|
62
|
+
}
|
package/scripts/postinstall.cjs
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const fs = require("node:fs");
|
|
3
|
-
const path = require("node:path");
|
|
4
|
-
const { spawnSync } = require("node:child_process");
|
|
5
|
-
|
|
6
|
-
function isGlobalInstall() {
|
|
7
|
-
if (String(process.env.npm_config_global || "").toLowerCase() === "true") return true;
|
|
8
|
-
if (String(process.env.npm_config_location || "").toLowerCase() === "global") return true;
|
|
9
|
-
|
|
10
|
-
const argvRaw = String(process.env.npm_config_argv || "");
|
|
11
|
-
if (argvRaw.includes("--global") || argvRaw.includes(" -g ")) return true;
|
|
12
|
-
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function main() {
|
|
17
|
-
const cliPath = path.join(__dirname, "..", "src", "cli.js");
|
|
18
|
-
if (!fs.existsSync(cliPath)) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const initCwd = String(process.env.INIT_CWD || "").trim();
|
|
23
|
-
const workspaceArgs = initCwd ? ["--workspace-root", path.resolve(initCwd)] : [];
|
|
24
|
-
const cliArgs = isGlobalInstall()
|
|
25
|
-
? [cliPath, "install", ...workspaceArgs]
|
|
26
|
-
: [cliPath, "init-config", ...workspaceArgs];
|
|
27
|
-
|
|
28
|
-
const result = spawnSync(process.execPath, cliArgs, {
|
|
29
|
-
cwd: path.join(__dirname, ".."),
|
|
30
|
-
stdio: "inherit",
|
|
31
|
-
windowsHide: true,
|
|
32
|
-
shell: false
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
if (result.error) {
|
|
36
|
-
console.warn(`[boss-recommend-mcp] postinstall warning: ${result.error.message}`);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
if (typeof result.status === "number" && result.status !== 0) {
|
|
40
|
-
console.warn(`[boss-recommend-mcp] postinstall warning: install exited with code ${result.status}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
main();
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require("node:fs");
|
|
3
|
+
const path = require("node:path");
|
|
4
|
+
const { spawnSync } = require("node:child_process");
|
|
5
|
+
|
|
6
|
+
function isGlobalInstall() {
|
|
7
|
+
if (String(process.env.npm_config_global || "").toLowerCase() === "true") return true;
|
|
8
|
+
if (String(process.env.npm_config_location || "").toLowerCase() === "global") return true;
|
|
9
|
+
|
|
10
|
+
const argvRaw = String(process.env.npm_config_argv || "");
|
|
11
|
+
if (argvRaw.includes("--global") || argvRaw.includes(" -g ")) return true;
|
|
12
|
+
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function main() {
|
|
17
|
+
const cliPath = path.join(__dirname, "..", "src", "cli.js");
|
|
18
|
+
if (!fs.existsSync(cliPath)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const initCwd = String(process.env.INIT_CWD || "").trim();
|
|
23
|
+
const workspaceArgs = initCwd ? ["--workspace-root", path.resolve(initCwd)] : [];
|
|
24
|
+
const cliArgs = isGlobalInstall()
|
|
25
|
+
? [cliPath, "install", ...workspaceArgs]
|
|
26
|
+
: [cliPath, "init-config", ...workspaceArgs];
|
|
27
|
+
|
|
28
|
+
const result = spawnSync(process.execPath, cliArgs, {
|
|
29
|
+
cwd: path.join(__dirname, ".."),
|
|
30
|
+
stdio: "inherit",
|
|
31
|
+
windowsHide: true,
|
|
32
|
+
shell: false
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
if (result.error) {
|
|
36
|
+
console.warn(`[boss-recommend-mcp] postinstall warning: ${result.error.message}`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (typeof result.status === "number" && result.status !== 0) {
|
|
40
|
+
console.warn(`[boss-recommend-mcp] postinstall warning: install exited with code ${result.status}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
main();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Boss Recommend Pipeline Skill
|
|
2
|
-
|
|
3
|
-
用于 Boss 推荐页的人选筛选流水线。
|
|
4
|
-
|
|
5
|
-
核心规则:
|
|
6
|
-
|
|
7
|
-
- 先确认推荐页 filters
|
|
8
|
-
- 再确认筛选 criteria
|
|
9
|
-
- 再确认本次运行统一动作 `favorite` 或 `greet`
|
|
10
|
-
- 只确认一次 `post_action`,不要逐个候选人反复确认
|
|
11
|
-
- 运行中临时中断请使用 `pause_recommend_pipeline_run`(按 run_id),不要靠自然语言“暂停/继续”指令
|
|
12
|
-
- 继续执行请使用 `resume_recommend_pipeline_run`;状态查询默认按用户指令触发,不自动轮询
|
|
1
|
+
# Boss Recommend Pipeline Skill
|
|
2
|
+
|
|
3
|
+
用于 Boss 推荐页的人选筛选流水线。
|
|
4
|
+
|
|
5
|
+
核心规则:
|
|
6
|
+
|
|
7
|
+
- 先确认推荐页 filters
|
|
8
|
+
- 再确认筛选 criteria
|
|
9
|
+
- 再确认本次运行统一动作 `favorite` 或 `greet`
|
|
10
|
+
- 只确认一次 `post_action`,不要逐个候选人反复确认
|
|
11
|
+
- 运行中临时中断请使用 `pause_recommend_pipeline_run`(按 run_id),不要靠自然语言“暂停/继续”指令
|
|
12
|
+
- 继续执行请使用 `resume_recommend_pipeline_run`;状态查询默认按用户指令触发,不自动轮询
|