GEO Wiki Agent Skill 使用指南
GEO Wiki Agent Skill 使用指南,让 AI Agent 通过引导式对话帮助用户管理知识库
> 最后更新: 2026-07-02 | CLI 版本: v1.0.7
>
> 核心目标:Agent 读完本文后,能够通过引导式对话帮助用户完成知识库管理
---
## 核心理念
**Agent 不是让用户学命令,而是引导用户说出需求,然后帮用户完成。**
```
用户:帮我发一篇文章
Agent:好的,我来帮你创建。我需要以下信息:
1. 文章标题是什么?
2. 内容来源:提供 Markdown 文件,还是告诉我主题我帮你写?
3. 属于哪个分类?(我可以帮你查看现有分类)
```
---
## 视频演示
:::video[GEO Wiki Pro — AI Agent 知识库管理工具,让 AI 自动帮你写文档!](https://www.bilibili.com/video/BV1VHEi6zEJy/)
:::
---
## Agent 行为规范
### 交互流程
```
理解意图 → 收集信息 → 执行操作 → 验证结果 → 反馈用户
```
### 用户意图识别
| 用户表述 | Agent 理解 | 需追问 |
|---------|-----------|--------|
| "帮我发一篇文章" | 创建文档 | 标题、内容、分类 |
| "更新一下那个文档" | 更新文档 | slug、更新内容 |
| "加个分类" | 创建分类 | 名称、slug |
| "删掉那篇文章" | 删除文档 | slug、确认 |
| "看看现在有什么" | 列出文档/分类 | 无需追问 |
| "创建一个客户案例" | 创建文档+分类 | 客户信息、分类 |
| "批量更新标签" | 标签更新 | 标签列表、目标值 |
### 引导话术模板
**用户信息不全时:**
```
好的,我来帮你创建文章。我需要以下信息:
1. 文章标题是什么?
2. 文章内容:你可以提供 Markdown 文件,或者告诉我主题,我帮你写
3. 属于哪个分类?(我可以帮你查看现有分类)
如果有多个语言版本需要一起创建吗?
```
**用户提供了 URL:**
```
好的,我先获取网站信息,然后撰写文章。请确认:
1. 文章语言:中文、英文、日文,还是全部?
2. 分类:使用现有的"客户案例"分类,还是新建?
```
**用户想批量操作:**
```
好的,我来批量更新。先确认:
1. 影响范围:所有文章还是特定分类?
2. 操作确认:这将修改 [N] 篇文章,确认执行?
```
### 操作验证
操作完成后 Agent 必须:
1. 检查返回 JSON 中 `success: true`
2. 验证内容已正确保存
3. 向用户报告结果和访问链接
**成功反馈:**
```
操作完成!
- 标题:xxx
- 链接:https://your-domain.com/docs/<slug>
- 分类:xxx
- 标签:tag1, tag2
```
---
## 安装与登录
### 环境检测
执行任何操作前,Agent 应先检测用户环境是否就绪:
```bash
# 检测 Node.js 和 npm
node --version && npm --version
```
### 安装 GEO Wiki CLI
```bash
# 安装
npm install -g geowiki-cli
# Token 登录(推荐,90天有效)
geo login --url https://your-domain.com --token geo_xxx
# 验证
geo status
```
---
## 常用操作速查
### 认证
| 命令 | 说明 |
|------|------|
| `geo login --url URL --token TOKEN` | Token 登录(推荐) |
| `geo logout` | 退出登录 |
| `geo status` | 查看连接状态 |
| `geo health` | 服务器健康检查(无需认证) |
### 文档管理
| 命令 | 说明 |
|------|------|
| `geo doc list --lang LANG` | 列出指定语言文档 |
| `geo doc list --lang LANG --category CAT` | 按分类筛选 |
| `geo doc get --slug SLUG --lang LANG` | 获取文档内容 |
| `geo doc create -f ./doc.md -c CAT --lang LANG` | 从文件创建 |
| `geo doc create --title "标题" --slug SLUG --content "内容" -c CAT --lang LANG` | 直接传内容创建 |
| `geo doc create -f ./doc.md -c CAT --lang LANG --draft` | 保存为草稿 |
| `geo doc update --slug SLUG -f ./updated.md --lang LANG` | 从文件更新 |
| `geo doc update --slug SLUG --title "新标题" --lang LANG` | 更新标题 |
| `geo doc update --slug SLUG --description "描述" --lang LANG` | 更新描述 |
| `geo doc update --slug SLUG --author "作者" --lang LANG` | 更新作者 |
| `geo doc update --slug SLUG --tags "tag1,tag2" --lang LANG` | 更新标签 |
| `geo doc update --slug SLUG --notice "通知" --lang LANG` | 更新通知 |
| `geo doc update --slug SLUG --category CAT --lang LANG` | 更新分类 |
| `geo doc update --slug SLUG --sort N --lang LANG` | 更新排序 |
| `geo doc update --slug SLUG --content "新内容" --lang LANG` | 更新内容 |
| `geo doc update --slug SLUG -f ./doc.md --lang LANG --draft` | 更新为草稿 |
| `geo doc slug-rename --slug OLD --new-slug NEW` | 重命名 URL slug(所有语言同步更新) |
| `geo doc delete --slug SLUG --lang LANG` | 删除指定语言版本 |
| `geo doc reorder --orders "slug1:0,slug2:1"` | 批量排序 |
### 草稿管理
| 命令 | 说明 |
|------|------|
| `geo draft list --json` | 列出草稿 |
| `geo draft get --slug SLUG` | 获取草稿内容 |
| `geo draft publish --slug SLUG --lang LANG` | 发布指定语言草稿 |
| `geo draft delete --slug SLUG --lang LANG` | 删除指定语言草稿 |
### 分类管理
| 命令 | 说明 |
|------|------|
| `geo category list --lang LANG` | 列出分类 |
| `geo category create --name "名称" --slug SLUG` | 创建分类 |
| `geo category update --slug SLUG --name "新名称"` | 更新分类 |
| `geo category delete --slug SLUG` | 删除分类 |
### 标签管理
| 命令 | 说明 |
|------|------|
| `geo tag list --lang LANG` | 列出标签 |
| `geo tag create --name "名称" --slug SLUG` | 创建标签 |
| `geo tag delete --slug SLUG --json` | 删除标签(静默) |
### 搜索
| 命令 | 说明 |
|------|------|
| `geo search "关键词" --lang LANG` | 搜索文档 |
| `geo search "CAN bus" --category CAT --lang LANG` | 按分类搜索 |
### 配置管理
| 命令 | 说明 |
|------|------|
| `geo config get --json` | 获取配置 |
| `geo config update --site-name "新站名"` | 更新配置 |
### 用户管理
| 命令 | 说明 |
|------|------|
| `geo user list --json` | 列出用户 |
| `geo user create --username USER --password PASS --role ROLE` | 创建用户 |
| `geo user reset-password --id USER-ID` | 重置密码 |
### GEO 优化
| 命令 | 说明 |
|------|------|
| `geo geo status` | GEO 状态 |
| `geo geo rebuild` | 重建 llms.txt/sitemap |
### 统计
| 命令 | 说明 |
|------|------|
| `geo stats` | 仪表盘统计 |
| `geo stats metrics` | 详细系统指标 |
### 全局参数
| 参数 | 说明 |
|------|------|
| `--json` | JSON 格式输出 |
| `--lang LANG` | 指定语言(zh/en/jp) |
| `--category CAT` | 指定分类 |
| `--draft` | 保存为草稿 |
---
## 典型工作流示例
### 创建多语言文章
```bash
# 创建中文版
geo doc create -f ./article-zh.md --category tech --lang zh --json
# 创建英文版
geo doc create -f ./article-en.md --category tech --lang en --json
# 创建日文版
geo doc create -f ./article-jp.md --category tech --lang jp --json
# 验证
geo doc list --lang zh --category tech --json
```
### 直接传内容创建
```bash
# 无需文件,直接传内容
geo doc create --title "产品发布" --slug product-launch --category news --lang zh --content "# 产品发布\n\n我们很高兴地宣布..."
```
### 更新单个字段
```bash
# 只更新标题
geo doc update --slug my-doc --title "新标题" --lang zh
# 只更新描述
geo doc update --slug my-doc --description "新描述" --lang zh
# 只更新通知
geo doc update --slug my-doc --notice "本文档已更新" --lang zh
```
### 草稿审核流程
```bash
# 保存为草稿
geo doc create -f ./draft.md --category guide --lang zh --draft
# 发布草稿
geo draft publish --slug draft-slug --lang zh
```
### 批量更新
```bash
# 获取特定分类文章并更新标签
geo doc list --category tech --lang zh --json | jq -r '.[].slug' | while read slug; do
geo doc update --slug "$slug" --tags "tech,audited" --lang zh --json
done
```
---
## SEO / GEO 优化工作流
Agent 可通过 CLI 读取站点信息,生成优化代码,通过 `customHeadHtml` 一键应用。无需修改代码,无需新增命令。
### 工作流程
```
读取站点状态 → 分析内容结构 → 生成优化代码 → 应用到 customHeadHtml → 重建 GEO
```
### 第一步:了解站点
```bash
# 获取站点配置(TDK、URL、语言等)
geo config get --json
# 获取文档结构
geo doc list --lang zh --json
geo doc list --lang en --json
# 获取分类结构
geo category list --lang zh --json
# 获取 GEO 状态
geo geo report --json
```
### 第二步:生成优化代码
Agent 根据站点信息,生成 `<meta>` 和 `<link>` 标签。**只能用 `<meta>` 和 `<link>`,不能用 `<script>`**(会被安全过滤)。
#### 搜索引擎验证
```html
<meta name="google-site-verification" content="你的验证码">
<meta name="msvalidate.01" content="你的Bing验证码">
<meta name="baidu-site-verification" content="你的百度验证码">
```
#### 多语言 SEO(hreflang)
```html
<link rel="alternate" hreflang="zh" href="https://site.com/?lang=zh">
<link rel="alternate" hreflang="en" href="https://site.com/?lang=en">
<link rel="alternate" hreflang="ja" href="https://site.com/?lang=jp">
<link rel="alternate" hreflang="x-default" href="https://site.com/">
```
#### GEO 优化标签
```html
<meta name="ai-content-declaration" content="structured, authoritative, AI-ready">
<meta name="geo.region" content="CN-GD">
<meta name="geo.placename" content="Shenzhen">
```
#### 社交媒体补充
```html
<meta property="og:locale" content="zh_CN">
<meta property="og:locale:alternate" content="en_US">
<meta name="twitter:site" content="@your_handle">
```
### 第三步:应用
```bash
# 一次性应用所有优化标签
geo config update --custom-head '
<meta name="google-site-verification" content="xxx">
<meta name="ai-content-declaration" content="structured, authoritative, AI-ready">
<meta name="geo.region" content="CN-GD">
<link rel="alternate" hreflang="zh" href="https://site.com/?lang=zh">
<link rel="alternate" hreflang="en" href="https://site.com/?lang=en">
'
```
### 第四步:重建 GEO
```bash
geo geo rebuild
```
### 注意事项
| 规则 | 说明 |
|------|------|
| ✅ 可以用 | `<meta>`、`<link>` 标签 |
| ❌ 不能用 | `<script>`、`<title>`、`<style>`(会被过滤) |
| ❌ 不要重复 | 系统已内置 title、description、og、twitter、canonical、JSON-LD |
| 🔄 覆盖规则 | 新内容会替换旧的 customHeadHtml,不是追加 |
### Agent 优化检查清单
- [ ] Title 包含品牌名 + 核心关键词(≤80 字符)
- [ ] Description 概括核心价值 + 行动号召(≤200 字符)
- [ ] Keywords 覆盖核心业务词(≤100 字符)
- [ ] 已配置搜索引擎验证(Google/Bing/百度)
- [ ] 多语言站点已添加 hreflang 标签
- [ ] 已添加 GEO 优化标签(ai-content-declaration)
- [ ] 已重建 llms.txt 和 sitemap
---
## Agent 集成配置
```json
{
"tools": {
"geo-wiki": {
"command": "geo",
"args": ["--url", "https://your-domain.com"]
}
}
}
```
---
## 最佳实践
1. **始终用 --json 输出**:便于解析和验证
2. **操作前验证登录**:`geo status`
3. **操作后验证结果**:检查 `success: true`
4. **每步向用户反馈**:保持沟通透明
5. **批量操作前确认**:告知用户影响范围
6. **始终指定 --lang**:防止误操作其他语言版本
---
*最后更新: 2026-07-02 | 版本: v1.0.7*