CSSwitch v0.1.4
CSSwitch v0.1.4
自 v0.1.2 起的合并发布,重点是开箱即用与实机验证过的稳定性修复。
重大:拔掉 node 运行时依赖(开箱即用)
- node-ectomy:虚拟 OAuth 伪造器移进 Rust 原生实现(
oauth_forge.rs,RustCrypto 重写 HKDF-SHA256 + AES-256-GCM v2 令牌),app 运行时彻底不再需要 node。与旧make-virtual-oauth.mjs的 v2 GCM 格式字节兼容,node↔rust 双向对拍钉死。这是「缺 node」报错的治本解:不管用户装没装 node 都能用。
新增
- 第三方 / 官方 一键切换:面板顶部分段切换。第三方模式走 DeepSeek/千问;切到「官方 Claude」即干净交回你真实的 Science 与订阅(用
open正常启动 + 抹掉ANTHROPIC_*,不碰真实凭证、不起代理/沙箱)。切官方是真正的切换:后端先停掉第三方链路。
修复
- 沙箱卡在「Switching organization」(#3,实机复现并修正):代理对
claude.ai / *.anthropic.com的 CONNECT fast-fail 返回 401(未登录)。初版返回 403(禁止)会让 operon 当组织问题反复重试、仍卡住;改回 401 才触发 operontreating as logged-out秒过(operon 日志实测:403→卡、401→过,唯一变量就是状态码)。 - 面板拖不动(#1):随下面的正常窗口改动一并解决。
变更
- 面板改为正常桌面窗口(#4):不再是菜单栏下拉;启动即居中弹出,有标题栏关闭/最小化/缩放三键、可拖动、可缩放;移除菜单栏托盘图标。
- 运行时依赖:node + python3 → 仅 python3(下一步移 axum 拔 python)。
安全 / 健壮性(两轮外部复审)
- 伪造器护栏加固:绝不解析进真实
~/.claude-science之内或其本身(先于沙箱根检查),符号链接异常布局也不碰真实目录;旧.enc删除失败改显式报错;登录 shell 探测超时 kill 子进程;http_proxy收敛为只设https_proxy;clippy 清零。
已知限制
- 虚拟登录下,Anthropic 托管的远程 MCP 服务(pubmed / clinical-trials / chembl / biorxiv,位于
*.mcp.claude.com)不可用(需真实 Anthropic 授权,代理已短路,Science 自动跳过);本地内置 bio-tools MCP 正常可用。
安装
下载 CSSwitch_0.1.4_aarch64.dmg,拖进「应用程序」。首次打开右键 →「打开」(ad-hoc 签名、未做 Apple 公证,属正常)。目前仅 arm64(Apple Silicon)。需要本机装有 Claude Science 与 python3,并填入你自己的第三方 API key。
完整变更见 CHANGELOG.md。