Update: 将子项目从 submodule 转为完整内容

- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
This commit is contained in:
freedak
2026-07-04 19:20:46 +08:00
parent 54d6465fa7
commit f7a720204a
3360 changed files with 802660 additions and 3 deletions
@@ -0,0 +1,307 @@
# OpenClaw 卸载指南
## 概述
本指南提供完全卸载 OpenClaw 的步骤,包括:
- 停止所有运行中的服务
- 卸载 npm 全局包
- 删除配置文件和目录
- 移除系统服务(launchd/systemd
- 清理环境变量
## 卸载前准备
### 1. 停止所有 OpenClaw 进程
**停止 Gateway 服务:**
```bash
# 检查 Gateway 状态
openclaw gateway status
# 停止 Gateway
openclaw gateway stop
```
**检查并停止所有相关进程:**
```bash
# macOS/Linux
ps aux | grep openclaw | grep -v grep
# 如果发现进程,手动停止
killall openclaw # macOS/Linux
```
### 2. 检查系统服务状态
**macOS (launchd):**
```bash
# 检查服务状态
launchctl list | grep openclaw
# 如果服务正在运行,先卸载服务
launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist 2>/dev/null
```
**Linux (systemd):**
```bash
# 检查服务状态
systemctl --user status openclaw-gateway
# 停止并禁用服务
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway
```
## 完整卸载步骤
### 步骤 1:卸载 npm 全局包
```bash
# 使用 npm 卸载
npm uninstall -g openclaw
# 如果使用 pnpm 安装的
pnpm remove -g openclaw
# 如果使用 bun 安装的
bun remove -g openclaw
```
**验证卸载:**
```bash
openclaw --version
# 应该显示 "command not found" 或类似错误
```
### 步骤 2:删除配置文件和数据目录
**删除主配置目录:**
```bash
rm -rf ~/.openclaw
```
**检查并删除其他可能的位置:**
```bash
# 检查是否有其他配置目录
ls -la ~ | grep -i openclaw
ls -la ~ | grep -i clawd
# 如果存在,删除它们
rm -rf ~/clawd # 如果存在旧版本的工作区
```
### 步骤 3:移除系统服务配置
**macOS (launchd):**
```bash
# 删除 LaunchAgent 配置文件
rm -f ~/Library/LaunchAgents/com.openclaw.gateway.plist
# 清理 launchctl 环境变量(如果设置过)
launchctl unsetenv OPENCLAW_GATEWAY_TOKEN 2>/dev/null
launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD 2>/dev/null
```
**Linux (systemd):**
```bash
# 删除 systemd 服务文件
rm -f ~/.config/systemd/user/openclaw-gateway.service
# 重新加载 systemd
systemctl --user daemon-reload
```
### 步骤 4:清理日志文件
**macOS:**
```bash
rm -f ~/Library/Logs/openclaw-gateway.log
```
**Linux:**
```bash
# systemd 日志会自动清理,无需手动删除
```
### 步骤 5:清理环境变量(可选)
检查 shell 配置文件(`.zshrc`, `.bash_profile`, `.bashrc`)中是否有 OpenClaw 相关的环境变量:
```bash
# 检查环境变量
grep -i openclaw ~/.zshrc ~/.bash_profile ~/.bashrc 2>/dev/null
# 如果找到,手动编辑文件删除相关行
```
常见环境变量:
- `OPENCLAW_CONFIG_PATH`
- `OPENCLAW_STATE_DIR`
- `OPENCLAW_PROFILE`
### 步骤 6:清理端口占用(如果仍有进程)
```bash
# 检查端口 18789 是否被占用
lsof -i :18789 # macOS
ss -ltnp | grep 18789 # Linux
# 如果发现进程,停止它
kill -9 <PID>
```
## 验证卸载完成
执行以下检查,确认 OpenClaw 已完全卸载:
```bash
# 1. 检查命令是否还存在
which openclaw
# 应该返回空或 "not found"
# 2. 检查配置目录是否已删除
ls -la ~/.openclaw
# 应该返回 "No such file or directory"
# 3. 检查系统服务是否已移除
# macOS
launchctl list | grep openclaw
# 应该返回空
# Linux
systemctl --user list-unit-files | grep openclaw
# 应该返回空
# 4. 检查进程是否还在运行
ps aux | grep openclaw | grep -v grep
# 应该返回空
```
## 卸载脚本(可选)
可以创建一个卸载脚本来自动执行上述步骤:
**macOS/Linux:**
```bash
#!/bin/bash
echo "正在卸载 OpenClaw..."
# 停止服务
openclaw gateway stop 2>/dev/null
killall openclaw 2>/dev/null
# 卸载 npm 包
npm uninstall -g openclaw 2>/dev/null
# 删除配置目录
rm -rf ~/.openclaw
rm -rf ~/clawd
# macOS: 删除 LaunchAgent
if [ -f ~/Library/LaunchAgents/com.openclaw.gateway.plist ]; then
launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/com.openclaw.gateway.plist
fi
# Linux: 删除 systemd 服务
if [ -f ~/.config/systemd/user/openclaw-gateway.service ]; then
systemctl --user stop openclaw-gateway 2>/dev/null
systemctl --user disable openclaw-gateway 2>/dev/null
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload
fi
# 清理日志
rm -f ~/Library/Logs/openclaw-gateway.log
echo "OpenClaw 卸载完成!"
```
## 注意事项
1. **备份重要数据**:卸载前,如果需要保留配置或工作区数据,请先备份:
```bash
cp -r ~/.openclaw ~/.openclaw.backup
```
2. **多实例安装**:如果使用环境变量配置了多个实例,需要分别清理每个实例的配置目录。
3. **环境变量**:如果手动设置了环境变量,需要从 shell 配置文件中删除。
4. **残留进程**:如果卸载后仍有进程在运行,可能需要重启终端或系统。
## 故障排查
### 问题:卸载后命令仍然可用
**可能原因:**
- npm 包未完全卸载
- 有多个安装位置
**解决方法:**
```bash
# 检查所有可能的安装位置
which -a openclaw
# 手动删除找到的路径
# 然后重新卸载 npm 包
npm uninstall -g openclaw
```
### 问题:服务仍在运行
**解决方法:**
```bash
# 强制停止所有相关进程
pkill -9 openclaw
# 检查并清理系统服务
# macOS
launchctl list | grep openclaw
launchctl remove com.openclaw.gateway 2>/dev/null
# Linux
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway
```
### 问题:配置文件无法删除
**可能原因:**
- 文件权限问题
- 文件被锁定
**解决方法:**
```bash
# 检查文件权限
ls -la ~/.openclaw
# 修改权限后删除
chmod -R 755 ~/.openclaw
rm -rf ~/.openclaw
```
## 参考资源
- [OpenClaw GitHub 仓库](https://github.com/openclaw/openclaw)
- [OpenClaw 官方文档](https://docs.openclaw.ai)