mcpField
A
Agent Receipts

Agent Receipts

本地服务
github.com/webaesbyaminAI 与智能体1今天更新

关于 Agent Receipts

Agent Receipts 是面向 AI Agent 的本地记忆与行动审计系统,将记忆和操作记录生成可独立验证的 Ed25519 签名回执。它适合需要追溯 Agent 记忆来源、核验操作过程的开发者,数据存储在本地。

主要功能

  1. 01跨会话的实体关系记忆
  2. 02为记忆和操作生成签名回执
  3. 03验证回执与来源链
  4. 04导出和导入可验证记忆包
  5. 05本地 SQLite 存储
  6. 06提供 CLI 与本地仪表板

适用场景

  1. 01跨会话保留 Agent 的项目与偏好信息
  2. 02核验 Agent 执行操作的输入与输出
  3. 03追踪记忆事实的来源
  4. 04导出记忆并由其他实例验证

MCP 相关

MCP 服务提供记忆、操作追踪、回执验证、约束、评估和记忆包等工具,供 AI Agent 使用。README 展示了与 Claude Code、Claude Desktop 和 Cursor 的配置方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"agent-receipts": {
"command": "npx",
"args": [
"-y",
"@agent-receipts/mcp-server"
]
}
}
}
启动命令npx -y @agent-receipts/mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@agent-receipts/mcp-server0.5.0

工具

24

收录的工具列表 · 更新于 3 周前

参数类型必填说明
actionstring是要记录的操作名称(例如,“generate_code”、“analyze_data”)
input_hashstring是预先计算的输入数据 SHA-256 哈希,格式为 "sha256:hexstring"
receipt_typeenum否收据类型:“action”(默认)、“verification”、“judgment”或“arbitration”action | verification | judgment | arbitration
output_hashstring|null否预先计算的输出数据 SHA-256 哈希,格式为 "sha256:hexstring"
output_summarystring|null否输出的易读摘要
modelstring|null否使用的 AI 模型
tokens_inany否输入 token 数
tokens_outany否输出 token 数
cost_usdany否以 USD 计的费用
latency_msany否延迟(毫秒)
tool_callsany否操作期间调用的工具
tagsany否用于分类的标签
confidenceany否置信度分数,范围为 0-1
metadataobject否任意元数据
parent_receipt_idstring|null否链中的父级收据 ID
chain_idstring否链 ID(未提供时自动生成)
statusenum否初始状态:“pending”(默认,稍后完成)或“completed”pending | completed | failed | timeout
constraintsarray否要评估的约束定义数组(类型:max_latency_ms、max_cost_usd、min_confidence、required_fields、status_must_be、output_schema)
expires_atstring否此收据过期的 ISO 日期时间
ttl_msnumber否从现在起计算的存活时间,单位为毫秒

详细介绍

Agent Receipts

你的 AI Agent 会记住一切,而且你可以证明这一点。

由加密收据提供支持的 AI Agent 持久记忆。Agent 学到的每条事实都会经过签名,可追溯且可独立验证。无需云服务。

在线演示 交互式演示 npm 版本 许可证:MIT

体验交互式演示 · 30 秒内完成安装 · 差异何在


问题所在

你正在使用 AI Agent 构建项目。Claude Code 重构了你的身份验证模块,然后说“完成了,所有测试都通过了”。你的 Agent 生成了一段客户报价,并表示使用了正确的定价。你的助手还记得你上周的偏好——但你看不到它为什么会这么认为,也不知道它是否正确。

有三个问题亟待解决:

  1. Agent 会忘记不同会话之间的一切。 每次对话都从零开始。上下文会丢失。你不得不反复解释同样的事情。

  2. 即使 Agent 确实记住了,你也无法了解其中的内容。 平台记忆是个黑箱。你看不到它存储了什么、何时存储、为何存储。你无法修正、导出或验证这些内容。

  3. 无法证明 Agent 实际做了什么。 日志可以修改,而且是 Agent 自己写的。它说“我更新了 3 个文件,所有测试都通过了”——真的如此吗?你只能相信 Agent 对自己工作的说法。

