任务 ID: task-migration-review-5631ed98 | 文件: session.md | 最后修改: 2026-02-28 16:31:15
Session Log — task-migration-review-5631ed98
审查执行时间:2026-02-28 16:26–16:40 CST
执行人:Ai.Rev 📋
审查方法
逐节对照文档,执行以下验证命令:
ss -tlnp — 实际监听端口
systemctl list-unit-files --state=enabled — 系统服务
systemctl --user list-unit-files --state=enabled — 用户级服务
docker ps -a — 容器状态
ls /etc/systemd/system/*.service — 服务文件存在性
crontab -l, ls /etc/cron.* — 定时任务
ufw status verbose / iptables -L -n — 防火墙规则
cat /opt/caddy/config/Caddyfile — Caddy 实际配置
find /root/.openclaw/agents -name auth-profiles.json — 凭证文件
ls /srv/projects/, du -sh ... — 数据目录大小
npm ls -g --depth=0 — 全局 npm 包
pip3 list — Python 包
审查结果
✅ 确认正确的内容
- Docker 容器:6 个容器均已确认 Running,端口、镜像与文档一致
- 代理隧道端口:ss 实际监听 50001–50013(除 50003),与文档表格完全吻合
- 用户级服务:file-viewer、openclaw-gateway、task-viewer 均 enabled,与文档一致
- Cron 任务:root 的
morning-tasks.sh 每日 5:00 确认存在
- Caddy 配置:反向代理端口全部正确(18789/3001/8000/8001/8080/8182/8181/18790)
- npm 全局包:openclaw、claude-code、codex、bird、clawhub、happy-coder、mcporter 全部已确认
- Python 包:agent-reach、httpx、lxml、feedparser、ddgs、loguru、fake-useragent、Markdown 全部确认
- Caddy 路径:二进制 /opt/caddy/bin/caddy,/usr/local/bin/caddy 软链接指向它,正确
- R2 rclone 配置:endpoint 正确
- 数据目录大小:与文档记录一致(.openclaw 126MB、sillytavern 180MB、projects 580MB、nezha 17MB 等)
- UFW 防火墙:active,默认 deny incoming,仅开放 80/443/31415,webhook 18790 未对外暴露(受 UFW 保护)
⚠️ 发现的问题与遗漏
问题 1:st.guuax.com 重定向配置缺失(准确性问题)
- 文档记录:
st.guuax.com → tavern.guuax.com 308 重定向
- 实际状态:Caddyfile 中不存在
st.guuax.com 的任何配置
- 风险:文档记录的域名实际不可访问。迁移时按文档操作会以为此域名有效,但实际上可能是废弃配置或从未生效
- 建议:确认 st.guuax.com 是否已不再需要。若需要,迁移时须手动补充至 Caddyfile
问题 2:openclaw-guardian 用户级服务状态不一致(准确性问题)
- 文档记录:用户级服务列表中包含
openclaw-guardian.service
- 实际状态:服务文件存在(/root/.config/systemd/user/openclaw-guardian.service),但 disabled,且当前 inactive(dead)
- 风险:文档暗示它是正在运行的服务,但实际上处于停止状态,迁移后若按"有该服务"来配置可能造成误解
- 建议:明确标注该服务当前为 disabled/inactive 状态,并确认迁移后是否需要启用
问题 3:/srv/projects/ 中有多个项目未列入迁移文档(遗漏)
- 文档记录:只提到
agent-reach,以及可清理的 embed-server-task
- 实际目录:
/srv/projects/agent-reach/ (9MB,editable pip install)
/srv/projects/embed-server/ (< 1MB,有 Dockerfile、server.py)
/srv/projects/login_site/ (308KB)
/srv/projects/server_init/ (784KB)
/srv/projects/work_project/ (577MB!)
- 严重性:
work_project/ 有 577MB,文档完全未提及,且文档记录 /srv/projects/ 总大小 580MB 几乎全由此目录贡献
- 风险:迁移时若只复制 agent-reach,将丢失 577MB 数据
- 建议:主人需确认 work_project、login_site、server_init、embed-server 是否需要迁移,迁移文档中「数据目录」一节应补充完整 /srv/projects/ 项目列表
问题 4:aichan 用户的 .openclaw 目录未记录(遗漏)
- 实际状态:
/home/aichan/.openclaw/ 存在,内含 agents/main/ 结构
- 文档:完全未提及 aichan 用户有 OpenClaw 安装/数据
- 风险:迁移 aichan 用户时可能遗漏此数据
- 建议:确认
/home/aichan/.openclaw/ 的用途(aichan 用户是否有独立 agent 实例?),并决定是否纳入迁移范围
问题 5:/srv/agent-configs/ 下有 silver-wolf 目录(遗漏)
- 文档记录:软链接关系图中只列出
aichan/ 和各 workspace
- 实际状态:
/srv/agent-configs/silver-wolf/ 存在,包含完整 AGENTS.md、IDENTITY.md、MEMORY.md、SOUL.md、TOOLS.md
- 风险:silver-wolf 配置未纳入迁移,可能是一个待部署或已部署的 agent
- 建议:确认 silver-wolf 的用途,将其纳入迁移范围(
/srv/agent-configs/ 整体迁移即可覆盖)
问题 6:ssh-tunnel-sandbox.service 文档描述与现实不符(准确性问题)
- 文档记录:标注为"应清理"的遗留服务
- 实际状态:
/etc/systemd/system/ 中不存在该文件;systemctl status ssh-tunnel-sandbox.service 返回 "could not be found"
- 结论:该服务已经清理完毕,文档中的"应清理"标注可更新为"已清理"
问题 7:redsocks.service 描述不准确(准确性问题)
- 文档记录:redsocks.service 列为系统级服务,"需确认是否仍在使用"
- 实际状态:服务来自
/lib/systemd/system/redsocks.service(系统包),disabled + inactive (dead),并非爱衣自行配置
- 结论:redsocks 是系统安装的包,不是爱衣配置的服务,迁移时无需特别处理(新服务器如需要则重新安装)
- 建议:从迁移文档中移除此项,或注明"系统包,非自定义服务"
问题 8:api-monitor 是 timer 驱动而非普通 enabled service(信息不完整)
- 文档记录:
api-monitor.service — "API 连通性监控(单次)"
- 实际状态:
api-monitor.timer enabled(每 5 分钟触发一次),api-monitor.service 本身是 oneshot,由 timer 驱动
- 风险:迁移时只迁移 .service 文件而遗漏 .timer 文件,将导致 API 监控停止工作
- 建议:文档中明确记录 api-monitor.timer 的存在,迁移时需复制 /etc/systemd/system/api-monitor.timer
问题 9:ssh-tunnel-canada.service 与 proxy-tunnels 重叠(信息不一致)
- 文档记录:ssh-tunnel-canada.service 备注"已被 proxy-tunnels 替代?",且两者都在 enabled 列表
- 实际状态:ssh-tunnel-canada.service active running,ss 显示 50001 端口也有 proxy-tunnels 的 ssh 进程
- 风险:两者同时管理 50001 端口,存在冲突或重复隧道风险;迁移时若两者都启用,端口冲突会导致隧道失败
- 建议:迁移前明确 50001 是由 ssh-tunnel-canada.service 还是 proxy-tunnels 管理,停用其中一个,迁移时只启用确认存活的那个
问题 10:webhook-260119 的 WEBHOOK_SECRET 在 systemd 单元文件中明文存储(安全提示)
- 实际状态:
/etc/systemd/system/webhook-260119.service 中 Environment=WEBHOOK_SECRET=mt31_N5dO1-x-... 明文写入
- 严重性:低风险(仅限 root 可读),但迁移时需注意:
- 直接复制 service 文件即可保留密钥
- 不要将此文件提交到 Git
- 建议:迁移注意事项中补充"webhook-260119.service 含明文 WEBHOOK_SECRET,需安全传输"
📋 遗漏的迁移注意事项
以下内容文档未记录,建议补充到第 16 节:
- api-monitor.timer:需随 api-monitor.service 一同迁移
- ssh-tunnel-canada.service 与 proxy-tunnels 的冲突:迁移前需裁定由谁管理 50001 端口
- work_project(577MB):需要主人确认是否迁移及方式
- /home/aichan/.openclaw/:需确认是否迁移
- /srv/agent-configs/silver-wolf/:需确认是否迁移
- webhook-260119.service 明文密钥:需安全传输,不入 Git
总结
| 类别 |
数量 |
严重程度 |
| 准确性错误 |
4 |
中(st域名、guardian状态、sandbox/redsocks描述) |
| 遗漏项 |
3 |
高(work_project 577MB、silver-wolf、aichan .openclaw) |
| 信息不完整 |
2 |
中(api-monitor timer、隧道冲突) |
| 安全提示 |
1 |
低 |
| 已自行修正 |
2 |
—(sandbox已清理、redsocks非自定义) |
最高优先级修正:
- 🔴
/srv/projects/work_project/(577MB)——文档完全未记录,迁移风险最高
- 🟡 ssh-tunnel-canada vs proxy-tunnels 50001 端口冲突——迁移前必须裁定
- 🟡 api-monitor.timer——需补录到迁移清单
- 🟡 silver-wolf agent 配置——确认用途后决定是否迁移
审查完成。结论:文档整体质量良好,核心服务记录准确;但存在数据目录遗漏(work_project)和几处准确性偏差,建议在迁移前修正。