PUBLIC API · V1

把你的 AI,接入长期记忆。

全系统升级与当前运行 · 2026年11月9日

中央记忆、Web、授权接口和持续语义整理已运行。现役Bridge/Edge业务模块与已合并main一致;整理器及同账号维护按原15分钟周期运行。完整U00—U10的实现、生产和真实业务验收分别见全系统功能矩阵。

Win11新客户端已启用,首个自然周期确认31条记录物化及checkpoint提交,整体仍为source_partial,保留7个历史来源缺口。Hermes六份记忆队列模块已发布,五个用户级网关已重载,主网关及LIN7客户端版本切换需要管理员完成。Mac/LINX本轮安全SSH访问未通过,运行状态待核。

U03混合召回继续冻结,原质量与性能门槛保留。中文文本PDF已补Linux隔离闭环;OCR、音视频、跨平台和完整业务共享仍分别待验。今天整理产出和积压数量保持未知,较早章节的统计保留各自日期与范围。

当前状态 · 客户端、媒体与便携工具 · 机器JSON接口。源码候选、已部署版本和实际客户端结果分别记录。

这是一份面向机器人、Agent、Codex、Hermes 与其他设备的中文接入指南。生产入口固定为:

https://jy.fox7.cc
职责边界

本网页只提供公开说明,不接收、不保存,也不代理 Bearer Token。机器人应从自己的安全配置读取凭据,直接调用 HTTPS API。

开始按任务阅读指南

系统概览

公共 Edge 将外部客户端连接到权威 MemPalace Bridge。每个令牌在服务端绑定一个固定的 AI、设备与软件身份;记忆继续按项目、会话、主题和类型组织。

IDENTITY

独立来源

不同 AI 和设备的来源坐标不会混写,也不能由请求正文覆盖。

RECALL

共享召回

按项目、AI 日记、全局或精确过滤进行语义检索。

CONTINUITY

可靠连续

实时事件可幂等重放,历史数据可分页迁移和断点恢复。