Agent Receipts 的功能

真正有效的记忆

你的 Agent 可在不同会话之间使用结构化的持久记忆,记录人物、项目、工具、偏好和事实。这不是扁平的键值存储,而是实体-观察图谱,其中每条事实都会关联到创建它的对话。

# Your agent learns something
memory_observe → "User prefers TypeScript, uses Neovim, building a SaaS called ModQuote"

# Next session, it already knows
memory_context → loads everything: entities, observations, relationships, preferences

# You can search it
memory_recall → "what tech stack does the user prefer?" → structured results

# You can forget (and the forget itself is tracked)
memory_forget → soft delete with audit trail

添加系统提示词后,Agent 会自动处理这些内容。你无需手动管理记忆。

真正可信的证明

每条记忆观察和每项 Agent 操作都会生成一份收据——一份经过签名的 JSON 文档,其中包含:

  • Ed25519 签名——防篡改,可独立验证
  • 输入/输出哈希——准确证明输入和输出的内容(不会存储原始数据)
  • 时间戳——事件发生和完成的时间
  • Agent ID——执行操作的 Agent
  • 来源链——将任意记忆追溯到创建它的对话

这不是日志。日志是 Agent 自行编写、可随意修改的文本文件。收据则是加密证明,第三方无需信任你、你的服务或 Agent,即可进行验证。

一切都在本地运行
npx @agent-receipts/mcp-server

就是这样。无需 API 密钥,无需账户,无需云服务,无需月费。数据不会离开你的设备。SQLite 数据库位于 ~/.agent-receipts/。支持离线使用。

为什么要做这个

我当时正在开发 ModQuote——一个多租户 SaaS,AI Agent 会为汽车保护膜门店生成报价。涉及真实资金、真实客户和真实责任。

当 Claude 生成一份 $2,400 的 PPF 报价时,我需要知道:它收到了哪些车辆数据?应用了哪些定价规则?如果客户对价格提出异议,我能否证明当时发生了什么——不是靠 Agent 自己写的一条日志,而是用加密证明?

我研究了现有工具:

  • Mem0——记忆功能很出色,但没有证明。它能记住信息,却无法证明何时或为何学到这些信息。记忆可以修改。
  • Langfuse——可观测性很出色,但它提供的是追踪,而不是证明。日志属于你的系统内部,第三方无法验证。
  • Zep——时序知识图谱,但它托管在云端且不透明。

这些工具都无法回答:“向系统外部的人证明,这个特定 Agent 在这个特定时间,使用这个特定输入执行了这个特定操作。”

于是我构建了 Agent Receipts。现在,每次生成报价都会生成一份签名回执。每条记忆都有溯源链。当有人问“Agent 是怎么得出这个数字的?”时——我会给他们一份可以自行验证的回执。

有何不同

Agent ReceiptsMem0LangfuseZep
记忆已签名的实体—观察图谱智能提取 + 整合无记忆时序知识图谱
证明Ed25519 签名回执无可修改的追踪记录无
验证离线,任何人都能验证,无需服务端不支持不支持不支持
基础设施npx 即可,无需任何配置提取需要大模型云端或自托管云 API
费用永久免费(本地使用)有免费套餐,之后收费有免费套餐,之后收费付费
导出支持加密验证的可移植捆绑包支持导出API 导出不支持
审计轨迹不可变的回执链可修改可修改的日志可修改

Agent Receipts 并不是这些工具的改进版,而是另一种完全不同的工具。

Mem0 回答:“我的 Agent 记得什么?” Langfuse 回答:“我的大模型工作流中发生了什么?” Agent Receipts 回答:“你能证明吗?”

开始使用

1. 添加 MCP 服务

Claude Code:

claude mcp add agent-receipts -- npx @agent-receipts/mcp-server

Claude Desktop(claude_desktop_config.json)/ Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "agent-receipts": {
      "command": "npx",
      "args": ["@agent-receipts/mcp-server"]
    }
  }
}
2. 添加系统提示词

这会告诉你的 Agent 何时记录记忆、回忆上下文和跟踪操作,让它自动完成这些工作:

npx @agent-receipts/cli prompts claude-code

将输出复制到项目说明或系统提示词中。

3. 开始使用

你的 Agent 现在会:

  • 在会话开始时调用 memory_context,加载它对你的了解
  • 在学到值得记住的信息时调用 memory_observe
  • 执行重要操作时调用 track_action
  • 使用 Ed25519 为所有内容签名
4. 查看运行情况
npx @agent-receipts/dashboard    # Web UI at localhost:3274
npx @agent-receipts/cli stats    # Terminal overview
npx @agent-receipts/cli memory entities  # See what your agent remembers
5. 安装前先试用

运行交互式演示 →——在 60 秒内体验记忆、验证和捆绑包导出。无需安装。

包含内容

  • 24 个 MCP 工具——记忆、操作、验证、约束、判断、开票、捆绑包
  • 21 个 SDK 方法——完整的 TypeScript API
  • 14 个 CLI 命令 + 9 个记忆子命令——以终端为先
  • 18 个仪表板页面——回执、记忆图谱、链、Agent、约束、判断、发票
  • 492 项测试——没有 TypeScript any,没有 ESLint 警告
  • Ed25519 + SHA-256——通过 @noble/ed25519 实现(经过审计,纯 JS)
  • SQLite + FTS5——本地优先,支持完整的记忆全文搜索

可移植记忆捆绑包

将 Agent 的全部记忆导出为一个可验证的文件:

npx @agent-receipts/cli memory export > my-project.bundle.json

捆绑包包含每个实体、观察、关系、创建它们的回执,以及验证所有内容所需的公钥。将它交给另一个 Agent、另一个团队或另一个 Agent Receipts 实例,他们无需信任你,就能验证每条事实。

链接

交互式演示在浏览器中试用 — 60 秒
实时仪表板查看包含示例数据的完整仪表板
工作原理收据结构、记忆模型、ModQuote 故事
npm全部 6 个软件包
完整 SDK API 参考(21 个方法)
操作跟踪
  • ar.track(params) — 使用自动哈希跟踪已完成的操作
  • ar.start(params) — 创建待处理收据
  • ar.complete(receiptId, params) — 完成待处理收据
  • ar.verify(receiptId) — 验证收据的 Ed25519 签名
  • ar.get(receiptId) — 按 ID 获取收据
  • ar.list(filter?) — 筛选并分页列出收据
  • ar.getPublicKey() — 获取签名公钥
  • ar.getJudgments(receiptId) — 获取收据的判定结果
  • ar.cleanup() — 删除过期收据
  • ar.generateInvoice(options) — 根据收据生成发票
记忆
  • ar.context(params?) — 获取完整记忆上下文转储,用于会话初始化
  • ar.observe(params) — 存储一条记忆观察记录(始终生成收据)
  • ar.recall(params?) — 搜索记忆(默认静默,使用 audited: true 生成收据)
  • ar.forget(params) — 软删除观察记录或实体(始终生成收据)
  • ar.entities(filters?) — 列出实体
  • ar.relate(params) — 创建实体关系
  • ar.provenance(observationId) — 获取溯源链
  • ar.memoryAudit(params?) — 记忆审计报告
Bundle
  • ar.exportBundle(params?) — 导出可移植、可验证的记忆 Bundle
  • ar.importBundle(bundle, params?) — 导入并验证记忆 Bundle
别名
  • ar.emit(params) — track() 的别名
