dsh-ark9canvas

DSH PLUGIN工具与能力

仓库 Aik358/dsh-ark9canvas

工具与能力 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

DSH 生图工作台与 Agent 生图工具:一个工具(ark9_generate_image)走任意 OpenAI 兼容图片 API 文生图/图生图。渠道完全由用户自行添加——默认零预置,自带 baseURL、Key 与模型名即可(支持手动输入任意模型名)。Agent 发起的生图默认需用户审批:请求进入浮窗审批页,批准才开始生成并计费;审批非阻塞——Agent 立即回复"等你审批",结果、拒绝或超时以通知注入后续轮次并自动汇报。玻璃拟态浮窗五页签(生成/审批/提示词/记录/说明)、比例网格(质量预算+16px 对齐)、透明背景、批量最多 10 张(子任务聚合,部分成功也返回)、提示词库(自定义 JSON 来源经宿主代理拉取)、生成记录持久化与一键重试、多渠道聚合与逐渠道拉模型、中英双语界面、线性 SVG 图标、配置导入导出。安装 dsh-better-sidebar 自动注册侧栏页签;与 dsh-cua 共存时自动堆叠其悬浮按钮上方。

一句话选型结论

按资料字段整理

dsh-ark9canvas 是工具与能力类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 未标注 复刻 未标注 · 未关闭 issue 未标注
最近更新 未标注 创建于 未标注
README 10.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按仓库说明试装。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-ark9canvas当前 未做沙盒验证 未标注 未标注 未标注 无
loopx 未做沙盒验证 未标注 6,233 未标注 无
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有
dsh-blender-plugin 未做沙盒验证 未标注 211 未标注 无
tokenledger L5 · 运行验证通过 低风险 204 0.2.0-rc.2 等 11 个 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Aik358仓库 dsh-ark9canvas · 默认分支 未标注
分类工具与能力tools
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue未标注 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 未标注最后推送 未标注
本站收录2026-10-14首次进入本站目录的时间

README 全文

10.3 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-ark9canvas — Image Generation Workbench & Agent Tool for DeepSeek Harness

中文 · English · License BSD-3-Clause · pnpm add @a9i5k4/dsh-ark9canvas

> v0.4.0 UPDATE — Bilingual UI (Chinese/English, one-tap switch in the panel header and Settings) and a full stroke-SVG icon set replacing emoji, matching the DeepSeek Harness visual language. Evolution roadmap: docs/ROADMAP.md. — The image workbench is now feature-complete against the reference design: aspect-ratio grid with the same quality-budget + 16px-alignment formula, transparent background, batch generation up to 10 images (independent sub-tasks, partial success still returns what finished), a prompt library with custom JSON sources, multi-channel aggregation, persistent generation logs with retry, and config import/export.

An image-generation plugin for the DeepSeek Harness Web GUI: the agent paints on request via one tool, you paint on demand in a floating workbench — and every agent-initiated generation waits for your approval by default, so nothing bills without a human nod.

The problem it solves: image APIs bill per call, yet agent-initiated generation usually runs blind — a bad prompt retries itself, a loop burns your balance. This plugin puts a human gate in the loop: the tool blocks until you approve in the panel (or denies/timeouts with a clear message and zero cost), while the workbench itself stays one click away for your own un-gated use.


Highlights in 30 seconds

Approval gate by default Every agent generation waits in the panel's Approvals tab — approve, deny, or let it time out; denial and timeout never bill
One workbench, two homes Floating FAB + glass panel out of the box; auto-registers as a Better Sidebar tab when dsh-better-sidebar is installed; stacks above dsh-cua's FAB when both exist
Full size system Aspect-ratio grid (12 presets + auto) computed with the quality-budget + 16px-alignment formula; manual W×H with 16-multiple snapping; gpt-image models auto-snap to the three native sizes
Batch up to 10 Each image runs as an independent sub-task aggregated into one batch — partial success still returns what finished, with per-batch ok/fail counts
Transparent background One toggle sends background:"transparent" (supported by gpt-image family)
Prompt library Local favorites (☆) + custom JSON sources fetched through a host-side proxy — no CORS, no bundled third-party content
Multi-channel aggregation Keep several OpenAI-compatible relays (baseURL + key + model each), switch the active one, fetch model lists per channel
Persistent generation logs Every batch is recorded with params and outcomes; failed batches retry with one click; multi-select delete
Bilingual UI One-tap Chinese/English switch (panel header + Settings), initialized from your browser language
AI-friendly by design Tool results return saved file paths + dimensions — never base64 blobs — unless you explicitly ask for them; references accept dataURLs or previous output paths for iterative editing

