hewzhew/dsh-agent-rp · 上手攻略

  • 仓库:hewzhew/dsh-agent-rp
  • 链接:https://github.com/hewzhew/dsh-agent-rp
  • 分类:ai · agent-rp · sillytavern-migration
  • 作者:Tom
  • 更新:2026-08-15

是什么

DSH Agent RP 是 DeepSeek Harness(DSH)的一个插件,用于将 SillyTavern 生态中的角色卡、预设、聊天记录迁移到 DSH 原生会话环境中继续角色扮演(Role-Playing)。

SillyTavern 是目前最流行的本地角色 RP 前端,拥有大量社区卡片和预设生态。DSH(DeepSeek Harness)是 DeepSeek 在 2026 年 8 月初开源的 agent harness,核心特点是"一切皆插件",甚至 agent loop 本身也是一个可替换的插件。DSH Agent RP 插件让用户无需放弃已有的 SillyTavern 卡片资产,直接在 DSH 里继续角色对话,而不需要自己维护 SillyTavern 服务器。

简单说:你积累了几百张 SillyTavern 角色卡,现在可以把它们带到 DSH 这个新一代 agent 框架里用。


解决什么问题

  1. 生态迁移:SillyTavern 积累了大量 PNG/JSON/CHARX 格式的角色卡和社区预设,这些资产无法直接用于其他框架。DSH Agent RP 提供了 importer,让这些卡片无缝进入 DSH。
  2. 世界书与正则:SillyTavern 的 World Info(世界书)使用正则关键词触发,DSH Agent RP 在隔离的 QuickJS 运行时中执行这些正则,不把危险代码交给 Host JavaScript 执行,兼顾功能与安全。
  3. 轻前端兼容:部分角色卡附带轻量 HTML 界面和 Tavern Helper 脚本,插件也在隔离脚本环境中运行这些内容。
  4. EJS 模板隔离:SillyTavern 预设中常见的 EJS 模板在独立 QuickJS/WASM 运行时执行,不会访问宿主文件、网络或进程。
  5. 持久记忆:支持重写、续写、切换回复版本,同时保留明确的长期记忆。

快速安装

