DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
T

dsh-tldraw-canvas

Tldraw Canvas

DeepSeek Harness Desktop 右侧边栏中的按 Session 划分的 tldraw v1 (MIT) 画布,保存在 Session 项目目录(Workspace 目录)中,并提供可供 agent 读取的摘要/预览工具。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:amumulam/dsh-tldraw-canvas#4e2ece1dffea9e26bed16acedbeeb2ec0a03fd6d
README兼容性版本

兼容性与来源证明

Tldraw Canvas 以 dsh-tldraw-canvas 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/28

版本

1.0.0stable
2026/10/28

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/28
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

dsh-tldraw-canvas

English | 中文

A DeepSeek Harness Desktop plugin that gives every Session its own tldraw canvas in the right sidebar. This build uses the original MIT-licensed tldraw v1 (2021–2022) instead of the commercially licensed tldraw 5 SDK, so there is no license key, no watermark, and no production gate.

The canvas autosaves into the Session's project directory — the directory the Workspace groups the Session under — so it travels with the workspace instead of living in browser storage.

Install

git clone https://github.com/amumulam/dsh-tldraw-canvas.git

Install the checked-out directory as a DSH bundle (Plugin Manager → install from folder, or install_bundle with its absolute path). client.js is prebuilt, so the installed copy does not need node_modules.

Use

  1. Open the right sidebar for a Session.
  2. Add a tab from the guide and choose Tldraw Canvas / Tldraw 画板.
  3. Draw. Changes save automatically after a short pause, and again when the tab closes.

The status bar shows the save state and the workspace-relative file path.

Reading a canvas (Agent tool)

The Host half now owns the read path instead of leaving it to ad-hoc filesystem scripts. It registers the tldrawCanvas service and exposes it to agents as:

tldraw_read_canvas

Arguments:

  • session_id — optional; defaults to the calling Session
  • include_preview — default true; renders a PNG preview

The tool returns a normalized summary (format, shape/stroke/text counts, point count, bounds, per-shape details) plus the preview image, so an agent can answer “what is on my canvas?” without reading the JSON file manually. It accepts both the new v1 documents and legacy v5 snapshots.

Other Host plugins can inject tldrawCanvas and call:

const analysis = await ctx.tldrawCanvas.inspect(sessionId);
const { analysis, png } = await ctx.tldrawCanvas.render(sessionId);

inspect and render are read-only; configure/write access stays with the canvas tab and its autosave.

Workspace vs Session cwd

DSH's Workspace is a registry entry: a named directory plus the Sessions grouped under the directory they were created in. It is not an artifact bucket, and removing a Workspace never deletes its folder, files, or Session history.

A Session has two directory notions:

  • Project origin — immutable SessionHeader.cwd. Workspace grouping and archived-Session reads are keyed from this path.
  • Effective working directory — may move later through the working_directory tool. Agent tools write there, while existing shells keep their own process-local directories.

The canvas is anchored to the project origin, not the transient effective cwd. That way a cd inside one Session cannot split its drawings across directories, and a live Session and its archived replay read the same file. Use a separate Session in another directory for a separate canvas.

Where it saves

<session project directory>/.dsh/tldraw/<session-id>.json

The Host resolves the Session's project directory itself, so the browser cannot choose an arbitrary path. Each canvas is written atomically and survives app restarts and Session switching.

Legacy v5 drawings

The first release of this plugin used tldraw 5. On the first v1 save of an old file, the Host copies the original next to it:

.dsh/tldraw/<session-id>.v5.json

The client detects a v5 snapshot, converts freehand draw shapes to v1 points, and shows a 已迁移旧画板 / Legacy canvas migrated badge. Other v5 shape types are not converted; the badge tooltip reports how many were skipped. The .v5.json backup is never deleted by the plugin.

Implementation

  • index.js — Host half: registers GET/PUT /api/tldraw, resolves the Session's cwd, reads/writes atomically, and backs up legacy v5 files.
  • src/client-entry.js — Client half: registers the tldraw tab type, guide card, theme-aware editor, and debounced autosave.
  • src/migrate.js — v5 draw-segment decoding and v5 → v1 document conversion.
  • src/canvas-model.js — format-neutral analysis and the dependency-free PNG preview renderer.
  • client.js — generated bundle.

Similar DSH plugins

There are several community drawing/canvas plugins; the closest ones differ in editor, storage, and agent surface:

ProjectEditorWhere it livesPersistenceAgent tools
johappel/dsh-tldraw (package dsh-whiteboard)tldraw 5right sidebar tabworkspace-level snapshot store9 whiteboard tools
zhang-guo-wen/dsh-whiteboarddraw.iomain gallery + sidebar editorplugin files/ directoryeditor-oriented
Jegozhou/dsh-excalidrawExcalidraw 0.18main panelDSH_HOME/excalidraw/drawings5 typed scene tools
CSlawyer1985/dsh-excalidraw-boardexcalidraw.com iframefloating overlayupstream sitenone local
lb-aigc/dsh-canvasReact Flow node canvasright sidebar + conversationsession projection5 node tools

dsh-tldraw-canvas is intentionally different: it uses the MIT tldraw v1 editor, stores one file per Session inside that Session's project directory, and exposes a read-only summary + PNG preview tool rather than a collaborative editing toolset.

Why tldraw v1

The current tldraw 5 SDK is source-available but requires a commercial/trial/hobby license key in production. The original tldraw v1 is MIT, but it is no longer maintained (last release 1.29.2, 2022). This plugin intentionally trades modern features and maintenance for a genuinely open-source editor.

Development

npm install
npm run build

npm run build regenerates client.js from src/client-entry.js.

Tests

node --test test/*.test.mjs

The tests cover the Host API's read/write contract, invalid and concurrent requests, malformed files, temporary-file cleanup, legacy v5 backup, v5 paint-point decoding, v5 → v1 conversion, the reusable read service, and the agent tool's summary/image envelope.

Disclaimer

This is an independent community plugin. tldraw is a trademark of tldraw Inc.; this project is not affiliated with or endorsed by tldraw Inc. The bundled tldraw v1 code remains under its MIT license (see THIRD_PARTY_NOTICES.md).