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

对话画布 Tryanstm/dsh-chatcanvas

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

把对话变成可编辑画布,边聊边画、调界面、听音乐

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
  • 发起网络请求
    src/canvas/export.ts:11
    export async function exportCanvas(doc:CanvasDocument,format:'png'|'svg'|'project'){if(format==='project'){download(exportCanvasProject(doc),doc.title
  • 写入剪贴板
    src/composer/clipboard.ts:7
    export function copyRichContent(content:JSONContent){const plain=blockText(content),html=(async()=>{let previews:Record<string,string>={};try{const re
  • 写入剪贴板
    src/composer/native-clipboard.ts:11
    if(navigator.clipboard?.write&&typeof ClipboardItem!=='undefined')try{await navigator.clipboard.write([new ClipboardItem({'text/plain':new Blob([plain
  • 发起网络请求
    src/host/canvas-questions.ts:12
    ctx.inject(['connection'],(c:any)=>c.connection.fetch.register({path:'/api/dser.canvas-answer',methods:['POST'],requestBody:'buffered',async fetch(req
  • 写入本地文件
    src/host/documents.ts:21
    async put(sessionId:string,envelope:RichEnvelope,title:string){validateRichContent(envelope.content);const renderId=randomUUID(),path=this.path(sessio
  • 写入本地文件
    src/host/documents.ts:21
    async put(sessionId:string,envelope:RichEnvelope,title:string){validateRichContent(envelope.content);const renderId=randomUUID(),path=this.path(sessio
  • 写入本地文件
    src/host/documents.ts:21
    async put(sessionId:string,envelope:RichEnvelope,title:string){validateRichContent(envelope.content);const renderId=randomUUID(),path=this.path(sessio
  • 删除本地文件递归
    src/host/documents.ts:21
    async put(sessionId:string,envelope:RichEnvelope,title:string){validateRichContent(envelope.content);const renderId=randomUUID(),path=this.path(sessio
  • 读取本地文件
    src/host/documents.ts:22
    async read(sessionId:string,renderId:string){const envelope=JSON.parse(await readFile(this.path(sessionId,renderId),'utf8'));validateRichContent(envel
  • 读取本地文件
    src/host/documents.ts:23
    async get(sessionId:string,ref:DocumentReference){const value=DocumentReferenceSchema.parse(ref),text=await readFile(this.path(sessionId,value.renderI
  • 发起网络请求
    src/host/documents.ts:26
    const store=new PublishedDocuments();ctx.inject(['connection'],(scoped:any)=>scoped.connection.fetch.register({path:'/api/dser.document',methods:['POS
  • 发起网络请求
    src/host/recommendations.ts:38
    ctx.inject(['connection','llm'],(scoped:any)=>{let running=0;return scoped.connection.fetch.register({path:'/api/dser.recommend',methods:['POST'],requ
  • 读取本地文件
    src/host/skill.ts:6
    return c.skills.registerProvider(()=>({name:'chatcanvas',list:async()=>[candidate],get:async()=>({...candidate,content:await readFile(url,'utf8')})}))
  • 写入本地文件
    src/host/snapshots.ts:8
    async put(sessionId:string,document:CanvasDocument):Promise<CanvasReference>{const doc=validateCanvas(document),renderId=randomUUID(),path=this.locati
  • 写入本地文件
    src/host/snapshots.ts:8
    async put(sessionId:string,document:CanvasDocument):Promise<CanvasReference>{const doc=validateCanvas(document),renderId=randomUUID(),path=this.locati
  • 写入本地文件
    src/host/snapshots.ts:8
    async put(sessionId:string,document:CanvasDocument):Promise<CanvasReference>{const doc=validateCanvas(document),renderId=randomUUID(),path=this.locati
  • 删除本地文件递归
    src/host/snapshots.ts:8
    async put(sessionId:string,document:CanvasDocument):Promise<CanvasReference>{const doc=validateCanvas(document),renderId=randomUUID(),path=this.locati
  • 读取本地文件
    src/host/snapshots.ts:9
    async get(sessionId:string,ref:CanvasReference){const value=CanvasReferenceSchema.parse(ref),data=await readFile(this.location(sessionId,value.renderI
  • 读取本地文件
    src/host/snapshots.ts:10
    async read(sessionId:string,renderId:string){return validateCanvas(JSON.parse(await readFile(this.location(sessionId,renderId),'utf8')));}
  • 发起网络请求
    src/host/snapshots.ts:14
    ctx.inject(['connection'],(scoped:any)=>scoped.connection.fetch.register({path:'/api/dser.canvas',methods:['POST'],requestBody:'buffered',async fetch(
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DeepSeek Harness 里,画布可编辑,消息更丰富,界面可交互,还能画数学图、放音乐。

README

由 DeepSeek 最新模型翻译生成
对话画布 · ChatCanvas npm 测试版 · 安装说明 · 插件市场 · 反馈问题 把 AI 对话变成可以编辑、探索和试听的工作空间。 ChatCanvas 是 DeepSeek Harness 的第三方插件。在对话中使用富文本、画布、交互界面、数学图像和音乐编辑器,边讨论边修改。 看看实际操作 三段由真实录屏剪辑的短演示,可直接在下方播放,也可下载 MP4。等待与打字过程已加速,片段在后续 AI 回复出现前结束。视频配有中英文功能说明,软件界面为简体中文。 表达更清楚 · 21 秒 使用标题、引用和颜色,整理数学表达,再补充改动说明。开头的格式示例为静态截图,视频中已注明。 https://github.com/user-attachments/assets/b8679eac-9fc5-479a-9335-aa826f832c0c 下载 MP4 把想法画出来 · 26.5 秒 在输入框中插入画布,直接勾画界面布局,补上图像区、控件和注记。 https://github.com/user-attachments/assets/82bdbab1-b996-42c0-a54e-44af016d4413 下载 MP4 边讨论,边修改 · 24 秒 在界面草案中选中并拖动控件,调整结果面板和文字的位置。
展开完整文档(README 剩余 1 节)
对话画布 · ChatCanvas

npm 测试版 · 安装说明 · 插件市场 · 反馈问题

把 AI 对话变成可以编辑、探索和试听的工作空间。

ChatCanvas 是 DeepSeek Harness 的第三方插件。在对话中使用富文本、画布、交互界面、数学图像和音乐编辑器,边讨论边修改。

看看实际操作

三段由真实录屏剪辑的短演示,可直接在下方播放,也可下载 MP4。等待与打字过程已加速,片段在后续 AI 回复出现前结束。视频配有中英文功能说明,软件界面为简体中文。

表达更清楚 · 21 秒

使用标题、引用和颜色,整理数学表达,再补充改动说明。开头的格式示例为静态截图,视频中已注明。

https://github.com/user-attachments/assets/b8679eac-9fc5-479a-9335-aa826f832c0c

下载 MP4

把想法画出来 · 26.5 秒

在输入框中插入画布,直接勾画界面布局,补上图像区、控件和注记。

https://github.com/user-attachments/assets/82bdbab1-b996-42c0-a54e-44af016d4413

下载 MP4

边讨论,边修改 · 24 秒

在界面草案中选中并拖动控件,调整结果面板和文字的位置。

https://github.com/user-attachments/assets/5737babc-d01e-439c-95f1-6cfb779e6cde

下载 MP4

录屏说明与后续演示的补充方式

功能

| 功能 | 可以做什么 |
| 富文本输入与消息 | 写作框、纯文本框、代码高亮、复制和原生文件引用 |
| 画布 | 手绘、实时擦除、吸附对齐、层级调整、复制并编辑作品 |
| 交互 UI | 制作多个页面、编辑图形程序,并直接试用界面 |
| 数学图像 | 探索函数、方程、参数和二维/三维图像 |
| 音乐 | 编辑音符与音轨、试听乐器、导入 MIDI、导出 MIDI/WAV,以及本地 WAV/MP3 转录 |
| 可编辑提问 | AI 展示草案,你直接调整,再把结果提交给 AI |

功能概览图

功能概览,非软件截图

安装

当前是公开测试版。已验证的集成目标为 Harness 0.2.0-rc.2 和 0.2.1-rc.2。安装辅助脚本适用于 Windows;其他系统及宿主版本尚未验证。

1. 完全退出 Harness;已安装旧本地包或组合渲染器时先禁用/移除旧包,见迁移说明。
2. 找到桌面应用自带的 resources/runtime/cli/bin/dsh.cmd。
3. 用该 CLI 的完整路径执行 dsh.cmd plugin --profile desktop add dsh-chatcanvas@1.4.0-rc.13。
4. 重新打开,在设置中找到 对话画布 · ChatCanvas。

GitHub 自动生成的 Source code 是开发源码,不能直接作为插件包安装。详细步骤、更新与回退见安装说明。

npm/发现页: dsh-chatcanvas@1.4.0-rc.13 已上架 npm,可通过本仓库的第三方市场源发现安装。线上下载包已与核验过的本地预编译包逐字节校验。查看市场源与旧本地包迁移说明。旧版 1.4.0-rc.12 安装包仍保留在 GitHub Releases。

怎么开始

正常输入消息,或在输入框中右键插入内容。可以让 AI 制作 UI、数学图像、音乐作品或组合画布。已经发送的作品需要复制为可编辑副本后再修改。

可以这样说:

- “制作一个两页计时器界面,让我直接试用。”
- “画出 y = a*x²,让我调节 a。”
- “制作一段短钢琴旋律,把音符显示出来让我修改。”
- “先给我一份可以直接调整的布局草案,再询问我的意见。”

本版界面语言为简体中文;提供中英文文档,尚未包含完整英文界面。

设置

打开 设置 → 对话画布 · ChatCanvas。公开插件只提供两项设置:

| 选项 | 默认数量 | 调整方式 |
| 程序推荐选项 | 2 项 | 点击数字,在弹窗中选择 0–5 项,再保存 |
| AI 推荐选项 | 1 项 | 点击数字,在弹窗中选择 0–5 项,再保存 |

执行审核、审核开关和工具/Skill 白名单不在本插件中。宿主自带的权限菜单继续保留。为兼容旧作品,内部文档格式和存储标识保持不变。

权限、隐私与费用

插件不注册执行前审核,也不更改宿主权限预设。宿主权限继续生效。画布、UI 编辑和音频转录使用本地代码及随包资源;AI 推荐、翻译、推荐质量检查和自动生成会话标题会使用 Harness 配置的模型,可能产生额外用量。详见隐私说明。

测试版限制

- 音频转录给出可修改的识别结果;复杂混音、多人声及重叠乐器可能识别不准。
- 采样播放不等同于专业乐器音源,部分乐器的真实感仍有限。
- UI 模拟验证逻辑,不能代替视觉验收。
- 长时间绘制、高 DPI 及与其他插件组合的正式窗口体验仍需更多测试。
- 普通 Markdown 表格继续支持,旧版独立增强表格编辑器已经退役。

开发与反馈

构建与测试 · 集成说明 · 结构协议

反馈问题时请提供插件版本、Harness 版本、系统和复现步骤;截图及示例先去掉密钥、私人聊天和个人文件。

许可与来源

插件代码采用 MIT。第三方素材分别保留原许可:TimGM6mb 音源为 GPL-2.0-only;Basic Pitch 与 TensorFlow.js 资源为 Apache-2.0。详见第三方声明及随包许可、素材源文件。代码的 MIT 标识不改变第三方资源的许可。

这是非官方第三方项目,与 DeepSeek 没有隶属或背书关系。沿用的宿主组件保留原始版权声明。
预览分享卡片长什么样 ↓Tryanstm/dsh-chatcanvas
分享 · DeepSeek Harness Hub
Tryanstm/dsh-chatcanvas

把对话变成可编辑画布,边聊边画、调界面、听音乐

这是你的仓库?认领条目

回到顶部