← 返回列表
✓ 可直接安装
DeepSeek Harness 的统一静态图像生成路由。
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/19 · 已提供中文文档
DeepSeek Harness 的统一静态图像生成路由器:一个带有标准参数的 image_generate 工具,配置驱动的引擎路由(OpenAI Images、智谱 CogView 以及任何兼容端点),具备健康感知回退、持久化工作区附件、按会话配额核算,以及一个插件设置面板
综合分
35.5
GitHub 分
35.5
用户评分
—
★ Stars
8
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-drawnpm 包 dsh-draw 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-draw @ 0.2.14
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 02:58:35
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-util-values@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-attachment@deepseek-ai/dsh-attachment-local@deepseek-ai/dsh-brand@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-settings用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
🎨 dsh-draw
- 1024 商店渠道:先执行一次 npm i -g dsh1024,然后执行 dsh1024 plugin --profile web add dsh-draw(计入 deepseek1024.com 安装排名)。
Gitee
DeepSeek Harness 的统一静态图像生成路由。
一个工具,多种引擎——健康感知回退、持久化结果、用量计数。
License
DSH plugin
dsh-doctor
Node
CI
Version
npm version
npm downloads
English · 简体中文 · Español · Português · हिन्दी
兼容性
| 层面 | 状态 |
|---|---|
| Harness | DeepSeek Harness dsh-v0.1.5-rc.2(声明兼容 0.1.5-rc.2) |
| Node | ^22.19.0 \|\| >=24.0.0 |
| 引擎 | 任何 OpenAI 兼容的 images 端点;内置 OpenAI Images(gpt-image-1)和智谱 CogView(cogview-3-flash)预设 |
| 界面 | 宿主 image_generate 工具 + Web 结果卡片 + 插件设置标签页 |
浏览器端依托 cordis Context 和已发布的客户端包(dsh-client-ui-slots、dsh-client-ui-settings、dsh-client-ui-tool、dsh-client-locale、dsh-client-connection);它不再依赖已移除的 dsh-client-runtime 包(工具调用块通过本地结构契约读取),因此客户端界面也与 0.1.2-rc.1 宿主保持一致。
0.1.2-rc.1(适配于 2026-09-02):会话信封保留其可忽略字段,仅用于存储日志读取兼容——Session.append 仍无法写入该字段,因此审计门控行为不变。已于 2026-09-06 针对 dsh-v0.1.5-rc.2 主检出验证(完整门控链 + 配置文件安装冒烟测试)。
0.1.6-alpha.2(适配于 2026-09-18):Session.append 的第三个参数仅对符合 surface 条件的事件类型存在,且是一个 SurfaceIntent,绝不是 ignorable 信封,因此 draw/generated(一种非 surface 类型)在此行上仍然不会被写入——配额按会话在内存中计数,并在会话重启时重置,与下文“配额持久性”说明所述完全一致。已于 2026-09-18 验证(双重类型检查标尺 + 完整测试套件 + 自包含/产物/readme 门禁)。
你将获得
dsh-draw 为 harness 提供一个统一的 image_generate 工具,具有标准参数(prompt/size/count/quality/style/engine),并按引擎进行转换:
- 多引擎路由 —— 一条由配置驱动的链(OpenAI Images、智谱 CogView,或任何 OpenAI 兼容端点)自上而下遍历,并带有健康感知回退:连续失败会将某个引擎推入冷却状态,由下一个健康引擎来服务该调用。
- 持久化结果 —— 生成的图像作为工作区附件保存(内容寻址,遵循 harness 的附件策略),并以规范文件引用形式返回。
- 配额核算 —— 按会话对生成调用次数和图像字节数设置上限,从持久化会话日志中汇总,并在引擎开销之前和存储之前强制执行。
- 凭据即引用 —— 引擎 API 密钥是环境变量名称,在每次调用时通过官方 ctx.credentials 接缝解析;字面密钥绝不会存储在配置中,也绝不会被记录到日志。
- Web 界面 —— 一个对话内结果卡片(图像、引擎、配额、一键重新生成)和一个插件设置标签页(引擎链、凭据状态、探测、配额限制)。
model harness
│ image_generate {prompt, ...} ──▶ validate ──▶ quota check ──▶ router
│ openai ──(fail)──▶ cogview ──▶ images
│ ◀── canonical JSON + image blocks (durable attachment refs)
│ └── draw/generated session event (quota + audit)
快速开始
1. install the bundle into your profile
dsh plugin --profile web add "github:PerryLink/dsh-draw#main"
or from npm (published releases)
dsh plugin --profile web add dsh-draw
2. provide the engine keys as credential references (environment variables)
OPENAI_API_KEY and/or ZHIPU_API_KEY — never in the profile patch
3. restart and verify the row
dsh --profile web --dump-config | grep -A2 'id: dsh-draw'
然后让 agent 绘图:
Draw a 1536x1024 landscape of a lighthouse at dusk, vivid style.
安装与卸载
- git 渠道(最新的 main):dsh plugin --profile web add "github:PerryLink/dsh-draw#main" —— prepare 脚本仅使用生产依赖进行构建。
- npm 渠道(已发布的版本):dsh plugin --profile web add dsh-draw。
- tarball 渠道:在本仓库中运行 pnpm pack,然后运行 dsh plugin --profile web add ./dsh-draw-.tgz。
- 卸载:dsh plugin --profile web remove dsh-draw(或从 profile patch 中移除该行)。
如果 pnpm 针对此包报告 ERR_PNPM_IGNORED_BUILDS(esbuild 无害的平台二进制校验),请在你的 pnpm-workspace.yaml 中添加 allowBuilds: { esbuild: true } —— dsh CLI 会打印出确切的代码片段。
配置
所有可调项都是 Schemastery Config 字段(可从 cordis.yml 更改)。针对 id 的覆盖会替换整行 —— 请重新声明你需要的每一个键。cordis.patch.yml 内联记录了每个键。
| 键 | 默认值 | 含义 |
|---|---|---|
| engines | OpenAI + CogView 预设 | 有序引擎链,自上而下遍历并回退;每个条目:id、baseUrl(不含凭据)、model、apiKeyRef(环境变量名)、provider(openai/replicate/fal,默认 openai)、enabled、sizeMap、qualitySupported、styleSupported、responseFormat(b64_json/url)、imageMediaType |
| defaultEngine | openai | 路由器偏好的引擎 id;必须指定一个已配置的引擎 |
| requestTimeoutMs | 120000 | 每次生成的 HTTP 超时时间(1000..600000) |
| maxImagesPerCall | 4 | 单次调用可生成的图像数量上限(1..10) |
| maxPromptLength | 4000 | 提示词长度上限(字符数)(1..32000) |
| maxGenerationsPerSession | 200 | 每会话生成调用次数上限(1..100000) |
| maxBytesPerSession | 209715200 | 每会话图像字节数上限(1048576..4294967296) |
| failureThreshold | 2 | 引擎进入冷却前的连续失败次数(1..10) |
| cooldownMs | 60000 | 达到阈值后引擎的冷却时间(1000..3600000) |
在你的 profile patch 中的覆盖示例:
- insert:
- id: dsh-draw
name: dsh-draw
config:
defaultEngine: cogview
maxImagesPerCall: 2
工具与界面
| 界面 | 说明 |
|---|---|
| image_generate | 标准参数;返回规范 JSON(引擎/模型/尺寸、图像引用、配额、回退标志、尝试次数)以及图像内容块 |
| 结果卡片(tool.call.toolview,键 image_generate) | 图像、引擎/配额行、一键重新生成(完整抽屉路径:配额 + 路由 + 审计) |
| 设置选项卡(插件 → 图像生成) | 引擎链、凭据状态、设置/移除 API 密钥(凭据引用)、连通性探测、配额限制 |
权限与数据
- 权限:该插件仅向已配置的引擎端点发起出站 HTTPS 调用;其他所有界面均为只读。设置选项卡唯一的写入操作是通过官方 ctx.credentials 接缝进行的凭据设置/移除调用。
- 数据:生成的图像通过官方附件存储按照 harness 自身的附件策略保存。配额使用量由 draw/generated 会话事件汇总得出,此外在无法记录这些事件的主机上还有内存中的回退账本 —— 除此之外不存储任何内容。
- 会话日志:draw/generated 事件记录引擎、模型、标准化请求、字节总数和附件 ID——这些是审计事实,绝不包含 API 密钥。仅当宿主已知该类型或遵循 ignorable 信封(在挂载时探测)时,该事件才会被追加;在 rc.6/rc.7 宿主以及 0.1.2-rc.1 系列上(其 Session.append 无法打上标记,且在读取时对未知类型采取失败关闭策略),载荷会改为写入内存回退账本,因此生成图像不再会导致会话拒绝重新打开。
安全边界
- 凭据引用,而非字面量。 apiKeyRef 指定一个环境变量名;内嵌凭据的 baseUrl 会导致加载时大声失败。
- 净化显示。 URL、探测说明和错误文本在任何显示或日志记录之前都会被脱敏(用户信息密码、凭据查询值、bearer 令牌、JWT)。
- 先配额后消费。 生成和字节上限在引擎调用之前以及附件存储之前检查;配额耗尽的会话快速失败,不消耗引擎额度。
- 大声失败,刻意回退。 格式错误的响应以结构化错误形式呈现;失败的引擎在达到冷却阈值后被跳过,完全耗尽的链返回完整的尝试记录,而不是假装成功。
已知限制
- 仅限图像模型。 不支持视频、音频或编辑端点;不支持视觉理解。
- 引擎兼容性。 通过提供者接缝支持三种词汇表:openai(POST /images/generations 形态)、replicate(预测创建 + 轮询)和 fal(fal.run 队列)。超出 prompt/尺寸/数量之外的提供者特定额外参数(例如 seed、scheduler)不在范围内。
- 成本感知是结构性的。 插件统计调用次数和字节数,但不知道引擎定价——请与 dsh-budget 搭配使用以进行成本治理。
- rc.6/rc.7、0.1.2-rc.1 和 0.1.6-alpha.2 上的配额持久性。 在会话日志无法携带 draw/generated 的宿主上(静态事件白名单,无 ignorable 信封;0.1.2-rc.1 无法打上标记,且在读取时对未知事件类型采取失败关闭策略;在 0.1.6-alpha.2 上,append 的第三个参数是仅用于 surface 类型的 SurfaceIntent,因此非 surface 事件无法被标记),配额通过内存回退账本对活动会话保持精确,但重启后会重置;持久化记账在具有插件事件表面的宿主上恢复。第一次被拒绝的提交会发出一次警告,因此降级的会话是可见的,而不是静默的。
开发
pnpm install # node ^22.19 || >=24
pnpm run typecheck # tsc: src + tests against the local harness checkout
pnpm run typecheck:ci # tsc against the published 0.1.5-rc.2 faces (no paths)
pnpm test # vitest: 17 spec files (scripted transport, real Context/Session/ToolRuntime)
pnpm run build # tsc declarations + tsdown bundles (lib/)
pnpm run verify:self-contained # dependency specs resolve from the registry
pnpm run verify:artifacts # 宿主 ESM 面 + typert 清单 + 浏览器打包产物 + 配置文件
pnpm pack # 发布用的 tarball
主题
dsh、dsh-plugin、deepseek-harness、deepseek、cordis、image-generation、openai-images、cogview、zhipu、text-to-image
贡献者
- @PerryLink — 创建者与维护者:引擎路由、抽屉、配额核算、Typert 通信词汇、浏览器端,以及五种语言的文档。
- @Mohei-Muun — 报告了 rc.7 宿主上的 draw/generated 会话日志卸载缺陷(#2),由此促成了自适应事件门控。
PerryLink DSH 插件家族
本项目是 PerryLink 维护的 40 个 DeepSeek Harness 插件之一。如果这个插件对你有帮助,其他的很可能也会:
| 插件 | 一句话简介 |
|---|---|
| dsh-auto-review | 审批链上的第二模型自动审查,默认失败即关闭 | |
| dsh-background-agents | 持久化的后台子代理,带 Web UI 侧边栏、消息传递与中断 | |
| dsh-budget | DeepSeek Harness 的成本治理:预算、碳排与延迟集于一个面板。 | |
| dsh-checkpoint-rewind | 等同于 Claude Code 的 /rewind:快照、会话分叉、一键恢复 | |
| dsh-claude-move | 将 Claude Code 的会话、记忆、技能与 CLAUDE.md 迁移到 DSH | |
| dsh-click | 面向 DeepSeek Harness 的跨平台原生桌面控制——以 Windows 优先。 | |
| dsh-composer-history | Web 输入框的终端风格输入历史:方向键、Ctrl+R 搜索 | |
| dsh-data-quality | 数据集质量检查与引用交叉核对(此处消费的可选数值桥) | |
| dsh-defend | 面向 DeepSeek Harness 的提示注入、越狱与机密泄露防御。 | |
| dsh-doublecheck | 工程纪律守卫:需求拷问、测试门禁、对抗式审查 | |
| dsh-fast | 面向 DeepSeek Harness 的只读性能诊断。 | |
| dsh-fund-research | 面向中国公募基金的确定性研究报告 | |
| dsh-github | 面向 DSH 的 GitHub PR/issue 集成,每次写入均需审批 | |
| dsh-industry-research | 行业研究编排,通过本插件的 ctx.researchReport.assemble 封存其交付物 | |
| dsh-library | 面向 DeepSeek Harness 的本地文档知识库。 | |
| dsh-local-ai | 面向 DeepSeek Harness 的本地模型(Ollama)集成。 | |
| dsh-lsp-actions | 基于语言服务器的 LSP 诊断、格式化、补全、代码操作与重命名 | |
| dsh-mask | PII 脱敏中间件:在模型边界匿名化,在展示层还原 | |
| dsh-mcp-panel | 只读 MCP 运行时面板:/mcp 命令 + 设置标签页,显示状态、工具与错误 | |
| dsh-memento | 需审批的跨会话记忆:ctx.memory 接缝 + SQLite + memory 工具 | |
| dsh-observe | 面向 DeepSeek Harness 的 OpenTelemetry 与 Langfuse 可观测性导出器。 | |
| dsh-output-styles | 与 Claude Code outputStyles 等效的运行时风格切换 | |
| dsh-reach | 多渠道审批/提问桥接:微信/Telegram/飞书,会话控制台 | |
| dsh-permission-rules | Claude Code 风格的声明式允许/拒绝/询问权限规则,带审计 | |
| dsh-personal-directive | 带顶栏开关的个人指令注入器(框架版) | |
| dsh-plugin-guide | 作为按需智能体技能的插件开发知识库 | |
| dsh-plugin-doctor | 面向 DSH 插件的零依赖静态 + 沙箱冒烟检测器 | |
| dsh-research-report | 可验证的研究报告引擎:内容寻址的证据账本与封存版本 | |
| dsh-score | 面向 DeepSeek Harness 插件的多维度质量评分。 | |
| dsh-session-pin | 在 Web 侧边栏中固定会话,并保持持久排序 | |
| dsh-session-sync | 面向 DeepSeek Harness 的跨设备会话同步——你会话存储的专用 git 镜像。 | |
| dsh-skill-pack-security | 安全审计技能包:密钥扫描、依赖与供应链审查 | |
| dsh-talk | 面向 DeepSeek Harness 的语音优先会话循环:与它对话,听它回答。 | |
| dsh-test-drive | 面向 DeepSeek Harness 插件的隔离式安装与冒烟测试驱动。 | |
| dsh-ticktick | TickTick/滴答清单任务桥接:会话头部面板 + 11 个工具 |
| dsh-translate | 面向 DeepSeek Harness 的厂商参数转换与确定性 JSON 修复。 | |
| dsh-wechat | 微信 ↔ DSH 桥接(腾讯 iLink 机器人):文本/图片/文件/语音,聊天内审批 |
| dsh-autotier | 自动进行强/廉价模型层级路由,具备确定性风险防护和 /tier 命令 | |
| dsh-catalog | PerryLink 系列的 DSH Desktop Market 标准目录源 | |
| dsh-cert-mcp | 只读 MCP 服务器,公开认证注册表:评级、快照和五维证据 | |
| dsh-kit | 一键安装核心系列插件的入门包 | |
| dsh-plugin-certification | 社区认证注册表,提供可复现检查的评级和徽章 | |
| dsh-plugin-kit | 面向 PerryLink DSH 插件的共享零运行时依赖工具包 | |
| dsh-plugin-portal | 零依赖静态门户,将整个插件系列渲染为单个页面 | |
| dsh-plugin-upgrade-015 | 合并的 0.1.3-alpha.1 → 0.1.5-rc.1 升级通道卡片,外加零依赖接缝扫描器 | |
| dsh-team-rooms | 跨会话团队房间:共享消息总线、任务板和时线 | |
从 DSH Desktop Market 安装
所有 PerryLink 插件均可在内置的 DSH Desktop Market 中浏览:Market → Sources → add source → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选择它。安装仍需经过 Market 的 npm 身份验证和你的确认。
许可证
Apache License 2.0 © 2026 dsh-draw contributors扫码进群