Skip to content

Releases: 2908746449/hanshuang-mac

寒霜破甲工具 · macOS 版 v1.2

Choose a tag to compare

@2908746449 2908746449 released this 04 Oct 12:56

寒霜破甲工具 · macOS 版 v1.2

把原 Windows 便携版(寒霜破甲工具-便携版-1.2.zip)完整适配到 macOS。
Electron 桌面壳 + 随包 PowerShell 7.6.6,双击即用,不需要用户另装 PowerShell。

下载

文件 适用机型 说明
hanshuang-macos-arm64-1.2.zip Apple Silicon(M1/M2/M3/M4) 解压后把 .app 拖进「应用程序」
hanshuang-macos-x64-1.2.zip Intel Mac 同上

资产名用 ASCII:GitHub 上传时会剥掉文件名里的非 ASCII 字符,
原名「寒霜破甲工具-macOS-…」会被截成「-macOS-…」。解压出来的 .app 仍是中文名。

首次打开若被 Gatekeeper 拦下(构建用 ad-hoc 签名):

xattr -cr "/Applications/寒霜破甲工具.app"

支持的目标

目标 注入点 状态
Codex ~/.codex/config.toml 的 model_instructions_file + ~/.codex/AGENTS.md + ~/.codex/skills ✅
ZCode ~/.zcode/AGENTS.md + 记忆文件 + ZCode.app/Contents/Resources/glm/zcode.cjs 系统提示词 ✅
Cursor ~/.cursor/rules/寒霜注入.mdc(全局 User Rules)+ 项目级 .cursor/rules ✅
Claude ~/.claude/CLAUDE.md + ~/.claude/skills ✅
WorkBuddy 国际版 ~/.workbuddy-ai/memory/*_memory.md + MEMORY.md + skills ✅
WorkBuddy 国内版 ~/.workbuddy/…(同一脚本,靠 -ConfigDir 区分) ✅
DeepSeek Harness (DSH) ~/.dsh/AGENTS.md + ~/.dsh/skills ✅
豆包 (Doubao) 走 CDP 驱动客户端改云端全局记忆 ⚠️ 见下

移植做法

原版注入逻辑(8 个 .ps1,4200+ 行已验证代码)一行没改。所有 Windows 专有语义
收敛到新增的 resources/platform.ps1 适配层,各脚本在 param() 之后点入:

Windows 语义 macOS 实现
$env:USERPROFILE $HOME
$env:APPDATA / LOCALAPPDATA ~/Library/Application Support
$env:ProgramFiles /Applications
$env:SystemDrive /
$env:TEMP [IO.Path]::GetTempPath()
robocopy /E /MIR rsync -a [--delete](无 rsync 时退化 Copy-Item)
[IO.DriveInfo]::GetDrives() 返回空数组(Unix 无盘符概念)
注册表 Uninstall\* 找安装目录 扫 /Applications 与 ~/Applications 下的 .app
Start-Process *.exe open -a
taskkill /PID /T /F kill(-pid, SIGKILL)(子进程 detached 自成进程组)
Get-StartApps 重启 Codex 扫 /Applications 找 Codex 系 .app → open -a

Electron 用 33.4.11,与原 Windows 便携版同版本。

验证

tests/ipc-test.mjs:把 electron 换成桩模块,require 真实 app.asar 里的 main.cjs,
抓出注册的 IPC handler 按界面路径逐目标跑 install / uninstall / restoreMemory。

在 macOS 26.5.1 / arm64 上 22/22 通过。逐目标结论:

目标 安装 卸载还原
Codex ✅ config.toml 指针 + AGENTS.md 标记块 + 63 个技能 ✅ config.toml 与安装前逐字节一致,managed-prompts 整目录回收
ZCode ✅ 命中 ZCode.app/Contents/Resources/glm/zcode.cjs 并改写 u9o/s9o ✅ 系统提示词从 ~/.zcode/zcode.cjs.backup-* 还原
Cursor ✅ 4 处规则(~/.cursor/rules、~/Library/Application Support/Cursor/…、项目级、旧版 .cursorrules) ✅ 全部摘除
Claude ✅ CLAUDE.md + 63 个技能 ✅ 还原
WorkBuddy ✅ 云记忆档案 memoryBlock + MEMORY.md + generateMemoryEnabled + 63 技能 ✅ 档案 memoryBlock/version、MEMORY.md、app-config.json 全部按备份还原
DSH ✅ AGENTS.md + 71 个技能 + 懒人包文件 ✅ 全部摘除

顺带修掉三个上游真 bug(Windows 版同样存在)

  1. install-zcode.ps1:卸载只用 CTF-LAB-2.0 判「系统提示词被注入过」,但实际写进去的
    是随包提示词正文、不含该字面量 → 漏判 → ZCode.app 的 zcode.cjs 永久停在被改状态。
    改为「state 备份哈希比对 + 备份目录兜底」三条判据;安装后的自检同样误报,一并修正。
  2. install-dsh.ps1:卸载只比无属性 $marker,而懒人包写的是
    <!-- HANSHUANG-INJECT:BEGIN pack=<kitName> --> → 漏判 → 卸载完 AGENTS.md 还留着整份注入。
  3. clear-injected-prompts.ps1:同一份记忆档案既被计划「整份删除」又被计划
    「清空 Memory Block」,执行时前者先删、后者再读抛异常 → 退出码 1 →
    界面显示「卸载完成但提示词残留清理失败」。计划阶段去重 + 执行阶段容忍文件已删。

已知限制:豆包在 macOS 上不可用

代码已移植(路径解析实测正确指向
/Applications/Doubao.app/Contents/Helpers/Doubao Browser.app/Contents/MacOS/Doubao Browser
—— 那才是对应 Windows app\Doubao.exe 的 Chromium 主体),但当前 macOS 版豆包客户端
会重写自身命令行
:

以 --remote-debugging-port=9222 启动后,进程命令行变成 ... --saman-from-chat=<pid>
→ 调试端口被丢弃,9222 不监听,DevToolsActivePort 不生成
(已排除沙箱因素:同环境下 Python 绑 127.0.0.1:9333 正常)

CDP 通道建不起来,这个目标在 macOS 上暂不可用。脚本遇到这种情况会明确打印原因,
不会静默失败。其余 6 个目标不受影响。

从源码构建

npm install
npm run build            # 按当前机器架构
npm run build:arm64
npm run build:x64

首次构建自动下载 Electron 33.4.11 darwin-<arch> 与 PowerShell 7.6.6 osx-<arch>
到 vendor/(带完整性校验、断点续传,直连/代理/npmmirror 三级回退)。
产物:dist/寒霜破甲工具.app