鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-draw

多引擎文生图(OpenAI Images 与智谱 CogView 预设):按会话配额、引擎故障切换、凭证安全配置,结果卡片支持重新生成。

视觉多模态
访问 GitHub
文档README

🎨 dsh-draw

  • 1024 商店渠道:先 npm i -g dsh1024,再 dsh1024 plugin --profile web add dsh-draw(计入 deepseek1024.com 安装排行)。

DeepSeek Harness 的统一静态图像生成路由。

一个工具、多个引擎 —— 健康感知回退、结果持久、用量记账。

English · 简体中文 · Español · Português · हिन्दी


兼容性

方面状态
HarnessDeepSeek Harness dsh-v0.1.3-alpha.1(声明兼容 0.1.2-rc.1)
Node^22.19.0 || >=24.0.0
引擎任意 OpenAI 兼容图像端点;内置 OpenAI Images(gpt-image-1)与智谱 CogView(cogview-3-flash)预设
界面Host image_generate 工具 + Web 结果卡片 + Plugins 设置页签

浏览器半边基于 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 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。已于 2026-09-06 对照 dsh-v0.1.3-alpha.1 master 检出核验(完整门禁链 + profile 安装冒烟)。

你能得到什么

dsh-draw 给 harness 一个统一的 image_generate 工具,标准参数(prompt/size/count/quality/style/engine)按引擎翻译:

  • 多引擎路由 —— 配置驱动的引擎链(OpenAI Images、智谱 CogView 或任意 OpenAI 兼容端点)自上而下执行,健康感知回退:连续失败让引擎进入冷却,由下一个健康引擎接单。
  • 结果持久化 —— 生成的图片存为工作区附件(内容寻址、受 harness 附件策略约束),返回规范文件引用。
  • 配额记账 —— 按会话的调用次数与图片字节上限,从持久会话日志折叠计算,引擎开销前与落盘前双重强制。
  • 凭据即引用 —— 引擎 API 密钥是环境变量名,每次调用经官方 ctx.credentials 接缝解析;配置里绝不写明文、日志里绝不出现。
  • Web 界面 —— 会话内结果卡片(图片、引擎、配额、一键重新生成)与 Plugins 设置页签(引擎链、凭据状态、探测、配额上限)。
▼
text
复制代码
模型 harness │ image_generate {prompt, ...} ──▶ 校验 ──▶ 配额检查 ──▶ 路由 │ openai ──(失败)──▶ cogview ──▶ 图片 │ ◀── 规范 JSON + 图片块(持久附件引用) │ └── draw/generated 会话事件(配额 + 审计)

快速开始

▼
sh
复制代码
# 1. 把 bundle 装进你的 profile dsh plugin --profile web add "github:PerryLink/dsh-draw#main" # 或从 npm 安装(正式发布版) dsh plugin --profile web add dsh-draw # 2. 以凭据引用(环境变量)提供引擎密钥 # OPENAI_API_KEY 和/或 ZHIPU_API_KEY —— 绝不写进 profile patch # 3. 重启并核实行 dsh --profile web --dump-config | grep -A2 'id: dsh-draw'

然后让 agent 画图:

▼
text
复制代码
> 画一张 1536x1024 的黄昏灯塔风景,vivid 风格。

安装与卸载

  • 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-<version>.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 内联说明了每个键。

键默认值含义
enginesOpenAI + CogView 预设有序引擎链,自上而下带回退;每项:id、baseUrl(不含凭据)、model、apiKeyRef(环境变量名)、enabled、sizeMap、qualitySupported、styleSupported、responseFormat(b64_json/url)、imageMediaType
defaultEngineopenai路由首选引擎 id;必须是已配置引擎
requestTimeoutMs120000每次生成 HTTP 超时(1000..600000)
maxImagesPerCall4单次调用可生成图片上限(1..10)
maxPromptLength4000提示词字符上限(1..32000)
maxGenerationsPerSession200每会话生成调用上限(1..100000)
maxBytesPerSession209715200每会话图片字节上限(1048576..4294967296)
failureThreshold2引擎进入冷却前的连续失败次数(1..10)
cooldownMs60000触发阈值后的冷却时长(1000..3600000)

profile patch 中的覆盖示例:

▼
yaml
复制代码
- insert: - id: dsh-draw name: dsh-draw config: defaultEngine: cogview maxImagesPerCall: 2

