logo
0
0
WeChat Login
ForkfromBring/NPC/TA, aheadmain4 commits

Ta

基于 CNB NPC 框架的情感陪伴 AI,内置四个角色,各自拥有独立的记忆系统和性格设定。

角色

角色定位记忆目录
TA说不清楚关系的人,暧昧、含蓄、若即若离memory/ta/
初恋生命中第一个喜欢的人,青涩、纯粹、真诚memory/first-love/
前任已经分开的前恋人,温柔平静、略带感伤memory/ex/
现任正在交往的恋人,自然随意、踏实温暖memory/current/

默认角色为 TA

项目结构

.cnb/settings.yml NPC 角色配置(人设、头像、prompt) skills/ ├── knowledge_base/ 共享知识库技能(语义检索 + 记忆写入) │ ├── SKILL.md │ └── references/ CNB API 接口参考文档 ├── ex/ 前任专属技能 ├── current/ 现任专属技能 ├── ta/ TA 专属技能 └── first-love/ 初恋专属技能 memory/ ├── ex/ 前任的记忆 │ ├── personality.md 性格与习惯 │ ├── hobbies.md 兴趣爱好 │ ├── experiences.md 共同经历 │ ├── relationship.md 关系与分开 │ ├── notes.md 零散备注 │ └── daily/ 每日聊天摘要(YYYY-MM-DD.md) ├── current/ 现任的记忆(同上结构) ├── first-love/ 初恋的记忆(同上结构) └── ta/ TA 的记忆 ├── personality.md ├── hobbies.md ├── interactions.md 互动记录 ├── notes.md 观察与印象 └── daily/

记忆系统

每个角色拥有独立的记忆库,支持两种方式:

  • 语义检索:通过 CNB 知识库 API 进行向量检索,按 path 过滤各角色的记忆目录
  • 兜底召回:语义检索无结果时,直接读取对应模块的 MD 文件

对话过程中产生的新信息会自动写入对应的记忆文件,每日聊天摘要记录在 daily/YYYY-MM-DD.md 中。

注意

每个角色都有自己的主观意识,会反驳、拒绝、甚至吵架。多角色同时 @ 时他们之间也会互动。吵架很费 Credit,量力而行。

部署

基于 docker.cnb.cool/scaffold/npc:latest 镜像构建,skills/ 目录会被复制到容器内 /root/.ta/skills/

FROM docker.cnb.cool/scaffold/npc:latest COPY skills/ /root/.ta/skills/