dsh-reference-anything 0.5.0 → 0.5.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.
Files changed (72) hide show
  1. package/LICENSE +22 -22
  2. package/NOTICE.md +110 -110
  3. package/README.md +470 -451
  4. package/cordis.patch.yml +136 -134
  5. package/docs/release/0.4.4/README.md +75 -0
  6. package/{release-notes → docs/release}/0.4.4/features.json +1 -1
  7. package/docs/release/0.5.0/README.md +148 -0
  8. package/docs/release/0.5.1/README.md +33 -0
  9. package/docs/release/0.5.2/README.md +51 -0
  10. package/docs/release/0.5.2/features.json +29 -0
  11. package/{release-notes → docs/release}/README.md +12 -6
  12. package/images/agents/LICENSE +22 -22
  13. package/images/agents/README.md +7 -3
  14. package/images/agents/antigravity.svg +1 -1
  15. package/images/agents/cline.svg +1 -1
  16. package/images/agents/continue.svg +1 -1
  17. package/images/agents/copilot.svg +27 -0
  18. package/images/agents/crush.svg +1 -1
  19. package/images/agents/doubao.svg +1 -0
  20. package/images/agents/goose.svg +1 -1
  21. package/images/agents/omp.svg +1 -0
  22. package/images/agents/reasonix.svg +5 -5
  23. package/images/agents/teleagent.svg +1 -1
  24. package/images/agents/trae.svg +1 -1
  25. package/images/agents/vibe.svg +1 -1
  26. package/images/agents/workbuddy.svg +37 -37
  27. package/images/agents/zed.svg +1 -1
  28. package/lib/chat-import-compatibility.js +8 -5
  29. package/lib/client.js +36526 -4
  30. package/lib/contract.d.ts +4 -0
  31. package/lib/host.d.ts +2 -2
  32. package/lib/host.js +4 -1
  33. package/lib/local-conversation-reader.js +16 -11
  34. package/lib/render.js +21 -21
  35. package/lib/store/spec.d.ts +9 -1
  36. package/lib/tool.js +3 -2
  37. package/lib/wire.d.ts +13 -1
  38. package/lib/wire.js +5 -4
  39. package/locale/en.json +6 -6
  40. package/locale/zh.json +6 -6
  41. package/opencli-plugin/chatgpt.js +128 -128
  42. package/opencli-plugin/claude.js +138 -138
  43. package/opencli-plugin/common.js +452 -452
  44. package/opencli-plugin/deepseek.js +155 -155
  45. package/opencli-plugin/gemini.js +169 -169
  46. package/opencli-plugin/grok.js +124 -124
  47. package/opencli-plugin/kimi.js +126 -126
  48. package/opencli-plugin/opencli-plugin.json +6 -6
  49. package/opencli-plugin/package.json +8 -8
  50. package/opencli-plugin/since-guard.js +45 -45
  51. package/package.json +263 -262
  52. package/vendor/chat-import-reader/LICENSE +22 -22
  53. package/vendor/chat-import-reader/README.md +54 -48
  54. package/vendor/chat-import-reader/availability-worker.mjs +5 -0
  55. package/vendor/chat-import-reader/parsers.d.mts +6 -6
  56. package/vendor/chat-import-reader/parsers.mjs +2248 -347
  57. package/vendor/chat-import-reader/scanners.mjs +1316 -79
  58. package/vendor/chat-import-reader/upstream-sha256.json +35 -22
  59. package/release-notes/0.4.4/commands.png +0 -0
  60. package/release-notes/0.4.4/demos/agent-import.gif +0 -0
  61. package/release-notes/0.4.4/demos/chat-import-upgrade.gif +0 -0
  62. package/release-notes/0.4.4/demos/folders.gif +0 -0
  63. package/release-notes/0.4.4/demos/local-plugins.gif +0 -0
  64. package/release-notes/0.4.4/demos/shortcuts.gif +0 -0
  65. package/release-notes/0.4.4/files.png +0 -0
  66. package/release-notes/0.5.0/demos/agent-import.gif +0 -0
  67. package/release-notes/0.5.0/demos/chat-import-upgrade.gif +0 -0
  68. package/release-notes/0.5.0/demos/folders.gif +0 -0
  69. package/release-notes/0.5.0/demos/local-plugins.gif +0 -0
  70. package/release-notes/0.5.0/demos/local-references.gif +0 -0
  71. package/release-notes/0.5.0/demos/shortcuts.gif +0 -0
  72. /package/{release-notes → docs/release}/0.5.0/features.json +0 -0
