Keysmith Switch 文档

第 09 章

工作原理

适配器负责写,Switch 负责管。这一章讲清楚一次部署从粘贴到写入经过了哪些环节,以及每个环节守住的边界。

一次部署经过的环节

粘贴提示词或选择本地 .md
        ↓
提示词库(版本 · 哈希校验)
        ↓
部署计划(现在 → 部署后)── 你确认 ──→ Agent 适配器 ──→ Agent 配置
                                          └── 写入前自动备份
  1. 入库:提示词存进 ~/.keysmith-switch/,记录正文的哈希。
  2. 预览:Switch 把正文写进一个临时文件,交给适配器的预览命令。适配器只计算会写什么、会备份什么,不写入。
  3. 确认:你在计划里点「部署」。如果这之间正文变过(哈希对不上),执行会被拒绝。
  4. 执行:适配器用同一份计划写入,写之前先备份;临时文件随后清理。
  5. 记录:结果写进操作记录,顶部状态更新为「当前已部署」。

守住的边界

  • 适配器负责写,Switch 负责管。 所有真实的配置写入都经过四个 Agent 适配器,GUI 不直接改写 Agent 的配置文件。例外只有:清理时清空 ~/.claude/CLAUDE.md、~/.codex/AGENTS.md 和移动 ~/.codex/memories,写入前会确认路径正是这几个、文件是普通文件、文件夹不是链接;以及输入替换连接时改的那一个配置项。
  • 交给适配器的只有正文。 库里的 Markdown 带有元数据;交给适配器的临时文件只包含提示词正文,预览或执行完成后就清理。
  • 不暗中改写。 同一 Agent 的相同正文复用已有的库条目;原条目的标题或标签不同时,返回并部署原条目,不会悄悄改它的元数据。
  • 不替你部署官方正文。 Switch 不会自动部署任何官方提示词,快速部署也不会从其他 Keysmith 仓库的远程分支抓取内容。官方提示词包可以通过可选的拓展包安装,装进库里之后仍要你确认才会部署。
  • 版本锁定。 每个适配器的版本和 App 要求的版本必须一致,否则确认部署会被拒绝。

适配器从哪里来

四个适配器以 sidecar 的形式打包在 App 里(third_party/keysmith/ 中锁定版本),不需要你安装对应的 Keysmith 仓库,也不需要 Python。它们是开源的 MIT 项目,各自也有独立的命令行版本。

应用内更新

  • App 启动后会检查公开仓库 keysmith-switch-releases 的最新稳定版,之后每 6 小时、或窗口回到前台且距上次超过 1 小时再检查一次。
  • 更新包用独立的生产 minisign 密钥签名,客户端安装前先验签;签名失败、离线、下载中断时保留当前版本。
  • 是否安装由你确认。Windows 上会读取系统代理。

文档有误或看不懂?到讨论区告诉我们