Feature tour

Approval gate — human in the loop, by default

When the agent calls ark9_generate_image, the request appears in the panel's Approvals tab with the prompt, parameters, and elapsed wait time. Approve → generation starts and bills; Deny → the tool returns a clear "user denied" message and the agent asks what to change instead of retrying; Timeout (configurable, 5–600 s) → cancelled, nothing billed. Set Settings → Ark9 生图 → 安全 to never if you want unattended auto-generation.

Workbench — five tabs

  • 生成 Generate: prompt, reference images (upload or clipboard paste), model dropdown with per-channel fetch, aspect-ratio grid / manual W×H, quality, transparent toggle, 1–10 count
  • 审批 Approvals: pending agent requests with one-click approve/deny
  • 提示词 Prompts: search, click to apply, ☆ to favorite locally; custom JSON sources ([{title, prompt, tags?}]) proxied through the host to bypass browser CSP/CORS
  • 记录 Logs: every generation with status pills (成功 / 部分成功 / 失败), retry, multi-select delete, click-to-preview
  • 说明 About: quick reference

Size system — faithful to the reference formula

Ratios compute their pixel dimensions from a quality budget (low 1K² / medium 2K² / high 4K²) with 16-pixel alignment, exactly like the reference workbench. Because the gpt-image family only accepts three native sizes (1024×1024, 1536×1024, 1024×1536), gpt-image models automatically snap the computed size to the nearest native one; other models send the raw computed size. Manual W×H with a 16-multiple alignment toggle is always available.

Iterative editing — paths, not blobs

ark9_generate_image returns saved file paths with dimensions. Pass any previous output path back via images and the plugin reads the file and runs an /images/edits multipart call — multi-turn "make the robot red" works without ever stuffing base64 into the conversation. returnDataUrl: true opts into inline base64 when a client truly needs it.

Channels — aggregate your relays

Configure multiple OpenAI-compatible channels (name + baseURL + key + default model), mark one active, fetch each channel's model list from its own /models. The active channel serves both the agent tools and the workbench; single-channel setups from older versions migrate automatically.


Engineering core (restraint by design)

  • Zero runtime dependencies beyond Node built-ins
  • Batch aggregation: count N → N independent sub-tasks (n:1 each), merged into one batch view with ok/fail counts — one slow image never blocks the others
  • Durable state: tasks and logs persist to ~/.dsh/ark9-canvas-*.json; a server restart never orphans a poll
  • Loopback-only routes: every API route rejects non-localhost callers; file routes are name-sanitized against path traversal
  • No third-party prompt content bundled: sources are user-provided URLs

Install (one command)

> Prerequisite: install DeepSeek Harness and start dsh web at least once.

Run in the profile directory (~/.dsh/profiles/web):

cd ~/.dsh/profiles/web
pnpm add @a9i5k4/dsh-ark9canvas

Then edit package.json in that directory and append to the dsh.profile.bundles array:

"@a9i5k4/dsh-ark9canvas"

Restart dsh web — the 🖼️ floating button appears (or a sidebar tab, with Better Sidebar installed). Open Settings → Ark9 生图 once to add a channel (baseURL with /v1, API key, model such as gpt-image-2).

> No pnpm? npm install @a9i5k4/dsh-ark9canvas works the same.
> pnpm v11 blocks packages published <1 day ago: set minimumReleaseAge: 0 in pnpm-workspace.yaml or pin an explicit version for same-day updates.

AI-era installation

Copy this to the AI assistant you're already using:

Install the npm package @a9i5k4/dsh-ark9canvas in the DeepSeek Harness web profile
directory ~/.dsh/profiles/web (pnpm add or npm install),
append &quot;@a9i5k4/dsh-ark9canvas&quot; to the dsh.profile.bundles array in package.json,
then restart dsh web. After that, open Settings → Ark9 生图 and add an
OpenAI-compatible image channel (baseURL with /v1, API key, model).

