CLI 快速参考
GEO Wiki CLI 命令速查表,供 Agent 快速使用
# GEO Wiki CLI -- Agent Skill
GEO Wiki Pro 命令行管理工具。让 AI Agent 能够自动管理知识库。
## 安装
```bash
# 需要 Node.js >= 18
npm install -g geowiki-cli
# 验证安装
geo status
```
## 登录
```bash
# Token 登录(推荐)
geo login --url https://geowiki.pro --token geo_xxxxx
# 密码登录
geo login --url https://geowiki.pro --user <username> --pass <password>
```
登录后 Token 自动保存到本地,后续命令自动携带认证。
## 文档管理
```bash
# 列出文档
geo doc list --category <category> --lang zh --json
# 创建文档
geo doc create --file ./article.md --category <category> --lang zh
# 获取文档
geo doc get --slug <slug> --lang zh --json
# 更新文档
geo doc update --slug <slug> --file ./updated.md
# 仅更新分类
geo doc update --slug <slug> --category new-category
# 仅更新排序
geo doc update --slug <slug> --sort 0
# 删除文档(移入回收站)
geo doc delete --slug <slug>
# 批量排序
geo doc reorder --orders "slug1:0,slug2:1,slug3:2"
```
## 分类管理
```bash
geo category list --json
geo category create --name "分类名" --slug category-slug
geo category update --slug <slug> --name "新名称"
geo category delete --slug <slug>
```
## 标签管理
```bash
geo tag list --json
geo tag create --name "标签名" --slug tag-slug
geo tag delete --slug <slug>
```
## 媒体上传
```bash
geo media upload --file ./image.png
geo media upload --file ./document.pdf --directory docs
geo media list --json
```
## 配置管理
```bash
geo config get --json
geo config update --site-name "新站名"
geo config update --hero-title "新标题" --hero-subtitle "新副标题"
geo config update --featured-slugs "slug1,slug2,slug3"
```
## 用户管理
```bash
geo user list --json
geo user create --username <user> --password <pass> --role editor
geo user update --id <user-id> --role admin
geo user reset-password --id <user-id>
geo user delete --id <user-id>
# API Token 管理
geo user token list --json
geo user token delete --id <token-id>
```
## 其他命令
```bash
geo search "关键词" --json # 搜索文档
geo stats --json # 仪表盘统计
geo draft list --json # 草稿管理
geo feedback list --json # 反馈管理
geo guestbook list --json # 留言簿管理
geo geo status # GEO 优化状态
geo geo report --json # GEO 分析报告
geo geo rebuild # 重建 llms.txt / sitemap
```
## 全局选项
所有命令均支持 `--json` 标志,输出结构化 JSON,适合 Agent 解析。
## Agent 注意事项
### 1. 不要直接用 sed 编辑 NAS 上的文件
```bash
# 错误:文件会被截断,sed 只保留修改的部分
ssh user@nas "sed -i 's/old/new/' /path/to/file.md"
# 正确:使用 CLI 或 API 更新
geo doc update --slug <slug> --file ./updated.md
```
**原因**:`sed -i` 处理多行文件时,可能导致 frontmatter 以外的内容丢失。
### 2. 中文文件名需要编码
CLI 和前端会自动对文件名进行 `encodeURIComponent()` 编码。直接调用 API 时需要手动编码:
```bash
# 错误
curl -H "X-Original-Filename: 测试.pdf" ...
# 正确
curl -H "X-Original-Filename: %E6%B5%8B%E8%AF%95.pdf" ...
```
### 3. 所有写操作需要 CSRF Token
CLI 会自动处理。直接调用 API 时,需要从 Cookie 中提取 `XSRF-TOKEN` 并放入请求头。
### 4. 支持的文件上传类型
图片:JPG, PNG, GIF, WebP
视频:MP4, WebM
音频:MP3, WAV, OGG
文档:PDF, DOC, DOCX, TXT, MD
3D 模型:STEP, STP, IGS
## Agent 使用示例
```bash
# 完整工作流:登录 -> 创建文档 -> 重建 GEO
geo login --url https://geowiki.pro --token geo_xxxxx
geo doc create --file ./new-article.md --category guide --lang zh
geo geo rebuild
# 批量导入
for f in ./docs/*.md; do
geo doc create --file "$f" --category docs --lang zh
done
# 处理搜索结果
geo search "API" --json | jq '.[] | {slug, title}'
```