CLI 命令参考
GEO Wiki Pro CLI 命令参考,涵盖全部 15 个命令的参数与用法
# CLI 命令参考
> GEO Wiki Pro CLI 提供 15 个命令,覆盖文档管理、分类管理、标签管理、搜索、配置、用户管理等全部功能。
---
## 命令总览
| 命令 | 说明 | 需要登录 |
|------|------|---------|
| `geo login` | 登录服务器 | 否 |
| `geo logout` | 登出并清除凭证 | 否 |
| `geo status` | 查看连接状态 | 否 |
| `geo doc` | 文档管理(CRUD + 排序 + 回收站) | 是 |
| `geo category` | 分类管理(CRUD + 排序) | 是 |
| `geo tag` | 标签管理(CRUD) | 是 |
| `geo search` | 搜索文档 | 否 |
| `geo config` | 站点配置读写 | 是 |
| `geo user` | 用户管理 + Token 管理 | 是 |
| `geo draft` | 草稿管理(列表/查看/发布/删除) | 是 |
| `geo stats` | 仪表盘统计数据 | 是 |
| `geo feedback` | 用户反馈管理 | 是 |
| `geo guestbook` | 留言簿管理 | 是 |
| `geo media` | 媒体文件上传/列表/删除 | 是 |
| `geo geo` | GEO 状态、报告、重建 | 是 |
---
## 认证命令
### geo login
登录 GEO Wiki Pro 服务器,支持两种认证方式。
#### Token 登录(推荐)
```bash
geo login --url https://geowiki.pro --token geo_xxxxx
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--url` | `-u` | 服务器地址 | 是 |
| `--token` | `-t` | API Token | 是 |
> **推荐**:Token 登录有效期 90 天,无需 CAPTCHA,适合 CLI 和自动化脚本。Token 在管理面板「设置 -> API Token」中生成。
#### 密码登录
```bash
geo login --url https://geowiki.pro --user admin --pass your-password
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--url` | `-u` | 服务器地址 | 是 |
| `--user` | `-U` | 用户名 | 是 |
| `--pass` | `-p` | 密码 | 是 |
::: warning
密码登录需要 CAPTCHA 验证,适合浏览器场景。建议使用 Token 登录。
:::
### geo logout
清除本地保存的认证信息。
```bash
geo logout
```
### geo status
查看当前连接状态和用户信息。
```bash
geo status
```
---
## 文档命令
### geo doc list
列出所有文档。
```bash
geo doc list
geo doc list --category can-motion
geo doc list --lang zh --json
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--category` | | 按分类过滤 | 否 |
| `--lang` | `-l` | 语言(默认 zh) | 否 |
| `--page` | | 页码(默认 1) | 否 |
| `--limit` | | 每页数量(默认 50) | 否 |
### geo doc get
获取文档内容。
```bash
geo doc get --slug quick-start
geo doc get --slug quick-start --lang en
geo doc get --slug quick-start --format json
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--slug` | `-s` | 文档 slug | 是 |
| `--lang` | `-l` | 语言(默认 zh) | 否 |
| `--format` | `-f` | 输出格式:markdown 或 json | 否 |
### geo doc create
创建新文档。
```bash
geo doc create --file ./my-doc.md --category can-motion --lang zh
geo doc create --file ./my-doc.md --sort 1
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--file` | `-f` | Markdown 文件路径 | 是(或 --title) |
| `--title` | `-t` | 文档标题(无文件时使用) | 是(或 --file) |
| `--category` | `-c` | 分类 slug | 否 |
| `--slug` | `-s` | 自定义 slug | 否 |
| `--lang` | `-l` | 语言代码(默认 zh) | 否 |
| `--tags` | `-T` | 逗号分隔的标签 | 否 |
| `--author` | `-a` | 作者(默认 Agent) | 否 |
| `--sort` | | 排序值(默认 999) | 否 |
::: tip
文件需要包含 YAML frontmatter(title、slug、category、tags、author)。如果文件包含 frontmatter,命令行参数可以省略,CLI 会自动提取。
:::
### geo doc update
更新文档。支持单字段更新——只修改指定字段,其他字段保持不变。
```bash
# 文件更新(最安全)
geo doc update --slug my-doc --file ./updated.md
# 仅更新排序值
geo doc update --slug my-doc --sort 0
# 仅更新分类
geo doc update --slug my-doc --category new-category
# 仅更新内容
geo doc update --slug my-doc --content "# 新标题\n\n新内容"
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--slug` | `-s` | 文档 slug | 是 |
| `--file` | `-f` | 更新后的文件路径 | 是(其一) |
| `--content` | | 内联内容 | 是(其一) |
| `--category` | `-c` | 新分类 | 否 |
| `--sort` | | 新排序值 | 否 |
| `--lang` | `-l` | 语言代码 | 否 |
::: note
单字段更新只会修改指定的字段,其余字段保持原值不变。
:::
### geo doc delete
删除文档(移入回收站,30 天后自动清除)。
```bash
geo doc delete --slug my-doc
geo doc delete --slug my-doc --yes # 跳过确认
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--slug` | `-s` | 文档 slug | 是 |
| `--lang` | `-l` | 语言代码 | 否 |
| `--yes` | `-y` | 跳过确认提示 | 否 |
### geo doc trash / recover
查看和恢复回收站中的文档。
```bash
geo doc trash # 列出回收站
geo doc trash --clear # 清空回收站
geo doc recover --file my-doc-zh-123456.md # 恢复文档
```
### geo doc reorder
批量调整文档排序。
```bash
geo doc reorder --orders "quick-start:0,faq:1,architecture:2"
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--orders` | `-o` | 格式:`slug1:排序值,slug2:排序值` | 是 |
---
## 分类命令
### geo category list
列出所有分类。
```bash
geo category list
geo category list --json
```
### geo category create
创建分类。
```bash
geo category create --name "CAN 电机" --name-en "CAN MOTION" --slug can-motion \
--description "CAN 总线闭环步进电机" --description-en "CAN bus closed-loop stepper motors"
```
| 参数 | 说明 | 必需 |
|------|------|------|
| `--name` | 分类名称(默认语言) | 是 |
| `--name-en` | 英文名称 | 否 |
| `--name-jp` | 日文名称 | 否 |
| `--slug` | 分类 slug | 是 |
| `--description` | 分类描述 | 否 |
| `--description-en` | 英文描述 | 否 |
| `--description-jp` | 日文描述 | 否 |
::: note
如果 slug 已存在,会更新现有分类(upsert 语义)。
:::
### geo category update
更新分类信息。
```bash
geo category update --slug can-motion --name "新名称" --name-en "New Name"
```
### geo category reorder
批量调整分类排序。
```bash
geo category reorder --orders "products:0,technical:1,support:2"
```
### geo category delete
删除分类。
```bash
geo category delete --slug old-category
```
---
## 标签命令
### geo tag list / create / delete
```bash
geo tag list
geo tag list --json
geo tag create --name "CAN Bus" --slug can-bus
geo tag delete --slug can-bus
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--slug` | `-s` | 标签 slug | 是 |
| `--name` | `-n` | 标签显示名称 | 是(create) |
---
## 搜索命令
### geo search
搜索文档。
```bash
geo search "CAN bus"
geo search "motor" --category can-motion
geo search "Arduino" --lang en --json
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--category` | `-c` | 按分类过滤 | 否 |
| `--lang` | `-l` | 语言(默认 zh) | 否 |
| `--limit` | | 最大结果数(默认 20) | 否 |
---
## 配置命令
### geo config get
获取站点配置。
```bash
geo config get
geo config get --json
```
### geo config update
更新站点配置。
```bash
geo config update --site-name "我的知识库"
geo config update --hero-title-zh "欢迎" --hero-title-en "Welcome"
geo config update --hero-subtitle-zh "产品文档" --hero-subtitle-en "Product docs"
geo config update --featured-slugs "quick-start,faq,overview"
geo config update --logo-url "/media/logo.png" --favicon-url "/media/favicon.ico"
geo config update --custom-head '<meta name="theme-color" content="#2563EB">'
```
| 参数 | 说明 | 必需 |
|------|------|------|
| `--site-name` | 站点名称 | 否 |
| `--site-desc` | 站点描述(SEO) | 否 |
| `--default-lang` | 默认语言(zh, en, jp) | 否 |
| `--hero-title` | Hero 区域标题 | 否 |
| `--hero-title-zh` | Hero 标题(中文) | 否 |
| `--hero-title-en` | Hero 标题(英文) | 否 |
| `--hero-title-jp` | Hero 标题(日文) | 否 |
| `--hero-subtitle` | Hero 副标题 | 否 |
| `--hero-subtitle-zh` | Hero 副标题(中文) | 否 |
| `--hero-subtitle-en` | Hero 副标题(英文) | 否 |
| `--hero-subtitle-jp` | Hero 副标题(日文) | 否 |
| `--featured-slugs` | 逗号分隔的推荐文档 slug | 否 |
| `--logo-url` | Logo 图片路径 | 否 |
| `--favicon-url` | Favicon 路径 | 否 |
| `--custom-head` | 自定义 HTML(注入到 `<head>`) | 否 |
---
## 用户命令
### geo user list / create / update / delete
```bash
geo user list
geo user list --json
geo user create --username editor1 --password MyPass123 --role editor
geo user update --id user-xxx --role admin
geo user reset-password --id user-xxx
geo user delete --id user-xxx
```
| 参数 | 说明 | 必需 |
|------|------|------|
| `--id` | 用户 ID(update/delete/reset-password 必需) | 是 |
| `--username` | 用户名(create 必需) | 是 |
| `--password` | 密码(create 必需) | 是 |
| `--role` | 角色:admin / editor / viewer(默认 editor) | 否 |
### geo user token
管理 API Token。
```bash
geo user token list # 列出所有 Token
geo user token list --json # JSON 格式输出
geo user token delete --id token-id # 撤销 Token
```
::: note
API Token 的创建只能在管理面板「设置 -> API Token」中操作。
:::
---
## 草稿命令
```bash
geo draft list # 列出所有草稿
geo draft list --json # JSON 格式输出
geo draft get --slug my-draft # 查看草稿内容
geo draft publish --slug my-draft # 发布草稿
geo draft delete --slug my-draft # 删除草稿
```
---
## 统计命令
```bash
geo stats # 查看仪表盘统计
geo stats --json # JSON 格式输出
```
---
## 反馈命令
```bash
geo feedback list # 列出所有反馈
geo feedback list --json # JSON 格式输出
geo feedback delete --id "feedback-id" # 删除反馈
geo feedback promote --id "feedback-id" # 将反馈提升为文档内容或 FAQ
```
---
## 留言簿命令
```bash
geo guestbook list # 列出所有留言
geo guestbook list --json # JSON 格式输出
geo guestbook toggle --enabled true # 启用留言簿
geo guestbook toggle --enabled false # 禁用留言簿
geo guestbook update --id "entry-id" --status approved # 审批通过
geo guestbook update --id "entry-id" --status rejected # 拒绝
geo guestbook delete --id "entry-id" # 删除留言
```
---
## 媒体命令
```bash
geo media upload --file ./diagram.png
geo media upload --file ./manual.pdf --directory docs
geo media upload --file ./model.step --directory models
geo media list --json
geo media delete --file old-image.jpg
```
| 参数 | 缩写 | 说明 | 必需 |
|------|------|------|------|
| `--file` | `-f` | 本地文件路径(上传)或文件名(删除) | 是 |
| `--directory` | `-d` | public/media 下的子目录 | 否 |
### 支持的文件类型
| 类型 | 格式 |
|------|------|
| 图片 | JPG, PNG, GIF, WebP |
| 视频 | MP4, WebM |
| 音频 | MP3, WAV, OGG |
| 文档 | PDF, DOC, DOCX, TXT, MD |
| 3D 模型 | STEP, STP, IGS |
---
## GEO 命令
### geo geo status
查看 GEO 优化状态。
```bash
geo geo status
```
### geo geo rebuild
重建 GEO 文件(llms.txt、sitemap.xml)。
```bash
geo geo rebuild
```
### geo geo report
查看 GEO 分析报告。
```bash
geo geo report
geo geo report --json
```
### geo geo llms / sitemap / manifest
```bash
geo geo llms # 查看 llms.txt 内容
geo geo sitemap # 查看 sitemap.xml 内容
geo geo manifest # 查看站点 manifest
```
---
## 全局选项
所有命令均支持 `--json` 标志,输出机器可读的 JSON 格式,适合 Agent 解析。
---
## 相关文档
- [CLI 安装与登录](/docs/cli-install) -- 安装与登录指南
- [CLI 快速参考](/docs/cli-quick-reference) -- Agent 快速使用手册
- [GEO Wiki Pro 用户手册](/docs/geo-wiki-pro-user-manual) -- 完整用户手册
- [REST API 文档](/docs/rest-api) -- API 端点参考