中文EN

dsh-beads-viewer

ui已测通过npmMIT

右侧栏的 Beads 议题浏览器:按可开工、受阻与各状态筛选并搜索 tracker,阅读渲染后的议题正文,其中的项目文件与议题 id 可直接点击,并可一键复制或插入 id。需要 PATH 上的 bd CLI,以及已初始化 Beads 工作区的项目。

下载量 / Downloads
1,350
依赖体积 / node_modules
0.32 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-beads-viewer

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

<div align="center">

dsh-beads-viewer

Beads issues in the DeepSeek Harness right sidebar — the browser counterpart of

the terminal bv viewer.

![npm version](https://www.npmjs.com/package/dsh-beads-viewer)

![License: MIT](./LICENSE)

![tests](./README.md#tests)

🌏 [English](./README.md) · [中文](./README_ZH.md)

</div>

<div align="center">

浅色 Light · 深色 Dark

<img src="./docs/list-hover-light.png" alt="Beads panel in the right sidebar" width="100%" /> · <img src="./docs/list-hover-dark.png" alt="Beads panel, dark theme" width="100%" />

</div>


✨ Features

🗂️ A tab beside Files — registers a beads tab type in the sidebar's new-tab guide, dockable, split and floatable like any other page. State survives a tab switch. · 🎨 Colour-coded badges — status, priority and type on every row, each dimension its own shape and hue. Label ink is derived from each fill's luminance, so text is always legible; two fills can never read as the same colour (ΔE ≥ 25, test-enforced).

📏 Uniform rows — exactly three line boxes tall (calc(3 * 1lh + padding)), so the list scans as a grid. Long titles truncate at the container edge; the label track is reserved even when empty. · 🖱️ Hover marks the target — a resting row is plain; the row under the pointer takes a teal wash. One hue mixed against transparent reads correctly on both themes.

🔍 Ready vs waiting — a Ready chip from bd ready, a Waiting chip for issues held by open blockers, plus the status chips with live counts, a search box (/ focuses it) and sorting. · 📝 Polished Markdown — headings, nested and task lists, tables, fenced code, quotes and emphasis, rendered by a small built-in renderer. Long threads open on the newest comments.

🔗 Clickable references — a path that names a real project file opens in the document preview; an issue id opens that issue. Both stay plain text when the target does not exist. · 🧾 Id at hand — ⧉ copies it, ↵ inserts it into the composer at the caret as one undoable edit.

🌓 Theme in three ways — the Host's text size, font choices and interface language (zh / en) all apply. · 🧩 Secondary blocks on a wash — design, notes, acceptance criteria and comments sit on a faint accent wash; the description stays primary.

<details>

<summary><b>More screenshots</b></summary>

Issue detail — description first, secondary blocks on the wash:

Light · Dark

![detail, light](docs/detail-sections-light.png) · ![detail, dark](docs/detail-sections-dark.png)

The full badge palette, contrast-checked in both themes:

Light · Dark

![badges, light](docs/badges-light.png) · ![badges, dark](docs/badges-dark.png)

The interface follows the Host language:

</details>

🚀 Installation

# from the registry
dsh plugin --profile <name> add dsh-beads-viewer

# or from a checkout, which links the profile entry to this directory
dsh plugin --profile <name> add /path/to/dsh-beads-viewer

Then restart the Harness so the new bundle's client half loads (a hard browser

refresh also picks up a newer bundle). The tab appears in the right sidebar's

new-tab guide.

A linked install picks up edits on the next load with no reinstall; a registry

install is a normal package, so upgrading means running add again.

<details>

<summary><b>Requirements</b></summary>

  • The bd CLI on the machine running the Harness. The Host finds it on PATH,

then at the usual Homebrew and Go install locations; brew install beads is

enough.

  • A project with a Beads workspace. The panel asks bd where which workspace it

would open, so a subdirectory, a git worktree and a BEADS_DIR override all

resolve the way bd itself would.

If either is missing the panel says which one — in the panel itself, with the reason

bd gave.

</details>

<details>

<summary><b>FAQ</b></summary>

Symptom · Cause & fix

Tab shows HTTP 404, but the search bar and filters are there · The client half is a static asset and still rendered, but the data route was never registered — the plugin activated before the Host's web server. Fixed in 1.0.0 by waiting on the service; if you see it on an older version, restart the Harness.

Fonts or sizes in the panel do not follow the Host's appearance settings · Same cause as above: the running client bundle is older than the page. Hard-refresh (Cmd/Ctrl+Shift+R). The panel derives its sizes from --dsh-content-font-size and its fonts from the Host font variables.

bd not found · Install it (brew install beads) or make sure it is on the PATH of the process running DSH.

"This project has no Beads workspace" · Run bd init in the project, or point BEADS_DIR at an existing one. The panel shows the reason bd gave.

A workspace that used to open now reports a migration · Old Beads workspaces must be migrated by bd itself; the panel prints bd's instruction verbatim instead of guessing.

Numbers in an ordered list look wider than the bullet beside them · That is the point: the numbered gutter is wider (2.35em vs 1.9em) because digits need the room. The two lists share one text start.

</details>

🔧 How it reads the tracker

The Host half serves one read-only route, GET /beads-viewer/api:

Query · Answer

?cwd=<dir> · every issue (slim rows), status counts, the status vocabulary, and each issue's readiness

?cwd=<dir>&action=issue&id=<id> · the whole issue, its comments, and both dependency directions

?cwd=<dir>&action=files&paths=<newline-separated> · which of those paths exist, an

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:7,最后更新 2026-10-30

链接

GitHub · Homepage · npm

同类插件