前置依赖

  • Node.js(建议最新稳定版)
  • pnpm(npm i -g pnpm
  • 已安装的 DSH(npx @deepseek-ai/dsh@latest,至少 0.1.0-rc.6)

标准安装(无需 clone)

# 安装插件
npx -p @deepseek-ai/dsh@latest dsh plugin --profile web add github:hewzhew/dsh-agent-rp#main

# 启动 DSH
npx -p @deepseek-ai/dsh@latest dsh --profile web

⚠️ DSH 版本声明为 developer preview(0.1.0-rc.6),生产环境使用请自行评估稳定性。

Android / Termux 安装

ARM64、Android 11+ 设备上可以直接在 Termux 本机运行,无需电脑保持开机:

curl -fsSL https://raw.githubusercontent.com/hewzhew/dsh-agent-rp/main/scripts/install-termux.sh | bash
dsh-agent-rp --port 3080

首次安装需要编译原生模块,耗时比普通插件更新长。安装完成后,在手机浏览器打开 http://127.0.0.1:3080。添加到主屏幕后可获得全屏 Web App 体验。

⚠️ 手机重启后需要重新运行 dsh-agent-rp --port 3080。角色卡和会话保存在 ~/.dsh,安装器不会删除。

更新插件

npx -p @deepseek-ai/dsh@latest dsh plugin --profile web update @dsh-experimental/dsh-agent-rp

贡献者安装(需修改源码)

git clone git@github.com:hewzhew/dsh-agent-rp.git
cd dsh-agent-rp
pnpm install
pnpm run build
dsh plugin --profile web add .

核心用法

第一次开聊(5 步)

  1. 在 DSH 中新建空白会话
  2. 点击输入框下方「选择角色」
  3. 选择已有角色,或导入 PNG、JSON、CHARX 角色卡
  4. 选择开场(Opening)与 Persona,然后点击「开始对话」
  5. 进入会话后,可在标题栏打开角色信息、角色库、预设、世界书或调试视图

导入 SillyTavern 聊天记录

在角色会话中,可以附加一份 SillyTavern JSONL 格式的聊天记录:

  • 将对应角色卡和 JSONL 放在同一条消息中,可以一次迁移角色身份与历史记录
  • 导入会创建新的角色对话,不会修改源文件或来源会话

调试视图

在沉浸视图与调试视图之间切换,可以检查实际生效的提示内容,对排查卡片兼容性问题非常有用。

诊断工具

启动或导入角色卡时遇到问题,运行:

dsh-agent-rp-doctor

可生成一份脱敏体检报告(不读取令牌、角色卡或会话内容),直接贴到 GitHub Issue。


典型适用场景

场景 说明
SillyTavern 用户迁移 已有大量角色卡资产,想尝试 DSH 新框架但不想重新建卡
多角色 RP 存档管理 DSH 的角色库支持收起/恢复角色,不影响已有对话
深度 RP 调试 调试视图检查实际生效提示,适合卡片创作者
移动端 RP Android/Termux 方案让手机也能跑完整 RP,无需电脑
安全沙箱测试 QuickJS 隔离运行环境测试社区卡片的 EJS/正则行为

坑与注意

  1. 早期安装器版本不迁移:如果之前用老安装器装过,启动错误中出现 .dsh\plugins\dsh-agent-rp 路径,需要先把该目录移出 plugins 作备份,确认 DSH 能启动后再用新 profile 命令安装。不要删除整个 .dsh,会话数据和旧插件目录是分开的。

  2. EJS 模板与正则的 QuickJS 隔离:不是所有 EJS 特性都支持;详细兼容表见 docs/ejs-compatibility.md。某些依赖 Node.js 原生模块的 EJS 代码会失败,但单条失败不会中断会话。

  3. Tavern Helper 脚本限制:只能加载内置或玩家明确批准来源的 HTTPS 模块,不能直接访问 Host 页面、文件或进程。

  4. 群聊/多人暂不支持:当前里程碑只聚焦单角色 RP,不支持群聊、多人互动或重前端/独立前端。

  5. Termux 编译耗时:首次安装需要编译原生模块,比普通插件更新慢,需要耐心等待。

  6. Token 安全:在 Issue 或日志里不要公开自己的 NPM Token


与同类对比

特性 DSH Agent RP SillyTavern(原生) LangChain Agent
角色卡兼容 PNG/JSON/CHARX 全支持 原生支持 不支持
世界书正则 ✅ QuickJS 隔离执行 ✅ 原生执行 ❌ 不支持
EJS 模板 ✅ QuickJS/WASM 隔离 ✅ 原生执行 ❌ 不支持
DSH 插件生态 ✅ 接入 DSH 体系 ❌ 独立运行 ✅ LangChain 生态
移动端支持 ✅ Termux ✅ 可配但资源重
多角色群聊 ❌ 规划中 ✅ 支持 ✅ 支持
开发活跃度 🔥 2026-08 新兴 成熟稳定 成熟

推荐逻辑:如果你已有 SillyTavern 资产且想体验 DSH 新框架,选 DSH Agent RP;如果你只是需要一个稳定的 RP 前端,继续用 SillyTavern;如果你要构建复杂的 agent 工作流,用 LangChain/CrewAI 等。


一句话推荐结论

DSH Agent RP 是把 SillyTavern 角色资产带入新一代 agent harness 的桥梁插件,适合已有大量卡片积累、想探索 DSH 生态的玩家,但目前仍处于早期预览阶段,功能边界和稳定性需要自己把控。


最小可跑命令

# 前置:Node.js + pnpm
node --version   # 建议 ≥18
pnpm --version

# 安装 DSH + 插件(一行命令)
npx -p @deepseek-ai/dsh@latest dsh plugin --profile web add github:hewzhew/dsh-agent-rp#main

# 启动 DSH
npx -p @deepseek-ai/dsh@latest dsh --profile web

# Android 端诊断
dsh-agent-rp-doctor

环境:Node.js ≥18,pnpm,DSH 0.1.0-rc.6(developer preview),ARM64 Android 11+(Termux 可选)


原始 commit: https://github.com/hewzhew/dsh-agent-rp/commit/main(本版基于 main 分支 2026-08-15 读取)