Repository navigation
Conversation
Connect the unchanged dashboard to real MemOS data through an independent BFF, with scoped native extensions and explicit acceptance boundaries. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code <noreply@letta.com>
- Run the live backend and acceptance tools as TypeScript on Node 22.18+. - Expose authenticated runtime model inventory for the Dashboard. - Align browser checks and deployment guidance with the Issue 1 contract. Refs hugegraph#1 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code <noreply@letta.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
Keep large workspaces within response budgets and preserve scoped reads and management state through failures. Document the overall design with live feature screenshots. 👾 Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code <noreply@letta.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of the PR
Refs #1
为 MemOS Dashboard 提供真实数据后端,完成 Issue #1 中记忆管理、调用日志、工作区和用量统计的服务端接入,并保持原版前端源代码。
Main Changes
P0:记忆管理、调用日志与运行信息
activated记忆,列表通过白名单投影控制响应体积。/api/meta返回mode: live、上游健康状态和运行信息。P1:工作区与用量
接口契约与架构
pageNum/pageSize及日志详情 JSON 字符串格式。知识库、额度/订阅、技能共 11 条接口按 Issue 约定提供占位响应。server/mock/并列的 TypeScript BFFserver/live/,前端通过VITE_API_BASE接入。P2/P3 与页面兼容
整体设计思路
以保留现有 Dashboard 交互、复用 MemOS 记忆能力为前提,将页面契约适配与记忆引擎分开演进。
projectId映射到原生userId/cubeId,网关从凭据确定调用身份。历史日志按记录中的 cube/key 归属过滤,缺失归属的记录保留明确标记。完整方案比较、数据归属与执行边界见整体设计说明;受控查询的升级顺序见部署与恢复说明。
页面功能截图
截图使用原版前端连接隔离的真实 MemOS、Neo4j、Qdrant 和 live BFF。记忆为虚构验收数据,原生 SDK 写入用于验证分类和读取映射;调用日志来自实际 MCP 请求。
记忆列表、事件/用户记忆与完整详情
列表与分页
原生 Context / InsightMemory 事件视图
原生 UserMemory 用户记忆视图
按 ID 独立读取详情
调用日志与原始请求详情
用量趋势与运行时模型清单
用量页展示日期范围和趋势。截图时原始日志/API共4次调用,页面显示3次,画像读取事件尚未被原版页面计入,见下方前端限制。
本轮补充验证包含真实10,000条记忆的BFF读取链路,首页面响应32,233字节;Node回归249项通过、5项TODO,候选镜像Python测试44项通过。真实抽取仍受模型认证401阻塞;持续上游502时,原版记忆页停留在加载态,对应错误展示验收未通过。
Verifying these changes
pnpm verify。node scripts/issue-acceptance/verify-frontend-unchanged.ts。pnpm test:live、pnpm test:issue、pnpm test:issue:safety。npx --yes @redocly/cli@2.67.1 lint openapi.json。真实服务验收覆盖了原生写入与页面 ID/内容比对、工作区切换、软删除后的存储状态、MCP 调用与原始 JSONL 对照、密钥与 Prompt 生效,以及模型页面内容。性能和健壮性检查覆盖单页记忆响应体积、万行日志首屏响应、上游故障提示及历史日志缺字段。复现命令、环境配置和测试范围见 测试文档及真实服务验收说明。
Remaining frontend limitations
以下 Issue #1 验收项仍需前端接入:
Memories.tsx的请求包含工作区、记忆类型、分页和关键词,尚无时间范围、主体类型/ID的控件及参数绑定。Usage.tsx按日期范围获取dailyStats后直接渲染全部日记录,缺少分页、搜索控件及对应状态逻辑。addMessage.calls + searchMemory.calls计算总数,尚未读取后端的totalCalls和callsByEvent,其他事件未计入展示。ProfileTemplates.tsx当前渲染ComingSoon,尚无模板列表、详情视图及接口调用。这些页面能力补齐后,可复验对应的 Issue 验收项。
Does this PR potentially affect the following parts?
ajv、ajv-formats,均为 MIT;许可证及运行镜像保留方式见 依赖说明。Documentation Status
Doc - TODODoc - DoneDoc - No NeedDocumentation files in this PR: