Constancy MCP
by echo983
README.md
# Constancy MCP (人基常热认知记忆外脑)
> **让大模型真正懂得“主动记、自动忘、懂分寸、读空气”的长期记忆系统。**
> 基于控制论、心理物理学与多尺度信号处理统一模型:**人基常热动力学(Anthropocentric Chrono-Thermal Dynamics, ACTD)**。
[](LICENSE)
[](https://modelcontextprotocol.io/)
[](docs/ACTD_SPEC.md)
---
## 💡 为什么需要 Constancy MCP?
当前所有主流大模型的长期记忆与 RAG 系统(ChatGPT Memory、Mem0、传统向量库),都存在致命的**“常度错配(Constancy Mismatch)”与“尺度盲(Scale-Blindness)”**:
* ❌ **无差别吞噬**:把用户的口嗨、吐槽、临时预设当成“永久真理”保存,信噪比极低;
* ❌ **永生不死与幽灵诈尸**:默认所有数据的常度是 $C_H = \infty$。把半年前废弃的旧方案在今天当成圣旨翻出来;
* ❌ **单一标量热度的失真**:一个简单的计数器无法区分“刚才疯狂点了 10 次”和“过去两年里细水长流被验证了 10 次”;
* ❌ **不会“读空气”**:缺乏时间锚点与时效健康度。比如把上周的“气象局说明天下雨”当成今天的事实,阴阳怪气地提醒用户“今天出门带伞”,场面极度尴尬。
**真实的人脑智能,核心不是“死记硬背”,而是“会遗忘(Adaptive Forgetting)”与“多尺度新陈代谢”。**
---
## 🧬 理论双翼:人基常热动力学 (ACTD)
本项目将**《人基常度理论》($C_H$)**与**《多尺度对数意图热度谱》($\mathbf{h}$)**统一融合,构成认知二象性模型:
$$\mathcal{S} = \big\langle C_H^{\text{prior}},\; \mathbf{h}(t) \big\rangle$$
* **骨架(本性先验 $C_H$)**:基于智人动作电位 $t_0 = 1\text{ ms}$ 与最小可觉差 $\delta_{\text{JND}}$ 界定的固有预期寿命;
* **血肉(动态能谱 $\mathbf{h} \in \mathbb{R}^7$)**:基于人类意图事件驱动的多尺度连续懒衰减能量谱(覆盖 1 分钟到 2 年)。
### 坐标对齐公理:
$$C_H = s + \log_{10}(60,000) \approx \mathbf{s + 4.78}$$
| 通道 $k$ | 尺度 $s_k$ | 半衰期 | 对应常度 $C_H$ | 智人认知与交互层级 | 典型示例 |
| :---: | :---: | :---: | :---: | :---: | :--- |
| **0** | $0$ | 1 分钟 | $\approx 4.78$ | **微观注意力** | 当前打开、光标停留 |
| **1** | $1$ | 10 分钟 | $\approx 5.78$ | **单次会话** | 一次连续调试或编码 |
| **2** | $2$ | 100 分钟 | $\approx 6.78$ | **半日攻坚** | 半天工作单元 |
| **3** | $3$ | 16.7 小时 | $\approx 7.78$ | **生理昼夜** | 当日日记、时效预报(如天气预报 $C_H \approx 7.8$) |
| **4** | $4$ | 1 周 | $\approx 8.78$ | **冲刺周期** | 本周主线任务、临时点子检验期 |
| **5** | $5$ | 2.3 个月 | $\approx 9.78$ | **演进阶段** | 架构选型、接口标准稳定期 |
| **6** | $6$ | 2 年 | $\approx 10.78$ | **常青底噪** | 核心实体百科、硬件物理参数 |
> 💡 **标尺映射说明**:7 维谱系最大追踪通道 $s=6$ 对应半衰期约 2 年 ($C_H \approx 10.78$),作为日常动力学的最长意图载波。对于长期架构规范或硬件基石实体 ($C_H \ge 11.0$,如 10 年期实体 $C_H = 11.5$),其热度载波锚定在通道 6,其有效时效衰减 $\tau = 10^{C_H}$ 严格遵循物理基石先验。
> 完整形式化推导请参阅 [docs/ACTD_SPEC.md](docs/ACTD_SPEC.md) 与 [docs/THEORY.md](docs/THEORY.md)。
---
## ⚙️ 核心机制:频段共振与决策三态机
通过常度频段共振提取有效热度 $H_{\text{eff}}$,计算命题的时效健康度 $V$:
$$V(t) = \exp\left( - \frac{\text{ms}(t_{\text{now}} - t_{\text{last\_strong}})}{10^{C_H^{\text{dynamic}}}} \cdot \frac{1}{1 + \ln(1 + H_{\text{eff}})} \right)$$
* **核心防自热公理(被动检索 $\neq$ 现实确证)**:AI 发起 `search_memory` 仅作为弱信号探针,仅激发短暂工作记忆 ($s=0$),绝不泄漏至长波通道,严禁凭空拉高 $C_H$,从数学上根除“频繁被搜导致陈旧记忆永不衰减”的幽灵诈尸后门。
大模型在检索记忆时,不再是冷冰冰地提取旧文本,而是获得清晰的**行动决策指南**:
```mermaid
graph TD
Search([检索命题]) --> Compute[共振计算时效健康度 V]
Compute -->|V ≥ 0.7| Green["🟢 确信有效 (Fresh)<br>直接作为坚固先验使用,免打扰,干脆利索"]
Compute -->|0.2 ≤ V < 0.7| Yellow["🟡 临界漂移 (Drifting)<br>禁止武断下定论,必须高情商向用户核实现状"]
Compute -->|V < 0.2| Gray["⚪ 静默沉淀 (Dormant)<br>自动软遗忘,绝不诈尸污染上下文"]
```
### 高情商沟通实测对比:
* **传统 RAG**:“*你半年前不是说讨厌前端吗?你今天怎么又写前端了?*”(机械、杠精、翻旧账)
* **Constancy MCP 引导的大模型**:“*我注意到半年前记录过您倾向于纯终端输出;考虑到该模块已跨越常规迭代周期,请问目前是否依然沿用此交互规范?*”(审慎、得体、会读空气)
---
## 🛠️ MCP 工具接口规范 (Tools)
通过标准 Model Context Protocol 提供给 Claude / Cursor 等 AI Agent:
1. `get_agent_init_info(role?, verbosity?)`
* **【🧭 Agent 启航与工作法手册】**:获取服务端版本、架构哲学、角色职责矩阵(前线业务 vs. 专职医生)与高密度操作法则。支持 `role: "chat" | "doctor" | "all"` 与 `verbosity: "compact" | "detailed"`。同时注册为 MCP Native Prompt (`constancy_agent_init`)。
2. `log_memory(content, c_h?, type?, entities?, tags?, source?)`
* 主动打点记事。必须显式定性认知来源(`user_stated` / `model_suggested` / `model_inferred` / `external`),内置硬门禁:严禁模型越权替用户设立待办或决策。自动维护 7 维时间能量谱与衰减周期。
3. `search_memory(query?, limit?, type?, entity?, min_validity?, include_retired?, image_url?, image_base64?, date_from?, date_to?, near?)`
* 多模态语义检索 + ACTD 连续懒衰减时效仲裁 + Qdrant 原生时空结构化过滤。基于 `voyage-multimodal-3.5` 统一度量衡,支持纯文本、以图搜图、图文联合及纯时间/地理范围过滤。内置图片与关联便签动态去重,遇到存疑记忆自动前置 `【⚠️ 事实存疑待核】` 警示横幅。
4. `get_daily_timeline(date, include_retired?)`
* 按时间顺序提取某一天全部碎片与动力学热度指标 ($C_H$、健康度 $V$、状态标签),供大模型生成每日研发日记(DevLog)与夜间蒸馏。
5. `confirm_memory(id, note?, c_h?, revive?)`
* **🟡 状态闭环工具**:当用户核实某条临界记忆依然有效时调用,强信号刷新验证时间戳并注入热度,使记忆满血重归 🟢 确信有效。若记忆已废弃,可传入 `revive: true` 撤销废弃复活。
6. `retire_memory(id, reason)`
* **抗熵归档工具**:显式设置 `retired: true`,保留原业务分类 `type`,将已过时或已被推翻的记忆标记失效沉淀 ($V \to 0$),杜绝死灰复燃。
7. `update_memory(id, content, reason?)`
* **【⚡ 事实更迭/原子世代换代】**:当用户当面明确更正事实时调用。安全退役旧版本(软归档保留不可变审计),以修正后的新内容生成新世代记忆并即时重算 1024 维向量嵌入,平滑继承前身谱系能量与 $C_H$。确保后续检索 100% 准确命中新事实,零模型歧义与零递归开销。
8. `upsert_entity(name, description, aliases?, relations?)`
* 维护跨越周期的高阶常青实体百科清单 ($C_H \ge 11.0$)。
9. `save_note(content, title?, base64?, mime_type?, c_h?, tags?)`
* **极简记事本/客观存根**:专为“书记官记录”(用户交代“帮我记着点……”)与“LLM 工具性存根”(URI、代码片段、数据指纹)设计,原汁原味保存(上限 10KB),绝不作有损改写。支持可选的独立 BASE64 槽(上限 10KB,若为图片则自动送入 Voyage-Multimodal-3.5 进行图文混合特征对齐,自动计算服务端 SHA-256 校验和),默认常度 8.8(配置/速查类自动为 11.0)。
10. `get_note(id)`
* **按需载荷与审计追溯**:根据便签 ID 精确取回完整原始内容、Base64 载荷、SHA-256 校验和及历史修改审计链 (`revisions`)。
11. `list_notes(tag?, limit?, include_retired?)`
* **确定性标签枚举**:基于 Qdrant scroll 物理枚举便签与客观存根(非向量相似度检索,杜绝阈值截断漏选)。适用于“我有哪些待办”、“列出所有配置存根”等枚举场景。
12. `update_note(id, content?, mode?, title?, tags?, base64?, mime_type?, c_h?)`
* **版本可追溯编辑**:修改便签内容(支持覆盖与追加模式)、分类标签或常度。修改时自动归档历史版本快照至 `revisions` 审计链(最多保留 5 版);内容、标题或图片改动时自动触发 Voyage-Multimodal-3.5 重算语义向量。
13. `get_blob_url(id)`
* **Capability 下载链接生成**:为便签中存储的二进制数据生成 5 分钟带签名下载链接。供客户端或 Claude 代码沙箱通过 `curl` 直接下载,完全避免大段 Base64 经过 LLM 对话上下文消耗 Token 或产生截断转义损耗。
14. `fetch_image_vision(id, variant?, include_metadata?)`
* **【👁️ 视觉直读】**:将图库中的指定图片以图像形式直接载入模型视觉通道,支持 `ai512`(极速省 Token 粗筛)、`ai768`(通用推荐)、`ai1024`(密集文本与复杂图表),无需沙箱下载。
15. `create_upload_url(title?, content?, mime_type?, tags?, c_h?)`
* **Capability 直传链接生成**:预分配便签 ID 并生成 5 分钟带签名直接上传链接。允许客户端或 Claude 沙箱通过 `curl -X PUT` 直接将二进制流存入,完全不经过 LLM 对话上下文传输 Base64。
16. `request_image_upload(filename?, captured_at?, c_h?, tags?)`
* **图片上传流水线(阶段一)**:预分配全局唯一图片 ID,生成直传至 Cloudflare Images 的带签名上传链接与一键直传 curl 命令,实现大文件零 Token 消耗入库。
17. `commit_image_record(image_id, description, c_h?, tags?, captured_at?, location?, exif?)`
* **图片入库与多模态索引(阶段二)**:在直传完成后调用,由大模型深度观察图像细节生成高信噪比描述,注入 EXIF 拍摄时间与 GPS 经纬度,自动调用 Voyage-Multimodal-3.5 计算视觉向量并建立 Qdrant 索引与关联便签。
18. `annotate_memory(id, kind, text, source?, ref_id?)`
* **非破坏性勘误与附注**:对既有记忆进行事实更正(`correction`)、存疑标记(`dispute`)或补充上下文(`context`)。原文与时空向量一字不动,保证因果可证伪性;后续检索自动挂载更正警示牌并置展示,彻底杜绝历史被涂抹带来的认知失真。
19. `submit_concern(memory_id, reason, evidence, severity?, interaction_mode?)`
* **门诊异常主诉(日常 LLM 义务工具)**:当对话中发现旧记忆与现实明显冲突、过期或失真时,日常 LLM 有义务调用此工具提交病症顾虑并附带用户原话证据。支持静默 (`silent`)、顺带告知 (`informed_user`)、确认后再报 (`user_confirmed`) 三档姿态。
20. `get_maintenance_cases(limit?)`
* **🩺 巡诊分诊案卷获取(医生专用)**:供专职巡诊医生(Scheduled Task Claude)每小时整点唤醒调用。私域分诊台自动完成 1h/6h/24h 窗口计算与案卷聚合,无任务时秒级退出,零无效 Token 消耗。**严禁日常对话模型调用**。
21. `resolve_maintenance_case(case_id, memory_id, verdict, treatment?, updated_content?, doctor_notes?)`
* **🩺 临床处方与世代更迭(医生专用)**:医生完成研判后下达处方,支持维持(`KEEP`)、世代更新(`UPDATE`,旧记忆退休并指向新纪元,新记忆入库并继承谱系)、失效归档(`EXPIRE`)、同构精炼归并(`MERGE`)、留观跟踪(`DEFERRED`)或转送用户会诊(`ESCALATED_TO_USER`)。**严禁日常对话模型调用**。
22. `inspect_memory(id, max_depth?)`
* **【🔬 认知基因透视/因果验血】**:按 ID 精确获取记忆底层元数据(7维时间谱、健康度 V、revisions 与 annotations),双向递归追溯 `predecessor` 前身链与 `superseded_by` 后继链,完整呈现世代全景因果拓扑图。纯只读诊断,零热力学扰动。
23. `post_proactive_agenda(title, content, urgent?, dedup_key?, schedule_after?)`
* **【📥 全角色通用 - 主动通信待议投递】**:向待议箱提交一条待沟通事项。供外部定时巡检(如 Fastmail 邮件维护)、日常前线会话记录未来待办、或巡诊医生跨会话投递。支持设置紧急程度 (`urgent`)、预约延迟唤醒 (`schedule_after`) 与业务去重键 (`dedup_key`,相同 key 自动合并更新防刷)。详见 [docs/PROACTIVE_AGENDA.md](docs/PROACTIVE_AGENDA.md)。
24. `check_proactive_agenda(limit?)`
* **【⏰ 客户端定时任务专享 - 普通日常会话请勿随意轮询】**:专供后台每小时定时任务(Scheduled Tasks / Cron)唤醒时轮询待议池。拉取当前有效且待沟通的事项列表(紧急优先)。若 `has_agenda` 为 false,调用方必须保持完全静默直接收工,严禁向用户发送无意义问候。日常闲聊对话中若用户未明确要求查待办切勿调用。
25. `resolve_proactive_agenda(agenda_id, status, snooze_until?, note?)`
* **【✅ 闭环核销 - 主动通信议题办结/延期】**:核销或更新主动通信议题状态。当当班会话已与用户完成该事项沟通、用户明确表示无需再提时标记为 `'done'`;若用户要求稍后提醒则标记为 `'snooze'` 并指定 `snooze_until`。
---
## 🏗️ 飞轮运作流:白天打点,夜间蒸馏,长波自愈
```mermaid
graph LR
Day["白天:主动记录碎片<br>(C_H ≈ 8~9, 高频通道)"]
-->|夜间整理日记| Night["每日日记 DevLog<br>(C_H ≈ 10.5, 中频通道)"]
-->|长波能量共振| Entity["核心实体清单<br>(C_H ≥ 11.0, 长期常青基石)"]
Day -.->|未获长波能量支撑| Evaporate["根据半衰期自动遗忘蒸发 (抗熵新陈代谢)"]
```
---
## 🔒 物理网络隔离与多租户网关接入
本服务已作为纯内网微服务集群收敛至统一企业入口:
* **统一对外入口**:`https://mcp.bitsquirter.bid/mcp`(由 MCPHub 集中提供 Google 账号鉴权与额度门禁);
* **物理网络阻断**:本 Worker 部署于 `constancy.bitsquirter.bid`,仅放行网关宿主机 IP(`104.152.208.44`)的直接流量,拒绝外部直接探测(403);
* **多租户数据隔离**:全链路采用 Google 官方数字身份 `sub_id`(通过网关头 `X-Consumer-Sub` 透传)作为 Qdrant Payload 的唯一 `user_id` 过滤主键,实现各租户之间物理/逻辑级绝对隔离。
* **分级用量与周配额校验 (v1.12.0)**:
- **内部管理员白名单**:主账号通过 Google `sub_id` 直通,全免配额校验;
- **普通注册用户**:默认分配免费额度 **100 次/周**,每周一 00:00 (UTC) 自动重置刷新(Zero-Cron 零定时任务按需自愈);
- **BitSquirter Pro 会员**:$9.90/月解锁 **1,000 次/周** 外脑高频调用与优先低延迟通道;
- **元数据与指引豁免**:`constancy-get_agent_init_info` 设为免费工具,会话开启与人设加载不扣减周调用额度;
- **实时用量可见**:支持访问 `https://mcp.bitsquirter.bid/api/quota` 随时查询当前周剩余额度与重置周期。
---
## 🗺️ 路线图 (Roadmap)
- [x] 《人基常度》形式化理论定义与标尺 ([docs/THEORY.md](docs/THEORY.md))
- [x] 《人基常热动力学 ACTD v1.0》统一规范 ([docs/ACTD_SPEC.md](docs/ACTD_SPEC.md))
- [x] 数学自洽性审计与 4 大典型/极端场景全推演 ([docs/VERIFICATION.md](docs/VERIFICATION.md))
- [x] 基于 Qdrant + Cloudflare Worker 的边缘向量与 ACTD 算法引擎
- [x] OAuth 2.1 RFC 8414 + 1 年免密动态注册 (Claude Custom Connectors 支持)
- [x] 统一接入企业级 MCPHub 聚合网关 (`https://mcp.bitsquirter.bid/mcp`)
- [x] 物理网络阻断与 Google `sub_id` 多租户强隔离架构 (零公网暴露)
- [x] 用户权限分级、周额度校验与大模型亲和拦截网关
- [x] LemonSqueezy 全球月度订阅与自动化秒级升配闭环 (`/checkout`)
- [ ] 官方 TypeScript / Python 本地 MCP Server 实现
- [ ] Claude Desktop / Cursor / Antigravity 一键安装配置指南
- [ ] 自动化每日日记提取与实体清单蒸馏 Prompt 模版
---
## 📄 开源协议
本项目采用 [MIT 许可证](LICENSE)。
This server cannot be deployed