ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenClaw 卸载指南:`clawdbot uninstall` 命令详解、作用域模型与本地数据清理

OpenClaw 卸载指南:`clawdbot uninstall` 命令详解、作用域模型与本地数据清理 人工智能AI Agent即时通讯后端本地部署语音【免费下载链接】openclaw-cn中文社区版OpenClaw同原版保持定期更新已内置钉钉、企业微信、飞书、QQ、微信以及国内网络环境优化。你的专属个人AI助手。支持所有操作系统和平台。项目地址https://gitcode.com/gh_mirrors/op/openclaw-cn点击查看免费下载导读clawdbot uninstall是 OpenClaw 中文社区版仓库 docs/cli/uninstall.md提供的卸载命令它用于移除后台网关服务launchd / systemd / schtasks与本地状态数据同时保留 CLI 本体方便你随时重新配置或换机迁移。读完本文你将掌握该命令的全部选项与作用域语义、跨平台服务卸载的真实执行流程、本地目录的安全删除机制以及如何在无人值守场景下用非交互模式完成彻底清理。一、命令概览三种典型用法原文档给出了最核心的三条命令分别对应交互式卸载、无确认的全量清理、以及先演练后执行的安全路径clawdbot uninstall clawdbot uninstall --all --yes clawdbot uninstall --dry-runclawdbot uninstall进入交互模式通过多选菜单勾选要卸载的组件并在删除前做二次确认clawdbot uninstall --all --yes跳过所有提示一次性移除网关服务、状态与配置、工作区、macOS 应用如有clawdbot uninstall --dry-run只打印将要执行的删除操作不真正触碰任何文件适合在动手前审查清理范围。命令在 src/cli/program/register.maintenance.ts 中注册帮助文本明确其定位为卸载网关服务 本地数据保留 CLI。二、作用域模型四种可独立清理的组件clawdbot uninstall不是一刀切的全删命令而是把本地安装物拆分成四个互不干扰的作用域。源码中通过UninstallScope类型定义src/commands/uninstall.tstype UninstallScope service | state | workspace | app;作用域含义默认路径 / 位置service后台网关服务macOS 的 LaunchAgent、Linux 的 systemd user 服务、Windows 的计划任务state状态数据 配置 OAuth 凭据~/.openclaw含状态目录、配置文件、credentials目录workspaceAgent 工作区目录~/.openclaw/workspace多 profile 时为workspace-profile或配置中指定的工作区appmacOS 桌面应用/Applications/Clawdbot.app不带任何作用域参数运行clawdbot uninstall时交互式多选菜单会列出以上四项服务、状态、工作区默认已勾选macOS 应用默认不勾选取消操作会安全退出且不删除任何内容src/commands/uninstall.ts。这一设计让只卸服务保留数据、只清数据保留服务等精细化场景成为可能。三、完整参数说明命令注册处src/cli/program/register.maintenance.ts定义了全部选项选项说明默认值--service仅删除网关服务false--state仅删除状态 配置false--workspace仅删除工作区目录false--app仅删除 macOS 应用false--all删除服务 状态 工作区 应用false--yes跳过确认提示false--non-interactive禁用交互提示必须配合--yesfalse--dry-run打印将执行的操作但不删除文件false作用域参数可以自由组合例如clawdbot uninstall --service --state只清服务与状态而保留工作区。--all等价于四个作用域同时开启当指定了任意作用域参数时即视为显式声明不再弹出多选菜单src/commands/uninstall.ts。四、逐作用域详解每个组件实际删了什么4.1service跨平台网关服务卸载网关服务由resolveGatewayService()按当前平台解析src/daemon/service.tsmacOSLaunchAgent执行launchctl remove label随后对 GUI 域与用户域分别执行launchctl bootout再以launchctl unload兜底plist 文件不会被硬删除而是被移入~/.Trashsrc/daemon/launchd.ts。Linuxsystemd user 服务执行systemctl --user disable --now unit停止并禁用服务然后删除对应的.serviceunit 文件src/daemon/systemd.ts。Windows计划任务执行schtasks /Delete /F /TN 任务名删除计划任务并清理配套的启动脚本src/daemon/schtasks.ts。卸载前命令会先检测服务加载状态若服务处于运行中则先stop再uninstall卸载完成后还会再次复检加载状态确保服务确实已被移除src/commands/uninstall.ts。需要注意当以 Nix 模式安装时服务卸载会被显式禁用并报错service uninstall is disabledsrc/commands/uninstall.ts这是对 Nix 声明式管理模型的尊重——服务应当由 Nix 配置来治理而非由 CLI 越权删除。4.2state状态数据、配置与 OAuth 凭据state是卸载中最敏感的作用域它包含三部分路径解析逻辑位于 src/config/paths.ts状态目录~/.openclaw可变数据会话、日志、缓存可由环境变量OPENCLAW_STATE_DIR或旧名CLAWDBOT_STATE_DIR覆盖配置文件~/.openclaw/openclaw.jsonJSON5 格式可由OPENCLAW_CONFIG_PATH或CLAWDBOT_CONFIG_PATH覆盖默认落在状态目录内OAuth 凭据目录$STATE_DIR/credentials可由OPENCLAW_OAUTH_DIR单独覆盖。删除时命令会判断配置与凭据目录是否位于状态目录内部isPathWithin若在内部随状态目录一并删除若被环境变量指向了外部路径则作为独立路径单独删除src/commands/uninstall.ts。这意味着即使你自定义过配置路径卸载也能完整清理不会残留凭据或配置。4.3workspaceAgent 工作区工作区目录由 collectWorkspaceDirs 收集它优先读取配置中agents.defaults.workspace与每个 agent 的workspace字段若配置未指定则回退到默认路径~/.openclaw/workspace多 profile 时按OPENCLAW_PROFILE生成workspace-profile见 src/agents/workspace.ts。一个值得注意的细节如果本次只删除了state而未删除workspace命令会额外提示工作区已保留可用--workspace再次执行以移除它们src/commands/uninstall.ts避免你在不知情的情况下丢失 Agent 文件。4.4appmacOS 桌面应用仅当运行平台为 macOS 时生效删除/Applications/Clawdbot.appsrc/commands/uninstall.ts在其他平台该作用域为空操作。五、安全机制危险路径防护与 dry-run目录删除统一走 removePath它内置了两道安全闸门拒绝危险目标目标为空、等于文件系统根目录、或等于用户主目录时直接拒绝并报错绝不执行src/commands/cleanup-utils.tsdry-run 短路--dry-run模式下只输出[dry-run] remove 路径跳过实际的fs.rm调用。因此clawdbot uninstall --dry-run是官方推荐的卸载预演方式先看清每个作用域将删除的完整路径清单确认无误后再正式执行。六、非交互模式脚本与 CI 中的自动化卸载--non-interactive用于脚本化场景但它有两条硬性约束src/commands/uninstall.ts必须同时携带--yes否则直接以退出码 1 报错Non-interactive mode requires --yes.必须显式指定作用域如--all否则报错Non-interactive mode requires explicit scopes (use --all).典型用法即原文档中的clawdbot uninstall --all --yes这条命令不弹任何提示、不依赖交互输入适合在自动化脚本中执行全量清理。七、卸载流程源码级拆解stop → uninstall → 复检无论从clawdbot uninstall进入还是从子命令clawdbot daemon uninstall/clawdbot gateway uninstall进入服务卸载都收敛到 runDaemonUninstall其三步流程严谨可复现检测加载状态service.isLoaded()——服务未加载则直接跳过停止并卸载先service.stop()尽力而为失败不阻断后续再service.uninstall()卸载后复检再次调用isLoaded()若服务仍处于加载状态则报错退出Gateway service still loaded after uninstall.防止静默失败。携带--json时输出结构化结果ok、result、error、服务快照等字段便于脚本解析判断成功与否JSON 输出结构定义在 src/cli/daemon-cli/response.ts。子命令入口位于 src/cli/daemon-cli/register.ts 与 src/cli/gateway-cli/register.ts。如果你只想移除后台服务而保留全部数据用clawdbot gateway uninstall或clawdbot daemon uninstall即可它不触碰状态与工作区。八、卸载完成后CLI 保留与验证卸载命令执行完毕后会输出CLI still installed. Remove via npm/pnpm if desired.——clawdbot uninstall只清理网关服务与本地数据不会删除 CLI 程序本身如需彻底移除 CLI需通过你的包管理器npm / pnpm另行卸载。清理效果的验证手段# 查看网关服务当前状态未加载即已卸载成功 clawdbot daemon status # 确认本地状态目录已不存在 ls -la ~/.openclawclawdbot daemon status会同时显示服务安装状态并探测网关src/cli/daemon-cli/register.ts可作为卸载后的最终确认。相关背景还可参考 docs/install/uninstall.md 与 docs/gateway/index.md。九、小结clawdbot uninstall的价值在于可编排、可预演、可自动化四种作用域让你按需清理--dry-run让删除透明可控--non-interactive --yes让清理可进脚本而源码中对危险路径的拒绝、卸载后的状态复检则保证了清理过程既彻底又安全。记住三条主线即可交互式默认只删服务与数据、--all --yes做全量无感清理、--dry-run永远是你的第一道防线。赞分享人工智能AI Agent即时通讯后端本地部署语音【免费下载链接】openclaw-cn中文社区版OpenClaw同原版保持定期更新已内置钉钉、企业微信、飞书、QQ、微信以及国内网络环境优化。你的专属个人AI助手。支持所有操作系统和平台。项目地址https://gitcode.com/gh_mirrors/op/openclaw-cn点击查看免费下载相关推荐OpenClaw openclaw uninstall 命令全解安全卸载 Gateway 服务与本地状态数据OpenClaw openclaw uninstall 命令全解安全卸载 Gateway 服务与本地状态数据 本文围绕 openclaw uninstallAI 应用AI Agent交互助手后端即时通讯网关Rye 完全卸载指南rye self uninstall 命令解析与残留清理实战Rye 完全卸载指南 rye self uninstall 命令解析与残留清理实战 rye self uninstall 是 Rye 提供的官方自我卸载命令开发工具CLIOpenClaw 一键卸载脚本实战一行命令彻底清理 AI 智能体与数据OpenClaw 一键卸载脚本实战一行命令彻底清理 AI 智能体与数据 本教程是《OpenClaw 保姆级教程》系列的第 15 篇讲解如何用一行命令完整卸载文档教程知识库人工智能上一篇vue-admin-template 实战指南基于 Vue 2.6 Element UI 的极简后台模板搭建、构建与权限控制下一篇如何快速上手vue2-admin-lte30分钟搭建企业级后台管理系统创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表