Releases: ASAKAFENG/dsh-qq-remote
Release list
v0.3.10
v0.3.10 — 白名单保存失败提示 + 引导可重复应用
🔧 白名单"保存后刷新丢失"
- 根因:写入
~/.dsh/qq-remote.json失败时被静默吞掉,前端仍显示"✅ 已保存" - 修复:失败时返回真实错误并在前端显示(如磁盘/权限问题一眼可见)
🔧 "填了 QQ 号还是打不开"
- 根因 1:引导按钮只在「NapCat 未启动」时显示——服务已启动后按钮消失,无法重新应用
-q配置 - 根因 2:托管服务 unit 变更后不会自动重启
- 修复:① 引导区块未登录时常驻显示,服务已启动时按钮变「重新应用 NapCat 服务(修复)」;② unit 与期望不一致(如补
-q QQ号)时自动重写并重启
用法:填机器人 QQ 号 → 保存 → 点「重新应用 NapCat 服务(修复)」→ 服务带 -q 重启 → 二维码出现
v0.3.9
v0.3.9 — 修复引导后无二维码
🔧 根因:NapCat.Shell 不带 -q <QQ号> 启动时只运行 WebUI 模式,不会进入 QQ 登录流程、不生成二维码。之前引导注册的服务 ExecStart 只有 node napcat.mjs,所以"启动成功"却永远没有二维码。
✨ 修复:
- 设置面板(「QQ 远程」)新增**「机器人 QQ 号」输入框**,保存到
~/.dsh/qq-remote.json(napcatQQ) - 引导时自动把 QQ 号写入服务启动参数:
node napcat.mjs -q <QQ号>→ NapCat 进入快速登录/二维码流程 - 未配置 QQ 号时引导会明确提示"请填写机器人 QQ 号后重新引导"(不再静默进入无二维码的 WebUI 模式)
🧭 探测路径补全:WebUI 配置(webui.json)与二维码文件探测加入引导安装目录 ~/.dsh/napcat——此前引导装到哪、探测就找不到哪,导致即使有二维码也显示不出来。
用法:设置页填机器人 QQ 号 → 点「一键安装/启动 NapCat」(服务会自动重写带 -q)→ 二维码出现 → 手机扫码。
v0.3.8
v0.3.7
v0.3.7 — README 更新
- 📝 平台支持情况:明确「已在 Ubuntu 环境验证安装通过」(一键安装 / 市场安装管线 / NapCat 引导 / 扫码登录全链路实测)
- 📝 安装疑难(常见问题)重写为最新版(12 条):
- 保留历史 Q1-Q6(YAML 解析 / client bundle / 卸载复活 / 依赖范围 / 依赖缺失 / 服务未就绪)
- 新增 Q7-Q12:二维码不显示(NapCat 未启动诊断)、引导下载慢(镜像/预下载)、dirname 报错、双实例顶号、皮肤插件失效、市场误判脚本型
v0.3.6
v0.3.6 — 设置面板可配置 NapCat 下载源
⬇️ 下载源可选项(设置页新增)
- 「QQ 远程」设置面板新增「NapCat 下载源」区块:
- 官方 GitHub(默认)
- gh-proxy.com 镜像
- ghfast.top 镜像
- 自定义地址(http/https/file://)
- 一键切换保存,写入
~/.dsh/qq-remote.json即时生效(下次引导使用新源)
🔧 后端
GET /qq-remote/napcat/settings:镜像列表 + 当前选择POST /qq-remote/napcat/settings:保存(URL 格式校验)
验证:e2e 21/21;本机实测 settings API 往返(切换镜像 → 回读 → 恢复官方)✅
v0.3.5
v0.3.5 — 引导下载体验:实时进度 + 镜像支持
回答"安装慢正常吗":正常——引导需要从 GitHub 下载约 29MB 的 NapCat.Shell,国内网络通常要几分钟。
本次优化:
- ⚡ 实时下载进度:面板显示「下载中 xMB / 29MB(x%)」,不再干等
- ⏱️ 下载超时放宽:5 分钟 → 15 分钟(慢网络友好)
- 🔗 可配置下载源:新增
napcatDownloadUrl(默认官方 GitHub Release,可换镜像或本地file://路径) - 📥 预下载跳过:手动把
NapCat.Shell.zip放到~/.dsh/NapCat.Shell.zip(>5MB)→ 引导直接跳过下载,秒装 - 📖 README FAQ 补充说明
验证:e2e 21/21 全过
v0.3.4
v0.3.4 — 修复"一键安装 NapCat"按钮消失
🐛 根因
- 判断"NapCat 未启动"用的是"systemd 是否存在 napcat unit",而非"服务是否正在运行"
- 测试机上 NapCat unit 存在但未运行(inactive,例如引导注册过
dsh-napcat.service或服务停着)→ 被误判为"服务存在" → 二维码原因变成webui_not_found/waiting→ 引导按钮隐藏
🔧 修复
qrReason改为严格按"服务正在运行"(systemctl is-active)判断:unit 不存在 或 inactive 都归napcat_not_running→ 引导按钮显示- 服务停止时旧二维码残留不再优先(死码扫码无效,优先报
napcat_not_running) /qq-remote/status新增napcatActive字段区分"服务存在"与"正在运行"- relogin 同步:服务 inactive 时也返回真实错误 + 修复指引
🧪 验证:e2e 21 用例(含 inactive → 显示引导按钮、死码残留场景);本机实测:停服务 → qrReason:"napcat_not_running" ✅
v0.3.3
v0.3.3 — 引导修复:dirname bug + 防双实例顶号
🐛 修复引导崩溃
Cannot read properties of undefined (reading 'dirname'):os.path.dirname误用 → 修正为path.dirname
🛡️ 防双实例顶号(重要)
- bootstrap 执行前检查:已有活跃 NapCat 服务(systemctl is-active)或 OneBot 已连接 → 直接跳过并提示
- 避免"引导启动的第二个 NapCat 实例与已有实例抢同一 QQ 账号、互相顶下线"的严重问题
- 面板层 + 模块层双保险
🔒 其他
- 配置
napcatInstallDir时只信任配置值(不再扫描其他候选,便于隔离测试) - e2e 扩至 19 用例:防顶号跳过、下载失败结构化错误路径、四类 qrReason 诊断
测试:e2e 19/19;本机热重载验证(防护正确返回"NapCat 已在运行")
v0.3.2
v0.3.2 — 开箱即用:NapCat 引导 + 二维码诊断
🧩 一键安装 NapCat(开箱即用)
- 面板新增「一键安装/启动 NapCat」按钮(NapCat 缺失时显示)
- 自动完成:下载官方 NapCat.Shell → 解压 → 幂等写入 OneBot11 反向 WS 配置(3001)→ 注册 systemd 用户服务
dsh-napcat.service→ 启动 → 二维码自动出现扫码登录 - 已安装场景自动跳过(幂等),不覆盖用户已有 OneBot 配置
🔍 二维码诊断分级
/qq-remote/status区分napcat_not_running/webui_not_found/stale_qrcode/waiting- 设置页与完整面板直接显示原因与修复指引,不再无限"等待"
❌ 重新登录不再假装成功
- NapCat 服务缺失时返回真实错误(含修复指引),前端恢复按钮
⚡ 轮询优化:QR 获取 5s 缓存 + WebUI 失败 10s 退避(避免登录限流)
🧭 探测增强:/proc/<pid>/cwd 与 NAPCAT_WORKDIR 反推;~/.config/napcat 等路径补充
🧪 回归:e2e 16 用例(含四类 qrReason 诊断场景)全过;本机热重载验证(识别本机 NapCat、relogin 真实响应)
v0.3.1
v0.3.1 — 对齐 DSH 插件市场 STANDARD 规范
✅ 修正市场类型判定(关键)
- 安装脚本全部移入
scripts/子目录 —— 根目录不再有install.sh - 市场将正确识别为 cordis-plugin(此前会被第 3 条规则误判为「脚本型」,导致构建/依赖/注册/更新/卸载全管线失效)
📦 改为产物型插件
- 提交
lib/构建产物(8 个模块),市场安装直接复制,无需构建弹窗
📝 元数据对齐
- package.json:
main/repository/files(含scripts)/dsh声明齐全 - npm 包名
@dsh-external/dsh-qq-remote唯一性已确认 - README 安装指引更新:
bash scripts/install.sh
验证:e2e 回归 9/9、install/uninstall 模拟通过、去敏感化零命中