← 返回列表
⚠ 装前注意
🖼️ Tolten Image Attach
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/10 · 已提供中文文档
将图像附加到 DeepSeek Harness 编辑器后,会话模型会自动切换到视觉模型——移除图像后则恢复之前的模型。Material Design 3 按钮、原生文件选择器、缩略图。MIT。
综合分
28.8
GitHub 分
28.8
用户评分
—
★ Stars
0
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/EmmanuelMartinez/tolten-image-attach.git信任档位:已验证本站已于 0 天前真实安装成功
- 是什么
- 生态插件(可安装,未声明 dsh 能力)
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 15 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@tolten/image-attach(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 11:38:43
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成Tolten Image Attach
🖼️ Tolten Image Attach
CI
English · Español
License: MIT
DeepSeek Harness
Material Design 3
PRs welcome
Share on X
附加一张图片。模型会自动切换到视觉模型。发送。
为 DeepSeek Harness 编辑器打造的一键式 MD3 图片附件功能——
并支持按会话自动路由到视觉模型。
Tolten Image Attach 是一款 DeepSeek Harness 的高级插件,它在编辑器工具栏中放置了一个紧凑的
Material Design 3 附件按钮,而且——最有趣的部分是——
在你附加图片的那一刻,会话就会切换到视觉模型,然后在图片被移除时
恢复你之前的模型。
再也不用说 “我附加了截图,但纯文本模型看不到它。”
🇲🇽 墨西哥制造 — 由
Ing. Oscar Emmanuel Martínez Galán 倾心打造
· oe.martinez03@gmail.com
✨ 功能特性
| 功能 | 作用 |
|---|---|
| 📎 紧凑的 MD3 按钮 | 编辑器工具栏中的一个 28×28 的 attach_file 图标(位于 +、访问模式、计划旁边)——没有笨重的工具栏。 |
| 🗂️ 真正的文件选择器 | 打开原生文件对话框(支持多选),接入编辑器自身经过验证的导入路径。 |
| 👁 自动视觉路由 | 附加时 → 会话模型切换到你的视觉模型;移除时 → 恢复之前的模型。 |
| 🖼️ 缩略图 + 移除 | 草稿预览,每张图片带一个 ✕;拖放和 Ctrl+V 保持原生可用。 |
| 🔢 实时状态 | 按钮上的数量徽章和一个绿色的“视觉已激活”圆点。 |
| 🩺 诚实的诊断 | 如果无法切换模型,侧栏会如实说明,而不是静默失败。 |
🚀 安装(动态插件)
在任何 DSH 会话中,使用 cordis_define 工具加载插件:
- code.host → plugin/host.js 的完整内容
- code.client → plugin/client.js 的完整内容
然后运行 cordis_run 并批准运行(Client 部分需要勾选确认)。
每个包中两部分都是必需的——这是 DSH 的规则,不是怪癖。
⚙️ 工作原理
两个席位,一个共享存储
| 席位 | 角色 |
|---|---|
| conversation.input.left | 小型附件按钮 + 一个隐藏的 。选中的文件会排队进入模块存储。 |
| conversation.input.attachments | 唯一接收 onAddImages(files) 的席位——它清空队列(真正的附件),并用 onRemoveImage 渲染缩略图。 |
这种拆分是刻意的:你想要的视觉位置(工具栏行)和你需要的能力(onAddImages)位于不同的槽位中,因此插件在它们之间架起桥梁。
按会话的视觉路由
模型选择是按会话进行的,而不是全局默认值:
const dir = ctx.get('modelDirectories').directoryFor(sessionId)
await dir.select({ provider: 'deepseek-official', model: 'deepseek-v4-flash-vision-exp' })
// └─► session.selectModel RPC
之前的选择(包括 reasoningEffort)会在切换前被捕获,并在最后一张图片被移除时恢复。
改用 agentDefaultModel 不可行——那只会更改全局默认值,而不会更改正在运行的会话。此插件使用与内置模型选择器相同的路径。
🎛️ 配置
将其指向你的提供商目录所公开的任何视觉模型——编辑 plugin/client.js 顶部的两个常量:
const VISION_MODEL = 'deepseek-v4-flash-vision-exp'
const VISION_PROVIDER = 'deepseek-official'
你的模型必须在提供商目录中声明图像输入(inputModalities: ["text", "image"]),否则请求将被拒绝。
⚠️ 注意事项与提醒
- 单一席位: conversation.input.attachments 是产品中可选的附件栏。当此插件运行时,它占据该席位(内置附件栏处于非活动状态)。停止插件即可恢复它——不会有任何东西被破坏。
- 仅限图像: 编辑器的附件管线接受光栅图像(image/)。PDF 需要单独的文件上传路径,而不是此附件栏。
- 一个活动编辑器: 视觉开关跟随已挂载会话的草稿。
🧱 仓库布局
tolten-image-attach/
├── package.json ← @tolten/image-attach scaffold
├── plugin/
│ ├── host.js ← Host half
│ ├── client.js ← Client half (button + rail + vision routing)
│ ├── install.md
│ └── PACKAGING.md
└── README.md
🤝 分享与贡献
非常欢迎各种想法——尤其是:从剪贴板粘贴的交互、按图片显示进度,以及通用的(非 DeepSeek)视觉模型预设。请参阅 CONTRIBUTING.md。
帮助它触达更多开发者——一切都已经预先写好,位于 docs/LAUNCH.md:GitHub 的 About* 文本、主题、一篇 Show HN 帖子、一个 X 帖子串、一篇 LinkedIn 帖子、一个 Reddit/Dev.to 计划,以及一个 30 秒的演示脚本。
如果这为你省去了一次手动切换模型的麻烦,一个 ⭐ 和一次分享会大有帮助:
分享到 X
分享到 LinkedIn
🤝 贡献与支持
| 位置 | 用途 |
| --- | --- |
| CONTRIBUTING.md | 规范、开发流程和 PR 期望。 |
| Issues | Bug 报告和功能请求(提供模板)。 |
| Discussions | 提问、想法,以及展示你构建的内容。 |
| SECURITY.md | 私密漏洞报告。 |
| CHANGELOG.md | 每个版本的变更内容。 |
| CODE_OF_CONDUCT.md | 我们共同遵守的社区标准。 |
在本地运行与 CI 相同的检查:
node scripts/validate.js
📄 许可证
MIT © 2025 Ing. Oscar Emmanuel Martínez Galán —
是 Tolten Aegis 和
Tolten Workspace Explorer 的姊妹项目。