dsh-reference-anything 0.4.3 → 0.5.0
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/NOTICE.md +58 -0
- package/README.md +159 -70
- package/cordis.patch.yml +17 -15
- package/images/agents/LICENSE +22 -0
- package/images/agents/README.md +3 -0
- package/images/agents/antigravity.svg +1 -0
- package/images/agents/chatgpt.svg +1 -0
- package/images/agents/claude.svg +1 -0
- package/images/agents/cline.svg +1 -0
- package/images/agents/codex.svg +1 -0
- package/images/agents/continue.svg +1 -0
- package/images/agents/crush.svg +1 -0
- package/images/agents/cursor.svg +1 -0
- package/images/agents/dsh.svg +1 -0
- package/images/agents/gemini.svg +1 -0
- package/images/agents/goose.svg +1 -0
- package/images/agents/grokbuild.svg +1 -0
- package/images/agents/hermes.svg +1 -0
- package/images/agents/kilocode.svg +1 -0
- package/images/agents/kimi.svg +1 -0
- package/images/agents/mimocode.svg +1 -0
- package/images/agents/openclaw.svg +1 -0
- package/images/agents/opencode.svg +1 -0
- package/images/agents/pi.svg +1 -0
- package/images/agents/qoder.svg +1 -0
- package/images/agents/qwen.svg +1 -0
- package/images/agents/reasonix.svg +6 -0
- package/images/agents/teleagent.svg +1 -0
- package/images/agents/trae.svg +1 -0
- package/images/agents/vibe.svg +1 -0
- package/images/agents/workbuddy.svg +37 -0
- package/images/agents/zcode.svg +1 -0
- package/images/agents/zed.svg +1 -0
- package/lib/agent-scan-cache.d.ts +13 -0
- package/lib/agent-scan-cache.js +43 -0
- package/lib/chat-import-compatibility.d.ts +18 -0
- package/lib/chat-import-compatibility.js +87 -0
- package/lib/chat-import-discovery.d.ts +32 -0
- package/lib/chat-import-discovery.js +17 -0
- package/lib/chat-import-reader.d.ts +27 -0
- package/lib/chat-import-reader.js +111 -0
- package/lib/chat-import-runtime.d.ts +4 -0
- package/lib/chat-import-runtime.js +4 -0
- package/lib/client/index.d.ts +5 -0
- package/lib/client.js +4 -33741
- package/lib/contract.d.ts +65 -4
- package/lib/contract.js +24 -4
- package/lib/conversation-availability.d.ts +13 -0
- package/lib/conversation-availability.js +76 -0
- package/lib/errors.d.ts +2 -2
- package/lib/host.d.ts +104 -11
- package/lib/host.js +202 -14
- package/lib/index.d.ts +3 -1
- package/lib/index.js +31 -3
- package/lib/local-conversation-reader.d.ts +3 -0
- package/lib/local-conversation-reader.js +81 -0
- package/lib/local-conversation-scanner.d.ts +18 -0
- package/lib/local-conversation-scanner.js +55 -0
- package/lib/local-locator.d.ts +14 -0
- package/lib/local-locator.js +34 -0
- package/lib/local-plugins.d.ts +6 -0
- package/lib/local-plugins.js +119 -0
- package/lib/local-reference-tools.d.ts +4 -0
- package/lib/local-reference-tools.js +195 -0
- package/lib/local-reference.d.ts +118 -0
- package/lib/local-reference.js +289 -0
- package/lib/opencli.d.ts +5 -2
- package/lib/opencli.js +88 -64
- package/lib/reference.d.ts +5 -3
- package/lib/reference.js +167 -72
- package/lib/render.d.ts +1 -1
- package/lib/render.js +4 -4
- package/lib/retain.d.ts +14 -0
- package/lib/retain.js +1 -1
- package/lib/serialize.d.ts +1 -1
- package/lib/serialize.js +2 -2
- package/lib/sources/local-agent/index.d.ts +23 -16
- package/lib/sources/local-agent/index.js +101 -15
- package/lib/store/spec.d.ts +104 -7
- package/lib/sync/index.js +4 -0
- package/lib/tool.d.ts +2 -0
- package/lib/tool.js +36 -41
- package/lib/typert.js +3 -0
- package/lib/types.d.ts +2 -0
- package/lib/update.d.ts +2 -0
- package/lib/update.js +12 -0
- package/lib/uri-codec.d.ts +1 -0
- package/lib/uri-codec.js +64 -3
- package/lib/uri.d.ts +1 -10
- package/lib/uri.js +16 -5
- package/lib/web.js +3 -1
- package/lib/wire.d.ts +200 -0
- package/lib/wire.js +38 -13
- package/opencli-plugin/common.js +5 -3
- package/opencli-plugin/opencli-plugin.json +1 -1
- package/opencli-plugin/package.json +1 -1
- package/package.json +30 -4
- package/release-notes/0.4.4/commands.png +0 -0
- package/release-notes/0.4.4/demos/agent-import.gif +0 -0
- package/release-notes/0.4.4/demos/chat-import-upgrade.gif +0 -0
- package/release-notes/0.4.4/demos/folders.gif +0 -0
- package/release-notes/0.4.4/demos/local-plugins.gif +0 -0
- package/release-notes/0.4.4/demos/shortcuts.gif +0 -0
- package/release-notes/0.4.4/features.json +36 -0
- package/release-notes/0.4.4/files.png +0 -0
- package/release-notes/0.5.0/demos/agent-import.gif +0 -0
- package/release-notes/0.5.0/demos/chat-import-upgrade.gif +0 -0
- package/release-notes/0.5.0/demos/folders.gif +0 -0
- package/release-notes/0.5.0/demos/local-plugins.gif +0 -0
- package/release-notes/0.5.0/demos/local-references.gif +0 -0
- package/release-notes/0.5.0/demos/shortcuts.gif +0 -0
- package/release-notes/0.5.0/features.json +65 -0
- package/release-notes/README.md +36 -0
- package/vendor/chat-import-reader/LICENSE +22 -0
- package/vendor/chat-import-reader/LICENSE.fzstd +21 -0
- package/vendor/chat-import-reader/README.md +48 -0
- package/vendor/chat-import-reader/availability-worker.mjs +114 -0
- package/vendor/chat-import-reader/parsers.d.mts +6 -0
- package/vendor/chat-import-reader/parsers.mjs +11168 -0
- package/vendor/chat-import-reader/scan-worker.mjs +7 -0
- package/vendor/chat-import-reader/scanners.mjs +4286 -0
- package/vendor/chat-import-reader/upstream-sha256.json +101 -0
package/NOTICE.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Third-party notices
|
|
2
2
|
|
|
3
|
+
## Lucide action icons
|
|
4
|
+
|
|
5
|
+
The Import, Summary, and Undo 2 SVG paths in `src/client/provider-icons.tsx`
|
|
6
|
+
are from https://github.com/lucide-icons/lucide and are licensed under ISC:
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2026 Lucide Icons and Contributors
|
|
9
|
+
|
|
10
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
11
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
12
|
+
copyright notice and this permission notice appear in all copies.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
15
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
17
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
18
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
19
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
20
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
21
|
+
|
|
3
22
|
The OpenCLI provider adapters in `opencli-plugin/` are derived in part from
|
|
4
23
|
`pinguarmy/ai-chat-exporter` at commit
|
|
5
24
|
`9f0f9e21d818316d45c0a13c98d288a80bb8174e`.
|
|
@@ -46,7 +65,46 @@ redistributed by this package.
|
|
|
46
65
|
|
|
47
66
|
## DeepSeek Harness reference services
|
|
48
67
|
|
|
68
|
+
`src/client/native-reference-text.tsx` adapts `user-text-rules.ts` and
|
|
69
|
+
`FileReference.tsx` from `packages/client/ui-reference/src/client/` at
|
|
70
|
+
https://github.com/deepseek-ai/deepseek-harness/tree/687f282e8625c6b8d11ff58211a90524be2e4317.
|
|
71
|
+
|
|
72
|
+
Copyright (c) 2026 DeepSeek
|
|
73
|
+
|
|
74
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
75
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
76
|
+
in the Software without restriction, including without limitation the rights
|
|
77
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
78
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
79
|
+
furnished to do so, subject to the following conditions:
|
|
80
|
+
|
|
81
|
+
The above copyright notice and this permission notice shall be included in all
|
|
82
|
+
copies or substantial portions of the Software.
|
|
83
|
+
|
|
84
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
85
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
86
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
87
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
88
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
89
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
90
|
+
SOFTWARE.
|
|
91
|
+
|
|
49
92
|
File candidate formatting and cross-session candidate types use the official
|
|
50
93
|
DeepSeek Harness packages `@deepseek-ai/dsh-file-reference` and
|
|
51
94
|
`@deepseek-ai/dsh-session-reference`. Those packages remain external package
|
|
52
95
|
dependencies and are used under the DeepSeek Harness project's MIT license.
|
|
96
|
+
|
|
97
|
+
## dsh-chat-import agent icons
|
|
98
|
+
|
|
99
|
+
Settings icons in images/agents are copied from Nwflower/dsh-chat-import (dbd03e1dfeaffea980458df1afc4ef899af9a2a4).
|
|
100
|
+
Copyright (c) 2026 Nwflower; Copyright (c) 2026 Scarlett.
|
|
101
|
+
Distributed under the MIT License; the full license is included in images/agents/LICENSE.
|
|
102
|
+
|
|
103
|
+
## Bundled conversation scanners and readers
|
|
104
|
+
|
|
105
|
+
`vendor/chat-import-reader/parsers.mjs` and `scanners.mjs` contain adapted
|
|
106
|
+
read-only discovery, database summary, parser and preview code from Nwflower/dsh-chat-import npm 0.26.1, plus its fzstd decoder.
|
|
107
|
+
Copyright (c) 2026 Nwflower and Scarlett; fzstd copyright (c) 2020 Arjun Barrett.
|
|
108
|
+
Both are MIT licensed. Full licenses are shipped in
|
|
109
|
+
`vendor/chat-import-reader/LICENSE` and `LICENSE.fzstd`; source hashes and
|
|
110
|
+
regeneration instructions accompany the snapshot in the repository.
|
package/README.md
CHANGED
|
@@ -35,25 +35,27 @@ One `@` for them all.
|
|
|
35
35
|
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
|
-
**Reference Anything is an enhancement for the DeepSeek Harness (DSH) `@` menu.** It brings
|
|
38
|
+
**Reference Anything is an enhancement for the DeepSeek Harness (DSH) `@` menu.** It brings files, sessions, local agents, web chats, cloud drives, and local plugins into one searchable menu, so you can mention the context you need without switching tools or copying content manually.
|
|
39
39
|
|
|
40
|
-
After typing `@`, you can browse and click items in the menu with your mouse, or use the keyboard to enter text, search, and narrow down the results.
|
|
40
|
+
After typing `@`, you can browse and click items in the menu with your mouse, or use the keyboard to enter text, search, and narrow down the results. When a folder is selected, press `Tab` to enter it and continue browsing, or `Enter` to insert the folder reference.
|
|
41
41
|
|
|
42
42
|
Use one `@` menu to reference:
|
|
43
43
|
|
|
44
44
|
- 🧩 DSH commands and Skills
|
|
45
45
|
- 📁 Workspace files and folders
|
|
46
46
|
- 💬 DSH session history
|
|
47
|
-
- 🖥️ **
|
|
48
|
-
- ✨ **
|
|
49
|
-
- ☁️ **
|
|
47
|
+
- 🖥️ **Local Agent conversations:** bundled scanning and read-only parsers for 29 source formats, including Claude Code, Codex and Cursor; optional import into DSH through Chat Import. Live acceptance coverage is recorded separately.
|
|
48
|
+
- ✨ **Added by this plugin — highlight: Historical conversations from web chatbots including ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi**
|
|
49
|
+
- ☁️ **Added by this plugin: Files from cloud drives connected through OpenList**
|
|
50
|
+
- 🧩 **Added by this plugin: Installed and configured local DSH plugins, without repeatedly hunting through directories**
|
|
50
51
|
|
|
51
52
|
Beyond extending what `@` can reference, Reference Anything also enhances the `@` menu itself:
|
|
52
53
|
|
|
53
|
-
- Customize visible groups: enable or hide `Commands`, `Skills`, files, DSH sessions, local agent conversations, external conversations,
|
|
54
|
+
- Customize visible groups: enable or hide `Commands`, `Skills`, files, DSH sessions, local agent conversations, external conversations, cloud-drive files, and local plugins, then arrange them in any order
|
|
55
|
+
- Customize shortcuts: assign your own shortcuts to source groups, web providers, local agents, and cloud-drive mounts
|
|
54
56
|
- Customize result counts: set each group's collapsed row count and hard candidate cap independently
|
|
55
57
|
- Choose how to browse: expand or collapse individual groups, or use DSH's native scrolling list
|
|
56
|
-
- Enhanced visual icons: distinguish reference sources with type icons and platform logos
|
|
58
|
+
- Enhanced visual icons and commands: distinguish reference sources with type icons and platform logos
|
|
57
59
|
|
|
58
60
|
<table>
|
|
59
61
|
<tr>
|
|
@@ -75,6 +77,61 @@ Type `@`, search across enabled sources, and insert the selected reference into
|
|
|
75
77
|
|
|
76
78
|
## 📰 News
|
|
77
79
|
|
|
80
|
+
### 0.5.0 Preview · Feature Demos
|
|
81
|
+
|
|
82
|
+
This update also adds unified local pagination, resumable long-text reads and message/tool search, rechecks source switches on every read, and moves non-local tools to external_reference_list/read. See the [release and migration guide](./docs/release-v0.5.0.md). Version 0.5.0 is not yet published.
|
|
83
|
+
|
|
84
|
+
#### Import Past Conversations into DSH and Pick Up Where You Left Off
|
|
85
|
+
|
|
86
|
+
Want to continue an existing local session without copying and pasting chat logs or treating old threads purely as static context?
|
|
87
|
+
|
|
88
|
+
Now, when you find a local session in the `@` menu, you have two ways to use it:
|
|
89
|
+
- **Reference as context (`Enter`)**: Insert the session directly as a reference;
|
|
90
|
+
- **Import and continue chatting (`Tab`)**: Open the action menu, select **Import**, and confirm to bring the entire conversation history into DSH and keep chatting seamlessly! (Prefer a faster workflow? You can disable the confirmation prompt in Settings.)
|
|
91
|
+
|
|
92
|
+
> 💡 **Note**: Importing requires `dsh-chat-import` v0.26.1 or a compatible newer version to be installed and enabled.
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+
|
|
96
|
+
#### One-Click Upgrade for `dsh-chat-import` Right from the Menu
|
|
97
|
+
|
|
98
|
+
If an outdated version of `dsh-chat-import` prevents you from using chat import or handoff summaries, you no longer need to update it manually.
|
|
99
|
+
|
|
100
|
+
Simply click the **upgrade prompt** right inside the menu to update to v0.26.1 or later. If prompted after the upgrade, restart DSH to apply the changes.
|
|
101
|
+
|
|
102
|
+

