中文EN

dsh-genbox-plugin

tools已测通过npmMIT

通过本地 GenBox 服务生图、改图、生视频,并用 ffmpeg 本地剪辑;自带零成本测试台。

下载量 / Downloads
762
依赖体积 / node_modules
9.21 MB
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-genbox-plugin

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-genbox-plugin

![npm](https://www.npmjs.com/package/dsh-genbox-plugin)

![CI](https://github.com/liwei9745/dsh-genbox-plugin/actions/workflows/ci.yml)

![license](./LICENSE)

把 GenBox(本地 FastAPI 媒体生成工作台)接入

DeepSeek Harness 的插件 bundle,让 DSH 里的 agent

能直接生图、改图、生视频、改视频(再生成式)并取回媒体库素材。

English: [README.en.md](./README.en.md)

插件驱动的是你本机的 GenBox 工作台:provider、API Key、尺寸、风格都在那个界面里管理;
插件只负责把这些能力交给 agent,并把生成的图片/视频落到本地目录后把路径交回给模型。

真图示例(全部由本插件跑出来,未做后期)

文生图 · 局部重绘(白框内替换,其余原样保留) · 变体(同底图重画)

![文生图产物](assets/screenshots/03-result-t2i.jpg) · ![局部重绘产物](assets/screenshots/04-result-inpaint.jpg) · ![变体产物](assets/screenshots/05-result-variation.jpg)

精准改图:左侧画布手绘批注,右侧实时预览(批注会被转成打码叠加图交给 GenBox):

全部工具的参数速查见 [docs/tools.md](./docs/tools.md)(由代码自动生成,不会和实现漂移);

与 GenBox 集成的实测踩坑清单(含根因与源码位置)见 [docs/genbox-pitfalls.md](./docs/genbox-pitfalls.md);

前端可达性检查覆盖矩阵(为什么必须"先命中测试再发真实指针")见 [docs/browser-checks.md](./docs/browser-checks.md)。

验证与证据(三条入口)

想看什么 · 去哪 · 一键复跑

现在到底通不通 · [docs/verification.md](./docs/verification.md)(内嵌一次真实运行的原始输出,22 个套件) · node scripts/verify-all.mjs

前端交互是否真的能点/能拖 · [docs/browser-checks.md](./docs/browser-checks.md)(可达性覆盖矩阵,6 项断言) · node scripts/browser/measure-splitters.cjs

接 GenBox 会踩哪些坑 · [docs/genbox-pitfalls.md](./docs/genbox-pitfalls.md)(10 条,含根因源码位置) · —

我们改过 GenBox 本体什么 · [ROADMAP.md](./ROADMAP.md) 的「上游修复台账」 · —

全部套件默认跑零成本 mock provider;真实 provider 联调是显式的 GENBOX_REAL_PROVIDER=...,绝不隐式花钱。
缺前置(GenBox / ffmpeg / Playwright / 已装 profile)时套件会 SKIP 并写明怎么补,不会假装通过。

调研结论与设计见 [PLAN.md](./PLAN.md);内部结构与如何加工具见 [docs/architecture.md](./docs/architecture.md);

安装、配置与排错见 [docs/install.md](./docs/install.md);本机联调环境(含免 Key 的 mock provider)见

[docs/local-dev.md](./docs/local-dev.md);发布流程见 [docs/releasing.md](./docs/releasing.md)。

30 秒上手

装完之后三步(也可以直接让 agent 替你做):

1. 打开工作台:对 agent 说「打开 GenBox 工作台」(它会调 genbox_open_workbench),

或自己用浏览器打开 http://127.0.0.1:8892/ —— provider、API Key、设置都在这个界面里。

2. 自检:「跑一下 GenBox 自检」(genbox_doctor)—— 它会逐项告诉你还缺什么,并给出下一步清单。

3. 开始用:直接说「用 GenBox 画一只在雪地里的柴犬」。

GenBox 没在跑时,第 1 步会明确告诉你它没应答,并指向 [docs/local-dev.md](./docs/local-dev.md) 的启动命令。

形态

DSH agent → dsh-genbox-plugin (TypeScript) ──HTTP──▶ GenBox FastAPI (127.0.0.1:8892) ──▶ providers

不修改 GenBox 本体:它本身已有 117 条 REST 路由,本插件只是调用方,因此 GenBox 可以独立升级。

GenBox 是 GPL-3.0,本插件是 MIT——只通过 HTTP 调用,不含其源码。

证据看板(不需要模型凭据)

`sh

node scripts/lab.mjs # http://127.0.0.1:3098/

`

打开后可以看到:GenBox 连接状态与 provider、插件注册的工具清单(从构建产物里解析,不会撒谎)、

GenBox 图库素材、本地产物缩略图,以及每条复现命令。

三个端口别搞混:

端口 · 是什么

3098 · 证据看板(本插件自带,只读,无需凭据)

3099 · DSH 会话页(agent 聊天;需要模型凭据)

8892 · GenBox 自己的工作台(画图、看图库、配 provider)

状态

里程碑 · 内容 · 状态

M0 · GenBox 本地跑起来 · ✅ Python 3.11 venv + dev 模式 127.0.0.1:8892,v2.6.12

M1 · 插件骨架 + genbox_health · ✅ 构建、注册、调用通过;已作为 bundle 装进 profile 并启动

M2 · genbox_image_generate 文生图 · ✅ 端到端实测(mock provider)

M3 · 改图 / 超分 / 变体 / 抠图 · ✅ i2i、inpaint、超分、变体端到端实测;抠图缺 checkpoint 时报 cutout_model_missing

M4 · genbox_video_generate 视频 · ✅ 端到端实测(mock volcengine provider,下载到本地 mp4)

M5 · genbox_gallery / 提示词优化 · ✅ 图库列出并复制;无 LLM provider 时返回原文回退

M6 · 打包与分发 · ✅ pnpm pack → dsh plugin add <tarball> → 启动打印 [genbox] plugin loaded

M7 · 发布到 npm · ✅ dsh-genbox-plugin@0.1.0,并已用从 npm 安装的那份产物实跑生图

M8 · 插件市场就绪性 · ✅ 用市场自己的模块验证:dsh.bundle.patch 就位、host 兼容(0.2.0-rc.2 → compatible)、profile 预检 0 risks

M9 · 真实 provider 端到端 · ✅ 用本机 gpt-image(model gpt-image-2-vip)实跑:真文生图 844KB PNG 1024×1024(50s)+ 真 i2i 改图 1.25MB;6 项断言全过

M10 · 验收旅程 · ✅ verify-journey.mjs 17 项断言:自检 → 生图 → 图生图 → 精准改图 → 后台生视频 → 收取 → 取消 → 本地剪辑 → 图库

安装

三种方式任选其一,都要求 GenBox 已在本机运行(默认 http://127.0.0.1:8892)。

1. 从 tarball(已实测)

corepack pnpm pack                                  # 产出 dsh-genbox-plugin-0.1.0.tgz
dsh plugin --profile <profile> add ./dsh-genbox-plugin-0.1.0.tgz

因为 package.json 声明了 dsh.bundle,dsh plugin 会自动把 dsh-genbox-plugin 追加进

dsh.profile.bundles。启动时会打印:

[genbox] plugin loaded (baseUrl=http://127.0.0.1:8892)

2. 从本地源码(开发用)

dsh --profile <profile> --patch E:/AI/GenBox-dsh/dev/overlay.cordis.yml

3. 从 npm 安装(已发布)

# 0.1.0 已在 npm 上,装的是预构建产物,不需要任何构建授权
dsh plugin --profile <profile> add dsh-genbox-plugin

dsh --profile <profile> --dump-config | Select-String genbox   # 确认插件层已生效
装进 desktop profile 后需要重启 DSH NEXT 才生效。建议先用独立 profile
(dsh --profile genbox-dev --from-default-profile web)验证。

在 DSH NEXT 里直接用 GenBox(不跳浏览器)

从 0.2.0 起,插件带一个原生侧边栏面板:GenBox 自己的 Web UI 直接嵌在 DSH NEXT 右侧边栏里。

  • 打开:Ctrl+Shift+G,或右侧边栏「新标签页」里的 GenBox 卡片;
  • 面板自带地址栏(默认 http://127.0.0.1:8892/,可改成 8891 或别的端口,会记住)、刷新、在系统浏览器中打开;
  • 为什么不是 iframe:GenBox 的 HTML 发 X-Frame-Options: DENY 和 frame-ancestors 'none',

浏览器一定拒绝。桌面端因此走 DSH 官方的 webview 租约

(dshDesktop.browser.acquire(workspace) → about:blank#<lease> + partition → loadURL),

与内置浏览器同一套主进程审批 / 隔离策略;纯浏览器环境下没有该通道,面板会明确提示改用系统浏览器。

工具

工具 · 作用

genbox_server · 启停服务:在对话里启动 / 停止 / 重启 / 查看本机 GenBox(action=status\ · start\ · stop\ · restart)。自动找安装目录,启动后等到真的应答;停止只杀命令行确实是 GenBox main.py 的进程

genbox_doctor · 自检:可达性、认证模式、provider/Key 就绪、输出目录可写、ffmpeg 是否可用,并给出修复建议

genbox_open_workbench · 打印/打开 GenBox 工作台(首装后的第一步)

genbox_health · 探测 GenBox 是否在线

genbox_providers · 列出 provider / 模型 / 能力(调用前先查能力)

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:9,最后更新 2026-10-05

链接

GitHub · Homepage · npm

同类插件