关于 stele
Stele 是面向 AI Agent 的经验记忆账本,适用于需要治理任务经验并供后续复用的团队。经验须由另一名具名参与者提供证据并批准后,才会进入搜索。
主要功能
- 01记录任务成功与失败经验
- 02要求另一参与者凭证据批准
- 03搜索经治理的经验
- 04跟踪已替代和过期信息
- 05通过库、命令行或托管服务使用
适用场景
- 01为后续 Agent 留存任务经验
- 02审查并批准待处理经验
- 03任务前查找相关经验
- 04检查过期、冲突或删除的记忆
MCP 相关
MCP 服务提供受治理账本工具,可添加、批准、搜索、导出和检查条目,并支持 stdio 与托管 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
35收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ts | any | 否 | |
| entry_json | string | 是 |
详细介绍
Stele
面向 AI Agent 的治理型经验记忆账本:记录哪些方法奏效、哪些失败;只有经另一位具名参与者提供证据并晋升后,经验教训才会进入搜索;任何 Agent 都能据此从真实经验中构建可靠的上下文。
什么是 Stele?
stele 是一块用于记录过往事件——功绩、法律、警示——并留给后来者的石碑。Stele 为 AI Agent 实现了同样的理念:一个集中的任务经验账本。Agent 会记录每项任务中哪些方法奏效、哪些失败;治理关卡会将每条经验教训排除在搜索之外,直到另一位具名参与者提供证据并将其晋升;任何 Agent——无论是现在还是未来的——都能在开始下一项任务前,通过一种协议检索提炼后的经验。
状态:v18.16.4。 设计已在 stele_system_intent.yaml 中锁定。软件包:stele-core(零运行时依赖;可选 [mysql])+ stele-mcp(stdio + 托管 HTTP)+ stele CLI。
简而言之:一种 Agent 记忆,经验教训只有经另一位具名参与者提供证据并晋升后,才会进入搜索。与 stele-ai.dev 上托管的 Stele 或其他名为 Stele 的项目无关。
为什么选择 Stele(研究支持)
| 问题 | 证据 | Stele 的应对方式 |
|---|---|---|
| 检索效果好 ≠ 行动效果更好 | MemoryArena(arXiv:2602.16313) | 评估任务结果的测试框架,而非宣传 recall@k |
| 自我反思可能会让错误根深蒂固 | Survey(arXiv:2603.07670) | 隔离经验,直到另一位具名参与者提供支持证据并将其晋升 |
| 每个框架都是孤岛 | memorywire(arXiv:2606.01138) | JSON Schema + 投影辅助工具 |
| 事实会随时间变化 | LongMemEval(arXiv:2410.10813) | 双时态替代机制 + stale_policy |
完整研究资料:docs/research/ · 模式:docs/patterns/。
安装
pip install stele-core stele-mcp
从 git 安装(贡献者):
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
pip install -e packages/stele-core -e packages/stele-mcp
make check # ruff + mypy + pytest
make proof # end-to-end PASS/FAIL proof
快速入门:docs/QUICKSTART.md · 对比:docs/COMPARISON.md。
快速入门(库)
from pathlib import Path
from stele_core import Stele
s = Stele.open(Path(".stele-store"), store_id="demo", now="2026-08-20T12:00:00Z")
added = s.add({
"layer": "failure_lesson",
"title": "Pin cache keys to calendar buckets",
"body": "Day-scoped keys prevent stale cross-day reads.",
"scope": "project:demo",
"temporal": {"valid_from": "2026-08-20T12:00:00Z", "last_verified": "2026-08-20T12:00:00Z"},
"provenance": {
"agent": "agent-a", "task": "cache-fix", "environment": "local",
"subject_id": "subj-1", "source": "session:abc",
"written_at": "2026-08-20T12:00:00Z",
},
})
# → {"id": "se_…", "state": "quarantined"} — not searchable yet
s.promote(added["id"], [{
"type": "test_result", "issuer": "ci", "ref": "tests/test_cache.py",
"observed_at": "2026-08-20T12:00:00Z", "verdict": "supports",
"command": "pytest -q", "exit_status": 0,
}], actor="ci", ts="2026-08-20T12:00:00Z")
print(s.search("cache buckets", consumer_scope="project:demo"))
print(s.doctor(now="2026-08-20T12:00:00Z")["ok"])
CLI
stele init ./.stele-store --store-id demo
stele doctor ./.stele-store --now 2026-08-20T12:00:00Z
stele hygiene ./.stele-store --now 2026-08-20T12:00:00Z
stele entangled ./.stele-store --source web_page --now 2026-08-20T12:00:00Z
stele forget-check ./.stele-store --scope project:demo --subject-id subj-x --probe-query secret --now 2026-08-20T12:00:00Z
stele schema --out docs/schemas/entry.schema.json
stele snapshot ./.stele-store /tmp/stele-backup --now 2026-08-20T12:00:00Z --actor ops
MCP(stdio)
需要 Model Context Protocol Python SDK 1.x(mcp>=1.0,<2)。
mcp 2.x 移除了 mcp.server.fastmcp,因此无法启动此服务。
默认(stele-mcp): 35 种治理型账本工具——添加、晋升、搜索、doctor、导出等。
export STELE_STORE=./.stele-store
stele-mcp
{
"mcpServers": {
"stele": {
"command": "uvx",
"args": ["stele-mcp"],
"env": { "STELE_STORE": "/absolute/path/to/.stele-store" }
}
}
}
每次写入都要传入 ts;存储不会读取时钟。
完整研究工具库(约 2000 种 PEFT/Agent 模式工具):stele-mcp-full。
MCP(托管 HTTP)
通过 HTTPS 提供相同的工具(SSE + 可流式传输的 HTTP)。两个独立的工具接口, 相同的进程、相同的身份验证、相同的存储:
| 接口 | SSE | 可流式传输的 HTTP | 工具 |
|---|---|---|---|
| 完整版 | /sse | /mcp | 2003(账本 + PEFT/模式研究库) |
| 核心版(仅受治理的账本) | /core/sse | /core/mcp | 35 个 — 见下方列表 |
生产环境:
- URL:
https://stele.leocelis.com/sse· 核心版:https://stele.leocelis.com/core/sse(需要 Bearer 身份验证,不提供自助密钥;如需自行托管,请参阅deploy/README.md) - 客户端配置:
docs/integrations/CURSOR.md·CLAUDE_CODE.md·CLAUDE_DESKTOP.md - Agent 规则:
docs/cursor-rules/stele-hosted-mcp.mdc
本地运行(开发环境):
bash deploy/build.sh
STELE_API_KEYS=stl_local_dev STELE_AUTH_DISABLED=false \
STELE_STORE=./.stele-store \
python deploy/wsgi.py --port 8080
GET /health— 无需身份验证;报告tool_counts: {full, core}/sse+/mcp(完整版)和/core/sse+/core/mcp(仅账本)— 两者均通过STELE_API_KEYS使用 Bearer 身份验证- 托管的持久化 SoT:
STELE_STORE_DSN+ TLS CA(DSN 优先于文件路径) - 切勿提交 API 密钥、DSN 或 PEM 文件
{
"mcpServers": {
"stele": {
"url": "https://stele.leocelis.com/core/sse",
"headers": { "Authorization": "Bearer YOUR_KEY_HERE" }
}
}
}
35 个受治理的账本工具(TECH_SPEC §7.1-7.9 — create_core_app() 暴露的所有工具):
添加 · 更新 · 提升 · 取代 · 删除 · 搜索 · 反思 · 链接 ·
列出争议项 · 解决争议项 · 验证 · 审核者更正 · 注入 · 导出 ·
记录结果 · 固定 · 过时报告 · 重新验证 · 相关项 · 统计 · 时间线 · 验证包 ·
附加 · 快照 · 诊断 · 条目架构 · 按来源清除 · 比较存储 · 批量添加 ·
纠缠可疑项 · 卫生候选项 · 合规遗忘 · 血缘 · 某时点信念 · 冲突面
架构
参见 docs/ARCHITECTURE.md。层面:契约 · 工具 · 治理 · 检索 · 导出 · 活跃账本 · 运维。
| 文档 | 链接 |
|---|---|
| OSS 指南(从这里开始) | docs/OSS_GUIDE.md |
| 快速入门 | docs/QUICKSTART.md |
| PRD | docs/PRD.md |
| TECH_SPEC v1.1 | docs/TECH_SPEC.md |
| 条目 JSON Schema | docs/schemas/entry.schema.json |
| 意图(C1–C8) | stele_system_intent.yaml |
许可证
MIT · 版权所有 (c) 2026 Stele 贡献者
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。