dsh-super-code 0.3.0 → 0.3.2

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/cordis.patch.yml CHANGED
@@ -16,6 +16,9 @@
16
16
  plugins:
17
17
  - id: super-code
18
18
  name: dsh-super-code/super-code
19
+ config:
20
+ presetVersion: 0.3.2
21
+ presetInstallation: bundle:dsh-super-code
19
22
  - id: compaction
20
23
  name: cordis:group
21
24
  group: true
package/docs/Changelog.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # 版本记录 · Changelog
2
2
 
3
+ - **0.3.2 · 2026-10-11**:统一预设设置、执行树和记忆库的视觉样式,保留圆形节点,紧凑工具栏显示“已收起”/“自动整理”名称;所有插件按钮使用上方名称气泡,历史时间/排序改为支持键盘操作的自定义下拉。Agent 详情按对话呈现用户消息、回复和可展开的真实工具调用/结果,兼容旧版与新版 journal,顶部额外信息按需展开。记忆库新增主题导航、筛选和同主题条目,精简中英文冗余文案。保留预设安装、版本提示、归属保护及重装备份;[验证范围](Compatibility.md)。
4
+ **0.3.2 · 2026-10-11**: Refreshes preset settings, the Agent tree, and memory library while retaining circular nodes. Compact actions have visible Collapsed/Organize labels; plugin buttons show name bubbles above, and history filters use keyboard-accessible custom dropdowns. Agent details show user/reply roles and expandable real tool calls/results from old and new journals, with additional header information folded. Adds memory topic navigation, filtering, and related entries, and trims redundant bilingual copy. Preserves installation, version notices, ownership protection, and reinstall backups; [validation scope](Compatibility.md).
5
+ 修复新版侧栏聚焦导致下拉选项无法点击的问题;启动时等待宿主语言偏好加载,避免暂定浏览器语言触发预设重复同步与刷新。
6
+ Fixes dropdown options closing before selection when newer sidebars take focus. Startup waits for the host language preference, preventing provisional browser locales from repeatedly synchronizing presets and reloading the page.
7
+
8
+ - **0.3.1 · 2026-10-10**:设置页始终展开,展示插件与当前预设的独立版本,提示不一致或未记录版本;声明式宿主新增安装、确认重装、改名、恢复备份及默认名称/描述语言同步。保留目录式安装、归属校验和自定义内容保护,允许新版宿主使用的 Cordis/Schemastery alpha 依赖。
9
+ **0.3.1 · 2026-10-10**: Keeps settings expanded and shows independent plugin/preset versions with mismatch or unrecorded-version notices. Adds installation, confirmed reinstallation, renaming, recovery backups and default display-language synchronization on declarative hosts. Retains directory installation, ownership checks and custom display-field protection, and accepts the Cordis/Schemastery alpha dependencies used by newer hosts.
10
+ 修复原生桌面宿主管理 API 的解析位置,以及移除确认列表条目后 Escape 误关设置页的问题。逐版验证 15 个官方 Harness 版本(`0.1.5-alpha.1`~`0.2.1-alpha.2`)及可获取的四个 macOS arm64 Desktop 发行包;[验证范围与限制](Compatibility.md)。
11
+ Fixes native Desktop management API resolution and Escape closing Settings after removing a confirmation row. Verifies 15 official Harness versions (`0.1.5-alpha.1`–`0.2.1-alpha.2`) and four available macOS arm64 Desktop releases; [verification scope and limits](Compatibility.md).
12
+
3
13
  - **0.3.0 · 2026-10-09**:合入 Batch.3,用 Harness 原生 PTC 合并工具调用、并行独立读取,补齐批量调用中的 Agent 记忆使用记录,保留分层记忆及 0.2.1 的兼容适配,更新完整 100 题成绩和使用说明。
4
14
  **0.3.0 · 2026-10-09**: Integrates Batch.3 with Harness-native PTC for composed tool calls and parallel independent reads, adds per-Agent memory activity for nested calls, retains layered memory and 0.2.1 compatibility updates, and refreshes the complete 100-task results and usage guide.
5
15
 
@@ -1,5 +1,75 @@
1
1
  # 宿主兼容性 · Host Compatibility
2
2
 
