Skill: ankechenlab-node/synapse-wiki (version 2.0.1)

--- name: synapse-wiki description: > Synapse Wiki — 智能知识库管理系统。 自动摄取原始资料，增量构建持久化知识网络，支持智能查询和健康检查。 知识随时间复利积累，越用越聪明。 当用户提到 wiki、知识库、摄取资料、查询知识、整理文档时使用此技能。 version: 2.0.1 updated: 2026-04-15 date: 2026-04-10 user-invocable: true metadata: openclaw: emoji: "🧠" requires: bins: ["python3"] install: [] homepage: "https://github.com/ankechenlab-node/synapse-wiki" tags: [knowledge-base, wiki, documentation, learning, obsidian, brain-compatible] --- # Synapse Wiki Skill **Synapse Wiki = 持久化知识网络 + 增量积累 + 自动健康维护** 核心理念：知识应该随时间复利增长，而非每次从零开始。 | | 传统笔记 | Synapse Wiki | |--|---------|--------------| | **机制** | 手动整理 + 检索 | 自动编译原始资料成知识网络 | | **知识形式** | 孤立文档 | 结构化、交叉链接的知识页面 | | **随时间变化** | 越积越多，难以查找 | 越用越聪明，自动关联 | | **维护者** | 人类 | AI（编译、交叉引用、归档） | --- ## 🚦 快速决策：我该用什么命令？ ``` 你想做什么？ │ ├─ 开始一个新知识库 → ingest（初始化） │ └─ 例："我想建一个 AI 学习知识库" │ ├─ 保存新资料/文章 → ingest（摄取） │ └─ 例："这篇好文要存起来"、"剪辑网页保存" │ ├─ 查询已有知识 → query（查询） │ └─ 例："RAG 是什么？"、"上次那个概念怎么解释" │ └─ 检查知识库健康度 → lint（检查） └─ 例："有没有死链接？"、"检查孤立页面" ``` **常用场景**: - 第一次用 → `/synapse-wiki init ~/my-wiki "AI 知识库"` - 看到好文章 → `/synapse-wiki ingest ~/my-wiki raw/articles/xxx.md` - 有疑问 → `/synapse-wiki query ~/my-wiki "你的问题"` --- ## 📋 命令速查卡片 | 命令 | 用途 | 示例 | |------|------|------| | `/synapse-wiki init` | 初始化知识库 | `/synapse-wiki init ~/my-wiki "AI 知识库"` | | `/synapse-wiki ingest` | 摄取新资料 | `/synapse-wiki ingest ~/my-wiki raw/articles/article.md` | | `/synapse-wiki query` | 查询知识 | `/synapse-wiki query ~/my-wiki "RAG 是什么"` | | `/synapse-wiki lint` | 健康检查 | `/synapse-wiki lint ~/my-wiki` | **使用提示**: - 首次使用先用 `init` 创建目录结构 - 每次保存资料后用 `ingest` 编译为知识 - 定期运行 `lint` 检查健康度 --- ## 三层架构 ``` <wiki-root>/ ├── CLAUDE.md ← Schema 定义（范围/规范/工作流） ├── log.md ← 只增不减的时间线日志 │ ├── raw/ ← 原始资料层（LLM 只读，永不修改） │ ├── articles/ ← 网页文章（Obsidian Clipper 保存） │ ├── papers/ ← 学术论文 │ └── notes/ ← 个人笔记 │ └── wiki/ ← Wiki 知识层（LLM 编写，用户阅读） ├── index.md ← 主目录：所有页面 + 一句话摘要 ├── concepts/ ← 概念/主题页面 ├── entities/ ← 人物、工具、论文、组织 └── summaries/ ← 每个来源的摘要页面 ``` ## 命令 ### 摄取命令 ```bash # 摄取新资料 /synapse-wiki ingest /path/to/wiki "raw/articles/article.md" ``` ### 查询命令 ```bash # 查询 Wiki 知识 /synapse-wiki query /path/to/wiki "LLM Wiki 的核心思想" ``` ### 健康检查命令 ```bash # Wiki 健康检查 /synapse-wiki lint /path/to/wiki ``` ### 初始化命令 ```bash # 初始化新的 Wiki 知识库 /synapse-wiki init /path/to/wiki "AI 学习知识库" ``` ## Scripts | 脚本 | 用途 | |------|------| | `scripts/scaffold.py` | 引导新的 Wiki 目录树 | | `scripts/ingest.py` | 摄取新资料，编译为 Wiki 页面 | | `scripts/query.py` | 查询 Wiki，综合答案 | | `scripts/lint_wiki.py` | 健康检查（死链接/孤立页/矛盾） | ## 页面类型模板 ### 概念页面 (400-1200 词) ```markdown --- title: <Title> type: concept created: YYYY-MM-DD updated: YYYY-MM-DD sources: [slug1, slug2] tags: [tag1, tag2] --- # <Title> <一句话定义或核心思想。> ## What it is <清晰解释。> ## How it works <机制、过程或结构。> ## Key properties / tradeoffs <重要特征。> ## Relationship to other concepts <相关概念的 wikilinks。> ## Open questions <Wiki 尚未解决的问题。> ``` ### 实体页面 (200-500 词) ```markdown --- title: <Name> type: entity entity_type: person | tool | paper | organization | project created: YYYY-MM-DD updated: YYYY-MM-DD sources: [slug1] tags: [tag1] --- # <Name> <一句话描述。> ## Key contributions / features <主要贡献或特性。> ## Related concepts <相关概念。> ``` ### Summary 页面 (150-400 词) ```markdown --- title: summaries/<slug> type: summary source_type: article date: YYYY-MM-DD ingested: YYYY-MM-DD tags: [] --- # <Source Title> ## Key takeaways - <最重要洞察 1> - <最重要洞察 2> - <最重要洞察 3> ## Core claims <主要论点的 2-4 句话摘要。> ## Concepts introduced / referenced <概念和实体。> ``` ## 索引和日志 ### index.md 格式 ```markdown # Index — <Wiki Name> ## Concepts（概念） - [[Page Name]] — One-line summary ## Entities（实体） - [[Page Name]] — One-line summary ## Summaries（资料摘要） - [[summaries/slug]] — One-line summary ``` ### log.md 格式 ```markdown ## [YYYY-MM-DD] ingest | <slug> — <description> ## [YYYY-MM-DD] query | <question-slug> ## [YYYY-MM-DD] lint | <N> issues found ## [YYYY-MM-DD] promote | <page-name> (from query) ``` ## Session 启动检查清单 每个新 Session： 1. 读取 CLAUDE.md，确认范围和规范 2. 读取 log.md 最近 5 条：`grep "^## \[" log.md | tail -5` 3. 如有新 raw/ 资料，执行 Ingest 4. 如用户提问，执行 Query（先查 index.md） 5. 如 ingest 超过 10 次未 lint，执行 Lint ## Brain 调度集成 (v2.0 新增) Synapse Wiki v2.0 可作为 synapse-brain 的被调度 Hand Agent 运行： ``` 用户 → synapse-brain（意图识别：知识查询/保存） ↓ 路由到 wiki synapse-wiki（执行 ingest/query/lint） ↓ 完成后 synapse-brain（汇总 + 状态保存） ``` 通过 Brain 调度使用： ```bash /synapse-brain dispatch "保存这篇 RAG 文章" --skill synapse-wiki /synapse-brain dispatch "RAG 是什么？" --skill synapse-wiki ``` ## 与 synapse-code 互操作 synapse-code Pipeline 完成后可自动触发 wiki 知识沉淀： ``` synapse-code Pipeline 完成 ↓ (auto_log enabled) synapse-wiki ingest ↓ 知识写入 wiki/summaries/ ↓ 包括：技术决策、代码模式、Bug 修复记录 ``` 配置方式： ```json { "interop": { "wiki_enabled": true, "wiki_root": "~/my-project/wiki" } } ``` 知识沉淀内容： - **技术决策** — 为什么选择方案 A 而非 B - **代码模式** — 项目中常用的架构模式 - **Bug 修复** — 遇到的坑和解决方案 - **API 变更** — 接口设计决策和版本记录 ## 安装 ```bash # 方式 1: 使用安装脚本（推荐） cd ~/.claude/skills/synapse-wiki ./install.sh # 方式 2: 手动复制 cp -r synapse-wiki ~/.claude/skills/ # 方式 3: OpenClaw (如有 .skill 文件) claude skill install synapse-wiki.skill ``` ## 使用场景 - 📚 **个人知识库建设** — 积累 AI/技术知识，构建第二大脑 - 📝 **项目文档管理** — 维护项目 Wiki，团队成员快速上手 - 🔍 **知识检索** — 快速查找已学概念，不再大海捞针 - 🧹 **知识整理** — 定期健康检查，保持知识网络整洁

path: CHANGELOG.md
content: # CHANGELOG

All notable changes to Synapse Skills will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.0.0] - 2026-04-10

### Added
- **Brain/Hands 架构** — synapse-wiki 作为 synapse-brain 的 Hand Agent 被调度执行
- **code 互操作** — 接收 synapse-code Pipeline 完成后的自动知识沉淀
- **知识沉淀内容** — 技术决策、代码模式、Bug 修复、API 变更
- **意图路由兼容** — 支持被 task_router.py 识别（ingest/query/lint 意图）

### Changed
- **homepage** — 更新为 `https://github.com/ankechenlab-node/synapse-wiki`
- **tags** — 新增 `brain-compatible` 标记

### Why
- 让知识管理成为开发流程的自然延伸，而非独立操作
- 通过 Brain 统一入口，降低用户学习成本
- synapse-code 开发过程自动沉淀知识到 wiki

---

## [1.1.7] - 2026-04-09

### Fixed
- **脚本 --help 支持** — 所有 4 个脚本改用 argparse，支持标准 --help 参数

---

## [1.1.6] - 2026-04-09

### Fixed
- **代码审计问题修复** — 修复 3 个 P1/P2 级别问题
- `ingest.py` — 修复 YAML sources 格式错误（从字符串改为列表格式）
- `ingest.py` — 添加路径穿越保护（检查 source 是否在 wiki root 内）
- `query.py` — 修复 `or not pages` 逻辑反转问题
- `baseline_test.py` — 修复 lint 测试过于宽松的问题

