双向同步 Obsidian PKM(人类友好的笔记)与结构化本体(机器可查询的图),自动提取实体和关系……
欧比西德-肿瘤学同步 哲学:欧比西德是Primary(人类写自然笔记) ^ Ontology是DERIVED(机器提取结构) →反馈循环既改善了两个功能.是一项面向实际任务的技能,主要用于Core Confile.;When to use.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
设计理念: Obsidian 是 PRIMARY(人类撰写自然笔记)→ Ontology 是 DERIVED(机器提取结构)→ 反馈闭环持续优化二者
Obsidian 笔记(Markdown)
↓ 提取(每 3 小时一次)
Ontology 图谱(结构化数据)
↓ 查询与分析
洞察与建议
↓ 反馈
优化后的笔记模板
| 场景 | 操作 |
|---|---|
| 新建或更新联系人后 | 运行同步以提取实体 |
| 执行业务查询前 | 先同步,再查询 Ontology |
| 每周回顾 | 同步 + 分析 + 获取建议 |
| 新项目初始化 | 提取实体 + 建议结构 |
| 团队状态追踪 | 同步 daily-status → Ontology → 分析 |
references/contacts/*.md)提取项:
Person 实体(姓名、邮箱、电话)works_at → Organizationmet_at → Eventassigned_to → Project(若正文中提及)status → (prospect、warm_lead、client 等)示例:
# Alice Johnson **Email:** alice@company.com **Company:** Acme Corp **Met At:** Tech Conference 2026 **Projects:** Project Alpha ## Notes Great developer, responsive communication.
转换为:
{
"entity": {
"id": "person_alice_johnson",
"type": "Person",
"properties": {
"name": "Alice Johnson",
"email": "alice@company.com",
"notes": "Great developer, responsive communication"
}
},
"relations": [
{"from": "person_alice_johnson", "rel": "works_at", "to": "org_acme"},
{"from": "person_alice_johnson", "rel": "met_at", "to": "event_tech_conference_2026"},
{"from": "person_alice_johnson", "rel": "assigned_to", "to": "project_alpha"}
]
}
references/clients/*.md)提取项:
Organization 实体has_contract_value → 数值型字段projects → Project 实体列表primary_contact → Personreferences/team/*.md)提取项:
Person 实体works_for → Organizationassigned_to → Project[]reports_to → Personresponse_pattern → (proactive、reactive、non-responsive)daily-status/YYYY-MM-DD/*.md)提取项:
response_time 属性(附加至 Person 实体)status_update → Eventblockers → Issue 实体behavioral_pattern 行为模式追踪projects/*.md)提取项:
Project 实体for_client → Organizationteam → Person[]status、value、deadline# 执行提取 python3 skills/obsidian-ontology-sync/scripts/sync.py extract # 执行内容: # 1. 扫描已配置的 Obsidian 目录 # 2. 解析 Markdown frontmatter 及正文内容 # 3. 提取实体(Person、Project、Organization 等) # 4. 提取关系(works_at、assigned_to 等) # 5. 使用仅追加(append-only)方式写入 Ontology
识别规则:
# 联系人文件
if file.startswith("references/contacts/"):
entity_type = "Person"
extract_email_from_content()
extract_company_from_property("Company:")
extract_projects_from_links([[Project]])
# 客户文件
if file.startswith("references/clients/"):
entity_type = "Organization"
extract_contract_value()
extract_projects()
# 团队文件
if file.startswith("references/team/"):
entity_type = "Person"
role = "team_member"
extract_assignments()
extract_response_patterns()
# 执行分析 python3 skills/obsidian-ontology-sync/scripts/sync.py analyze # 生成如下洞察: # - “3 名团队成员尚未分配任何项目” # - “联系人 ‘John Doe’ 缺少邮箱地址” # - “项目 ‘X’ 已有 5 名成员,但未关联客户” # - “AI Summit 的 10 名联系人尚未关联后续跟进任务”
# 获取建议 python3 skills/obsidian-ontology-sync/scripts/sync.py feedback # 生成内容包括: # - 缺失属性建议 # - 断链报告 # - 关系补充建议 # - 模板改进建议
反馈示例:
# Sync Feedback - 2026-02-27 ## 缺失信息(10 项) - [ ] `Alice Johnson` 缺少电话号码 - [ ] `Bob` 在团队文件中缺少邮箱 - [ ] 项目 `Project Alpha` 缺少截止日期 ## 建议建立链接(5 项) - [ ] 将 `Jane Doe`(TechHub)与组织 `TechHub` 关联 - [ ] 将 `Eve` 与项目关联(在 daily-status 中发现,但 team 文件中未定义) ## 关系洞察 - `Project Alpha` 团队成员:Alice、Carol、David(从 daily-status 中提取) - 建议在项目文件中更新团队分配 ## 模板建议 - 在联系人模板中添加 `Projects: [[]]` 字段 - 在团队模板中添加 `Response Pattern:` 字段
# /root/life/pkm/ontology-sync/config.yaml
obsidian:
vault_path: /root/life/pkm
# 同步内容配置
sources:
contacts:
path: references/contacts
entity_type: Person
extract:
- email_from_content
- company_from_property
- projects_from_links
clients:
path: references/clients
entity_type: Organization
extract:
- contract_value
- projects
- contacts
team:
path: references/team
entity_type: Person
role: team_member
extract:
- assignments
- response_patterns
- reports_to
daily_status:
path: daily-status
extract:
- response_times
- behavioral_patterns
- blockers
ontology:
storage_path: /root/life/pkm/memory/ontology
format: jsonl # 或 sqlite(用于大规模场景)
# 需追踪的实体类型
entities:
- Person
- Organization
- Project
- Event
- Task
# 需提取的关系类型
relationships:
- works_at
- assigned_to
- met_at
- for_client
- reports_to
- has_task
- blocks
feedback:
output_path: /root/life/pkm/ontology-sync/feedback
generate_reports: true
suggest_templates: true
highlight_missing: true
schedule:
# 通过 cron 每 3 小时运行一次
sync_interval: "0 */3 * * *"
analyze_daily: "0 9 * * *" # 每日 9 点
feedback_weekly: "0 10 * * MON" # 每周一 10 点
# 添加至 OpenClaw cron python3 skills/obsidian-ontology-sync/scripts/setup-cron.py # 或手动使用 cron 工具配置 cron add --schedule "0 */3 * * *" --task "python3 skills/obsidian-ontology-sync/scripts/sync.py extract" --label "Obsidian → Ontology Sync"
创建的 Cron 任务:
完成同步后,可执行以下查询:
# 高价值项目上的所有团队成员
python3 skills/ontology/scripts/ontology.py query
--type Person
--where '{"role":"team_member"}'
--related assigned_to
--filter '{"type":"Project","value__gt":400000}'
# 特定活动中结识、但尚未跟进的联系人
python3 skills/ontology/scripts/ontology.py query
--type Person
--where '{"met_at":"event_tech_conference_2026"}'
--missing has_task
# 团队响应模式统计
python3 skills/ontology/scripts/ontology.py query
--type Person
--where '{"role":"team_member"}'
--aggregate response_pattern
# 按客户分组的项目
python3 skills/ontology/scripts/ontology.py query
--type Project
--group-by for_client
--count
Ontology 发现:某 Person 实体缺少 email 属性
生成反馈:
## 缺失联系人信息 以下团队成员缺少邮箱地址: - [ ] Bob (`references/team/Bob.md`) - [ ] Lucky (`references/team/Lucky.md`) **建议:** 在团队成员模板中添加邮箱字段: ```markdown **Email:** ```
Ontology 发现:某 Person 的 assigned_to 指向一个不存在的 Project
生成反馈:
## 断裂的项目引用 发现指向不存在项目的引用: - [ ] “Project Epsilon” 在团队文件中被提及,但无对应 `projects/Project Epsilon.md` - [ ] “Project Delta Tata DT” 已分配但无项目文件 **建议:** 使用模板创建项目文件
Ontology 发现:多名人员就职于同一家公司
生成反馈:
## 建议的公司归组 发现 3 名联系人在 “TechHub”: - Jane Doe - [另 2 位来自 daily-status 的提及] **建议:** 创建 `references/clients/TechHub.md` 并关联全部联系人
# Cron 自动运行分析 # 生成 daily-insights.md,包含: - 昨日状态请求的响应率 - 需重点关注的项目(含已提及的阻塞项) - 待跟进联系人(距会面已超 3 天且无任务)
# Cron 自动生成周度反馈 # 包含以下建议: - 需补全的信息项 - 需修复的断链 - 应采用的新模板 - 关系洞察
# 会议前 "显示我与客户 X 的所有互动记录" # 资源规划 "哪些团队成员参与的项目少于 3 个?" # 销售漏斗 "过去 30 天内在各类会议中结识、但尚未跟进的联系人"
/root/life/pkm/
├── references/
│ ├── contacts/ # 源笔记(您编写)
│ ├── clients/ # 源笔记
│ └── team/ # 源笔记
├── daily-status/ # 源笔记
├── projects/ # 源笔记
│
├── memory/ontology/ # 生成的 Ontology
│ ├── graph.jsonl # 实体/关系存储
│ └── schema.yaml # 类型定义
│
└── ontology-sync/ # 同步输出目录
├── config.yaml # 您的配置文件
├── feedback/
│ ├── daily-insights.md
│ ├── weekly-feedback.md
│ └── suggestions.md
└── logs/
└── sync-YYYY-MM-DD.log
未来能力:
根据 Ontology 洞察反向更新 Obsidian 笔记:
# 自动补全缺失字段 python3 skills/obsidian-ontology-sync/scripts/sync.py apply-feedback # 执行内容: # - 在联系人笔记中添加缺失的 email 字段 # - 创建建议的项目文件 # - 关联相关实体 # - 更新 frontmatter
安全性保障:修改文件前始终创建备份。
| 方案 | 优势 | 劣势 |
|---|---|---|
| 手动维护 Ontology | 完全可控 | 工作量过大,易滞后 |
| 纯 Obsidian 方案 | 简单轻量 | 无法进行结构化查询 |
| 纯 Ontology 方案 | 查询能力强大 | 对人类不友好 |
| 本技能 | 兼顾二者优势 | 需初始配置 |
# 已安装 ontology 技能 clawhub install obsidian # 若尚未安装
python3 skills/obsidian-ontology-sync/scripts/init.py # 将创建: # - 填充了 vault_path 的 config.yaml # - Ontology 目录结构 # - Cron 任务
# 手动执行首次同步(测试用) python3 skills/obsidian-ontology-sync/scripts/sync.py extract --dry-run # 查看将被提取的内容 # 审阅后正式运行: python3 skills/obsidian-ontology-sync/scripts/sync.py extract
python3 skills/obsidian-ontology-sync/scripts/setup-cron.py # 确认 Cron 任务已就绪: # ✓ 每 3 小时同步一次 # ✓ 每日 9 点执行分析 # ✓ 每周一 10 点生成反馈
# 尝试部分查询 python3 skills/obsidian-ontology-sync/scripts/query.py "team members on high value projects"
# 干运行查看提取内容 python3 skills/obsidian-ontology-sync/scripts/sync.py extract --dry-run --verbose # 检查特定文件 python3 skills/obsidian-ontology-sync/scripts/debug.py --file references/contacts/Alice.md
# 查看 Ontology 中实际内容 python3 skills/ontology/scripts/ontology.py query --type Person # 确认同步是否成功执行 cat /root/life/pkm/ontology-sync/logs/sync-latest.log
# 手动运行分析与反馈 python3 skills/obsidian-ontology-sync/scripts/sync.py analyze python3 skills/obsidian-ontology-sync/scripts/sync.py feedback
作者:面向规模化团队管理、联系人追踪与商业智能构建 许可证:MIT 标签:obsidian、ontology、knowledge-graph、pkm、automation、sync
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.5万人学习
最新文章