Install
openclaw skills install affineCommand-line tool to manage Affine documents, tags, folders, databases, comments, journals, and workspaces on cloud or self-hosted servers.
openclaw skills install affineCommand-line tool for managing Affine documents and workspaces. Works with both cloud and self-hosted Affine instances.
First, verify affine-cli is installed:
which affine-cli || npm list -g affine-cli
If not installed, install globally:
npm install -g affine-cli
Or run directly with npx:
npx affine-cli <command>
# 1. Login (get token from https://app.affine.pro/settings/tokens)
affine-cli auth login --token YOUR_TOKEN
# 2. Check status
affine-cli auth status
# 3. List workspaces
affine-cli workspace list
# 4. List documents
affine-cli doc list
Self-hosted:
affine-cli auth login --url https://your-affine.example.com --token YOUR_TOKEN
| Module | Commands |
|---|---|
| auth | login, logout, status |
| workspace | list |
| doc | list, all, info, create, delete, copy, update, search, replace, append, publish, unpublish |
| tags | list, create, add, remove, delete, info |
| folder | all, list, create, delete, update, clear, add, move, remove |
| collection | list, info, create, update, delete, add, remove |
| file | upload, delete, clean |
| database | list, columns, query, create, insert, update, delete, remove |
| comments | list, create, update, delete, resolve |
| journal | list, create, info, append, update |
# Create today's journal
affine-cli journal create
# Append to today's journal
affine-cli journal append --content "# Morning\n- Reviewed tasks\n- Team standup"
# Append to specific date
affine-cli journal append --date 2025-04-10 --content "# Notes\nMeeting with team"
# View journal
affine-cli journal info --date 2025-04-10
# List recent journals
affine-cli journal list --count 7
# Find a document by title
affine-cli doc search -q "meeting notes"
# Create from file (README.md, etc.)
affine-cli doc create -t "Q2 Planning" -c "@planning.md"
# Create with tags
affine-cli doc create -t "Project Alpha" -c "# Project\nDetails" --tags "work,important" --icon "📁"
# View document content
affine-cli doc info -i DOC_ID --content markdown
# Add content to document
affine-cli doc append -i DOC_ID --content "\n\n## Update\nNew content here"
# Search with tag filter
affine-cli doc search -q "budget" --tag finance
# Create tag
affine-cli tags create --name "review"
# Add tag to document
affine-cli tags add -d DOC_ID --tag review
# List all tags
affine-cli tags list
# Find documents with tag
affine-cli tags info --tag review
# Create folder
affine-cli folder create --name "Projects"
# List root folders
affine-cli folder all
# List folder contents
affine-cli folder list --id FOLDER_ID
# Move document to folder
affine-cli folder move --id FOLDER_ID -d DOC_ID
# List databases in a doc
affine-cli database list --doc DOC_ID
# Query data (filters)
affine-cli database query --doc DOC_ID --id DB_ID -q '[{"column":"Status","operator":"eq","value":"Done"}]'
# Insert new row
affine-cli database insert --doc DOC_ID --id DB_ID --content '[{"Task":"Review PR","Status":"Todo"}]'
# Update rows
affine-cli database update --doc DOC_ID --id DB_ID --values '{"Status":"Done"}' -q '[{"column":"Task","operator":"contains","value":"Review"}]'
Priority: env vars > local .env > global config
Files:
~/.affine-cli/affine-cli.env<project>/.envEnvironment variables:
AFFINE_API_TOKEN - Required, get from Settings → TokensAFFINE_BASE_URL - Server URL (default: https://app.affine.pro)AFFINE_WORKSPACE_ID - Default workspace