@reconcrap/boss-recommend-mcp 2.0.44 → 2.0.45
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 +3 -3
- package/config/screening-config.example.json +9 -9
- package/package.json +1 -1
- package/src/cli.js +3 -3
- package/src/core/browser/index.js +2 -1
- package/src/index.js +4 -4
- package/src/recruit-mcp.js +2 -2
package/README.md
CHANGED
|
@@ -259,11 +259,11 @@ config/screening-config.example.json
|
|
|
259
259
|
- `debugPort`:未显式传 `port` 时,recommend / search / chat CDP-only MCP run 和健康检查默认连接这个 Chrome 调试端口。
|
|
260
260
|
- `outputDir`:recommend / search / chat 完成后的最终 CSV 与 report JSON 会写入这里;run state / checkpoint 仍保留在各自状态目录,方便 pause/resume/cancel。
|
|
261
261
|
- `llmThinkingLevel`:默认 `low`。可设为 `off/minimal/low/medium/high/auto/current`,用于控制 OpenAI-compatible LLM 的 thinking/reasoning 强度。
|
|
262
|
-
- `humanBehavior`:默认 `{ "enabled":
|
|
263
|
-
- `profile: "baseline"
|
|
262
|
+
- `humanBehavior`:默认 `{ "enabled": true, "profile": "paced_with_rests" }`。用于 recommend / search / chat 的可靠性实验,支持:
|
|
263
|
+
- `profile: "baseline"`:关闭人类节奏,保持确定性行为。
|
|
264
264
|
- `profile: "paced"`:启用 CDP-only Bezier 鼠标移动、较大按钮的安全 inset 点击点、分块 `Input.insertText`、列表 wheel/settle jitter,以及小的动作前后读秒。
|
|
265
265
|
- `profile: "paced_with_rests"`:在 `paced` 基础上启用候选人短休和批次休息。
|
|
266
|
-
- `humanRestEnabled`:兼容旧配置。设为 `true` 时等价于 `humanBehavior.profile="paced_with_rests"`;设为 `false`
|
|
266
|
+
- `humanRestEnabled`:兼容旧配置。设为 `true` 时等价于 `humanBehavior.profile="paced_with_rests"`;设为 `false` 时不会关闭当前默认节奏。如需关闭,请显式设置 `humanBehavior.enabled=false` 或 `humanBehavior.profile="baseline"`。
|
|
267
267
|
- recommend / search / chat 图片简历 fallback 与主列表滚动都会在启用 `listScrollJitter` 时使用 coverage-safe scroll jitter:每次 wheel delta 在安全范围内变化,并保留截图重叠、重复检测、bottom-marker / stop-boundary 逻辑,实际 delta 和 settle 时间会写入 artifact metadata。
|
|
268
268
|
- chat/recommend/search run 也兼容显式参数 `safe_pacing` 与 `batch_rest_enabled`:run 参数优先于配置文件。
|
|
269
269
|
|
|
@@ -12,16 +12,16 @@
|
|
|
12
12
|
"llmImageDetail": "low",
|
|
13
13
|
"debugPort": 9222,
|
|
14
14
|
"outputDir": "",
|
|
15
|
-
"humanRestEnabled":
|
|
15
|
+
"humanRestEnabled": true,
|
|
16
16
|
"humanBehavior": {
|
|
17
|
-
"enabled":
|
|
18
|
-
"profile": "
|
|
19
|
-
"clickMovement":
|
|
20
|
-
"textEntry":
|
|
21
|
-
"listScrollJitter":
|
|
22
|
-
"shortRest":
|
|
23
|
-
"batchRest":
|
|
24
|
-
"actionCooldown":
|
|
17
|
+
"enabled": true,
|
|
18
|
+
"profile": "paced_with_rests",
|
|
19
|
+
"clickMovement": true,
|
|
20
|
+
"textEntry": true,
|
|
21
|
+
"listScrollJitter": true,
|
|
22
|
+
"shortRest": true,
|
|
23
|
+
"batchRest": true,
|
|
24
|
+
"actionCooldown": true
|
|
25
25
|
},
|
|
26
26
|
"openaiOrganization": "optional-org-id",
|
|
27
27
|
"openaiProject": "optional-project-id"
|
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -63,10 +63,10 @@ const installConfigDefaults = Object.freeze({
|
|
|
63
63
|
llmMaxRetries: 3,
|
|
64
64
|
llmImageLimit: 8,
|
|
65
65
|
llmImageDetail: "low",
|
|
66
|
-
humanRestEnabled:
|
|
66
|
+
humanRestEnabled: true,
|
|
67
67
|
humanBehavior: {
|
|
68
|
-
enabled:
|
|
69
|
-
profile: "
|
|
68
|
+
enabled: true,
|
|
69
|
+
profile: "paced_with_rests"
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
72
|
const bossChatRuntimeChildDirs = ["logs", "runs", "profiles", "reports", "artifacts", "state"];
|
|
@@ -41,6 +41,7 @@ const BOSS_LOGIN_DOM_SELECTORS = [
|
|
|
41
41
|
"input[placeholder*='验证码']"
|
|
42
42
|
];
|
|
43
43
|
const HUMAN_INTERACTION_CONFIG = new WeakMap();
|
|
44
|
+
const DEFAULT_HUMAN_BEHAVIOR_PROFILE = "paced_with_rests";
|
|
44
45
|
const HUMAN_BEHAVIOR_PROFILES = Object.freeze({
|
|
45
46
|
baseline: Object.freeze({
|
|
46
47
|
enabled: false,
|
|
@@ -175,7 +176,7 @@ export function normalizeHumanBehaviorOptions(raw = null, {
|
|
|
175
176
|
? "paced_with_rests"
|
|
176
177
|
: safePacingFlag === true
|
|
177
178
|
? "paced"
|
|
178
|
-
:
|
|
179
|
+
: DEFAULT_HUMAN_BEHAVIOR_PROFILE;
|
|
179
180
|
const profile = normalizeHumanBehaviorProfile(explicitProfile, inferredProfile);
|
|
180
181
|
const profileDefaults = {
|
|
181
182
|
...HUMAN_BEHAVIOR_PROFILES[profile]
|
package/src/index.js
CHANGED
|
@@ -265,7 +265,7 @@ function createTargetCountInputSchema(description) {
|
|
|
265
265
|
};
|
|
266
266
|
}
|
|
267
267
|
|
|
268
|
-
function createHumanBehaviorInputSchema(description = "
|
|
268
|
+
function createHumanBehaviorInputSchema(description = "可选,启用可靠性实验用的人类节奏配置;默认 paced_with_rests/on") {
|
|
269
269
|
return {
|
|
270
270
|
type: "object",
|
|
271
271
|
properties: {
|
|
@@ -630,7 +630,7 @@ function createRunInputSchema() {
|
|
|
630
630
|
target_count: createTargetCountInputSchema("boss-chat follow-up 本次处理人数上限;支持正整数、all 或 -1(扫到底)"),
|
|
631
631
|
dry_run: { type: "boolean" },
|
|
632
632
|
no_state: { type: "boolean" },
|
|
633
|
-
human_behavior: createHumanBehaviorInputSchema("可选,follow-up chat 节奏配置;默认
|
|
633
|
+
human_behavior: createHumanBehaviorInputSchema("可选,follow-up chat 节奏配置;默认 paced_with_rests/on"),
|
|
634
634
|
humanBehavior: createHumanBehaviorInputSchema("兼容字段;优先使用 human_behavior"),
|
|
635
635
|
human_behavior_enabled: { type: "boolean" },
|
|
636
636
|
human_behavior_profile: {
|
|
@@ -666,7 +666,7 @@ function createRunInputSchema() {
|
|
|
666
666
|
type: "boolean",
|
|
667
667
|
description: "可选,VPN/慢页面 live 测试模式,放宽等待时间"
|
|
668
668
|
},
|
|
669
|
-
human_behavior: createHumanBehaviorInputSchema("可选,recommend 可靠性实验用节奏配置;默认
|
|
669
|
+
human_behavior: createHumanBehaviorInputSchema("可选,recommend 可靠性实验用节奏配置;默认 paced_with_rests/on"),
|
|
670
670
|
humanBehavior: createHumanBehaviorInputSchema("兼容字段;优先使用 human_behavior"),
|
|
671
671
|
human_behavior_enabled: {
|
|
672
672
|
type: "boolean",
|
|
@@ -913,7 +913,7 @@ function createBossChatStartInputSchema({ requireFullInput = false } = {}) {
|
|
|
913
913
|
},
|
|
914
914
|
dry_run: { type: "boolean" },
|
|
915
915
|
no_state: { type: "boolean" },
|
|
916
|
-
human_behavior: createHumanBehaviorInputSchema("可选,chat 可靠性实验用节奏配置;默认
|
|
916
|
+
human_behavior: createHumanBehaviorInputSchema("可选,chat 可靠性实验用节奏配置;默认 paced_with_rests/on"),
|
|
917
917
|
humanBehavior: createHumanBehaviorInputSchema("兼容字段;优先使用 human_behavior"),
|
|
918
918
|
human_behavior_enabled: {
|
|
919
919
|
type: "boolean",
|
package/src/recruit-mcp.js
CHANGED
|
@@ -365,7 +365,7 @@ function createTargetCountSchema(description) {
|
|
|
365
365
|
};
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
-
function createHumanBehaviorInputSchema(description = "可选,search/recruit
|
|
368
|
+
function createHumanBehaviorInputSchema(description = "可选,search/recruit 可靠性实验用节奏配置;默认 paced_with_rests/on") {
|
|
369
369
|
return {
|
|
370
370
|
type: "object",
|
|
371
371
|
properties: {
|
|
@@ -453,7 +453,7 @@ export function createRecruitPipelineInputSchema() {
|
|
|
453
453
|
type: "boolean",
|
|
454
454
|
description: "VPN/慢页面模式:放宽 live DOM 等待时间"
|
|
455
455
|
},
|
|
456
|
-
human_behavior: createHumanBehaviorInputSchema("可选,search/recruit 可靠性实验用节奏配置;默认
|
|
456
|
+
human_behavior: createHumanBehaviorInputSchema("可选,search/recruit 可靠性实验用节奏配置;默认 paced_with_rests/on"),
|
|
457
457
|
humanBehavior: createHumanBehaviorInputSchema("兼容字段;优先使用 human_behavior"),
|
|
458
458
|
human_behavior_enabled: {
|
|
459
459
|
type: "boolean",
|