🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

共绘白板 MYming-yue/dsh-board

DeepSeek Harness
MYming-yue25 天前有提交已提供中文文档扫描:含敏感能力

与 AI 同屏维护白板,边聊边改草稿

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MYming-yue/dsh-board
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 25 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 22 处,展示前 22 条)
  • 读取本地文件
    src/host.mjs:34
    const { version } = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
  • 读取本地文件
    src/host.mjs:103
    for (const item of await readdir(join(directory, relative), { withFileTypes: true })) {
  • 读取本地文件
    src/host.mjs:107
    const bytes = await readFile(join(directory, path));
  • 写入本地文件
    src/store.mjs:24
    await mkdir(join(this.directory, 'boards'), { recursive: true });
  • 读取本地文件
    src/store.mjs:26
    const pointer = JSON.parse(await readFile(join(this.directory, 'current.json'), 'utf8'));
  • 读取本地文件
    src/store.mjs:30
    this.bundle = parseBoard(new Uint8Array(await readFile(join(this.directory, 'boards', this.file))));
  • 写入本地文件
    src/store.mjs:44
    await writeFile(temp, bytes);
  • 写入本地文件
    src/store.mjs:46
    await rename(temp, path);
  • 删除本地文件
    src/store.mjs:47
    } finally { await unlink(temp).catch(() => {}); }
  • 读取本地文件
    src/context.mjs:28
    try { this.state = JSON.parse(await readFile(this.path, 'utf8')); }
  • 写入本地文件
    src/context.mjs:36
    await this.ready; await mkdir(dirname(this.path), { recursive: true });
  • 写入本地文件
    src/context.mjs:38
    try { await writeFile(temp, JSON.stringify(this.state)); await rename(temp, this.path); }
  • 写入本地文件
    src/context.mjs:38
    try { await writeFile(temp, JSON.stringify(this.state)); await rename(temp, this.path); }
  • 删除本地文件
    src/context.mjs:39
    finally { await unlink(temp).catch(() => {}); }
  • 读取本地文件
    src/guide.mjs:6
    export const DEFAULT_GUIDE = normalize(await readFile(new URL('../docs/board-guide.md', import.meta.url), 'utf8'));
  • 写入本地文件
    src/guide.mjs:31
    await mkdir(directory, { recursive: true });
  • 写入本地文件
    src/guide.mjs:32
    try { await writeFile(this.path, DEFAULT_GUIDE, { encoding: 'utf8', flag: 'wx' }); }
  • 读取本地文件
    src/guide.mjs:43
    try { metadata = await lstat(this.path); }
  • 写入本地文件
    src/guide.mjs:87
    try { await writeFile(temporary, bytes); await rename(temporary, path); }
  • 写入本地文件
    src/guide.mjs:87
    try { await writeFile(temporary, bytes); await rename(temporary, path); }
  • 删除本地文件
    src/guide.mjs:88
    finally { await unlink(temporary).catch(() => {}); }
  • 读取本地文件
    src/guide.mjs:98
    const metadata = await lstat(this.path).catch(error => { if (error.code !== 'ENOENT') throw error; return null; });
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 人与AI同屏维护白板
  • 边聊边改草稿
  • 持久化共同白板

DSH 的持久化共同白板插件:完整白板在左、原生对话在右,人和 AI 持续维护同一份草稿。基于 draft-board。

README

由 DeepSeek 最新模型翻译生成
DSH-board 在 DSH 对话旁,放一张人和 AI 可以长期共同维护的白板。 DSH-board 是 DeepSeek Harness 的本地插件,基于 draft-board。白板保留理解和成果,对话用来提出问题、讨论与纠正:学一个概念、拆解一个产品,或持续打磨一个项目。 当前为 0.1.5 早期试用版。插件单独维护宿主集成,白板界面和模型通过 upstream.json 固定上游提交构建,不维护两套白板代码。已构建的安装包可以独立安装,无需相邻的 draft-board 仓库;尚未发布到 npm。 可以做什么 - 完整白板在左,DSH 原生对话在右;对话可展开/收起,分隔线可拖动调整宽度。 - 保留 Markdown、LaTeX、图片、卡片备注、关系、集合、布局、结构视图、历史和撤销/重做。 - 新开或切换聊天继续同一张白板,直到主动“新建”或“打开”另一份草稿。 - 选中卡片后发消息,AI 知道本条回复所指的对象;不改写用户回复,不自动附上卡片全文。 - AI 通过 draft_board_read/draft_board_apply 主动维护白板,复用原子批次、版本校验与整轮撤销。 - 在“设置 → DSH-board 白板”管理启用与卡片关联;关闭功能保留草稿。
展开完整文档(README 剩余 1 节)
DSH-board

在 DSH 对话旁,放一张人和 AI 可以长期共同维护的白板。

DSH-board 是 DeepSeek Harness 的本地插件,基于 draft-board。白板保留理解和成果,对话用来提出问题、讨论与纠正:学一个概念、拆解一个产品,或持续打磨一个项目。

当前为 0.1.5 早期试用版。插件单独维护宿主集成,白板界面和模型通过 upstream.json 固定上游提交构建,不维护两套白板代码。已构建的安装包可以独立安装,无需相邻的 draft-board 仓库;尚未发布到 npm。

可以做什么

- 完整白板在左,DSH 原生对话在右;对话可展开/收起,分隔线可拖动调整宽度。
- 保留 Markdown、LaTeX、图片、卡片备注、关系、集合、布局、结构视图、历史和撤销/重做。
- 新开或切换聊天继续同一张白板,直到主动“新建”或“打开”另一份草稿。
- 选中卡片后发消息,AI 知道本条回复所指的对象;不改写用户回复,不自动附上卡片全文。
- AI 通过 draft_board_read/draft_board_apply 主动维护白板,复用原子批次、版本校验与整轮撤销。
- 在“设置 → DSH-board 白板”管理启用与卡片关联;关闭功能保留草稿。

