这不是一个能直接跑起来的产品,是 Cola 的对外接口约定与目录骨架。
线上那套实现——双人格、记忆、日记、情绪、微信通道、浏览器闸门——不在这个仓库里。
除 GET /api/status 与首页外,所有接口一律返回 501 Not Implemented,契约写在 docs/API.md。
契约快照:2026-10-28 · 对应线上 Comic v2.5.2 的对外接口 许可:MIT(只覆盖本仓库的骨架与文档)· 见 LICENSE 与 NOTICE.md
python3 server.py # 仅标准库,无需安装依赖
# 打开 http://127.0.0.1:8088
curl -s http://127.0.0.1:8088/api/status # 200,一份「未实现」的状态样例
curl -s http://127.0.0.1:8088/api/diary # 501,契约在 docs/API.md这些能力确实在运行,只是实现闭源:
| 能力 | 对外表现 |
|---|---|
| 双人格、双通道 | 两个 AI 各自陪一个人,各有自己的微信通道与讲话习惯,互不串台 |
| 共享账本 | 两边写入的聊天记忆同一本账,A 问起 B 说过的话,能答上来 |
| 四层记忆 | 会话记录、抽取事实、向量知识库、检索召回,按相关度与时效衰减 |
| 日记与情绪 | 每晚自写一篇日记;白天按对话打分情绪,日终归档,可回看曲线 |
| 主动开口 | 不是只会应答:长时间无话、情绪到位或有事想说时,会自己开口 |
| 微信通道 | 个人微信收发、登录确认、图片与表情包、文件桥(上传下载) |
| 网页控制台 | 服务状态、记忆计数、情绪曲线、流量、事件流、成长谱系;对话页可直连大脑 |
| 网页能力 | 轻量抓取直取正文;需要点按翻页时才拉起真浏览器,只去公网、一次一个、有内存上限 |
.
├─ server.py # 契约桩:首页 200、/api/status 200、其余 /api/* 501
├─ config.example.json # 示例配置(占位符,无真实地址与密钥)
├─ web/index.html # 公开落地页(单文件,无外部依赖)
├─ docs/
│ ├─ API.md # HTTP 接口契约:请求、响应、错误码、501 语义
│ ├─ ARCHITECTURE.md # 概念架构:通道 → 大脑 → 工具 → 记忆 → 日记
│ └─ IMPLEMENTING.md # 想自己实现时的路线图与坑
├─ agent/ # 骨架:大脑编排(只有 README,下同)
├─ channels/ # 骨架:微信通道
├─ memory/ # 骨架:四层记忆
├─ diary/ # 骨架:日记与情绪
├─ persona/ # 骨架:人格与说话契约
└─ deploy/ # 骨架:部署与回滚
没有的东西:任何可直接运行的 AI 编排、记忆库、日记生成、微信桥接、人格提示词、部署器、浏览器闸门实现。 目录里只有职责说明与接口要求——图纸给你,房子自己盖。
- 权属要清楚:这套系统有软件著作权登记,后续还要落到自己的域名与产品线上,代码与文档的权属链条必须干净。
- 实现是成本:两个人格、四层记忆、防泛洪、浏览器内存闸门,是一版一版踩坑换来的;公开实现等于把踩坑的成本送人。
- 接口可以公开:把能力清单与接口约定摊开,是告诉你「这东西存在、边界在哪」,不是占坑,也不阻止你做得更好。
所以我们保留的是约定:字段、状态码、行为边界。你照着实现,得到的是你自己的系统,不是我们的副本。
- 本仓库不包含任何真实用户数据、聊天记录、日记正文、微信 ID、服务器地址或凭据;示例配置全是占位符。
Cola、Comic是项目与版本系列的名字,本仓库不授予商标或官方背书;不要用本仓库暗示与作者存在合作或授权关系。- 欢迎提 issue 讨论接口本身;实现的 PR 不在本仓库的范围内。
- 接口细节 → docs/API.md
- 架构与数据流 → docs/ARCHITECTURE.md
- 自己实现的顺序与坑 → docs/IMPLEMENTING.md