Install
openclaw skills install session-manager-zx自动清理和管理 OpenClaw 不活跃会话,支持白名单保护和定时任务,保持系统会话整洁有序。
openclaw skills install session-manager-zx🧹 自动管理 OpenClaw 会话,定期清理不活跃的会话,保持系统整洁!
# 本地安装
cd ~/.openclaw/workspace/skills
git clone <session-manager-repo> session-manager
cd ~/.openclaw/workspace/skills/session-manager
./install.sh
# 1. 创建会话清理脚本
openclaw session init
# 2. 配置定时清理任务(每天凌晨 2 点)
openclaw cron add --name "会话清理" \
--schedule "0 2 * * *" \
--message "清理不活跃的 OpenClaw 会话"
反向代理功能需要 Nginx:
# 方式 1:自动安装(推荐)
# setup-proxy.sh 会自动检测并安装 Nginx
./scripts/setup-proxy.sh teacher 8081
# 方式 2:手动预安装
sudo apt update && sudo apt install -y nginx
nginx -v # 验证安装
其他功能无需额外依赖:
本 Skill 使用以下环境变量(可选):
# 会话目录(默认:~/.openclaw/agents/main/sessions)
export OPENCLAW_SESSIONS_DIR="~/.openclaw/agents/main/sessions"
# 配置目录(默认:~/.openclaw/session-manager)
export SESSION_MANAGER_CONFIG="~/.openclaw/session-manager"
⚠️ 安全提醒:
config.json 提交到版本控制# ❌ 错误:不要在命令行明文传递 Token
./scripts/setup-proxy.sh teacher 8081 OPENCLAW_PORT YOUR_TOKEN_HERE
# ✅ 正确:使用环境变量
export OPENCLAW_WEBCHAT_TOKEN="your-secure-token"
./scripts/setup-proxy.sh teacher 8081
| 参数 | 默认值 | 说明 |
|---|---|---|
--max-age | 7 | 保留最近 N 天的会话 |
--min-sessions | 5 | 最少保留 N 个会话 |
--whitelist | main,heartbeat | 白名单会话(永不删除) |
# 每天凌晨 2 点清理
0 2 * * *
# 每周日凌晨 3 点清理
0 3 * * 0
# 每 6 小时清理(测试用)
0 */6 * * *
session-manager/
├── SKILL.md # 此文件
├── README.md # 快速入门
├── LICENSE # MIT 许可证
├── _meta.json # ClawHub 元数据
├── install.sh # 安装脚本
├── templates/
│ └── config.example.json # 配置模板
└── scripts/
├── cleanup-sessions.sh # 会话清理脚本
├── list-sessions.sh # 会话列表
├── monitor-sessions.sh # 会话监控
├── setup-proxy.sh # 反向代理配置(新增)
└── create-users.sh # 批量创建用户(新增)
# 用法
./scripts/setup-proxy.sh <用户名> <端口>
# 示例
./scripts/setup-proxy.sh teacher 8081
./scripts/setup-proxy.sh usera 8082
# 1. 创建用户列表
cat > users.txt << EOF
teacher
usera
userb
EOF
# 2. 批量创建
./scripts/create-users.sh users.txt 8081
http://服务器 IP:8081/ # teacher 专属
http://服务器 IP:8082/ # usera 专属
http://服务器 IP:8083/ # userb 专属
# 查看已配置用户
ls /etc/nginx/sites-available/openclaw-*
# 删除用户
sudo rm /etc/nginx/sites-enabled/openclaw-username
sudo systemctl reload nginx
# 查看访问日志
sudo tail -f /var/log/nginx/openclaw-teacher-access.log
├── list-sessions.sh # 会话列表脚本
└── monitor-sessions.sh # 会话监控脚本
---
## 🔧 使用示例
### 初始化配置
```bash
./scripts/init-config.sh
生成:
{
"maxAgeDays": 7,
"minSessions": 5,
"whitelist": ["main", "heartbeat"],
"logFile": "~/.openclaw/session-cleanup.log"
}
./scripts/cleanup-sessions.sh --max-age 14 --min-sessions 3
./scripts/list-sessions.sh
输出:
📋 会话列表 (共 8 个):
- main (最后活动: 2026-04-08 17:50)
- heartbeat (最后活动: 2026-04-08 17:45)
- teacher (最后活动: 2026-04-08 17:52)
- qqbot:c2c:... (最后活动: 2026-04-07 10:00)
...
./scripts/monitor-sessions.sh
| Skill | 配合方式 |
|---|---|
memory-manager | 共享清理策略,避免冲突 |
edge-tts | 清理 TTS 缓存文件 |
maxAgeDays: 14 (保留 2 周)minSessions: 10 (最少保留 10 个)maxAgeDays: 7 (保留 1 周)minSessions: 20 (最少保留 20 个)maxAgeDays: 3 (保留 3 天)minSessions: 50 (最少保留 50 个)# 检查 cron 任务
openclaw cron list
# 手动运行清理
./scripts/cleanup-sessions.sh --dry-run
# 查看日志
cat ~/.openclaw/session-cleanup.log
# 设置正确权限
chmod +x scripts/*.sh
chmod 600 config.json
# 验证配置文件
cat ~/.openclaw/session-manager/config.json
MIT License - 详见 LICENSE 文件
__