Add markdown sink for filtered knowledge notes
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
# Markdown Sink 设计
|
||||
|
||||
## 1. 目标
|
||||
|
||||
第一版 sink 不直接绑定外部平台,而是先落一个稳定的 `Markdown sink`。
|
||||
|
||||
原因:
|
||||
|
||||
- 可审计
|
||||
- 可版本化
|
||||
- 易迁移
|
||||
- 可直接兼容 Obsidian / 通用 Markdown 知识库
|
||||
|
||||
## 2. 统一输入
|
||||
|
||||
Markdown sink 读取统一的 `SinkInput`:
|
||||
|
||||
- `item`
|
||||
- `article`
|
||||
- `summary`
|
||||
- `filter_decision`
|
||||
- `metadata`
|
||||
|
||||
这样未来扩展 Notion sink、Webhook sink 时,可以继续复用同一套上游输入结构。
|
||||
|
||||
## 3. 目录结构
|
||||
|
||||
当前建议目录结构:
|
||||
|
||||
```text
|
||||
knowledge-base/
|
||||
inbox/
|
||||
review/
|
||||
archive/
|
||||
```
|
||||
|
||||
具体落盘规则:
|
||||
|
||||
- `keep` -> `knowledge-base/inbox/YYYY/YYYY-MM/`
|
||||
- `review` -> `knowledge-base/review/YYYY/YYYY-MM/`
|
||||
- `drop` -> `knowledge-base/archive/YYYY/YYYY-MM/`
|
||||
|
||||
## 4. 文件命名
|
||||
|
||||
文件名格式:
|
||||
|
||||
```text
|
||||
YYYY-MM-DD-title-slug.md
|
||||
```
|
||||
|
||||
例如:
|
||||
|
||||
```text
|
||||
2026-03-21-kimi-cursor.md
|
||||
```
|
||||
|
||||
## 5. Markdown 内容结构
|
||||
|
||||
输出采用:
|
||||
|
||||
- YAML frontmatter
|
||||
- 摘要区
|
||||
- 要点区
|
||||
- 过滤决策区
|
||||
- 原文信息区
|
||||
- 正文摘录区
|
||||
|
||||
frontmatter 中保留:
|
||||
|
||||
- `title`
|
||||
- `url`
|
||||
- `source_id`
|
||||
- `item_id`
|
||||
- `extract_id`
|
||||
- `category`
|
||||
- `worth_keeping`
|
||||
- `decision`
|
||||
- `priority`
|
||||
- `topics`
|
||||
- `keywords`
|
||||
- `labels`
|
||||
- `published_at`
|
||||
- `saved_at`
|
||||
- `quality_flags`
|
||||
|
||||
## 6. 当前落地位置
|
||||
|
||||
- sink 模型:
|
||||
- `src/summary_mcp/models/sink.py`
|
||||
- Markdown sink:
|
||||
- `src/summary_mcp/sinks/markdown.py`
|
||||
- 本地运行脚本:
|
||||
- `scripts/run_markdown_sink.py`
|
||||
|
||||
## 7. 当前阶段结论
|
||||
|
||||
第一版知识库不先绑定 Notion、Lumina 或数据库,而是先让过滤后的内容稳定进入 Markdown 知识库。
|
||||
|
||||
只要这层格式稳定,后续可以继续扩展:
|
||||
|
||||
- Obsidian Vault
|
||||
- Logseq
|
||||
- Notion
|
||||
- Webhook
|
||||
- 自定义数据库 sink
|
||||
Reference in New Issue
Block a user