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*