uninstall
apothem uninstall 命令的 CLI 参考。
移除一个工具适配器配置。
概要
apothem uninstall --harness NAME|all [--yes] [--project PATH]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]移除由适配器管理的工具目标,然后在安装所创建的目录变为空之后移除这些目录(包含你自己任何内容的目录会保留)。
共享工作目录的记忆、上下文和学习存储,只有当这是该目录中最后一个已安装的工具时,才会被备份并移除。卸载会在安装所记录的位置移除它们,因此无论安装把它们写到哪里,卸载都能找到(参见 workspace 配置档案字段)。plans/ 目录永远不会被移除。
除非提供 --yes,否则会提示确认。在无法提示时——--format json(提示文本会破坏单个 JSON 文档)或非交互式 shell(无 TTY)——该命令会预先拒绝执行,并返回结构化的 uninstall.confirmation_required 错误(退出码 1),除非提供了 --yes。如果所选工具未安装,该命令会成功(退出码 0);在纯文本输出中,它会打印 NAME is not installed; nothing to remove.,其中 NAME 为工具 ID。
安装根目录下 .apothem/ 中的共享数据存储(memory/、contexts/、learning/),只要同一根目录下仍有另一个已安装的工具在使用它们,就会保留。当你移除的工具是该根目录下的最后一个工具时,该命令会先将每个数据存储复制到 Apothem 备份根目录(~/.apothem/backups/),然后连同其中的全部内容一并移除。你保存在 plans/ 中的任何内容绝不会被移除。
主目录中的共享文件夹
多个安装可以使用你主目录中的同一个文件夹:技能文件夹(~/.agents/skills/,或 ~/.codebuddy/skills/、~/.kiro/skills/、~/.trae/skills/)以及 ~/.config/apothem/rules/ 和 ~/.config/apothem/templates/。install 页面列出了哪个适配器写入哪个文件夹。Apothem 会记录哪些安装使用每个文件夹,而卸载遵循一条规则:只有当没有其他 Apothem 安装仍在使用某个文件夹时,才会移除它。
- 卸载一个工具时,只要另一个安装仍在使用这些技能,就会保留它们,并会说明这一点。同一个工具安装在两个项目中算作两个安装,因此从项目 A 卸载它时,只要项目 B 仍在使用这些文件夹,就会保留它们。最后一次卸载会移除它们(见下文的第二个示例)。
- 只会移除该安装自身记录所列出的内容。在这些文件夹开始受管理之前进行的安装没有这样的记录,因此卸载它不会移除你主目录中的任何内容。你添加到这些文件夹中的文件会保留,与某个 Apothem 技能同名、但并非由 Apothem 写入的文件夹也会保留。
- 项目文件夹已不存在的安装会被忽略,因此一个已删除的项目不会让这些文件夹永久保留。说明中会指出该安装。
- 如果一个可能使用这些文件夹的安装的记录无法读取,卸载会在移除任何内容之前以错误停止,而该安装仍保持已记录状态。修复或移走这条无法读取的记录,然后再次运行该命令。一个从不写入这些文件夹的工具的损坏记录会被忽略。
- 当最后一次使用消失时,变为空的文件夹也会被移除。每个文件夹在被移除之前都会备份到
~/.apothem/backups/下。
每次卸载都会为每个文件夹打印一条 Note:,例如 Note: <harness> - ~/.agents/skills/ was kept: still used by <harness> (/path/to/project),或 was removed: no other Apothem install uses it。在 --format json 信封中,每条说明都是一个 warnings 条目,带有 "outcome": "advisory"、"operation": "shared_root",以及设为 retained 或 released 的 "role"。它携带 path、holders(保留该文件夹的安装)、stale(被忽略的安装),以及 kept 和 total(保留的已记录条目,以及该安装列出的条目)。
如果某个文件夹因为一个你找不到的安装而保留,说明中会指出该安装。当项目文件夹已被删除时,该安装会被忽略,而该文件夹会随下一次卸载一并移除。当项目存在、但你手动从其规则文件中移除了 Apothem 块时,uninstall 会将该工具报告为未安装,并且不会释放它的占用;请为该工具和项目运行 install,然后运行 uninstall,以释放它。apothem verify 会显示某个文件夹是否仍然完整。
使用 --harness all 进行的移除刻意做到穷尽:它覆盖每个已注册的工具,包括配置档案的 exclude_harnesses 在安装时跳过的工具——清理会触及先前范围更广的安装可能遗留的状态。从未安装过的工具会收到同样的提示。
连续式别名 apothem uninstalling(也接受写作 apothem Uninstalling)解析到同一个处理程序。
选项
| 选项 | 描述 |
|---|---|
--harness NAME | 要移除的工具适配器,或用 all 表示覆盖整个注册表的集合(必填)。 |
--yes | 跳过确认提示。 |
--project PATH | 项目作用域工具的项目根目录。 |
--quiet, -q | 抑制信息性输出;只输出错误。 |
--verbose, -v | 为与其他命令保持一致而接受;本命令不输出额外信息。 |
--format plain|json | 输出格式(默认:plain)。 |
--json | --format json 的简写。 |
--no-color | 在输出中禁用 ANSI 颜色代码。 |
-h, --help | 显示帮助并退出。 |
JSON 输出
当适配器已安装并被成功移除时:
{
"schema_version": 1,
"status": "success",
"command": "uninstall",
"action": "uninstalled",
"harness": "claude-code",
"profile_path": null,
"project": null,
"files_written": [],
"results": [
{
"harness": "claude-code",
"outcome": "updated",
"operation": "uninstall",
"path": "C:\\Users\\Example\\.claude\\settings.json",
"message": "managed files removed"
}
],
"warnings": [],
"error": null,
"output_path": "C:\\Users\\Example\\.claude\\settings.json"
}当适配器未安装时,命令以 0 退出。在 JSON 输出中,信封包含 "status": "success" 和 "action": "uninstalled";结果行包含 "outcome": "skipped",其消息为 "not installed; no files removed"。status 字段绝不会是 "not_installed"。
示例
apothem uninstall --harness claude-code
apothem uninstall --harness claude-code --yes
apothem uninstall --harness cursor --project . --yes
apothem uninstall --harness all --project . --yes
apothem uninstalling --harness cursor --project . --yes # continuous-form alias共享技能文件夹会一直保留,直到使用它的最后一个安装消失为止:
apothem install --harness codex
apothem install --harness cursor --project A
apothem uninstall --harness codex --yes # keeps ~/.agents/skills/, the cursor install uses it
apothem uninstall --harness cursor --project A --yes # removes it: no install uses it now退出码
| 代码 | 含义 |
|---|---|
| 0 | 适配器已卸载,或本就未安装 |
| 1 | 未找到工具、确认被拒绝或无法进行确认(在未提供 --yes 的非交互式或 JSON 模式下),或每一项移除都失败了 |
| 2 | 部分移除——在失败之前至少有一个工具已被移除 |
| 64 | 用法错误:未知的选项或命令,或缺失或无效的选项值。在 --json 下,该错误是一个代码为 cli.usage 的 JSON 信封。 |
另请参阅
apothem uninstalling——此命令的连续式别名(在此处记录;CLI 接受两种形式)- apothem install——安装一个工具配置
- apothem verify——确认安装状态