> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cowagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# knowledge-wiki - 知识库

> 维护本地结构化知识库，自动归档、分类和交叉引用

帮你把对话中产生的资料、灵感和零散笔记整理成结构化的本地知识库，自动维护索引和页面之间的交叉引用。

`knowledge-wiki` 在工作空间下维护一个 `knowledge/` 目录，相当于 Agent 的「外脑」。技能设置了 `always: true`，会**常驻上下文**，不需要任何外部依赖。

## 什么时候会触发

* 你分享了一篇文章、一份文档或一个 URL，想要沉淀下来
* 聊天过程中聊出了值得长期保留的结论
* 你想查一下之前积累过的知识

## 目录结构

```
knowledge/
├── index.md           # 全局索引（必须维护）
├── log.md             # 操作日志（只追加）
└── <category>/        # 分类子目录（按内容自由分组）
    └── <slug>.md      # 知识页（文件名用小写加中划线）
```

## 三个核心操作

### 1. 收录（Ingest）

你分享了一段资料时，Agent 会：

1. 读懂原文，提取关键信息
2. 按内容决定放到哪个分类下——先看 `index.md` 里有没有合适的分类，没有就新建一个
3. 生成知识页 `knowledge/<category>/<slug>.md`
4. 更新索引 `index.md` 和日志 `log.md`

### 2. 综合（Synthesize）

聊天中产生了新的结论或洞见时：

1. 在合适的分类下创建新知识页
2. 给相关的已有页面加上互相指向的链接
3. 更新索引和日志

### 3. 查询（Query）

你问到以前积累的知识时：

1. 先从 `index.md` 里找可能相关的页面
2. 用 `read` 工具打开具体页面
3. 需要时再用 `memory_search` 补充检索
4. 回答里会带上知识页的链接，方便你点过去看原文

## 知识页怎么写

```markdown theme={null}
# 页面标题

> Source: <来源 URL 或简要说明>

正文内容。页面之间用相对路径链接：
[相关页](../category/related-page.md)

## 要点

- ...

## 相关页面

- [页面 A](../category/page-a.md) — 为什么相关
```

<Note>
  * `> Source:` 用来记录这条知识的来源。有明确来源时一定要写
  * 交叉引用很重要：创建或更新某页时，记得也去关联页面里补上反向链接
  * **只链接已经存在的页面**。如果某个概念值得单独成页，先建好再加链接
</Note>

## 索引格式

`knowledge/index.md` 采用扁平列表，按分类分组，每个知识页占一行：

```markdown theme={null}
# Knowledge Index

## 分类 A
- [页面标题](category-a/page-slug.md) — 一句话摘要

## 分类 B
- [页面标题](category-b/page-slug.md) — 一句话摘要
```

不用表格，不加 emoji。分类怎么起名、怎么组织都可以灵活调整。

## 日志格式

`knowledge/log.md` 只追加、不修改，最新的写在最下面：

```markdown theme={null}
## [YYYY-MM-DD] ingest | 页面标题
## [YYYY-MM-DD] synthesize | 页面标题
```

## 写作约定

* **文件名**用小写加中划线，比如 `machine-learning.md`
* **一页只讲一件事**，需要关联的内容通过链接串起来
* **有了就更新，不要重复建页**
* **每次改完都要更新索引** `knowledge/index.md`
* **写精华别抄全文**，抓住要点就行
* **对话里引用知识页时用完整路径**，比如 `[标题](knowledge/<category>/<slug>.md)`。页面之间互相链接才用相对路径
* **基于知识页回答问题时附上链接**，方便深入查阅
