dshbase

插件目录 / Developer / dsh-beacons

dsh-beacons

已验证 · 实测可装 Da-Mie

✓ 持续维护 基于 5 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

2Stars
0Forks
0未关闭 issue
TypeScript语言
2026-08-15最近推送
跨平台平台

功能简介

右侧提示导航器(Codex/OpenChamber风格滚动条)加Windows通知

✅
我们的评价
可用 — 实测通过,早期项目

右侧提示导航器(Codex/OpenChamber风格滚动条)加Windows通知 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-beacons

License: MIT
DeepSeek Harness
design reference: OpenChamber

Codex/OpenChamber-style prompt-navigator rail with scroll-spy — a DeepSeek Harness (DSH) Web UI plugin.

中文说明见 README.zh.md。

A scrub rail (提示词导航条) sits on the right edge of the conversation, one tick per real user prompt. As you scroll, the tick for the prompt you are reading stays highlighted; hover to preview, click to jump.

Prompt navigator rail

Design reference — the navigator interaction (scrub rail, scroll-spy reading-line, hover wave, preview panel, edge carousel, listbox keyboard semantics, load-earlier) is adapted from OpenChamber (github.com/openchamber/openchamber):

  • packages/ui/src/components/chat/components/PromptNavigatorRail.tsx
  • packages/ui/src/components/chat/lib/scroll/scrollSpy.ts

Quick start

dsh plugin --profile web add github:Da-Mie/dsh-beacons

Restart DSH and refresh the Web UI. The rail appears on the right edge of any session with ≥ 2 user prompts; press Alt+P for keyboard navigation.

Features

Prompt navigator (Web UI)

  • Always-on right-edge rail — anchored to the conversation column's right edge (never overlaps the details panel) and vertically centered; shown once the session has ≥ 2 real user prompts.
  • Scroll-spy — a reading-line algorithm highlights the prompt at the current reading position (top + 100 px); near the bottom, the last prompt is highlighted. Monotonic, so there is no flip-flop inside a long prompt. rAF-throttled, with ResizeObserver + MutationObserver refresh.
  • Hover wave — ticks near the cursor grow longer and their neighbors taper off (Codex-style proximity wave).
  • Hover preview panel — a gliding mini-list (up to 8 rows) with the highlighted row centered; the wheel steps row by row; rows are clickable.
  • Windowed tape — at most 30 ticks are visible; hovering the gutter's top/bottom edges scrolls the window through longer histories.
  • Auto-load earlier history — scrolling to the top automatically loads older history (threshold max(900px, 1.5 × viewport), 1.2 s cooldown between loads); a ↑ load-earlier button above the gutter offers manual control.
  • Click to jump — clicking a tick or a preview row smooth-scrolls the chat to that prompt.
  • Keyboard — Alt+P opens keyboard navigation (listbox semantics): ↑/↓ move, Home/End jump, Enter selects, Esc closes.
  • Filtering — only real user prompts are indexed (user + steering nodes); injected context is excluded.

Requirements

  • DeepSeek Harness ≥ 0.1.0-rc.6 (Web UI profile; check with dsh --version)
  • Node.js ≥ 22 (only needed to build from source)

Installation

The package ships prebuilt (lib/ is committed), so every install path works with no build step.

Install with DSH (AI)

Just hand this repository URL to your DSH agent:

https://github.com/Da-Mie/dsh-beacons

DSH reads the repository's AGENTS.md and installs the plugin automatically (requires DSH ≥ 0.1.0-rc.6). The command-based methods below achieve the same result.

From GitHub

dsh plugin --profile web add github:Da-Mie/dsh-beacons

From a tarball

dsh plugin --profile web add ./dsh-beacons-0.1.0.tgz

Via npm

dsh plugin --profile web add dsh-beacons

Requires the package to be published to the npm registry first (see Development).

After installing, restart DSH (plugin-set changes take effect on restart), then refresh the Web UI.

Usage

  • Open — the rail appears automatically on any session with ≥ 2 prompts; press Alt+P to focus it for keyboard control.
  • Scroll — the highlighted tick follows the prompt you are reading; at the bottom it settles on the last prompt.
  • Preview — hover a tick to see the preview list on its left.
  • Jump — click a tick or a preview row to scroll the chat to that prompt.
  • Load more — click the ↑ button above the gutter, or simply scroll to the top to load earlier history automatically.
  • Keyboard (after Alt+P) — ↑/↓ move, Home/End jump, Enter selects, Esc closes.

Development

npm install
npm run build

The client bundle (lib/client.js) is a window.__ModuleLoader__.load({ id, factory }) CJS factory served by DSH's client-modules service at /plugins/<id>/client.js.

Architecture

  • src/index.ts — host half: a no-op entry (the navigator is browser-only).
  • src/client/index.tsx — client entry: session feed (sessions list → binding → conversation snapshot), Alt+P shortcut, shell.overlay registration.
  • src/client/store.ts — module-level navigation state (a root-scoped overlay entry cannot receive the session kit).
  • src/client/scroll-spy.ts — reading-line scroll-spy (a port of OpenChamber's scrollSpy.ts).
  • src/client/PromptNavRail.tsx + .module.css — the rail component (a port of OpenChamber's PromptNavigatorRail.tsx).

Known limitations

  • Only history loaded into the chat window is navigable; older prompts appear after loading earlier history (auto or manual).
  • Previews show text content only.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

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

dsh plugin add dshbase-catalog

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

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

Web profile:

dsh plugin --profile web add github:Da-Mie/dsh-beacons

Headless(CLI)profile:

dsh plugin --profile headless add github:Da-Mie/dsh-beacons

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →