关于 elen
elen 是面向编码 Agent 的开源 MCP 服务,用于记录技术决策及其约束,并标记已被取代的决策。决策保存在本地 SQLite 文件中。
主要功能
- 01记录决策及其约束
- 02检索并展开历史先例
- 03将旧决策标记为已取代
- 04本地 SQLite 存储
- 05查看决策上下文与状态
适用场景
- 01编码前查找相关技术先例
- 02记录新决策及其约束
- 03修订不再适用的旧决策
MCP 相关
elen 作为 MCP 服务向客户端提供决策记录、检索、展开和取代等工具。可配置给 Cursor、Claude Code 及其他 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Elen 是一款开源 MCP 服务,用于记录编码 Agent 做出的决策及其约束,并将旧决策标记为已取代。只需一行 npx 命令即可安装,可与 Cursor、Claude Code 和任何 MCP 客户端配合使用,并将决策保存在本地 SQLite 文件中。
安装
npx -y @learningnodes/[email protected]
Claude Code
claude mcp add --transport stdio elen -- npx -y @learningnodes/[email protected]
VS Code
打开此链接进行安装:
vscode:mcp/install?%7B%22name%22%3A%22elen%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40learningnodes%2Felen-mcp%400.3.1%22%5D%7D
Cursor
将以下内容添加到项目中的 .cursor/mcp.json:
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
Gemini CLI
将以下内容添加到 settings.json(~/.gemini/settings.json,或项目中的 .gemini/settings.json):
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
其他 MCP 客户端
使用相同的 mcpServers 条目:
{
"mcpServers": {
"elen": {
"command": "npx",
"args": ["-y", "@learningnodes/[email protected]"]
}
}
}
已测试
| 客户端 | 状态 |
|---|---|
| Claude Code | 由维护者运行 |
| Cursor | 配置遵循客户端文档。尚无测试记录。 |
| VS Code | 配置遵循客户端文档。尚无测试记录。 |
| Gemini CLI | 配置遵循客户端文档。尚无测试记录。 |
| 其他 MCP 客户端 | 配置遵循客户端文档。尚无测试记录。 |
让你的 Agent 使用它
仅有这些工具并不会让 Agent 养成习惯:它能看到每个工具的作用,却不会在任务中途停下来询问是否存在先例。将以下内容添加到规则文件或系统提示词中,让每次会话都能在做出决策前先搜索,并在决策后提交。
# Epistemic Decision Memory Protocol
You must adhere to the Minimal Token Protocol for decisions:
1. Pointer-First Retrieval: Before making a technical decision, ALWAYS use elen_suggest to retrieve Top-K minimal pointers.
2. On-Demand Expansion: If a pointer looks relevant, you MUST call elen_expand on that specific ID. Do not hallucinate constraints.
3. Commiting Atoms: When deciding, use elen_commit. Summarize constraints into plain-text arrays (e.g. "budget < 500ms").
4. Graph Revision: If a decision invalidates a precedent, you MUST use elen_supersede to advance the graph state.
存储内容
在本地模式下,决策保存在你设备上的 SQLite 文件中(默认路径为 ~/.elen/decisions.db)。连接模式为可选模式,需要执行 elen login 并提供 API 密钥,目前处于 Beta 阶段。
工具
| 工具 | 功能 |
|---|---|
elen_commit | 将新决策及其纯文本约束列表提交到图谱中。 |
elen_get_competency | 显示此 Agent 的能力档案,该档案根据经过验证的决策历史构建。 |
elen_consolidate | 提出聚类建议以及重复或过时的候选项,但不会更改图谱。 |
elen_get_context | 按领域分组,概述活跃的决策线索,供会话开始时查看。 |
elen_expand | 展开决策 ID,查看完整约束和文本。 |
elen_incoming | 列出其他人分享至你工作区的决策。连接模式,Beta 阶段。 |
elen_log_decision | 根据约束、证据和答案创建经过验证的决策记录。 |
elen_search_precedents | 搜索经过验证的决策,查找先例。 |
elen_status | 返回 Agent、项目、数据库路径和计数,以便在提交前检查命名空间。 |
elen_suggest | 在你做出新决策前,检索以往决策的简短提示。 |
elen_supersede | 修订旧决策,并将其标记为已被新决策取代。 |
elen_team_search | 针对某个主题,搜索工作区可见的团队和人工决策。连接模式,Beta 阶段。 |
链接
- 仓库:https://github.com/LearningNodes/Elen
- 问题反馈:https://github.com/LearningNodes/Elen/issues
- Discord:https://discord.gg/zJG6n2WGzM
- 许可证:AGPL-3.0
Elen 是 Learning Nodes(DecisionOps 工作区)的开源部分。有关代码背后的业务决策,请访问:https://workstation.learningnodes.com?utm_source=elen-readme&utm_medium=referral&utm_campaign=npm-page
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。