公共入口
路径用途方法
/api公开的机器可读发现信息GET
/api/v1/*版本化 REST 接口GET / POST
/mcpAgent 的 MCP JSON-RPC 入口POST
/healthz · /readyz存活与就绪状态GET

快速接入

先取得由所有者签发的 opaque Token。凭据对应固定 ai_id、device_id、software_id 和权限集合,客户端不能自行注册。

1. 准备仅当前用户可读的请求头文件

memory-api.authorization · mode 0600
Authorization: Bearer <owner-issued-token>

不要把真实 Token 写入命令历史、源码、日志、URL、网页本地存储或版本库。

2. 核对服务端绑定身份

shell
curl --fail-with-body \
  --header @/absolute/private/memory-api.authorization \
  --header 'Accept: application/json' \
  https://jy.fox7.cc/api/v1/status

客户端启动时应核对响应中的 client_subject_id、ai_id、device_id 和 software_id;任何一项不符都应停止写入。

3. 写入第一条显式记忆

event.json
{
  "type": "memory",
  "event_id": "0198f9dd-3ad0-7b1e-9fd1-4167ed26219e",
  "project_id": "personal-assistant",
  "session_id": "telegram-12345-67890",
  "topic_id": "preferences",
  "content": "用户偏好简洁、直接的进度汇报。",
  "occurred_at": "2026-09-01T18:30:00+08:00",
  "memory_kind": "preference"
}
shell
curl --fail-with-body \
  --header @/absolute/private/memory-api.authorization \
  --header 'Content-Type: application/json' \
  --data-binary @event.json \
  https://jy.fox7.cc/api/v1/events

新事件返回 HTTP 202,表示已持久接收但不代表向量物化完成。保存 event_id,再查询事件状态直到 succeeded。

CURRENT CAPABILITIES

当前可用能力与边界

生产已发布授权范围内的大范围检索与确定性整理升级;此前冻结的117条来源已完成受控检查,其中原113条待办产生42条新增物化记忆,其余保留明确的无输出状态。这只覆盖固定清单,不代表全库历史已经整理完。原有身份、凭据、MCP地址和命名空间保持。

先按任务选择范围,再核对保存结果

global 仍受当前权限限制;filtered 用于按 AI、设备、项目或时间缩小范围。auto 达到返回条数即停止,不代表穷尽全库。写入返回 202 仅表示接收,须用原 event_id 查询到 succeeded 并读回。

  • REST / MCP 读写:沿用原认证;OAuth 与 Bearer 的适用范围分别校验,不复制其他客户端凭据。
  • 大范围检索:授权目录分批处理,公网实际场景已验证;容量不足时缩小 AI、设备、项目或时间范围。
  • 确定性记忆整理:持久待办、预算、完整证据及恢复账本已发布;冻结来源计划、完整证据与断点恢复已可使用;历史无输出在续跑时仍须核对当前来源与权限,预算不足不冒充完成。当前持续整理模型/C1和15分钟调度已启用,observe只统计与告警;单个作业成功不等于全部窗口交付或全历史完成。
  • 知识、增量同步与只读视图:三个入口已在本次部署中启用,并完成限定合成项目的真实接口验证。任务经验只读推荐不会执行步骤,也不增加当前任务授权;新经验内容不会因入口启用而自动生成。
  • 实验能力:U03混合检索继续冻结、NO_GO并关闭;source KG独立实验与后端3.11没有因本次Web发布而新增采用;新媒体工具/模型和跨平台质量须有各自实际证据。已部署源码不等于全部实验能力获准采用。

极大查询可能需要较长等待。网关已按批准的65秒上游预算配置,中央60秒与候选上限仍有效;这不保证任意范围都能完成。搜索请同时检查 coverage_incomplete、catalog_coverage 和 scan_exhausted,不要仅凭返回一条记录认定搜遍全部。

当前已有客户端的公网 MCP 验收与 ChatGPT 云端 OAuth/dot 的实际调用分别记录。MCP 不自动获得每轮对话、平台隐藏记忆或全部历史;自动采集只限平台开放且已授权的来源。

已发布的 C1 派生记录继续要求读者同时具备输出和完整来源的当前读权;限定来源的正式账本衔接已验证,已有成功结果按回执和当前读回恢复,不重复写入。关闭新发布不会撤掉这层保护。专用TEST C真实客户端已通过限定的身份、允许读取和来源交集拒绝验收;它不代表所有客户端兼容,语义模型不能替代授权证明。旧 Bridge /search 与 /v1/search 保守不可用,请使用既有 v2 或 MCP 入口。原始记忆与历史回执保留,未执行全量历史回补或会话删除。

更多参数与错误定义见顶部 OpenAPI 参考(/docs/reference);检索、详情、写入与授权步骤见下方对应章节。实验评测与历史失败保留在仓库版本记录,不作为当前可用能力。

日常使用:检索、保存、共享

检索与来源。请客户端先检索与当前项目/会话相关的记忆,读取详情并核对 source、时间、版本及归属。检索命中不等于取得正文;详情权限再次校验,不能拿其他 namespace 的 ID 越权。

明确保存。保存用户批准的偏好、事实、决定、任务或结果,包含真实项目、会话和发生时间;只写当前凭据主体。一个无秘密示例:“验收记录:测试项目采用逐事件幂等写入。”

MCP event_store 参数 · 合成测试,执行前授权
{
  "type": "memory",
  "event_id": "acceptance-independent-client-001",
  "project_id": "acceptance-project",
  "session_id": "acceptance-session",
  "content": "验收记录:测试项目采用逐事件幂等写入。",
  "occurred_at": "2026-10-06T10:00:00Z",
  "memory_kind": "decision"
}

上述 event_id 仅演示。每次新的验收生成独立稳定 ID,重试沿用同一 ID 和原 payload。不要把密钥、密码、Token、Cookie、隐藏推理或平台内部笔记放入记忆。

确认保存完成。event_status({"event_id":"acceptance-independent-client-001"}) 确认终态;接受/202 后继续等待,不把 pending 当成功。succeeded 后用回执返回的引用读取正文;同 ID 不同内容出现 409 时核对原 payload,不靠换 ID 重复导入。

共享与调整。只选择必要读取来源/接收方;namespace 级共享的影响包括其已有记录。先安全登录 Web,再打开 外部客户端授权管理,每页最多 12 条。收窄范围先撤销旧 grant,再重新连接选择;没有原位共享编辑按钮。撤销只停止该授权访问/刷新,不删除已保存记忆,也不撤销其他 grant。

其他客户端。已有 Codex/Hermes/REST/Bearer 流程保持;scope 与机器身份由服务器登记,使用自己的私有凭据文件。Codex 会话同步由官方 Adapter 独立执行,MCP 召回不等于本地原始会话已清理。本次不执行历史导入、Retention 或删除。

手机与浏览器直接保存

需要对应版本与专属保存授权

本节介绍启用后的操作,不替代本站实际部署与授权状态。管理员未配置专属 Web 保存身份时入口会明确暂停,原离线 JSONL 功能仍保留;不要粘贴其他客户端 Token 解决。

  1. 1

    安全登录后台,打开记忆中心的“保存记忆”,输入你明确选择的可见原文、项目及发生时间。

  2. 2

    核对冻结预览,确认正文、项目、时间及秘密清理,再点击保存。修改这些信息需要重新预览,不能借旧事件覆盖。

  3. 3

    “已接收”仍是待确认。取得当前保存回执并核对完整正文、来源与版本后,页面才显示“保存已确认”。

  4. 4

    断网或响应不确定时保留本机待办,使用“核对状态”或“原样重试”。不要为同一条内容猜测失败而重新生成事件。

情况处理方式
容量限制每条正文最多256KiB UTF-8,不截断;本机待确认最多8条/2MiB,满额会拒绝新项而非删掉旧项。
退出或授权变化暂停发送并保留原事件。相同账号安全重新登录且授权身份/范围不变后可继续;不能由新身份代发。
已接收但未完成正文继续留在本机待办;只有这条当前精确读回成功才移除本条本机正文。
没有写入授权请管理员核对专属 Web 客户端及最小权限;不会借用所有者、Codex或其他设备凭据自动降级。

本机待办包含你主动保存的原文,请仅在私人设备使用。没有后台自动保存、隐藏对话采集或手机永久后台同步;离线文件用于保全,不代表允许换身份导入。

实时写入

POST/api/v1/eventsmemory:write

type=memory 写显式长期记忆,需要 memory_kind;type=turn 写一轮对话,需要 role。二者不能混用字段。

对话轮次
{
  "type": "turn",
  "event_id": "0198f9de-19c2-75e0-848d-5ec79e410d20",
  "project_id": "memory-system",
  "session_id": "agent-session-20260901-001",
  "topic_id": "api-development",
  "content": "请设计公网记忆 API。",
  "occurred_at": "2026-09-01T18:31:00+08:00",
  "role": "user"
}
幂等规则

相同 event_id 与相同正文重放返回 HTTP 200、created=false;相同 ID 改动请求内容返回 HTTP 409。客户端超时后应原样重放,不要生成新 ID。

POST/api/v1/events/statusmemory:read

提交 {"event_id":"…"} 轮询状态。pending、running、retry 不是终态;succeeded、dead、cancelled 是终态。

Catalog 与精确详情

POST/api/v1/catalog/querymemory:read

Catalog 查询当前记忆的元数据,不复制正文。支持精确过滤、时间范围、limit 与 offset;公网固定拒绝 include_history=true。

catalog query
{
  "filters": {"project_id": "memory-system", "status": "active"},
  "unknown_fields": [],
  "include_history": false,
  "limit": 100,
  "offset": 0
}
POST/api/v1/memories/detailmemory:read

将 Catalog 返回的 collection 作为 source_collection,将 drawer_id 作为 logical_drawer_id:

detail request
{
  "source_collection": "mempalace_…_mempalace_drawers",
  "logical_drawer_id": "drawer_…",
  "include_history": false
}

只有经过 Catalog、tombstone 与物理身份验证的当前记忆会返回正文;跨历史、已删除或不存在的内容不会从公共接口返回。

显式记忆关系

POST/api/v1/relations/querymemory:read

从一条精确记忆读取一跳 related、corrects、supersedes 关系。返回关系和另一端的 Catalog 元数据,不返回双方正文,也不会自动创建关系。

relation query
{
  "source_collection": "mempalace_…_mempalace_drawers",
  "logical_drawer_id": "drawer_…",
  "direction": "both",
  "relation_types": ["related", "corrects", "supersedes"],
  "include_history": false,
  "limit": 50
}

outbound、inbound 和 both 均相对本次 anchor。首次请求省略 cursor;下一页必须原样复用服务端 next_cursor 并保持所有筛选不变。公网固定拒绝 include_history=true。

证据整理与可验证任务经验

原Q1冻结合成范围6/8与后继Q2独立合成范围8/8保留原范围。后续REQ289已完成真实1来源、1条记忆物化/读回和受限读取拒绝;REQ290持续observe、模型/C1与15分钟timer已启用。原启用收口的合成1次/278报告tokens、0业务记忆保持原范围;11月2–6日后续自然整理记录3条新增物化,累计候选47不能当作本轮新增。当前状态与原范围记录分别阅读。

新整理协议让模型只选择已验证的完整证据候选,由本地映射回原始片段。不能凭生成文本新增身份、改来源或扩大共享;跨命名空间还需要当前服务器的受控发布证明,最终按输出与全部来源的当前权限交集读取。

一次选择的多个片段会分别交付;预算延后的候选留在原账本,恢复时复用已冻结结果。来源变化、撤销或授权减少后,派生结果不能继续泄漏。模型入口与新增迁移均需管理员显式启用,默认不启用U03或全量历史回补。

经验如何形成

已完成任务和实际结果是两份可追溯来源,先形成候选,再通过受控验证进入可用状态。“助手说完成”、词汇相似或工具覆盖不是结果证明。经验只读推荐不自带执行、删除、部署或权限提升授权。

使用结果绑定具体经验版本、任务和结果;新证据影响结论时建立新修订,不覆盖旧证据。生产经验数量为0时如实显示0,不用示例代替。当前内置固定SQLite回放只证明其隔离场景,其他业务没有可信验证器时仍保持候选。

模型与恢复观测

状态页按实际观察显示调用、Token及未知项;未知用量不会记作0,金额不是推算账单。辅助模型委托不复制私有OAuth给整理器,也不启动带工具或私有上下文的agent。合成样本、隔离恢复子集与生产指标分别标注,未做完整灾备不能承诺RPO/RTO。

原生Windows组件、Linux英文OCR、响应式手机页面分别只覆盖其已验范围,不等于真实四设备同步、Mac或中文模型已全面验收。没有已许可工具/语言数据或权限证明时明确不可用,不自动下载或绕过。

管理员配置、精确来源计划、显式迁移、固定UID模型委托及回滚边界见集中升级操作手册。当前代码、合并、部署和客户端状态以对应版本回执为准。

外部客户端记忆接入

Ten-Years-fox MemPalace 是多个授权 AI、设备和软件使用的中央长期记忆服务。REST 与 MCP 是访问协议;ChatGPT、Codex、Hermes 是客户端平台;具体助手是登记实例,不是产品功能。

可信登记主体(principal)
所有者注册的客户端、AI、设备、软件和 namespace 组合。权限由服务端凭据与注册关系决定,不能由提示词、应用显示名称或请求内容冒充。
授权连接(grant)
一次应用授权及其 scope、读取来源、接收方和期限。同一主体可以有多个连接,但每个连接只能读取自己获准的来源。
显示名与稳定 ID
显示名可以修改;profile.id、client_subject_id、namespace 和记忆归属是稳定身份,不能为了改名称而换掉。
共享
默认私有。自己的 namespace 保持可读;读取其他来源与允许接收方分别由所有者选择。共享以 namespace 为边界,不能宣称逐条记录 ACL 或匿名全局访问。

首次 OAuth 绑定使用预注册的独立空 namespace。不能把已有 Codex/Hermes 历史 namespace 直接改为受限 OAuth namespace。旧数据作为“读取来源”选择;存在历史/待回填记录或无法证明为空时,服务拒绝首次绑定。

现有 REST/Bearer 和已有设备流程保持。当前 OAuth callback 仅支持 ChatGPT 的精确白名单,issuer/resource 固定为本服务;不声称任意软件的 OAuth 或替换任意域名已验收。账号连接也不提供按 dot/GPT 名字隔离调用者的证明。

已部署的 OAuth 协议、通用绑定源码、正式发布、用户安装和真实读写是不同阶段。按本教程安装前,管理员必须确认目标版本已安装通用绑定迁移;仅文档可见或发现接口 200 不能证明该项。

ChatGPT 记忆接入:从零到实际调用

适用于账号/工作区允许自定义 MCP 插件的 ChatGPT 客户端,dot 是实际验收对象。dot 使用账号已安装启用的受支持插件,不等同于普通聊天人设、自定义 GPT 或 Work 任务。本服务不自动替用户登录、同意或导入全部历史。

2026-10-10 运行检查点:元数据兼容修正已部署,一个独立dot连接完成安装授权、实际身份核对、授权LIN7合成记忆读取、自有写入/物化/读回和一次精确幂等重试;独立LIN7也用自身凭据读回dot测试记录,两方向允许共享均已实际通过。独立未允许客户端拒绝、专用撤销与远端日志隐私仍待验。源码文档和公网网页发布分开核验;此检查点不承诺所有用户已接入、每轮自动保存或历史已同步。

入口 https://jy.fox7.cc/mcp。资源与 issuer 精确绑定,OAuth 授权码必须使用 S256 PKCE。公开发现为 /.well-known/oauth-protected-resource/mcp 和 /.well-known/oauth-authorization-server;授权协议是 /oauth/register、/oauth/authorize、/oauth/token、/oauth/revoke。Token 请求使用 form-urlencoded,响应是原生 OAuth JSON,不套 REST envelope。

  1. 管理员准备。确认 HTTPS、健康/就绪、两份发现文档和 MCP 的 401/resource_metadata 正常;通用绑定迁移已由批准的增量发布启用;独立空 namespace 的客户端已预注册。Nginx 必须完成实际日志隐私核验。预期:安全授权页可选到可信主体;没有则先联系管理员,不借用其他设备 Token。
  2. 检查账号权限。打开 ChatGPT Plugins。账号和工作区政策必须允许创建自定义 MCP。当前官方教程不把所有套餐或开发者模式开关写成统一必需条件;缺少创建入口时找管理员核验实际资格,不套用过时设置路径。
  3. 创建连接。点加号,选 Add custom MCP server(中文界面可能为“添加/创建自定义 MCP 服务器”),填写通用名称“Ten-Years-fox Memory”与说明。Connection 选择公开 HTTPS 地址,填完整 https://jy.fox7.cc/mcp,认证选择 OAuth。审核风险提示并选 I understand and want to continue,再选 Create as a plugin。预期:平台发现工具及认证元数据;传输/初始化/注册错误先修复,不反复安装。
  4. 平台发现和注册。由 ChatGPT 查询 discovery 并执行 DCR/S256 PKCE,不由用户手工复制 Token。精确回调以连接管理页面显示为准;本服务已声明 issuer identification,稳定回调为 https://chatgpt.com/connector_platform_oauth_redirect。不使用通配符或自造路径。
  5. 本人安全登录。授权过程中在本服务安全登录页输入所有者账号、密码和必要验证。密码只由本服务器验证,不发送给 ChatGPT,不写到聊天、截图或记忆。预期:进入同意页;登录失败核对账号和限流状态,停止密码循环尝试。
  6. 选择可信身份。在“本次连接使用哪个已登记身份”中选管理员预注册的独立客户端。应用名称只是显示信息,不能换身份。没有可用身份或提示未安装绑定迁移时,新授权不能继续;不要选择现有历史 namespace 绕过门禁。
  7. 选择最小权限。只选必要的 status:read、memory:read、memory:write、mcp:use。默认勾选平台请求的 scope,服务仍校验登记身份的最大权限;只读连接不要授权写入。自己的 namespace 可读。
  8. 选择共享。读取来源和允许接收方默认不选。可以把旧 Codex namespace 选作读取来源,不变更其归属。允许接收方读取本主体 namespace 的已有与后续记录,不只是本次写入的一条;另一个 OAuth 连接也必须选中相应读取来源。再次验证密码后点“授权此连接”,或拒绝。预期:回跳 ChatGPT,scope/来源不能超过实际同意。
  9. 安装并启用。审核平台发现的工具,安装并启用插件,开始新会话。普通工具选用可按官方流程输入 @ 选择插件;dot 的验收必须由 dot 真正发现并调用,不能用另一聊天或 Work 任务代替。工具不可见时核对启用、重新连接、Refresh 和工作区政策。
  10. 确认身份。调用 get_profile({}) 与 status({}),核对稳定 profile.id、client_subject_id、AI、设备、软件和 namespace。当前 status 不提供 scope 字段;以授权结果、工具 securitySchemes 和所有者授权列表核验 scope。身份不符立即停止写入。
  11. 第一次读取。用 search 检索管理员准备的无秘密 acceptance 记录。把实际命中的 collection 传为详情的 source_collection,drawer_id 传为 logical_drawer_id;不要在搜索结果中猜造写入回执字段。include_history 可选,省略默认false;平台未暴露时只传两个必填参数。预期:读到当前、非历史/非墓碑的批准内容及来源。
  12. 第一次写入和重试。按下方“日常使用”构造一条明确标记、无秘密的记忆。第一次选定 event_id 后保存原 payload;同一记录重试不得换 ID 或修改正文。预期:durable accepted,不是完成。
  13. 确认物化并读回。用 event_status 查询同一event_id,直到succeeded。这里的回执字段是 source_collection/memory_id,分别映射到详情的 source_collection/logical_drawer_id,不同于搜索的 collection/drawer_id。读回合成标记后按完整原payload重试,created=false且事件/物化/generation不变;pending/retry/dead不是保存成功。
  14. 共享和撤销验收。允许的独立测试客户端可读,未允许客户端不见/被拒绝;在所有者 授权管理撤销专用测试 grant,确认访问/刷新失效且其他连接仍正常。不撤销正式机器人或删除记忆。

只授权 status:read、memory:read、memory:write、mcp:use。OAuth Token 仅用于 MCP,不用于 REST 或 Web Cookie。access 最长一小时,refresh 轮换,授权家族最长三十天。临时授权事务所有状态合计最多 128 条,过期后回收;容量满时拒绝新事务,合法 OAuth 回调携带错误参数。请稍后重试,不重复建立无限事务。

按需检索和写入用户授权的可见内容、文档或摘要。MCP 不保证每轮自动执行或永久后台同步;未读取的历史不能说已同步。不访问隐藏推理、内部指令或 dot 私有笔记。密钥不写入记忆;本次不开放永久删除。

安装条件及支持范围以 OpenAI 认证契约、安装说明和 dot 官方说明为准。

MCP 接入

POST/mcpmcp:use + 工具权限

MCP 使用 JSON-RPC 2.0。成功与协议错误保持原生 JSON-RPC 格式;鉴权、Origin、限流和上游故障仍使用 REST ErrorEnvelope。

initialize
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {"name": "my-agent", "version": "1.0.0"}
  }
}

初始化响应后发送 notifications/initialized,并在后续请求携带协商后的 MCP-Protocol-Version。可用工具会根据 Token 的 REST scope 动态过滤。

statusstatus:read
event_storememory:write
event_statusmemory:read
searchmemory:read
catalog_querymemory:read
memory_detailmemory:read
relatedmemory:read

MCP 是无状态 HTTP POST profile,不提供 SSE、WebSocket 或 JSON-RPC batch。既有 Bearer 与已部署的 ChatGPT OAuth 并存;OAuth Token 只用于 MCP,批量导入继续使用 REST。工具存在不意味着每轮自动执行或后台同步。

批量迁移与增量同步

不要上传数据库文件,也不要循环调用实时事件伪造迁移。将源数据规范化为可重放 JSON manifest,按下列协议提交:

  1. 01
    注册稳定来源POST /api/v1/ingest/sources/register

    source_key 长期稳定;服务端绑定 AI、设备和软件身份。

  2. 02
    开始任务POST /api/v1/ingest/jobs/begin

    首次使用 snapshot,后续使用 incremental 和连续 cursor。

  3. 03
    分页上传 manifestPOST /api/v1/ingest/jobs/accept

    每批 1–500 条、整个 JSON 不超过 8 MiB;原生记录 ID 与 revision 必须稳定。

  4. 04
    验证快照POST /api/v1/ingest/snapshots/finalize

    以服务器计算的条数、页数和 root SHA-256 完成证明。

  5. 05
    轮询物化POST /api/v1/ingest/jobs/status

    直到 state=completed 且 accepted、materialized 与 item 计数相等。

manifest record
{
  "native_record_id": "conversation-15-turn-8",
  "revision": "rev-3",
  "previous_revision": "rev-2",
  "kind": "turn",
  "occurred_at": 1788258600.125,
  "operation": "upsert",
  "content": "原始会话正文",
  "metadata": {
    "project_id": "memory-system",
    "session_id": "conversation-15",
    "topic_id": "api-development",
    "role": "assistant"
  }
}
恢复原则

重试必须复用同一个 source、job、native revision 与 page。每页 cursor 连续,快照 finalize 前不会把不完整数据伪装成成功。

接入故障:检查与恢复

没有创建入口或开发者选项
核对当前账号/工作区政策与官方 Plugins 流程;联系管理员,不编造套餐资格或改用另一个平台冒充验收。
工作区强制验证邮件域或多个 dot 独立身份
本版没有 OIDC 邮件/UserInfo 体系,也不能按 dot/GPT 显示名称鉴别调用者。核验管理员政策和实际连接 Token;不伪造 email_verified、OIDC scope 或独立调用者保证。
401、连接过期或断连
先检查 HTTPS/discovery 与凭据生命周期。OAuth 按平台提示重新授权;Bearer 联系管理员处理该客户端凭据,不把其他设备 Token 粘贴过来。
callback/resource/PKCE 不匹配
对照连接管理页精确回调、discovery issuer/resource 和 S256。保留原 redirect,不启用通配符,不去掉资源绑定;将无秘密错误码与时间交管理员。
身份为空、权限不足或 403
确认可信已登记客户端 active/enabled、独立空 namespace 与 scope 上限。不能绑定旧历史 namespace;也不能通过请求参数扩大 scope 或切换 AI。
工具不可见
核对插件安装/启用、实际运行环境、授权 scope;Refresh 元数据后开始新会话。工具被 scope 过滤是权限结果,不应匿名开放所有工具。
工具返回 -32602 / Invalid params
先区分业务参数与 MCP 包装层,管理员核对实际部署及安全结构证据,不凭该错误要求修改 URL、复制 Token 或重授权。当前 params._meta 接受有界 JSON 扩展,未知名字不是身份或权限来源;无参数工具仍需对象 arguments: {},null、非法值和超限仍拒绝。
大范围检索返回 search_capacity_exceeded / -32010
这是有效查询达到同步资源限制。请减少项目、设备、会话或时间范围;相同请求立即重试不会解除限制。目录分页成功、auto成功和旧Bearer的global成功均不能代替限权OAuth的global检索验收。
检索命中却没有正文、结果为空
搜索的collection/drawer_id与写入回执的source_collection/memory_id分别映射到详情的source_collection/logical_drawer_id;不要混用字段名。可选include_history省略默认false,不能为平台未暴露参数而绕过详情。核对实际项目、来源共享和当前grant,不能凭命中元数据绕过权限。
保存 pending/retry/dead
保留 event_id 与 payload,用 event_status 核对。pending 不重复生成任务;dead/cancelled 向管理员升级,包含请求 ID/状态,不包含正文或 Token。
共享不可见或范围未收紧
核对来源与接收方双边选择、scope、grant 状态及旧 grant 是否撤销。旧单主体部署曾按并集处理,需核对是否已发布逐 grant 版本;少选新来源不能替代撤销旧授权。
日志隐私或身份校验无法证明
停止新的验收/签发,联系管理员完成生效配置和真实日志 marker 证明。公网 200、配置文件存在、截图或源码通过都不能替代此门禁。

整合版接入与阅读指南

持续整理实际运行与待执行发布

REQ291的63cc工件当前仍为现役;15分钟持久timer运行,原账号11月4日发生1次真实刷新且当前绑定有效。11月2–6日共63个来源工作行:57无输出、2完成、4候选待交付;当前5个候选重试的私有原因仍未直接读取,117旧权限延后不回补。新PR235已合并并获配套发布批准,但当前进程NoNewPrivileges=1,管理员实际执行前不能称新页面已上线。会话阅读只涵盖已物化、当前授权记忆;四设备全历史和物理空间释放并未因此证实。

2026年11月1日的历史组件范围:GH153仅执行15字符/247报告tokens、0中央写入,随后关闭的记录保持原时点;它已由REQ289真实闭环和REQ290持续启用衔接,不能作为当前停用指令。现役参数见持续运行指南与实际生产回执。原事件、unknown、账本、游标、权限交集与已消耗名额保留,不重复部署或全量回补。

2026年10月30日的历史限定运行(当前状态见上方锚点):当时仅新增2条明确标记的TEST记忆,均取得物化回执、当前正文读回和幂等证明;同源知识观察调用2次,只有1条观察效果。知识实体读回1条,事实、整理视图和经验计划当前返回0条;空结果不代表全历史已整理。增量快照包含2条TEST,使用实际changes_cursor追齐后caught_up与cache_usable为true。

2026年10月30日专用TEST C连接完成真实身份核对、授权TEST读取,以及来源受限派生TEST和LIN7源TEST的隐藏/拒绝;没有修改正式MCP授权。该证明只覆盖当次范围,GH153没有重新验收其他客户端,不能替代其他设备、真实主机重启或全部客户端的验收。最终范围与证据以2026年10月30日限定回执为准。

按任务使用

任务入口与预期结果失败处理
项目状态、偏好与阶段总结控制台→记忆整理→项目知识与任务经验,选择内容、填写已登记项目ID,每页最多12条;展开来源与版本。空结果不证明没有历史;权限、来源或水位变化要求回到第一页重读。
事实时间线与实体别名输入有权读取的namespace与UTC业务时间;返回有来源的陈述、冲突和观察水位。同名不自动合并。首次采集前的知识未知;历史时间不会恢复已撤销权限或已失效来源。
任务经验所有者只读查看候选、验证与生命周期。推荐仅是当前任务的参考,不能执行正文指令。F1只读ledger未配置或不可证明时明确不可用,不用示例代替。
程序接入仓库提供Python/TypeScript薄SDK与stdio桥;保留现有REST静态Bearer、OAuth仅MCP边界。401/403立即停止,不借其他身份Token;取消不撤销已接收事件。
元数据缓存能力协商后先sync_snapshot初始化;分页使用next_cursor,快照完成后使用changes_cursor调用sync_changes,确认caught_up与cache_usable均为true才使用;默认不缓存正文。409 sync_resync_required或MCP-32071要求重建派生cache,原owner未确认outbox必须保留。
文件与媒体导入器仅处理明确选中的本机文件,保留PDF页码、OCR、音视频时间段及工具/model hash;本次未启用生产新媒体工具或模型。manifest已接收不等于转换或物化成功;格式、预算、工具变化明确失败,可按原checkpoint恢复。

第一次程序读写

SDK入口地址使用已验证origin,MCP工具最终访问其/mcp。Token只在本地安全文件/平台授权流程处理,不复制别的客户端凭据,不放浏览器localStorage、URL或聊天。稳定event_id与原payload先持久保存;accepted后用event_status/confirm_saved确认物化与精确正文读回。

python -m connectors.ten_years_fox_memory.stdio_bridge \
  --endpoint https://your-verified-origin \
  --token-file /absolute/private/token

stdio初始化、通知、取消与有界并发复用真实MCP;不是每轮自动保存、全历史导入或永久后台同步。ChatGPT仍使用平台安全OAuth安装与同意流程,普通本地SDK通过不能替代实际dot调用验收。

管理员启用与恢复

新部署的知识、增量同步和只读视图仍默认关闭;本站已在私有备份、显式加法迁移、原身份核对及本轮限定验收后启用三个入口,普通启动不会自动执行DDL。6个既有Hermes客户端复用原队列并已核对原owner;accepted保留原payload,精确物化读回才ack,旧无owner证据和legacy未验证记录不自动认领。

知识历史首次结构化观察前可能返回knowledge_history_unknown,表示尚无可证明的观察水位,不能当作历史已知或成功空列表。应按批准范围登记精确来源观察并核对回执,不为初始化扫描或导入全部历史。此前该限定运行只建立了1条合成实体观察,本次未重新统计知识覆盖。

LIN7增量此前已通过相应物化与断点验证;原2份missing_pending来源、共6,222,834字节仍保留,未重置游标或冒充恢复。Bridge、Edge、Broker、6个原Hermes网关及原定时器的旧运行证据保留其时点;GH153没有重新验收其他设备,不能据此承诺所有历史、所有设备或重启场景均已通过。

控制台“基础设施→处理与恢复状态”展示队列、最老积压、实际完成耗时和索引水位。未知模型费用、Token和未演练的RPO/RTO显示未提供。备份恢复到独立quarantine目标,旧备份不能证明之后没有撤权或删除,未经当前可信控制面复核不能激活。

完整源码教程、迁移和恢复边界见仓库当前文档。部署、真实客户端和历史覆盖分别记录;原始记忆、事件、旧账本和权限边界保留。C1新发布保持关闭,已有派生记录仍执行来源交集与当前有效性检查;没有全量回补、Retention或删除。MCP工具仍不保证每轮自动保存或平台全部历史同步。

错误与重试

HTTP 状态码
HTTP含义客户端动作
200 / 202成功 / 持久接收202 继续轮询状态
400 / 415格式或媒体类型错误修正请求,不盲重试
401 / 403凭据或权限错误停止并检查授权
409幂等或状态冲突核对原 ID、revision、cursor
413正文过大拆分迁移批次
429请求过快遵守 Retry-After 并退避
502 / 503 / 504上游或服务暂不可用带抖动的指数退避

只重试网络异常、HTTP 429 与明确 retryable=true 的 5xx。事件写入必须复用 event_id;迁移必须复用 source、job、revision 和 page。

安全模型

  • 一个 Token 只映射一个固定客户端身份与精确 scope。
  • 记忆业务访问凭据只放在 HTTPS Authorization 请求头,不进入业务正文、URL、日志或记忆。OAuth 授权码换取/refresh刷新请求按协议使用 HTTPS 表单正文与原生令牌响应,不把换取凭据改放到 URL、记忆或日志。
  • 记忆业务 REST/MCP 不开放 owner 管理、凭据签发、永久删除或任意 namespace 覆盖;原生所有者管理和 OAuth 令牌协议有各自的认证边界。
  • 带浏览器 Origin 的业务请求会被拒绝;服务不返回 CORS 授权头。
  • 历史与 tombstone 正文不通过公共详情接口开放。
  • 客户端应记录响应 X-Request-ID,但不得记录 Authorization。
status:read 服务状态 memory:read 查询与召回 memory:write 实时写入 ingest:write 批量迁移 mcp:use MCP 协议入口

客户端上线检查表

  1. 1

    从安全配置加载 Token,确认不会输出到日志、命令行或异常报告。

  2. 2

    调用 /api/v1/status,核对服务端绑定的 AI、设备与软件身份。

  3. 3

    持久保存 event ID,超时与重连时对同一事件原样重放。

  4. 4

    把 HTTP 状态、error.code、retryable 与 X-Request-ID 纳入错误处理。

  5. 5

    对响应使用前向兼容解析:读取需要字段,忽略未知新增字段。

  6. 6

    历史数据走 ingest 协议;不要把迁移记录伪装成实时对话。

通用约定

请求

  • 记忆业务 REST 与 MCP 请求需各自有效的 Authorization: Bearer …。公开站点、健康/发现无需该凭据;OAuth 发现、DCR、授权与换取令牌按各自协议认证,不能套用静态 Bearer 规则。
  • 记忆业务 POST 正文使用 Content-Type: application/json; charset=utf-8;GET 不带正文。OAuth 换取/刷新使用 HTTPS form-urlencoded,响应保留原生 OAuth JSON。
  • 可发送 X-Request-ID,但以响应实际返回的 ID 为准。
  • 记忆业务接口不接受 query string、JSON 重复字段、浏览器 Origin 或 URL 中的 Token;交互式 OAuth 自有回调、同源和安全表单规则。

REST 成功响应

application/json
{
  "ok": true,
  "api_version": "v1",
  "request_id": "0198f9d7-…",
  "data": {}
}

REST 错误响应

application/json
{
  "ok": false,
  "api_version": "v1",
  "request_id": "0198f9d7-…",
  "error": {
    "code": "invalid_request",
    "message": "The request was rejected.",
    "retryable": false,
    "details": {}
  }
}

字段边界

Controlled ID

ai_id、设备、软件、项目、主题与记忆类型使用小写 kebab-case,最大 64 字符。

Event ID

最大 192 字符;推荐 UUIDv7。同一逻辑事件的所有重试必须复用原 ID。

时间

实时事件使用带时区 RFC 3339;迁移记录使用非负 Unix 秒,可带小数。

内容

非空 UTF-8 字符串,不能只有空白,最多 262,144 字符。

需要精确字段定义?

继续阅读完整 OpenAPI 参考。

查看每个请求、Schema、响应头、状态码与错误结构。

打开 API Reference