Skip to main content

代码库指南

工作区布局

Memorose 是一个 Cargo workspace,包含四个 crate 和一个 Next.js dashboard:

Crate 依赖图

Crate 职责

memorose-common

给整个工作区共享的基础定义:
  • EventEventContentMemoryUnitGraphEdgeL3Task 等核心类型
  • src/config.rs 中的运行时配置加载
  • 序列化辅助和共享枚举

memorose-core

业务逻辑和存储编排层:

存储后端

位于 memorose-core/src/storage/

memorose-server

HTTP 层:
  • main.rs:路由定义和服务启动
  • types.rs:请求/响应 payload 类型
  • shard_manager.rs:分片路由和集群协调辅助
  • dashboard/:dashboard 所需的认证和 handler 模块

memorose-gateway

某些部署场景下的无状态路由层:
  • 根据 shard 把请求转发到后端节点
  • 读取 SHARD_COUNT 等 gateway 专用环境变量
  • 自身不持有持久状态

Dashboard 前端

当前 dashboard/ 应用主要包括:

有用的模式

Dashboard cache

Dashboard API 响应通过 state.dashboard_cache 做缓存。

双时态和作用域检索

检索请求支持 valid-time、transaction-time、org_idagent_id 等输入。

真正的权威来源

如果文档和代码有冲突,优先看:
  • crates/memorose-server/src/main.rs
  • crates/memorose-server/src/types.rs
  • crates/memorose-common/src/config.rs