完整 MCP 工具参考(24 个工具)
工具描述关键参数
track_action使用自动哈希跟踪 Agent 操作action、input、output、constraints
create_receipt使用预计算的哈希创建收据action、input_hash、output_hash
complete_receipt使用结果完成待处理收据receipt_id、output、status
verify_receipt验证加密签名receipt_id
get_receipt按 ID 获取收据receipt_id
list_receipts筛选并列出收据agent_id、status、chain_id
get_chain获取链中的所有收据chain_id
get_public_key导出 Ed25519 公钥—
judge_receipt开始 AI Judge 评估receipt_id、rubric
complete_judgment完成待处理判定receipt_id、verdict、score
get_judgments获取收据的所有判定结果receipt_id
cleanup删除过期收据dry_run、cleanup_memory
generate_invoice根据收据生成发票from、to、format
get_started入门指南—
memory_context完整上下文转储,用于会话初始化scope、max_entities
memory_observe存储一条记忆观察记录entity_name、entity_type、content
memory_recall搜索已存储的记忆query、entity_type、scope
memory_forget软删除观察记录或实体entity_id 或 observation_id
memory_entities列出已知实体entity_type、scope、query
memory_relate创建实体关系from_entity_id、to_entity_id、type
memory_provenance获取观察记录的溯源链observation_id
memory_audit记忆操作审计报告agent_id、from、to
memory_export_bundle导出可移植记忆 Bundleentity_ids、include_receipts
memory_import_bundle导入并验证记忆 Bundlebundle、skip_existing
CLI 完整参考
命令描述
init创建数据目录并生成签名密钥
keys [--export] [--import]显示、导出或导入签名密钥
inspect <id|file>美化打印回执
verify <id|file> [--key]验证回执签名
list [--agent] [--status] [--json]按筛选条件列出回执
chain <chain_id> [--tree]显示回执链
judgments <id> [--json]列出回执的判定
cleanup [--dry-run]删除已过期的回执
stats汇总回执统计数据
export <id|--all> [--pretty]将回执导出为 JSON
invoice --from --to [--format]生成发票
seed [--demo] [--count] [--clean]填充演示数据
watch [--agent] [--action]监视新回执
prompts <client>设置指南(claude-code、cursor、system)
memory context内存上下文摘要
memory observe <name> <type> <content>存储观察记录
memory recall [query]搜索记忆
memory entities [--type]列出实体
memory forget <id>忘记观察记录或实体
memory audit记忆审计报告
memory provenance <obs_id>来源链
memory export将记忆导出为 JSON
memory import <file>导入记忆
配置
环境变量描述默认值
AGENT_RECEIPTS_DATA_DIR数据目录路径~/.agent-receipts
AGENT_RECEIPTS_AGENT_ID默认 Agent IDlocal-agent
AGENT_RECEIPTS_ORG_ID组织 IDlocal-org
AGENT_RECEIPTS_ENVIRONMENT环境标签production
RECEIPT_SIGNING_PRIVATE_KEYEd25519 私钥(十六进制)自动生成

存储:

~/.agent-receipts/
├── keys/
│   ├── private.key    # Ed25519 private key (mode 0600)
│   └── public.key     # Ed25519 public key
├── receipts.db        # SQLite database (receipts + memory)
└── config.json        # Agent and org configuration

软件包

软件包描述
@agent-receipts/schemaZod 模式和 TypeScript 类型
@agent-receipts/cryptoEd25519 签名、验证和密钥管理
@agent-receipts/mcp-server提供 24 个工具的 MCP 服务
@agent-receipts/sdkTypeScript SDK(21 个方法)
@agent-receipts/cli命令行界面
@agent-receipts/dashboardMission Control 网页 UI

路线图

  • 云端层 — 团队仪表板、多 Agent 记忆同步、跨组织验证
  • 语义检索 — 基于嵌入的记忆搜索
  • 框架适配器 — 集成 LangChain、CrewAI、AutoGen
  • 跨组织信任桥接 — 两个组织相互验证对方的 Agent 回执

许可证

MIT


由 Amin Suleiman 构建——致力于打造 ModQuote 和 Agent Receipts。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。