3
+ ## 0.3.2 · 2026-10-11
4
+
5
+ 支持下限保持 `0.1.5-alpha.1`,没有新增依赖或宿主私有 UI 接口。官方 npm `latest`/`next` 仍为 `0.2.0-rc.2`,`alpha` 为 `0.2.1-alpha.2`。本次使用固定并审计的依赖和隔离 profile,在以下三个宿主重新安装 0.3.2 候选包并验收;中间版本保留下面 0.3.1 的逐版记录,本次没有全部重测。
6
+
7
+ The minimum remains `0.1.5-alpha.1`, without new dependencies or private host UI APIs. Official npm `latest`/`next` remains `0.2.0-rc.2`, and `alpha` is `0.2.1-alpha.2`. This release installed the 0.3.2 candidate in the three pinned, audited hosts below using isolated profiles. Intermediate versions retain the per-version 0.3.1 records below and were not all rerun.
8
+
9
+ | Harness | 预设机制 / Presets | 0.3.2 Web/CLI 与浏览器 / Web/CLI and browser |
10
+ |---|---|---|
11
+ | `0.1.5-alpha.1` | 目录 / Directory | 通过 / Pass |
12
+ | `0.2.0-rc.2` | 声明式 / Declarative | 通过 / Pass |
13
+ | `0.2.1-alpha.2` | 声明式 / Declarative | 通过 / Pass |
14
+
15
+ 三版均通过插件安装/激活、主/子 Agent、任务与项目/全局记忆、跨工作区隔离和重启读取。浏览器检查覆盖圆形执行树、缩放拖动、320/400/560px 单行操作、上方名称气泡、自定义时间/排序菜单的鼠标与键盘操作、紧凑 Agent 详情、旧/新版真实工具卡、主题目录/关联条目/搜索、展开设置、版本、刷新及确认列表移除/取消。没有浏览器控制台或页面错误。稳定版另实际切换中英文和明暗主题,核对默认名称、版本和气泡并截图。模型由本地确定性验收程序提供,没有调用外部模型。
16
+
17
+ All three passed installation/activation, main/child Agents, task/project/global memory, workspace isolation and restart reads. Browser checks covered circular trees, zoom/pan, one-row actions at 320/400/560px, above-button name bubbles, custom time/sort menus with mouse and keyboard, compact Agent details, real tool cards from old/new journals, topic navigation/related entries/search, expanded settings, versions, refresh and removable/cancellable confirmation lists. No console or page errors occurred. The stable host additionally passed actual Chinese/English and light/dark switching with default-name, version and tooltip screenshots. A local deterministic fixture supplied model responses; no external model was called.
18
+
19
+ 官方 macOS arm64 Desktop `0.2.0-rc.2` 的隔离应用副本实际验收了圆形树、命名操作、自定义菜单、真实工具详情、主题记忆库、版本和确认重装;移除后确认禁用、Escape 保留设置页、实际确认成功及恢复备份均已核对。副本保留原始 CFBundleName,隔离 bundle ID、profile 和 userData。后续启动语言等待修复由三版 Web 和单元测试复验;原生控制接口恢复时超时,未补录该最终修复的原生窗口截图。其他桌面版本和平台沿用历史范围,不宣称本次已全部验收。
20
+
21
+ An isolated copy of official macOS arm64 Desktop `0.2.0-rc.2` passed actual UI checks for circular trees, named actions, custom menus, real tool details, topic memory, versions and confirmed reinstallation. Removal disabled confirmation, Escape retained Settings, and actual reinstallation and recovery backups were checked. The copy preserves CFBundleName and isolates its bundle ID, profile and userData. The later startup-language wait fix passed all three Web hosts and unit tests; desktop-control recovery timed out, so a final native-window screenshot for that fix was not obtained. Other desktop versions and platforms retain historical coverage rather than a claim of full revalidation.
22
+
23
+ 158 项测试、类型检查、构建与客户端语法检查通过。预设安装、归属校验、用户字段保护和备份逻辑未改;启动同步通过宿主公开语言偏好服务等待加载,并按宿主版本声明 `settingsScope` 或 `configForms` 依赖。
24
+
25
+ All 158 tests, type checking, build and client syntax checks passed. Preset installation, ownership checks, user-field protection and backup logic are unchanged. Startup synchronization waits through the host's public language-preference service and declares the host-appropriate `settingsScope` or `configForms` dependency.
26
+
27
+ ## 0.3.1 · 2026-10-10
28
+
29
+ 支持下限保持 `0.1.5-alpha.1`。截至本次核对,官方 npm 的 `latest`/`next` 指向 `0.2.0-rc.2`,`alpha` 指向 `0.2.1-alpha.2`;官方 macOS arm64 Desktop 更新源指向 `0.2.0-rc.2`。
30
+
31
+ The minimum remains `0.1.5-alpha.1`. On this date, official npm `latest`/`next` points to `0.2.0-rc.2` and `alpha` to `0.2.1-alpha.2`; the official macOS arm64 Desktop update feed points to `0.2.0-rc.2`.
32
+
33
+ 下表 15 个官方 Harness 版本均真实安装 0.3.1 候选包,使用固定并审计的宿主依赖和隔离 profile。预设检查覆盖缺失安装、确认流程所用的改名/改标识符重装接口、冲突保护、语言同步和重启后读取/重装。主/子 Agent、任务与项目/全局记忆、跨工作区隔离、重启读取及网页执行树、缩放拖动、侧栏详情、记忆库、展开设置、版本展示和确认列表移除/取消均通过。模型由本地确定性测试提供,没有调用外部模型。
34
+
35
+ All 15 official Harness versions below installed the 0.3.1 candidate with pinned, audited host dependencies and isolated profiles. Preset checks covered missing installation, rename/identifier reinstallation, conflicts, language synchronization and restart recovery. Main/child Agents, task/project/global memory, workspace isolation and restart reads passed, along with web tree/zoom/pan, sidebar details, memory library, expanded settings, independent versions, and removable/cancellable confirmation lists. Tests used a local deterministic model without external model calls.
36
+
37
+ | Harness | 预设机制 / Presets | 0.3.1 Web/CLI 与浏览器 / Web/CLI and browser |
38
+ |---|---|---|
39
+ | `0.1.5-alpha.1` | 目录 / Directory | 通过 / Pass |
40
+ | `0.1.5-alpha.2` | 目录 / Directory | 通过 / Pass |
41
+ | `0.1.5-rc.1` | 目录 / Directory | 通过 / Pass |
42
+ | `0.1.5-rc.2` | 目录 / Directory | 通过 / Pass |
43
+ | `0.1.5-rc.3` | 目录 / Directory | 通过 / Pass |
44
+ | `0.1.6-alpha.1` | 目录 / Directory | 通过 / Pass |
45
+ | `0.1.6-alpha.2` | 目录 / Directory | 通过 / Pass |
46
+ | `0.1.7-alpha.1` | 声明式 / Declarative | 通过 / Pass |
47
+ | `0.1.7-alpha.2` | 声明式 / Declarative | 通过 / Pass |
48
+ | `0.1.7-rc.1` | 声明式 / Declarative | 通过 / Pass |
49
+ | `0.1.7-rc.2` | 声明式 / Declarative | 通过 / Pass |
50
+ | `0.2.0-rc.1` | 声明式 / Declarative | 通过 / Pass |
51
+ | `0.2.0-rc.2` | 声明式 / Declarative | 通过 / Pass |
52
+ | `0.2.1-alpha.1` | 声明式 / Declarative | 通过 / Pass |
53
+ | `0.2.1-alpha.2` | 声明式 / Declarative | 通过 / Pass |
54
+
55
+ 原生 PTC 另在最低版、稳定最新版和预发布最新版(`0.1.5-alpha.1`、`0.2.0-rc.2`、`0.2.1-alpha.2`)验证独立读取并行、写入顺序、权限拒绝与部分失败保留。0.1.7 的两个 alpha 版没有预设文档读取接口,因此归属核验要求唯一、启用的 Loader 声明;其他声明式版本核验实际活跃组合的来源标记。桌面宿主使用自己的安装位置解析管理 API,避免加载第二份宿主模块。
56
+
57
+ Native PTC additionally passed parallel independent reads, ordered writes, permission denial and partial-failure preservation on the minimum, stable latest and prerelease latest versions. The two 0.1.7 alpha hosts lack the document reader, so ownership requires a unique enabled Loader declaration; later hosts verify the marker in the active composition. Desktop management resolves APIs from the running host installation to avoid loading a separate host module.
58
+
59
+ 官方 macOS arm64 的 `0.1.7-rc.1`、`0.1.7-rc.2`、`0.2.0-rc.1`、`0.2.0-rc.2` 发行包均在隔离应用副本中启动,验证原生后端的预设安装、改名重装、语言和版本状态。副本保留原始 CFBundleName,仅隔离应用身份、profile 与测试端口。Safari 最新 alpha.2 与官方 Desktop rc.2 的实际界面验收另留截图。DSH NEXT 2.0.17-next(Harness rc.2)也使用隔离副本验收。
60
+
61
+ The official macOS arm64 releases of `0.1.7-rc.1`, `0.1.7-rc.2`, `0.2.0-rc.1` and `0.2.0-rc.2` launched in isolated app copies and passed native-backend preset installation, renamed reinstallation, language and version-state checks. Copies retain the original CFBundleName and isolate application identity, profiles and test ports. Separate screenshots record Safari alpha.2 and official Desktop rc.2 UI checks. DSH NEXT 2.0.17-next (Harness rc.2) uses an isolated copy as well.
62
+
63
+ 四版原生后端均验证重启后的归属与版本恢复。官方 Desktop rc.2 和 DSH NEXT 实际点击完成缺失安装、改名/改标识符确认重装,核对设置回填及旧内容恢复备份。官方 Desktop 的中文版本不一致提示通过截图;移除聚焦条目后 Escape 只关闭确认框、保留设置页的修复已复验。英文及未知版本状态有双语单元覆盖,但后续原生截图受桌面控制接口超时限制,未记作通过。
64
+
65
+ All four native backends restored ownership and version state after restart. Actual clicks in official Desktop rc.2 and DSH NEXT completed missing installation and confirmed rename/identifier reinstallation, with form values and recovery backups checked. The official Desktop Chinese mismatch notice was captured, and Escape after removing the focused row now closes only the confirmation while retaining Settings. Unit tests cover English and unknown-version states; subsequent native screenshots were limited by desktop-control timeouts and are not claimed as passed.
66
+
67
+ 更早版本及 `0.2.1-alpha.1/alpha.2` 的对应官方 macOS arm64 安装包未从本次核对的下载地址获取(HTTP 404),不能据此宣称这些版本的原生桌面窗口已通过。Web/CLI 验证与原生 Desktop 验证分别记录;其他平台、外部模型和完整用户升级场景仍需单独验收。下面保留历史发布记录。
68
+
69
+ Matching official macOS arm64 installers for earlier versions and `0.2.1-alpha.1/alpha.2` returned HTTP 404 at the checked download URLs; their native desktop windows are not claimed as verified. Web/CLI and native Desktop results are recorded separately. Other platforms, external models and complete user-upgrade scenarios require separate checks. Historical release records follow.
70
+
71
+ ## 历史发布验证 · Previous Release Checks
72
+
3
73
  Super Code 0.3.0 于 2026-10-09 重新验证了最低支持版 `0.1.5-alpha.1`、`0.2.0-rc.2` 和最新已适配版 `0.2.1-alpha.1`。三版均在隔离 profile 中真实安装发布候选包,通过原生 PTC 独立读取并行、写入顺序、权限拒绝、部分失败保留、主/子 Agent 记忆及重启读取;Playwright 网页回归覆盖执行树、拖动和缩放、侧栏详情、记忆库、记忆使用记录及可折叠设置。使用本地确定性模型,没有调用外部模型服务。
