DeepSeek Harness 的「便携酒馆」插件:RPG 式 SillyTavern V2/V3 角色卡生成器 + 酒馆角色扮演聊天。支持世界书、角色卡 JSON/PNG 导入导出、面板主题与本地音乐。独立插件…
43.7/100
综合分
24
GitHub 星标
197
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-portable-tavernnpm 源 · dsh-portable-tavern 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-portable-tavern @ 0.4.1
✓Node 引擎要求 ^22.18.0 || >=24.2.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 15:47:19
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 52 处,展示前 22 条)
- 发起网络请求lib/index.js:119
response = await fetch(url, { - 写入本地文件lib/index.js:2619
mkdirSync(dirname(target), { recursive: true }); - 写入本地文件lib/index.js:2620
writeFileSync(target, entry.data); - 读取本地文件lib/index.js:2626
for (const name2 of readdirSync(dir)) { - 读取本地文件lib/index.js:2629
const stat = statSync(full); - 读取本地文件lib/index.js:2635
out.push({ name: relative(root, full).split(sep).join("/"), data: readFileSync(full) }); - 发起网络请求lib/index.js:2652
response = await fetch(url, { redirect: "follow", headers: { "user-agent": "dsh-portable-tavern" } }); - 读取本地文件lib/index.js:2678
if (existsSync(url) && statSync(url).isDirectory()) { - 读取本地文件lib/index.js:2678
if (existsSync(url) && statSync(url).isDirectory()) { - 读取本地文件lib/index.js:2722
if (existsSync(dir)) { - 删除本地文件递归lib/index.js:2724
rmSync(dir, { recursive: true, force: true }); - 写入本地文件lib/index.js:2726
mkdirSync(dir, { recursive: true }); - 写入本地文件lib/index.js:2764
if (next !== text) writeFileSync(full, next); - 写入本地文件lib/index.js:2768
for (const [file, body] of stubs) writeFileSync(join(dir, file), body); - 写入本地文件lib/index.js:2769
writeFileSync(join(dir, ".tavern-source.json"), JSON.stringify({ - 删除本地文件递归lib/index.js:2891
rmSync(dir, { recursive: true, force: true }); - 发起网络请求lib/client.js:143
const response = await fetch(path, { - 发起网络请求lib/client.js:158
const response = await fetch(TAVERN_API.models); - 发起网络请求lib/client.js:269
const response = await fetch(TAVERN_API.extList); - 发起网络请求lib/client.js:274
const response = await fetch(TAVERN_API.extCatalog); - 发起网络请求lib/client.js:6081
target.fetch(finalUrl, { method: "GET", headers, signal: controller.signal, credentials: "same-origin", cache: opts.cache === false ? "no-store" : "de - 发起网络请求lib/client.js:6991
const response = await fetch(url);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-client-ui-renderer给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
5 张 · 点击查看大图功能亮点
- 角色卡生成
- 角色扮演聊天
- 世界书支持
最近更新
在 GitHub 查看全部 →v0.4.12026-10-03
便携酒馆 v0.4.1 维护版本。
· 修复 IndexedDB 事务回滚时提前清理存档副本,以及角色草稿、模型选择等工作区内容未完整恢复的问题。
· 修复队友聊天遗漏当前遭遇、扩展 ZIP 上传被普通 4 MiB JSON 限制挡住、纯点号扩展 ID 可指向存储目录或父目录的问题。
· 为 DSH 0.1.7-rc.2、0.2.0-rc.1、0.2.0-rc.2 补充精确兼容声明;更新官方 SDK 前端依赖及锁文件。
· Node.js 范围:^22.18.0 || >=24.2.0,使用 DSH Web Profile。Issue 中的历史三版及未测试的商城事务回滚保留为 unknown。
验证:TypeScript 检查、构建和 40 项回归测试通过(引擎内含 79 项断言);真实浏览器重载恢复队伍和工作区。实际 npm 发布包在 Windows / Edge、Node 22.18.0 与 24.18.0、三个官方 DSH 版本上全部通过安装、冷启动、认证路由、酒馆面板打开、卸载及完整配置恢复。没有请求付费模型。
安装或更新:
dsh plugin --profile web add dsh-portable-tavern@0.4.1
npm v0.4.1 已发布为 latest。附件提供实际发布的 npm 包与验证证据。发布包原始 SHA-256:f8f1c630256286f1c4f08f7356879a375a7d7a076c403615595b04daeb8ba886。
Windows 发布包的运行文件使用 CRLF,规范化到 LF 后与验收源码完全一致;原始摘要、规范化摘要及发布包六组复测结果见附件和 兼容性记录。仓库已固定构建产物为 LF。
对应 DSH Store Issue #1071。商城历史许可证记录为 BSD-3-Clause,而那个固定 Commit 的实际 LICENSE 已是 MIT;当前 manifest 和 LICENSE 保持 MIT。商城恢复上架仍取决于自动复检及该历史记录的校正。
完整变更 · PR #5
维护协助:GPT-6.1-Sol(Codex),根据仓库作者明确授权执行修复、验证、合并及发布。
v0.4.02026-09-26
· 便携酒馆 v0.4.0
上一个发布的版本是 0.3.0,所以这是 0.4.0。
· 冒险模式长出了自己的系统
你可以先写好故事的几个关键节点,每个节点配一个由系统判定的触发条件——第几回合、上次判定落在哪一档、场上是什么遭遇、谁的血量过低、你的话里出现了什么词、连着赢了几把或输了几把。条件是否成立由纯代码判定,只有成立了,节点正文才会交到守秘人手上。故事前提可以自己写,也可以让 AI 起草;大纲同样。
· 角色之间是通的
角色卡可以直接进队,属性由角色卡推导;队伍成员也能导出成标准角色卡。每个人都有一条自己的对话线,冒险途中把队友拉到一边商量,TA 知道桌上正在发生什么,商量完一键把计划带回冒险窗口。
· 存储重做
原来所有保存路径都在静默吞错误,而数据主要是图片,存几支队伍就能撑爆 localStorage,之后改动会悄悄存不进去。现在大记录走 IndexedDB,失败会在界面上报出来,桌面上的队伍持续自动保存。音乐也会记住曲目和播放位置。
· SillyTavern 扩展
可以安装并运行真实的社区扩展,背后是一套兼容层:完整的 eventSource 语义、getContext() 镜像、迷你 jQuery、DOM 骨架。安装时会把伸进 SillyTavern 源码树的 import 改写成按需生成的桩模块,并优先转发宿主的真实实现。内置六套美化主题。
· 采样温度(issue #1)
自动 / 固定 / 不发送三档,并且会从上游 400 报错里读出"只允许某个温度"的约束按模型记住——KIMI K3 这类固定温度的模型不会再报错。
· 界面
README 里的效果图全部来自真实构建产物的离屏渲染,见 screenshots/。
---
Full Changelog:
v0.3.02026-08-20
· v0.3.0 — DeepSeek Harness rc.8 适配
· 修复生成空卡片 bug:推理型默认模型(deepseek-v4-pro + effort max)会把输出预算全花在思考上;结构化生成现在按模型能力钳制 effort(≤high),预算提升到 8192 maxTokens,失败重试自动关思考
· 输入校验:非法 spec 分组 / 非 V2/V3 角色卡返回 400 而非 500
· 工具参数 JSON 修复解析
· devDeps 升级到 @deepseek-ai/* ^0.1.0-rc.8
已在 dsh 0.1.0-rc.8 实测启动正常。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成便携酒馆 · dsh-portable-tavern
在 DeepSeek Harness 里开一间属于你自己的酒馆。
捏角色卡、和角色聊天、把喜欢的角色组队,想出门冒险的时候再开一局跑团。
装完就能用,角色和对话保存在你自己的浏览器里。
聊天
它能做什么
| 角色卡 | 七个模块可视化捏人,一键生成 SillyTavern V2/V3 角色卡;也能导入别人做好的 JSON 或 PNG 角色卡 |
| 聊天 | 和角色一对一对话,也可以用你自己的 OpenAI 兼容接口;每个角色有独立的对话上下文 |
| 冒险 | 跑团模式:你宣告行动,骰子和判定由系统算,故事由 AI 讲 |
| 队伍 | 1–12 人组队,每个人有自己的形象、属性、提示词,甚至自己的模型接口 |
| 插件 | 六套内置美化主题,还能装社区的酒馆扩展 |
| 设置 | 模型接入、采样温度、外观、本地音乐 |
角色是互通的。 同一张角色卡,可以用来聊天,也可以直接拉进队伍陪你冒险;队伍成员反过来也能导出成一张标准角色卡。冒险途中随时能切到聊天窗找队友商量对策,再把商量好的计划带回冒险窗执行。
展开完整文档(README 剩余 1 节)
便携酒馆 · dsh-portable-tavern 在 DeepSeek Harness 里开一间属于你自己的酒馆。 捏角色卡、和角色聊天、把喜欢的角色组队,想出门冒险的时候再开一局跑团。 装完就能用,角色和对话保存在你自己的浏览器里。 聊天 它能做什么 | 角色卡 | 七个模块可视化捏人,一键生成 SillyTavern V2/V3 角色卡;也能导入别人做好的 JSON 或 PNG 角色卡 | | 聊天 | 和角色一对一对话,也可以用你自己的 OpenAI 兼容接口;每个角色有独立的对话上下文 | | 冒险 | 跑团模式:你宣告行动,骰子和判定由系统算,故事由 AI 讲 | | 队伍 | 1–12 人组队,每个人有自己的形象、属性、提示词,甚至自己的模型接口 | | 插件 | 六套内置美化主题,还能装社区的酒馆扩展 | | 设置 | 模型接入、采样温度、外观、本地音乐 | 角色是互通的。 同一张角色卡,可以用来聊天,也可以直接拉进队伍陪你冒险;队伍成员反过来也能导出成一张标准角色卡。冒险途中随时能切到聊天窗找队友商量对策,再把商量好的计划带回冒险窗执行。 看看长什么样 队伍 —— 每个人的形象、属性、独立提示词,以及各自的模型接入(可以一桌混用不同 API): 队伍 冒险 —— 系统告诉你"至少要掷出多少",把每一栏加成摊开;成败按差值分档,AI 只负责讲: 冒险 角色卡 —— 捏好的角色可以直接拉进队伍: 角色卡 插件 —— 内置玻璃拟态、赛博霓虹、羊皮纸、樱花物语、极简终端、夜曲六套主题: 插件 一句话说清冒险模式 骰子和判定交给系统,故事交给 AI。 你用自己的话宣告行动,AI 推进剧情;当结果不确定时,系统会算出你至少要掷出多少、把加成一栏栏摊开,你掷骰,系统判成败。 差距多大,AI 就讲得多细:差 1 是"眼看跑掉了又被追回来",差 50 是"逃跑时摔了一跤",超 1 是"怪物快碰到你了但你还是脱身了"。掉血、中毒、被追击这些后果也由系统结算, AI 只负责描述。 角色卡 - 可视化面板:基础信息、外貌、性格、背景、能力、对话风格、场景七个模块,填完一键生成完整角色卡。 - 导入 / 导出:SillyTavern V2 / V3 的 JSON,以及 PNG 角色卡(图片里内嵌的 chara 数据块)。 - 角色库:本地存多张卡,各自的对话记录一起保存,随时载入。 - 头像:上传图片自动压缩,随角色卡一起导出。 - 世界书:按角色生成、补全,或导入已有的世界书 JSON。 - 工作区自动保存,关掉页面再回来还在。 聊天 - 和角色一对一对话,走 DSH 当前配置的模型,也可以换成你自己的任何 OpenAI 兼容接口(地址 / Key / 模型)。 - 全局系统提示词,类似 SillyTavern 的 System Prompt / Jailbreak。 - 每个角色独立的对话上下文——换个角色聊,不会串台。 队伍 - 1 到 12 人。每个人有自己的头像、定位、独立人设提示词。 - 独立模型接入:跟随全局、指定 DSH 里的某个模型、或者填自己的接口。 所以一桌人可以混着来——旁白用本地模型,队友 A 用 DeepSeek,队友 B 用 Kimi。 - 六维属性(力量 / 敏捷 / 体质 / 智力 / 感知 / 魅力)、技能、生命值、状态。 - 从角色卡一键进队:捏好的角色直接变成队友,属性由角色卡推导,之后还能改。 - 从队友导出角色卡:队伍里的人也能变成一张标准角色卡,拿去聊天或分享。 - 队伍自动保存,也可以存进队伍库、导出成 JSON 分享给别人。 冒险(跑团) 一句话概括:骰子和判定交给系统,故事交给 AI。 - 你用自己的话宣告行动。AI 推进剧情;当结果不确定时,它会说"这里需要判定"。 - 遇到怪物这种事,系统会把选择摆出来给你——正面对抗、拔腿就跑、还是先观察。 - 点一个选项,系统算出你至少要掷出多少,并把算式摊开给你看(基础难度、对手强度、你的属性调整、技能熟练、状态惩罚)。你掷骰,系统判成败。 - 成败之间分七档,差距多大,AI 就讲得多细:差 1 是"眼看跑掉了又被追回来",差 50 是"逃跑时摔了一跤",超 1 是"怪物快碰到你了但你还是脱身了"。 - 掉血、中毒、被追击这些后果,也由系统结算,AI 只负责描述。 - 队伍里的每个人都能开口,用的是各自配置的模型。 剧本:开局的前提、基调、本桌约定都可以自己写;写不动就点"让 AI 写",它会照着你已经写下的想法和你的队伍补完。 剧情大纲:你可以先写好故事的几个关键节点,每个节点配一个触发条件(第几回合、掷骰惨败之后、遇到战斗时、某人血量过低时、你说了某个关键词……)。 条件由系统判定,一满足就把你预先写好的事件喂给 AI,由它自然地演出来。 同样可以点"让 AI 起草大纲",它会给出一组分散在不同触发方式上的节点。 插件 - 六个内置主题,开箱即用:玻璃拟态、赛博霓虹、羊皮纸、樱花物语、极简终端、夜曲。 - 装社区的酒馆扩展:填 GitHub 仓库地址、manifest 直链、本机目录,或者上传 zip。 纯 CSS 的美化类扩展兼容性最好。 - 装了哪些、加载成不成功、哪些功能被降级了,插件页的日志里都会写清楚,不会偷偷吞掉。 安装 npm dsh plugin --profile web add dsh-portable-tavern GitHub(lib/ 已提交,无需构建授权) dsh plugin --profile web add github:XCNXNXNX/dsh-portable-tavern 装完重启 DSH,右侧会出现"便携酒馆"的悬浮标签(可以在设置里关掉,改从 DSH 设置页进)。 DSH 兼容性 v0.4.1 面向 DSH Web Profile,Node.js 要求 ^22.18.0 || >=24.2.0。逐版本结果和一次性 Profile 验收记录见 兼容性记录。未测试的发行版保留 unknown;发布时只把已经完成安装、启动、真实页面加载及卸载检查的版本声明为 compatible。 关于你的数据 - 角色卡、队伍、对话、设置全部存在本机浏览器的 localStorage / IndexedDB 里。 - 你自己填的 API Key 只存在浏览器,只随单次请求发给本机酒馆路由转发,不写日志、不上传。 - 酒馆的所有后端路由都只接受本机(127.0.0.1 / localhost)请求。 - 安装的酒馆扩展写入 $DSH_HOME/portable-tavern/extensions(未设置 DSH_HOME 时为 ~/.dsh/portable-tavern/extensions);本机目录导入会读取所选目录。 - 模型请求会发送角色设定及相关对话给所选模型服务。GitHub / URL 扩展安装会访问所选来源;扩展的 JavaScript 在浏览器中执行,可以访问酒馆页面的数据与网络,请只安装可信来源。 开发 pnpm install pnpm build # esbuild 打包宿主半 + 浏览器半,并生成类型声明 pnpm typecheck pnpm test # 引擎、存储事务、路由与 SillyTavern 兼容层回归测试 pnpm test:engine # 跑团引擎与触发条件的断言 上面的效果图是用真实构建产物离屏渲染出来的,不是手绘的: node docs/preview/shots.mjs 会起一个本地静态服务器挂载 lib/client.js,用无头 Edge 逐个标签页截图到 assets/。界面变了重跑一次即可。 node docs/preview/persist-check.mjs 会真的开两次浏览器(同一个 profile):第一次改队伍并写入未生成角色卡的工作区,第二次重新加载,检查队伍、草稿、V3 选择、模型、全局提示词、对话与世界书是否恢复;失败时会以非零状态退出。存档相关改动请跑它。 npm pack --pack-destination .tmp-compat 后,运行 npm run test:dsh -- <官方 DSH 的 lib/bin.js> <打包的 .tgz 文件>,可使用官方 CLI 在隔离 Profile 中安装、启动、检查真实 Edge/Chrome 页面及卸载。脚本不调用付费模型,会检查卸载后的完整配置与安装前一致,并清理自己创建的临时 Profile。 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
XCNXNXNX/dsh-portable-tavern
DeepSeek Harness 的「便携酒馆」插件:RPG 式 SillyTavern V2/V3 角色卡生成器 + 酒馆角色扮演聊天。支持世界书、角色卡 JSON/PNG 导入导出、面板主题与本地音乐。独立插件…
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,487已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,894已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,379已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 5,084已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,778已汉化DSH
71.1