Skip to content

Releases: ASAKAFENG/dsh-qq-remote

v0.3.10

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 11:09

v0.3.10 — 白名单保存失败提示 + 引导可重复应用

🔧 白名单"保存后刷新丢失"

  • 根因:写入 ~/.dsh/qq-remote.json 失败时被静默吞掉,前端仍显示"✅ 已保存"
  • 修复:失败时返回真实错误并在前端显示(如磁盘/权限问题一眼可见)

🔧 "填了 QQ 号还是打不开"

  • 根因 1:引导按钮只在「NapCat 未启动」时显示——服务已启动后按钮消失,无法重新应用 -q 配置
  • 根因 2:托管服务 unit 变更后不会自动重启
  • 修复:① 引导区块未登录时常驻显示,服务已启动时按钮变「重新应用 NapCat 服务(修复)」;② unit 与期望不一致(如补 -q QQ号)时自动重写并重启

用法:填机器人 QQ 号 → 保存 → 点「重新应用 NapCat 服务(修复)」→ 服务带 -q 重启 → 二维码出现

v0.3.9

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 11:02

v0.3.9 — 修复引导后无二维码

🔧 根因:NapCat.Shell 不带 -q <QQ号> 启动时只运行 WebUI 模式,不会进入 QQ 登录流程、不生成二维码。之前引导注册的服务 ExecStart 只有 node napcat.mjs,所以"启动成功"却永远没有二维码。

✨ 修复

  • 设置面板(「QQ 远程」)新增**「机器人 QQ 号」输入框**,保存到 ~/.dsh/qq-remote.jsonnapcatQQ
  • 引导时自动把 QQ 号写入服务启动参数:node napcat.mjs -q <QQ号> → NapCat 进入快速登录/二维码流程
  • 未配置 QQ 号时引导会明确提示"请填写机器人 QQ 号后重新引导"(不再静默进入无二维码的 WebUI 模式)

🧭 探测路径补全:WebUI 配置(webui.json)与二维码文件探测加入引导安装目录 ~/.dsh/napcat——此前引导装到哪、探测就找不到哪,导致即使有二维码也显示不出来。

用法:设置页填机器人 QQ 号 → 点「一键安装/启动 NapCat」(服务会自动重写带 -q)→ 二维码出现 → 手机扫码。

v0.3.8

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:49

v0.3.8 — README 精简

  • 📝 安装疑难精简为 6 条最新问题(删除过时旧条目并重编号):
    • Q1 二维码不显示(NapCat 未启动诊断 + 一键引导)
    • Q2 引导下载慢(镜像 / 预下载 / 实时进度)
    • Q3 dirname 报错(升级 v0.3.3+)
    • Q4 双实例顶号(v0.3.3+ 自动检测)
    • Q5 皮肤插件失效(v0.3.1+ 修复 + repair.sh)
    • Q6 市场误判脚本型(v0.3.1+ 移入 scripts/)

v0.3.7

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:48

v0.3.7 — README 更新

  • 📝 平台支持情况:明确「已在 Ubuntu 环境验证安装通过」(一键安装 / 市场安装管线 / NapCat 引导 / 扫码登录全链路实测)
  • 📝 安装疑难(常见问题)重写为最新版(12 条):
    • 保留历史 Q1-Q6(YAML 解析 / client bundle / 卸载复活 / 依赖范围 / 依赖缺失 / 服务未就绪)
    • 新增 Q7-Q12:二维码不显示(NapCat 未启动诊断)、引导下载慢(镜像/预下载)、dirname 报错、双实例顶号、皮肤插件失效、市场误判脚本型

v0.3.6

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:38

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

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:30

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

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:22

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

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 10:00

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

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 09:35

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>/cwdNAPCAT_WORKDIR 反推;~/.config/napcat 等路径补充

🧪 回归:e2e 16 用例(含四类 qrReason 诊断场景)全过;本机热重载验证(识别本机 NapCat、relogin 真实响应)

v0.3.1

Choose a tag to compare

@ASAKAFENG ASAKAFENG released this 16 Aug 08:33

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 模拟通过、去敏感化零命中