Memorose 由 Rust API 服务和独立的仪表盘 UI 组成。
前置条件
- Rust 工具链
- Node.js 和
pnpm,用于仪表盘
- 用于 embedding 和 consolidation 的 LLM 提供商密钥
- 可选:
jq,用于命令行示例
克隆仓库
环境配置
复制示例环境文件:
至少需要设置提供商密钥和模型名:
如果你想通过环境变量明确指定 provider,优先使用:
或者:
如果你不想看到默认仪表盘密码告警,还可以设置:
请根据 crates/memorose-common/src/config.rs 中的当前 schema 自行创建 config.toml,也可以从 config.example.toml / config.toml.example 起步,并始终以 config.rs 作为最终权威来源。
一个最小起步配置如下:
如果要开启内部基于模型的 arbitration,可增加 reranker 配置段:
启动服务栈
推荐的本地启动方式:
这会在本地 cluster 模式下启动 3000、3001、3002 三个后端节点,并在 3100 启动仪表盘 UI。
如果你只想跑一个本地节点:
手动启动服务端
如果你只需要 API 服务:
Docker reranker 配置
Docker 镜像会在 3000 启动 API 服务,在 3100 启动仪表盘。Reranker 模式仍通过同一套 MEMOROSE__* 环境变量配置:
验证安装
检查根端点:
预期响应:
仪表盘
- 仪表盘 UI:
http://127.0.0.1:3100/dashboard
- API 重定向:
http://127.0.0.1:3000/dashboard
- 默认登录:
admin / admin
首次登录后,响应里可能包含 must_change_password: true,直到你设置新密码。
如果你使用自己的 docker-compose.yml 或 docker run 部署仪表盘,必须在仪表盘容器上设置 DASHBOARD_API_ORIGIN 指向后端 API,例如 DASHBOARD_API_ORIGIN=http://memorose-node-0:3000。否则登录和仪表盘代理请求会因 connect ECONNREFUSED 127.0.0.1:3000 失败。