4
74
 
5
75
  On October 9, 2026, Super Code 0.3.0 rechecked the minimum supported host, `0.1.5-alpha.1`, plus `0.2.0-rc.2` and the latest adapted host, `0.2.1-alpha.1`. All three installed the release candidate in isolated profiles and passed native PTC parallel reads, ordered writes, permission denial, partial-failure preservation, main/child Agent memory, and restart reads. Playwright web checks covered the tree, drag and zoom, sidebar details, the memory library, memory activity, and collapsible settings. These checks used a local deterministic model with no external model calls.
@@ -51,9 +121,9 @@ The host also splits composer `stats` and removes the runtime `invariant` export
51
121
 
52
122
  ## 依赖与安装注意事项 · Dependency and Installation Notes
53
123
 
54
- 对外说明按 Harness `0.1.5-alpha.1`~`0.2.1-alpha.1` 的适配范围写;npm 依赖声明仍需分别列出预发布系列。按 npm 的版本规则,单写 `>=0.1.5-alpha.1 <0.3.0` 会排除 `0.1.6-alpha.1`、`0.2.0-rc.2` 等已支持的 alpha/rc 版本,因此不能直接合并成一个连续范围。
124
+ 对外说明按 Harness `0.1.5-alpha.1`~`0.2.1-alpha.2` 的适配范围写;npm 依赖声明仍需分别列出预发布系列。按 npm 的版本规则,单写 `>=0.1.5-alpha.1 <0.3.0` 会排除 `0.1.6-alpha.1`、`0.2.0-rc.2` 等已支持的 alpha/rc 版本,因此不能直接合并成一个连续范围。
55
125
 
