Repository navigation
Releases
Releases · y083245/dsh-memory-brain
v0.5.2:非交互 shell 选对 node,整理提交历史
修一键启动在 ssh、cron 里选错 node 的问题,并整理了提交历史。
⚠️ v0.5.1 及更早的老用户:先跑一次
仓库整理过一次提交历史(文件内容没变,提交号变了),旧的升级脚本跟不上,会报「连不上 origin」。最省事的办法:交给 AI。 把这段话发给能在你电脑上运行命令的 AI(Claude Code、Codex 等),git 和 ZIP 安装的都能处理:
请读 https://raw.githubusercontent.com/y083245/dsh-memory-brain/main/docs/guides/AI_UPGRADE.md ,按里面的步骤帮我把这台机器上的 dsh-memory-brain(qq-bridge)升级到最新版。动手前先告诉我你查到的情况和打算怎么做,等我确认。
想自己来,在项目目录里执行,只需要这一次:
Linux:
git fetch origin && git checkout origin/main -- scripts/update.sh scripts/update.mjs scripts/lib/upgrade-common.mjs
bash scripts/update.shWindows(git clone 的):
git fetch origin
git checkout origin/main -- scripts/update.sh scripts/update.mjs scripts/lib/upgrade-common.mjs
node scripts/update.mjs从 windows-native 分支 clone 的,跑完再执行一条 git switch -C main origin/main。
升级脚本会重启桥接,QQ、SnowLuma、DSH 不用动。
改动
- 提交历史整理过一次:2026-10-31 之后的提交号都变了,文件内容、日期、标题不变,
v0.3.0~v0.5.1的标签已指向新提交,只保留main分支。升级脚本能认出内容相同的老版本,自动换到新历史。- 本地有自己的提交时脚本会拒绝升级:先用
git format-patch或另开分支把提交存好,git fetch origin && git reset --hard origin/main,再放回来。 - 自己 fork 的仓库要同步的话,需要强制更新。
- 本地有自己的提交时脚本会拒绝升级:先用
start-all在 ssh 命令、cron 里选对 node:这类非交互 shell 不加载 nvm,以前会拿系统 node 去起服务,起到一半才失败。现在自动用 nvm 里版本够、带cap_sys_ptrace的 node;找不到就在起任何服务之前说清楚。用NODE_BIN或orchestrator.nodeBin指定过的不替换,只检查。Windows 不受影响。start-all.sh、stop-all.sh在 PATH 里没有 node 时先去 nvm 目录找,都没有就给明确报错。scripts/systemd/install.sh不再写死 node 版本,默认取 nvm 里最新的。
v0.5.1:收紧令牌发送闸门,清理仓库
修一处发送闸门,顺带清理仓库。升级后要重启桥接,QQ、SnowLuma、DSH 不用动。
更新内容
- 收紧会话令牌的发送闸门:
qq_send_message一次发多条时,现在按整批检查,命中就一条都不发。以前逐条检查,令牌切得够碎就可能漏出去。建议升级。 - 修
test:audit偶发失败(R17 的request hung),并让它的「没有片段发出」断言真正检查到发送记录。 - 清理仓库:删掉 v0.5.0 误带进仓库的 21 个 macOS 元数据文件(
._*),它们只有系统属性、没有内容,并加了防线。 - CI:上游带来的
CI工作流在这个仓库上跑通了;去掉用不上的dev分支规则,CONTRIBUTING、SECURITY、Issue 模板都指向本仓库。
老用户怎么升级
在项目目录里执行:
Linux
bash scripts/update.shWindows
update.bat还在用 v0.3.0 或更早版本、windows-native 分支或 ZIP 包的,升级方法见 v0.5.0 的说明。
v0.5.0:一份代码跑 Linux 和 Windows
一份代码跑 Linux 和 Windows,修 Windows 双击闪退,兼容新版 DSH。windows-native 分支已合进 main,以后只维护 main。
更新内容
- 修 Windows 双击
start-all.bat闪退:目录名带括号或&时(比如重复下载的xxx (1)),旧脚本报语法错误后窗口直接关掉。现在窗口一定留得住;没装 Node、Node 太旧、没解压完整都会说清楚;每次运行的输出存在~/.ai-companion-run/start-all.log。 - Linux、Windows 合成一份代码:
.sh和.bat只做薄入口,升级和回滚改成 Node 实现,Windows 也有了update.bat、rollback.bat。 - DSH 兼容:CI 用真实的 DSH(0.2.1-rc.3、latest、alpha)和官方 Windows 桌面版核对预设注册。工具守卫跟上了 DSH 0.2.2 新增的
schedule_view、schedule_edit、apply_patch。start-all启动时会检查预设有没有注册,没有就打印诊断。 - 吸收上游 qq-bridge
v0.2.1-r2:会话数据隔离、执行期会话绑定、控制台错误脱敏、自定义模型思考强度降级、桌面版端口自愈等安全与稳定性修复。 - SnowLuma 2.3+:第一次运行要先在它的 WebUI 同意协议,等 OneBot 时会提示。
⚠️ 注意
- 许可证变了:上游
v0.2.1-r1之后改用 PolyForm Noncommercial 1.0.0(禁止商用),本项目合入后一起遵守。 - 升级后要重启一次 DSH,新的预设和守卫才生效。QQ、SnowLuma 不用动。
- macOS 不做原生适配,请用 Docker 跑 Linux 容器。
老用户怎么升级
在项目目录里执行:
Linux,v0.3.1 或 v0.4.0
bash scripts/update.shLinux,v0.3.0 或更早
git fetch origin && git checkout origin/main -- scripts/update.sh scripts/update.mjs scripts/lib/upgrade-common.mjs
bash scripts/update.shWindows(windows-native 分支)
git fetch origin --tags
git checkout origin/main -- scripts/update.mjs scripts/lib/upgrade-common.mjs
node scripts/update.mjs
git switch mainWindows(下载 ZIP 的):运行 stop-all.bat,备份 state\ 和 config.json;解压新 ZIP,把这两样放回去,再双击 start-all.bat。
新用户的安装教程见 README。