Obsidian Ontology Sync

Polar Sponsor
爱发电 赞助
.NET 9.0

双向同步 Obsidian PKM(人类友好的笔记)与结构化本体(机器可查询的图),自动提取实体和关系……

欧比西德-肿瘤学同步 哲学:欧比西德是Primary(人类写自然笔记) ^ Ontology是DERIVED(机器提取结构) →反馈循环既改善了两个功能.

功能概述

欧比西德-肿瘤学同步 哲学:欧比西德是Primary(人类写自然笔记) ^ Ontology是DERIVED(机器提取结构) →反馈循环既改善了两个功能.是一项面向实际任务的技能,主要用于Core Confile.;When to use.;

核心要点

  • Situ.。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Obsidian-Ontology 同步

设计理念: Obsidian 是 PRIMARY(人类撰写自然笔记)→ Ontology 是 DERIVED(机器提取结构)→ 反馈闭环持续优化二者

核心概念

Obsidian 笔记(Markdown)
    ↓ 提取(每 3 小时一次)
Ontology 图谱(结构化数据)
    ↓ 查询与分析
洞察与建议
    ↓ 反馈
优化后的笔记模板

适用场景

场景 操作
新建或更新联系人后 运行同步以提取实体
执行业务查询前 先同步,再查询 Ontology
每周回顾 同步 + 分析 + 获取建议
新项目初始化 提取实体 + 建议结构
团队状态追踪 同步 daily-status → Ontology → 分析

提取内容说明

来自联系人笔记(references/contacts/*.md)

提取项:

  • Person 实体(姓名、邮箱、电话)
  • works_at → Organization
  • met_at → Event
  • assigned_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 → Person

来自团队笔记(references/team/*.md)

提取项:

  • Person 实体
  • works_for → Organization
  • assigned_to → Project[]
  • reports_to → Person
  • response_pattern → (proactive、reactive、non-responsive)

来自每日状态笔记(daily-status/YYYY-MM-DD/*.md)

提取项:

  • response_time 属性(附加至 Person 实体)
  • status_update → Event
  • blockers → Issue 实体
  • behavioral_pattern 行为模式追踪

来自项目笔记(projects/*.md)

提取项:

  • Project 实体
  • for_client → Organization
  • team → Person[]
  • status、value、deadline

同步流程

1. 提取阶段(Markdown → Ontology)

# 执行提取
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()

2. 分析阶段(Ontology → 洞察)

# 执行分析
python3 skills/obsidian-ontology-sync/scripts/sync.py analyze

# 生成如下洞察:
# - “3 名团队成员尚未分配任何项目”
# - “联系人 ‘John Doe’ 缺少邮箱地址”
# - “项目 ‘X’ 已有 5 名成员,但未关联客户”
# - “AI Summit 的 10 名联系人尚未关联后续跟进任务”

3. 反馈阶段(洞察 → 改进 PKM)

# 获取建议
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:` 字段

配置说明

config.yaml

# /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 点

定时同步(Cron 集成)

启用自动同步

# 添加至 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 任务:

  1. 每 3 小时一次:从 Obsidian 提取实体 → 更新 Ontology
  2. 每日 9 点:运行分析并生成洞察
  3. 每周一 10 点:生成反馈报告 + 模板建议

基于 Ontology 的查询

完成同步后,可执行以下查询:

# 高价值项目上的所有团队成员
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

反馈闭环示例

示例 1:缺失邮箱检测

Ontology 发现:某 Person 实体缺少 email 属性

生成反馈:

## 缺失联系人信息

以下团队成员缺少邮箱地址:

- [ ] Bob (`references/team/Bob.md`)
- [ ] Lucky (`references/team/Lucky.md`)

**建议:** 在团队成员模板中添加邮箱字段:
```markdown
**Email:** 
```

示例 2:项目链接断链

Ontology 发现:某 Person 的 assigned_to 指向一个不存在的 Project

生成反馈:

## 断裂的项目引用

发现指向不存在项目的引用:

- [ ] “Project Epsilon” 在团队文件中被提及,但无对应 `projects/Project Epsilon.md`
- [ ] “Project Delta Tata DT” 已分配但无项目文件

**建议:** 使用模板创建项目文件

示例 3:关系发现

Ontology 发现:多名人员就职于同一家公司

生成反馈:

## 建议的公司归组

发现 3 名联系人在 “TechHub”:
- Jane Doe
- [另 2 位来自 daily-status 的提及]

**建议:** 创建 `references/clients/TechHub.md` 并关联全部联系人

与日常工作的集成

晨间例行(9 点)

# Cron 自动运行分析
# 生成 daily-insights.md,包含:
- 昨日状态请求的响应率
- 需重点关注的项目(含已提及的阻塞项)
- 待跟进联系人(距会面已超 3 天且无任务)

周度回顾(周一 10 点)

# Cron 自动生成周度反馈
# 包含以下建议:
- 需补全的信息项
- 需修复的断链
- 应采用的新模板
- 关系洞察

按需查询

# 会议前
"显示我与客户 X 的所有互动记录"

# 资源规划
"哪些团队成员参与的项目少于 3 个?"

# 销售漏斗
"过去 30 天内在各类会议中结识、但尚未跟进的联系人"

优势

✅ 对您个人

  1. 零额外工作:只需照常撰写 Obsidian 笔记
  2. 自动结构化:Ontology 全自动提取
  3. 强大查询能力:跨全部数据挖掘模式
  4. 质量持续提升:反馈闭环主动识别缺失信息
  5. 免重复录入:单一可信源(Obsidian)

✅ 对团队管理

  • 追踪各成员所属项目(自动提取)
  • 监控响应模式(源自 daily-status)
  • 识别工作负载不均衡情况
  • 定位跨项目的阻塞点

✅ 对销售/商务拓展

  • 追踪人脉网络(与谁见面、在何地、何时)
  • 跟进提醒(距上次联系已超 7 天)
  • 关系图谱(谁认识谁)
  • 销售漏斗洞察(prospects → warm → clients)

✅ 对财务

  • 项目估值(从客户笔记中提取)
  • 人力成本分摊(人员 → 项目 → 收入)
  • 收入预测(活跃项目 × 估值)

同步后的文件结构

/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 方案 查询能力强大 对人类不友好
本技能 兼顾二者优势 需初始配置

快速开始

1. 安装依赖

# 已安装 ontology 技能
clawhub install obsidian  # 若尚未安装

2. 创建配置

python3 skills/obsidian-ontology-sync/scripts/init.py

# 将创建:
# - 填充了 vault_path 的 config.yaml
# - Ontology 目录结构
# - Cron 任务

3. 首次同步

# 手动执行首次同步(测试用)
python3 skills/obsidian-ontology-sync/scripts/sync.py extract --dry-run

# 查看将被提取的内容
# 审阅后正式运行:
python3 skills/obsidian-ontology-sync/scripts/sync.py extract

4. 启用自动同步

python3 skills/obsidian-ontology-sync/scripts/setup-cron.py

# 确认 Cron 任务已就绪:
# ✓ 每 3 小时同步一次
# ✓ 每日 9 点执行分析
# ✓ 每周一 10 点生成反馈

5. 查询您的数据

# 尝试部分查询
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

版本历史

  • 1.0.0(2026-02-27)— 初始版本,支持提取、分析与反馈闭环

作者:面向规模化团队管理、联系人追踪与商业智能构建 许可证:MIT 标签:obsidian、ontology、knowledge-graph、pkm、automation、sync

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习