|
|
103
|
+
|
|
104
|
+
#### Type `@plugin:` to Reference Installed Plugins Directly
|
|
105
|
+
|
|
106
|
+
Want your Agent to troubleshoot a plugin issue or inspect its source code? Digging through deep system folders just to find the installation path is a hassle.
|
|
107
|
+
|
|
108
|
+
Now you can simply type `@plugin:`, search for the plugin name, and press `Enter` to pass its installation directory straight to the Agent (supports all plugins currently installed in your DSH environment).
|
|
109
|
+
|
|
110
|
+

|
|
111
|
+
|
|
112
|
+
#### Custom Shortcuts to Narrow Down Your Search Scope Instantly
|
|
113
|
+
|
|
114
|
+
Tired of scrolling through a cluttered `@` menu full of files, folders, and different sources just to find a past conversation?
|
|
115
|
+
|
|
116
|
+
You can now assign **custom shortcuts** to different chat sources in Settings (multiple shortcuts can be separated by commas), allowing you to filter by category and narrow down your search scope right as you type:
|
|
117
|
+
- **Search across a combined group**: Not sure where a conversation happened? Assign the same shortcut (e.g., `chat`) to both Local Agents and Web Chats, then type `@chat:` to narrow your search exclusively to those sources;
|
|
118
|
+
- **Target a specific source**: When you know exactly where to look, use a dedicated shortcut like `@codex:` to filter exclusively for Codex sessions.
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
#### Browse Folders Directly in the `@` Menu — No Need to Type Full Paths
|
|
123
|
+
|
|
124
|
+
Want to reference a deeply nested folder without memorizing or typing out its full path?
|
|
125
|
+
|
|
126
|
+
You can now navigate folder hierarchies directly inside the `@` file menu:
|
|
127
|
+
- **Open subfolder**: Select a folder and press `Tab` to step inside;
|
|
128
|
+
- **Go back**: Use the breadcrumb navigation bar at the top of the menu;
|
|
129
|
+
- **Insert reference**: Press `Enter` on your target folder to insert it directly into your chat.
|
|
130
|
+
|
|
131
|
+

