🧹 自动管理 OpenClaw 会话,定期清理不活跃的会话,保持系统整洁! ---
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill session-manager-zx --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Session Manager Zx?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-session-manager-zx)More formats (shields.io, HTML) on the badges page.
# Session Manager for OpenClaw
🧹 自动管理 OpenClaw 会话,定期清理不活跃的会话,保持系统整洁!
---
## 📦 安装
```bash
# 本地安装
cd ~/.openclaw/workspace/skills
git clone <session-manager-repo> session-manager
```
---
## 🚀 快速开始
### 一键安装
```bash
cd ~/.openclaw/workspace/skills/session-manager
./install.sh
```
### 手动配置
```bash
# 1. 创建会话清理脚本
openclaw session init
# 2. 配置定时清理任务(每天凌晨 2 点)
openclaw cron add --name "会话清理" \
--schedule "0 2 * * *" \
--message "清理不活跃的 OpenClaw 会话"
```
---
## 📋 功能
### 1. 自动会话清理
- ✅ 清理超过 N 天未使用的会话
- ✅ 保留重要会话(可配置白名单)
- ✅ 安全删除,避免误删
### 2. 会话监控
- ✅ 列出所有会话及其最后活动时间
- ✅ 统计会话数量和磁盘占用
- ✅ 生成清理报告
### 3. 定时任务
- ✅ 每日自动清理(默认 2:00 AM)
- ✅ 可配置清理策略
- ✅ 支持手动触发
### 4. 反向代理配置(新增)✨
- ✅ 为每个用户创建独立端口
- ✅ 自动绑定会话参数
- ✅ 完整的访问日志
- ✅ 支持 WebSocket
### 5. 多用户批量创建(新增)✨
- ✅ 批量创建多个用户
- ✅ 自动分配端口
- ✅ 生成访问链接列表
---
## ⚙️ 配置选项
### 系统依赖
**反向代理功能需要 Nginx:**
```bash
# 方式 1:自动安装(推荐)
# setup-proxy.sh 会自动检测并安装 Nginx
./scripts/setup-proxy.sh teacher 8081
# 方式 2:手动预安装
sudo apt update && sudo apt install -y nginx
nginx -v # 验证安装
```
**其他功能无需额外依赖:**
- 会话清理:仅需 bash
- 会话监控:仅需 bash, jq
- 定时任务:OpenClaw cron
### 环境变量
本 Skill 使用以下环境变量(可选):
```bash
# 会话目录(默认:~/.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 不要放在命令行**,使用环境变量
- **反向代理会修改系统 Nginx 配置**,需要 sudo 权限
### Token 安全配置
```bash
# ❌ 错误:不要在命令行明文传递 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 | 白名单会话(永不删除) |
### cron 调度
```bash
# 每天凌晨 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 # 批量创建用户(新增)
```
---
## 🔧 反向代理配置(新增)✨
### 单个用户配置
```bash
# 用法
./scripts/setup-proxy.sh <用户名> <端口>
# 示例
./scripts/setup-proxy.sh teacher 8081
./scripts/setup-proxy.sh usera 8082
```
### 批量创建用户
```bash
# 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 专属
```
### 管理命令
```bash
# 查看已配置用户
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
```
生成:
```json
{
"maxAgeDays": 7,
"minSessions": 5,
"whitelist": ["main", "heartbeat"],
"logFile": "~/.openclaw/session-cleanup.log"
}
```
### 手动触发清理
```bash
./scripts/cleanup-sessions.sh --max-age 14 --min-sessions 3
```
### 查看会话状态
```bash
./scripts/list-sessions.sh
```
输出:
```text
📋 会话列表 (共 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)
...
```
### 监控清理历史
```bash
./scripts/monitor-sessions.sh
```
---
## 🧩 与其他 Skills 配合
| Skill | 配合方式 |
|-------|----------|
| `memory-manager` | 共享清理策略,避免冲突 |
| `edge-tts` | 清理 TTS 缓存文件 |
---
## 📊 清理策略建议
### 个人使用
- `maxAgeDays`: 14 (保留 2 周)
- `minSessions`: 10 (最少保留 10 个)
### 团队使用
- `maxAgeDays`: 7 (保留 1 周)
- `minSessions`: 20 (最少保留 20 个)
### 服务器环境
- `maxAgeDays`: 3 (保留 3 天)
- `minSessions`: 50 (最少保留 50 个)
---
## ⚠️ 注意事项
1. **安全第一** - 白名单中的会话永不删除
2. **备份建议** - 清理前建议备份重要会话
3. **磁盘空间** - 每个会话约占用 1-5MB
4. **权限设置** - 确保脚本有读写权限
---
## 🔍 故障排查
### 会话未清理
```bash
# 检查 cron 任务
openclaw cron list
# 手动运行清理
./scripts/cleanup-sessions.sh --dry-run
# 查看日志
cat ~/.openclaw/session-cleanup.log
```
### 权限错误
```bash
# 设置正确权限
chmod +x scripts/*.sh
chmod 600 config.json
```
### 配置无效
```bash
# 验证配置文件
cat ~/.openclaw/session-manager/config.json
```
---
## 📚 相关资源
- [OpenClaw Cron 文档](https://docs.openclaw.ai/cron)
- [OpenClaw Sessions 文档](https://docs.openclaw.ai/sessions)
- [会话管理最佳实践](https://docs.openclaw.ai/best-practices/sessions)
---
## 📝 更新日志
- **2026-04-08** - 初始版本
- 会话清理功能
- 定时任务配置
- 监控工具
---
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件
__Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!