# claw-memobase **Repository Path**: North_Fan/claw-memobase ## Basic Information - **Project Name**: claw-memobase - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-07 - **Last Updated**: 2026-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Memobase 记忆中间件 — Docker 部署 ## 一句话架构 RuoYi JWT 鉴权 → 查 RuoYi 同源 Redis(`login_tokens`) 取 `userId` → 确定性映射 Memobase 用户(`uuid5`) 并惰性创建 → 反向代理 `/api/v1/*` 至 Memobase,强制 `user_id` 租户隔离。 ## 单机部署 ```bash cp .env.example .env # 按需填值 docker compose up -d --build ./verify.sh http://127.0.0.1:8099 ``` > Redis 统一用共享 **valkey**(不起独立 memobase-redis):本地/生产一致, > `memobase-server` 用 `redis://valkey:6379/2`(db2),`middleware` 的 > `JWT_REDIS_URL` 用 `redis://valkey:6379/0`(与 ruoyi 会话同源)。 > 本地 compose 经 external 网络 `kgnet`(`MW_KGNET_NAME` 可覆盖)直连 > machine-middleware 编排的 kg-valkey,启动前先拉起 valkey: > > ```bash > cd ../deploy/3node/machine-middleware && docker compose up -d valkey > ``` > > pg 本地仍自带(memobase-pg,5433);生产统一走 `deploy/3node/machine-middleware` > 编排(连 postgres/valkey 共享实例,多库/db 索引隔离)。 ## Key env | 变量 | 说明 | | ----------------------------------------------- | ------------------------------------------------- | | `JWT_SECRET` | 必须与若依 `admin.security.jwt.secret` 一致 | | `JWT_REDIS_URL` | 与若依 admin 相同的 Redis(`login_tokens` 所在库) | | `MEMOBASE_REDIS_URL` | memobase-server 缓存 Redis;统一 valkey db2(默认值即如此),无需独立 memobase-redis | | `MEMOBASE_URL` | Memobase 上游地址(compose 内指向 `memobase-server:8019`) | | `MEMOBASE_API_KEY` | Memobase 上游 API Key | | `MEMOBASE_LLM_BASE_URL` / `_API_KEY` / `_MODEL` | 内网模型端点(OpenAI 兼容),默认 `agnes25-flash` | ## 与 RuoYi 集成 - 若依后端将记忆调用 `base_url` 指向 `http://:8099`,继续携带 RuoYi Bearer token。 - 调用方传 RuoYi `userId` 或派生 `uuid`,中间件统一映射并强制租户隔离。 ## 越权语义 - 他人 `user_id` → `403`。 ## 离线说明 - `memobase-server` 由 vendor 自构建(`memobase-server/Dockerfile`,Compose 构建)。 - 模型端点通过 env 注入,改 `.env` 的 `MEMOBASE_LLM_*` 即可适配内网。 > **注意**:`JWT_REDIS_URL` 必须指向与若依 admin 相同的 Redis 实例(`login_tokens` 所在库),否则鉴权取不到会话。