dshbase

插件目录 / Developer / dsh-better-at

dsh-better-at

未验证 Ruiming-cn

✓ 持续维护 基于 14 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

1Stars
0Forks
0未关闭 issue
语言
2026-08-21最近推送
跨平台平台

功能简介

Fast @ file/session reference caching for DeepSeek Harness Web / DSH @ 引用菜单加速插件

我们的评价
未验证 — 尚未实测

Fast @ file/session reference caching for DeepSeek Harness Web / DSH @ 引用菜单加速插件 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-better-at

Fast @ file/session reference caching for the DeepSeek Harness Web GUI.

DSH Plugin
License
Release
TypeScript

dsh-better-at keeps the native DSH @ reference behavior — hierarchical
workspace file/folder references and DSH session references — while removing the
per-keystroke host round trips that make the @ menu feel slow.

Features

  • Fast first open: session-scope warm-up preloads the workspace file index
    and the DSH session index before the first @.
  • Local keystroke filtering: after the initial load, typing filters and
    ranks candidates entirely in the browser; no Host request per keystroke.
  • 📁 Hierarchical file/folder references: empty/path queries show direct
    children, bare fuzzy queries search basenames across the whole workspace.
  • 💬 DSH session references: full session metadata is indexed locally and
    ranked by working-directory affinity, matching the native ordering.
  • 🔒 Native mention compatibility: the plugin wraps the existing reference
    source and keeps its onPick/codec, so file and session mentions keep the
    original serialized form (@path, @"path", @[label](dsh-session:...)).
  • 🧩 No Harness source changes: everything is implemented as an out-of-tree
    Host Remote + browser client bundle.

How It Works

DSH Web @ menu
      │  candidates() · local filter/rank
      ▼
dsh-better-at client cache
      │  listFiles / listSessions (once per TTL)
      ▼
DSH Host betterAt Remote
      ├── bounded workspace file/directory index
      └── full DSH session index + canonical mentions
  • betterAt/listFiles walks the current workspace once and returns a bounded
    file/directory index. Defaults exclude .git and node_modules only, matching
    the native file-reference behavior.
  • betterAt/listSessions reads the complete logical session corpus from
    ctx.sessionQuery and generates native dsh-session: mentions for the
    browser.
  • File indices are cached per session for 30 seconds; the session index is
    cached globally for 5 minutes. Both use stale-while-revalidate: an expired
    cache returns the previous snapshot immediately while refreshing in the
    background.
  • The browser wraps the native @ source (trigger='@', name='reference')
    without replacing its pick/codec path.

Requirements

  • DeepSeek Harness (DSH) Web with the native @ reference source available.
  • Node.js for local development/building.

Installation

One command from GitHub source:

dsh plugin --profile web add github:Ruiming-cn/dsh-better-at

From the GitHub release tarball:

dsh plugin --profile web add https://github.com/Ruiming-cn/dsh-better-at/archive/refs/tags/v0.1.0.tar.gz

From a local checkout:

dsh plugin --profile web add .

Restart dsh web after installation.

Usage

Use @ exactly as usual:

  • @ opens the fast file/folder + session picker.
  • @src/ browses inside src/.
  • @README fuzzy-searches file basenames.
  • @refactor filters DSH sessions by id, cwd, or label.

After selection, the native composer behavior is preserved: files become atomic
file references (or editable directory paths), and DSH sessions become native
session references.

Configuration

The Host plugin accepts two settings through the profile patch:

# ~/.dsh/profiles/web/cordis.patch.yml
- id: dsh-better-at
  config:
    maxEntries: 10000
    ignoreDirs:
      - .git
      - node_modules
Option Default Description
maxEntries 10000 Hard cap on indexed workspace entries; the walk reports truncation.
ignoreDirs ['.git', 'node_modules'] Directory basenames never indexed or traversed.

Performance Notes

  • The first @ after a warm session is normally served from memory.
  • Subsequent keystrokes are local O(N) string scoring over the cached index
    (file index is bounded by maxEntries; session index is bounded by the local
    session corpus).
  • The main trade-off is a small freshness window: file changes may take up to
    30 seconds to appear; session metadata up to 5 minutes. Background refreshes
    keep the previous snapshot visible while updating.

Compatibility Notes

  • The browser integration intentionally uses the same private
    inputTriggers.live.sources wrapping pattern as dsh-skill-fuzzy. If a
    future Harness version changes that internal structure, the plugin degrades
    to the native candidates path when the Remote is unavailable.
  • Symbolic links are not indexed or traversed, matching the native
    file-reference search behavior.
  • The current session is excluded from DSH session candidates to avoid
    self-references, which the native session-reference protocol rejects.

Development

npm install --legacy-peer-deps
npm run check
  • npm run typecheck — TypeScript strict typecheck.
  • npm run test — pure-function unit tests (Node test runner).
  • npm run build — builds lib/index.js (Host ESM), lib/client.js
    (single-file browser bundle) and .d.ts declarations.

lib/ is committed so profile installs can run without a build step.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-better-at」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Ruiming-cn/dsh-better-at

Headless(CLI)profile:

dsh plugin --profile headless add github:Ruiming-cn/dsh-better-at

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending
备注:尚无失败备注——排队中或尚未跑过。 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7789 个插件 →