← 返回
未分类

Session Manager - 会话管理

自动清理和管理 OpenClaw 不活跃会话,支持白名单保护和定时任务,保持系统会话整洁有序。
自动清理OpenClaw不活跃会话,支持白名单和定时任务,确保会话整洁有序。
zx0018 zx0018 来源
未分类 clawhub v1.0.4 2 版本 100000 Key: 无需
★ 0
Stars
📥 408
下载
💾 0
安装
2
版本
#automation#cleanup#cron#latest#management#nginx#proxy#security#session

概述

Session Manager for OpenClaw

🧹 自动管理 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 会话"

📋 功能

1. 自动会话清理

  • ✅ 清理超过 N 天未使用的会话
  • ✅ 保留重要会话(可配置白名单)
  • ✅ 安全删除,避免误删

2. 会话监控

  • ✅ 列出所有会话及其最后活动时间
  • ✅ 统计会话数量和磁盘占用
  • ✅ 生成清理报告

3. 定时任务

  • ✅ 每日自动清理(默认 2:00 AM)
  • ✅ 可配置清理策略
  • ✅ 支持手动触发

4. 反向代理配置(新增)✨

  • ✅ 为每个用户创建独立端口
  • ✅ 自动绑定会话参数
  • ✅ 完整的访问日志
  • ✅ 支持 WebSocket

5. 多用户批量创建(新增)✨

  • ✅ 批量创建多个用户
  • ✅ 自动分配端口
  • ✅ 生成访问链接列表

⚙️ 配置选项

系统依赖

反向代理功能需要 Nginx:

# 方式 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 使用以下环境变量(可选):

# 会话目录(默认:~/.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 安全配置

# ❌ 错误:不要在命令行明文传递 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-age7保留最近 N 天的会话
--min-sessions5最少保留 N 个会话
--whitelistmain,heartbeat白名单会话(永不删除)

cron 调度

# 每天凌晨 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 # 会话监控脚本


---

## 🔧 使用示例

### 初始化配置

./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


---

## 🧩 与其他 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. **权限设置** - 确保脚本有读写权限

---

## 🔍 故障排查

### 会话未清理

检查 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


---

## 📚 相关资源

- [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) 文件

__

版本历史

共 2 个版本

  • v1.0.4 当前
    2026-05-21 13:32
  • v1.0.3
    2026-05-07 16:09 安全 安全

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

MEMORY.md Manager - 长期记忆管理 (安全版)

zx0018
自动创建并每日智能筛选更新 MEMORY.md 长期记忆文件,支持敏感信息脱敏和多服务商 API 安全调用。
★ 0 📥 398

Edge Tts

zx0018
基于微软 Edge TTS 免费实现多语种文本转语音,支持多中文及英文神经声音,无需 API Key。
★ 0 📥 413

抛硬币猜骰子游戏

zx0018
抛硬币(正/反)和猜骰子大小(大/小)游戏,随机生成结果后发送对应图片。
★ 0 📥 322