mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-06-02 09:13:39 +08:00
- Add Gemini, Seedream (Volcengine Ark), Qwen (DashScope), MiniMax providers to image-generation skill with universal sequential fallback: OpenAI → Gemini → Seedream → Qwen → MiniMax → LinkAI - Each provider filters unsupported size tiers to valid values (e.g. Seedream 1K→2K, Qwen 3K→2K, Gemini 3K→2K) - Pinned model only tries its native provider; auto-routing uses each provider's default model - Support skill-namespaced config (config.skill.image-generation.model → SKILL_IMAGE_GENERATION_MODEL env var) - Add image lightbox (click-to-enlarge) in web console - Add docs for built-in skills (skill-creator, knowledge-wiki, image-generation) under docs/skills/
113 lines
3.4 KiB
Plaintext
113 lines
3.4 KiB
Plaintext
---
|
||
title: knowledge-wiki - 知识库
|
||
description: 维护本地结构化知识库,自动归档、分类和交叉引用
|
||
---
|
||
|
||
帮你把对话中产生的资料、灵感和零散笔记整理成结构化的本地知识库,自动维护索引和页面之间的交叉引用。
|
||
|
||
`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
|
||
# 页面标题
|
||
|
||
> Source: <来源 URL 或简要说明>
|
||
|
||
正文内容。页面之间用相对路径链接:
|
||
[相关页](../category/related-page.md)
|
||
|
||
## 要点
|
||
|
||
- ...
|
||
|
||
## 相关页面
|
||
|
||
- [页面 A](../category/page-a.md) — 为什么相关
|
||
```
|
||
|
||
<Note>
|
||
- `> Source:` 用来记录这条知识的来源。有明确来源时一定要写
|
||
- 交叉引用很重要:创建或更新某页时,记得也去关联页面里补上反向链接
|
||
- **只链接已经存在的页面**。如果某个概念值得单独成页,先建好再加链接
|
||
</Note>
|
||
|
||
## 索引格式
|
||
|
||
`knowledge/index.md` 采用扁平列表,按分类分组,每个知识页占一行:
|
||
|
||
```markdown
|
||
# Knowledge Index
|
||
|
||
## 分类 A
|
||
- [页面标题](category-a/page-slug.md) — 一句话摘要
|
||
|
||
## 分类 B
|
||
- [页面标题](category-b/page-slug.md) — 一句话摘要
|
||
```
|
||
|
||
不用表格,不加 emoji。分类怎么起名、怎么组织都可以灵活调整。
|
||
|
||
## 日志格式
|
||
|
||
`knowledge/log.md` 只追加、不修改,最新的写在最下面:
|
||
|
||
```markdown
|
||
## [YYYY-MM-DD] ingest | 页面标题
|
||
## [YYYY-MM-DD] synthesize | 页面标题
|
||
```
|
||
|
||
## 写作约定
|
||
|
||
- **文件名**用小写加中划线,比如 `machine-learning.md`
|
||
- **一页只讲一件事**,需要关联的内容通过链接串起来
|
||
- **有了就更新,不要重复建页**
|
||
- **每次改完都要更新索引** `knowledge/index.md`
|
||
- **写精华别抄全文**,抓住要点就行
|
||
- **对话里引用知识页时用完整路径**,比如 `[标题](knowledge/<category>/<slug>.md)`。页面之间互相链接才用相对路径
|
||
- **基于知识页回答问题时附上链接**,方便深入查阅
|