|
|
132
|
+
|
|
133
|
+
- **2026-10-12 · v0.4.4** — Added local plugin discovery to the `@` menu, configurable source and provider shortcuts, improved picker icons and folder insertion, and added the `model` command entry.
|
|
134
|
+
|
|
78
135
|
- **2026-10-06 · v0.4.3** — Reference Anything now supports DSH Desktop! Enjoy a refreshed and optimized settings page!
|
|
79
136
|
|
|
80
137
|
- **2026-09-28 · v0.4.2 — Important update** — Fixed a fatal plugin compatibility error with the current DSH interface. During plugin loading, DSH now requires every strict `agentSearch` registration codec to provide a `create()` validator factory; v0.4.1 supplied only validation rules, so DSH rejected the plugin before search could run. This release adds the required factory and fixes command icon sizing plus bilingual command labels in the native picker.
|
|
@@ -83,121 +140,125 @@ Type `@`, search across enabled sources, and insert the selected reference into
|
|
|
83
140
|
|
|
84
141
|
- **2026-09-03 · v0.4.0** — **Compatibility: DSH `>=0.2.0-rc.2`.** Migrated Skills discovery to the DSH RC1 Skills Remote, restored historical reference grants through the RC1 Session snapshot API, and verified the plugin against DSH `0.2.0-rc.2`.
|
|
85
142
|
|
|
86
|
-
- **2026-08-28 · v0.3.3** — Improved dark-theme backgrounds for the reference menu and settings panels, added project screenshot metadata, and refreshed the documentation. This was the final release line targeting the current stable DeepSeek Harness SDK; `v0.4.0` migrated to DeepSeek Harness `v0.2.0-rc.2` under the npm `alpha` tag and does not support older DSH releases.
|
|
87
|
-
- **2026-08-25 · v0.3.2** — Added local-agent conversation references, with detected session counts and custom-folder support. Web AI sync can be age-limited; cloud drives now support folder browsing and quick download-folder access. Settings include update notes, and local-agent tool details stay concise unless expanded.
|
|
88
|
-
- **2026-08-20 · v0.3.0** — Completed the native DSH `@` integration: five independently configurable sources, official file/session Remotes, native Composer references with source logos, in-place expand/collapse and sync actions, and a one-click switch between Reference Anything and the official DSH `@` list. The legacy `dsh-file:` protocol and custom Composer interaction layer were removed.
|
|
89
|
-
|
|
90
143
|
## 🧭 Roadmap
|
|
91
144
|
|
|
92
145
|
- [x] Support referencing historical conversations from other local agents
|
|
93
|
-
- [
|
|
146
|
+
- [x] Support continuing referenced local-agent sessions (Continue Session)
|
|
94
147
|
- [x] Reference cloud-drive files through OpenList
|
|
95
148
|
- [ ] Manage cloud-drive files inside the plugin (in progress; current access is read-only)
|
|
96
149
|
- [ ] Support more keyword matching rules, including blacklists and whitelists, especially for file search
|
|
97
150
|
- [ ] Support more AI conversation platforms
|
|
98
151
|
- [ ] Provide a quieter AI conversation synchronization mechanism
|
|
99
152
|
- [ ] Support referencing applications or browser windows currently open on the computer
|
|
153
|
+
- [ ] Add cross-source full-text and semantic search with hit snippets and unified ranking (P0)
|
|
154
|
+
- [ ] Reduce setup cost for cross-platform sources with auto-detection, reconnect, account isolation, and sync status (P1)
|
|
155
|
+
- [ ] Support optionally continuing a referenced local-agent task with goals, key files, and unfinished work (P2)
|
|
156
|
+
- [ ] Add provenance, time and scope visibility, sensitive-content filtering, and local-cache cleanup controls (P2)
|
|
100
157
|
- [ ] More ideas are welcome in Issues
|
|
101
158
|
|
|
102
159
|
## 📦 Installation
|
|
103
160
|
|
|
104
|
-
|
|
161
|
+
The released version is **v0.5.0**, with a declared minimum DSH SDK version of **`0.2.0-rc.2`**.
|
|
105
162
|
|
|
106
|
-
|
|
107
|
-
- The target platforms are already logged in under the selected Chrome Profile.
|
|
163
|
+
### Official desktop app
|
|
108
164
|
|
|
109
|
-
|
|
165
|
+
Download the official desktop app from the [DeepSeek Harness website](https://www.deepseek.com/en/harness/), open **Plugins → Add plugin**, enter `dsh-reference-anything`, and follow the prompts to install and enable it. Restart DSH if asked, then open **Settings → Reference Anything**.
|
|
110
166
|
|
|
111
|
-
|
|
112
|
-
dsh plugin --profile web add dsh-reference-anything@latest
|
|
113
|
-
```
|
|
167
|
+
Desktop uses a separate plugin profile; plugins installed in the Web profile are not automatically enabled in Desktop. See the [official desktop documentation](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/desktop/README.md).
|
|
114
168
|
|
|
115
|
-
|
|
169
|
+
### DSH Market
|
|
170
|
+
|
|
171
|
+
Open [Reference Anything on DSH Market](https://dshmarket.com/p/Chael-Chael/dsh-reference-anything/), or search for `dsh-reference-anything` in the in-app market. If the market is not installed, use **Add plugin** with `dshmarket` in Desktop; for Web, run:
|
|
116
172
|
|
|
117
173
|
```powershell
|
|
118
|
-
dsh plugin --profile web add
|
|
174
|
+
dsh plugin --profile web add dshmarket
|
|
119
175
|
```
|
|
120
176
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
To install the stable source locally with DSH `v0.1.0-rc.8 ~ v0.1.1-rc.2`:
|
|
177
|
+
### Web CLI
|
|
124
178
|
|
|
125
179
|
```powershell
|
|
126
|
-
|
|
127
|
-
pnpm install
|
|
128
|
-
npm run check
|
|
129
|
-
dsh plugin --profile web add .
|
|
180
|
+
dsh plugin --profile web add dsh-reference-anything
|
|
130
181
|
```
|
|
131
182
|
|
|
132
|
-
|
|
183
|
+
The installed version depends on the selected channel; this README describes v0.5.0.
|
|
133
184
|
|
|
134
|
-
|
|
135
|
-
git switch alpha
|
|
136
|
-
pnpm install
|
|
137
|
-
npm run check
|
|
138
|
-
dsh plugin --profile web add .
|
|
139
|
-
```
|
|
185
|
+
### Optional: Connect web AI chats
|
|
140
186
|
|
|
141
|
-
|
|
142
|
-
> To restore DSH's original `@` menu appearance, simply uninstall this plugin.
|
|
187
|
+
Only web chats need this step. Local sources work without it. Sign into the desired platforms in your browser. OpenCLI is installed with this plugin; adapter setup still needs npm.
|
|
143
188
|
|
|
144
|
-
After installing the DSH plugin, open `Settings → Reference Anything → Availability check` in DSH
|
|
189
|
+
After installing the DSH plugin, open `Settings → Reference Anything → Availability check` in DSH (restart DSH first if this settings entry is not yet visible), then click **One-click setup**. It uses OpenCLI 2.0.0 installed as a runtime dependency and updated together with this plugin; installs the bundled adapters for all six platforms; starts or refreshes Browser Bridge; and opens the OpenCLI Browser Bridge page in the [Chrome Web Store](https://chromewebstore.google.com/detail/opencli/ildkmabpimmkaediidaifkhjpohdnifk). Confirm the extension installation, then return and click **Recheck setup**. Any remaining failed check displays its own recovery action.
|
|
145
190
|
|
|
146
|
-
|
|
191
|
+
For a custom global OpenCLI, install it manually and enter its full executable path in settings. The default opencli always uses the plugin dependency:
|
|
147
192
|
|
|
148
193
|
```powershell
|
|
149
|
-
npm install --global "@jackwener/opencli
|
|
194
|
+
npm install --global "@jackwener/opencli@2.0.0"
|
|
150
195
|
opencli plugin install file:///C:/path/to/dsh-reference-anything/opencli-plugin
|
|
151
196
|
opencli daemon restart
|
|
152
197
|
```
|
|
153
198
|
|
|
154
|
-
Replace `C:/path/to/dsh-reference-anything` with the repository location. Browser extensions cannot be silently installed from a webpage; confirm the installation in the Chrome Web Store, or download an extension package from [OpenCLI Releases](https://github.com/jackwener/opencli/releases) and use “Load unpacked.” If the browser blocks the store popup, the settings page keeps a normal fallback link. When multiple browser profiles are connected, select and apply one directly in the failed check.
|
|
199
|
+
Replace `C:/path/to/dsh-reference-anything` with the repository location. Browser extensions cannot be silently installed from a webpage; confirm the installation in the Chrome Web Store, or download an extension package from [OpenCLI Releases](https://github.com/jackwener/opencli/releases) and use “Load unpacked.” If the browser blocks the store popup, the settings page keeps a normal fallback link. When multiple browser profiles are connected, select and apply one directly in the failed check. OpenCLI updates with this plugin; the browser store updates the extension separately.
|
|
155
200
|
|
|
156
201
|
## 🚀 Usage
|
|
157
202
|
|
|
158
|
-
Reference Anything registers
|
|
203
|
+
Reference Anything registers eight sources in the native DSH `@` menu rather than introducing a separate search interface. Settings let you choose which groups appear, their order, their collapsed row count, their hard candidate cap, and whether groups use plugin-owned collapse actions or the native scrolling list. A separate one-click control switches the visible picker back to DSH's official file/session list without stopping the plugin, synchronization service, local data, or model-facing tools; the same control restores the Reference Anything picker at any time.
|
|
159
204
|
|
|
160
|
-
1.
|
|
161
|
-
2.
|
|
162
|
-
3.
|
|
163
|
-
|
|
164
|
-
|
|
205
|
+
1. Type `@` to browse sources, or enter a keyword such as `@cache-design`.
|
|
206
|
+
2. Click a result, or select it with the arrow keys and press `Enter`. For workspace folders, `Tab` opens the folder and `Enter` inserts a reference.
|
|
207
|
+
3. Add your request and send it: “Use this Codex conversation and project folder to check whether the earlier plan has been implemented.”
|
|
208
|
+
|
|
209
|
+
For web chats, complete the connection steps above, then choose platforms, browser profile, storage mode, and history range under **Settings → Reference Anything → Web AI conversation sync settings** and start syncing. For cloud files, connect OpenList and add a mount in Settings.
|
|
165
210
|
|
|
166
211
|
The default **Read bodies on demand** mode stores only the title index locally and uses the browser when an agent needs the conversation. Choose **Store full bodies locally** for offline reading and full-text search. The plugin checks for new versions when it loads; release notes are available in Settings, and installed updates take effect after restarting DSH.
|
|
167
212
|
|
|
168
|
-
> [!
|
|
169
|
-
>
|
|
213
|
+
> [!NOTE]
|
|
214
|
+
> OpenCLI may open or reuse browser windows while syncing web chats or reading bodies. Keep them available until the operation finishes. Sync speed depends on the platform, history size, and browser connection.
|
|
215
|
+
|
|
216
|
+
### Shortcut examples
|
|
217
|
+
|
|
218
|
+
These examples use the current defaults. After changing shortcuts, use the values shown in Settings.
|
|
219
|
+
|
|
220
|
+
| Input | What it finds |
|
|
221
|
+
| --- | --- |
|
|
222
|
+
| `@file:README` | Workspace files and folders |
|
|
223
|
+
| `@session:` | DSH session history |
|
|
224
|
+
| `@agent:` / `@codex:` | Local agent history / Codex only |
|
|
225
|
+
| `@chat:` / `@chatgpt:cache` | Web chats / matching ChatGPT chats |
|
|
226
|
+
| `@drive:` | Connected cloud drives |
|
|
227
|
+
| `@plugin:` | Local DSH plugins |
|
|
228
|
+
| `@command:` / `@skill:` | Commands / Skills |
|
|
229
|
+
|
|
230
|
+
Under **General**, set shortcuts for groups, web providers, local agents, and cloud mounts. Separate multiple shortcuts with commas: set the file group to `file,f`, then use `@f:README`. A shortcut can target multiple sources. Full-width colons (`:`) are also supported.
|
|
170
231
|
|
|
171
232
|
### 🧩 One `@` menu, multiple sources
|
|
172
233
|
|
|
173
|
-
The `@` menu contains
|
|
234
|
+
The `@` menu contains eight groups: `Commands`, `Skills`, `Files and folders`, `DSH sessions`, `Local agent conversations`, `External conversations`, `Cloud drive files`, and `All local plugins`. The cloud-drive group browses folders and supported files from drives connected through OpenList; access is read-only, and connections are managed in Settings. Each group shows six rows before its expand action by default and accepts a separate hard candidate cap from 1 to 50. In collapse mode, each expand action reveals five more rows and updates the mounted menu without jumping back to the top; collapse restores the configured compact count. The external-conversation group keeps its sync action first and updates that row and the visible results in place while synchronization runs and completes. Under `Settings → Reference Anything → General`, you can enable or disable groups, reorder them, assign an optional custom shortcut (for example `f` for Files, then use `@f:notes`), and choose **Collapse / expand** or **Native DSH scrolling**.
|
|
174
235
|
|
|
175
236
|
#### ⌨️ @Commands — DSH native commands
|
|
176
237
|
|
|
177
|
-
To browse commands, use `@
|
|
238
|
+
To browse commands, use `@command:`; selecting one hands `/command` back to DSH's native slash pipeline.
|
|
178
239
|
|
|
179
240
|
<p align="center"><img src="./images/at-commands.png" alt="Browse DSH commands from the @ menu" width="800" /></p>
|
|
180
241
|
|
|
181
242
|
#### 🛠️ @Skills — DSH skill library
|
|
182
243
|
|
|
183
|
-
To browse skills, use `@
|
|
244
|
+
To browse skills, use `@skill:`; selecting one inserts `/skill` for DSH's native skill handling.
|
|
184
245
|
|
|
185
246
|
<p align="center"><img src="./images/at-skills.png" alt="Browse DSH skills from the @ menu" width="800" /></p>
|
|
186
247
|
|
|
187
248
|
#### 📁 @Files and folders — workspace files and directories
|
|
188
249
|
|
|
189
|
-
Type `@
|
|
250
|
+
Type `@file:` in the input box to browse files and folders through DSH's official file-reference Remote.
|
|
190
251
|
|
|
191
252
|
<p align="center"><img src="./images/at-files.png" alt="Browse workspace files and folders from the @ menu" width="800" /></p>
|
|
192
253
|
|
|
193
254
|
**Features:**
|
|
255
|
+
|
|
194
256
|
- Uses the official `@path` / `@"path with spaces"` grammar and canonical file candidate service
|
|
195
|
-
- Files become native
|
|
196
|
-
- The plugin no longer creates or parses a custom `dsh-file:` scheme
|
|
257
|
+
- Files and folders become native references; press `Tab` on a folder to browse inside it, or `Enter` to insert it
|
|
197
258
|
|
|
198
259
|
#### 💬 @DSH sessions — DSH session history
|
|
199
260
|
|
|
200
|
-
Type `@
|
|
261
|
+
Type `@session:` to browse DSH sessions through the official session-reference Remote.
|
|
201
262
|
|
|
202
263
|
<p align="center"><img src="./images/at-sessions.png" alt="Browse DSH sessions from the @ menu" width="800" /></p>
|
|
203
264
|
|
|
@@ -205,35 +266,64 @@ Selected sessions use DSH's canonical `dsh-session:` mention and native session
|
|
|
205
266
|
|
|
206
267
|
#### 🖥️ @Local agent conversations — transcripts from local agent CLIs
|
|
207
268
|
|
|
208
|
-
Type `@
|
|
269
|
+
Type `@agent:` to search and reference conversations saved by other local agent tools.
|
|
270
|
+
|
|
271
|
+
All 29 sources use bundled read-only scanners and parsers derived from dsh-chat-import. Scanning and references work without installing Chat Import. Source switches, additional directories and workspace scope still apply; settings show source paths, counts and scan errors. Enter inserts a reference, including recoverable images through DSH attachments; viewing images requires a vision-capable model. Confirmed empty conversations are hidden; read errors remain visible. Local references now store a readable source, path and session ID; reselect references created with the old local URI protocol.
|
|
272
|
+
|
|
273
|
+
When you send local references, the plugin appends one aggregated background after each user message. The model reads `ref: {source, path, sessionId}` with a content `revision`. `reference_list` discovers local sessions; `reference_read` reads `messages`, `tools` or `images`; `reference_search` searches message/tool text; `reference_image` returns actual pixels.
|
|
274
|
+
|
|
275
|
+
Use `from` for both scope and starting position: `messages` uses `messageId`; `tools` uses `toolId` with an optional owning `messageId`; `images` uses `imageId` with an optional owning `messageId`. Copy the complete `next` object into `from` to continue. Long text uses a Unicode code-point `textOffset`, preserving every remaining character rather than keeping only the head and tail. Source-provided summaries use `role: "summary"`; source limitations use an English `notice`. Source content is never translated.
|
|
276
|
+
|
|
277
|
+
`reference-mention.maxTextBytes` caps all new reference contexts in one pre-step batch at 16 KiB by default; estimated remaining context can reduce it. `reference-tool.maxTextBytes` separately caps each local tool text result at 16 KiB. Unknown capacity leaves only bounded metadata and a notice; metadata that cannot fit fails explicitly. Previews contain a continuous recent suffix, with a continuation for an oversized final message. Images have a separate 10 MiB limit.
|
|
278
|
+
|
|
279
|
+
Every new read checks the enabled source, allowed real path and session identity; no per-session grant is needed for local references. After a version change, restart `reference_read` with the same `ref`, `part: "messages"`, and omit both `revision` and `from`. No full-text snapshots or cross-call parsed-body caches are saved. Other sources retain their existing URI-based protocol under `external_reference_list` and `external_reference_read`.
|
|
280
|
+
|
|
281
|
+
Import status, session import and handoff summaries use the optional Chat Import API. Install or upgrade the independent plugin from settings when needed; Reference Anything does not install it on startup. An unavailable API leaves import status unknown and does not stop local scanning or reference reading. Tab retains the configured import and summary actions and confirmation flow.
|
|
282
|
+
|
|
283
|
+
The scanner runs in a separate process and caches metadata for 30 seconds. Parsing a reference may still read its complete source before returning a page. Source code and icons retain their MIT licenses (see `vendor/chat-import-reader/` and `images/agents/LICENSE`). Maintainers update both snapshots with `npm run vendor:sync -- <built-dsh-chat-import-directory>`; see the vendor README for checks before shipping.
|
|
209
284
|
|
|
210
285
|
<p align="center"><img src="./images/at-local-agents.png" alt="Browse other local agents' transcripts from the @ menu" width="800" /></p>
|
|
211
286
|
|
|
212
|
-
**Supported
|
|
287
|
+
**Supported sources:** Claude Code, Codex, Cursor, Gemini CLI, Antigravity, Reasonix, opencode, mimocode, zcode, Grok Build, OpenClaw, Pi, Hermes, Kimi, Kilo Code, Qoder, ChatGPT exports, WorkBuddy, Qwen Code, Continue, Cline, Goose, DSH 4, Zed, Crush, Teleagent, Trae Work, Vibe, and DSH.
|
|
213
288
|
|
|
214
289
|
**Features:**
|
|
215
290
|
|
|
216
291
|
- Automatically detects conversation history and shows the number found for each agent
|
|
217
292
|
- Lets you enable agents independently or choose a custom history folder
|
|
218
293
|
- Searches all detected conversations by default, with an option to limit results to the current workspace
|
|
219
|
-
-
|
|
294
|
+
- Automatically previews recent body text; reads numbered messages, associated tool details and images on demand
|
|
220
295
|
- Supports agent-specific prefixes such as `@codex:`, `@claude-code:`, and `@gemini-cli:`
|
|
221
296
|
|
|
297
|
+
References read local history without modifying it. Import and handoff-summary actions are separate operations through Chat Import. Claude Code and Codex adapters have been checked against real transcripts; other formats are primarily fixture-tested and may vary by tool version. Database reads for opencode, mimocode, and zcode require `node:sqlite` in the DSH host runtime.
|
|
298
|
+
|
|
299
|
+
#### 🧩 @Local plugins — installed and configured plugins
|
|
300
|
+
|
|
301
|
+
Use `@plugin:` to find plugins. Settings can also show only running plugins or hide official DeepSeek plugins. Under **Settings → Reference Anything → General**, the **All local plugins** switch enables or disables this group immediately; the choice is saved. It is enabled by default, with six collapsed rows and a candidate cap of 50.
|
|
302
|
+
|
|
303
|
+
The list uses the active DSH loader's composed entries and lifecycle state, supplemented by declared profile bundles and installed packages with DSH bundle/client metadata. Ordinary dependencies are excluded. Running, disabled, and not-running states describe host entries; packages without a host entry are shown as not running. Selecting a plugin inserts its name and, when available, a native reference to its real local directory. File access still uses DSH's existing tools and permissions.
|
|
304
|
+
|
|
222
305
|
#### 🌐 @External conversations — external conversation platforms
|
|
223
306
|
|
|
224
307
|
Supports historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi.
|
|
225
308
|
|
|
226
309
|
<p align="center"><img src="./images/at-external-conversations.png" alt="Browse external conversations from the @ menu" width="800" /></p>
|
|
227
310
|
|
|
311
|
+
**Store full bodies locally** enables offline reading of synchronized text; it does not mean attachments are saved offline. Automatic and startup sync are off by default and can be enabled in Settings.
|
|
312
|
+
|
|
228
313
|
**Platform filtering:**
|
|
314
|
+
|
|
229
315
|
- Use `@chatgpt:cache` or `@claude:refactor` to filter a specific platform
|
|
230
316
|
- Short aliases are also accepted, such as `@gpt:` and `@ds:`
|
|
231
317
|
- Entering `@claude` alone lists recent conversations for that platform
|
|
232
318
|
|
|
233
319
|
**Search capabilities:**
|
|
320
|
+
|
|
234
321
|
- **Title match:** fuzzy search on conversation titles
|
|
322
|
+
|
|
235
323
|
- **Content search:** available only in **Store full bodies locally** mode; if title matches are insufficient, synchronized bodies are searched and matching excerpts are shown in the candidate list
|
|
324
|
+
|
|
236
325
|
- **Provider and account isolation:** history is maintained separately by Provider and account scope
|
|
326
|
+
|
|
237
327
|
- `@` search uses the account scope cached by the latest sync and never probes the browser; after a sync observes an account switch, it exposes only that account while older rows remain available in conversation management for cleanup
|
|
238
328
|
|
|
239
329
|
**Reference display:** after selection, the draft shows a native removable DSH reference with the Provider logo. Its stable serialized form is:
|
|
@@ -241,11 +331,11 @@ Supports historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok,
|
|
|
241
331
|
@[ChatGPT·Conversation title](dsh-ref:<opaque-base64url>)
|
|
242
332
|
```
|
|
243
333
|
|
|
244
|
-
Opening the source URL happens only in the UI; the URL is never injected into model context.
|
|
334
|
+
Opening the source URL happens only in the UI; the URL is never injected into model context. A Web conversation reference initially contains only a safe pointer; if the model needs the body, it calls `external_reference_read` on demand.
|
|
245
335
|
|
|
246
336
|
#### ☁️ @Cloud drive files — files connected through OpenList
|
|
247
337
|
|
|
248
|
-
Type `@drive
|
|
338
|
+
Type `@drive:` to browse folders and reference files from cloud drives connected through OpenList.
|
|
249
339
|
|
|
250
340
|
Common providers include OneDrive, Aliyun Drive, Baidu Netdisk, Quark, 115, 123, Dropbox, Google Drive/Photos, and Yandex. Other providers available in OpenList can be configured from the same settings page.
|
|
251
341
|
|
|
@@ -262,25 +352,24 @@ Common providers include OneDrive, Aliyun Drive, Baidu Netdisk, Quark, 115, 123,
|
|
|
262
352
|
---
|
|
263
353
|
|
|
264
354
|
**General notes:**
|
|
265
|
-
|
|
355
|
+
|
|
356
|
+
- Use `:` after a group shortcut instead of a space: the `@` candidate token ends at a space, so `@chatgpt keyword` closes the menu as soon as you press the space. For multi-word searches, write `@cachedesign` or `@cache-design`.
|
|
266
357
|
- Without a type prefix, all groups are searched at once.
|
|
267
358
|
- Commands and Skills are handed back to DSH's native slash-command handling after selection; the native `/` panel remains available.
|
|
268
|
-
- Switching the picker back to DSH's official file/session list hides every plugin-owned group, including `Local agent conversations` and `Cloud drive files`. The host source stays registered, so an already-inserted reference still expands and `
|
|
359
|
+
- Switching the picker back to DSH's official file/session list hides every plugin-owned group, including `Local agent conversations` and `Cloud drive files`. The host source stays registered, so an already-inserted reference still expands and `external_reference_read` still works; only the menu entry is gone until you switch back.
|
|
269
360
|
|
|
270
361
|
## 🔄 How External Conversation References Work
|
|
271
362
|
|
|
272
363
|
```text
|
|
273
|
-
DSH Web @
|
|
364
|
+
DSH Web / Desktop @chat:
|
|
274
365
|
↕ Host Remote
|
|
275
|
-
DSH Host + reference_anything
|
|
366
|
+
DSH Host + reference_anything index / optional body mirror
|
|
276
367
|
↕ execFile(opencli, argv)
|
|
277
368
|
opencli-plugin-dsh-chat-history
|
|
278
369
|
↕ OpenCLI daemon + official Browser Bridge
|
|
279
370
|
ChatGPT / Claude / Gemini / DeepSeek / Grok / Kimi
|
|
280
371
|
```
|
|
281
372
|
|
|
282
|
-
This does not include the legacy standalone DeepSeek CDP / `--remote-debugging-port` collector. All six platforms use the OpenCLI Provider adapter path, avoiding duplicate browser-reading implementations.
|
|
283
|
-
|
|
284
373
|
### 🤖 Model-facing Protocol
|
|
285
374
|
|
|
286
375
|
A reference produces an untrusted-data envelope alongside the current user request. The initial envelope contains only pointers and never the conversation body:
|
|
@@ -307,11 +396,11 @@ A reference produces an untrusted-data envelope alongside the current user reque
|
|
|
307
396
|
}
|
|
308
397
|
```
|
|
309
398
|
|
|
310
|
-
- The agent calls `
|
|
399
|
+
- The agent calls `external_reference_read({ uri, limit, cursor })` only when it needs the body. Turns in each page are in chronological order, and pagination moves from newer pages toward older ones.
|
|
311
400
|
- For the initial `deferred=true` item, the first call passes only `uri` and does not send an empty `nextCursor`.
|
|
312
|
-
- In offline-mirror mode, `
|
|
401
|
+
- In offline-mirror mode, `external_reference_read` paginates over the current revision. In metadata-only mode, each read requests content from the Provider again and validates the cached account scope inside that same browser operation. Missing, account-mismatch, and fetch errors instruct the agent to ask for a Provider sync before retrying.
|
|
313
402
|
- `before` is kept only as a deprecated compatibility parameter and cannot be combined with `cursor`.
|
|
314
|
-
- A mention or `
|
|
403
|
+
- A mention or `external_reference_list` grants the current task permission to read that URI; unauthorized URIs are rejected.
|
|
315
404
|
- Each conversation keeps only the latest revision. Cursors for older revisions expire after content changes.
|
|
316
405
|
- `reference_attachment_read` validates the task grant and, for Web conversations, verifies that the active provider account still matches the account scope captured by sync. A mismatch is rejected with guidance to sync that provider and reselect the conversation.
|
|
317
406
|
- Attachments are capped at 25 MiB while streaming. PNG, JPEG, WebP, and GIF may render inline; every other format, including SVG, is returned as an ordinary temporary file. Successful files expire after one hour, and failures or plugin disposal remove them immediately.
|
package/cordis.patch.yml
CHANGED
|
@@ -6,20 +6,23 @@
|
|
|
6
6
|
- id: ui-reference
|
|
7
7
|
# Reference Anything re-registers Files and DSH sessions as two independent
|
|
8
8
|
# sources over the same official Remotes. Disabling only this Client source
|
|
9
|
-
# keeps the official file/session services
|
|
9
|
+
# keeps the official file/session services. RA also owns the native
|
|
10
|
+
# "reference" codec and the newer Host's file/folder message renderers.
|
|
10
11
|
disabled: true
|
|
11
12
|
|
|
12
13
|
- insert:
|
|
14
|
+
- id: reference-chat-import-runtime
|
|
15
|
+
name: 'dsh-reference-anything/chat-import-runtime'
|
|
16
|
+
|
|
13
17
|
# The registry every source registers into.
|
|
14
18
|
- id: references
|
|
15
19
|
name: 'dsh-reference-anything'
|
|
16
20
|
config:
|
|
17
21
|
listLimit: 20
|
|
18
22
|
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
# with DSH's official services.
|
|
22
|
-
# the agent calls reference_read only when the current task needs one.
|
|
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.
|
|
23
26
|
- id: reference-mention
|
|
24
27
|
name: 'dsh-reference-anything/reference'
|
|
25
28
|
config:
|
|
@@ -76,9 +79,9 @@
|
|
|
76
79
|
# OpenList is inert until a connection is configured in the Cloud
|
|
77
80
|
# drives settings section; no account secret is stored in this patch.
|
|
78
81
|
drives: ['openlist']
|
|
79
|
-
# Where OpenList listing starts when `roots` has no explicit entry.
|
|
80
|
-
# Keep it empty to show the OpenList root.
|
|
81
|
-
root: ''
|
|
82
|
+
# Where OpenList listing starts when `roots` has no explicit entry.
|
|
83
|
+
# Keep it empty to show the OpenList root.
|
|
84
|
+
root: ''
|
|
82
85
|
# Optional OpenList root, for example {openlist: '/notes'}.
|
|
83
86
|
roots: {}
|
|
84
87
|
listTtlMs: 30000
|
|
@@ -90,9 +93,8 @@
|
|
|
90
93
|
maxReadTurns: 20
|
|
91
94
|
blockChars: 4000
|
|
92
95
|
|
|
93
|
-
#
|
|
94
|
-
#
|
|
95
|
-
# sessions' conversations, so the model may only open what its user named.
|
|
96
|
+
# Local transcripts are read only from enabled sources and allowed roots;
|
|
97
|
+
# no per-task grant. Every read rechecks the current source policy.
|
|
96
98
|
- id: reference-local-agent
|
|
97
99
|
name: 'dsh-reference-anything/local-agent'
|
|
98
100
|
config:
|
|
@@ -106,9 +108,9 @@
|
|
|
106
108
|
'kimi', 'grokbuild', 'hermes', 'gemini-cli', 'pi',
|
|
107
109
|
'opencode', 'mimocode', 'zcode']
|
|
108
110
|
extraRoots: []
|
|
109
|
-
# The @ menu is a cross-project history picker; the per-Agent enable
|
|
110
|
-
# switches remain the explicit visibility boundary.
|
|
111
|
-
scope: 'all'
|
|
111
|
+
# The @ menu is a cross-project history picker; the per-Agent enable
|
|
112
|
+
# switches remain the explicit visibility boundary.
|
|
113
|
+
scope: 'all'
|
|
112
114
|
maxTranscripts: 200
|
|
113
115
|
maxReadTurns: 20
|
|
114
116
|
maxScanBytes: 33554432
|
|
@@ -118,7 +120,7 @@
|
|
|
118
120
|
maxLineBytes: 1048576
|
|
119
121
|
directoryTtlMs: 5000
|
|
120
122
|
includeThinking: false
|
|
121
|
-
toolCalls: 'full'
|
|
123
|
+
toolCalls: 'full'
|
|
122
124
|
includeSidechains: false
|
|
123
125
|
stripEnvironmentPreamble: true
|
|
124
126
|
# The last three formats keep every conversation in one SQLite database
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nwflower
|
|
4
|
+
Copyright (c) 2026 Scarlett
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><path d="M12 3.2 2.6 21.9h3.2l2.03-4.1h8.34l2.03 4.1h3.2L12 3.2zm0 4.6 2.72 5.5H9.28L12 7.8z" fill="#1A73E8"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><g fill="#000000"><path d="M9.205 8.658v-2.26c0-.19.072-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.566 0 .167 0 .357-.024.547l-4.71-2.759a.797.797 0 00-.856 0l-5.97 3.473zm10.609 8.8V12.06c0-.333-.143-.57-.429-.737l-5.97-3.473 1.95-1.118a.433.433 0 01.476 0l4.543 2.617c1.309.76 2.189 2.378 2.189 3.948 0 1.808-1.07 3.473-2.76 4.163zM7.802 12.703l-1.95-1.142c-.167-.095-.239-.238-.239-.428V5.899c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.067c-.285.166-.428.404-.428.737v6.898zM12 15.128l-2.795-1.57v-3.33L12 8.658l2.795 1.57v3.33L12 15.128zm1.796 7.23c-1 0-1.927-.332-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472zm-5.637-5.303l-4.544-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.482 4.482 0 014.21 6.327v5.423c0 .333.143.571.428.738l5.947 3.449-1.95 1.118a.432.432 0 01-.476 0zm-.262 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71c.286.167.571.167.856 0l5.97-3.448v2.26c0 .19-.07.333-.237.428l-4.543 2.616c-.619.357-1.356.523-2.117.523zm5.899 2.83a5.947 5.947 0 005.827-4.756C22.287 18.339 24 15.84 24 13.296c0-1.665-.713-3.282-1.998-4.448.119-.5.19-.999.19-1.498 0-3.401-2.759-5.947-5.946-5.947-.642 0-1.26.095-1.88.31A5.962 5.962 0 0010.205 0a5.947 5.947 0 00-5.827 4.757C1.713 5.447 0 7.945 0 10.49c0 1.666.713 3.283 1.998 4.448-.119.5-.19 1-.19 1.499 0 3.401 2.759 5.946 5.946 5.946.642 0 1.26-.095 1.88-.309a5.96 5.96 0 004.162 1.713z"></path></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><path clip-rule="evenodd" d="M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z" fill="#D97757" fill-rule="evenodd"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><text x="12" y="12" text-anchor="middle" dominant-baseline="central" font-family="sans-serif" font-size="13" font-weight="700" letter-spacing="-0.02em" fill="#0E1116">Cl</text></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 32" width="48" height="48"><rect x="-4" y="-4" width="32" height="32" rx="6" fill="#fff"/><path d="M9.064 3.344a4.578 4.578 0 012.285-.312c1 .115 1.891.54 2.673 1.275.01.01.024.017.037.021a.09.09 0 00.043 0 4.55 4.55 0 013.046.275l.047.022.116.057a4.581 4.581 0 012.188 2.399c.209.51.313 1.041.315 1.595a4.24 4.24 0 01-.134 1.223.123.123 0 00.03.115c.594.607.988 1.33 1.183 2.17.289 1.425-.007 2.71-.887 3.854l-.136.166a4.548 4.548 0 01-2.201 1.388.123.123 0 00-.081.076c-.191.551-.383 1.023-.74 1.494-.9 1.187-2.222 1.846-3.711 1.838-1.187-.006-2.239-.44-3.157-1.302a.107.107 0 00-.105-.024c-.388.125-.78.143-1.204.138a4.441 4.441 0 01-1.945-.466 4.544 4.544 0 01-1.61-1.335c-.152-.202-.303-.392-.414-.617a5.81 5.81 0 01-.37-.961 4.582 4.582 0 01-.014-2.298.124.124 0 00.006-.056.085.085 0 00-.027-.048 4.467 4.467 0 01-1.034-1.651 3.896 3.896 0 01-.251-1.192 5.189 5.189 0 01.141-1.6c.337-1.112.982-1.985 1.933-2.618.212-.141.413-.251.601-.33.215-.089.43-.164.646-.227a.098.098 0 00.065-.066 4.51 4.51 0 01.829-1.615 4.535 4.535 0 011.837-1.388zm3.482 10.565a.637.637 0 000 1.272h3.636a.637.637 0 100-1.272h-3.636zM8.462 9.23a.637.637 0 00-1.106.631l1.272 2.224-1.266 2.136a.636.636 0 101.095.649l1.454-2.455a.636.636 0 00.005-.64L8.462 9.23z" fill="url(#dsh-import-grad-codex)"/><defs><linearGradient id="dsh-import-grad-codex" x1="12" x2="12" y1="3" y2="21" gradientUnits="userSpaceOnUse"><stop stop-color="#B1A7FF"/><stop offset=".5" stop-color="#7A9DFF"/><stop offset="1" stop-color="#3941FF"/></linearGradient></defs></svg>
|