██╗ ██████╗ ██████╗ ██████╗ ███████╗
██║ ██╔═══██╗██╔════╝ ██╔═══██╗██╔════╝
██║ ██║ ██║██║ ███╗██║ ██║███████╗
██║ ██║ ██║██║ ██║██║ ██║╚════██║
███████╗╚██████╔╝╚██████╔╝╚██████╔╝███████║
╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
███████╗██╗ ██╗ ██╗██╗ ██╗
██╔════╝██║ ██║ ██║╚██╗██╔╝
█████╗ ██║ ██║ ██║ ╚███╔╝
██╔══╝ ██║ ██║ ██║ ██╔██╗
██║ ███████╗╚██████╔╝██╔╝ ██╗
╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝记忆
通过以下方式为AI助手提供扩展内存 Gemini上下文缓存.
记忆 (希腊语:内存)通过利用Gemini的1M令牌上下文窗口和上下文缓存功能,使Claude等AI助手能够访问大型代码库、文档网站、PDF等。
为什么选择Mnemo?
Mnemo采用了一种更简单的方法,而不是具有嵌入和检索功能的复杂RAG管道:
- 将整个代码库加载到Gemini的上下文缓存中
- 用自然语言查询
- 让克劳德在双子座掌握背景的同时进行编排
这为您提供了:
- 完美回忆 -没有分块或检索意味着没有上下文丢失
- 减少延迟 -缓存的上下文被快速提供
- 成本节约 -缓存令牌的成本比常规输入令牌低75-90%
- 简洁 -没有矢量数据库、嵌入或复杂的检索逻辑
Mnemo可以加载什么?
| 源 | 本地服务器 | 工作器 |
|---|---|---|
| GitHub存储库(公共) | ✅ | ✅ |
| GitHub存储库(私有) | ✅ | ✅ |
| 任何URL(文档、文章) | ✅ | ✅ |
| PDF文档 | ✅ | ✅ |
| JSON API✅ | ✅ | |
| 本地文件/目录 | ✅ | ❌ |
| 多页面抓取 | ✅ 无限制 | ✅ 最多40页 |
部署选项
根据您的需求,Mnemo可以通过三种方式进行部署。
选项1:本地服务器(开发和全功能)
最适合开发和需要加载本地文件时使用。
# Clone and install
git clone https://github.com/logos-flux/mnemo
cd mnemo
bun install
# Set your Gemini API key
export GEMINI_API_KEY=your_key_here
# Start the server
bun run dev克劳德代码MCP配置:
{
"mcpServers": {
"mnemo": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}______________________________________________________________________
选项2:自托管Cloudflare Worker(建议用于Claude.ai)
部署到您自己的Cloudflare帐户。您可以控制数据和成本。
先决条件:
- Cloudflare帐户 (免费版作品)
- Gemini API密钥
# Clone and install
git clone https://github.com/logos-flux/mnemo
cd mnemo/packages/cf-worker
# Configure secrets
bunx wrangler secret put GEMINI_API_KEY
bunx wrangler secret put MNEMO_AUTH_TOKEN # Optional but recommended
# Create D1 database
bunx wrangler d1 create mnemo-cache
# Deploy
bunx wrangler deployMCP配置条款:
{
"mcpServers": {
"mnemo": {
"type": "http",
"url": "https://mnemo..workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN"
}
}
}
}为什么要用这个? Claude.ai无法连接到本地主机。Worker为您提供了Claude.ai可以访问的外部端点。
______________________________________________________________________
选项3:托管主机(VIP)
不想管理基础设施?我们为特定客户提供完全托管的Mnemo托管服务。
包括:
- 专用工作人员部署
- 优先支持
- 自定义域名
- 使用情况监控
联系人: lf@logosflux.io价格和可用性。
______________________________________________________________________
用法示例
# Load a GitHub repo
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://github.com/honojs/hono", "alias": "hono"}'
# Load a documentation site (crawls up to token target)
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://hono.dev/docs", "alias": "hono-docs"}'
# Load a PDF
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://arxiv.org/pdf/2303.08774.pdf", "alias": "gpt4-paper"}'
# Load a private repo (with GitHub token)
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://github.com/owner/private-repo", "alias": "private", "githubToken": "ghp_xxx"}'
# Load multiple sources into one cache
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"sources": ["https://github.com/owner/repo", "https://docs.example.com"], "alias": "combined"}'
# Query the cache
curl -X POST http://localhost:8080/tools/context_query \
-H "Content-Type: application/json" \
-d '{"alias": "hono", "query": "How do I add middleware?"}'
# List active caches
curl -X POST http://localhost:8080/tools/context_list \
-H "Content-Type: application/json" -d '{}'
# Get usage stats with cost tracking
curl -X POST http://localhost:8080/tools/context_stats \
-H "Content-Type: application/json" -d '{}'
# Evict when done
curl -X POST http://localhost:8080/tools/context_evict \
-H "Content-Type: application/json" \
-d '{"alias": "hono"}'命令行界面
# Start server
mnemo serve
# Start MCP stdio transport (for Claude Desktop)
mnemo stdio
# Load a project
mnemo load ./my-project my-proj
# Query
mnemo query my-proj "What's the main entry point?"
# List caches
mnemo list
# Remove cache
mnemo evict my-projMCP工具
| 工具 | 说明 |
|---|---|
context_load | 将GitHub仓库、URL、PDF或本地目录加载到Gemini缓存中 |
context_query | 使用自然语言查询缓存的上下文 |
context_list | 列出所有活动缓存,包括令牌计数和到期时间 |
context_evict | 删除缓存 |
context_stats | 通过成本跟踪获取使用统计数据 |
context_refresh | 用新内容重新加载缓存 |
context_load参数
| 参数 | 说明 |
|---|---|
source | 单一来源:GitHub URL、任何URL或本地路径 |
sources | 将多个源合并到一个缓存中 |
alias | 此缓存的友好名称(1-64个字符) |
ttl | 生存时间(秒)(60-86400,默认3600) |
githubToken | 私有仓库的GitHub令牌 |
systemInstruction | 查询的自定义系统提示 |
配置
| 变量 | 描述 | 默认值 |
|---|---|---|
GEMINI_API_KEY | 您的Gemini API密钥 | 必需 |
MNEMO_PORT | 服务器端口(仅限本地) | 8080 |
MNEMO_DIR | 数据目录(仅限本地) | ~/.mnemo |
MNEMO_AUTH_TOKEN | 受保护端点的身份验证令牌 | 无 |
认证
当 MNEMO_AUTH_TOKEN 已配置 /mcp 和 /tools/* 端点需要身份验证:
# Set auth token (Workers)
bunx wrangler secret put MNEMO_AUTH_TOKEN
# Requests must include header:
Authorization: Bearer your-token-here公共终结点(无需身份验证):
GET /health-健康检查GET /-服务信息GET /tools-列出可用工具
成本
您总是为Gemini API的使用付费 无论部署选项如何。Mnemo使用Gemini的上下文缓存,这比标准输入便宜得多:
| 资源 | 成本 |
|---|---|
| 缓存存储 | 每100万代币每小时约4.50美元 |
| 缓存输入 | 与常规输入相比折扣75-90% |
| 常规输入 | 每100万代币约0.075美元(Flash) |
例子: 100K令牌代码库缓存1小时,包含10个查询≈0.47美元
Cloudflare成本(自托管):
- 工人:免费等级包括10万次请求/天
- D1:免费套餐包括500万次阅读/天
- 适度使用可能为0美元
建筑
┌─────────────────────────────────────────────────────────────┐
│ Mnemo │
├─────────────────────────────────────────────────────────────┤
│ MCP Tools │
│ • context_load - Load into Gemini cache │
│ • context_query - Query cached context │
│ • context_list - Show active caches │
│ • context_evict - Remove cache │
│ • context_stats - Token usage, costs │
│ • context_refresh - Reload cache │
├─────────────────────────────────────────────────────────────┤
│ Adapters (v0.2) │
│ • GitHub repos (via API) │
│ • URL loading (HTML, PDF, JSON, text) │
│ • Token-targeted crawling │
│ • robots.txt compliance │
├─────────────────────────────────────────────────────────────┤
│ Packages │
│ • @mnemo/core - Gemini client, loaders, adapters │
│ • @mnemo/mcp-server - MCP protocol handling │
│ • @mnemo/cf-worker - Cloudflare Workers deployment │
│ • @mnemo/local - Bun-based local server │
└─────────────────────────────────────────────────────────────┘许可证
麻省理工学院