package/cordis.patch.yml CHANGED
@@ -1,134 +1,136 @@
1
- # dsh-reference-anything — the layer this bundle contributes.
2
- #
3
- # A patch REPLACES a row's whole `config` rather than merging keys, so when you
4
- # override one of these in your profile's cordis.patch.yml, restate every key
5
- # the row needs.
6
- - id: ui-reference
7
- # Reference Anything re-registers Files and DSH sessions as two independent
8
- # sources over the same official Remotes. Disabling only this Client source
9
- # keeps the official file/session services. RA also owns the native
10
- # "reference" codec and the newer Host's file/folder message renderers.
11
- disabled: true
12
-
13
- - insert:
14
- - id: reference-chat-import-runtime
15
- name: 'dsh-reference-anything/chat-import-runtime'
16
-
17
- # The registry every source registers into.
18
- - id: references
19
- name: 'dsh-reference-anything'
20
- config:
21
- listLimit: 20
22
-
23
- # Local Agent mentions receive bounded body previews before the model runs.
24
- # Other external sources retain deferred reading. Native file and
25
- # `dsh-session:` references stay with DSH's official services.
26
- - id: reference-mention
27
- name: 'dsh-reference-anything/reference'
28
- config:
29
- maxReferences: 3
30
-
31
- # Lets the model go looking on its own, and page backwards through a
32
- # conversation it has only seen the end of.
33
- - id: reference-tool
34
- name: 'dsh-reference-anything/tool'
35
- config:
36
- listLimit: 20
37
- maxOutputBytes: 65536
38
- readTurns: 10
39
- maxReadTurns: 50
40
- timeoutMs: 30000
41
-
42
- # Durable, local-only mirror of ChatGPT/Claude/Gemini/DeepSeek/Grok.
43
- # Browser requests happen during an explicit sync, or — only when the user
44
- # opts in via the Conversations settings panel — on a background interval.
45
- - id: reference-web-chat
46
- name: 'dsh-reference-anything/web-chat'
47
- config:
48
- timeoutMs: 60000
49
- maxStdoutBytes: 33554432
50
-
51
- # Host-only OpenList lifecycle, credentials, and administration. This must
52
- # start before the cloud-drive source and Remote that consume it.
53
- - id: reference-openlist
54
- name: 'dsh-reference-anything/openlist'
55
-
56
- # Host Remote used by the Web @Conversation source and settings panel.
57
- - id: reference-anything-web
58
- name: 'dsh-reference-anything/web'
59
-
60
- # Exported conversations on disk. Inert until the directory exists, so the
61
- # default is safe; point `roots` wherever you keep your exports.
62
- - id: reference-file
63
- name: 'dsh-reference-anything/file'
64
- config:
65
- # External plugin overlays intentionally cannot evaluate !!js. This
66
- # portable relative root stays inert unless the launched workspace has
67
- # a references/ directory; users may override it with absolute roots.
68
- roots: ['references']
69
- extensions: ['.json']
70
-
71
- # Text files in the user's own cloud drives, listed by name and read a
72
- # window at a time. Reading one needs a per-task grant: these are personal
73
- # remote files, so the model may only open what its user named. Inert
74
- # without a credential — a drive that has never been logged into simply
75
- # reports unavailable, so the default is safe.
76
- - id: reference-cloud-drive
77
- name: 'dsh-reference-anything/cloud-drive'
78
- config:
79
- # OpenList is inert until a connection is configured in the Cloud
80
- # drives settings section; no account secret is stored in this patch.
81
- drives: ['openlist']
82
- # Where OpenList listing starts when `roots` has no explicit entry.
83
- # Keep it empty to show the OpenList root.
84
- root: ''
85
- # Optional OpenList root, for example {openlist: '/notes'}.
86
- roots: {}
87
- listTtlMs: 30000
88
- # 64 KiB at 4000 characters a block is at most 17 blocks, which fits
89
- # inside maxReadTurns — so an ordinary text file is returned whole,
90
- # from its beginning. Raising this buys reach at the cost of a first
91
- # page that lands at the end of the file.
92
- maxReadBytes: 65536
93
- maxReadTurns: 20
94
- blockChars: 4000
95
-
96
- # Local transcripts are read only from enabled sources and allowed roots;
97
- # no per-task grant. Every read rechecks the current source policy.
98
- - id: reference-local-agent
99
- name: 'dsh-reference-anything/local-agent'
100
- config:
101
- # Every format this package reads, at each agent's own default location
102
- # under $HOME. An agent that is not installed simply has no directory,
103
- # which is not an error. Ordered by how well the format is validated:
104
- # the first two were built against real corpora, the rest from format
105
- # documentation and synthetic fixtures. Drop the unvalidated ones from
106
- # this list to run on the two that were measured.
107
- agents: ['claude-code', 'codex', 'cursor', 'qoder', 'reasonix', 'openclaw',
108
- 'kimi', 'grokbuild', 'hermes', 'gemini-cli', 'pi',
109
- 'opencode', 'mimocode', 'zcode']
110
- extraRoots: []
111
- # The @ menu is a cross-project history picker; the per-Agent enable
112
- # switches remain the explicit visibility boundary.
113
- scope: 'all'
114
- maxTranscripts: 200
115
- maxReadTurns: 20
116
- maxScanBytes: 33554432
117
- headLines: 40
118
- tailLines: 20
119
- maxProbeBytes: 2097152
120
- maxLineBytes: 1048576
121
- directoryTtlMs: 5000
122
- includeThinking: false
123
- toolCalls: 'full'
124
- includeSidechains: false
125
- stripEnvironmentPreamble: true
126
- # The last three formats keep every conversation in one SQLite database
127
- # rather than a file apiece, so reading them needs `node:sqlite`. Set
128
- # this to false and the driver is never imported at all: no root of
129
- # those kinds is resolved, so no database is ever opened.
130
- sqlite: true
131
- # Most message rows to materialize from one database-backed session,
132
- # counted from the newest. A database cannot be streamed the way a JSONL
133
- # file can, so this is what bounds the memory a read costs.
134
- maxSessionRecords: 2000
1
+ # dsh-reference-anything — the layer this bundle contributes.
2
+ #
3
+ # A patch REPLACES a row's whole `config` rather than merging keys, so when you
4
+ # override one of these in your profile's cordis.patch.yml, restate every key
5
+ # the row needs.
6
+ - id: ui-reference
7
+ # Reference Anything re-registers Files and DSH sessions as two independent
8
+ # sources over the same official Remotes. Disabling only this Client source
9
+ # keeps the official file/session services. RA also owns the native
10
+ # "reference" codec and the newer Host's file/folder message renderers.
11
+ # If a profile explicitly enables ui-reference, RA defers those registrations
12
+ # and hides its duplicate file/session candidates (saved RA chips still work).
13
+ disabled: true
14
+
15
+ - insert:
16
+ - id: reference-chat-import-runtime
17
+ name: 'dsh-reference-anything/chat-import-runtime'
18
+
19
+ # The registry every source registers into.
20
+ - id: references
21
+ name: 'dsh-reference-anything'
22
+ config:
23
+ listLimit: 20
24
+
25
+ # Local Agent mentions receive bounded body previews before the model runs.
26
+ # Other external sources retain deferred reading. Native file and
27
+ # `dsh-session:` references stay with DSH's official services.
28
+ - id: reference-mention
29
+ name: 'dsh-reference-anything/reference'
30
+ config:
31
+ maxReferences: 3
32
+
33
+ # Lets the model go looking on its own, and page backwards through a
34
+ # conversation it has only seen the end of.
35
+ - id: reference-tool
36
+ name: 'dsh-reference-anything/tool'
37
+ config:
38
+ listLimit: 20
39
+ maxOutputBytes: 65536
40
+ readTurns: 10
41
+ maxReadTurns: 50
42
+ timeoutMs: 30000
43
+
44
+ # Durable, local-only mirror of ChatGPT/Claude/Gemini/DeepSeek/Grok.
45
+ # Browser requests happen during an explicit sync, or — only when the user
46
+ # opts in via the Conversations settings panel — on a background interval.
47
+ - id: reference-web-chat
48
+ name: 'dsh-reference-anything/web-chat'
49
+ config:
50
+ timeoutMs: 60000
51
+ maxStdoutBytes: 33554432
52
+
53
+ # Host-only OpenList lifecycle, credentials, and administration. This must
54
+ # start before the cloud-drive source and Remote that consume it.
55
+ - id: reference-openlist
56
+ name: 'dsh-reference-anything/openlist'
57
+
58
+ # Host Remote used by the Web @Conversation source and settings panel.
59
+ - id: reference-anything-web
60
+ name: 'dsh-reference-anything/web'
61
+
62
+ # Exported conversations on disk. Inert until the directory exists, so the
63
+ # default is safe; point `roots` wherever you keep your exports.
64
+ - id: reference-file
65
+ name: 'dsh-reference-anything/file'
66
+ config:
67
+ # External plugin overlays intentionally cannot evaluate !!js. This
68
+ # portable relative root stays inert unless the launched workspace has
69
+ # a references/ directory; users may override it with absolute roots.
70
+ roots: ['references']
71
+ extensions: ['.json']
72
+
73
+ # Text files in the user's own cloud drives, listed by name and read a
74
+ # window at a time. Reading one needs a per-task grant: these are personal
75
+ # remote files, so the model may only open what its user named. Inert
76
+ # without a credential — a drive that has never been logged into simply
77
+ # reports unavailable, so the default is safe.
78
+ - id: reference-cloud-drive
79
+ name: 'dsh-reference-anything/cloud-drive'
80
+ config:
81
+ # OpenList is inert until a connection is configured in the Cloud
82
+ # drives settings section; no account secret is stored in this patch.
83
+ drives: ['openlist']
84
+ # Where OpenList listing starts when `roots` has no explicit entry.
85
+ # Keep it empty to show the OpenList root.
86
+ root: ''
87
+ # Optional OpenList root, for example {openlist: '/notes'}.
88
+ roots: {}
89
+ listTtlMs: 30000
90
+ # 64 KiB at 4000 characters a block is at most 17 blocks, which fits
91
+ # inside maxReadTurns — so an ordinary text file is returned whole,
92
+ # from its beginning. Raising this buys reach at the cost of a first
93
+ # page that lands at the end of the file.
94
+ maxReadBytes: 65536
95
+ maxReadTurns: 20
96
+ blockChars: 4000
97
+
98
+ # Local transcripts are read only from enabled sources and allowed roots;
99
+ # no per-task grant. Every read rechecks the current source policy.
100
+ - id: reference-local-agent
101
+ name: 'dsh-reference-anything/local-agent'
102
+ config:
103
+ # Every format this package reads, at each agent's own default location
104
+ # under $HOME. An agent that is not installed simply has no directory,
105
+ # which is not an error. Ordered by how well the format is validated:
106
+ # the first two were built against real corpora, the rest from format
107
+ # documentation and synthetic fixtures. Drop the unvalidated ones from
108
+ # this list to run on the two that were measured.
109
+ agents: ['claude-code', 'codex', 'cursor', 'qoder', 'reasonix', 'openclaw',
110
+ 'kimi', 'grokbuild', 'hermes', 'gemini-cli', 'pi',
111
+ 'opencode', 'mimocode', 'zcode']
112
+ extraRoots: []
113
+ # The @ menu is a cross-project history picker; the per-Agent enable
114
+ # switches remain the explicit visibility boundary.
115
+ scope: 'all'
116
+ maxTranscripts: 200
117
+ maxReadTurns: 20
118
+ maxScanBytes: 33554432
119
+ headLines: 40
120
+ tailLines: 20
121
+ maxProbeBytes: 2097152
122
+ maxLineBytes: 1048576
123
+ directoryTtlMs: 5000
124
+ includeThinking: false
125
+ toolCalls: 'full'
126
+ includeSidechains: false
127
+ stripEnvironmentPreamble: true
128
+ # The last three formats keep every conversation in one SQLite database
129
+ # rather than a file apiece, so reading them needs `node:sqlite`. Set
130
+ # this to false and the driver is never imported at all: no root of
131
+ # those kinds is resolved, so no database is ever opened.
132
+ sqlite: true
133
+ # Most message rows to materialize from one database-backed session,
134
+ # counted from the newest. A database cannot be streamed the way a JSONL
135
+ # file can, so this is what bounds the memory a read costs.
136
+ maxSessionRecords: 2000
@@ -0,0 +1,75 @@
1
+ # v0.4.4 — Local Plugins and Configurable Picker Shortcuts
2
+
3
+ ## English
4
+
5
+ ### Discover and reference local plugins
6
+
7
+ Before v0.4.4, the `@` menu could expose files, sessions, agents, and web chats, but it could not show which local DSH plugins were installed or running. Finding a plugin meant leaving the task and checking the host or profile configuration, and plugin packages were difficult to distinguish from ordinary dependencies.
8
+
9
+ v0.4.4 adds **All local plugins** as an `@` source. It reads the active loader entries, profile bundles, and installed packages that carry DSH bundle/client metadata, while filtering out ordinary dependencies. Each result reports whether the plugin is running, disabled, or not running. When its package directory can be resolved, selecting it also inserts a native reference to that directory so the agent can inspect it with the existing file tools.
10
+
11
+ Use `@plugin:` to search. Settings can hide the group, show only running plugins, or hide official DeepSeek plugins.
12
+
13
+ ### Use one shortcut for the source you mean
14
+
15
+ Previously, source prefixes were fixed and several useful words could be claimed by only one group. A provider name such as `claude` or an Agent name such as `codex` could be ambiguous, and users had to remember different built-in spellings for groups and platforms. Users also could not choose vocabulary that matched their own workflow.
16
+
17
+ v0.4.4 lets users define their own shortcuts for source groups, web providers, local agents, and cloud-drive mounts. Shared shortcuts can route to more than one source, while provider and Agent shortcuts still select the concrete provider or Agent kind. For example, a user can configure `work` for web conversations and then use `@work:meeting`, or configure `history` for local agents and use `@history:cache`. Multiple shortcuts can be entered with commas in Settings.
18
+
19
+ The routing also accepts full-width colons and keeps ordinary keywords searchable when they are not being used as a scoped prefix.
20
+
21
+ ### Make folders and references behave like their type
22
+
23
+ Previously, choosing a directory from the file source could either enter the directory or insert it without a clear distinction, and the resulting reference could still look like a file. This made folder navigation and folder references easy to confuse, especially when using the keyboard.
24
+
25
+ v0.4.4 gives directory candidates two explicit keyboard actions: press **`Tab`** to drill into the directory and continue browsing its contents; press **`Enter`** to settle the selection and insert a folder reference with folder appearance and the correct trailing path. Picker and Composer icons now distinguish commands, files, folders, sessions, local agents, web providers, cloud drives, and local plugins, including native icon projection updates.
26
+
27
+ ### Keep the command source complete
28
+
29
+ Some hosts do not return a `model` command even though the command is available to the user. v0.4.4 adds the `model` entry when it is missing, with localized labels and the matching command icon, so the command picker remains complete across host versions.
30
+
31
+ ### Validation
32
+
33
+ - TypeScript typecheck passed.
34
+ - Production build passed.
35
+ - Client source tests passed in isolation.
36
+ - The full test run passed: 46 test files, 805 tests passed, and 8 tests were skipped.
37
+
38
+ ---
39
+
40
+ ## 中文
41
+
42
+ ### 发现并引用本地插件
43
+
44
+ 在 v0.4.3 之前,`@` 菜单可以展示文件、会话、本地 Agent 和网页端对话,但不能直接告诉用户本机安装了哪些 DSH 插件、哪些插件正在运行。查找插件通常需要离开当前任务去检查宿主或 Profile 配置,而且插件包容易和普通依赖混在一起。
45
+
46
+ v0.4.4 在 `@` 菜单中新增“本地所有的插件”来源。它会读取当前 Loader 条目、Profile 声明的 Bundle,以及带有 DSH bundle/client 元数据的已安装包,同时排除普通依赖。每个结果会显示“运行中”“已停用”或“未运行”状态。如果能解析出插件目录,选中后还会插入指向真实本地目录的原生引用,Agent 可以继续使用现有文件工具查看该目录。
47
+
48
+ 可以使用 `@plugin:` 搜索。设置中可以隐藏整个插件分组、只显示运行中的插件,或隐藏 DeepSeek 官方插件。
49
+
50
+ ### 用快捷词直接定位目标来源
51
+
52
+ 之前的来源前缀是固定的,而且一些常用词只能归属于一个分组。比如 `claude`、`codex` 既可能指网页端 Provider,也可能指本地 Agent,用户容易遇到歧义,还需要记住不同来源的内置写法。用户也无法把快捷词改成符合自己工作习惯的名称。
53
+
54
+ v0.4.4 允许用户自定义来源分组、网页 Provider、本地 Agent 和网盘挂载的快捷词。共享快捷词可以同时路由到多个来源;Provider 和 Agent 快捷词则可以进一步定位到具体平台或 Agent 类型。例如可以把网页对话配置为 `work`,然后使用 `@work:会议`;也可以把本地 Agent 配置为 `history`,然后使用 `@history:缓存`。设置输入框支持用逗号填写多个快捷词。
55
+
56
+ 路由同时兼容全角冒号;没有被配置为分组前缀的普通关键词仍然会作为普通搜索词保留。
57
+
58
+ ### 让文件夹和引用行为符合实际类型
59
+
60
+ 之前从文件来源选择目录时,进入目录和插入目录引用的行为不够清晰,插入后的外观也可能仍然像普通文件;使用键盘时尤其容易混淆“浏览文件夹”和“引用文件夹”。
61
+
62
+ v0.4.4 为目录候选增加了明确的键盘操作:按 **`Tab`** 进入目录并继续浏览其内容;按 **`Enter`** 确认当前选择并插入带文件夹外观和正确尾部路径的目录引用。Picker 和 Composer 中的图标也进行了更新,现在可以区分命令、文件、文件夹、会话、本地 Agent、网页 Provider、网盘和本地插件,并同步处理原生菜单的图标投影。
63
+
64
+ ### 补齐命令来源
65
+
66
+ 部分宿主版本不会返回 `model` 命令,但用户仍然可以使用该命令。这会导致命令 Picker 在不同宿主版本中内容不一致。
67
+
68
+ v0.4.4 会在宿主未提供时补充 `model` 入口,并提供本地化名称和对应图标,让命令列表保持一致。
69
+
70
+ ### 验证
71
+
72
+ - TypeScript 类型检查通过。
73
+ - 生产构建通过。
74
+ - 客户端来源测试单独运行通过。
75
+ - 完整测试通过:46 个测试文件,805 个用例通过,8 个用例跳过。
@@ -33,4 +33,4 @@
33
33
  "title": "未来更新预告",
