simpleclaw 是一个面向多租户陪伴式 Agent 的框架:
- 以
SOUL / USER / HEARTBEAT / MEMORY为核心上下文层 - 以 MySQL 为中心存储租户动态数据
- 同时支持主会话、定时任务、heartbeat、postprocess、structured memory 等后台链路
- 提供可观测的 prompt/debug/timing 调试能力
当前项目的产品人格默认是美容陪伴助手 魔镜,但底层架构并不绑定单一人设,可以继续扩展到更多陪伴型或任务型 Agent 场景。
- 多租户上下文装配:共享
base层 + 租户覆盖层 + Session Summary + Memory。 - MySQL 持久化:租户文档、会话、记忆、租户状态、cron 等统一入库。
- 定时任务体系:精确定时用
cron,周期性陪伴/追踪用heartbeat。 - 异步后台写入:支持 deferred postprocess 与 structured memory。
- Prompt 可观测:可以查看真实 system prompt、history 选择结果、budget、timing。
- 多运行时角色:
chat-api、scheduler-service、postprocess-worker、background-worker。 - CLI / HTTP API / SSE 调试页面三种使用方式。
当前代码的主要分层如下:
- 入口层
simpleclaw/cli、simpleclaw/api负责本地命令、HTTP API 与 SSE 调试。 - Agent 层
simpleclaw/agent负责 prompt 构建、turn processing、tool 编排、memory consolidation、structured memory。 - Runtime 层
simpleclaw/runtime负责多服务装配、任务队列、worker 执行、租户运行时。 - 业务调度层
simpleclaw/cron、simpleclaw/heartbeat负责任务触发与调度。 - 存储层
simpleclaw/storage、simpleclaw/session、simpleclaw/tenant负责 MySQL / Redis / 会话 / 状态持久化。
主会话 prompt 当前大致按以下顺序装配:
- 共享基础提示
AGENTS.md、SOUL.md、USER.md、TOOLS.md - 租户覆盖层
SOUL.md/USER.md/HEARTBEAT.md的租户版本 - Session Summary
用于稳定压缩较长对话 - Memory
持久化的长期用户信息、偏好、任务状态 - Skills 摘要
- 最近历史窗口
按 budget 控制注入长度
当前仓库已经将租户动态数据从磁盘工作区迁移到数据库侧。核心数据包括:
- 租户文档:
SOUL.md、USER.md、TOOLS.md、HEARTBEAT.md - 会话与消息
- 长期记忆快照与记忆事件
- 租户状态
- cron 任务
目标是把"用户相关的持续状态"放进统一数据层,而不是散落在本地文件夹里。
推荐环境:
- Python
>= 3.11 - MySQL
>= 8 - Redis
>= 7
安装依赖:
git clone <repo-url>
cd simpleclaw
pip install -e .[dev]如果你只想先跑最小环境,也可以:
pip install -e .sclaw onboard默认会生成用户级配置和工作区。
如果你想用自定义配置文件,也可以后续通过 -c /path/to/config.json 指定。
最少需要配置模型提供方;如果要使用多租户能力,建议同时配置 MySQL 与 Redis。
示例:
{
"providers": {
"openrouter": {
"apiKey": "sk-or-v1-xxx"
}
},
"agents": {
"defaults": {
"provider": "openrouter",
"model": "moonshot/kimi-k2.5"
}
},
"runtime": {
"mysql": {
"enabled": true,
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "",
"database": "simpleclaw"
},
"redis": {
"enabled": true,
"url": "redis://127.0.0.1:6379/0"
}
}
}sclaw agentsclaw api --host 127.0.0.1 --port 18790sclaw serve chat-api
sclaw serve scheduler-service
sclaw serve postprocess-worker
sclaw serve background-workersclaw dev-up
sclaw dev-status
sclaw dev-down仓库自带一个前端调试页:
api-test.html
配合 SSE 调试事件,可以看到:
debug_prompt:真实拼接后的 promptdebug_trace:异步写入、结构化记忆、后台任务日志debug_timing:首 token、总耗时、模型等待耗时拆分
如果你在排查"为什么回复慢",当前推荐优先看:
Prompt Observabilitydebug_timing
它们可以把"prompt 过大"与"模型上游波动"区分开。
sclaw onboard
sclaw agent
sclaw api
sclaw serve chat-api
sclaw serve scheduler-service
sclaw serve postprocess-worker
sclaw serve background-worker
sclaw dev-up
sclaw dev-down
sclaw dev-status
sclaw migrate-runtime-statesimpleclaw/
├── agent/ # prompt、turn、tools、memory、subagent
├── api/ # HTTP API 与 SSE 调试输出
├── bus/ # 消息总线
├── cli/ # CLI 命令入口
├── config/ # 配置模型与路径
├── cron/ # 精确定时任务
├── heartbeat/ # 周期性陪伴调度
├── runtime/ # 多服务装配、任务队列、worker
├── session/ # 会话与主会话路由
├── storage/ # MySQL / Redis 存储实现
└── tenant/ # 租户状态
tests/ # 测试
bridge/ # 渠道桥接相关资源
MIT