feat: 实现 11 个 Wiki Skills
P0 (核心): - wiki-setup: 初始化 wiki vault - wiki-ingest: 蒸馏文档为 wiki 页面 - wiki-capture: 保存对话为 wiki 笔记 P1 (重要): - wiki-rebuild: 重建 wiki 索引 - data-ingest: 录入非结构化数据 - ingest-url: 抓取 URL 内容 - wiki-export: 导出知识图谱 P2 (可选): - wiki-research: 多轮搜索研究 - impl-validator: 验证实现 - graph-colorize: 着色 Obsidian 图形 - wiki-agent: 录入 agent 历史 Co-Authored-By: Claude Dev <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,184 @@
|
||||
---
|
||||
name: data-ingest
|
||||
description: 录入非结构化数据(对话记录、日志、会议记录等)到 wiki
|
||||
trigger: 当用户需要将原始数据转换为结构化 wiki 页面时
|
||||
---
|
||||
|
||||
# Data Ingest
|
||||
|
||||
## 使用场景
|
||||
- 录入 AI 对话历史
|
||||
- 导入会议记录
|
||||
- 处理日志文件
|
||||
- 整理客户反馈
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **识别数据类型**
|
||||
- 对话记录(JSON/文本)
|
||||
- 会议记录(Markdown/文本)
|
||||
- 日志文件(文本/JSON)
|
||||
- 其他非结构化文本
|
||||
|
||||
2. **解析和提取**
|
||||
- 解析数据结构
|
||||
- 提取关键信息
|
||||
- 识别时间戳
|
||||
- 提取参与者
|
||||
|
||||
3. **结构化转换**
|
||||
- 生成统一的 wiki 格式
|
||||
- 添加适当的 frontmatter
|
||||
- 创建索引和链接
|
||||
|
||||
4. **批量处理**
|
||||
- 处理多个文件
|
||||
- 生成汇总页面
|
||||
- 更新目录索引
|
||||
|
||||
## 支持的数据格式
|
||||
|
||||
### 对话记录(JSON)
|
||||
```json
|
||||
{
|
||||
"conversation": [
|
||||
{"role": "user", "content": "...", "timestamp": "..."},
|
||||
{"role": "assistant", "content": "...", "timestamp": "..."}
|
||||
],
|
||||
"metadata": {
|
||||
"title": "对话标题",
|
||||
"context": "项目上下文"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 会议记录
|
||||
```markdown
|
||||
# 会议标题
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**参与者**: Alice, Bob
|
||||
|
||||
## 议题
|
||||
1. ...
|
||||
|
||||
## 讨论内容
|
||||
...
|
||||
|
||||
## 行动项
|
||||
- [ ] Alice: 完成设计
|
||||
- [ ] Bob: 实现功能
|
||||
```
|
||||
|
||||
### 日志文件
|
||||
```
|
||||
YYYY-MM-DD HH:MM:SS [INFO] ...
|
||||
YYYY-MM-DD HH:MM:SS [ERROR] ...
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"processed_files": 5,
|
||||
"total_entries": 120,
|
||||
"categories": {
|
||||
"conversations": 2,
|
||||
"meetings": 2,
|
||||
"logs": 1
|
||||
},
|
||||
"results": [
|
||||
{
|
||||
"source": "conversation.json",
|
||||
"target": "projects/conversation-2024-01-15.md",
|
||||
"entries_count": 15,
|
||||
"status": "success"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 智能处理
|
||||
|
||||
1. **对话记录**
|
||||
- 提取问答对
|
||||
- 识别关键决策
|
||||
- 生成对话摘要
|
||||
- 存入 `projects/` 或 `journal/`
|
||||
|
||||
2. **会议记录**
|
||||
- 提取行动项
|
||||
- 识别决策
|
||||
- 创建议题索引
|
||||
- 存入 `projects/` 或 `synthesis/`
|
||||
|
||||
3. **日志文件**
|
||||
- 按日期分割
|
||||
- 提取错误模式
|
||||
- 识别性能问题
|
||||
- 存入 `journal/` 或 `practices/`
|
||||
|
||||
## 页面模板
|
||||
|
||||
**对话记录页面**:
|
||||
```markdown
|
||||
---
|
||||
name: conversation-YYYY-MM-DD
|
||||
description: 关于 X 的讨论
|
||||
metadata:
|
||||
type: journal
|
||||
date: YYYY-MM-DD
|
||||
participants: [Alice, Bob]
|
||||
tags: [topic-tag]
|
||||
---
|
||||
|
||||
# <对话主题>
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**参与者**: Alice, Bob
|
||||
|
||||
## 背景
|
||||
<对话上下文>
|
||||
|
||||
## 关键讨论
|
||||
|
||||
### Question 1
|
||||
**User**: ...
|
||||
**Answer**: ...
|
||||
|
||||
## 决策
|
||||
- <决策 1>
|
||||
- <决策 2>
|
||||
|
||||
## 行动项
|
||||
- [ ] <行动项 1>
|
||||
|
||||
## 相关链接
|
||||
- [[related-page]]
|
||||
```
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `rebuild_index` - 批量录入后重建索引
|
||||
- `cross_linker` - 创建相关链接
|
||||
- `tag_taxonomy` - 整理标签
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
ingest:
|
||||
max_file_size: 10485760 # 10MB
|
||||
batch_size: 50 # 批处理大小
|
||||
auto_tag: true # 自动添加标签
|
||||
split_long_logs: true # 分割长日志
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 大文件应分批处理
|
||||
2. 敏感信息需要脱敏
|
||||
3. 保留原始时间戳
|
||||
4. 避免创建孤立页面
|
||||
@@ -0,0 +1,157 @@
|
||||
---
|
||||
name: graph-colorize
|
||||
description: 重写 Obsidian graph.json 按分类着色节点,增强可视化
|
||||
trigger: 当用户需要更新 Obsidian 图形视图的节点颜色时
|
||||
---
|
||||
|
||||
# Graph Colorize
|
||||
|
||||
## 使用场景
|
||||
- 更新 Obsidian 图形可视化
|
||||
- 按分类区分节点颜色
|
||||
- 增强知识图谱可读性
|
||||
- 自定义节点样式
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **读取现有 graph.json**
|
||||
- 定位 Obsidian vault
|
||||
- 读取当前 graph.json
|
||||
- 备份原文件
|
||||
|
||||
2. **分析节点分类**
|
||||
- 从 MCP Server 获取页面分类
|
||||
- 识别节点类型
|
||||
- 确定着色方案
|
||||
|
||||
3. **生成新 graph.json**
|
||||
- 为每类节点分配颜色
|
||||
- 应用自定义样式
|
||||
- 保存新文件
|
||||
|
||||
4. **验证结果**
|
||||
- 检查 JSON 有效性
|
||||
- 验证所有节点已着色
|
||||
|
||||
## 颜色方案
|
||||
|
||||
### 默认方案(按目录)
|
||||
|
||||
| 分类 | 颜色 | Hex Code |
|
||||
|-----|------|----------|
|
||||
| practices | 蓝色 | #3b82f6 |
|
||||
| concepts | 绿色 | #10b981 |
|
||||
| entities | 紫色 | #8b5cf6 |
|
||||
| projects | 红色 | #ef4444 |
|
||||
| skills | 黄色 | #f59e0b |
|
||||
| references | 灰色 | #6b7280 |
|
||||
| synthesis | 粉色 | #ec4899 |
|
||||
| journal | 青色 | #06b6d4 |
|
||||
|
||||
### 自定义方案
|
||||
|
||||
用户可在配置文件中自定义颜色:
|
||||
|
||||
```yaml
|
||||
colorize:
|
||||
colors:
|
||||
practices: "#3b82f6"
|
||||
concepts: "#10b981"
|
||||
custom_category: "#ff0000"
|
||||
```
|
||||
|
||||
## graph.json 结构
|
||||
|
||||
```json
|
||||
{
|
||||
"colorGroups": [
|
||||
{
|
||||
"path": "practices",
|
||||
"color": "#3b82f6",
|
||||
"background": "#eff6ff"
|
||||
},
|
||||
{
|
||||
"path": "concepts",
|
||||
"color": "#10b981",
|
||||
"background": "#ecfdf5"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"graph_json_path": "/path/to/.obsidian/graph.json",
|
||||
"backup_path": "/path/to/.obsidian/graph.json.backup",
|
||||
"stats": {
|
||||
"total_nodes": 1353,
|
||||
"colored_nodes": 1353,
|
||||
"color_groups": 8
|
||||
},
|
||||
"color_scheme": "default"
|
||||
}
|
||||
```
|
||||
|
||||
## 高级功能
|
||||
|
||||
### 按生命周期着色
|
||||
|
||||
| 状态 | 颜色 |
|
||||
|-----|------|
|
||||
| draft | 灰色 (#9ca3af) |
|
||||
| verified | 绿色 (#10b981) |
|
||||
| archived | 暗灰色 (#4b5563) |
|
||||
|
||||
### 按标签着色
|
||||
|
||||
为特定标签分配特殊颜色:
|
||||
- `important`: 红色边框
|
||||
- `wip`: 黄色背景
|
||||
- `done`: 绿色背景
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `wiki_status` - 获取所有页面和分类
|
||||
- `get_all_pages` - 获取节点列表
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
colorize:
|
||||
scheme: "default" # 颜色方案
|
||||
color_by: "category" # 分类方式: category/lifecycle/tag
|
||||
backup_original: true # 备份原文件
|
||||
force_color: {} # 强制覆盖特定节点颜色
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
**使用默认方案**:
|
||||
```
|
||||
graph-colorize
|
||||
```
|
||||
|
||||
**使用生命周期着色**:
|
||||
```
|
||||
graph-colorize --color-by lifecycle
|
||||
```
|
||||
|
||||
**自定义颜色**:
|
||||
```yaml
|
||||
colorize:
|
||||
color_by: "tag"
|
||||
force_color:
|
||||
important: "#ef4444"
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 备份原始 graph.json
|
||||
2. 确保 Obsidian 已关闭
|
||||
3. 验证 JSON 格式正确
|
||||
4. 颜色考虑可访问性
|
||||
@@ -0,0 +1,186 @@
|
||||
---
|
||||
name: impl-validator
|
||||
description: 验证实现是否符合其声明目标(代码审查、架构验证)
|
||||
trigger: 当用户需要验证代码实现或架构设计时
|
||||
---
|
||||
|
||||
# Impl Validator
|
||||
|
||||
## 使用场景
|
||||
- 代码实现验证
|
||||
- 架构合规性检查
|
||||
- PR 审查辅助
|
||||
- 技术债务评估
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **获取待验证内容**
|
||||
- 代码文件或目录
|
||||
- PR/Issue 描述
|
||||
- 设计文档
|
||||
|
||||
2. **定义验证标准**
|
||||
- 从 frontmatter 或文档中提取目标
|
||||
- 确定验证维度
|
||||
- 设置检查点
|
||||
|
||||
3. **执行验证**
|
||||
- 代码审查
|
||||
- 架构分析
|
||||
- 测试覆盖率检查
|
||||
|
||||
4. **生成报告**
|
||||
- 评分和发现
|
||||
- 改进建议
|
||||
- 存入 wiki
|
||||
|
||||
## 验证维度
|
||||
|
||||
| 维度 | 检查项 |
|
||||
|-----|-------|
|
||||
| **正确性** | 是否实现声明功能 |
|
||||
| **性能** | 是否满足性能要求 |
|
||||
| **安全** | 是否存在安全风险 |
|
||||
| **可维护性** | 代码是否清晰易读 |
|
||||
| **测试** | 是否有充分测试 |
|
||||
| **文档** | 文档是否完整 |
|
||||
|
||||
## 页面模板
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: impl-validation-YYYY-MM-DD
|
||||
description: 实现验证报告
|
||||
metadata:
|
||||
type: synthesis | project
|
||||
validated_at: YYYY-MM-DD
|
||||
scope: <component-or-pr>
|
||||
tags: [validation, review]
|
||||
---
|
||||
|
||||
# 实现验证:<组件名称>
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**范围**: <组件/PR>
|
||||
**目标**: <声明的实现目标>
|
||||
|
||||
## 声明目标
|
||||
<从文档或 issue 中提取的目标>
|
||||
|
||||
## 验证结果
|
||||
|
||||
### 正确性 ✅/⚠️/❌
|
||||
- [x] 功能完整性
|
||||
- [x] 边界情况处理
|
||||
- [ ] 错误处理
|
||||
|
||||
### 性能 ✅/⚠️/❌
|
||||
- [x] 满足性能要求
|
||||
- [x] 无明显瓶颈
|
||||
- [x] 资源使用合理
|
||||
|
||||
### 安全 ✅/⚠️/❌
|
||||
- [x] 无已知漏洞
|
||||
- [x] 输入验证充分
|
||||
- [ ] 敏感数据处理
|
||||
|
||||
### 可维护性 ✅/⚠️/❌
|
||||
- [x] 代码清晰
|
||||
- [x] 命名规范
|
||||
- [x] 适当注释
|
||||
|
||||
### 测试 ✅/⚠️/❌
|
||||
- [x] 单元测试覆盖
|
||||
- [ ] 集成测试
|
||||
- [ ] 边界测试
|
||||
|
||||
### 文档 ✅/⚠️/❌
|
||||
- [x] API 文档
|
||||
- [x] 使用示例
|
||||
- [ ] 架构说明
|
||||
|
||||
## 发现的问题
|
||||
|
||||
### 问题 1:中等
|
||||
**描述**: ...
|
||||
**位置**: file:line
|
||||
**建议**: ...
|
||||
|
||||
### 问题 2:低
|
||||
**描述**: ...
|
||||
**位置**: file:line
|
||||
**建议**: ...
|
||||
|
||||
## 改进建议
|
||||
|
||||
1. **高优先级**
|
||||
- 建议 1
|
||||
- 建议 2
|
||||
|
||||
2. **中优先级**
|
||||
- 建议 3
|
||||
|
||||
## 总体评分
|
||||
|
||||
| 维度 | 评分 | 备注 |
|
||||
|-----|------|------|
|
||||
| 正确性 | 8/10 | ... |
|
||||
| 性能 | 7/10 | ... |
|
||||
| 安全 | 9/10 | ... |
|
||||
| 可维护性 | 8/10 | ... |
|
||||
| 测试 | 6/10 | ... |
|
||||
| 文档 | 7/10 | ... |
|
||||
|
||||
**综合评分**: 7.5/10
|
||||
|
||||
## 相关链接
|
||||
- [[related-practice]]
|
||||
- [[component-doc]]
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"scope": "component-name",
|
||||
"saved_to": "projects/validation-component-2024-01-15.md",
|
||||
"validation_summary": {
|
||||
"overall_score": 7.5,
|
||||
"dimensions": {
|
||||
"correctness": 8,
|
||||
"performance": 7,
|
||||
"security": 9,
|
||||
"maintainability": 8,
|
||||
"testing": 6,
|
||||
"documentation": 7
|
||||
},
|
||||
"issues_found": 3,
|
||||
"improvements": 5
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## MCP 集成
|
||||
|
||||
使用 MCP 工具:
|
||||
- `wiki_query` - 查找相关实践
|
||||
- `wiki_lint` - 检查代码质量
|
||||
- `cross_linker` - 创建相关链接
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
validation:
|
||||
auto_save: true # 自动保存报告
|
||||
include_code_snippets: true # 包含代码片段
|
||||
suggest_improvements: true # 建议改进
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 客观评价,避免主观偏见
|
||||
2. 提供具体改进建议
|
||||
3. 区分必需和可选改进
|
||||
4. 保留验证历史用于对比
|
||||
@@ -0,0 +1,128 @@
|
||||
---
|
||||
name: ingest-url
|
||||
description: 抓取 URL 内容并蒸馏为 wiki 页面
|
||||
trigger: 当用户需要保存网页内容到 wiki 时
|
||||
---
|
||||
|
||||
# Ingest URL
|
||||
|
||||
## 使用场景
|
||||
- 保存技术文章到 wiki
|
||||
- 归档博客内容
|
||||
- 捕获文档页面
|
||||
- 整合参考资料
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **获取 URL**
|
||||
- 从用户输入获取 URL
|
||||
- 验证 URL 格式
|
||||
- 检查可访问性
|
||||
|
||||
2. **抓取内容**
|
||||
- 使用 web_reader MCP 工具
|
||||
- 获取页面内容
|
||||
- 提取元数据(标题、作者)
|
||||
|
||||
3. **蒸馏为 wiki 格式**
|
||||
- 转换为 Markdown
|
||||
- 提取关键信息
|
||||
- 添加元数据和来源
|
||||
|
||||
4. **写入 wiki**
|
||||
- 放入 `references/` 目录
|
||||
- 创建适当的标签
|
||||
- 更新索引
|
||||
|
||||
## 支持的 URL 类型
|
||||
|
||||
| URL 类型 | 处理方式 |
|
||||
|---------|---------|
|
||||
| 技术博客 | 提取文章内容、代码 |
|
||||
| 官方文档 | 提取文档结构、API 说明 |
|
||||
| GitHub README | 提取项目说明、使用方法 |
|
||||
| Stack Overflow | 提取问题和答案 |
|
||||
| 新闻/博客 | 提取标题、正文 |
|
||||
|
||||
## 页面模板
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: article-slug
|
||||
description: 文章简短摘要
|
||||
metadata:
|
||||
type: reference
|
||||
source_url: <original-url>
|
||||
source_title: <page-title>
|
||||
author: <author-if-available>
|
||||
created: <date>
|
||||
tags: [tag1, tag2]
|
||||
---
|
||||
|
||||
# <文章标题>
|
||||
|
||||
**来源**: [原始链接](<url>)
|
||||
**作者**: <author>
|
||||
**日期**: <capture-date>
|
||||
**标签**: \`tag1\` \`tag2\`
|
||||
|
||||
## 摘要
|
||||
<文章摘要或简介>
|
||||
|
||||
## 核心内容
|
||||
|
||||
<提取的主要内容和结构>
|
||||
|
||||
## 关键要点
|
||||
|
||||
- 要点 1
|
||||
- 要点 2
|
||||
|
||||
## 相关链接
|
||||
|
||||
- [[related-wiki-page]]
|
||||
- [[related-concept]]
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"url": "https://example.com/article",
|
||||
"saved_to": "references/article-slug.md",
|
||||
"word_count": 1500,
|
||||
"extracted": {
|
||||
"title": "文章标题",
|
||||
"author": "作者",
|
||||
"tags": ["tag1", "tag2"],
|
||||
"summary": "文章摘要"
|
||||
},
|
||||
"links_created": 2
|
||||
}
|
||||
```
|
||||
|
||||
## MCP 集成
|
||||
|
||||
使用 MCP 工具:
|
||||
- `web_reader` - 抓取网页内容
|
||||
- `wiki_ingest` - 蒸馏为 wiki 格式
|
||||
- `cross_linker` - 创建相关链接
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
ingest_url:
|
||||
timeout: 30 # 请求超时(秒)
|
||||
max_size: 1048576 # 最大内容大小(1MB)
|
||||
preserve_images: false # 是否保留图片
|
||||
strip_ads: true # 是否移除广告
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 遵守 robots.txt
|
||||
2. 尊重版权信息
|
||||
3. 保留原始来源链接
|
||||
4. 避免抓取受限内容
|
||||
@@ -0,0 +1,196 @@
|
||||
---
|
||||
name: wiki-agent
|
||||
description: 从特定 AI agent 的历史记录中定向录入知识到 wiki
|
||||
trigger: 当用户需要从 agent 历史记录中提取有价值信息时
|
||||
---
|
||||
|
||||
# Wiki Agent
|
||||
|
||||
## 使用场景
|
||||
- 从 Claude Code 对话历史提取知识
|
||||
- 录入特定 agent 的工作记录
|
||||
- 整理项目开发过程
|
||||
- 归档问题解决经验
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **指定 Agent 来源**
|
||||
- 确定项目路径
|
||||
- 定位 agent 历史文件
|
||||
- 选择时间范围
|
||||
|
||||
2. **解析历史记录**
|
||||
- 读取对话 JSONL 文件
|
||||
- 提取用户和 AI 消息
|
||||
- 识别代码变更
|
||||
|
||||
3. **智能过滤**
|
||||
- 移除重复内容
|
||||
- 过滤元指令
|
||||
- 提取关键见解
|
||||
|
||||
4. **结构化处理**
|
||||
- 按主题分组
|
||||
- 生成页面结构
|
||||
- 创建相关链接
|
||||
|
||||
5. **写入 wiki**
|
||||
- 保存到 `projects/` 或 `journal/`
|
||||
- 更新项目索引
|
||||
|
||||
## 支持的 Agent 类型
|
||||
|
||||
| Agent | 来源路径 | 说明 |
|
||||
|-------|---------|------|
|
||||
| Claude Code | `.claude/projects/*/.../*.jsonl` | Claude Code 对话历史 |
|
||||
| Generic | 自定义路径 | 通用 JSONL 格式 |
|
||||
|
||||
## JSONL 格式
|
||||
|
||||
```jsonl
|
||||
{"role": "user", "content": "问题", "timestamp": "2024-01-15T10:00:00Z"}
|
||||
{"role": "assistant", "content": "回答", "timestamp": "2024-01-15T10:00:01Z"}
|
||||
{"type": "tool_use", "tool": "function", "input": {...}}
|
||||
{"type": "tool_result", "output": "..."}
|
||||
```
|
||||
|
||||
## 页面模板
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: agent-history-YYYY-MM-DD
|
||||
description: Agent 工作记录摘要
|
||||
metadata:
|
||||
type: journal | project
|
||||
agent: claude-code
|
||||
project: project-name
|
||||
date_range: YYYY-MM-DD to YYYY-MM-DD
|
||||
tags: [agent, history]
|
||||
---
|
||||
|
||||
# Agent 工作记录:<项目名称>
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**Agent**: Claude Code
|
||||
**消息数**: 42
|
||||
|
||||
## 工作摘要
|
||||
<对话主题摘要>
|
||||
|
||||
## 关键决策
|
||||
|
||||
### 决策 1
|
||||
**上下文**: ...
|
||||
**决定**: ...
|
||||
**原因**: ...
|
||||
|
||||
## 实施记录
|
||||
|
||||
### 任务 1
|
||||
**问题**: ...
|
||||
**解决方案**: ...
|
||||
**代码变更**: file.js:100
|
||||
|
||||
### 任务 2
|
||||
**问题**: ...
|
||||
**解决方案**: ...
|
||||
|
||||
## 遇到的问题
|
||||
|
||||
### 问题 1
|
||||
**描述**: ...
|
||||
**解决过程**: ...
|
||||
**最终方案**: ...
|
||||
|
||||
## 获得的见解
|
||||
|
||||
- 见解 1
|
||||
- 见解 2
|
||||
|
||||
## 使用的工具
|
||||
- tool1 (用途)
|
||||
- tool2 (用途)
|
||||
|
||||
## 相关链接
|
||||
- [[related-project]]
|
||||
- [[related-practice]]
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"agent": "claude-code",
|
||||
"project": "project-name",
|
||||
"saved_to": "projects/project-history-2024-01-15.md",
|
||||
"summary": {
|
||||
"messages_processed": 120,
|
||||
"decisions_extracted": 3,
|
||||
"problems_solved": 2,
|
||||
"insights_captured": 5,
|
||||
"tools_used": ["tool1", "tool2"]
|
||||
},
|
||||
"pages_created": 2
|
||||
}
|
||||
```
|
||||
|
||||
## 智能提取
|
||||
|
||||
1. **决策识别**
|
||||
- 查找 "决定"、"选择" 等关键词
|
||||
- 提取决策背景和原因
|
||||
- 记录决策结果
|
||||
|
||||
2. **问题解决**
|
||||
- 识别错误和异常
|
||||
- 提取排查过程
|
||||
- 记录最终方案
|
||||
|
||||
3. **代码变更**
|
||||
- 提取文件编辑记录
|
||||
- 记录变更原因
|
||||
- 保存关键代码片段
|
||||
|
||||
4. **见解提取**
|
||||
- 识别学习点
|
||||
- 提取最佳实践
|
||||
- 记录经验教训
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `wiki_query` - 查找相关项目知识
|
||||
- `wiki_ingest` - 蒸馏为 wiki 格式
|
||||
- `cross_linker` - 创建相关链接
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
agent:
|
||||
default_agent: "claude-code"
|
||||
history_path: ".claude/projects"
|
||||
max_messages: 500 # 最大处理消息数
|
||||
include_code: true # 是否包含代码变更
|
||||
group_by_topic: true # 按主题分组
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
**录入最近的 agent 历史**:
|
||||
```
|
||||
wiki-agent --project my-project --days 7
|
||||
```
|
||||
|
||||
**指定时间范围**:
|
||||
```
|
||||
wiki-agent --project my-project --from 2024-01-01 --to 2024-01-15
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 注意敏感信息过滤
|
||||
2. 尊重数据隐私
|
||||
3. 验证 JSONL 格式正确
|
||||
4. 避免重复录入相同内容
|
||||
@@ -0,0 +1,143 @@
|
||||
---
|
||||
name: wiki-capture
|
||||
description: 将当前 AI 对话保存为结构化的 wiki 笔记,保留关键见解和决策
|
||||
trigger: 当用户完成有价值的对话并希望保存到 wiki 时
|
||||
---
|
||||
|
||||
# Wiki Capture
|
||||
|
||||
## 使用场景
|
||||
- 保存 AI 辅助的决策过程
|
||||
- 记录问题解决方案
|
||||
- 捕获设计讨论
|
||||
- 归档代码审查结果
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **分析对话内容**
|
||||
- 提取用户问题和 AI 回答
|
||||
- 识别关键见解
|
||||
- 标记重要决策
|
||||
|
||||
2. **结构化处理**
|
||||
- 总结对话主题
|
||||
- 提取可复用的模式
|
||||
- 识别相关概念链接
|
||||
|
||||
3. **生成 wiki 页面**
|
||||
- 创建对话摘要
|
||||
- 保存关键代码片段
|
||||
- 添加元数据(时间、上下文)
|
||||
|
||||
4. **写入 wiki vault**
|
||||
- 放入适当的分类
|
||||
- 更新日志
|
||||
- 创建相关链接
|
||||
|
||||
## 页面模板
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: conversation-slug
|
||||
description: 简短摘要
|
||||
metadata:
|
||||
type: journal | synthesis | project
|
||||
context: <project-or-task>
|
||||
date: <capture-date>
|
||||
tags: [tag1, tag2]
|
||||
---
|
||||
|
||||
# <对话主题>
|
||||
|
||||
**日期**: YYYY-MM-DD
|
||||
**上下文**: <项目/任务>
|
||||
|
||||
## 问题
|
||||
<用户的问题>
|
||||
|
||||
## 解决方案
|
||||
<AI 的回答>
|
||||
|
||||
## 关键见解
|
||||
- 要点 1
|
||||
- 要点 2
|
||||
|
||||
## 决策
|
||||
<记录的重要决策>
|
||||
|
||||
## 相关链接
|
||||
- [[related-concept]]
|
||||
- [[related-practice]]
|
||||
```
|
||||
|
||||
## 智能分类
|
||||
|
||||
根据对话内容自动确定分类:
|
||||
|
||||
| 对话类型 | 目标目录 |
|
||||
|---------|---------|
|
||||
| 技术问题解决 | `practices/` |
|
||||
| 架构讨论 | `concepts/` |
|
||||
| 项目决策 | `projects/` |
|
||||
| 学习笔记 | `journal/` |
|
||||
| 跨领域综合 | `synthesis/` |
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"saved_to": "journal/conversation-title.md",
|
||||
"message_count": 8,
|
||||
"extraction_summary": {
|
||||
"key_insights": 2,
|
||||
"decisions": 1,
|
||||
"code_blocks": 1,
|
||||
"links_created": 3
|
||||
},
|
||||
"log_updated": true
|
||||
}
|
||||
```
|
||||
|
||||
## 捕获策略
|
||||
|
||||
1. **去噪声**
|
||||
- 移除问候语
|
||||
- 过滤重复确认
|
||||
- 忽略元指令
|
||||
|
||||
2. **提取关键信息**
|
||||
- 代码块和配置
|
||||
- 设计决策
|
||||
- 故障排查步骤
|
||||
- 性能优化建议
|
||||
|
||||
3. **生成链接**
|
||||
- 识别提及的 wiki 页面
|
||||
- 创建概念链接
|
||||
- 建议相关实践
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `memory_bridge` - 查找相关记忆
|
||||
- `wiki_lint` - 验证生成的页面
|
||||
- `cross_linker` - 自动创建交叉引用
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
capture:
|
||||
auto_save: false # 是否自动保存
|
||||
default_type: "journal" # 默认分类
|
||||
include_full_context: true # 是否包含完整对话
|
||||
max_message_count: 100 # 最大消息数量限制
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 获取用户确认后再保存
|
||||
2. 确保敏感信息不被意外记录
|
||||
3. 保留对话的完整上下文链接
|
||||
4. 避免保存无关的调试信息
|
||||
@@ -0,0 +1,179 @@
|
||||
---
|
||||
name: wiki-export
|
||||
description: 导出知识图谱为结构化格式(JSON、Markdown、GraphML)
|
||||
trigger: 当用户需要备份、迁移或分析 wiki 知识图谱时
|
||||
---
|
||||
|
||||
# Wiki Export
|
||||
|
||||
## 使用场景
|
||||
- 备份知识图谱
|
||||
- 迁移到其他系统
|
||||
- 分析知识结构
|
||||
- 生成可视化数据
|
||||
- 与其他工具集成
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **选择导出格式**
|
||||
- JSON(完整数据)
|
||||
- Markdown(静态网站)
|
||||
- GraphML(图可视化)
|
||||
- CSV(数据分析)
|
||||
|
||||
2. **收集数据**
|
||||
- 从 MCP Server 获取所有页面
|
||||
- 获取链接关系
|
||||
- 获取标签索引
|
||||
- 获取元数据
|
||||
|
||||
3. **格式化输出**
|
||||
- 转换为选定的格式
|
||||
- 应用压缩(可选)
|
||||
- 生成目录结构
|
||||
|
||||
4. **写入文件**
|
||||
- 保存到指定位置
|
||||
- 生成校验和
|
||||
- 创建清单文件
|
||||
|
||||
## 导出格式
|
||||
|
||||
### 格式 1:完整 JSON(完整备份)
|
||||
|
||||
```json
|
||||
{
|
||||
"version": "1.0",
|
||||
"exported_at": "2024-01-15T10:30:00Z",
|
||||
"stats": {
|
||||
"total_pages": 1353,
|
||||
"total_links": 4200,
|
||||
"total_tags": 156
|
||||
},
|
||||
"pages": [
|
||||
{
|
||||
"path": "practices/example.md",
|
||||
"title": "示例页面",
|
||||
"category": "practices",
|
||||
"tags": ["tag1", "tag2"],
|
||||
"summary": "页面摘要",
|
||||
"content_hash": "...",
|
||||
"lifecycle": "verified",
|
||||
"source_tool": "claude",
|
||||
"created_at": "2024-01-01",
|
||||
"updated_at": "2024-01-15",
|
||||
"indexed_at": "2024-01-15"
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
"source": "practices/a.md",
|
||||
"target": "concepts/b.md"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"tag": "python",
|
||||
"count": 42
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 格式 2:静态 Markdown(静态网站)
|
||||
|
||||
保持原有目录结构,可直接用于静态网站生成。
|
||||
|
||||
### 格式 3:GraphML(图可视化)
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
|
||||
<graph id="wiki-graph" edgedefault="directed">
|
||||
<node id="practices/a.md">
|
||||
<data key="title">示例</data>
|
||||
<data key="category">practices</data>
|
||||
</node>
|
||||
<edge source="practices/a.md" target="concepts/b.md"/>
|
||||
</graph>
|
||||
</graphml>
|
||||
```
|
||||
|
||||
### 格式 4:CSV(数据分析)
|
||||
|
||||
```csv
|
||||
path,title,category,tags,summary,lifecycle,updated_at
|
||||
practices/a.md,示例,practices,"tag1,tag2",摘要,verified,2024-01-15
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"format": "json",
|
||||
"output_path": "/path/to/export.json",
|
||||
"stats": {
|
||||
"total_pages": 1353,
|
||||
"total_links": 4200,
|
||||
"file_size": "5.2MB"
|
||||
},
|
||||
"checksum": "sha256:..."
|
||||
}
|
||||
```
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `wiki_status` - 获取导出前的状态
|
||||
- 查询所有页面、链接、标签
|
||||
|
||||
## 目录结构
|
||||
|
||||
导出输出目录:
|
||||
```
|
||||
export/
|
||||
├── wiki-export-YYYYMMDD.json
|
||||
├── wiki-export-YYYYMMDD.md/
|
||||
│ ├── practices/
|
||||
│ ├── concepts/
|
||||
│ └── ...
|
||||
├── wiki-export-YYYYMMDD.graphml
|
||||
├── wiki-export-YYYYMMDD.csv
|
||||
└── manifest.json # 导出清单
|
||||
```
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
export:
|
||||
default_format: "json" # 默认导出格式
|
||||
compress_output: false # 是否压缩
|
||||
include_content: true # 是否包含页面内容
|
||||
split_large_files: false # 分割大文件
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
**备份整个 wiki**:
|
||||
```
|
||||
wiki-export --format json --output ~/backups/wiki.json
|
||||
```
|
||||
|
||||
**导出用于可视化**:
|
||||
```
|
||||
wiki-export --format graphml --output ~/analysis/wiki.graphml
|
||||
```
|
||||
|
||||
**导出用于数据分析**:
|
||||
```
|
||||
wiki-export --format csv --output ~/data/wiki.csv
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 大型 wiki 导出可能需要较长时间
|
||||
2. 确保有足够的磁盘空间
|
||||
3. 验证导出文件的完整性
|
||||
4. 敏感信息需注意保护
|
||||
@@ -0,0 +1,123 @@
|
||||
---
|
||||
name: wiki-ingest
|
||||
description: 将文档(markdown、文本、代码)蒸馏为结构化、互联的 wiki 页面
|
||||
trigger: 当用户需要将现有文档、笔记或代码库转换为 wiki 页面时
|
||||
---
|
||||
|
||||
# Wiki Ingest
|
||||
|
||||
## 使用场景
|
||||
- 转换现有文档为 wiki 格式
|
||||
- 录入技术文档和设计说明
|
||||
- 将代码注释提取为 wiki 页面
|
||||
- 整理散落的笔记
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **获取输入源**
|
||||
- 支持的格式:Markdown (.md), 纯文本 (.txt), 代码文件
|
||||
- 可以是单个文件或目录
|
||||
- 从用户或环境变量获取源路径
|
||||
|
||||
2. **分析文档结构**
|
||||
- 提取标题、章节
|
||||
- 识别代码块
|
||||
- 查找现有链接和引用
|
||||
|
||||
3. **蒸馏为 wiki 格式**
|
||||
- 添加 frontmatter(元数据)
|
||||
- 转换外部链接为 wikilinks
|
||||
- 生成适当的分类路径
|
||||
- 创建必要的标签
|
||||
|
||||
4. **智能互联**
|
||||
- 识别相关概念并创建 wikilinks
|
||||
- 建议引用现有 wiki 页面
|
||||
- 生成 [[backlinks]]
|
||||
|
||||
5. **写入 wiki vault**
|
||||
- 按分类放置文件
|
||||
- 更新 index.md
|
||||
- 记录到 log.md
|
||||
|
||||
## Frontmatter 模板
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: page-slug
|
||||
description: 一句话摘要
|
||||
metadata:
|
||||
type: practice | concept | entity | project | skill | reference | synthesis
|
||||
source: <original-file-path>
|
||||
created: <date>
|
||||
tags: [tag1, tag2]
|
||||
---
|
||||
```
|
||||
|
||||
## 分类规则
|
||||
|
||||
| 内容类型 | 目标目录 |
|
||||
|---------|---------|
|
||||
| 最佳实践、经验教训 | `practices/` |
|
||||
| 概念、思维模型 | `concepts/` |
|
||||
| 人物、公司、工具 | `entities/` |
|
||||
| 项目文档 | `projects/` |
|
||||
| 如何做教程 | `skills/` |
|
||||
| 外部资料摘要 | `references/` |
|
||||
| 跨项目分析 | `synthesis/` |
|
||||
| 日常笔记 | `journal/` |
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"processed": 5,
|
||||
"skipped": 0,
|
||||
"failed": 0,
|
||||
"results": [
|
||||
{
|
||||
"source": "/path/to/source.md",
|
||||
"target": "practices/source.md",
|
||||
"links_created": 3,
|
||||
"status": "success"
|
||||
}
|
||||
],
|
||||
"index_updated": true
|
||||
}
|
||||
```
|
||||
|
||||
## 蒸馏规则
|
||||
|
||||
1. **标题处理**
|
||||
- 第一个 # 标题作为页面标题
|
||||
- 如无标题,从文件名推断
|
||||
|
||||
2. **链接转换**
|
||||
- HTTP(S) 链接保持不变
|
||||
- 相对路径转换为 wikilinks
|
||||
- 创建引用目标(如不存在)
|
||||
|
||||
3. **内容优化**
|
||||
- 保留代码块语法高亮
|
||||
- 转换表格为 Markdown 格式
|
||||
- 清理多余空白
|
||||
|
||||
4. **标签生成**
|
||||
- 从 frontmatter 提取
|
||||
- 从内容关键词推断
|
||||
- 使用受控词表(如配置)
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `rebuild_index` - 重建索引
|
||||
- `wiki_lint` - 验证页面格式
|
||||
- `cross_linker` - 自动创建交叉链接
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 大文件可能需要分页处理
|
||||
2. 确保 wikilinks 目标最终存在
|
||||
3. 保留原始来源信息
|
||||
4. 避免重复创建相同内容
|
||||
@@ -0,0 +1,132 @@
|
||||
---
|
||||
name: wiki-rebuild
|
||||
description: 归档现有 wiki 并重建,或从历史备份恢复
|
||||
trigger: 当 wiki 索引损坏或需要从备份恢复时
|
||||
---
|
||||
|
||||
# Wiki Rebuild
|
||||
|
||||
## 使用场景
|
||||
- 索引文件损坏需要重建
|
||||
- 迁移到新的 MCP Server 版本
|
||||
- 从备份恢复 wiki
|
||||
- 清理冗余数据
|
||||
|
||||
## 操作步骤
|
||||
|
||||
### 模式 A:归档并重建
|
||||
|
||||
1. **备份现有数据**
|
||||
- 归档当前索引文件
|
||||
- 创建时间戳备份
|
||||
- 保留 wiki-vault 内容
|
||||
|
||||
2. **清理旧索引**
|
||||
- 删除旧索引文件
|
||||
- 清空 MCP Server 缓存
|
||||
|
||||
3. **重建索引**
|
||||
- 调用 MCP Server `rebuild_index`
|
||||
- 扫描所有 wiki 页面
|
||||
- 重建 FTS5 全文索引
|
||||
- 重建链接关系图
|
||||
|
||||
4. **验证结果**
|
||||
- 检查索引完整性
|
||||
- 验证页面数量
|
||||
- 测试搜索功能
|
||||
|
||||
### 模式 B:从备份恢复
|
||||
|
||||
1. **列出可用备份**
|
||||
- 扫描备份目录
|
||||
- 显示备份时间戳
|
||||
|
||||
2. **用户选择备份**
|
||||
- 选择恢复点
|
||||
- 确认恢复操作
|
||||
|
||||
3. **恢复数据**
|
||||
- 恢复索引文件
|
||||
- 验证数据完整性
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
~/.sanguo-llmwiki/
|
||||
├── index.db # 当前索引
|
||||
├── backups/ # 备份目录
|
||||
│ ├── index-2024-01-15.db
|
||||
│ ├── index-2024-01-16.db
|
||||
│ └── index-latest.db
|
||||
└── config.yaml
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
**重建成功**:
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"action": "rebuild",
|
||||
"backup_created": "backups/index-2024-01-15.db",
|
||||
"stats": {
|
||||
"total_pages": 1353,
|
||||
"total_links": 4200,
|
||||
"total_tags": 156,
|
||||
"rebuild_time": "45.2s"
|
||||
},
|
||||
"integrity_check": "passed"
|
||||
}
|
||||
```
|
||||
|
||||
**恢复成功**:
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"action": "restore",
|
||||
"restored_from": "backups/index-2024-01-15.db",
|
||||
"stats": {
|
||||
"total_pages": 1350,
|
||||
"total_links": 4195
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## MCP 集成
|
||||
|
||||
调用 MCP Server 工具:
|
||||
- `rebuild_index` - 执行全量重建
|
||||
- `wiki_status` - 获取重建前后的状态
|
||||
- `check_integrity` - 验证数据库完整性
|
||||
|
||||
## 安全措施
|
||||
|
||||
1. **备份验证**
|
||||
- 确保备份文件完整
|
||||
- 验证文件大小
|
||||
|
||||
2. **原子操作**
|
||||
- 先备份后操作
|
||||
- 失败时自动回滚
|
||||
|
||||
3. **磁盘空间检查**
|
||||
- 确保足够空间
|
||||
- 清理旧备份
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
rebuild:
|
||||
backup_before_rebuild: true # 重建前自动备份
|
||||
max_backups: 10 # 保留的备份数量
|
||||
auto_cleanup: true # 自动清理过期备份
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 重建操作可能需要较长时间
|
||||
2. 确保重建期间没有其他写入操作
|
||||
3. 验证 wiki-vault 路径正确
|
||||
4. 大型 wiki 重建可能需要数分钟
|
||||
@@ -0,0 +1,154 @@
|
||||
---
|
||||
name: wiki-research
|
||||
description: 多轮 web 搜索研究,综合发现并存入 wiki
|
||||
trigger: 当用户需要深入研究某个主题并保存结果时
|
||||
---
|
||||
|
||||
# Wiki Research
|
||||
|
||||
## 使用场景
|
||||
- 深入研究技术主题
|
||||
- 对比不同解决方案
|
||||
- 调查最佳实践
|
||||
- 收集领域知识
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **确定研究主题**
|
||||
- 从用户获取研究问题
|
||||
- 分解为子问题
|
||||
- 制定搜索策略
|
||||
|
||||
2. **多轮搜索**
|
||||
- 第一轮:广度搜索
|
||||
- 后续轮:针对性深入
|
||||
- 迭代优化关键词
|
||||
|
||||
3. **综合发现**
|
||||
- 提取关键信息
|
||||
- 对比不同观点
|
||||
- 识别共识和争议
|
||||
|
||||
4. **生成 wiki 页面**
|
||||
- 结构化研究发现
|
||||
- 添加引用来源
|
||||
- 创建相关链接
|
||||
|
||||
5. **存入 wiki**
|
||||
- 放入 `concepts/` 或 `references/`
|
||||
- 更新相关页面链接
|
||||
|
||||
## 研究模板
|
||||
|
||||
```markdown
|
||||
---
|
||||
name: research-topic-slug
|
||||
description: 研究主题摘要
|
||||
metadata:
|
||||
type: synthesis | reference
|
||||
research_date: YYYY-MM-DD
|
||||
queries: ["query1", "query2"]
|
||||
sources_count: 5
|
||||
tags: [tag1, tag2]
|
||||
---
|
||||
|
||||
# <研究主题>
|
||||
|
||||
**研究日期**: YYYY-MM-DD
|
||||
**来源数量**: N
|
||||
|
||||
## 研究问题
|
||||
<原始研究问题>
|
||||
|
||||
## 搜索策略
|
||||
- 查询 1: ...
|
||||
- 查询 2: ...
|
||||
|
||||
## 关键发现
|
||||
|
||||
### 发现 1
|
||||
**来源**: [来源链接](url)
|
||||
**要点**: ...
|
||||
|
||||
### 发现 2
|
||||
**来源**: [来源链接](url)
|
||||
**要点**: ...
|
||||
|
||||
## 对比分析
|
||||
|
||||
| 方案 | 优点 | 缺点 | 适用场景 |
|
||||
|-----|------|------|---------|
|
||||
| A | ... | ... | ... |
|
||||
| B | ... | ... | ... |
|
||||
|
||||
## 结论
|
||||
<综合结论和建议>
|
||||
|
||||
## 相关链接
|
||||
- [[related-concept]]
|
||||
- [[related-practice]]
|
||||
|
||||
## 来源
|
||||
1. [来源 1](url)
|
||||
2. [来源 2](url)
|
||||
```
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"topic": "研究主题",
|
||||
"saved_to": "synthesis/research-topic.md",
|
||||
"research_summary": {
|
||||
"queries": ["query1", "query2"],
|
||||
"sources_found": 8,
|
||||
"sources_used": 5,
|
||||
"key_insights": 3,
|
||||
"rounds": 2
|
||||
},
|
||||
"links_created": 3
|
||||
}
|
||||
```
|
||||
|
||||
## 研究策略
|
||||
|
||||
1. **第一轮:广度搜索**
|
||||
- 使用通用关键词
|
||||
- 获取概览信息
|
||||
- 识别重要来源
|
||||
|
||||
2. **第二轮:深入探索**
|
||||
- 针对具体子问题
|
||||
- 查找技术细节
|
||||
- 收集实践经验
|
||||
|
||||
3. **第三轮:验证和补充**
|
||||
- 验证关键信息
|
||||
- 查找反面案例
|
||||
- 补充缺失信息
|
||||
|
||||
## MCP 集成
|
||||
|
||||
使用 MCP 工具:
|
||||
- `wiki_query` - 查找现有相关知识
|
||||
- `web_search` - 进行网络搜索
|
||||
- `wiki_ingest` - 蒸馏研究发现
|
||||
|
||||
## 配置选项
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**:
|
||||
```yaml
|
||||
research:
|
||||
max_rounds: 3 # 最大搜索轮数
|
||||
min_sources: 3 # 最少来源数量
|
||||
max_sources: 10 # 最多来源数量
|
||||
auto_save: true # 自动保存到 wiki
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 验证信息可靠性
|
||||
2. 保留原始来源链接
|
||||
3. 避免信息过载
|
||||
4. 及时更新过期研究
|
||||
@@ -0,0 +1,111 @@
|
||||
---
|
||||
name: wiki-setup
|
||||
description: 初始化新 wiki vault,创建目录结构和初始配置文件
|
||||
trigger: 当用户需要创建新的 wiki vault 或重新初始化现有 wiki 时
|
||||
---
|
||||
|
||||
# Wiki Setup
|
||||
|
||||
## 使用场景
|
||||
- 用户首次设置 wiki 系统
|
||||
- 需要重新初始化现有 wiki vault
|
||||
- 创建新的项目 wiki
|
||||
|
||||
## 操作步骤
|
||||
|
||||
1. **确认 wiki vault 路径**
|
||||
- 默认:`/Volumes/KnowledgeBase/wiki-vault`
|
||||
- 可通过环境变量 `WIKI_VAULT_PATH` 自定义
|
||||
|
||||
2. **创建目录结构**
|
||||
```
|
||||
wiki-vault/
|
||||
├── .obsidian/ # Obsidian 配置
|
||||
├── practices/ # 最佳实践
|
||||
├── concepts/ # 概念和思维模型
|
||||
├── entities/ # 人物、公司、工具
|
||||
├── projects/ # 项目知识
|
||||
├── skills/ # 可重用的 how-to
|
||||
├── references/ # 外部资料摘要
|
||||
├── synthesis/ # 跨项目分析
|
||||
├── journal/ # 每日学习日志
|
||||
├── index.md # 主索引
|
||||
├── log.md # 查询/更新日志
|
||||
└── wiki-instructions.md # 触发规则说明
|
||||
```
|
||||
|
||||
3. **创建初始文件**
|
||||
|
||||
**index.md** - 主索引文件:
|
||||
```markdown
|
||||
# Wiki Index
|
||||
|
||||
## Practices
|
||||
- [[performance-patterns]]
|
||||
- [[design-patterns]]
|
||||
|
||||
## Concepts
|
||||
- [[distributed-systems]]
|
||||
- [[data-structures]]
|
||||
|
||||
## Recent Updates
|
||||
See [[log.md]] for recent changes
|
||||
```
|
||||
|
||||
**wiki-instructions.md** - Wiki 触发规则:
|
||||
```markdown
|
||||
# Wiki Instructions
|
||||
|
||||
## Query Triggers
|
||||
- "What do I know about X?"
|
||||
- "Find everything related to Y"
|
||||
- "Check my wiki for..."
|
||||
|
||||
## Update Triggers
|
||||
- "Update wiki"
|
||||
- "Save to wiki"
|
||||
- "Distill this to wiki"
|
||||
```
|
||||
|
||||
4. **创建 Obsidian 配置**
|
||||
- 创建 `.obsidian/` 目录
|
||||
- 生成基本配置文件(如果需要)
|
||||
|
||||
5. **初始化 MCP Server 索引**
|
||||
- 调用 MCP Server 的 `rebuild_index` 工具
|
||||
- 确认索引路径(默认:`~/.sanguo-llmwiki/index.db`)
|
||||
|
||||
## 输出格式
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"vault_path": "/path/to/wiki-vault",
|
||||
"created_dirs": ["practices", "concepts", ...],
|
||||
"created_files": ["index.md", "log.md", ...],
|
||||
"index_initialized": true
|
||||
}
|
||||
```
|
||||
|
||||
## 配置文件
|
||||
|
||||
**`~/.sanguo-llmwiki/config.yaml`**(如不存在则创建):
|
||||
```yaml
|
||||
wiki:
|
||||
vault_path: "/Volumes/KnowledgeBase/wiki-vault"
|
||||
index_path: "~/.sanguo-llmwiki/index.db"
|
||||
|
||||
mcp:
|
||||
mode: "stdio"
|
||||
host: "localhost"
|
||||
port: 8080
|
||||
|
||||
logging:
|
||||
level: "INFO"
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 如果目录已存在,不会覆盖现有文件
|
||||
2. 首次运行需要初始化 MCP Server 索引
|
||||
3. 确保有足够的磁盘空间
|
||||
Reference in New Issue
Block a user