兼容范围

| 项目 | 已验证范围 |
| DSH CLI | 0.1.5-rc.1 |
| DSH 组合包 | 0.1.5-rc.2 |
| 宿主 profile | web |
| 实际宿主联调 | Windows、Chrome |
| 构建环境 | Node.js 22+、npm、Git |

布局和消息提交适配依赖 DSH 当前接口,升级宿主后需要重新验证。其他 DSH 版本和操作系统的完整宿主集成尚未确认;欢迎附版本信息反馈。

安装试用版

先确保 DSH web profile 可以正常启动。到 Releases 下载 dsh-board-0.1.5.tgz;安装已构建的包不需要 Git、编译工具或 draft-board 源码。

以下为 PowerShell 示例,使用 GitHub CLI 下载。也可以在浏览器下载,再将最后一行改为安装包的绝对路径。

$dshHomePath = if ($env:DSH_HOME) { $env:DSH_HOME } else { Join-Path $env:USERPROFILE '.dsh' }
$pluginDir = Join-Path $dshHomePath 'local-plugins'
New-Item -ItemType Directory -Force $pluginDir | Out-Null
gh release download v0.1.5 --repo MYming-yue/dsh-board --pattern 'dsh-board-0.1.5.tgz' --dir $pluginDir
dsh plugin --profile web add ("file:" + (Join-Path $pluginDir 'dsh-board-0.1.5.tgz'))

安装后重启 DSH Web Host,并重新载入页面。在设置中找到“DSH-board 白板”,确认共同白板已启用。

DSH home 使用 DSH_HOME,未设置时默认 ~/.dsh。不要将插件安装到另一个 profile 或 home。更新同样下载新版本安装包后执行 add 并重启;构建包使用不同版本和文件名,避免本地依赖缓存误用旧包。

第一次体验

1. 在白板上双击创建一张卡片。
2. 选中它,在右侧发送“给这张卡片补充解释”。
3. 观察 AI 工具记录与画布更新,点击“撤销最新一轮”回退该批次。
4. 新开聊天,确认仍然是当前白板。

AI 使用 DSH 原有模型、工具和审批流程。插件不增加模型 API 配置,不管理账户,也不添加云同步。

保存、上下文与管理

草稿位于 $DSH_HOME/dsh-board/,包含图片与历史;current.json 指向当前草稿。主动更换时保留前一份宿主文件。原生“打开”“保存”“另存为”继续可用:宿主持有一份副本,绑定的磁盘原文件仍通过白板保存入口回写,页面刷新后需重新绑定其文件句柄。

固定使用说明注册在系统提示末尾;卡片身份和短标题在本轮运行上下文末尾注入。相同关联复用原生快照,不为每条回复重复追加。不附上全文、时间戳或修订号,不重写既有历史;发生过变化的快照仍由宿主保留,缓存命中率取决于宿主和模型服务。

“设置 → DSH-board 白板”提供“启用共同白板”和“发送时关联选中的卡片”。关闭白板恢复完整聊天区、暂停白板工具,保留草稿与未提交输入;重新启用后继续维护。选项和待处理关联保存在 plugin-state.json。

浏览器约每 750ms 与宿主同步。输入、指针操作、布局和回放期间保留当前操作。并行修改冲突时保留双方内容、暂停镜像;另存为后重新打开副本,明确选择继续维护的版本。当前没有自动合并、多任务白板管理、多人协作、AI 图片解析或完整消息/批次追溯。

卸载插件:

dsh plugin --profile web remove dsh-board

随后重启宿主;卸载不会删除 $DSH_HOME/dsh-board/ 中的草稿。

从源码构建

git clone https://github.com/MYming-yue/dsh-board.git
cd dsh-board
npm ci
node node_modules/playwright-core/cli.js install chromium
npm run check
首次构建会自动拉取锁定的 draft-board 提交,并执行其锁定依赖安装,需要访问 GitHub 与 npm。源码缓存在被忽略的 .upstream/;构建产物位于 lib/。上游锁不变时复用缓存;更新需显式修改 upstream.json 并重新验证。构建不会读取个人 DSH 配置、模型凭据或草稿。

npm run check 执行上游类型检查、界面与模型构建、插件测试,以及真实浏览器的安装包检查。安装包检查从 tgz 解压运行,验证持久化、画布接收批次与整轮撤销,不调用模型 API。DSH_BOARD_BROWSER=chromium 可指定 Playwright Chromium;默认依次尝试系统 Chrome、Edge、Chromium。Linux 可用 install --with-deps chromium。

发布包:

npm run build
npm pack --pack-destination artifacts

贡献前阅读 AGENTS.md 和 规格。涉及宿主接口的变化仍需在实际 DSH 中联调,不能只用合成宿主检查宣称兼容。

来源与许可

本项目采用 MIT License。插件最初位于 draft-board 的 plugins/dsh-board/,从提交 c37c6fe 拆出。

白板界面和纯模型来自锁定的 draft-board,安装包保留其许可证及来源。构建会收集所嵌入运行依赖的许可证,写入 lib/THIRD_PARTY_NOTICES.txt;包含 React、KaTeX、markdown-it、fflate、nanoid 等依赖的声明。DSH 本体由使用者单独安装,本插件不打包分发 DSH 源码。
预览分享卡片长什么样 ↓MYming-yue/dsh-board
分享 · DeepSeek Harness Hub
MYming-yue/dsh-board

与 AI 同屏维护白板,边聊边改草稿

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部