dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
A kanban board inside DeepSeek Harness, integrated with the conversation: the agent writes planning cards via kanban_* tools while you talk, boards are isolated per workspace (project), and data is persisted to disk.
This is an official bundle-format plugin (dsh.bundle declaration + cordis.patch.yml patch layer), installed through the official dsh plugin flow.

kanban_get, kanban_add_card, kanban_update_card, kanban_delete_card, kanban_move_card, kanban_duplicate_card, kanban_add_column, kanban_rename_column, kanban_delete_column) — the agent writes cards directly during planning and feature breakdownkanban-board-<workspaceId>.json — survives page refresh and process restarts#rrggbb background via the color picker in the edit formtoIndex parameter) reorder cards within a column; one-click duplicate copies label/priority/colordsh CLI installed (npx @deepseek-ai/dsh or pnpm dsh from source)web is the default browser profile)dsh plugin --profile web add github:StruggleYang/dsh-project-kanban
pnpm ≥ 10 refuses to run a git dependency's prepare script on the first try. Copy the package key pnpm prints into the profile's pnpm-workspace.yaml (at $DSH_HOME/profiles/web/pnpm-workspace.yaml):
allowBuilds:
dsh-project-kanban: true
Then re-run add.
⚠️ Security note:
allowBuildsgrants install-time code execution on your machine. Only allow sources you trust, and consider pinning a commit:dsh plugin --profile web add github:StruggleYang/dsh-project-kanban#<commit-sha>
git clone https://github.com/StruggleYang/dsh-project-kanban.git
dsh plugin --profile web add ./dsh-project-kanban
Download the tarball from the GitHub Releases page, or build it locally:
pnpm pack
dsh plugin --profile web add ./dsh-project-kanban-0.3.0.tgz
Published to npm:
dsh plugin --profile web add dsh-project-kanban
dsh --profile web --dump-config # should end with a "# == dsh-project-kanban" layer
Then restart dsh web (bundle rows load at boot). The 8 kanban_* tools appear in the agent's toolset, and the "看板" tab appears in the session header.
dsh plugin --profile web remove dsh-project-kanban
Removes both the dependency and the layer; board data files are kept on disk.
package.json declares dsh.bundle.patch, and dsh appends it to the profile's dsh.profile.bundles after @deepseek-ai/dsh-basecordis.patch.yml inserts the dsh-project-kanban row; the Loader resolves it by package name from the profile's node_modulesindex.js is a standard Cordis function plugin (export const name / export const inject / export function apply) registering tools via ctx.tools.registerlib/client.js) is a hand-written __ModuleLoader__ closure bundle (official client-modules format): require('react') resolves via the platform seed word, and the UI talks to the host through a same-origin fetch to the /api/kanban webServer routeexec.agent.session.header.cwd → ctx.workspaceRegistry.resolveByPath@deepseek-ai/dsh-base → this bundle → the profile's cordis.patch.yml → user --patch overlays; later layers override earlier rows by id| Tool | Purpose |
|---|---|
kanban_get |
Read the current board (optional includeArchived for the trash) |
kanban_add_card |
Add a card (title, note, optional label / priority / color / dueDate) |
kanban_update_card |
Update title / note / label / priority / color / dueDate |
kanban_delete_card |
Soft-delete into the trash |
kanban_restore_card |
Restore a card from the trash |
kanban_purge_card |
Permanently delete a card |
kanban_bulk_delete_cards |
Bulk soft-delete multiple cards |
kanban_move_card |
Move across columns, or reorder within a column via toIndex |
kanban_duplicate_card |
Duplicate a card (carries all fields) |
kanban_move_card_to_workspace |
Move a card to another workspace's board |
kanban_undo |
Undo the last write operation |
kanban_add_column / kanban_rename_column / kanban_delete_column |
Column management |
Keyless end-to-end verification (no DEEPSEEK_API_KEY needed): creates a temporary profile, installs the local package, boots the web composition, and asserts the tool schemas plus the full HTTP workflow.
bash scripts/verify.sh
dsh-project-kanban/
├── package.json # bundle manifest (dsh.bundle) + client declaration (dsh.client)
├── cordis.patch.yml # patch layer: inserts the kanban plugin row
├── index.js # host plugin: 9 tools + /api/kanban data layer
├── lib/client.js # browser bundle (board UI, official client-modules format)
├── src/host.js # dynamic-plugin host half (historical reference)
├── src/client.js # dynamic-plugin browser half (historical reference)
├── README.md # this file
├── README.zh.md # 中文说明
├── TWEET.md # social post drafts (中文 / English)
└── LICENSE
MIT © 2026 StruggleYang
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。