56
- User-facing guidance describes adaptations for Harness `0.1.5-alpha.1`–`0.2.1-alpha.1`; npm dependency declarations still list the prerelease series individually. Under npm's version rules, a single `>=0.1.5-alpha.1 <0.3.0` range excludes supported prereleases such as `0.1.6-alpha.1` and `0.2.0-rc.2`, so those declarations cannot be collapsed into one continuous range.
126
+ User-facing guidance describes adaptations for Harness `0.1.5-alpha.1`–`0.2.1-alpha.2`; npm dependency declarations still list the prerelease series individually. Under npm's version rules, a single `>=0.1.5-alpha.1 <0.3.0` range excludes supported prereleases such as `0.1.6-alpha.1` and `0.2.0-rc.2`, so those declarations cannot be collapsed into one continuous range.
57
127
 
58
128
  预发布依赖的 caret 范围可能解析到其他 alpha/rc 版本。此前默认安装 `0.1.6-alpha.1` 时混入 alpha.2,导致宿主在插件加载前报 `watchUserPatches` 导出缺失;`0.1.7-alpha.1` 也曾解析到 rc.1。验证环境通过精确 overrides 解决混版,但这并未修复上游发布的依赖声明,也不证明未锁定的默认安装总能成功。遇到类似错误时,应先核对实际安装的宿主组件版本。
59
129
 
@@ -32,13 +32,13 @@ First confirm the plugin is enabled and check the host version and installed dep
32
32
 
33
33
  ### Harness 0.1.7 / 0.2.0 / 0.2.1:声明式预设 · Declarative Presets
