CLI Command Reference
GEO Wiki Pro CLI command reference covering all 17 commands with parameters and usage
> GEO Wiki Pro CLI v1.0.7 provides 17 commands, covering document management, draft management, category management, tag management, search, configuration, user management, and more.
---
## Command Overview
| Command | Description | Requires Login |
|---------|-------------|---------------|
| `geo login` | Log in to the server | No |
| `geo logout` | Log out and clear credentials | No |
| `geo status` | View connection status | No |
| `geo health` | Server health check | No |
| `geo doc` | Document management (CRUD + slug rename + sort + trash) | Yes |
| `geo category` | Category management (CRUD + sort) | Yes |
| `geo tag` | Tag management (create/list/delete) | Yes |
| `geo search` | Search documents | No |
| `geo config` | Site configuration read/write | Yes |
| `geo user` | User management + Token management | Yes |
| `geo draft` | Draft management (list/view/publish/delete) | Yes |
| `geo stats` | Dashboard statistics | Yes |
| `geo feedback` | User feedback management | Yes |
| `geo guestbook` | Guestbook management | Yes |
| `geo media` | Media file upload/list/delete | Yes |
| `geo geo` | GEO status, report, rebuild | Yes |
---
## Authentication Commands
### geo login
Log in to the GEO Wiki Pro server. Uses API Token authentication, valid for 90 days.
```bash
geo login --url https://geowiki.pro --token geo_xxxxx
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--url` | `-u` | Server address | Yes |
| `--token` | `-t` | API Token | Yes |
> Generate tokens in the admin panel under Settings -> API Token.
### geo logout
Clear locally saved authentication information.
```bash
geo logout
```
### geo status
View current connection status and user information.
```bash
geo status
```
### geo health
Check server health status. No authentication required. Suitable for deployment verification and monitoring scripts.
```bash
geo health
geo health --json
```
Example output:
```
✅ Server is healthy
URL: https://geowiki.pro
Status: 200 OK
```
---
## Document Commands
### geo doc list
List all documents.
```bash
geo doc list
geo doc list --category can-motion
geo doc list --lang zh --json
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--category` | | Filter by category | No |
| `--lang` | `-l` | Language (required: zh/en/jp) | Yes |
| `--page` | | Page number (default 1) | No |
| `--limit` | | Items per page (default 50) | No |
### geo doc get
Get document content.
```bash
geo doc get --slug quick-start
geo doc get --slug quick-start --lang en
geo doc get --slug quick-start --format json
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Document slug | Yes |
| `--lang` | `-l` | Language (default zh) | No |
| `--format` | `-f` | Output format: markdown or json | No |
### geo doc create
Create a new document.
```bash
# Create from file
geo doc create --file ./my-doc.md --category can-motion --lang zh
# Create with inline content
geo doc create --title "Title" --category docs --slug my-doc --content "# Body content"
# Save as draft
geo doc create --file ./my-doc.md --category guide --draft
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--file` | `-f` | Markdown file path | Yes (or --title) |
| `--title` | `-t` | Document title (used when no file) | Yes (or --file) |
| `--content` | | Inline content (no file needed) | No |
| `--category` | `-c` | Category slug | No |
| `--slug` | `-s` | Custom slug | No |
| `--lang` | `-l` | Language code (required: zh/en/jp) | Yes |
| `--tags` | `-T` | Comma-separated tags | No |
| `--author` | `-a` | Author (default: Agent) | No |
| `--sort` | | Sort value (default 999) | No |
| `--draft` | | Save as draft (do not publish directly) | No |
::: tip
Files should contain YAML frontmatter (title, slug, category, tags, author). If the file contains frontmatter, command-line arguments can be omitted — the CLI will extract them automatically.
:::
### geo doc update
Update a document. Supports single-field updates — only the specified field is modified, all other fields remain unchanged.
```bash
# Update from file (safest)
geo doc update --slug my-doc --file ./updated.md
# Update title
geo doc update --slug my-doc --title "New Title" --lang zh
# Update description
geo doc update --slug my-doc --description "New Description" --lang zh
# Update author
geo doc update --slug my-doc --author "John Doe" --lang zh
# Update tags
geo doc update --slug my-doc --tags "tag1,tag2" --lang zh
# Update notice
geo doc update --slug my-doc --notice "This document has been updated" --lang zh
# Update sort value only
geo doc update --slug my-doc --sort 0
# Update category only
geo doc update --slug my-doc --category new-category
# Update content only
geo doc update --slug my-doc --content "# New Title\n\nNew content"
# Save as draft
geo doc update --slug my-doc --file ./updated.md --draft
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Document slug | Yes |
| `--file` | `-f` | Updated file path | Yes (one of) |
| `--content` | | Inline content | Yes (one of) |
| `--title` | `-t` | Update title | No |
| `--description` | `-d` | Update description | No |
| `--author` | `-a` | Update author | No |
| `--tags` | `-T` | Update tags (comma-separated) | No |
| `--notice` | | Update notice | No |
| `--category` | `-c` | New category | No |
| `--sort` | | New sort value | No |
| `--lang` | `-l` | Language code | No |
| `--draft` | | Save as draft | No |
::: note
Single-field updates only modify the specified field; all other fields retain their original values.
:::
### geo doc delete
Delete a document (moves to trash, auto-purged after 30 days).
```bash
geo doc delete --slug my-doc
geo doc delete --slug my-doc --yes # Skip confirmation
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Document slug | Yes |
| `--lang` | `-l` | Language code | No |
| `--yes` | `-y` | Skip confirmation prompt | No |
### geo doc slug-rename
Rename a document's URL slug. All language versions (zh/en/jp) share the same slug — renaming updates all versions simultaneously. Title, content, and other fields are not affected.
```bash
geo doc slug-rename --slug old-name --new-slug new-name
geo doc slug-rename --slug my-doc --new-slug my-document --json
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Current document slug | Yes |
| `--new-slug` | | New slug | Yes |
::: warning
Changing the slug will change the document URL. If other documents link to the old slug, they need to be updated manually.
:::
### geo doc trash / recover
View and recover documents in the trash.
```bash
geo doc trash # List trash
geo doc trash --clear # Empty trash
geo doc recover --file my-doc-zh-123456.md # Recover document
```
### geo doc reorder
Batch adjust document sort order.
```bash
geo doc reorder --orders "quick-start:0,faq:1,architecture:2"
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--orders` | `-o` | Format: `slug1:sort-value,slug2:sort-value` | Yes |
---
## Category Commands
### geo category list
List all categories.
```bash
geo category list
geo category list --json
```
### geo category create
Create a category.
```bash
geo category create --name "CAN Motor" --name-en "CAN MOTION" --slug can-motion
```
| Parameter | Description | Required |
|-----------|-------------|----------|
| `--name` | Category name (default language) | Yes |
| `--name-en` | English name | No |
| `--name-jp` | Japanese name | No |
| `--slug` | Category slug | Yes |
### geo category update
Update category information.
```bash
geo category update --slug can-motion --name "New Name" --name-en "New Name"
```
### geo category reorder
Batch adjust category sort order.
```bash
geo category reorder --orders "products:0,technical:1,support:2"
```
### geo category delete
Delete a category.
```bash
geo category delete --slug old-category
```
---
## Tag Commands
### 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
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Tag slug | Yes |
| `--name` | `-n` | Tag display name | Yes (for create) |
---
## Search Commands
### geo search
Search documents.
```bash
geo search "CAN bus" --lang zh
geo search "motor" --category can-motion --lang zh
geo search "Arduino" --lang en --json
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--category` | `-c` | Filter by category | No |
| `--lang` | `-l` | Language (required: zh/en/jp) | Yes |
| `--limit` | | Maximum results (default 20) | No |
---
## Configuration Commands
### geo config get
Get site configuration.
```bash
geo config get
geo config get --json
```
### geo config update
Update site configuration.
```bash
geo config update --site-name "My Knowledge Base"
geo config update --hero-title-zh "Welcome" --hero-title-en "Welcome"
geo config update --hero-subtitle-zh "Product Docs" --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">'
```
| Parameter | Description | Required |
|-----------|-------------|----------|
| `--site-name` | Site name | No |
| `--site-desc` | Site description (SEO) | No |
| `--default-lang` | Default language (zh, en, jp) | No |
| `--hero-title` | Hero section title | No |
| `--hero-title-zh` | Hero title (Chinese) | No |
| `--hero-title-en` | Hero title (English) | No |
| `--hero-title-jp` | Hero title (Japanese) | No |
| `--hero-subtitle` | Hero section subtitle | No |
| `--hero-subtitle-zh` | Hero subtitle (Chinese) | No |
| `--hero-subtitle-en` | Hero subtitle (English) | No |
| `--hero-subtitle-jp` | Hero subtitle (Japanese) | No |
| `--featured-slugs` | Comma-separated recommended document slugs | No |
| `--logo-url` | Logo image path | No |
| `--favicon-url` | Favicon path | No |
| `--custom-head` | Custom HTML (injected into `<head>`) | No |
---
## User Commands
### 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
```
| Parameter | Description | Required |
|-----------|-------------|----------|
| `--id` | User ID (required for update/delete/reset-password) | Yes |
| `--username` | Username (required for create) | Yes |
| `--password` | Password (required for create) | Yes |
| `--role` | Role: admin / editor / viewer (default: editor) | No |
### geo user token
Manage API Tokens.
```bash
geo user token list # List all tokens
geo user token list --json # JSON format output
geo user token delete --id token-id # Revoke token
```
::: note
API Tokens can only be created in the admin panel under Settings -> API Token.
:::
---
## Draft Commands
```bash
geo draft list # List all drafts
geo draft list --json # JSON format output
geo draft get --slug my-draft # View draft content
geo draft publish --slug my-draft # Publish draft
geo draft publish --slug my-draft --lang en # Publish draft (specific language)
geo draft delete --slug my-draft # Delete draft
geo draft delete --slug my-draft --lang en # Delete draft (specific language)
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--slug` | `-s` | Draft slug | Yes |
| `--lang` | `-l` | Language code | No |
| `--json` | | JSON format output | No |
---
## Statistics Commands
```bash
geo stats # View dashboard statistics
geo stats metrics # View detailed system metrics
geo stats --json # JSON format output
```
---
## Feedback Commands
```bash
geo feedback list # List all feedback
geo feedback list --json # JSON format output
geo feedback delete --id "feedback-id" # Delete feedback
geo feedback promote --id "feedback-id" # Promote feedback to document content or FAQ
```
---
## Guestbook Commands
```bash
geo guestbook list # List all guestbook entries
geo guestbook list --json # JSON format output
geo guestbook toggle --enabled true # Enable guestbook
geo guestbook toggle --enabled false # Disable guestbook
geo guestbook update --id "entry-id" --status approved # Approve
geo guestbook update --id "entry-id" --status rejected # Reject
geo guestbook delete --id "entry-id" # Delete entry
```
---
## Media Commands
```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
```
| Parameter | Short | Description | Required |
|-----------|-------|-------------|----------|
| `--file` | `-f` | Local file path (upload) or filename (delete) | Yes |
| `--directory` | `-d` | Subdirectory under public/media | No |
### Supported File Types
| Type | Formats |
|------|---------|
| Images | JPG, PNG, GIF, WebP |
| Video | MP4, WebM |
| Audio | MP3, WAV, OGG |
| Documents | PDF, DOC, DOCX, TXT, MD |
| 3D Models | STEP, STP, IGS |
---
## GEO Commands
### geo geo status
View GEO optimization status.
```bash
geo geo status
```
### geo geo rebuild
Rebuild GEO files (llms.txt, sitemap.xml).
```bash
geo geo rebuild
```
### geo geo report
View GEO analytics report.
```bash
geo geo report
geo geo report --json
```
### geo geo llms / sitemap / manifest
```bash
geo geo llms # View llms.txt content
geo geo sitemap # View sitemap.xml content
geo geo manifest # View site manifest
```
---
## Global Options
All commands support the `--json` flag for machine-readable JSON output, suitable for Agent parsing.
---
## Related Documents
- [CLI Installation and Login](/docs/cli-install) -- Installation and login guide
- [CLI Quick Reference](/docs/cli-quick-reference) -- Agent quick reference card
- [GEO Wiki Pro User Manual](/docs/geo-wiki-pro-user-manual) -- Complete user manual
- [REST API Documentation](/docs/rest-api) -- API endpoint reference