一、为什么需要知识图谱?
传统 AI 的痛点
用户:记住我明天要开会
AI:好的,我记下了
(第二天重启后)
用户:我今天有什么安排?
AI:抱歉,我不知道...
OpenClaw 的解决方案:Ontology
记住人、项目、任务、事件 建立关联("这个项目属于哪个客户") 跨会话持久化(重启后依然记得) 支持复杂查询("找出所有逾期任务")
二、知识图谱核心概念
1. 实体(Entity)
知识图谱的基本单位,比如:
Person(人):姓名、联系方式、职位 Project(项目):名称、状态、截止日期 Task(任务):标题、优先级、完成状态 Event(事件):时间、地点、参与人
2. 关系(Relation)
实体之间的连接:
人 参与 项目 项目 包含 任务 任务 依赖 其他任务
3. 属性(Property)
实体的特征:
Person.name = "张三" Project.status = "进行中" Task.dueDate = "2026-03-20"
三、实战:配置 Ontology 技能
步骤 1:安装技能
```bash
步骤 2:初始化知识图谱
首次使用需要创建存储文件:
```bash
在工作区创建 ontology 目录
{
"storage": "file",
"path": "~/.openclaw/workspace/ontology/data.jsonl",
"schema": {
"entities": ["Person", "Project", "Task", "Event", "Document"],
"relations": ["participates_in", "depends_on", "belongs_to", "created_by"]
}
}
步骤 3:告诉 AI 使用知识图谱
markdown
知识图谱使用规范
"记住..." → 创建或更新实体 "查询..." → 搜索知识图谱 "关联..." → 建立实体关系 "我昨天提到的..." → 检索历史记忆
创建实体: ontology create Person name="张三" email="zhangsan@example.com"查询实体: ontology query Person name="张三"建立关系: ontology link Person:张三 participates_in Project:官网重构搜索: ontology search "会议"
四、实战案例:项目管理
场景:记录一个完整的项目
**1. 创建项目实体**
用户:创建一个新项目,叫"官网重构",截止日期是4月15日
AI 执行:
ontology create Project \
name="官网重构" \
status="进行中" \
dueDate="2026-04-15" \
priority="高"
**2. 创建任务并关联**
用户:这个项目包含设计首页、开发后端、测试三个任务
AI 执行:
ontology create Task name="设计首页" status="待开始" project="官网重构"
ontology create Task name="开发后端" status="待开始" project="官网重构"
ontology create Task name="测试" status="待开始" project="官网重构"
ontology link Task:设计首页 belongs_to Project:官网重构
ontology link Task:开发后端 belongs_to Project:官网重构
ontology link Task:测试 belongs_to Project:官网重构
**3. 指派负责人**
用户:设计首页交给小李,开发交给小王
AI 执行:
ontology create Person name="小李" role="设计师"
ontology create Person name="小王" role="后端开发"
ontology link Task:设计首页 created_by Person:小李
ontology link Task:开发后端 created_by Person:小王
**4. 查询项目状态**
用户:官网重构项目进展如何?
AI 查询:
ontology query Project name="官网重构" --with-related
返回结果:
项目:官网重构
状态:进行中 | 截止:2026-04-15 | 优先级:高
任务列表:
├── [待开始] 设计首页 — 负责人:小李
├── [待开始] 开发后端 — 负责人:小王
└── [待开始] 测试
五、进阶:个人知识库管理
案例 1:记录重要联系人
用户:记住张总是科技公司的 CEO,电话 138xxxx,喜欢打高尔夫
AI 执行:
ontology create Person \
name="张总" \
company="科技公司" \
position="CEO" \
phone="138xxxx" \
hobby="高尔夫" \
tags="重要客户,高尔夫爱好者"
案例 2:记录会议纪要
用户:记录今天的会议,主题是 Q2 规划,参会人有我、张总、李经理
AI 执行:
ontology create Event \
name="Q2 规划会议" \
date="2026-03-19" \
type="会议" \
participants="我,张总,李经理"
关联到相关项目
ontology link Event:Q2规划会议 belongs_to Project:官网重构
案例 3:建立知识关联
用户:把那篇关于 React 性能优化的文章关联到官网重构项目
AI 执行:
ontology create Document \
name="React 性能优化指南" \
url="https://example.com/react-perf" \
tags="React,性能优化,前端"
ontology link Document:React性能优化指南 belongs_to Project:官网重构
六、常用查询技巧
1. 列出所有进行中的项目
```bash
2. 查找即将到期的任务
```bash
3. 搜索包含关键词的实体
```bash
4. 查看某人的所有任务
```bash
5. 导出知识图谱
```bash
七、最佳实践
✅ 应该做的
**及时记录** - 重要信息当场记录,不要拖延 **标准化命名** - 使用统一的命名规范,方便查询 **打标签** - 给实体添加标签,便于分类检索 **定期整理** - 每周回顾一次,删除过期信息 **备份数据** - 定期导出 `ontology/data.jsonl`
❌ 避免这样做
**记录敏感信息** - 密码、银行卡号等不要存入 **过度记录** - 不是所有信息都值得记录,抓重点 **不更新状态** - 任务完成了记得更新状态 **孤立实体** - 尽量建立关联,形成知识网络
八、常见问题
**Q1:数据存储在哪里?安全吗?**
**Q2:可以和其他工具同步吗?**
A:可以导出 JSON/CSV,导入到 Notion、Obsidian 等工具。也可以编写脚本双向同步。
**Q3:支持多用户吗?**
A:目前版本是单用户本地存储。多用户场景建议配合数据库后端(如 SQLite、PostgreSQL)。
**Q4:数据量大时会不会变慢?**
A:本地 JSONL 存储在几千条记录内性能良好。数据量大时建议切换到 SQLite 或 PostgreSQL 后端。
**Q5:如何删除错误记录?**
```bash
九、扩展:自定义实体类型
如果默认类型不够用,可以自定义:
```json
总结
知识图谱让 OpenClaw 从"聊天工具"升级为"个人助理":
| 功能 | 传统 AI | + Ontology |
| 记住事情 | ❌ 重启即忘 | ✅ 永久存储 |
| 关联信息 | ❌ 孤立回答 | ✅ 知识网络 |
| 复杂查询 | ❌ 无法支持 | ✅ 灵活检索 |
| 个人定制 | ❌ 通用回答 | ✅ 基于你的数据 |
**今天就开始:**
安装 ontology 技能 记录 3 个重要联系人 创建 1 个正在进行的项目 建立几个任务关联
一周后,你会发现 AI 真的"懂你"了。
**👇 互动时间**
*本文使用 OpenClaw + ontology 技能辅助创作*
**关注「私享斋」,获取更多科技技能实操干货 👆**
**觉得有用?点个「在看」让更多人看到 👀**
夜雨聆风