🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

NovelAI 创作台 BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-

DeepSeek Harness
BaguetteAron23 天前有提交已提供中文文档扫描:含敏感能力

把 NovelAI Diffusion V5 完整嵌入 DeepSeek HarnessDSH对话界面的本地插件套件。

33.6/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/11 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · vision
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 23 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-novelai-toolkit(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 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 })
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 对话内生成图像
  • 画师收藏
  • 历史图库

为 DeepSeek Harness 打造的 NovelAI V5 可视化创作工作台,支持在对话里生图、角色提示词、画师收藏、历史图库、PNG 元数据回填和代理。

README

由 DeepSeek 最新模型翻译生成
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 生成一张……
展开完整文档(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 的安装流程见上文「安装」一节。
预览分享卡片长什么样 ↓BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-
分享 · DeepSeek Harness Hub
BaguetteAron/dsh-novelai-toolkit-DSH-NovelAI-

把 NovelAI Diffusion V5 完整嵌入 DeepSeek HarnessDSH对话界面的本地插件套件。

这是你的仓库?认领条目

回到顶部