34
34
  "description": "未来计划带来:\n\n1. 不依赖 OpenCLI 的静默网页端对话同步\n2. 更强大的会话搜索\n3. 更实用的 @云盘权限\n4. @电脑窗口功能\n\n这个插件靠用爱发电持续维护。如果它对你有帮助,欢迎到 GitHub 点一颗 Star 支持!也欢迎有时间、有能力的朋友提交 Issue,反馈问题和建议,或通过 PR 一起完善插件。感谢每一份支持。\n\n[前往 GitHub · Star / Issue / PR](https://github.com/Chael-Chael/dsh-reference-anything)"
35
35
  }
36
- ]
36
+ ]
@@ -0,0 +1,148 @@
1
+ [中文](#cn-050) | [English](#en-050)
2
+
3
+ > 审稿草案 / Editorial draft:尚未发布,最终文字待审核,技术验收仍为 BLOCKED。
4
+
5
+ 本版本是一次围绕本地 Agent 历史引用与接续工作流程的重大更新,汇总自 `v0.4.4` 以来的变更:来源目录从 14 类扩展到 29 类,升级本地引用工具协议,并新增正文预览、搜索、图片读取、会话导入和实验性交接摘要。
6
+
7
+ <h3 id="cn-050">新增功能</h3>
8
+
9
+ - 来源目录扩展至 29 类,新增 Antigravity、Kilo Code、ChatGPT 导出、WorkBuddy、Qwen Code、Continue、Cline、Goose、DSH4、Zed、Crush、TeleAgent、Trae Work、Mistral Vibe 和 DSH。
10
+ - 内置来自 Chat Import 0.26.1 的只读扫描与解析能力,统一发现更多格式的历史。无需安装独立 Chat Import 即可搜索和引用;导入与交接摘要才使用独立插件。
11
+ - 本地引用在发送时自动附上正文预览,让模型开始回答前就能看到历史上下文;正文、工具记录、图片目录分开展示。
12
+ - 重做本地会话工具协议:reference_list 专门发现本地会话;reference_read 通过 ref 定位,使用 part=messages/tools/images 选择内容,以 from/maxItems 分页,返回统一的 revision/items/next。
13
+ - 新增 reference_search,支持在本地会话正文或工具文本中按区分大小写的字面关键词搜索,每条记录返回首个匹配片段;命中位置可直接交给 reference_read 继续读取。
14
+ - 新增 reference_image,按图片 ID 取回原生图片内容,模型可以直接看图;每次一张、最大 10 MiB,需要可恢复的图片数据及视觉模型。
15
+ - 多条本地引用按预处理批次共享文本预算,默认 16 KiB,剩余上下文可进一步降低它;预览保留最近连续尾段,长消息提供可继续读取的前缀。每次本地工具文本结果另受默认 16 KiB 上限限制。
16
+ - 新增可读的 dsh-local 定位与完整引用块,支持同机重启后续读和跨会话复制。每次读取检查当前来源开关、允许目录及会话身份,不再要求逐会话引用授权;关闭来源后旧引用也不能新读取,已注入的历史不会自动撤回。
17
+ - Enter 引用,Tab 进入会话操作:通过 Chat Import 导入完整历史并打开目标会话,显示导入状态;操作失败在菜单中保留原因并支持重试。
18
+ - Claude Code 与 Codex 新增实验性交接摘要,将历史工作的摘要放入当前输入框,便于接着做;默认关闭,不自动发送。
19
+ - 新增“会话导入与交接”设置:导入入口、摘要入口及操作确认可分别配置,默认显示导入、关闭摘要并保留确认。
20
+ - 新增 Chat Import 状态检查与显式安装/升级入口,兼容已有独立版本;保留用户禁用决定,升级失败可重试,停用引用插件不移除独立 Chat Import。
21
+ - 新增离线可看的版本功能卡与 GIF 演示、上一页/下一页导航,以及首次进入该版本插件设置时的介绍;关闭介绍与隐藏菜单入口分别记录。
22
+
23
+ ### 体验优化
24
+
25
+ - 本地长记录使用明确的 next 接续位置,可跨消息内部继续读取;工具、图片列表可按所属消息过滤,列表版本与正文版本分开校验。
26
+ - 每条用户消息后的多份本地引用合并为一个背景区块;固定工具说明不再逐页重复,显示元数据与正文分离。
27
+ - 功能介绍卡片随界面语言显示中文或英文,未提供英文的卡片回退到原文。
28
+
29
+ - DSH 会话候选区分当前任务的子 Agent 会话并优先展示,补齐冷会话标题信息、过滤已确认的空会话,改进时间与名称展示。
30
+ - 文件浏览新增面包屑返回导航;下钻目录时隔离其他来源结果;文件引用支持通过宿主资源面板打开,目录继续保持 Tab 浏览、Enter 引用。
31
+ - 完善多个逗号分隔快捷词和跨来源共享快捷词的匹配,保留 codex 等具体来源别名的定向筛选。
32
+ - 后台检查会话正文可用性,隐藏已确认无正文的记录;未知结构、读取异常和超出检查预算的条目继续保留,文件变化后重新检查。
33
+ - 扫描改为独立子进程并增加短期缓存、请求合并和来源级警告,设置中可查看检测到的路径与会话数量。
34
+ - 插件启动后进行轻量连接检查;网页菜单在同步操作旁显示检查中、可用或异常状态,具体列出 OpenCLI、Bridge、适配器及扩展问题,未就绪时阻止无效同步。
35
+ - OpenCLI 2.0.0 随插件作为固定依赖安装,更新统一随插件交付;适配 JSON 管理输出、扩展兼容状态与新版 Bridge 生命周期,网页适配器更新至 0.2.3。
36
+ - 补齐扩展来源图标,调整本地来源卡片与扫描状态展示;当前版本说明与远端最新版本说明分开获取,避免更新信息错位。
37
+
38
+ ### 问题修复
39
+
40
+ - 修正 @ 菜单首次打开时的异步选中顺序,等待排在前面的来源完成;用户开始键鼠操作后不再自动改动选择。
41
+ - 修正下钻操作与普通搜索缓存混用、重复点击导入/摘要以及菜单刷新影响操作状态的问题,保留错误和重试入口。
42
+ - 完善 Codex 附件包装中的正文与图片、Codex/Claude 压缩检查点、Trae 消息分段,以及 Antigravity 类型化工具结果和异步结果的解析关联。
43
+ - 精简本地工具返回,正文只保留一份结构化数据,直接调用和 run_code 使用一致内容;长文本按 Unicode 码点偏移续读,不把截断当作读完。保留宿主拒绝/替换策略,来源变化时拒绝旧位置并提示刷新。
44
+ - 加强真实路径、来源开关、允许目录与会话身份校验;导入/摘要仍只接受扫描选择并保留确认流程。来源关闭、原始记录缺失、版本变化及参数错误分别返回明确错误,不放宽 DSH 沙箱。
45
+
46
+ ### 其他变更
47
+
48
+ - 网页/云盘等非本地来源的列表和读取工具改名为 external_reference_list 与 external_reference_read,仍使用其 URI 协议;reference_attachment_read 保持原名。
49
+ - Chat Import 安装/升级只接受 npm 0.26.1 或更高版本,移除旧 GitHub 源码包回退;按需显式安装,不随启动自动安装。
50
+
51
+ - 建立演示、亲测、Desktop、Agent 浏览器测试四环境分工,以及真实来源验收、官方 Session Log 诊断、tgz 安装矩阵、累计报告与文案审稿流程。
52
+
53
+ #### 本地 Agent 工具协议迁移
54
+
55
+ 本次重做的是历史读取接口,不是调用另一个 Agent 执行任务。旧参数不再兼容。
56
+
57
+ | 项目 | 远端 0.4.4 | 当前 0.5.0 |
58
+ | --- | --- | --- |
59
+ | 本地发现 | 通用 reference_list | 本地专用 reference_list,条目提供 ref |
60
+ | 本地读取 | uri / cursor / before / detail | ref / revision / part / from / maxItems |
61
+ | 正文结果 | 旧消息窗口 | revision、items、next;正文只出现一次 |
62
+ | 接续 | 旧 cursor | 原样将 next 放入同类操作的 from;null 表示当前范围结束 |
63
+ | 搜索 | 无专用本地搜索 | reference_search,正文与工具记录均可搜索 |
64
+ | 非本地来源 | reference_list/read | external_reference_list/read,继续使用 URI |
65
+
66
+ 首次读取示意(ref 必须取自真实列表或引用;占位符不能直接执行):
67
+
68
+ ```json
69
+ {"ref":{"source":"codex","path":"<原始绝对路径>","sessionId":"<实际 ID>"},"part":"messages","maxItems":20}
70
+ ```
71
+
72
+ 初次从头读取 messages 时省略 revision 和 from;后续使用返回的正文 revision,并完整复制 next 到 from。part=tools/images 分别返回工具记录或图片目录;查看像素另用 reference_image,并携带数字 imageId。reference_search 的 part 可为 messages/tools,query 为区分大小写的字面子串。
73
+
74
+ 上一开发草稿中的顶层 source/path/sessionId、start/limit/mode 也已删除。旧本地引用需重新选择;内容版本变化时从头刷新,不复用旧位置。列表 revision 只用于列表翻页,不能作为正文 revision。长文本 textOffset 按 Unicode 码点计数,建议复制返回位置,不自行计算。
75
+
76
+ #### 演示与已知限制
77
+
78
+ ![真实 Web 中插入 Codex 与 Claude Code 的虚构历史引用;未发送模型请求。](./demos/local-references.gif)
79
+
80
+ ![Enter 引用、Tab 打开确认并模拟导入虚构历史。](./demos/agent-import.gif)
81
+
82
+ 来源目录覆盖不等于全部来源均通过真实账号验收;交接摘要为实验功能。预算是保守估计,大记录解析仍可能消耗较多内存;不保存本地正文快照,后续读取依赖原文件。GIF 使用隔离演示数据,不是服务验收证据。
83
+
84
+ <h3 id="en-050">New Features</h3>
85
+
86
+ This major update covers changes since `v0.4.4`, focusing on local Agent history and continuing previous work. It expands the source catalog from 14 to 29 formats, upgrades the local reference tool protocol, and adds body previews, search, image retrieval, session imports and experimental handoff summaries.
87
+
88
+ - Expand the local-source catalog from 14 to 29 formats, adding Antigravity, Kilo Code, ChatGPT exports, WorkBuddy, Qwen Code, Continue, Cline, Goose, DSH4, Zed, Crush, TeleAgent, Trae Work, Mistral Vibe and DSH.
89
+ - Bundle read-only scanners and parsers derived from Chat Import 0.26.1. Search and reference local history without installing the independent Chat Import plugin; imports and handoff summaries use that plugin separately.
90
+ - Attach a body preview when a local reference is sent, so the model receives historical context before answering. Present body messages, tool records and image indexes separately.
91
+ - Redesign local tools: reference_list discovers local sessions; reference_read takes a ref, selects messages/tools/images with part, paginates with from/maxItems and returns revision/items/next.
92
+ - Add reference_search for case-sensitive literal search in local messages or tool text. Return the first match per record and positions that can be passed directly to reference_read.
93
+ - Add reference_image to retrieve actual historical images by ID: one image per call, up to 10 MiB, with recoverable source bytes and a vision-capable model required.
94
+ - Share a default 16 KiB text budget across local previews in a pre-step batch, reduced further by remaining context. Keep a contiguous recent tail and a resumable prefix for long messages. Local tool text results have a separate default 16 KiB cap.
95
+ - Introduce readable dsh-local locators and complete reference blocks for reuse after restarts and across conversations on the same machine. Every read checks enabled sources, allowed roots and session identity; local references no longer require per-session grants. Disabling a source prevents new reads through old references but does not retract previously injected content.
96
+ - Use Enter to reference and Tab to open conversation actions: import history through Chat Import, open the destination session and display import status. Keep actionable errors in the menu for retry.
97
+ - Add experimental handoff summaries for Claude Code and Codex, placing the summary in the current composer. Disabled by default, with no automatic send.
98
+ - Add separate settings for import actions, handoff summaries and confirmation. Defaults show imports, disable summaries and keep confirmation enabled.
99
+ - Add Chat Import status checks and explicit install/upgrade actions, reuse compatible independent installations, respect disabled states, allow retry after failure and retain Chat Import when Reference Anything is disabled.
100
+ - Add offline feature cards and GIF demonstrations, previous/next navigation and an introduction on the first visit to the installed version’s settings. Closing the dialog and dismissing its menu entry are separate actions.
101
+
102
+ ### Improvements
103
+
104
+ - Resume long records using explicit next positions, including offsets inside a message. Filter tool/image listings by owning message and validate list revisions separately from content revisions.
105
+ - Aggregate local references into one background block after each user message, avoid repeating stable tool instructions on every page and separate display metadata from body text.
106
+ - Show feature cards in Chinese or English according to the interface language, with fallback to the original text when an English translation is absent.
107
+
108
+ - Prioritize and label subagent sessions belonging to the current task, refresh cold-session metadata, omit confirmed blank sessions and improve titles and timestamps.
109
+ - Add breadcrumb navigation to file browsing, isolate folder drill-down results from other sources and open file references through the host resource panel. Keep Tab for browsing and Enter for referencing folders.
110
+ - Improve matching for comma-separated shortcuts and shared shortcuts across sources while preserving provider-specific filters such as codex.
111
+ - Check transcript availability in the background and hide confirmed bodyless records. Keep unknown formats, read failures and over-budget records visible, and recheck changed files.
112
+ - Run discovery in a separate process with short-lived caching, request coalescing and source-specific warnings. Show discovered paths and session counts in settings.
113
+ - Run a lightweight connection check on startup. Show checking, ready or failure status beside Web sync actions, identify OpenCLI, Bridge, adapter and extension issues, and block sync when prerequisites are not ready.
114
+ - Ship pinned OpenCLI 2.0.0 with the plugin and update it through plugin releases. Support JSON management output, extension compatibility and Bridge lifecycle changes; update the Web adapter to 0.2.3.
115
+ - Extend source icons and refine local-source cards and scan status. Fetch installed-version notes separately from latest-version notes to avoid showing the wrong release.
116
+
117
+ ### Bug Fixes
118
+
119
+ - Fix initial selection races between asynchronous @ groups; wait for earlier groups and stop automatic selection once the user interacts.
120
+ - Separate drill-down actions from ordinary search caches, prevent duplicate import/summary requests and preserve action state and retry errors across menu refreshes.
121
+ - Preserve Codex wrapper text and images, Codex/Claude compaction checkpoints and Trae message parts; correctly associate typed and asynchronous Antigravity tool results.
122
+ - Keep one structured copy of local result text for direct tools and run_code. Resume long records by Unicode code-point offset instead of treating truncation as completion. Respect host denial/replacement policies and reject stale positions after source changes.
123
+ - Strengthen enabled-source, canonical-path, allowed-root and session-identity checks. Imports/summaries still use scanned selections and confirmation. Report disabled sources, missing records, changed revisions and invalid parameters distinctly without relaxing the DSH sandbox.
124
+
125
+ ### Chores
126
+
127
+ - Rename non-local listing/reading tools to external_reference_list and external_reference_read while retaining their URI protocol; reference_attachment_read keeps its name.
128
+ - Install/upgrade Chat Import from npm 0.26.1 or later only, removing the old GitHub source-package fallback. Installation remains explicit, not automatic at startup.
129
+
130
+ - Establish separate demo, user-test, Desktop and Agent-browser environments, plus real-source acceptance, official Session Log diagnosis, tgz installation checks, cumulative reporting and editorial review.
131
+
132
+ #### Local Agent tool protocol migration
133
+
134
+ This redesign reads history; it does not launch another Agent. Old arguments are not supported. Local reference_list now returns refs; reference_read accepts ref/revision/part/from/maxItems and returns revision/items/next. Non-local listing/reading moves to external_reference_list/read with its URI protocol intact.
135
+
136
+ ```json
137
+ {"ref":{"source":"codex","path":"<absolute source path>","sessionId":"<actual ID>"},"part":"messages","maxItems":20}
138
+ ```
139
+
140
+ Copy ref from actual results. Omit revision/from only for the initial messages read. Continue with the content revision and copy the entire next into from for the same operation; null ends that scope, not necessarily all earlier history. Read tools or image listings with part=tools/images; reference_image retrieves pixels using a numeric imageId. reference_search supports messages/tools and case-sensitive literal queries.
141
+
142
+ The previous development draft’s top-level source/path/sessionId and start/limit/mode are also removed. Reselect old local references. Restart from the beginning after content changes; list revisions cannot substitute for content revisions. textOffset counts Unicode code points; copy returned positions rather than calculating them.
143
+
144
+ #### Demos and known limitations
145
+
146
+ The GIFs above use fictional data in the real Web UI, including a simulated import; they are not live-service acceptance evidence. Catalog coverage does not mean every source has passed real-account testing. Handoff summaries are experimental. Context budgeting is conservative, large sources can still consume substantial memory, and later reads require the original files because body snapshots are not saved.
147
+
148
+ Full Changelog: [v0.4.4…1b8cf3e](https://github.com/Chael-Chael/dsh-reference-anything/compare/v0.4.4...1b8cf3e1dc09b5dbf9801c6ceb1c0f85618c45ed). 远端基线已核对;本轮文案未提交,最终发布前更新为审核通过的最终提交或标签。 Remote baseline verified; this editorial revision is uncommitted. Update the comparison to the approved final commit or tag before publication.
@@ -0,0 +1,33 @@
1
+ [中文](#cn-051) | [English](#en-051)
2
+
3
+ <h3 id="cn-051">v0.5.1</h3>
4
+
5
+ 本版本基于 v0.5.0,修复引用兼容与菜单体验问题。
6
+
7
+ ### 问题修复
8
+
9
+ - 修复与官方 `ui-reference` 同时启用时的引用注册冲突。官方开启时保留其引用与缓存机制,并隐藏 RA 的重复文件、会话来源;此前插入的 RA 引用仍可使用。
10
+ - 本地 Agent 查询仅对匹配且去重后的来源查询导入状态,避免无匹配时重复扫描造成等待。
11
+
12
+ ### 体验优化
13
+
14
+ - 官方文件、会话来源接入显示开关、独立排序与展开/收起,支持方向键、Enter 和 Tab 操作。
15
+ - Tab 进入文件目录或进入本地 Agent 的操作、导入确认页后,仅显示当前来源;返回根级列表后恢复其他来源。
16
+ - 展开/收起操作采用灰色文字。新功能介绍卡片与演示沿用 v0.5.0。
17
+
18
+ <h3 id="en-051">v0.5.1</h3>
19
+
20
+ This patch is based on v0.5.0 and improves reference compatibility and menu behavior.
21
+
22
+ ### Bug Fixes
23
+
24
+ - Fix conflicting reference registrations when the official `ui-reference` plugin is enabled. Official references and caching remain in use, duplicate RA file/session sources are hidden, and previously inserted RA references remain supported.
25
+ - Query local Agent import status only for sources contributing matched, deduplicated results, avoiding repeated scans for queries with no matches.
26
+
27
+ ### Improvements
28
+
29
+ - Apply visibility toggles, independent ordering, and expand/collapse controls to official file and session sources, with arrow-key, Enter, and Tab navigation.
30
+ - Show only the active source after entering a file directory with Tab or opening a local Agent action/import confirmation page. Restore other sources on return to the root list.
31
+ - Use gray text for expand/collapse actions. Reuse the v0.5.0 feature cards and demos.
32
+
33
+ Full Changelog: [v0.5.0...v0.5.1](https://github.com/Chael-Chael/dsh-reference-anything/compare/v0.5.0...v0.5.1)
@@ -0,0 +1,51 @@
1
+ [中文](#cn-052) | [English](#en-052)
2
+
3
+ <h3 id="cn-052">新增功能</h3>
4
+
5
+ 本版本基于 v0.5.1,扩展本地会话来源,修复功能卡 GIF 加载开销和官方引用前缀兼容问题。
6
+
7
+ - 新增 oh-my-pi、Copilot VS Code、Copilot CLI、豆包桌面版的扫描和只读引用,内置来源增至 33 种。输入 `@omp:`、`@copilot-vscode:`、`@copilot-cli:` 或 `@doubao:` 搜索并按 Enter 插入引用;扫描和引用无需安装 Chat Import。
8
+ - 豆包仅支持本地已缓存正文的对话;缺少的对话可先在豆包中打开后刷新,不会自动下载云端历史。
9
+
10
+ ![四种新增来源的只读引用;使用虚构演示数据](demos/new-local-sources.gif)
11
+
12
+ ### 体验优化
13
+
14
+ - 功能卡 GIF 改为打开当前卡片时按需访问远程地址,不再内联到客户端 JavaScript 或随 npm 包重复分发。首次观看需要网络;下载失败时可重试,网络不可达时不保证离线展示。
15
+
16
+ ### 问题修复
17
+
18
+ - 下载附件清理增加文件创建时间核对,避免文件系统复用 inode 后将同名替换文件误认作临时附件。
19
+
20
+ - 官方 `ui-reference` 启用时,`@file:`、`@session:` 及对应自定义别名仍可限定搜索类别,并调用官方搜索接口;普通 `@` 查询继续由官方来源处理。
21
+
22
+ ### 其他变更
23
+
24
+ - 内置扫描器与解析器更新至 Chat Import 0.26.3。导入功能需要安装并启用 0.26.3 或更新兼容版本,旧版会显示升级提示。
25
+ - 发布说明、功能卡与演示素材统一归档到 `docs/release/`。
26
+
27
+ <h3 id="en-052">New Features</h3>
28
+
29
+ Based on v0.5.1, this release adds local conversation sources and fixes feature-card GIF overhead and official reference prefix compatibility.
30
+
31
+ - Add scanning and read-only references for oh-my-pi, Copilot VS Code, Copilot CLI and Doubao Desktop, bringing the bundled catalog to 33 formats. Search with `@omp:`, `@copilot-vscode:`, `@copilot-cli:` or `@doubao:`, then press Enter to insert a reference. Scanning and references do not require Chat Import.
32
+ - Doubao supports only conversations with locally cached bodies. Open a missing conversation in Doubao and refresh; cloud history is not downloaded automatically.
33
+
34
+ ![Read-only references from four new sources; synthetic demo data](demos/new-local-sources.gif)
35
+
36
+ ### Improvements
37
+
38
+ - Load feature-card GIFs from remote URLs only when their card is opened, instead of embedding them in client JavaScript or duplicating them in the npm package. First viewing requires a network connection. Failed downloads can be retried; offline display is not guaranteed.
39
+
40
+ ### Bug Fixes
41
+
42
+ - Check file creation time during attachment cleanup to avoid mistaking a replacement file for a temporary attachment when the filesystem reuses its inode.
43
+
44
+ - Keep `@file:`, `@session:` and their custom aliases working when the official `ui-reference` plugin is enabled, using official search APIs. Unscoped `@` queries remain handled by the official sources.
45
+
46
+ ### Chores
47
+
48
+ - Update bundled scanners and parsers to Chat Import 0.26.3. Importing requires an installed and enabled 0.26.3 or compatible newer version; older installations show an upgrade prompt.
49
+ - Consolidate release notes, feature cards and demo assets under `docs/release/`.
50
+
51
+ Full Changelog: [v0.5.1...v0.5.2](https://github.com/Chael-Chael/dsh-reference-anything/compare/v0.5.1...v0.5.2)