34
34
 
35
- 在已验证的 0.1.7、0.2.0 和 0.2.1 版本上,Super Code 由插件 bundle 声明,宿主负责发现和加载;插件不会创建用户预设目录。设置页显示宿主报告的预设状态,不提供安装、重命名或重装目录副本的流程。若状态为缺失或损坏,检查插件是否启用、宿主组件是否混版,以及日志中的预设依赖错误,而不是反复点击安装。
35
+ Super Code 由插件 bundle 声明,宿主负责加载。从 0.3.1 起,未安装时可以在“设置”→ **Super Code** 安装预设;已安装时提供“重新安装预设”,确认后按所填名称和标识符替换。声明保存在当前 profile 的补丁层,通过宿主公开接口加载,不需要用户预设目录。宿主未开放管理接口时,页面会明确提示。
36
36
 
37
- On the verified 0.1.7, 0.2.0, and 0.2.1 versions, the plugin bundle declares Super Code and the host discovers and loads it; the plugin does not create a user preset directory. Settings show the host's preset status rather than a workflow for installing, renaming, or reinstalling directory copies. If the preset is missing or broken, check plugin activation, mixed host versions, and preset dependency errors in the logs instead of retrying directory installation.
37
+ The plugin bundle declares Super Code and the host loads it. From 0.3.1, use “Settings” → **Super Code** to install a missing preset or confirm reinstallation of an installed preset with the entered name and identifier. Declarations persist in the current profile's patch layer and load through public host APIs; no user preset directory is needed. Hosts without management APIs show an explicit notice.
38
38
 
39
- 声明默认名称为 `Super Code`,描述为 `A faster, more efficient, smarter coding mode.`;插件不在此路径同步预设名称/描述的语言或改写用户 profile。定制应通过宿主支持的配置机制进行,本轮兼容冒烟不覆盖全部定制场景。插件界面本身仍支持中英文。
39
+ 声明式预设的默认名称和描述从 0.3.1 起跟随中英文设置,已自定义的字段保留。语言变化只调整展示字段,不更新旧预设的内容或版本;确认重装才使用当前插件随包的组合。
40
40
 
41
- The declaration defaults to the name `Super Code` and description `A faster, more efficient, smarter coding mode.` On this path, the plugin does not synchronize the preset name/description language or rewrite the user profile. Use the host's supported configuration mechanisms for customization; the smoke checks do not cover every customization scenario. The plugin interface itself still supports Chinese and English.
41
+ From 0.3.1, default declarative preset names and descriptions follow Chinese/English settings while custom fields remain intact. Language changes update display fields only, retaining the older preset's content and version. Confirmed reinstallation uses the composition shipped with the current plugin.
42
42
 
43
43
  插件管理中的展示信息独立于预设声明:0.2.1 通过导出的语言资源提供 `Super Code 模式` / `Super Code` 和对应描述,支持新版宿主读取根路径及子路径的展示信息。
44
44
 
@@ -46,15 +46,25 @@ Plugin management metadata is separate from the preset declaration. Version 0.2.
46
46
 
47
47
  ### Harness 0.1.5/0.1.6:目录预设 · Directory Presets
48
48
 
49
- 如果 Harness 没发现插件自带的 `super-code`,插件首次加载时会尝试安装一份用户预设。仍然没看到时,打开“设置”→ **Super Code**,展开卡片查看状态并手动安装。默认标识符 `super-code` 若已被占用,换一个即可;原有预设不会被覆盖。之后若主动删除这份用户副本,重启也不会自动重装,需要再次手动安装。0.2.0 以前的插件设置入口在“插件”→“插件配置”中。
49
+ 如果 Harness 没发现插件自带的 `super-code`,插件首次加载时会尝试安装一份用户预设。仍然没看到时,打开“设置”→ **Super Code**,查看状态并手动安装;0.3.1 起此页始终展开。默认标识符 `super-code` 若已被占用,换一个即可;原有预设不会被覆盖。之后若主动删除这份用户副本,重启也不会自动重装,需要再次手动安装。0.2.0 以前的插件设置入口在“插件”→“插件配置”中。
50
50
 
