Skills appflowy-api
AppFlowy Cloud/GoTrue API 的认证与调用流程(获取 token、workspace/文档/数据库/搜索等)。在本仓库用 Python 编写或调试 AppFlowy API 客户端、脚本、自动化或排查接口问题时使用。
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/balonegit/appflowy-skill" ~/.claude/skills/clawdbot-skills-appflowy-api && rm -rf "$T"
manifest:
skills/balonegit/appflowy-skill/SKILL.mdsource content
AppFlowy API
概述
本 skill 用于自托管 AppFlowy 环境的 API 调用与自动化,覆盖登录鉴权、文档/视图/数据库操作、搜索、协作数据(collab)等常见场景。默认不读取
,仅在显式传入 .env
--env <path> 时读取。
本 skill 当前适配 AppFlowy Cloud
0.12.3。doctor.py 会通过 /api/health 检测版本并在不匹配时给出警告。
快速开始
- 准备 base URL 与 GoTrue URL(可选
读取--env <path>
)。.env - 使用账号密码获取
。access_token - 携带必要请求头调用 AppFlowy API。
# 获取 token curl -sS -X POST "http://10.60.0.189/gotrue/token?grant_type=password" \ -H "Content-Type: application/json" \ -d '{"email":"<email>","password":"<password>"}'
# 调用 API(示例:搜索) curl -sS "http://10.60.0.189/api/search/<workspace_id>?query=test" \ -H "Authorization: Bearer <access_token>" \ -H "client-version: 0.12.3" \ -H "client-timestamp: 1700000000000" \ -H "device-id: <uuid>"
统一入口(推荐)
统一入口脚本用于封装命令风格,适合自动化与外部集成:
python skills/appflowy-api/scripts/appflowy_skill.py list python skills/appflowy-api/scripts/appflowy_skill.py help apply-grid
配置优先级
解析优先级(从高到低):
- 命令行参数:
、--base-url
、--gotrue-url
、--client-version--device-id - 配置文件:
(JSON,示例见--config <path>
)skills/appflowy-api/references/config.example.json - 环境变量:
、APPFLOWY_BASE_URL
、API_EXTERNAL_URLAPPFLOWY_GOTRUE_BASE_URL
文件:仅在传入.env
时读取--env <path>
常用脚本
# 获取 token python skills/appflowy-api/scripts/get_token.py --email <email> --password <password>
# 自检(不会自动读取 .env) python skills/appflowy-api/scripts/doctor.py --config skills/appflowy-api/references/config.example.json --email <email> --password <password>
# 生成“用户管理系统”文档(UTF-8 模板,表格顺序为正序) python skills/appflowy-api/scripts/create_user_management_doc.py --config skills/appflowy-api/references/config.example.json --email <email> --password <password>
# 就地修正文档(通用模板脚本) python skills/appflowy-api/scripts/update_user_management_doc.py --config skills/appflowy-api/references/config.example.json --email <email> --password <password> --workspace-id <workspace_id> --view-id <view_id>
# 通用模板:按模板更新 Grid(默认就地修改) python skills/appflowy-api/scripts/apply_grid_template.py --config skills/appflowy-api/references/config.example.json --email <email> --password <password> --workspace-id <workspace_id> --view-id <view_id> --template-file <template.json>
子内容规则(子任务 / 子项 / 子 Grid)
(Checklist/Todo 列):适用于简单描述的子内容,不需要额外字段。子任务
(Relation 列):当子内容与父级字段结构一致时,通过关联行管理。子项
:当子内容需要独立字段结构时,新建 Grid 并在父级引用或说明。子 Grid
Grid 默认空行处理
新建 Grid 时可能自动生成 3 条空行。脚本在写入数据前会清理默认空行,避免空行混入真实计划。
必需请求头
所有 AppFlowy API 请求均需携带:
Authorization: Bearer <access_token>
(建议与部署版本一致)client-version: <AppFlowy 版本>client-timestamp: <Unix 毫秒>device-id: <UUID>
错误处理与排障
- HTTP 200 但响应体包含
或success=false
视为业务失败。error - 控制台提示无法连接时,优先检查宿主机
可达性与防火墙规则。80/443 - 容器间调用优先使用内部地址(如
、http://gotrue:9999
)。http://appflowy_cloud:8000
资源
:Python/Node 脚本与通用库。skills/appflowy-api/scripts/
:API 参考与模板文件。skills/appflowy-api/references/
:UTF-8 模板,避免乱码与字段顺序问题。skills/appflowy-api/references/templates/
:示例命令与用法。skills/appflowy-api/examples/