NovelAI 创作台 BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-
DeepSeek Harness把 NovelAI Diffusion V5 完整嵌入 DeepSeek HarnessDSH对话界面的本地插件套件。
数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
dsh plugin --profile web add BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 17:44:46
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
查看扫描证据(共 24 处,展示前 22 条)
- 发起网络请求artist-collection/lib/client.js:105
const response = await fetch(API_PATH, { - 写入剪贴板artist-collection/lib/client.js:263
await navigator.clipboard.writeText(group.tags ?? group.artists) - 发起网络请求network-proxy/lib/index.js:52
const previousDispatcher = getGlobalDispatcher() - 发起网络请求network-proxy/lib/index.js:53
const dispatcher = new EnvHttpProxyAgent({ httpProxy, httpsProxy, noProxy }) - 发起网络请求network-proxy/lib/index.js:54
setGlobalDispatcher(dispatcher) - 发起网络请求network-proxy/lib/index.js:58
if (getGlobalDispatcher() === dispatcher) setGlobalDispatcher(previousDispatcher) - 发起网络请求network-proxy/lib/index.js:58
if (getGlobalDispatcher() === dispatcher) setGlobalDispatcher(previousDispatcher) - 发起网络请求novelai-v5/lib/client.js:94
const response = await fetch(path, { method: 'POST', headers, body: JSON.stringify(payload) }) - 发起网络请求novelai-v5/lib/client.js:481
const response = await fetch(`${API_PATH}?action=image-meta`, { method: 'POST', headers: { 'content-type': 'image/png', 'x-dsh-novelai-settings': '1' - 读取本地文件novelai-v5/lib/index.js:136
const folder = lstatSync(join(config.outputDir, parts[0])) - 读取本地文件novelai-v5/lib/index.js:140
const info = lstatSync(filePath) - 读取本地文件novelai-v5/lib/index.js:173
if (!existsSync(config.outputDir)) return { items: [], total: 0, next_cursor: null, dates: [] } - 读取本地文件novelai-v5/lib/index.js:176
for (const item of readdirSync(join(config.outputDir, folder), { withFileTypes: true })) { - 读取本地文件novelai-v5/lib/index.js:223
const metadata = readPngMetadata(new Uint8Array(readFileSync(entry.filePath))) - 读取本地文件novelai-v5/lib/index.js:275
res.end(req.method === 'HEAD' ? undefined : readFileSync(entry.filePath)) - 写入本地文件novelai-v5/lib/index.js:425
mkdirSync(dirname(target.absolutePath), { recursive: true }) - 写入本地文件novelai-v5/lib/index.js:426
writeFileSync(target.absolutePath, png) - 写入本地文件novelai-v5/lib/index.js:489
mkdirSync(dirname(draftPath), { recursive: true }) - 写入本地文件novelai-v5/lib/index.js:490
writeFileSync(draftPath, `${JSON.stringify(draft, null, 2)}\n`, { encoding: 'utf8' }) - 发起网络请求novelai-v5/lib/index.js:669
if (!proxyUrl) return undiciFetch(url, options) - 发起网络请求novelai-v5/lib/index.js:672
dispatcher = new ProxyAgent(proxyUrl) - 发起网络请求novelai-v5/lib/index.js:675
return undiciFetch(url, { ...options, dispatcher })
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
界面预览
1 张 · 点击查看大图功能亮点
- 对话内生成图像
- 画师收藏
- 历史图库
为 DeepSeek Harness 打造的 NovelAI V5 可视化创作工作台,支持在对话里生图、角色提示词、画师收藏、历史图库、PNG 元数据回填和代理。
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
DSH NovelAI Toolkit 把 NovelAI Diffusion V5 完整嵌入 DeepSeek Harness(DSH)对话界面的本地插件套件。 它不只是生图 API 封装:项目同时提供宽幅可视化工作台、Character Prompts、分类 Tag 收藏、历史图库、PNG Meta 回填、NAI5 提示词 Skill,以及 DSH 进程级代理支持。 最新功能与兼容性变化见 更新日志。 [!IMPORTANT] 这是社区维护的本地插件,不是 NovelAI 或 DeepSeek 官方项目。调用 NovelAI 生图会消耗你的账户额度。 DSH NovelAI Toolkit 工作台:对话调用、生成结果与 Character Prompts 参数面板 功能预览 ┌────────────── DSH 对话区 ──────────────┬──────────── NovelAI 工作台 ────────────┐ │ │ ┌──────── 大图预览 ────────┐ ┌──────┐ │ │ “帮我用 NovelAI 生成一张……” │ │ │ │Prompt│ │ │ │ │ │ 生成结果 / 历史图片 │ │角色词 │ │ │ └─ Agent 工具调用 ─────┼─▶│ │ │参数 │ │ │ │ └─────────────────────────┘ └──────┘ │ └────────────────────────────────────────┴──────────────────────────────────────┘ - 对话生图:注册 novelai_generate_image,Agent 可以直接调用 NovelAI V5。 - NAI5 提示词 Skill:统一使用英文 Danbooru/V5 标签、英文场景描述和独立 Character Prompts,避免套用 A1111/NoobAI 风格。 - 宽幅工作台:开启后优先为生图腾出空间,左侧常驻大图和生成按钮,右侧编辑提示词和参数。 - 双向同步:Agent 和前端发起的任务会同步 Prompt、参数、状态与生成结果。 - 只改草稿不出图:Agent 可调用 novelai_update_studio_draft 追加 Tag、修改 Character Prompts 或参数并同步前端,不请求 NovelAI、不消耗额度。 - Character Prompts:默认使用 AI's Choice 自动安排角色,也可切换 Custom,在随生成尺寸同步变化的位置画布中直接拖动角色坐标。 - 分类 Tag 收藏:收藏画师、角色、风格、构图、场景等 Tag,支持自定义分类、分类筛选、备注和参考图;参考图可全屏预览,NovelAI PNG 可一键应用 Meta。 - 生成历史:首页显示日期文件夹和图片数量,点进文件夹一次加载当天全部图片,可返回全部日期,无需点击“加载更多”。新图片实际保存到 <outputDir>\YYYY-MM-DD\,按保存时 DSH 本机日期分类,最新日期在前;同时兼容根目录旧图片(按文件修改日期分类),不自动搬动旧文件。 - 统一自动保存:从对话或前端工作台生成的 PNG 都会写入配置的输出目录,并立即进入历史图库。 - Meta 回填:读取 NovelAI PNG Meta,一键恢复正负 Prompt、角色词、坐标模式、模型、尺寸、Steps、CFG、Sampler、Seed 和透明背景。 - 可靠的 Seed 行为:输入框留空时每次随机;从历史导入时固定 Seed 以便复现。 - 保留旧预览:生成新图片期间继续显示上一张,完成后再替换。 - 连续生成:在生成按钮旁选择 1–10 张,工作台会按顺序逐张请求、预览和保存,不依赖 NovelAI 批量生成。 - 进程代理:为 DSH 的 HTTP(S) 请求统一设置代理,同时保持本地地址直连。 包含的插件 | 目录 | DSH 插件 | 作用 | | novelai-v5 | @local/novelai-v5 | NovelAI V5 API、Agent 工具、宽幅工作台、历史图库与 Meta 解析 | | artist-collection | @local/artist-collection | 分类 Tag、备注、参考图和兼容的 artist_collection Agent 工具 | | network-proxy | @local/network-proxy | 环境代理变量与 Undici 全局代理调度器 | 仓库还包含 novelai-v5-prompting DSH Skill。安装脚本会把它复制到 <DSH_HOME>\skills,NovelAI 插件的系统提示会在生图前优先使用它。 环境要求 - DeepSeek Harness Web Profile - Node.js 20 或更新版本 - Windows PowerShell 7(pwsh)与 npm - NovelAI Persistent API Token - 可选:Python 3.10 或更新版本,用于本地标签检索脚本 - 可选:本机 HTTP(S) 或 SOCKS5 代理 当前安装脚本面向 Windows。插件主体使用 JavaScript,但其他平台需要手动复制插件并调整路径配置。 快速安装 1. 克隆仓库 git clone https://github.com/BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-.git cd dsh-novelai-toolkit-DSH-NovelAI- 2. 关闭正在运行的 DSH 安装过程中不要让 DSH 热更新插件,否则当前会话可能短暂保留旧工具快照。 3. 安装插件与 NAI5 Skill DshHome 指向 DSH 的数据目录,不是安装程序根目录: pwsh -File .\scripts\install.ps1 -DshHome 'C:\DSH\data' 脚本会同时安装三个插件和 novelai-v5-prompting Skill。如果目标位置已存在同名插件或 Skill,脚本默认停止以防覆盖。确认更新时添加 -Force;原目录会先自动备份: pwsh -File .\scripts\install.ps1 -DshHome 'C:\DSH\data' -Force 4. 配置 Web Profile 把下面内容合并到 <DSH_HOME>\profiles\web\cordis.patch.yml,并修改代理与保存目录: - insert: - id: network-proxy name: '@local/network-proxy' config: proxyUrl: 'http://127.0.0.1:7897' noProxy: '127.0.0.1,localhost,::1' preferExisting: true - id: artist-collection name: '@local/artist-collection' - id: novelai-v5 name: '@local/novelai-v5' config: outputDir: 'D:\AI\NovelAI' 也可以直接参考 examples/cordis.patch.example.yml。 5. 启动 DSH 并保存 Token 只启动一个 DSH 实例,然后: 1. 点击左侧导航底部的 NovelAI 工作台。 2. 展开 连接、保存目录与 Token 设置。 3. 输入并保存 NovelAI Persistent API Token。 Token 会进入 DSH Credentials。不要把它写入 Git、聊天消息或 cordis.patch.yml。 使用方式 从对话生成 直接告诉 Agent 想生成的内容。插件向系统提示注册了 novelai_generate_image;工具执行后,工作台会自动打开并显示参数、进度和结果。 当 novelai-v5-prompting Skill 可用时,Agent 会先按 NovelAI V5 规则整理 Prompt,再调用生图工具。基础 Prompt 保存公共场景、构图和风格;人物身份与外观优先拆分到各自的 Character Prompt。 当你提到“当前工作台里正在写的 Prompt”时,Agent 可以调用 novelai_read_studio_draft 读取草稿。Token 不会包含在草稿中。 如果只想让 Agent 修改工作台而暂时不出图,可以明确说“只更新草稿,不要生成”。Agent 会调用 novelai_update_studio_draft;其中 append_prompt 只追加 Tag,未指定的草稿字段保持不变。 从工作台生成 1. 在右侧填写正向和负面 Prompt。 2. 根据需要添加 Character Prompts;选择 Custom 后可直接拖动画布中的角色编号调整位置。 3. 选择模型、尺寸、Steps、CFG、Sampler 和数量。 4. Seed 留空保持随机,或输入固定 Seed。 5. 点击 开始生成。 图片会自动保存到 outputDir,并直接显示在左侧大图区域。 使用 Tag 收藏 Tag 收藏使用独立页签,以参考图封面画廊展示;卡片只显示名称、参考图数量和选择状态,点击后在屏幕中央弹窗显示完整词条与参考图,新增和编辑也在弹窗内完成。弹窗内部滚动、关闭按钮固定可见;可点遮罩或按 Esc 关闭,画廊位置保持不变。分类不提供“全部”入口,默认优先进入“画师”,没有画师收藏时进入第一个已有分类;搜索仅作用于当前分类。每个收藏可以保存: - 名称、分类和 Tag 内容 - 使用备注 - 最多 4 张 PNG/JPEG/WebP/GIF 参考图 内置分类包括画师、角色、风格、构图、场景、服装、动作/姿势、质量和其他,也支持自定义分类。升级前的画师收藏会自动归入“画师”,无需手动迁移。选择收藏后,Tag 会拼接到工作台的有效 Prompt。点击参考图可查看全屏大图;PNG 参考图中如果带有 NovelAI Meta,可一键回填 Prompt、Character Prompts、Seed 和生成参数。参考图不会自动作为 NovelAI 图生图输入。 工作台页签下方可拖入或选择单张 PNG(最多 32 MiB)读取 Meta,先展示正负 Prompt、角色词与位置、参数及原始数据,再由用户点击“载入工作台”;失败不会清空当前草稿。图片只发送到当前 DSH 解析,不请求 NovelAI,也不自动生图或保存进图库。生成历史同样会展开每个 Character Prompt 的正向、负向内容和位置模式。 复用历史图片 1. 打开 生成历史。 2. 点击缩略图进入详情。 3. 图片详情会自动读取并展开 Meta、正向和负面 Prompt。 4. 查看结构化参数;需要复用时点击 载入工作台。 导入后 Seed 会固定,质量后缀会设为“不追加”,避免图片 Meta 中已有的质量词再次重复。 配置项 novelai-v5 | 配置 | 默认值 | 说明 | | apiBase | https://image.novelai.net | NovelAI 图片 API 地址 | | tokenEnv | NOVELAI_API_TOKEN | DSH Credentials 引用名 | | model | v5-full | v5-full 或 v5-curated | | outputDir | D:\aipainting\novel | 图片保存与历史图库目录 | | draftPath | <DSH_HOME>\state\novelai-v5-studio-draft.json | 工作台草稿文件 | | timeoutMs | 240000 | 生图超时 | | maxResponseBytes | 83886080 | API 响应大小上限 | | proxyUrl | 空 | NovelAI 插件专用代理;通常使用 network-proxy 即可 | 完整参数和实现细节见 novelai-v5/README.md。 network-proxy | 配置 | 默认值 | 说明 | | proxyUrl | http://127.0.0.1:7897 | HTTP(S) 或 SOCKS5 代理 | | noProxy | 127.0.0.1,localhost,::1 | 必须保持直连的地址 | | preferExisting | true | 优先使用启动环境中已有的代理变量 | 关闭或重新开启进程代理 network-proxy 目前没有运行时开关。需要关闭时,先退出 DSH,然后在 <DSH_HOME>\profiles\web\cordis.patch.yml 中删除或注释整个 network-proxy 加载项: - id: network-proxy name: '@local/network-proxy' config: proxyUrl: 'http://127.0.0.1:7897' noProxy: '127.0.0.1,localhost,::1' preferExisting: true 保存后重新启动 DSH 即可。无需删除 plugins\network-proxy 目录;以后要重新开启,把上面的加载项放回 cordis.patch.yml 并再次重启 DSH。 这只会停止 network-proxy 对整个 DSH 进程设置代理。如果系统或启动脚本本身设置了 HTTP_PROXY、HTTPS_PROXY 或 ALL_PROXY,DSH 仍可能继承它们;如果还在 novelai-v5 的 proxyUrl 中单独配置了代理,也需要将该项留空才能让 NovelAI 请求直连。 数据与安全 - Token 只由 DSH Credentials 管理,不进入工具参数、前端草稿、URL 或日志。 - Tag 收藏和参考图保存在 DSH Storage,不在 Git 仓库中。 - 草稿、会话、附件、Credentials 和生成图片均被 .gitignore 排除。 - 历史图片接口只允许读取配置输出目录下的单个 PNG,并拒绝路径穿越。 - PNG 原始 Meta 只在用户点选单张图片后读取。 更多信息见 SECURITY.md。 内置标签 CSV 只包含标签名、分类、帖子数快照和别名,不包含 Danbooru 图片或 Wiki 正文;它可能包含成人相关词汇。数据来源与哈希见 DATA_NOTICE.md。 开发与验证 运行全部语法检查和自动测试: npm run verify 当前验证包括: - 6 个插件 JavaScript 文件的语法检查 - NAI5 Skill 的 frontmatter、标签检索脚本和内置 V5 标签查询 - Tag 收藏旧数据迁移、分类筛选和旧 artists 调用兼容 - NovelAI V5 参数与 Payload 构建 - AI's Choice / Custom Character Prompts - 随机与固定 Seed - 草稿持久化 - PNG Meta 和 Character Prompts 回填 - 历史图库分页 - ZIP/PNG 响应提取 测试不会调用 NovelAI API,也不会消耗账户额度。 常见问题 EADDRINUSE 127.0.0.1:3080 已经有一个 DSH 实例占用了 3080。关闭旧实例后只启动一次,不要直接结束所有 Node 进程。 unknown tool "novelai_generate_image" 插件热更新期间,模型可能持有旧工具快照。完整重启 DSH 并刷新页面即可。安装或更新插件时应先关闭 DSH。 DSH 无法访问 NovelAI 确认代理正在监听,并确保 noProxy 包含 127.0.0.1,localhost,::1。否则 DSH 可能连自己的本地页面都通过代理转发。 PNG 无法读取 Meta 图片被编辑器重新导出或清理后,NovelAI 文本块可能已经丢失。图库仍能显示图片,但无法完整回填参数。 更多排查方法见 docs/troubleshooting.md。 项目结构 artist-collection/ 分类 Tag 收藏后端、Agent 工具和前端 network-proxy/ DSH 进程级代理桥 novelai-v5/ NovelAI V5 API、Agent 工具、工作台和测试 skills/ NAI5 提示词 Skill、规范、检索脚本与标签索引 examples/ Cordis Profile 配置示例 scripts/ Windows 安装与验证脚本 docs/ 架构和故障排查 License 本项目采用 MIT License,版权所有 © 2026 BaguetteAron。标签索引的来源和适用边界见 DATA_NOTICE.md。 English summary DSH NovelAI Toolkit integrates NovelAI Diffusion V5 into the DeepSeek Harness chat interface. It provides in-chat image generation, a wide visual studio, a portable NAI5 prompting Skill, Character Prompts, categorized tag collections with references, paginated image history, NovelAI PNG metadata restoration, persistent drafts, and process-wide proxy support. 这是社区维护的本地插件套件,与 NovelAI 或 DeepSeek 均无关联。Windows 的安装流程见上文「安装」一节。
预览分享卡片长什么样 ↓
把 NovelAI Diffusion V5 完整嵌入 DeepSeek HarnessDSH对话界面的本地插件套件。
相关插件 · 视觉能力
这是你的仓库?认领条目