51
- If Harness doesn't find the bundled `super-code` preset, the plugin tries to install a user copy on first load. If it still isn't listed, open “Settings” → **Super Code** and expand the card to check its status or install it manually. If the default identifier `super-code` is taken, choose another; the existing preset won't be overwritten. If you later delete this copy, a restart won't reinstall it automatically. Plugin versions before 0.2.0 place this page under “Plugins” → “Plugin configuration”.
51
+ If Harness doesn't find the bundled `super-code` preset, the plugin tries to install a user copy on first load. If it still isn't listed, open “Settings” → **Super Code** to check its status or install it manually; this page stays expanded from 0.3.1 onward. If the default identifier `super-code` is taken, choose another; the existing preset won't be overwritten. If you later delete this copy, a restart won't reinstall it automatically. Plugin versions before 0.2.0 place this page under “Plugins” → “Plugin configuration”.
52
+
53
+ ## 查看预设版本 · Checking the Preset Version
54
+
55
+ 0.3.1 起,“设置”→ **Super Code** 分别显示已加载的插件版本和当前预设版本。预设版本来自实际加载的预设组合;两者一致时表示预设与当前安装的插件同步,不代表 npm 上没有更新版本。旧预设没有版本记录时,会显示“未记录版本”,不会自动视为最新版。修改名称或切换语言不改变预设版本。
56
+
57
+ From 0.3.1 onward, “Settings” → **Super Code** shows the loaded plugin version and the current preset version separately. The preset version comes from its actual composition. Matching versions mean the preset is in sync with the installed plugin, not that no newer npm release exists. Older presets without version metadata show “Version not recorded”. Renaming a preset or changing the language does not change its version.
58
+
59
+ 若版本不一致,先保留需要的自定义内容,再通过确认清单重装。目录式宿主替换用户副本,声明式宿主替换本插件拥有的声明,均保留恢复备份。重装后刷新仍不一致时,检查插件更新是否生效及宿主日志。
60
+
61
+ If versions differ, save the custom content you need, then confirm reinstallation. Directory hosts replace the user copy; declarative hosts replace this plugin's owned declaration. Both retain recovery backups. If refreshed versions still differ, check that the plugin update took effect and inspect host logs.
52
62
 
53
63
  ## 名称与语言 · Names and Language
54
64
 
55
- 本节的名称同步和自定义安装名称适用于旧宿主的目录预设,不适用于 0.1.7 / 0.2.0 / 0.2.1 的声明式预设。
65
+ 0.3.1 的名称同步和自定义安装名称同时支持目录式与声明式预设。
56
66
 
57
- The name synchronization and custom installation names in this section apply to directory presets on older hosts, not declarative presets on 0.1.7 / 0.2.0 / 0.2.1.
67
+ Version 0.3.1 supports display-language synchronization and custom installation names for directory and declarative presets.
58
68
 
59
69
  标识符和显示名称是两回事:标识符用于选择预设,显示名称可以单独修改。默认名称会跟随 Harness 的中英文语言设置;自定义名称可以包含中文和空格,例如 `Super Code 模式`,最多 120 个字符。插件只更新仍保持默认值的名称和描述,不会改动你的自定义内容。
60
70
 
@@ -66,9 +76,9 @@ Older Harness versions cache the preset list, so the page refreshes once if the
66
76
 
67
77
  ## 重装与备份 · Reinstallation and Backup
68
78
 
69
- 仅适用于插件在旧宿主上管理的用户目录副本;0.1.7 / 0.2.0 / 0.2.1 声明式预设没有此重装/备份流程。
79
+ 目录副本与声明式预设均支持此流程;插件只替换能够核实归属的预设。
70
80
 
71
- This applies only to user-directory copies managed by the plugin on older hosts. Declarative presets on 0.1.7 / 0.2.0 / 0.2.1 do not use this reinstallation/backup workflow.
81
+ This workflow supports directory copies and declarative presets. The plugin replaces only presets whose ownership can be verified.
72
82
 
73
83
  已安装用户预设时,可以点“重新安装预设”。确认框会列出将被替换的预设及新名称、标识符,先核对再确认。可以从列表中移除条目,但全部移除后不能确认;取消或按 Escape 不会改动预设。重装会重置旧副本的内容,所以自定义内容请先自行留存。
74
84
 
@@ -78,22 +88,33 @@ If a user preset is already installed, you can choose “Reinstall preset”. Th
78
88
 
79
89
  To avoid removing the wrong files, the plugin replaces only copies whose installation record, UUID, path, and directory identity all match. It never automatically deletes unmarked legacy copies. The previous directory stays under `.super-code-backup-*/<old-id>` in the user preset root and won't appear in the preset list. An installation failure restores the old directory; after an unexpected interruption, you can recover it manually from the backup.
80
90
 
91
+ 声明式宿主通过 bundle 来源标记,或匹配的安装记录、声明标识符和 UUID 核实归属;同名的无标记声明不会自动认领。旧声明及原 profile 补丁保存在当前 profile 的 `.super-code-backup-*` 中,安装记录位于 `.super-code-presets.json`。失败时尝试恢复原补丁和记录;若进程中断,可从备份恢复。已有会话继续使用宿主保留的旧预设组合,新会话使用重装后的版本。
92
+
93
+ Declarative hosts verify a bundle source marker or matching installation record, entry identity and UUID. Unmarked same-name declarations are not adopted automatically. The previous declaration and profile patch stay in `.super-code-backup-*` under the current profile; `.super-code-presets.json` stores ownership records. Failures attempt to restore the original patch and record; backups allow recovery after interruption. Existing sessions retain their old composition through the host; new sessions use the reinstalled version.
94
+
81
95
  ## Agent 执行树 · Agent Execution Tree
