ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

ai-memory 单二进制设计解析:MCP + HTTP + Web 挂载在一个 axum 服务上

ai-memory 单二进制设计解析:MCP + HTTP + Web 挂载在一个 axum 服务上 ai-memory 单二进制设计解析MCP HTTP Web 挂载在一个 axum 服务上【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memoryai-memory 是一个面向 AI 编码代理的长期记忆服务用 Rust 编写、编译为单个二进制文件。它把 MCP 工具接口、Hook 事件入口和只读 Web 界面三种 HTTP 表面挂载在同一个 axum 服务上——一个进程、一个端口、一套认证即可完成部署。为什么坚持单二进制常见的 AI 记忆方案往往要同时跑一个 MCP 服务器、一个 Web API 和一个前端页面运维上意味着三份配置、多组认证、多个端口。ai-memory 的做法完全不同一个进程零外部依赖记忆本体是磁盘上的 Markdown wiki SQLite 派生索引全部打包进同一个二进制。一种认证姿态机器 Bearer Token、人类 Cookie 会话、双因子校验全部作用在同一组中间件上不存在API 有权限、网页没权限的分裂状态。一套运维语义单实例锁、优雅停机、Host 头防 DNS 重绑定都只维护一份实现见 serve.rs。对新手来说最大的好处是docker run一个容器或者systemctl启一个服务记忆系统就完整可用。一个端口三张面孔路由全景启动 HTTP 传输ai-memory serve --transport http后同一个 axumRouter上合并了如下表面路径作用认证方式POST /mcpMCP 工具端点供 Claude Code、Cursor 等客户端调用memory_query、memory_exploreBearer TokenPOST /hook生命周期钩子事件入口会话开始/结束、工具调用等Bearer Token/web/...内置只读 Wiki 浏览器服务器渲染 MarkdownWeb 会话 / 双因子/api/v1/...只读 JSON API供自定义前端使用Web 会话 / 双因子/admin/...管理操作bootstrap、备份、purge 等双因子认证组装逻辑集中在 serve.rs先把 MCP 服务nest_service(/mcp, …)挂上机器侧路由再 merge hook 路由、admin 路由、认证路由和 Web 路由最后整体套上 Host 校验与 base-path 嵌套。MCP 端点默认无状态的 Streamable HTTPMCP 部分基于 rmcp 的StreamableHttpService实现serve.rs#L1105-L1113有一个对新手很友好的细节默认无状态每个POST /mcp独立处理、直接返回 JSON不需要mcp-remote之类的 shimcurl都能直接测。可选有状态加--http-stateful恢复 Session-Id SSE 行为给需要服务端推送的客户端。stdio 也在同一个二进制里--transport stdio给claude mcp add这类本地启动场景使用两种传输共享同一套工具实现。这意味着你既可以把 ai-memory 部署成团队共享的远程服务器也可以在任何一台笔记本上以本地 stdio 方式运行——同一个二进制两种形态。Web 界面只读、免维护、随手替换Web 表面由独立 crate ai-memory-web 提供设计上刻意保持只读没有编辑、没有写接口因为 Wiki 本身就是磁盘上的 Markdown直接改文件即可。它解决的问题是手机上、团队同事的机器上能不能不docker exec cat就翻到记忆内容。项目列表页按卡片展示每个 workspace/project 的页面数量与最近活跃时间点击进入单个项目后是页面树 最近活动时间线两个实用选项参数定义见 cli.rs#L2260-L2306--enable-web开启/web挂载默认关闭。--web-ui-dir dir不用内置界面改挂你自己的单页应用服务器会自动往index.html注入base href让你在反向代理子路径下也能直接跑无需重新构建。挂载在反向代理子路径下base-path 与 web-slug当你的 Nginx 把 ai-memory 放在https://example.com/wiki下时只需要--base-path /wiki/mcp、/api/v1、/hook、Web UI 全部自动落到前缀之下/wiki/mcp、/wiki/api/v1…前缀本身经过严格白名单校验杜绝路径穿越mount.rs#L49-L71。Web 挂载的拆分逻辑在 mount.rs自定义 SPA 走公开路由方便渲染登录页内置浏览器与/api/v1走受保护路由CORS 只作用于/api/v1其余路由保持零跨域——这是明确的不变量不是疏忽。延伸阅读想了解这套单二进制设计背后的完整数据流捕获 → 整合 → 召回 → 交接与安全不变量推荐按顺序看架构总览docs/ARCHITECTURE.md安装与部署systemd / Docker / 认证docs/install.mdWeb 前端 API 说明docs/frontend-api.mdMCP 客户端接入步骤docs/mcp-install.md多用户与安全模型docs/security.md一句话总结ai-memory 用一个 axum Router 合并所有表面的设计把 AI 代理记忆服务的部署从三套系统压缩成一条命令这正是它敢自称基础设施级产品的底气。【免费下载链接】ai-memorySolution for long term memory for agent coding CLIs and to facilitate handoff between different agent vendors项目地址: https://gitcode.com/GitHub_Trending/ai/ai-memory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表