Skip to main content

people-kb

名片知识库 / 人物志。在日常对话中被动感知用户聊到的人(朋友、同事、家人、合作方都记), 一人一档持续沉淀到知识库,让 Agent 越来越懂用户身边的人。三件事: ① 被动记录 — 对话里出现某个具体的人+关于 ta 的信息时,主动沉淀到 `人物 - {名字}`; ② 召回 — 再次聊到这个人时,先召回 memory 里的一句话指针,再 knowledge_search 拉全量档案补进上下文; ③ 去重与整理 — 按月去重,定期合并同一个人的零散记录。 存储走知识库(scene=work/life),不占用 memory(人物档案会越来越大)。

跳到安装

来源信息

仓库
llm011/ethan-agent
最近来源活动
2026年8月8日 14:56
检测到的 SKILL.md 语言
中文
星标
8
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
4 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
people-kb
version
1.0.0
description
名片知识库 / 人物志。在日常对话中被动感知用户聊到的人(朋友、同事、家人、合作方都记), 一人一档持续沉淀到知识库,让 Agent 越来越懂用户身边的人。三件事: ① 被动记录 — 对话里出现某个具体的人+关于 ta 的信息时,主动沉淀到 `人物 - {名字}`; ② 召回 — 再次聊到这个人时,先召回 memory 里的一句话指针,再 knowledge_search 拉全量档案补进上下文; ③ 去重与整理 — 按月去重,定期合并同一个人的零散记录。 存储走知识库(scene=work/life),不占用 memory(人物档案会越来越大)。
trigger
记一下.*(是谁|这个人|他是|她是)|记到people|整理进people|归到people|人物档案|这个人|我同事|我朋友|我的朋友|我的同事|我们组的|团队成员|认识了|介绍下.*(是谁)|.*最近怎么样|.*是个什么样的人|谁是|关于.*的信息
author
Ethan Agent
license
MIT
platforms
["linux","macos","windows"]
metadata
{"ethan":{"tags":["People","Knowledge","Relationship","Recall"]}}
# People KB(名片知识库 / 人物志) > 把用户身边的人沉淀成一人一档的「人物志」,日积月累,让 Agent 越来越懂这些人。 > 数据写知识库(`scene` 区分 work/life),memory 里只放一句话「指针」用于召回。 ## 🎯 核心理念 - **朋友、同事、家人、合作方都记** —— 不只是打工场景。是「你认识的人」的知识库。 - **被动感知**:不需要用户显式说"记一下"。只要对话里出现**一个具体的人 + 一条关于 ta 的信息**,就应该沉淀。 - **档案是活的**:每次聊到都可能补充,档案随时间变厚,画像越来越准。 - **存储在知识库、索引在 memory**:全量档案放知识库(可以很大);memory 里只留一句话指针,负责"下次聊到这个人时把 ta 捞回来"。 ## 🚫 硬规则 ### R1:写档案只用 knowledge_* 工具 人物档案的所有写入必须通过 `knowledge_add` / `knowledge_edit`,禁止 `file_write` / `shell`。路径由后端管理,不要自己拼 vault 路径。 - 新建 → `knowledge_add(title, content, tags, scene)` - 追加 → `knowledge_edit(source, content, mode="append", scene)` - 整篇改写 → `knowledge_edit(source, content, mode="replace", scene)` ### R2:档案条目命名固定为 `人物 - {名字}` - 标题:`人物 - {名字}`(如 `人物 - 张三`) - tags:`["people", "{名字}"]`(外加关系标签,如 `"colleague"` / `"friend"` / `"family"`) - scene:**同事/工作关系 → `work`;朋友/家人/生活关系 → `life`**(拿不准默认 work) - title 里禁止出现 `/`、`\`、连续 `-`、前后空格 ### R3:memory 指针(召回索引,务必写) **首次为某人建档、或档案有重要更新(换了关系/职业/重要标签)时**,用 `memory_write` 写一条极短的人物指针: - `memory_type="relationship"` - `content`:一句话,形如 `"用户的同事张三,负责支付方向,是直属下属;详细档案见知识库人物-张三"` - 只写**身份锚点**(谁、什么关系、一句话画像),**不要**把事件流水写进 memory —— 那些留在知识库档案里 - 同一个人只维护**一条**指针(内容变化时 memory_write 会按内容 supersede,直接用最新的一句话覆盖式重写即可) 作用:下次用户提到这个人时,`recall_memory` 会先召回这句指针,Agent 据此知道"这是用户认识的人",再 `knowledge_search` 拉全量档案。 ## ⚡ 快速路径 ### 被动记录(核心,默认行为) **触发**:对话中出现一个具体的人 + 关于 ta 的可沉淀信息。**判断标准**——满足下面任一条就该记: - 提到某人的**身份/关系**("我同事张三"、"我朋友小林"、"我妹") - 提到某人**做了什么 / 发生了什么**("张三今天把支付联调搞定了"、"小林最近换工作了") - 提到某人的**特点/偏好/近况**("张三特别较真"、"小林喜欢滑雪"、"李姐孩子刚上小学") **不记**:泛指的人("有个用户"、"某个同事"没点名)、纯路人、一次性无信息量的提及。 **流程**: 1. 提取 `{名字}`、`{关系}`(同事/朋友/家人/合作方/…)、`{信息}`、`{scene}`(按 R2) 2. `knowledge_search(query="人物 {名字}", scene=...)` 找档案: - **不存在** → `knowledge_add` 建档(见 `references/profile-format.md` 的新建模板),并按 **R3** 写 memory 指针 - **存在** → `knowledge_read` 读全文,按月去重(见 `references/recall-and-dedup.md`)后 `knowledge_edit` 追加时间线条目 3. 回复确认:记到了谁、记了什么(一句话,别啰嗦) > **低打扰原则**:被动记录时不要每条都追问。信息明确就直接记+一句话确认;只在关系/名字有歧义时才问。 ### 召回(聊到熟人时补上下文) **触发**:用户消息里出现一个可能是"用户认识的人"的名字,或问"X 最近怎么样 / X 是谁 / X 是个什么样的人"。 **流程**: 1. `recall_memory` 命中人物指针 → 确认这是用户认识的人 2. `knowledge_search(query="人物 {名字}", scene="work")` + 生活向再搜 `scene="life"`,找到档案 3. `knowledge_read` 读全文,把关系、画像、最近时间线提炼进当前回答的上下文 4. 若用户是在"聊这个人的新情况",顺带走一遍**被动记录**把新信息沉淀进去 ### 显式整理 **触发**:「把 xxx 整理进 people」「记到 people 里」「给 X 建个档案」。 1. 从消息/上下文提取 `{名字}: {信息}` 列表 2. 逐个走**被动记录**流程(建档 or 追加 + 指针) 3. 回复:列出写入了哪些人、各写了什么 ## 🗂️ 与其他技能的关系 | 技能 | 关系 | |---|---| | `team-manager` | **消费者**:绩效/CR/群扫描识别出的工作事件,写进本技能的 `人物 - {名字}` 时间线(带 `[亮点]/[问题]` 工作标签)。存储格式归本技能管。 | | `task-and-schedule-manager` | 「X 生日 6.1」「下周约 X 吃饭」这类含人物的时间信号,转交 task-and-schedule-manager 建提醒;人物本身信息留在这里。 | | `recall_memory` / `memory_write` | 人物指针的读写通道(R3)。 | ## 🧹 定期整理(建议配定时任务) 同一个人可能被零散记了多条、或名字写法不一("张三" vs "老张")。建议用 `task-and-schedule-manager` 配一个低频任务(如每月)做整理,prompt 见 `references/recall-and-dedup.md` 的「定期整理」章节:合并重名档案、去重时间线、补全画像摘要、刷新 memory 指针。 ## ⚠️ 约束 - **隐私边界**:人物档案仅存本地知识库,绝不发送到任何外部渠道/群/个人。 - **客观记录**:时间线以事实为主;主观印象放"画像"段落并注明是印象。 - **敏感信息**:薪资、绩效评级、健康隐私等,除非用户明确要求,否则不写档案。 - **不臆造**:拿不准名字/关系时先问,不要猜一个写进去。 ## 📎 详细规范 - `references/profile-format.md` — 人物档案的结构、新建/追加模板、字段规则 - `references/recall-and-dedup.md` — 召回流程、按月去重、memory 指针写法、定期整理 prompt
在 GitHub 查看