dsh-reference-anything 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -30
- package/lib/client.js +445 -129
- package/lib/contract.d.ts +11 -0
- package/lib/contract.js +10 -0
- package/lib/host.d.ts +3 -0
- package/lib/host.js +3 -0
- package/lib/opencli.d.ts +1 -1
- package/lib/opencli.js +40 -14
- package/lib/sources/web-chat/index.d.ts +5 -0
- package/lib/sources/web-chat/index.js +16 -0
- package/lib/typert.js +3 -0
- package/lib/update.d.ts +43 -0
- package/lib/update.js +206 -0
- package/opencli-plugin/common.js +31 -43
- package/opencli-plugin/opencli-plugin.json +1 -1
- package/opencli-plugin/package.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
One `@` to reference them all.
|
|
10
10
|
|
|
11
|
-
**English** · [简体中文](./README_zh-CN.md) · [News](#news) · [Roadmap](#
|
|
11
|
+
**English** · [简体中文](./README_zh-CN.md) · [News](#news) · [Roadmap](#roadmap) · [Installation](#installation) · [Usage](#usage) · [Report Bug][github-issues-link]
|
|
12
12
|
|
|
13
13
|
<!-- SHIELD GROUP -->
|
|
14
14
|
|
|
@@ -24,35 +24,24 @@ One `@` to reference them all.
|
|
|
24
24
|
|
|
25
25
|
Within the unified `@` menu of DeepSeek Harness (DSH), reference commands, Skills, workspace files/folders, DSH sessions, and historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi.
|
|
26
26
|
|
|
27
|
-
This plugin
|
|
27
|
+
This plugin uses OpenCLI to access historical conversations through AI chat sessions that are already logged in. By default, only conversation titles are stored locally, and the agent fetches remote content on demand. An optional offline-mirror mode stores the latest complete conversation bodies locally.
|
|
28
28
|
|
|
29
29
|
## News
|
|
30
30
|
|
|
31
|
-
- **2026-08-
|
|
31
|
+
- **2026-08-19 · v0.2.2** — Added automatic version checks and in-settings updates, Pill/Raw text input rendering modes, and reusable background browser sessions for more reliable OpenCLI synchronization and input interactions.
|
|
32
|
+
- **2026-08-18 · v0.2.0** — A redesigned Reference Anything settings page with local session statistics, paginated management, Provider/Profile selection, and sync status checks.
|
|
32
33
|
- **2026-08-18** — Introduced on-demand read protocol: references default to safe pointers, and the agent reads the body and attachments only after authorization.
|
|
33
34
|
- **2026-08-17** — Unified ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi under the DSH `@` menu.
|
|
34
35
|
|
|
35
36
|
## Roadmap
|
|
36
37
|
|
|
37
38
|
- [ ] Support referencing historical conversations from other local agents
|
|
38
|
-
- [ ] Support more
|
|
39
|
+
- [ ] Support more keyword matching rules, including blacklists and whitelists, especially for file search
|
|
40
|
+
- [ ] Support more AI conversation platforms
|
|
41
|
+
- [ ] Provide a quieter AI conversation synchronization mechanism
|
|
39
42
|
- [ ] Support referencing applications or browser windows currently open on the computer
|
|
40
43
|
- [ ] More ideas are welcome in Issues
|
|
41
44
|
|
|
42
|
-
## Architecture
|
|
43
|
-
|
|
44
|
-
```text
|
|
45
|
-
DSH Web @Conversations
|
|
46
|
-
↕ Host Remote
|
|
47
|
-
DSH Host + reference_anything local mirror
|
|
48
|
-
↕ execFile(opencli, argv)
|
|
49
|
-
opencli-plugin-dsh-chat-history
|
|
50
|
-
↕ OpenCLI daemon + official Browser Bridge
|
|
51
|
-
ChatGPT / Claude / Gemini / DeepSeek / Grok / Kimi
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
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.
|
|
55
|
-
|
|
56
45
|
## Installation
|
|
57
46
|
|
|
58
47
|
Prerequisites:
|
|
@@ -69,30 +58,38 @@ dsh plugin --profile web add dsh-reference-anything
|
|
|
69
58
|
For development, the repository can still be installed from a local path:
|
|
70
59
|
|
|
71
60
|
```powershell
|
|
72
|
-
|
|
61
|
+
# Run from the repository root
|
|
62
|
+
dsh plugin --profile web add .
|
|
73
63
|
```
|
|
74
64
|
|
|
75
|
-
After installing the DSH plugin, open `Settings →
|
|
65
|
+
After installing the DSH plugin, open `Settings → Reference Anything → Availability check` in DSH Web (restart DSH first if this settings entry is not yet visible), then click **One-click setup**. It discovers OpenCLI; installs or upgrades it globally through npm when it is missing or older than `1.8.6`; 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.
|
|
76
66
|
|
|
77
|
-
You can also
|
|
67
|
+
You can also install OpenCLI and the conversation adapter manually, then start Browser Bridge:
|
|
78
68
|
|
|
79
69
|
```powershell
|
|
80
|
-
|
|
70
|
+
npm install --global "@jackwener/opencli@>=1.8.6"
|
|
71
|
+
opencli plugin install file:///C:/path/to/dsh-reference-anything/opencli-plugin
|
|
72
|
+
opencli daemon restart
|
|
81
73
|
```
|
|
82
74
|
|
|
83
|
-
Browser extensions cannot be silently installed from a webpage; confirm the installation in the Chrome Web Store or
|
|
75
|
+
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. Global npm installation remains subject to OS permissions; failures retain their original diagnostic in the settings page.
|
|
84
76
|
|
|
85
77
|
## Usage
|
|
86
78
|
|
|
87
|
-
1. Open `Settings →
|
|
88
|
-
2.
|
|
89
|
-
3.
|
|
79
|
+
1. Open `Settings → Reference Anything` in DSH Web.
|
|
80
|
+
2. Under **Availability check**, confirm that OpenCLI, Browser Bridge, the browser extension, and the conversation adapter are ready.
|
|
81
|
+
3. Under **External conversation sync settings**, choose a connected browser Profile, history storage mode, and sync mode. Then click **Sync enabled sources now**, or sync an individual Provider from its card.
|
|
90
82
|
4. Type `@` in the input box and choose from the `Files and folders`, `DSH sessions`, or `External conversations` groups.
|
|
91
83
|
5. Type a keyword to filter candidates, for example `@cache-design`.
|
|
92
84
|
|
|
85
|
+
The default **Read bodies on demand** mode stores only the title index locally and uses the browser when an agent reads a reference. Choose **Store full bodies locally** for offline reading and full-text search; this mode keeps only the latest version of each conversation. The settings page also lets you enable or disable each `@` group, reorder groups, set their maximum result counts (six per group by default), and switch between Pill and Raw text input rendering. The plugin checks npm for updates when it loads; restart DSH after installing an update from the settings page.
|
|
86
|
+
|
|
87
|
+
> [!WARNING]
|
|
88
|
+
> To protect your account and conversation data, external conversations are imported and synchronized through OpenCLI using your existing logged-in browser session. A browser window may temporarily open during use or synchronization, and it may display OpenCLI debugging information. This is expected—please do not be alarmed or close the window manually; wait for the operation to finish.
|
|
89
|
+
|
|
93
90
|
### Search
|
|
94
91
|
|
|
95
|
-
The `@` menu contains five groups: `Commands`, `Skills`, `Files and folders`, `DSH sessions`, and `External conversations`. The first two appear only when `@` is at the beginning of the draft. Each group shows up to
|
|
92
|
+
The `@` menu contains five groups: `Commands`, `Skills`, `Files and folders`, `DSH sessions`, and `External conversations`. The first two appear only when `@` is at the beginning of the draft. Each group shows up to six results by default. Under `Settings → Reference Anything → General`, you can enable or disable groups, reorder them, and set each limit from 1 to 50.
|
|
96
93
|
|
|
97
94
|
#### @Commands — DSH native commands
|
|
98
95
|
|
|
@@ -133,7 +130,7 @@ Supports historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok,
|
|
|
133
130
|
|
|
134
131
|
**Search capabilities:**
|
|
135
132
|
- **Title match:** fuzzy search on conversation titles
|
|
136
|
-
- **Content search:** if title matches are insufficient,
|
|
133
|
+
- **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
|
|
137
134
|
- **Provider and account isolation:** history is maintained separately by Provider and account scope
|
|
138
135
|
- `@` 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
|
|
139
136
|
|
|
@@ -144,6 +141,9 @@ Supports historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok,
|
|
|
144
141
|
|
|
145
142
|
Opening the source URL happens only in the UI; the URL is never injected into model context. The initial reference contains only a safe pointer; if the model needs the body, it calls `reference_read` on demand.
|
|
146
143
|
|
|
144
|
+
> [!NOTE]
|
|
145
|
+
> Due to DSH's current underlying length limit for References, external-conversation references temporarily use a compatibility layer implemented by this plugin instead of relying entirely on DSH's native reference presentation. As a result, some interactions may behave differently or encounter issues in certain scenarios. We have raised this limitation in DSH Discussions; when a future DSH release provides the necessary support, we will update the plugin promptly and migrate to a more native implementation.
|
|
146
|
+
|
|
147
147
|
---
|
|
148
148
|
|
|
149
149
|
**General notes:**
|
|
@@ -151,7 +151,21 @@ Opening the source URL happens only in the UI; the URL is never injected into mo
|
|
|
151
151
|
- Without a type prefix, all groups are searched at once.
|
|
152
152
|
- For full browsing across groups: sessions are listed on the settings page, while commands and skills use the native `/` panel.
|
|
153
153
|
|
|
154
|
-
##
|
|
154
|
+
## How External Conversation References Work
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
DSH Web @Conversations
|
|
158
|
+
↕ Host Remote
|
|
159
|
+
DSH Host + reference_anything local mirror
|
|
160
|
+
↕ execFile(opencli, argv)
|
|
161
|
+
opencli-plugin-dsh-chat-history
|
|
162
|
+
↕ OpenCLI daemon + official Browser Bridge
|
|
163
|
+
ChatGPT / Claude / Gemini / DeepSeek / Grok / Kimi
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
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.
|
|
167
|
+
|
|
168
|
+
### Model-facing Protocol
|
|
155
169
|
|
|
156
170
|
A reference produces an untrusted-data envelope alongside the current user request. The initial envelope contains only pointers and never the conversation body:
|
|
157
171
|
|
|
@@ -187,7 +201,7 @@ A reference produces an untrusted-data envelope alongside the current user reque
|
|
|
187
201
|
- Sync stores attachment metadata and same-origin locators, not temporary signed URLs. Attachments are classified as `image` or `file`; empty URLs and site-root paths are not marked as available.
|
|
188
202
|
- Unreadable attachments add a model-facing notice such as `[User attached 1 image; image contents were not included]` without altering the original conversation text.
|
|
189
203
|
|
|
190
|
-
|
|
204
|
+
### Sync and Storage
|
|
191
205
|
|
|
192
206
|
The `reference_anything` storage domain contains:
|
|
193
207
|
|