Chael-Chael/dsh-reference-anything1

dsh-reference-anything

Reference locally mirrored ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi conversations from DeepSeek Harness

包名
dsh-reference-anything
版本
0.2.4
许可证
MIT
最近更新
2026年8月19日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Chael-Chael/dsh-reference-anything

Usage

  1. Open Settings → Reference Anything in DSH Web.
  2. Under Availability check, confirm that OpenCLI, Browser Bridge, the browser extension, and the conversation adapter are ready.
  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.
  4. Type @ in the input box and choose from the Files and folders, DSH sessions, or External conversations groups.
  5. Type a keyword to filter candidates, for example @cache-design.

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.

[!WARNING] 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.

Search

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.

@Commands — DSH native commands

Available only at the start of the draft. To browse all commands, use @commands or the native DSH / panel.

Browse DSH commands from the @ menu

@Skills — DSH skill library

Available only at the start of the draft. To browse all skills, use @skills: or the native DSH / panel.

Browse DSH skills from the @ menu

@Files and folders — workspace files and directories

Type @files: in the input box to browse all files and folders in the workspace. Search supports fuzzy matching on titles, so both @cachedes and @cache-design can match “Cache design notes.”

Browse workspace files and folders from the @ menu

Features:

  • Quick reference to workspace files with automatic workspace-boundary validation
  • File references only write a validated path and type marker into the model context; file content is not preloaded
  • If the model needs file content, it must use the existing permission-constrained file tools

@DSH sessions — DSH session history

Type @sessions: to browse locally synced DSH sessions. Sessions are ranked by match quality, with recency as fallback ordering.

Browse DSH sessions from the @ menu

Search capabilities:

  • Title match: fuzzy search on session titles
  • Content search: when title matches are insufficient, the synced session body is searched; matching excerpts are shown in the candidate row for UI display only and are not injected into model context
  • Auto-generated generic titles such as “New chat” can also be found via body keywords

Full browsing is available on the settings page’s paginated list. Session references follow the official dsh-session: protocol and immutable snapshot semantics.

@External conversations — external conversation platforms

Supports historical conversations from ChatGPT, Claude, Gemini, DeepSeek, Grok, and Kimi.

Browse external conversations from the @ menu

Platform filtering:

  • Use @chatgpt:cache or @claude:refactor to filter a specific platform
  • Short aliases are also accepted, such as @gpt: and @ds:
  • Entering @claude alone lists recent conversations for that platform

Search capabilities:

  • Title match: fuzzy search on conversation titles
  • 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
  • Provider and account isolation: history is maintained separately by Provider and account scope
  • @ 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

Reference display: after selection, the draft shows a removable reference chip:

@[ChatGPT · Conversation title](https://github.com/Chael-Chael/dsh-reference-anything/blob/238759344edbd4e24d242e95da40ccaca173d2b6/)

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.

[!NOTE] 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.


General notes:

  • Use : or / as the separator 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.
  • Without a type prefix, all groups are searched at once.
  • For full browsing across groups: sessions are listed on the settings page, while commands and skills use the native / panel.