工具与界面

界面说明
image_generate标准参数;返回规范 JSON(引擎/模型/尺寸、图片引用、配额、回退标志、尝试记录)加图片内容块
结果卡片(tool.call.toolview,key image_generate)图片、引擎/配额行、一键重新生成(完整 drawer 路径:配额 + 路由 + 审计)
设置页签(Plugins → 图像生成)引擎链、凭据状态、设置/移除 API 密钥(凭据引用)、连通性探测、配额上限

权限与数据

  • 权限:插件仅对配置的引擎端点发起 HTTPS 出站请求;其余界面全部只读。设置页签唯一的写入是对官方 ctx.credentials 接缝的凭据设置/移除。
  • 数据:生成的图片经官方附件存储落盘,受 harness 附件策略约束。配额用量从 draw/generated 会话事件折叠;在无法安全落盘该事件的宿主上另加内存兜底账簿 —— 除此之外不存储任何东西。
  • 会话日志:draw/generated 事件记录引擎、模型、标准化请求、字节总量与附件 id —— 审计事实,绝不包含 API 密钥。仅当宿主收录该类型或支持 ignorable 信封时才落盘(挂载期探测);在 rc.6/rc.7 宿主与 0.1.2-rc.1 线(append 无法盖章、读取时对未知类型失败关闭)上,载荷改记内存兜底账簿,生成图片不再导致会话重启后无法打开。

安全边界

  • 凭据即引用,绝不写明文。 apiKeyRef 命名环境变量;baseUrl 内嵌凭据会在加载期大声失败。
  • 展示脱敏。 URL、探测备注与错误文本在展示或写日志前脱敏(userinfo 密码、凭据查询值、bearer token、JWT)。
  • 配额先于开销。 调用与字节上限在引擎调用前与附件落盘前检查;超限会话快速失败、不烧引擎额度。
  • 大声失败、刻意回退。 畸形响应给出结构化错误;引擎达到冷却阈值后被跳过;整条链耗尽时返回完整尝试记录而非假装成功。

已知限制

  • 仅图像模型。 无视频、音频或编辑端点;无视觉理解。
  • 引擎兼容性。 引擎需支持 OpenAI POST /images/generations 形状(base64 或 URL 交付);厂商专属扩展不在范围内。
  • 成本感知是结构性的。 插件统计调用次数与字节,但不了解引擎定价 —— 与 dsh-budget 配合做成本治理。
  • rc.6/rc.7 与 0.1.2-rc.1 上的配额持久性。 会话日志无法安全携带 draw/generated 的宿主(静态事件白名单、无 ignorable 信封;0.1.2-rc.1 无法盖章并在读取时对未知事件类型失败关闭)上,配额经内存兜底账簿在活会话内保持精确,但重启后重置;宿主具备插件事件面后恢复持久记账。

开发

▼
sh
复制代码
pnpm install # node ^22.19 || >=24 pnpm run typecheck # tsc:src + tests,对照本地 harness checkout pnpm run typecheck:ci # tsc:对照已发布的 0.1.2-rc.1 类型(无 paths) pnpm test # vitest:107 个测试、16 个测试文件(scripted 传输、真实 Context/Session/ToolRuntime) pnpm run build # tsc 声明 + tsdown 打包(lib/) pnpm run verify:self-contained # 依赖声明全部来自 registry pnpm run verify:artifacts # host ESM 面 + typert manifest + 浏览器包 + 配置文件 pnpm pack # 发布用 tarball

Topics

dsh, dsh-plugin, deepseek-harness, deepseek, cordis, image-generation, openai-images, cogview, zhipu, text-to-image

