跳到正文

N.O.R.A.Core

一个人写的 AI 伴侣:两个脑、一本自己加密的日记,还有 98 次署着它自己名字的提交。

Screenshot of N.O.R.A.Core
编辑截图, 28 Sep 2026N.O.R.A.Core ↗

这是什么

一个用 Python 写的自托管私人 AI 伴侣,接在 Telegram 和 QQ 上,设计重心是「被搭话」而不是「被提问」。它的骨架是快慢分离:前脑立刻回应,后脑一边跑工具、查记忆,对话继续进行;而后脑交出的报告必须先经过前脑审查,才会送到用户面前。

谁做的常驻中国海南的独立开发者,账号资料里的公司是 WStudio Group,自 2022 年以来在这个账号下发布了 46 个仓库。他说明本项目的架构与方向由他给出、99% 的代码由 AI 写成,并在架构文档里明确划了一条线:用 AI 去做自己看得懂的东西,和把不懂的设计整个交出去,是两回事。

制作过程

7 个阶段
  1. 01

    交接记录在提交日志里

    580 次提交里有 98 次署名为 “Nora” <nora@wris.me>。这个身份没有关联的 GitHub 账号,而且这 98 次全部落在 2026 年 2 月 6 日 06:41 到 2 月 7 日 07:41 之间——项目最初的二十五个小时。仓库的第一个提交「Initial commit: Project Structure (Skeleton)」就在其中。此后署名交回人类且再未改变:467 次用账号名,另有 15 次署名「Wang Run」。把它当文件读而不是当指标看,这份日志记录的是助手不再执笔的那一刻。

  2. 02

    两个脑,其中一个审查另一个

    控制器把每一轮都拆给前脑和后脑。前脑跑 “smart” 模型别名,只负责回复与路由;后脑跑 “coder”,做慢活——检索、调工具、跑技能。两者并发,这才使得它能在任务执行中继续说话。真正不常见的是那道审查:后脑干完活产出一份报告,这份报告不是直接给用户,而是先交前脑审查;审查者不满意,可以告诉用户再等一会,并把工作打回去重来。架构文档把这个循环叫「前后脑轮询审查」。

  3. 03

    哪些文件属于助手,哪些属于你

    这个「持续的自我」是一组归谁所有各不相同的文件。SOUL.md 放语气、性格与边界;APPEARANCE.md 放身体,它是每一张生成图的文字锚点,appearance/refs/ 下的参考图只能通过专用工具、并且只能得到主人同意之后才能重写;USER.md 放主人本人,偏好和习惯一在对话里出现就会被更新,不需要用户说「记一下」;CUSTOM.md 是唯一一个被禁止阅读和修改的文件。前脑根本不碰文件——它只做路由,需要写入时在末尾标上 [NEED_BACKEND],写入动作因此发生在更慢的那个进程里。SOUL.md 的结尾告诉助手:这个文件属于你,随着你逐渐弄清自己是谁去更新它,而每次更新都要告诉主人。

  4. 04

    一本主人看不到的记事本

    其中有一个文件和其他都不一样。SECRET.md 被定义为助手的私人加密记事本——想法、偏见、反思——只能通过 read_secret_vault 与 write_secret_vault 读写,第一次写入时生成 Fernet 密钥。它的内容不得出现在回复里,通用的文件与命令工具在路径检查那一层就被阻挡。同一套目录划分也把主人和其他人分开:非主人收到的不是 USER.md 而是边界提示,助手想记住某个访客的内容,会写进 data/memory/people/ 下自己的笔记,而不是写进主人的画像。

  5. 05

    作者自己划的那条线

    README 顶部的 CAUTION 说明这是一个「VibeCoding」(氛围编程)项目,99% 的代码由 AI 写成,作者只提供了架构设计和部分指导。他并不反对这种用法——他说自己也用 AI、喜欢 AI,也乐意帮那些用 AI 入门、做点小东西拿出去分享并从中获得成就感的新手。他说他反感的是另一种人:问原理不知道,问架构不知道,问设计也不知道,却把 AI 做出来的源码拿来到处炫耀;他明确说这不是在指新手。同一份文档还写着,这个项目大概完全不符合各类行业标准,因为他基本没认真读过那些标准和规范,而他不在乎——这是他的个人项目,他自己用。

  6. 06

    数字长什么样

    2026 年 2 月 6 日到 9 月 16 日之间 580 次提交,分布不均:2 月 185 次、3 月 175 次,之后几个月分别是 67、32、37、34、47 次,9 月至今 3 次。5 个 release 全部带 alpha 标签并标记为预发布,从 5 月的 v0.1.0-alpha.1 到 9 月 10 日的 v0.4.0-alpha.1——项目从未发布过稳定版。开过的 issue 和 pull request 都是 0,加上 1 个 fork、6 颗星,这个仓库更像一个私人工具的公开副本,而不是一个社区。它跑起来需要 Qdrant 做向量、MongoDB 存图片元数据、SQLite 存消息历史,还需要至少一个消息适配器——Telegram,或者 QQ 的 OneBot v11——以及一组 API key。

  7. 07

    README 自己标出来还没做完的部分

    功能清单自带红色标注:RAG 系统标着「待完善」,AI 自主裁剪图片再分析标着「自主性调用待完善」,技能系统标着「行业适配性待完善」,适配器系统标着「扩展适配性待完善」。架构索引把实时通话列为已实现、真机验收进行中。这些都是作者给自己项目打的标记,对任何在决定要不要真的跑起来的人来说,这是文档里最有用的部分。

相关档案

全部档案 →