You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Design] Web Interface + Core HTTP Server Architecture for Memo #119
Activity
minorcell commentedon Feb 10, 2026
补充需求动机(非常关键):
我创建这个 Web 方案的核心目标之一,是让 Memo 可以通过部署或内网穿透(如 ngrok)实现“随时随地可用”,而不局限在本机终端。
这对设计的直接影响:
memo web --host 0.0.0.0 --port <port> --token <token>建议将以上内容并入验收标准,新增“远程可用性与安全基线”检查项。
minorcell commentedon Feb 10, 2026
一些具体的想法:
sessions/memo-code/*.jsonl,sessions/todolist-code/*.jsonl,这样做的好处是 web 端可以按照项目打开sessionminorcell commentedon Feb 10, 2026
我整理了一版可执行设计稿,建议将其作为本 Issue 的实施基线。以下是可直接落地的版本(覆盖 Web 入口、Core HTTP/SSE、安全模型、session 存储重构与分阶段验收)。
1) 目标与边界
目标
memo web启动本地 Web 控制台。@memo/core新增 HTTP API + SSE 事件流模式。/models/context/tools、history/resume、MCP、init/config。非目标
2) 总体架构
原则:
3) CLI 设计
建议命令:
建议参数/默认值:
--host默认127.0.0.1--port默认3927--token可选,本地模式可自动生成--cors-origin默认同源,远程模式必须白名单--allow-remote(建议新增)用于显式开启远程访问远程示例:
4) Core Server 模块建议(放在
@memo/core内)API 草案(v1)
POST /api/v1/auth/loginPOST /api/v1/auth/logoutGET /api/v1/auth/meGET /api/v1/sessions?project=<projectKey>&cursor=<cursor>POST /api/v1/sessionsGET /api/v1/sessions/:sessionIdPOST /api/v1/sessions/:sessionId/turnsGET /api/v1/sessions/:sessionId/events(SSE)POST /api/v1/approvals/:requestId(deny/once/session)GET /api/v1/modelsGET /api/v1/contextGET /api/v1/toolsGET /api/v1/mcp/serversPOST /api/v1/mcp/serversPATCH /api/v1/mcp/servers/:nameDELETE /api/v1/mcp/servers/:nameGET /api/v1/configPATCH /api/v1/configSSE 事件建议
session_started,turn_started,assistant_delta,tool_call_started,tool_call_finished,approval_required,approval_resolved,turn_finished,error,heartbeat5) 安全模型(新增“远程可用性与安全基线”)
本地模式(默认)
127.0.0.1绑定。SameSite=Strict)。Origin/Host双校验。远程模式(显式开启)
--allow-remote。--cors-origin白名单,禁止*。ngrok 注意事项
6) Session 存储重构(按项目)
目标路径:
projectKey建议:basename(cwd)+短哈希(基于规范化绝对路径)。兼容策略:
memo sessions migrate --from legacy --to projects。7) Web 端约束(
packages/web)Vite + React + TypeScript + MUI。/models/context/tools。@与 slash 页面化入口。8) 分阶段计划
Phase 1(Core Server MVP,本地)
memo web启动 API/SSE。Phase 2(Web Chat MVP)
Phase 3(能力对齐)
/models/context/tools页面化。Phase 4(远程可用 + 安全加固)
9) 验收标准(建议并入 Issue)
memo web可完成浏览器多轮会话。deny/once/session生效。/models/context/tools、history/resume、MCP、config 可用。--allow-remote/--token/--cors-origin任一项时启动失败。如果认可,我可以继续补一版“接口字段级规范(request/response schema + SSE event payload)”,直接对应开发任务拆分。