### Why
- 提高代码质量和健壮性
- 减少潜在崩溃风险

---

## [1.1.5] - 2026-04-09

### Changed
- **版本号同步** — 与 synapse-code 保持版本对齐（无实际代码变更）

---

## [1.1.4] - 2026-04-08

### Changed
- **CHANGELOG 对齐** — 补充 v1.1.x 版本历史记录，与 synapse-code 一致

---

## [1.1.3] - 2026-04-08

### Changed
- **SKILL.md 用户体验改进** — 添加决策树和命令速查卡片
- 添加 `user-invocable: true` 支持 slash command 直接触发
- 决策树：快速选择命令（init/ingest/query/lint）
- 命令速查：4 个核心命令 + 使用示例

---

## [1.1.2] - 2026-04-08

### Changed
- 同步变更：删除 `.skillhub.json`，与 GitHub 仓库一致

---

## [1.1.1] - 2026-04-08

### Fixed
- **lint_wiki.py 递归扫描子目录漏检** — 从 `.glob()` 改为 `.rglob()` 递归扫描
- **summaries 目录链接检查** — 使用文件名而非 frontmatter title（匹配 wikilink 格式）

---

## [1.1.0] - 2026-04-08

### Added
- **测试覆盖** — 9/9 测试通过（基线 4/4 + 集成 5/5）
- **文档完善** — 新增 5 篇文档（AGENT_GUIDE、TROUBLESHOOTING、BEST_PRACTICES、TESTING、ITERATION_LOG）

### Changed
- `install.sh` — 添加前置检查、交互提示

---

## [1.0.0] - 2026-04-08

### Added

#### synapse-wiki (智能知识库管理系统)
- **核心功能**:
  - `wiki_init` — 初始化新的 Wiki 知识库
  - `wiki_ingest` — 摄取源文件创建 Wiki 页面
  - `wiki_query` — 查询知识并综合答案
  - `wiki_lint` — 健康检查（死链接、孤立页面等）
- **Scripts**:
  - `scaffold.py` — 引导新的 Wiki 目录树
  - `ingest.py` — 摄取新资料，编译为 Wiki 页面
  - `query.py` — 查询 Wiki，综合答案
  - `lint_wiki.py` — 健康检查（死链接/孤立页/矛盾）
- **Commands**: `init.sh`, `ingest.sh`, `query.sh`, `lint.sh`
- **Tests**: 基线测试 4/4 通过

### Changed

- SKILL.md 描述优化，突出"越用越聪明"的核心价值
- 移除技术术语（LLM Wiki、RAG 对比），改用用户友好语言
- 安装脚本支持 --dry-run 和 --uninstall

### Fixed

- 目录结构统一，所有元数据文件位于根目录
- 配置文件支持 config.template.json → config.json 自动创建

### Security

- 无

---

## [0.1.0] - 2026-04-08 (Initial Draft)

### Added

- 初始版本创建
- 基线测试框架


path: commands/ingest.sh
content: #!/bin/bash
# synapse-wiki ingest — Ingest a source file into the Wiki

SKILL_DIR="$HOME/.claude/skills/synapse-wiki"

if [ -z "$1" ] || [ -z "$2" ]; then
    echo "Usage: /synapse-wiki ingest <wiki-root> <source-file>"
    echo ""
    echo "Examples:"
    echo "  /synapse-wiki ingest ~/my-wiki raw/articles/article.md"
    echo "  /synapse-wiki ingest ~/my-wiki raw/papers/paper.pdf"
    exit 1
fi

WIKI_ROOT="$1"
SOURCE_FILE="$2"

echo "Ingesting source into Synapse Wiki..."
echo "  Wiki: $WIKI_ROOT"
echo "  Source: $SOURCE_FILE"
echo ""

python3 "$SKILL_DIR/scripts/ingest.py" "$WIKI_ROOT" "$SOURCE_FILE"


path: commands/init.sh
content: #!/bin/bash
# synapse-wiki init — Initialize a new Wiki knowledge base

SKILL_DIR="$HOME/.claude/skills/synapse-wiki"

if [ -z "$1" ]; then
    echo "Usage: /synapse-wiki init <wiki-root> [Topic Name]"
    echo ""
    echo "Examples:"
    echo "  /synapse-wiki init ~/my-wiki \"AI Learning Knowledge Base\""
    echo "  /synapse-wiki init ~/project-docs"
    exit 1
fi

WIKI_ROOT="$1"
TOPIC="${2:-Knowledge Base}"

echo "Initializing Synapse Wiki..."
echo "  Root: $WIKI_ROOT"
echo "  Topic: $TOPIC"
echo ""

python3 "$SKILL_DIR/scripts/scaffold.py" "$WIKI_ROOT" "$TOPIC"


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)