dsh-openpencil
ZSeven-W/dsh-openpencil
OpenPencil 设计预览与编辑插件。
安装
把 dsh-openpencil 装进 DeepSeek Harness
npm 方式
直接拉已发布的 tarball,不用克隆整个仓库,也不需要额外配置。如果你用的是别的 profile,把 `web` 换成对应的名字。
GitHub 方式 · npm 包
从 GitHub 装会执行项目自己的构建脚本,而 pnpm 默认拦着不让跑——先跑一次这条命令,pnpm 会打印出要加到 ~/.dsh/profiles/web/pnpm-workspace.yaml 里 `allowBuilds` 下面的那个 key。
我们跑过之后
我们跑过,装得上
这里每条命令都在一次性容器里、对着干净 profile 真跑过,结果取自 harness 自己的记录,不是读源码猜的。 最近一次 13 天前.
挂进你的 README
给维护者的:badge 取这条 listing 最近一次 sandbox 实测的结果,重跑之后它自己会变,读者点开就是这页的完整记录。
安装前须知
装 dsh-openpencil 之前,先看这几条
- 源码在这里: ZSeven-W/dsh-openpencil——已进入社区精选库,DSH 自带的插件市场就是从这儿装的。
- 开源协议:MIT。
- 自动识别到:终端执行。授权之前请先读一遍源码。
- 被收录在这里不代表通过了安全审计。插件是带着你 agent 的权限在跑。
AI 锐评
是什么 — DeepSeek Harness OpenPencil 插件在对话中集成 OpenPencil,允许预览、检查和编辑真实 .op 文档。
谁该装 — 在需要处理多帧 .op 文档的 agent 任务中使用 DSH 时适合安装此插件。
如果不涉及任何设计文档预览或编辑工作,则不必安装。
注意 — 实测通过:在全新 profile 里装上并被 harness 注册进 profile。
会执行 shell 命令是静态检查提示,非缺陷。
没发现其他明显坑。
锐评 — 我会装它,因为它提供 exact multi-frame .op previews 和 managed editor 工具。
grok-4.6 写的,只当参考,不当结论。里面说装得上或装不上,是在干净 profile 里真跑过的;其余都是读仓库读出来的。以实际运行为准。
dsh-openpencil 是做什么的

dsh-openpencil 是一个 DeepSeek Harness 插件,用于在会话中预览、检查、创建和编辑真实的 OpenPencil .op 文档。它通过 OpenPencil 的 headless exporter 和 Web SDK 工作:agent 可调用 openpencil_render 生成不可变的内容寻址快照,渲染当前页面的顶层 frame,并按需打开交互式画布;设置 editable: true 后则进入托管编辑器,进行节点选择、图层和属性调整、绘制、撤销重做及显式保存。
插件提供 openpencil_new、openpencil_create、openpencil_edit、openpencil_render、openpencil_selection 五个工具。设计修改使用事务性的 batch_design 程序;新文档写入 workspace-relative .op 路径,并经由 DSH sandboxed filesystem,在整批操作成功后才发布。已有路径不会被覆盖,保存采用 optimistic hash 和 atomic replace。预览与编辑能力通过签名且绑定 hash 的 capability 授予,不会把任意主机路径暴露给浏览器或模型上下文。
它适合需要可编辑设计稿、多个 frame 预览和画布检查的 agent 工作流。插件依赖 DeepSeek Harness 与 OpenPencil 运行时,并以 DSH 0.1.0-rc.6 测试;如果任务只需要静态图片,或根本不处理 .op 文档,就不应使用它。
dsh-openpencil 的文档
环境要求
README 记录的测试版本是 DSH 0.1.0-rc.6。插件使用 OpenPencil 的 headless exporter 和 Web SDK 处理 .op 文档,并在 DSH web app 中运行。文档路径必须是 workspace-relative 路径,文件通过 DSH sandboxed filesystem 保存。
命令
| 工具 | 用途 |
|---|---|
openpencil_new |
用一个 batch_design 程序创建新的 .op,要求使用新路径,不能覆盖已有路径。 |
openpencil_create |
将事务性的 batch_design 程序应用到现有 live canvas。 |
openpencil_edit |
修改指定节点,或修改用户当前选中的单个节点。 |
openpencil_render |
创建不可变、内容寻址的 .op snapshot,并渲染当前页面的全部顶层 frame。 |
openpencil_selection |
读取 live editor canvas 中当前选中的节点。 |
openpencil_render 支持 README 说明的 scale、editable 和 autoOpen。其中 editable: true 打开托管编辑器,工作流通常配合 autoOpen: true 展示返回的文档。
行为说明
batch_design 会在独立的 managed OpenPencil daemon 中执行。创建新文档时,只有整批操作成功后才发布结果;失败不会留下空文件。渲染结果包含首个顶层 frame 的预览,以及其他 frame 的缩略图导航。交互式 canvas 是只读的;托管编辑器提供编辑和显式保存。
预览与编辑使用签名、绑定 hash 的 capability。浏览器 metadata 不会暴露任意主机路径,这些 capability 也不会进入 canonical tool result 或 model context。已有文档保存时使用 optimistic hash 和 atomic replace。
根据项目自己的文档整理,会跟着上游更新。两边对不上时以源码仓库为准—— 去 GitHub 看原始 README
同一分类
dsh-openpencil 的同类插件
dsh-web-all
zhu1090093659
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
我们跑过,装得上
dsh-web-ui-all
zhu1090093659
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
没有一行式安装命令——这个插件在一个大仓库的子目录里,也没发 npm 包。