关于 StateJar memory
StateJar 集成套件为编码 Agent 和助手提供类型化、可版本追溯的事实记忆,而非对话记录。套件包含插件、技能、命令行工具和托管 MCP 服务;文档称托管服务将在 StateJar 下次发布时上线。
主要功能
- 01存储经过类型校验的事实
- 02保留仅追加的版本历史
- 03仅检索问题相关事实
- 04记录信息披露审计轨迹
- 05验证内容寻址的记忆状态
适用场景
- 01在 Agent 会话之间保存持久事实
- 02检索与查询相关的事实
- 03检查已披露的记忆内容
- 04核验记忆副本是否匹配其状态句柄
MCP 相关
文档介绍了位于 `https://statejar.com/mcp` 的托管 HTTP MCP 服务,提供记忆、搜索、获取、管理、审计、验证和导出事实的十种工具。README 称该端点尚未上线,计划随 StateJar 下次发布推出。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://statejar.com/mcpclaude mcp add --transport http com-statejar-memory https://statejar.com/mcp{"mcpServers":{"com-statejar-memory":{"type":"http","url":"https://statejar.com/mcp"}}}在 Cursor 中打开{"servers":{"com-statejar-memory":{"type":"http","url":"https://statejar.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-statejar-memory":{"type":"http","url":"https://statejar.com/mcp"}}}{"mcpServers":{"com-statejar-memory":{"serverUrl":"https://statejar.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://statejar.com/mcp需要授权工具
详细介绍
StateJar 集成
连接 AI 编码 Agent 和助手与 StateJar 的客户端代码。StateJar 是一个存储事实而非对话记录的记忆层:
- 每个字段只有一个值,并根据其类型进行检查:不符合要求的值会被拒绝,并说明原因;
- 版本只增不改:每次更改都会生成一个新版本,旧值保留在历史记录中;
- 最小披露式回忆:助手只能获取回答问题所需的内容;
- 每次披露都有审计记录;
- 每个状态都有一个句柄(
shm_…,即规范状态的 SHA-256),因此可以验证记忆的任何副本。
| 接入方式 | 位置 | 状态 |
|---|---|---|
| 托管 MCP 服务(任何支持通过 HTTP 使用 MCP 的客户端) | https://statejar.com/mcp | 随 StateJar 下次发布上线 |
| Claude Code 插件 | plugins/statejar/,指南见 claude-code/ | 市场:此仓库 |
| Codex 插件(同一插件) | plugins/statejar/,指南见 codex/ | 市场:此仓库 |
| OpenCode 插件 | opencode/ | npm:opencode-statejar |
Hermes Agent 记忆提供程序(memory.provider: statejar) | hermes/statejar/ | 从此仓库运行 hermes plugins install |
| OpenClaw 记忆槽插件 | openclaw/ | npm:openclaw-statejar |
Agent 技能(任何会读取 SKILL.md 的 Agent) | skills/statejar/ | 复制到 Agent 的技能文件夹 |
CLI:statejar login,以及 init, add, search, list, forget, export, status | PyPI:statejar | pip install statejar(0.6.0 提供 login、logout、whoami;其余七个命令将在 0.7.0 中提供) |
每种集成都使用一个 StateJar 开发者密钥(https://statejar.com/api-keys),该密钥仅限用于你的账户。它们都不会存储对话记录,且都会在发送任何内容前移除机密信息。
可用性。 回忆和捕获功能会调用 StateJar 的 REST API https://api.statejar.com,该 API 已上线。插件的 StateJar 工具使用的托管 MCP 服务 https://statejar.com/mcp 将随 StateJar 下次发布上线。在此之前,这些工具无法连接,但回忆和捕获功能仍可照常使用。
任何 MCP 客户端
在 https://statejar.com/api-keys 创建开发者密钥,并将其设置为 STATEJAR_API_KEY。然后:
# Claude Code
claude mcp add --transport http statejar https://statejar.com/mcp --header "Authorization: Bearer $STATEJAR_API_KEY"
# Codex
codex mcp add statejar --url https://statejar.com/mcp --bearer-token-env-var STATEJAR_API_KEY
在 OpenCode 的 opencode.json 中:
{
"mcp": {
"statejar": {
"type": "remote",
"url": "https://statejar.com/mcp",
"oauth": false,
"headers": { "Authorization": "Bearer {env:STATEJAR_API_KEY}" }
}
}
}
其他客户端:配置远程(HTTP)MCP 服务 https://statejar.com/mcp,并添加请求头 Authorization: Bearer <your key>。十个工具分别是 remember、search、get、list、update、delete、history、audit、verify 和 export。
Claude Code
claude plugin marketplace add KING-OF-FLAME/statejar-integrations
claude plugin install statejar@statejar
Codex
codex plugin marketplace add KING-OF-FLAME/statejar-integrations
codex plugin add statejar@statejar
然后通过 /hooks 信任插件的钩子。请参阅 codex/README.md。
OpenCode
将 "plugin": ["opencode-statejar"] 和 StateJar 的 MCP 服务添加到 opencode.json。请参阅
opencode/README.md。
Hermes Agent
hermes plugins install KING-OF-FLAME/statejar-integrations/hermes/statejar --enable
hermes memory setup # choose statejar
请参阅 hermes/statejar/README.md。
OpenClaw
openclaw plugins install openclaw-statejar
openclaw statejar init # the memory slot, autoRecall, autoCapture
请参阅 openclaw/README.md。
Agent 技能
将 skills/statejar/ 复制到 Agent 的技能文件夹(对于 Claude Code,则复制到 ~/.claude/skills/)。请参阅
skills/README.md。
StateJar 与 Mem0 的实测对比
在 StateJar 的 memory-QA 测试集(100 段对话、300 个问题)中,两个系统使用同一个小型本地模型 (Qwen3-4B-Instruct-2507 Q4,运行于一块 GPU),StateJar 的记忆保留了 300 个问题中的 248 个答案,而 Mem0 的记忆(按原样发布的 2.2.1 版本)保留了 300 个问题中的 152 个答案(McNemar p = 1.4e-18)。分别使用每个系统记忆中的一个提示词生成的答案,StateJar 答对了 300 次中的 218 次,Mem0 答对了 300 次中的 159 次。这只是一项基准测试,且仅适用于该测试环境。测试方法和注意事项:https://statejar.com/docs/mem0.html。
测试
python -m pytest tests/
claude plugin validate ./plugins/statejar && claude plugin validate .
端到端测试,针对本地或暂存环境中的 StateJar(绝不针对生产环境):在真实客户端的一个会话中陈述的事实,会在新会话中通过钩子和 StateJar 的 MCP 工具被回忆起来。每次运行都会创建一个临时账户并将其删除。机器上没有模型时,脚本化替身(e2e/scripted_model.py)会回答“OK”或调用 StateJar 的 search,并逐字重复其输出;codex_e2e.py --model ollama:<name> 则使用真实的本地模型。
python e2e/codex_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/codex-e2e
python e2e/claude_code_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/cc-e2e
python e2e/opencode_e2e.py --api http://127.0.0.1:8000/api/v1 --mcp http://127.0.0.1:8000/mcp --out /tmp/oc-e2e
python e2e/hermes_e2e.py --api http://127.0.0.1:8000/api/v1 --out /tmp/hermes-e2e
python e2e/openclaw_e2e.py --api http://127.0.0.1:8000/api/v1 --out /tmp/openclaw-e2e # Node 24.16+
python e2e/openclaw_discovery.py # what OpenClaw itself loads from the plugin; no model, no StateJar
HERMES_PYTHON=/path/to/hermes/venv/bin/python python -m pytest tests/test_hermes_provider.py # with Hermes's own loader
python e2e/codex_discovery.py # what Codex itself loads from the plugin; no model, no StateJar
许可证
MIT(参见 LICENSE)。这些客户端所连接的 StateJar 服务有自己的条款:https://statejar.com/terms。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。