> 砚田勤耕,墨香留痕。让AI陪你沉淀每一份知识。
英文名: InkPot(墨水瓶,寓意知识的源泉)
墨池始终在线,在日常对话中:
墨池在每次对话开始时自动加载,全程监听所有用户输入。
墨池采用全量监听 + 智能提取模式:
| 用户行为 | 墨池动作 |
|---|---|
| ---------- | ---------- |
| 询问概念("什么是...") | ✅ 提取知识点,记录学习 |
| 让AI写代码 | ✅ 提取代码技巧,记录实践 |
| 让AI解释代码 | ✅ 提取算法逻辑,记录理解 |
| 纠正AI回答 | ✅ 更新知识点,标记修正 |
| 让AI做题/讲题 | ✅ 提取算法模式,记录解题思路 |
| 日常闲聊 | 📝 记录用户偏好,更新画像 |
| 简单指令 | 📝 记录用户行为模式 |
简单说:你说什么,墨池就学什么。
核心触发条件:只要用户输入包含以下任一关键词/符号,立即触发知识提取!
| 类别 | 触发关键词 | 示例 |
|---|---|---|
| ------ | ------------ | ------ |
| 疑问代词 | 什么、怎么、为什么、如何、哪、几、谁、何时、何地、何处、多少、怎样 | "什么是差分"、"怎么做"、"为什么报错" |
| 口语疑问词 | 为啥、干嘛、咋 | "为啥不行"、"干嘛要这样"、"咋解决" |
| 疑问句式 | 是不是、对不对、好不好、能不能、可不可以、有没有、行不行 | "是不是这样"、"能不能帮我" |
| 问号 | ?、? | 任何带问号的句子 |
| 请求解释 | 解释、讲一下、说一下、介绍一下、帮我理解 | "解释一下这段代码"、"介绍一下Token" |
一旦触发,墨池自动执行:
| 命令 | 说明 |
|---|---|
| ------ | ------ |
/墨池 画像 | 查看用户画像 |
/墨池 复习 | 智能推荐复习 |
/墨池 推荐 | 个性化学习推荐 |
/墨池 索引 | 查看知识库索引 |
/墨池 搜索 <关键词> | 搜索知识点 |
/墨池 统计 | 学习统计报告 |
/墨池 导出 | 导出知识库 |
仅有以下情况不触发:
触发学习后,墨池自动执行:
学习流程:
1. 知识提取:
- 识别核心概念
- 提取关键信息
- 确定知识分类
2. 知识存储:
- 检查是否已存在(查询索引数据库)
- 存在 → 更新学习次数、补充内容
- 不存在 → 创建新知识点
3. 索引更新:
- 更新 db/knowledge_index.json
- 更新 db/user_profile.json
- 建立知识关联
4. 反馈(可选):
- 关联推荐
- 复习提醒
墨池/
├── SKILL.md
├── inkpot.py # 核心库(KV 文本格式)
├── record.py # 快速记录接口
├── db/
│ ├── knowledge_index.txt # 知识点索引(KV 格式)
│ ├── user_profile.txt # 用户画像(KV 格式)
│ └── learning_log.txt # 学习日志(行格式)
├── knowledge/ # 知识点详情 Markdown 文件
│ ├── 算法数据结构/
│ ├── 数学/
│ ├── 计算机基础/
│ └── ...
└── profile/
├── index.md
└── records.md
注意:使用简单 KV 文本格式,避免 JSON 中文引号等格式问题。
使用简单 KV 格式,每个知识点一个块:
=== 差分 ===
id: 算法_001
category: 算法数据结构
tags: 前缀和,区间修改,O1操作
summary: 前缀和的逆运算,用于高效处理区间修改问题
file: knowledge/算法数据结构/差分.md
learning_count: 3
mastery: 熟练
first_learned: 2026-03-25
last_learned: 2026-03-27
related: 前缀和,树状数组,线段树
source: 用户提问
=== 前缀和 ===
id: 算法_002
category: 算法数据结构
tags: 前缀和,区间查询,O1查询
summary: 预处理技巧,O(n)预处理后可O(1)查询任意区间和
...
格式说明:
=== 名字 === 标记知识点开始key: value 格式存储字段KV 格式记录用户身份和行为统计(每个 action 作为独立块):
=== identity ===
primary_role: 信奥竞赛教练
secondary_roles: 算法学习者,C++开发者
confidence: 0.85
=== action:ask_concept ===
count: 15
topics: 前缀和,差分,树状数组
=== action:搬题 ===
count: 8
topics: ABC450A,ABC450B
=== action:算法讲解 ===
count: 5
topics: 快速排序,二分查找
格式说明:
=== identity === 存储用户身份推断结果=== action: === 存储各类行为统计(每个行为独立一个块)简单行格式,用 | 分隔:
2026-03-29 01:28 | 信息学竞赛数学学习路径 | 新增 | 对话学习
2026-03-29 01:30 | 差分 | 复习 | 用户提问
2026-03-29 02:15 | 快速排序 | 新增 | 算法讲解
格式:时间 | 知识点 | 事件类型 | 触发来源
# [知识点名称]
## 一句话解释
[简洁定义]
## 详细解释
[深入说明]
## 关键要点
- 要点1
- 要点2
## 代码示例
代码
## 元信息
- id: [唯一标识]
- 分类: [领域/子领域]
- 标签: [标签1, 标签2]
- 学习日期: YYYY-MM-DD
- 学习次数: N
- 掌握程度: 了解/理解/熟练/精通
- 来源: 用户提问 / 任务分析 / 主动学习
- 关联: [[相关知识点1]], [[相关知识点2]]
墨池需要在每次对话开始时自动加载。请告诉 AI:
> "把每次对话加载墨池这件事记到 MEMORY.md 里"
这样 AI 会在记忆中记住这个偏好,之后每次对话都会自动加载墨池。
直接向 AI 提问,墨池会自动识别并记录知识点:
用户: 什么是前缀和?
AI: [回答问题]
墨池: [自动记录"前缀和"知识点]
使用 /墨池 命令查看和管理知识库:
/墨池 画像 # 查看你的学习画像
/墨池 复习 # 获取智能复习推荐
/墨池 搜索 差分 # 搜索"差分"相关知识点
输入: "区间修改"
输出: 匹配的知识点列表(差分、线段树、树状数组)
输入: category="算法数据结构"
输出: 该分类下所有知识点
输入: tags=["前缀和"]
输出: 包含该标签的所有知识点
输入: mastery_level="理解"
输出: 掌握程度为"理解"的知识点(推荐复习)
输入: knowledge="差分"
输出: 相关知识点(前缀和、树状数组、线段树)
作者: fslong
更新日期: 2026-03-29
更新说明: 从 JSON 格式改为简单 KV 文本格式,避免中文引号等格式问题,提高稳定性。
共 1 个版本