关于 Exocortex
Exocortex 是一个本地运行的 MCP 服务,为开发者提供跨项目的持久化记忆库,用于保存开发洞见、技术决策和排错记录。它面向使用 Cursor 等 AI 助手的开发者,与按仓库隔离存储的方式不同,所有项目共享同一知识库。
主要功能
- 01跨项目集中式知识存储
- 02基于语义的记忆检索
- 03记忆之间的链接与知识图谱
- 04按访问频率和时间调整召回排序
- 05内置 Web 仪表盘用于浏览与可视化
- 06数据与 AI 处理均在本地完成
适用场景
- 01在一个项目中记录的经验供其他项目复用
- 02检索过往的排错记录与技术决策
- 03审计知识库中的矛盾与过时信息
MCP 相关
Exocortex 本身是 MCP 服务,向 MCP 客户端(如 Cursor)暴露 exo_store_memory、exo_recall_memories、exo_curiosity_scan 等工具,供 AI 助手读写记忆。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Exocortex 🧠
“拓展你的思维。”——你的外部大脑
Exocortex 是一个本地 MCP(Model Context Protocol)服务,充当开发者的“第二大脑”。
它会持久保存开发心得、技术决策和问题排查记录,让 AI 助手(如 Cursor)在需要时检索与当前上下文相关的记忆。
为什么选择 Exocortex?
🌐 跨项目共享知识
与按仓库存储数据的工具(例如每个项目中的 .serena/)不同,Exocortex 使用单一的集中式知识库。
Traditional approach (per-repository):
project-A/.serena/ ← isolated knowledge
project-B/.serena/ ← isolated knowledge
project-C/.serena/ ← isolated knowledge
Exocortex approach (centralized):
~/.exocortex/data/ ← shared knowledge across ALL projects
├── Insights from project-A
├── Insights from project-B
└── Insights from project-C
↓
Cross-project learning!
优势:
- 🔄 知识迁移:在一个项目中积累的经验,可立即用于其他项目
- 🏷️ 基于标签的发现:通过共享标签,在不同项目间查找相关记忆
- 📈 持续学习:你的外部大脑会随时间变得更聪明,而不是逐个项目分别成长
- 🔍 模式识别:在整个开发历程中发现常见问题及其解决方案
功能
- 🔒 完全本地化:所有数据和 AI 处理都保留在你的设备上,保障隐私。
- 🔍 语义搜索:按含义而非仅按关键词查找记忆。
- 🕸️ 知识图谱:通过显式链接维护项目、标签和记忆之间的关系。
- 🔗 记忆链接:关联相关记忆,构建可遍历的知识网络。
- ⚡ 轻量快速:使用嵌入式 KùzuDB 和轻量快速的 fastembed 模型。
- 🧠 记忆动态机制:根据新近程度和频率智能召回——访问频繁的记忆会显示在更靠前的位置。
- 🔥 挫折感索引:优先处理“痛苦的记忆”——调试噩梦会在搜索结果中获得更高权重。
- 🖥️ Web 仪表板:采用精美的赛博朋克风格界面,可浏览记忆、监控运行状况并可视化知识图谱。
📚 使用指南
→ 查看完整使用指南
- 包含使用场景的工具参考
- 实用工作流
- 提示词技巧
- 实用技巧
安装
# Clone the repository
git clone https://github.com/fuwasegu/exocortex.git
cd exocortex
# Install dependencies with uv
uv sync
使用
启动服务
uv run exocortex
Cursor 配置
将以下内容添加到 ~/.cursor/mcp.json:
选项 1:直接从 GitHub 获取(推荐)
uvx 缓存过期后会自动更新。无需手动执行 git pull。
{
"mcpServers": {
"exocortex": {
"command": "uvx",
"args": ["--from", "git+https://github.com/fuwasegu/exocortex", "exocortex"]
}
}
}
选项 2:本地安装
适用于开发或自定义。
{
"mcpServers": {
"exocortex": {
"command": "uv",
"args": ["--directory", "/path/to/exocortex", "run", "exocortex"]
}
}
}
**注意:**无论选择哪种选项,你的数据都会存储在
~/.exocortex/中并得到保留。
选项 3:代理模式(多个 Cursor 实例——推荐)
如果你想在多个 Cursor 窗口中同时使用 Exocortex,请采用此方法。
KùzuDB 不支持多个进程并发写入。使用 stdio 方式时,每个 Cursor 实例都会启动自己的服务进程,因此会发生锁冲突。代理模式会在后台自动启动一个 SSE 服务,每个 Cursor 实例都通过代理连接。
{
"mcpServers": {
"exocortex": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/fuwasegu/exocortex",
"exocortex",
"--mode", "proxy",
"--ensure-server"
]
}
}
}
工作原理:
- 第一个 Cursor 启动 Exocortex → SSE 服务自动在后台启动
- 后续的 Cursor 连接到现有 SSE 服务
- 所有 Cursor 共用同一个服务 → 不会发生锁冲突!
**注意:**无需手动启动服务。如果服务尚未运行,
--ensure-server选项会自动启动它。
选项 4:手动管理服务(高级)
如果你更倾向于手动管理服务:
步骤 1:启动服务
# Start the server in a terminal (can also run in background)
uv run --directory /path/to/exocortex exocortex --transport sse --port 8765
步骤 2:配置 Cursor
{
"mcpServers": {
"exocortex": {
"url": "http://127.0.0.1:8765/mcp/sse"
}
}
}
**额外福利:**通过此配置,你还可以访问位于
http://127.0.0.1:8765/的 Web 仪表板。
**提示:**若要在系统启动时自动启动服务,可在 macOS 上使用
launchd,或在 Linux 上使用systemd。
MCP 工具
基础工具
| 工具 | 描述 |
|---|---|
exo_ping | 健康检查,用于确认服务正在运行 |
exo_store_memory | 存储一条新记忆 |
exo_recall_memories | 通过语义搜索回忆相关记忆 |
exo_list_memories | 分页列出已存储的记忆 |
exo_get_memory | 按 ID 获取特定记忆 |
exo_delete_memory | 删除一条记忆 |
exo_get_stats | 获取已存储记忆的统计信息 |
高级工具
| 工具 | 描述 |
|---|---|
exo_link_memories | 在两条记忆之间创建关联 |
exo_unlink_memories | 移除记忆之间的关联 |
exo_update_memory | 更新记忆的内容、标签或类型 |
exo_explore_related | 通过图遍历发现相关记忆 |
exo_get_memory_links | 获取一条记忆的所有出向关联 |
exo_trace_lineage | 🕰️ 追踪一条记忆的演变过程/脉络(时间推理) |
exo_curiosity_scan | 🤔 扫描矛盾、过时信息和知识缺口 |
exo_analyze_knowledge | 分析知识库的健康状况并获取改进建议 |
exo_sleep | 触发后台整合(去重、孤立记忆恢复、自动关联) |
exo_consolidate | 从记忆簇中提取抽象模式 |
exo_compact | 🧹 重建数据库以释放磁盘空间(参见压缩) |
🤖 知识自主性
Exocortex 会自动改进你的知识图谱!存储一条记忆时,系统会:
- 建议关联:查找相似的现有记忆并建议建立关联
- 检测重复项:如果新记忆与现有记忆过于相似,则发出警告
- 识别模式:识别成功经验是否可能解决过去的失败
// Example exo_store_memory response with suggestions
{
"success": true,
"memory_id": "...",
"suggested_links": [
{
"target_id": "existing-memory-id",
"similarity": 0.78,
"suggested_relation": "extends",
"reason": "High semantic similarity; may be an application of this insight"
}
],
"insights": [
{
"type": "potential_duplicate",
"message": "This memory is very similar (94%) to an existing one.",
"suggested_action": "Use exo_update_memory instead"
}
]
}
🧠 自动记忆整合
正如人类在睡眠中整合记忆一样,Exocortex 会提示 AI 在存储后进行整理。
exo_store_memory 成功后,响应中会包含 next_actions,引导 AI:
- 关联高相似度记忆(相似度 ≥ 0.7)
- 处理重复项和矛盾
- 定期运行健康检查(每 10 条记忆一次)
// Example response with next_actions
{
"success": true,
"memory_id": "abc123",
"summary": "...",
"consolidation_required": true,
"consolidation_message": "🧠 Memory stored. 2 consolidation action(s) required.",
"next_actions": [
{
"action": "link_memories",
"priority": "high",
"description": "Link to 2 related memories",
"details": [
{
"call": "exo_link_memories",
"args": {
"source_id": "abc123",
"target_id": "def456",
"relation_type": "extends",
"reason": "High semantic similarity"
}
}
]
},
{
"action": "analyze_health",
"priority": "low",
"description": "Run knowledge base health check",
"details": { "call": "exo_analyze_knowledge" }
}
]
}
预期流程:
User: "Remember this insight"
↓
AI: exo_store_memory() → receives next_actions
↓
AI: exo_link_memories() for each high-priority action
↓
AI: "Stored and linked to 2 related memories."
⚠️ 重要限制:是否执行
next_actions由 AI Agent 自行决定。尽管服务会通过SERVER_INSTRUCTIONS和consolidation_required: true强烈指示进行整合,但并不能保证 100% 执行。这是 MCP 协议的固有限制——服务只能提出建议,不能强制执行操作。实际上,大多数现代 AI 助手都会遵循这些指示,但在复杂对话中或与其他任务冲突时,可能会跳过这些操作。
exo_link_memories 的关系类型
| 类型 | 描述 |
|---|---|
related | 大体相关的记忆 |
supersedes | 此记忆更新/替换目标记忆 |
contradicts | 此记忆与目标记忆矛盾 |
extends | 此记忆扩展/阐述目标记忆 |
depends_on | 此记忆依赖目标记忆 |
evolved_from | 此记忆由目标记忆演变而来(时间推理) |
rejected_because | 此记忆因目标记忆而被拒绝 |
caused_by | 此记忆由目标记忆导致 |
使用 exo_trace_lineage 进行时间推理
追踪决策和知识的沿革。了解某事为何演变成现在的样子。
| 参数 | 描述 | 示例 |
|---|---|---|
memory_id | 起始记忆 ID | "abc123" |
direction | "backward"(查找祖先)或 "forward"(查找后代) | "backward" |
relation_types | 要追踪的关系 | ["evolved_from", "caused_by"] |
max_depth | 最大遍历深度 | 10(默认值) |
示例:了解做出某项决策的原因
Current Architecture Decision
│
▼ trace_lineage(direction="backward")
│
├─ [depth 1] Previous Design (evolved_from)
│ "Switched from monolith to microservices"
│
└─ [depth 2] Original Problem (caused_by)
"Scaling issues with single database"
用法:
AI: exo_trace_lineage(memory_id="current-decision", direction="backward")
↓
Result: Shows the evolution chain of how the current decision came to be
使用场景:
- 🔍 架构考古:「我们为什么选择这种方案?」
- 🐛 根因分析:「是什么导致了这个错误?」
- 📚 知识演变:「我们的理解发生了哪些变化?」
使用 exo_curiosity_scan 启动好奇心引擎
好奇心引擎会像好奇的人一样主动审视你的知识库。它会扫描不一致之处,查找未关联的记忆,并生成问题以提升知识质量。
检测内容:
| 类别 | 描述 | 示例 |
|---|---|---|
| 🔴 矛盾 | 彼此冲突的记忆 | 关于同一主题的成功与失败 |
| 📅 过时信息 | 可能需要复核的旧知识 | 已被取代但未建立关联的记忆 |
| 🔗 建议关联 | 应当建立关联的未关联记忆 | 共享标签、上下文或高度相似的记忆 |
| ❓ 问题 | 针对你的知识提出的类人问题 | 「这仍然有效吗?」 |
建议关联的检测策略:
| 策略 | 置信度 | 描述 |
|---|---|---|
| 共享标签 | 高(0.7+) | 共享 2 个或更多标签的记忆可能相关 |
| 共享上下文 | 中(0.6) | 相同项目 + 相同类型(洞见/决策) |
| 语义相似度 | 高(0.7+) | 向量相似度高(>70%)但尚未关联 |
输出示例:
{
"contradictions": [
{
"memory_a_summary": "Caching approach works perfectly",
"memory_b_summary": "Caching approach failed badly",
"reason": "success vs failure on same topic",
"confidence": 0.85
}
],
"suggested_links": [
{
"source_summary": "Database optimization technique",
"target_summary": "Query performance improvement",
"reason": "Share 3 tags: database, performance, optimization",
"link_type": "tag_shared",
"confidence": 0.8,
"suggested_relation": "related"
}
],
"outdated_knowledge": [],
"questions": [
"🤔 These memories seem to contradict. Are both still valid?",
"🔗 Found unlinked related memories. Link them to strengthen the graph?"
],
"next_actions": [
{
"action": "create_link",
"priority": "medium",
"details": {
"call": "exo_link_memories",
"args": {
"source_id": "...",
"target_id": "...",
"relation_type": "related"
}
}
}
]
}
用法:
AI: exo_curiosity_scan(context_filter="my-project")
↓
Result: Report of issues, suggested links, and questions
↓
AI: Executes next_actions to create links
↓
Result: Knowledge graph becomes richer and more connected!
使用场景:
- 🔍 知识审计:「我的知识中是否存在矛盾?」
- 🔗 图谱扩充:「查找应当建立关联的未关联记忆」
- 🧹 质量维护:「有哪些内容需要清理?」
- 💡 发现:「我应该围绕自己的知识提出哪些问题?」
可选:增强型情感分析
如需在 exo_curiosity_scan 中更准确地检测矛盾,可以启用基于 BERT 的情感分析:
# Local installation
pip install exocortex[sentiment]
# or
uv sync --extra sentiment
// mcp.json with sentiment support
{
"mcpServers": {
"exocortex": {
"command": "uvx",
"args": [
"--from", "exocortex[sentiment] @ git+https://github.com/fuwasegu/exocortex",
"exocortex", "--mode", "proxy", "--ensure-server"
]
}
}
}
注意: 会增加约 2.5GB 的依赖项(PyTorch + Transformers)。默认的基于关键词的检测适用于大多数情况,并同时支持英语和日语。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
EXOCORTEX_DATA_DIR | ~/.exocortex | 数据库存储目录 |
EXOCORTEX_LOG_LEVEL | INFO | 日志级别(DEBUG/INFO/WARNING/ERROR) |
EXOCORTEX_EMBEDDING_MODEL | sentence-transformers/all-MiniLM-L6-v2 | 要使用的嵌入模型 |
EXOCORTEX_TRANSPORT | stdio | 传输模式(stdio/sse/streamable-http) |
EXOCORTEX_HOST | 127.0.0.1 | 服务绑定地址(用于 HTTP 模式) |
EXOCORTEX_PORT | 8765 | 服务端口号(用于 HTTP 模式) |
架构
Stdio 模式(默认)
┌─────────────────┐ stdio ┌─────────────────────────────┐
│ AI Assistant │ ◄──────────► │ Exocortex MCP │
│ (Cursor) │ MCP │ │
└─────────────────┘ │ ┌─────────┐ ┌──────────┐ │
│ │ Tools │ │ Embedding│ │
│ │ Handler │ │ Engine │ │
│ └────┬────┘ └────┬─────┘ │
│ │ │ │
│ ┌────▼────────────▼─────┐ │
│ │ KùzuDB │ │
│ │ (Graph + Vector) │ │
│ └────────────────────────┘ │
└─────────────────────────────┘
HTTP/SSE 模式(多个实例)
┌─────────────────┐
│ Cursor #1 │──────┐
└─────────────────┘ │
│ HTTP ┌─────────────────────────────┐
┌─────────────────┐ ├────────►│ Exocortex MCP │
│ Cursor #2 │──────┤ SSE │ (Standalone) │
└─────────────────┘ │ │ │
│ │ ┌─────────┐ ┌──────────┐ │
┌─────────────────┐ │ │ │ Tools │ │ Embedding│ │
│ Cursor #3 │──────┘ │ │ Handler │ │ Engine │ │
└─────────────────┘ │ └────┬────┘ └────┬─────┘ │
│ │ │ │
│ ┌────▼────────────▼─────┐ │
│ │ KùzuDB │ │
│ │ (Graph + Vector) │ │
│ └────────────────────────┘ │
└─────────────────────────────┘
知识图谱结构
Memory ─── ORIGINATED_IN ──► Context (project)
Memory ─── TAGGED_WITH ────► Tag
Memory ─── RELATED_TO ─────► Memory (with relation type)
记忆动态
Exocortex 实现了一套受人类认知启发的记忆动态系统。记忆具有会影响搜索结果的“寿命”和“强度”:
混合评分公式:
Score = (S_vec × w_vec) + (S_recency × w_recency) + (S_freq × w_freq) + (S_frustration × w_frustration)
| 组成部分 | 描述 | 默认权重 |
|---|---|---|
S_vec | 向量相似度(语义相关性) | 0.50 |
S_recency | 新近度分数(指数衰减:e^(-λ×Δt)) | 0.20 |
S_freq | 频率分数(对数刻度:log(1 + count)) | 0.15 |
S_frustration | 挫折分数(提升痛苦记忆的权重) | 0.15 |
工作原理:
- 每次回忆记忆时,都会更新其
last_accessed_at和access_count - 经常访问的记忆会获得更高的
S_freq分数 - 最近访问的记忆会获得更高的
S_recency分数 - 痛苦的记忆(调试噩梦)会获得更高的
S_frustration分数,以提升优先级 - 陈旧且未使用的记忆会自然衰减,但仍可搜索
这样就构建了一个智能回忆系统,其中:
- 📈 重要记忆(经常使用)会始终保持突出
- ⏰ 优先考虑近期上下文
- 🔥 痛苦的记忆永远不会被遗忘——以避免重蹈覆辙
- 🗃️ 陈旧记忆会逐渐淡去,但不会消失
挫折索引(躯体标记假说)
基于神经科学的发现:“痛苦的记忆在决策时会被优先考虑”,Exocortex 会自动提升调试困境和来之不易的解决方案的重要性。
用法:
# Explicitly mark as a painful memory
exo_store_memory(
content="Spent 3 hours debugging KùzuDB lock issues. Root cause was...",
context_name="exocortex",
tags=["bug", "kuzu"],
is_painful=True, # ← Important!
time_cost_hours=3.0, # ← Record time spent
)
自动检测:
即使没有 is_painful,系统也会根据内容自动检测挫折程度:
- 😓 低(0.2-0.4):“棘手”“奇怪”“变通方案”
- 🔥 中(0.4-0.6):“终于”“漏洞”“数小时”
- 🔥🔥 高(0.6-0.8):“卡住”“沮丧”
- 🔥🔥🔥 极高(0.8-1.0):“噩梦”“不可能”“地狱”
搜索结果:
{
"memories": [
{
"id": "...",
"summary": "KùzuDB lock issue resolution",
"frustration_score": 0.85,
"pain_indicator": "🔥🔥🔥", // ← Visual emphasis
"time_cost_hours": 3.0
}
]
}
睡眠/梦境机制
就像人类在睡眠中巩固记忆一样,Exocortex 有一个后台巩固进程,用于整理你的知识图谱:
┌─────────────────────────────────────────────────────────────┐
│ exo_sleep() called │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Dream Worker (Detached Process) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 1. Deduplication │ │
│ │ - Find memories with similarity >= 95% │ │
│ │ - Link newer → older with 'related' relation │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ 2. Orphan Rescue │ │
│ │ - Find memories with no tags and no links │ │
│ │ - Link to most similar memory with 'related' │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ 3. Auto-linking (High Confidence Only) │ │
│ │ - Tag sharing: 3+ shared tags → 'related' │ │
│ │ - Semantic: 80%+ similarity → 'related' │ │
│ ├──────────────────────────────────────────────────────┤ │
│ │ 4. Pattern Mining (Phase 2) │ │
│ │ - Extract common patterns from memory clusters │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
用法:
AI: "I've completed the task. Let me consolidate the knowledge base."
↓
AI: exo_sleep() → Worker spawns in background
↓
AI: "Consolidation process started. Your knowledge graph will be optimized."
主要功能:
- 🔄 非阻塞:立即返回,巩固在后台运行
- 🔐 安全:使用文件锁,避免与活动会话发生冲突
- 📊 日志:启用
enable_logging=True以跟踪进度
ℹ️ 代理模式:从 v1.1.0 起,
exo_sleep可在代理模式下运行。现在,服务会在启动工作进程前移交数据库锁,并在几秒钟无活动后自动释放该锁。这只是尽力而为,并非保证:如果服务正忙于处理请求,它可能会在工作进程(该进程会先加载嵌入模型)获取锁之前重新获取数据库锁。如果工作进程报告锁超时,只需等系统空闲时重试即可。
压缩
如果你的数据库目录远大于其中的数据量——几千条记忆就占用数百 MB——说明它受到 v1.1.0 之前存在的写入路径漏洞影响,导致体积膨胀。每条写入查询都会执行完整的存储检查点,而每次检查点都会重写关系列数据块,却不回收页面(每个关系都会让文件增长约 386 KiB)。受影响严重的数据库最终甚至无法读取膨胀后的列:
RuntimeError: Buffer manager exception: Unable to allocate memory!
v1.1.0 修复了问题根源,但已经膨胀的数据库不会自行缩小。请重新构建:
# As a CLI (the server must not be running)
uvx --from git+https://github.com/fuwasegu/exocortex exocortex --mode compact
# Keep no backup (the pre-compaction copy is kept under ~/.exocortex/backups/ by default)
uvx --from git+https://github.com/fuwasegu/exocortex exocortex --mode compact --no-backup
或者让你的 AI 助手调用 exo_compact。
原始数据库会被移至 ~/.exocortex/backups/,只有在重建完全成功后才会被替换。已经无法读取的关系文本无法恢复——这些列会被报告并以空内容重新构建,以保留图谱的其余部分。
EXPORT DATABASE不能替代压缩:对于恰好需要压缩的数据库,该命令会耗尽内存。
模式抽象(概念形成)
Exocortex 可以从具体记忆中提取抽象模式,构建分层知识结构:
┌─────────────────────────────────────────────────────────────────┐
│ Pattern Layer │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ "Always use connection pooling for database connections" │ │
│ │ Confidence: 0.85 | Instances: 5 │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
▲ INSTANCE_OF ▲ INSTANCE_OF
┌────────────┴────────────────┴────────────┐
┌──────┴──────┐ ┌───────────┐ ┌───────────┐ ┌──┴────────┐
│ Memory #1 │ │ Memory #2 │ │ Memory #3 │ │ Memory #4 │
│ PostgreSQL │ │ MySQL │ │ Redis │ │ MongoDB │
│ pooling fix │ │ pool size │ │ conn reuse│ │ pool leak │
└─────────────┘ └───────────┘ └───────────┘ └───────────┘
Memory Layer (Concrete)
用法:
AI: exo_consolidate(tag_filter="database") → Extracts patterns from database-related memories
↓
Result: "Created 2 patterns from 8 memories"
优势:
- 🎯 泛化:发现适用于各种具体情况的规则
- 🔍 元学习:在不同项目中找出有效和无效的方法
- 📈 建立信心:随着关联的实例增多,模式会变得更可靠
Web 仪表板
Exocortex 提供了一个精美的 Web 仪表板,用于可视化和管理你的知识库。
访问仪表板
🚀 使用代理模式时(推荐)
无需运行终端命令! 使用 Cursor 配置代理模式(--mode proxy --ensure-server)时,SSE 服务会自动在后台运行。
只需在浏览器中打开:
http://127.0.0.1:8765/
Cursor starts
↓
Proxy mode → SSE server auto-starts (port 8765)
↓
├─ MCP: http://127.0.0.1:8765/mcp/sse ← Used by Cursor
└─ Dashboard: http://127.0.0.1:8765/ ← Just open in browser!
手动启动服务
如果你想在不使用 Cursor 的情况下查看仪表板:
# Start SSE server (includes dashboard)
uv run exocortex --transport sse --port 8765
URL:
- 仪表板:
http://127.0.0.1:8765/ - MCP SSE:
http://127.0.0.1:8765/mcp/sse
仪表板功能
| 标签页 | 说明 |
|---|---|
| 概览 | 统计数据、上下文、标签和知识库健康评分 |
| 记忆 | 分页浏览、筛选和搜索记忆 |
| 梦境日志 | 后台整合流程的实时流式日志 |
| 图谱 | 显示记忆关联的可视化知识图谱 |
截图
概览标签页
- 按类型统计记忆总数(洞见、成功、失败、决策、笔记)
- 上下文和标签云,便于快速导航
- 健康评分及改进建议
记忆标签页
- 按类型筛选(洞见/成功/失败/决策/笔记)
- 按上下文(项目)筛选
- 点击任意记忆,即可查看完整详情和链接
图谱标签页
- 交互式节点可视化
- 按记忆类型使用不同颜色:
- 🔵 青色:洞见
- 🟠 橙色:决策
- 🟢 绿色:成功
- 🔴 红色:失败
- 连线表示记忆之间的
RELATED_TO关联
独立仪表板模式
你也可以在其他端口单独运行仪表板:
uv run exocortex --mode dashboard --dashboard-port 8766
**注意:**在独立模式下,仪表板连接到同一个数据库,但不包含 MCP 服务。
文档
开发
# Install dependencies
uv sync
# Run tests
uv run pytest
# Run with debug logging
EXOCORTEX_LOG_LEVEL=DEBUG uv run exocortex
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。