Contributors

  • @PerryLink —— 创建者与维护者:引擎路由、drawer、配额记账、Typert wire 词汇、浏览器半与五语文档。
  • @Mohei-Muun —— 报告了 rc.7 主机上 draw/generated 会话日志导致会话无法重载的缺陷(#2),推动了自适应事件门控的实现。

PerryLink DSH Plugin Family

这是 PerryLink 维护的 37 个 DeepSeek Harness 插件 之一。如果它能帮到你,其他的也会:

PluginOne-liner
dsh-auto-review审批链上的第二模型自动审查,默认失败关闭
dsh-background-agents带 Web UI 侧栏、消息与中断的持久后台子代理
dsh-budgetDeepSeek Harness 的成本治理:预算、碳排与延迟一屏呈现。
dsh-checkpoint-rewindClaude Code /rewind 等价:快照、会话 fork、一次性恢复
dsh-claude-move把 Claude Code 会话、记忆、技能与 CLAUDE.md 迁入 DSH
dsh-click跨平台原生桌面控制(DeepSeek Harness),Windows 优先。
dsh-composer-historyWeb 输入框的终端式历史:方向键、Ctrl+R 搜索
dsh-data-quality数据集质量检查与引文核查(本插件可选消费的数字核查桥)
dsh-defendDeepSeek Harness 的提示注入、越狱与密钥泄露防护。
dsh-doublecheck工程纪律守卫:需求质询、测试门禁、对手评审
dsh-fastDeepSeek Harness 只读性能诊断。
dsh-fund-research面向中国公募基金的确定性研究报告
dsh-github面向 DSH 的 GitHub PR/issues 集成,每次写入经审批门控
dsh-industry-research行业研究编排,经本插件的 ctx.researchReport.assemble 封存交付物
dsh-libraryDeepSeek Harness 的本地文档知识库。
dsh-local-aiDeepSeek Harness 的本地模型(Ollama)接入。
dsh-lsp-actions通过语言服务器的 LSP 诊断、格式化、补全、代码操作与重命名
dsh-maskPII 脱敏中间件:模型边界匿名化、展示层还原
dsh-mcp-panel只读 MCP 运行时面板:/mcp 命令 + 带状态、工具与错误的 Settings 标签页
dsh-memento审批门控的跨会话记忆:ctx.memory 接缝 + SQLite + 记忆工具
dsh-observeDeepSeek Harness 的 OpenTelemetry 与 Langfuse 可观测导出器。
dsh-output-stylesClaude Code outputStyles 等价的运行时风格切换
dsh-reach多渠道审批/提问桥接:微信/Telegram/飞书,会话控制台
dsh-permission-rulesClaude Code 风格声明式 allow/deny/ask 权限规则,带审计
dsh-personal-directive个人指令注入器:顶栏开关(框架版)
dsh-plugin-guide作为按需代理技能的插件开发知识库
dsh-research-report可验证研究报告引擎:内容寻址证据账本与封存版本
dsh-scoreDeepSeek Harness 插件的多维质量评分。
dsh-session-pin在 Web 侧栏置顶会话,带持久排序
dsh-session-syncDeepSeek Harness 的跨设备会话同步——会话存储的专用 git 镜像。
dsh-skill-pack-security安全审计技能包:密钥扫描、依赖与供应链审查
dsh-talkDeepSeek Harness 的语音优先会话闭环:对它说,听它答。
dsh-test-driveDeepSeek Harness 插件的隔离试装冒烟。
dsh-ticktickTickTick/滴答清单任务桥接:会话头面板 + 11 个工具
dsh-translateDeepSeek Harness 的厂商参数翻译与确定性 JSON 修复。
dsh-wechat微信 ↔ DSH 桥接(Tencent iLink 机器人):文本/图片/文件/语音,聊天内审批卡片

License

Apache License 2.0 © 2026 dsh-draw contributors

从 DSH Desktop 市场安装

所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:市场 → 来源 → 添加来源 → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选中。安装仍需通过市场的 npm 身份校验与你的确认。

视觉多模态

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:PerryLink/dsh-draw

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-web-ui#packages/dsh-tool-describe-image
给纯文本模型补视觉:describe_image 把本地路径/URL/附件图片交给可配置的 OpenAI 兼容视觉端点,进会话的只有返回文本。
dsh-image-viewer
增强 DSH 原生图片查看体验,支持指针中心缩放、拖动、画廊、下载、键盘操作和图片区域备注(Beta)。
dsh-appshots
给 DSH Desktop 用的窗口截图,支持 macOS 和 Windows:macOS 按两边 Command、Windows 按两边 Ctrl(或点输入框旁相机)捕获当前前台窗口并附加到会话,同时把可读的窗口文字注入为隐藏上下文。
dsh-vision-pro-bridge
视觉桥:贴图先经 deepseek-v4-flash-vision-exp 转写为文字,再交给纯文本的 deepseek-v4-pro 回答,零第三方依赖。
dsh-tool-vision
通过 inspect_image 工具将本地图片或 HTTP(S) 图片链接发送至配置的 OpenAI 兼容视觉端点,并将文字结果带回对话。