dsh-data-cleaning-agent 0.9.8 → 0.9.9

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/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.9.9] - 2026-09-13
8
+
9
+ - 原生首页标题桥接适配新版 Host 的 composer sibling slot;菜单进入数据清洗补全后稳定显示“数据清洗补全智能体”,不再回退为“探索未至之境”。
10
+ - 保持桥接可逆并补充第三方插件共存回归,避免误改其它业务智能体的标题、提示区或输入框。
11
+
7
12
  ## [0.9.8] - 2026-09-13
8
13
 
9
14
  - DC-SCOPE-P0:持久保存任务来源 Session/Workspace 与安全展示名称;v2 旧记录采用附加字段兼容读取,不猜测来源、不批量改写历史。
package/README.en.md CHANGED
@@ -10,9 +10,9 @@ Related agents: [数据清洗补全](https://github.com/duhu2000/dsh-data-cleani
10
10
 
11
11
  > A data cleaning & completion agent plugin for DeepSeek Harness: local CSV/XLSX/JSON engine plus optional Qichacha (QCC) MCP enterprise-data enrichment. Initiated and maintained by the Qichacha (QCC) team.
12
12
  >
13
- > Current source version / 当前源码版本: **0.9.8** (stable release)
13
+ > Current source version / 当前源码版本: **0.9.9** (stable release)
14
14
 
15
- 0.9.8 makes Profile history read-only and persists origin Workspace/Session metadata. Legacy records remain explicitly unattributed and cannot become the current Session task. Open-origin navigation is capability-gated; existing XLSX artifacts remain downloadable without MCP calls. Rollback: `dsh plugin --profile web add dsh-data-cleaning-agent@0.9.7` (reintroduces the old history-binding risk). Live DSH A/B verification is unverified because the local Web session requires authentication; see the release checklist.
15
+ 0.9.9 restores the “数据清洗补全智能体” native home title when newer Host builds place the plugin marker and Hero headline in sibling composer branches. The bridge remains reversible and isolated from other business plugins. The 0.9.8 read-only Profile history and origin Workspace/Session guarantees remain unchanged. Rollback: `dsh plugin --profile web add dsh-data-cleaning-agent@0.9.8`. Live DSH A/B verification remains a post-install user check.
16
16
 
17
17
  This release refines workbench hierarchy, spacing, and responsive behavior across imported lists, field mapping, quality profiling, and entity matching. File, image, and pasted-data inputs collapse after a successful import and return through the explicit reimport action. Field mapping uses grouped choices, and searching a dimension exposes all fields in that group. Preparing a draft does not query QCC; sending starts execution. Fully restart DSH after upgrading. Existing download artifacts are not rewritten.
18
18
 
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  数据清洗补全智能体:面向 Excel/CSV/JSON 企业名单,提供数据清洗、表格清洗、清洗补全、去重、企业数据补全与字段补全,支持企查查 MCP 和结果导出。
10
10
 
11
11
  ```sh
12
- dsh plugin --profile web add dsh-data-cleaning-agent@0.9.8
12
+ dsh plugin --profile web add dsh-data-cleaning-agent@0.9.9
13
13
  ```
14
14
 
15
15
  请先满足下文的 DSH、连接器及侧边栏依赖要求;安装后完整停止并重启对应 Profile。
@@ -27,9 +27,9 @@ dsh plugin --profile web add dsh-data-cleaning-agent@0.9.8
27
27
 
28
28
  > 在 DeepSeek Harness 中清洗、补全、画像企业名单数据的智能体插件:本地 CSV/XLSX/JSON 引擎 + 可选企查查(Qichacha/QCC)MCP 企业数据补全,由企查查(Qichacha/QCC)团队发起并维护。
29
29
  >
30
- > 当前源码版本 / Current source version: **0.9.8**(正式版本)
30
+ > 当前源码版本 / Current source version: **0.9.9**(正式版本)
31
31
 
32
- 0.9.8 修复历史任务跨 Session 误绑定:历史默认只读,显示来源工作区/会话;旧记录显示“历史版本未保存来源”,不自动接管。来源可用时可“打开来源会话”,不会修改当前任务。已有 XLSX 与任务报告可继续下载,导航不调用 MCP。升级后旧版本当前绑定将进入只读历史;新任务按 Session 恢复。回滚:`dsh plugin --profile web add dsh-data-cleaning-agent@0.9.7`(回滚会重新暴露旧版误绑定风险)。真实 DSH A/B 验收因本机 Web 未认证而未验证,详见发布清单。
32
+ 0.9.9 修复新版 Host composer sibling slot 下的原生首页标题定位,进入数据清洗补全后稳定显示“数据清洗补全智能体”,并保持对其它业务插件的标题隔离。0.9.8 的 Profile 历史只读、来源工作区/会话校验与旧记录边界全部保留。回滚:`dsh plugin --profile web add dsh-data-cleaning-agent@0.9.8`。真实 DSH A/B 验收仍以安装后的用户验证为准,详见发布说明。
33
33
 
34
34
  本版优化工作台的信息层级、区域间距与响应式布局,重构导入清单、字段映射、质量体检及主体匹配页面。导入成功后文件、图片与粘贴入口自动收起,通过“重新导入”再次展开;映射字段按维度分组选择,搜索维度名称时展示该组全部字段。生成说明不查询,发送才执行;升级后需完整重启 DSH,历史下载文件不自动改写。
35
35
 
@@ -0,0 +1,24 @@
1
+ # 0.9.9 · Native home title compatibility
2
+
3
+ Status: stable release. Date: 2026-09-13.
4
+
5
+ ## Scope
6
+
7
+ - Adapt the reversible native Hero title bridge to Host layouts where the plugin marker and headline live in sibling branches below the composer container.
8
+ - Keep the data-cleaning home title fixed at “数据清洗补全智能体” without modifying another business plugin's headline, prompt UI or input focus.
9
+ - Preserve the 0.9.8 Profile history ownership, origin Workspace/Session checks and artifact-download behavior.
10
+
11
+ ## Verification
12
+
13
+ - The coexistence fixture now exercises a sibling-slot Host structure rather than the obsolete nested Hero structure.
14
+ - `npm run check` covers syntax, documentation version consistency, marketing metadata, package allowlist and the full Node test suite.
15
+ - The React/Chromium layout matrix remains a separate isolated UI gate; real DSH and production QCC Provider behavior require post-install acceptance.
16
+
17
+ ## Install and rollback
18
+
19
+ ```sh
20
+ dsh plugin --profile web add dsh-data-cleaning-agent@0.9.9
21
+ ```
22
+
23
+ Rollback package: `dsh plugin --profile web add dsh-data-cleaning-agent@0.9.8`.
24
+ Do not move or overwrite existing tags or npm versions.
package/lib/client.js CHANGED
@@ -2718,7 +2718,22 @@ body:has(.dcAgentPromptBackdrop) { overflow: hidden; }
2718
2718
  if (!enabled || typeof document === 'undefined' || typeof document.querySelectorAll !== 'function') return () => {};
2719
2719
  const marker = [...document.querySelectorAll('.dcAgentExperience')]
2720
2720
  .find((element) => element?.dataset?.sessionId === sessionId);
2721
- const hero = marker?.closest?.('[data-phase="hero"]');
2721
+ const hasHeadline = (scope) => {
2722
+ if (!scope?.querySelectorAll) return false;
2723
+ const spans = [...scope.querySelectorAll('span')];
2724
+ return spans.some((element) => element.dataset?.dcAgentHeroTitle === 'true'
2725
+ || ['探索未至之境', 'Into the Unknown'].includes(element.textContent?.trim()))
2726
+ || Boolean(scope.querySelector?.('[class*="headlineText"]'));
2727
+ };
2728
+ // 新版 Host 会把 list slot 放在 composer seat 的独立分支;marker 不一定再是
2729
+ // data-phase=hero 的后代。沿祖先寻找同时包含原生标题的最小范围,保留旧结构兼容。
2730
+ let hero = marker?.closest?.('[data-phase="hero"]') ?? null;
2731
+ if (!hasHeadline(hero)) {
2732
+ let scope = marker?.closest?.('[data-composer-seat]') ?? marker?.parentElement ?? null;
2733
+ while (scope && !hasHeadline(scope)) scope = scope.parentElement;
2734
+ if (scope) hero = scope;
2735
+ }
2736
+ if (!hero && document.body?.querySelectorAll) hero = document.body;
2722
2737
  if (!hero) return () => {};
2723
2738
  const changedTitles = new Map();
2724
2739
  const changedBadges = new Map();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-data-cleaning-agent",
3
- "version": "0.9.8",
3
+ "version": "0.9.9",
4
4
  "description": "Data cleaning and data enrichment for CSV/XLSX/JSON enterprise lists in DeepSeek Harness, including spreadsheet cleaning, deduplication, profiling, optional Qichacha MCP and exports.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -20,7 +20,7 @@
20
20
  "install.sh",
21
21
  "marketing",
22
22
  "docs/USER-GUIDE.md",
23
- "docs/RELEASE-0.9.8.md",
23
+ "docs/RELEASE-0.9.9.md",
24
24
  "docs/FIRST-CONTRIBUTION.md",
25
25
  "docs/COMPATIBILITY.md",
26
26
  "docs/UI-V1.5.0-ADOPTION.md",
@@ -1,68 +0,0 @@
1
- # 0.9.8 · DC-SCOPE-P0
2
-
3
- Status: release candidate. Date: 2026-09-13.
4
-
5
- ## Scope and authorization
6
-
7
- Explicit ledger delegation authorizes code, tests, commit/push, PR merge, immutable tag,
8
- GitHub Release, OIDC npm publishing and registry read-back. Base main: 2424c97.
9
- Package: dsh-data-cleaning-agent 0.9.8; qcc-field-contracts stays 0.2.0.
10
- Adopts DSH-UX-001 v1.5.3 at the shared AI-设计/DSH智能体开发交互规范方案.md;
11
- visual reference: DSH智能体_企查查蓝_UI_Mockup_v1.5.0.html.
12
-
13
- ## Migration and boundaries
14
-
15
- - New UI tasks persist immutable originSessionId/originWorkspaceId and bounded display labels.
16
- Missing Workspace capability is explicitly unknown; never inferred from active/recent Workspace.
17
- - Schema v2 additive read migration returns null origin for legacy records. No bulk rewrite.
18
- - LocalStorage bindings are hints, not ownership proof. Wrong/legacy bindings cannot hydrate
19
- the current Session; explicit new work creates a new task. Profile history remains readable.
20
- - History selection has separate state and uses GET only. It does not load run rows, rules,
21
- field selection, paid confirmations or command credentials into the current Session.
22
- - Open-source-Session uses an existing, capability-verified Session only. Missing/deleted
23
- origins remain read-only; no clone or silent rebind feature is introduced.
24
- - HTTP task mutations and workflow command preparation require matching persisted origin
25
- for scoped tasks. This is an application isolation guard, not an authentication boundary:
26
- existing Host same-origin/Profile access controls remain authoritative. Legacy/headless
27
- origin-less API records remain backwards-compatible; UI never adopts them as current.
28
- - Revision conflict rejects concurrent updates; stale UI snapshots do not overwrite newer ones.
29
- - Customer XLSX and secondary report links remain separated. Downloads reuse saved artifacts.
30
- - Provider audit distinguishes success-data, success-empty, not-required, no-permission,
31
- failed, unknown without changing field completeness or charging rules. No raw response saved.
32
- - Completed/cancelled workflow states cannot regress. Existing explicit partial-result retry
33
- is retained; it is not classified as an immutable successful completion.
34
-
35
- ## Verification
36
-
37
- Local evidence (2026-09-13): `npm run check` passed, 275/275 tests, zero failures.
38
- Real React/Chromium layout matrix passed 10/10 (light/dark; 320–1440px).
39
- Artifact preview passed 390/800/1440px with compact rows, two-axis scrolling and fixed headers.
40
- `git diff --check` passed. Remote CI and registry evidence are pending publication.
41
- No separate compiled build: runtime consists of shipped JS;
42
- `npm run check` includes syntax, documentation, package allowlist and full node tests.
43
- Real React/Chromium layout and preview regressions are separate from live DSH.
44
- Tests cover Session A/B, origin persistence across store restart, legacy unknown records,
45
- concurrent revision updates, stale history/current responses, open-origin capability checks,
46
- Tab X/fold/provider-remount and synthetic four-plugin coexistence baseline from PR #13.
47
-
48
- **真实 DSH Session A/B 浏览器验收:因本机 DSH Web 未认证而未验证。**
49
- Observed browser text: “dsh web authentication required; reopen the URL printed by dsh web.”
50
- No authentication bypass or token collection attempted. Ledger confirmed this external
51
- condition does not block release if all automated gates pass. Live QCC/OCR/Windows-host
52
- and real four-plugin installation verification are not claimed. Market publishing out of scope.
53
-
54
- Minimal user recheck after authentication/restart:
55
- 1. In Session A, create a synthetic task without sending paid commands; confirm origin labels.
56
- 2. In Session B, enter a different draft/field selection, view A from history, then return to
57
- current task. B's draft, fields, taskId and stage must remain unchanged.
58
- 3. Download A's saved artifact without new MCP calls; open source Session A only via explicit action.
59
- 4. Restart/reload, close Tab X, fold/unfold Sidebar, switch among four plugins and repeat.
60
- Old tasks must say “历史版本未保存来源” and must never replace B's current task.
61
-
62
- ## Publish and rollback
63
-
64
- Follow PR → exact merge main CI → annotated v0.9.8 → Release workflow OIDC/provenance.
65
- Read back npm latest/version/gitHead/attestations, tag SHA and GitHub Release flags.
66
- Rollback package: `dsh plugin --profile web add dsh-data-cleaning-agent@0.9.7`.
67
- Rollback reintroduces history adoption risk; preserve persisted records and do not move tags.
68
- Release evidence will be appended after publication; no market or user acceptance claim.