82
96
 
83
97
  右侧执行树显示当前会话中各 Agent 的状态、用量和缓存率。拖动空白处平移,滚轮或按钮缩放;点一个节点,就能在侧栏新标签查看详情,主对话不会切换。界面跟随 Harness 的中英文语言设置。
84
98
 
85
99
  The Agent tree on the right shows status, usage, and cache hit rate for each Agent in the current session. Drag empty space to pan, zoom with the wheel or buttons, and click a node to open its details in a new sidebar tab. The main conversation stays put. The interface follows Harness's Chinese/English language setting.
86
100
 
87
- [执行树截图](images/agent-tree.png)来自全新隔离的 DSH 网页会话,展示 hard-100 难度排名第一题 `task-099`(`future-architect/vuls` 的 OS 生命周期预警)的初步调研。主 Agent 和三个子 Agent 分别调查 EOL/版本解析、告警链路与测试边界。截图只展示协作过程,不代表该题已修复或通过评分。
101
+ [执行树截图](images/agent-tree.png)来自安装 0.3.2 包的隔离 Harness 网页宿主,展示主 Agent 和记忆读取子 Agent 的真实会话记录。模型响应由本地确定性验收程序提供,用于检查界面与记忆功能,不代表外部模型效果或评测成绩。
102
+
103
+ The [execution tree screenshot](images/agent-tree.png) comes from an isolated Harness web host with the 0.3.2 package installed. It shows real journal records for a lead Agent and a memory-reading child Agent. A local deterministic fixture supplies model responses for UI and memory checks; this is not an external-model result or benchmark score.
104
+
105
+ 0.3.2 保留圆形节点,将顶部操作集中一行;“已收起”和“自动整理”有可见名称。历史的创建时间与排序使用自定义下拉,支持方向键、Home/End、Enter 和 Escape;所有插件按钮的名称气泡都在上方。
106
+
107
+ Version 0.3.2 retains circular nodes and groups actions in one row with visible Collapsed/Organize labels. Custom creation-time and sort dropdowns support arrow keys, Home/End, Enter, and Escape. All plugin button name bubbles appear above the control.
88
108
 
89
- The [execution tree screenshot](images/agent-tree.png) comes from a fresh, isolated DSH web session. It shows the initial investigation of the highest-ranked hard-100 task, `task-099` (`future-architect/vuls`, OS lifecycle warnings). A lead Agent and three child Agents investigate EOL/version parsing, the warning pipeline, and test boundaries. The screenshot shows how they work together, not a completed fix or a passing grade.
109
+ Agent 详情采用对话列表:用户任务、Agent 回复分开呈现,真实工具调用和结果可展开查看。顶部先显示状态、Token 与缓存,展开“详情”可看更多用量、任务档案与记忆使用记录。翻页、返回最新内容和滚动位置保留现有行为。
90
110
 
111
+ Agent details use a chat list with distinct user tasks, replies, and expandable real tool calls/results. The compact header shows status, tokens, and cache; open Details for additional usage, task records, and memory activity. Pagination, latest-content navigation, and scroll restoration retain their existing behavior.
91
112
 
92
113
  ## 记忆库 · Memory Library
93
114
 
94
- 打开右侧栏,点新标签页中的“记忆库”。先选“当前项目”或“全局偏好”,再搜索主题、摘要或标识符;点一条记忆查看详情、来源和记录时的代码版本。返回列表时会保留搜索和滚动位置。列表采用虚拟滚动,详情按需加载。
115
+ 打开右侧栏,点新标签页中的“记忆库”。先选“当前项目”或“全局偏好”,再从主题目录选择主题,或搜索主题、摘要与标识符;点一条记忆查看详情、来源和记录时的代码版本。返回列表时会保留搜索和滚动位置。主题筛选与搜索可以同时使用,详情列出同主题条目。列表采用虚拟滚动,详情按需加载。
95
116
 
96
- Open the right sidebar and choose “Memory library” on its new-tab page. Select “This project” or “Global preferences”, search by topic, summary, or identifier, and open an entry for its details, source, and recorded code version. Search and scroll position are retained when you return. The list is virtualized; details load on demand.
117
+ Open the right sidebar and choose “Memory library” on its new-tab page. Select “This project” or “Global preferences”, choose a topic or search by topic, summary, or identifier, and open an entry for its details, source, and recorded code version. Search and scroll position are retained when you return. Topic filtering and search can be combined; details include related entries from the same topic. The list is virtualized; details load on demand.
97
118
 
98
119
  记忆分三层,各管一件事:
99
120
 
@@ -115,9 +136,9 @@ Memory lives in local host storage, not project files, and the full library is n
115
136
 
