跳转至

title: [ISSUE-0004] 设置字段命名望文生义,与实际语义矛盾 description: "设置字段名暗示与实际语义矛盾,反复出现(已写成铁律)" tags: [issue, settings] created: 2026-05-26 updated: 2026-05-26 type: issue status: fixed severity: medium


[ISSUE-0004] 设置字段命名望文生义,与实际语义矛盾

相关 wikisettings-field-semantics.mdshared-queue-architecture.md 相关 rulesettings-change-pre-check.md

用户感知的现象

v0.10.12 之前

"实开 Tab 并发 = 同时进行的任务数?逻辑有问题!多个任务是共享序列的..."

v0.10.14 之前

"网站抓取也应该是多个网站共用一个序列的吧?...同时挖几个网站是不是不对?而是线程?"

UI 文案让用户做出基于错误模型的决策。例如: - 用户想跑 5 个任务,于是把「实开 Tab 并发」调到 5 —— 期望 5 × 5 = 25 个 Tab,实际只有 5 个(全局上限) - 用户想"同时挖 10 个网站"调到 10,但实际开 10 个 worker 线程(worker 数 ≠ 网站数)

根因分析

v0.10.0 把架构从"per-task"重写为"共享队列",但字段名没改

字段 名字暗示 v0.10.0+ 真实语义
maxConcurrentTasks "同时几个任务" activeTabs.size 全局上限
deepScrapeConcurrency "同时几个网站" worker 线程数全局上限
pagerConcurrency "翻页并发" 全局 Fetch 并发(不是 per-task)
requestConcurrency "请求并发" 已废弃(v0.10.0 不再读)

UI label 沿用字段名暗示 → 与代码实际行为矛盾。

修复方案

v0.10.12(第一次修)

maxConcurrentTasks label: - 旧:实开 Tab 并发(= 同时进行的任务数) - 新:实开 Tab 并发上限 - helper 加 banner 说明「共享队列 + 与任务数无关 + 1 任务也能用满 5 槽位」

v0.10.14(第二次修)

deepScrapeConcurrency label: - 旧:同时挖几个网站 - 新:抓取并发上限(worker 线程数) - helper 加 banner 说明「所有任务的待抓官网共用全局队列」

改动文件

文件 改了什么
src/sections/settings/view/settings-view.tsx 多个 label / helper 改文案 + 加架构 banner

验证方式

打开 settings → 高级·地图抓取 / 高级·网站抓取 → 确认: - 所有"并发"字段 label 含「上限」字样 - helper 含「全局共享」+ 具体例子 - 顶部有架构说明 banner

如何避免再犯

  • 改 UI label/helper 之前必须先读对应源码顶部注释(特别是 batch-controller.ts / engine-manager.ts / task-manager.ts
  • 字段名 ≠ UI 文案:字段名向后兼容不改,UI 文案可以改对
  • 任何 "并发" 字段必须明示 "全局" 或 "per-X"
  • 要给具体例子:「N=5 时 1 个任务 vs 5 个任务下分别如何」
  • 写完 UI 改 docs/wiki/settings-field-semantics.md 同步表格
  • 遵守 docs/rules/settings-change-pre-check.md

相关问题

无 — 但反复出现 2 次说明这是高频陷阱,已写入 更新规则.md 第七章 A 节作为铁律。