Updating

cd ~/.dsh/profiles/web &amp;&amp; pnpm up @a9i5k4/dsh-ark9canvas

Configuration

Config file ~/.dsh/ark9-canvas.json (everything adjustable in the Settings GUI):

{
&quot;baseURL&quot;: &quot;https://your-relay.example/v1&quot;,
&quot;apiKey&quot;: &quot;sk-...&quot;,
&quot;model&quot;: &quot;gpt-image-2&quot;,
&quot;quality&quot;: &quot;high&quot;,
&quot;size&quot;: &quot;1536x1024&quot;,
&quot;count&quot;: 1,
&quot;agentApproval&quot;: &quot;always&quot;,
&quot;approvalTimeoutSec&quot;: 120,
&quot;channels&quot;: [
{ &quot;id&quot;: &quot;c1&quot;, &quot;name&quot;: &quot;relay-a&quot;, &quot;baseURL&quot;: &quot;https://your-relay.example/v1&quot;, &quot;apiKey&quot;: &quot;sk-...&quot;, &quot;model&quot;: &quot;gpt-image-2&quot; }
],
&quot;activeChannelId&quot;: &quot;c1&quot;,
&quot;promptSources&quot;: [
{ &quot;id&quot;: &quot;ps1&quot;, &quot;name&quot;: &quot;my prompts&quot;, &quot;url&quot;: &quot;https://example.com/prompts.json&quot; }
],
&quot;outputDir&quot;: &quot;&quot;
}
Key Meaning
agentApproval always (default) — agent generations need panel approval; never — unattended
approvalTimeoutSec 5–600 s; timeout cancels without billing
channels / activeChannelId Multi-channel aggregation; falls back to the top-level baseURL/apiKey/model when empty
outputDir Where images are saved; empty = ~/Pictures/ark9-canvas

Tasks persist to ~/.dsh/ark9-canvas-tasks.json, generation logs to ~/.dsh/ark9-canvas-logs.json.


Structure

  • lib/index.js — Host half: two agent tools, eleven routes, OpenAI-compatible image proxy (async task protocol + batch aggregation), approval queue, persistent logs (zero runtime deps, Node built-ins only)
  • lib/client.js — Browser half: floating FAB + glass workbench (shared vanilla-DOM implementation for floating panel and sidebar tab), settings page
  • cordis.patch.yml — plugin registration row
  • docs/ROADMAP.md — evolution roadmap: DSH-host synergies (AI prompt enhancement, memory-driven styles), cost dashboard, capability registry, mask editing
  • smoke-test.mjs — offline integration test (tools / routes / approval paths, no API calls)
  • e2e-approval-test.mjs — real end-to-end generation test (bills!)

Known limitations

  • Video generation, mask/inpainting painting UI, Gemini-format calls, the infinite-canvas node editor, and WebDAV sync are out of scope (backend has no video model; config import/export stands in for sync).
  • The prompt library ships without any third-party content — add your own sources.
  • Panel-initiated (manual) generations are never approval-gated: pressing the button is the approval, and it bills.
  • Plugin-set changes require a dsh restart.

Credits

This project is built human-machine collaboratively:

  • Aik358 — project owner: product direction and engineering.
  • ZCode (GLM, Z.ai) — autonomous engineering agent: plugin implementation, protocol reverse-engineering of the async-task/media-upload relay protocol, test suites.

Release

  • GitHub: https://github.com/Aik358/dsh-ark9canvas
  • npm: @a9i5k4/dsh-ark9canvas
  • License: BSD-3-Clause · Independent implementation, contains no WorldCodes Canvas code or branding

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-ark9canvas 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-ark9canvas 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-ark9canvas 安全吗?

未标注。

dsh-ark9canvas 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

工具与能力
按星标排序,可作替代方案

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

tokenledger

TokenLedger

TokenLedger 为 DeepSeek Harness 提供零配置的 Token 用量记账,自动归属到实际服务请求的中转站,无需凭据即

L5 · 运行验证通过 204 星

deepseek-harness-jev

deepseek-harness-jev

把 TypeSafe Jev 接入 DeepSeek Harness 作为 System One 决策层,为技能与文件选择、任务监督、纠偏和

未标注验证等级 203 星

Aik358 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。