116
137
  ## 每个 Agent 用了什么 · Per-Agent Memory Activity
117
138
 
118
- 在执行树中点一个节点,展开详情顶部的“记忆使用记录”。这里区分“带入上下文”“读取摘要”“读取详情”“保存”和“删除”,并标明项目/全局、主题与修订号;点记录可在侧栏记忆库查看当前条目,不切换主对话。
139
+ 在执行树中点一个节点,展开顶部“详情”,再展开“记忆使用记录”。这里区分“带入上下文”“读取摘要”“读取详情”“保存”和“删除”,并标明项目/全局、主题与修订号;点记录可在侧栏记忆库查看当前条目,不切换主对话。
119
140
 
120
- Click an Agent node, then expand “Memory activity” at the top of its details. Actions distinguish context inclusion, summary reads, detail reads, saves, and removals, with scope, topic, and revision. Click a record to open the current entry in the sidebar without switching the main conversation.
141
+ Click an Agent node, then open “Details”, then expand “Memory activity” at the top of its details. Actions distinguish context inclusion, summary reads, detail reads, saves, and removals, with scope, topic, and revision. Click a record to open the current entry in the sidebar without switching the main conversation.
121
142
 
122
143
  这些是宿主实际记录的动作,不代表模型一定理解或遵守了记忆。子 Agent 不会把继承的父会话历史算成自己的读取;失败调用也不显示为成功读取。界面最多显示最近 100 条不同动作,原始完整记录仍在会话日志中。条目后来修改或删除时,历史使用记录仍保留,但记忆库展示当前内容,不伪装成旧版本快照。
123
144
 
Binary file
Binary file
Binary file
@@ -0,0 +1,75 @@
1
+ import yaml from 'js-yaml';
2
+ import { type DisplayBaseline } from './preset-metadata.js';
3
+ import type { DeclaredPresetRegistry, PresetInstallationResult, PresetInstallationStatus } from './preset-installation.js';
4
+ export declare const declarationSchema: yaml.Schema;
5
+ export interface DeclarationConfig {
6
+ id: string;
7
+ name?: string;
8
+ description?: string;
9
+ order?: number;
10
+ plugins: Array<{
11
+ name?: string;
12
+ config?: Record<string, unknown>;
13
+ [key: string]: unknown;
14
+ }>;
15
+ }
16
+ export interface DeclarationEntry {
17
+ id: string;
18
+ disabled?: boolean;
19
+ options: {
20
+ name: string;
21
+ config?: DeclarationConfig;
22
+ };
23
+ }
24
+ export interface DeclarationHost {
25
+ patchPath: string;
26
+ entries(): readonly DeclarationEntry[];
27
+ reload(): Promise<void>;
28
+ exclusive<T>(run: () => Promise<T>): Promise<T>;
29
+ }
30
+ export interface DeclarationSettings {
31
+ declaration?: {
32
+ entryId: string;
33
+ id: string;
34
+ token: string;
35
+ };
36
+ declarationDisplay?: DisplayBaseline;
37
+ }
38
+ export interface DeclarationState {
39
+ get(): DeclarationSettings;
40
+ update(patch: Partial<DeclarationSettings>): Promise<void>;
41
+ }
42
+ /** Newer settings providers edit Loader forms; installation records stay local. */
43
+ export declare class DeclarationStateFile implements DeclarationState {
44
+ private readonly path;
45
+ private value;
46
+ private constructor();
47
+ static open(path: string): Promise<DeclarationStateFile>;
48
+ get(): DeclarationSettings;
49
+ update(patch: Partial<DeclarationSettings>): Promise<void>;
50
+ }
51
+ /** Only marked bundle rows or UUID-matched manual installations may be replaced. */
52
+ export declare class DeclaredPresetInstaller {
53
+ private readonly registry;
54
+ private readonly settings;
55
+ private readonly host;
56
+ private readonly bundlePath;
57
+ private tail;
58
+ constructor(registry: DeclaredPresetRegistry, settings: DeclarationState, host: DeclarationHost, bundlePath: string);
59
+ private entry;
60
+ private document;
61
+ status(): Promise<PresetInstallationStatus>;
62
+ install(id: unknown, name?: string): Promise<PresetInstallationResult>;
63
+ reinstall(previousId: string, id: unknown, name?: string): Promise<PresetInstallationResult>;
64
+ private reject;
65
+ private replace;
66
+ synchronize(language: string): Promise<{
67
+ changed: boolean;
68
+ }>;
69
+ /** Back up first, refuse a stale file, and restore only our own failed write. */
70
+ private save;
71
+ private readPatch;
72
+ private atomicWrite;
73
+ private enqueue;
74
+ }
75
+ //# sourceMappingURL=preset-declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-declaration.d.ts","sourceRoot":"","sources":["../../src/dsh/preset-declaration.ts"],"names":[],"mappings":"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"}