← 返回列表
未验证
DSH NextTavern 手机版:QQ 风格皮肤 + 手机/局域网/远程访问层。AI 生成,非官方,不含原作者代码。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/12 · 已提供中文文档
综合分
30.3
GitHub 分
30.3
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ljs1997sh/dsh-nexttavern-qq-mobile该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-NextTavern 手机版 · QQ 风格皮肤 + 手机/远程访问 🤖 AI 生成声明 本仓库的全部代码与文档均由 AI 生成(在 DeepSeek Harness 上由 AI agent 编写、实测、迭代)。 没有任何一行是人类手写的。使用前请自行审阅代码——AI 生成内容不提供任何担保。 🙏 原作者署名(重要) 本仓库不包含 dsh-NextTavern 的源码。 插件版权与著作权完整归原作者 @a86582751 所有(MIT 许可)。 本仓库只提供安装脚本 + 手机端增强层,插件请通过 tools/fetch-nexttavern.ps1 从官方发布页下载,以尊重原作者并获取其最新版本。 详见 NOTICE.md。 这是什么 dsh-NextTavern 是一个跑在 DeepSeek Harness (DSH) 上的 长篇角色扮演工作台(角色卡、世界书、世界线、记忆、多角色 agent、小说导出……)。 但它默认是桌面三栏界面,而且 DSH 出于安全考虑只监听 127.0.0.1——所以: - 📱 手机打不开 - 🚫 出门在外更打不开 本仓库补上这两件事: | 能力 | 实现 | | --- | --- | | 手机能访问 | mobile-skin/serve-mobile.mjs:DSH 仍只听本机,网侧加一层轻量转发(改写 Host 以通过 DSH 自带的请求信任校验),HTTP 与 WebSocket 全支持 | | 手机像聊天软件 | mobile-skin/qq-skin.css + qq-skin.js:全屏单栏、气泡头像、☰ 抽屉、紧凑上下栏 | | 远程能访问 | 文档化的 Tailscale / Cloudflare Tunnel 两条方案(见下文) | | 一键启动 | start-mobile.ps1(PowerShell)/ start-mobile.cmd(批处理,绕过脚本执行策略限制) | 核心设计:DSH 本体一行没改。 转发的请求会被改写成回环地址,因此 DSH 自己的安全校验照常生效, 它的安全模型没有被削弱——只是多了一个受控的入口。 特性一览 手机访问层 - DSH 保持 127.0.0.1 监听,不直接暴露 - 自动携带启动 token:手机地址固定,DSH 重启后会自动重新登录,不用换链接 - 可选口令(HTTP Basic),默认关闭(自用方便) - 自动识别并打印局域网地址与 Tailscale 远程地址 - 只注入页面 HTML,不碰内核代码、不改 profile、不装插件 QQ 风格皮肤(只对手机端口生效,桌面端不受影响) | 项目 | 效果 | 实测 | | --- | --- | --- | | 整体骨架 | 三栏桌面布局 → 全屏单栏,聊天区占满 | 414×896 全屏 | | 顶栏 | 去掉面包屑、缩小标题与标签 | 116px → 63px | | 输入栏 | 控件收紧为单行,发送键缩小 | 167px → 130px | | 我方消息 | QQ 蓝渐变气泡 + 右侧头像 | 圆角 18/18/5 | | 角色消息 | 白色气泡 + 左侧头像 | 圆角 5/18/18/18 | | 技术内容 | 工具调用/思考/上下文注入弱化 | 透明度 0.62 | | 会话列表 | 左上角 ☰ 抽屉(复用客户端原生开关) | 点外部关闭 | | 其他 | 刘海屏适配、地址栏配色、深色模式跟随系统 | — | 合并后上下栏从 283px 降到 193px,聊天正文多出 90px(约 +15%)。 环境要求 | 项目 | 要求 | | --- | --- | | 系统 | Windows 10 1803+ / Windows 11 | | Node.js | 22 或更高(实测 24.18) | | Python | 3+(原版插件安装器需要) | | pnpm | npm i -g pnpm(DSH 安装插件需要) | | DSH 内核 | 原版插件要求 0.1.2-alpha.3(下文步骤会精确安装) | 快速开始 0) 获取本仓库 git clone https://github.com/ljs1997sh/dsh-nexttavern-qq-mobile.git cd dsh-nexttavern-qq-mobile 1) 下载原版插件(从官方发布页) .\tools\fetch-nexttavern.cmd 或: powershell -ExecutionPolicy Bypass -File .\tools\fetch-nexttavern.ps1 结束后会得到 vendor\dsh-nexttavern(v0.1.1),脚本会打印 SHA-256 供你与官方发布页对照。 2) 装插件(官方流程) cd '' $Base = $PWD $Pkg = "$Base\vendor\dsh-nexttavern" New-Item -ItemType Directory -Force -Path "$Base\harness", "$Base\home" | Out-Null 2.1 装一套锁定 alpha.3 的内核 Copy-Item "$Pkg\harness\package.json" "$Base\harness" Copy-Item "$Pkg\harness\package-lock.json" "$Base\harness" cd "$Base\harness"; npm ci --ignore-scripts --no-audit --no-fund 2.2 初始化配置目录 $env:DSH_HOME = "$Base\home" node "$Base\harness\node_modules\@deepseek-ai\dsh\lib\bin.js" web --dump-config | Out-Null 2.3 装插件本体与依赖 $Profile = "$Base\home\profiles\web"powershell npm install --prefix $Profile --legacy-peer-deps --ignore-scripts --no-audit --no-fund $Pkg "$Base\harness\node_modules\@deepseek-ai\dsh-tools" npm install --prefix $Profile --legacy-peer-deps --ignore-scripts --no-audit --no-fund 'https://github.com/a86582751/dsh-file-upload/releases/download/v0.4.3-nexttavern.1/dsh-file-upload-0.4.3-nexttavern.1.tgz' 'yaml@2.8.1' npm install --prefix $Pkg --ignore-scripts --no-audit --no-fund yaml@2.8.1 2.4 安装「角色扮演模式」预设(--apply 前先审计) node "$Pkg\tools\install.mjs" --package $Pkg --home $env:DSH_HOME --harness "$Base\harness" node "$Pkg\tools\install.mjs" --package $Pkg --home $env:DSH_HOME --harness "$Base\harness" --apply --stopped --backup "$Base\backup-preset-1" 2.5 打 6 项内核兼容补丁 node "$Pkg\tools\patch-harness.mjs" --harness "$Base\harness" $env:DSH_ALLOW_HARNESS_PATCH = '1' node "$Pkg\tools\patch-harness.mjs" --harness "$Base\harness" --apply --stopped --backup "$Base\backup-harness-1" Remove-Item Env:DSH_ALLOW_HARNESS_PATCH 三个容易踩的坑,详见 常见问题: 必须先装 pnpm、本地目录安装不会带上依赖、别在插件目录里乱跑 npm install(会破坏其完整性校验)。 3) 启动 powershell .\start-mobile.cmd 或: node .\mobile-skin\serve-mobile.mjs 启动信息示例: =========== 手机访问已就绪 =========== 同一 Wi-Fi 打开: http://192.168.1.100:3511/ 远程访问: 未检测到 Tailscale 网卡(装上并登录后重启本服务即可显示地址) 口令: 已关闭(自用模式,打开即进) ====================================== 4) 手机打开 1. 手机连同一 Wi-Fi,浏览器输入上面那个地址 2. 首次会弹「内测声明」→ 点继续 3. 建议「添加到主屏幕」,以后像 App 一样用 只有走 :3511 才有 QQ 皮肤;直连 :3510 是桌面原版界面。 远程访问(在外面也能玩) ⚠️ 这台机器上跑的是能执行命令的 agent,把它暴露到公网 = 谁进来谁能操作你的电脑。 两条方案按安全性排序: 方案 A:Tailscale(推荐) 给自己的电脑和手机组一个私有加密网络(WireGuard),不暴露公网、不改路由器,个人版免费。 powershell 1) 电脑安装(管理员 PowerShell) winget install --id Tailscale.Tailscale 2) 手机装 Tailscale App,用同一个账号登录 3) 带口令启动服务 .\start-mobile.cmd -Auth 启动信息里会多出一行 在外面(Tailscale): http://100.x.y.z:3511/,把它存到手机即可。 打不开时(Windows 防火墙把 Tailscale 网卡判成「公用网络」),管理员执行一次: powershell New-NetFirewallRule -DisplayName 'DSH NextTavern (Tailscale)' -Direction Inbound -Protocol TCP -LocalPort 3511 -Action Allow -Profile Any 方案 B:Cloudflare Tunnel(对方零安装,但属公网暴露) powershell winget install --id Cloudflare.cloudflared .\start-mobile.cmd -Auth # 务必带口令 cloudflared tunnel --url http://127.0.0.1:3511 # 另开一个窗口 把打印出的 https://xxx.trycloudflare.com 发给对方即可(需输口令)。 注意网址随机、重启会变,且等于把服务公开到互联网——用完 Ctrl+C 关掉。 方案 C:路由器端口映射 需要公网 IP(多数家宽没有),且直接暴露端口,不推荐。 自定义 改配色 / 字号:编辑 mobile-skin/qq-skin.css 顶部变量,手机刷新即生效: css :root 里的这些变量(在 html.dsh-qq 选择器内) --qq-blue: #12b7f5; /* 主题色:想换成微信绿就改这里 / --qq-bg: #f2f3f5; / 聊天区背景 / --qq-radius: 18px; / 气泡圆角 / --dsh-content-font-size: 15px; / 正文字号 */ 临时关闭皮肤:网址后面加 ?skin=off。 安全须知 - 默认无口令,方便自用;手机通道会把 DSH 暴露在局域网(它能执行命令) - 公共 Wi-Fi / 远程访问时请务必加 -Auth - 不要把 3511 端口映射到公网 - 口令文件 mobile-skin/lan-password.txt 与 mobile-skin/last-token.txt 属于敏感信息, 已在 .gitignore 中排除,不要提交到 Git 常见问题 dsh plugin 报 'pnpm' is not recognized → npm i -g pnpm 提示 running scripts is disabled on this system(无法运行 .ps1) → 用同名的 .cmd(start-mobile.cmd / tools\fetch-nexttavern.cmd), 或 powershell -ExecutionPolicy Bypass -File .\start-mobile.ps1 解压插件时报 tar: Cannot connect to C: resolve failed → PATH 里的 tar 来自 Git Bash/MSYS。本仓库脚本已强制使用 %SystemRoot%\System32\tar.exe;手动解压时也请用它。 安装器报 Package integrity mismatch: package.json → 插件目录被改过(例如在里面跑过 npm install)。重新执行 tools\fetch-nexttavern.cmd 下载一份即可。 安装器报 Profile must reuse the Harness dsh-tools instance → 第 2.3 步漏了 "$Base\harness\node_modules\@deepseek-ai\dsh-tools" 这个参数。 补丁报 Unsupported package version: ... → 内核版本不对,必须是 0.1.2-alpha.3(用插件自带的 harness\package-lock.json 安装即可)。 手机打开空白 / 一直转圈 → 确认电脑上服务还在运行、手机与电脑同一 Wi-Fi、路由器未开启 AP 隔离。 界面没有 QQ 皮肤 → 确认访问的是 :3511(转发层),不是 :3510(内核)。 手机能开页面但发消息没反应(WebSocket 被拦) → 检查 VPN / 代理软件是否拦截了局域网 WebSocket。 外面打不开(Tailscale) → 见上文防火墙命令;另确认电脑未睡眠、服务仍在运行。 文件结构 dsh-nexttavern-qq-mobile/ ├── README.md 本文档 ├── LICENSE 本仓库代码的许可(MIT) ├── NOTICE.md 第三方来源与署名 ├── .gitignore 排除密钥与依赖 ├── start-mobile.ps1 启动(PowerShell) ├── start-mobile.cmd 启动(批处理,绕过执行策略) ├── mobile-skin/ │ ├── serve-mobile.mjs 手机访问层:转发 + token 自愈 + 皮肤注入 │ ├── qq-skin.css QQ 风格样式(改这里调外观) │ └── qq-skin.js 抽屉按钮 / 刘海适配 └── tools/ ├── fetch-nexttavern.ps1 从官方发布页下载原版插件 └── fetch-nexttavern.cmd 同上(批处理版) (安装后新增,均已被 .gitignore 忽略) ├── harness/ 锁定 alpha.3 的内核 ├── home/ 你的数据:会话 / 角色卡 / 故事 └── vendor/dsh-nexttavern/ 原版插件(官方下载) 工作原理(想改代码时看这里) 1. 浏览器访问 192.168.x.x:3511 2. serve-mobile.mjs 把请求转发到 127.0.0.1:3510,并做两件事: - 把 Host / Origin 改写成 127.0.0.1:3510 → 通过 DSH 的请求信任校验 - 对 HTML 响应注入 qq-skin.css / qq-skin.js → 手机端渲染成 QQ 风格 3. DSH 若返回 401(未登录),转发层自动 302 到 /?token= 重新引导登录 4. WebSocket(/api/remote.mux)走同一套转发,保证流式输出正常 为什么必须改写 Host:DSH 的会话 Cookie 绑定在 127.0.0.1:3510 这个 authority 上, 且请求信任校验也以 Host 为准。转发层用回环地址与上游对话,因此既通过校验、Cookie 也有效。 致谢与许可 - dsh-NextTavern — 原作者 @a86582751,MIT。 本仓库不包含其代码,仅提供下载与安装脚本;请遵守其许可与署名要求。 - DeepSeek Harness (@deepseek-ai/dsh) — 官方运行时,本仓库不修改其代码。 - 本仓库代码(mobile-skin/、启动与下载脚本、文档)— MIT,见 LICENSE,由 AI 生成。 AI 生成声明(详细) - 本仓库的代码、注释、文档全部由 AI agent 在 DeepSeek Harness 环境中编写,无人类手写代码。 - 规格与取舍来自人类使用者的需求描述;实现、调试与验证由 AI 完成。 - 开发过程中 AI 实际运行并验证过关键路径(页面 200、WebSocket 101、口令 401、伪造 Host 403、 布局尺寸测量、皮肤规则计算值等),但这些验证不代表对所有环境的保证。 - AI 生成内容可能包含错误或不当设计,请在使用前自行审阅,风险自负。 - 本仓库不包含任何第三方专有代码;引用的第三方项目均按其原许可分发(见 NOTICE.md)。
扫码进群