> PREREQUISITE: Read ../anygen-shared/SKILL.md for auth, global flags, and security rules.
Follow these rules exactly.
anygen schema to check required params and response if needed.--wait commands will block, MUST use sessions_spawn to run in the background.%XX garbage. Strictly follow the curl process in "Sending files". anygen task operations
Do not guess operation types. Always run to get supported operations and their estimated time and thumbnail support.
anygen file upload --data '{"file":"./data.csv"}'
→ Save file_token for step 4. Tell user the file was uploaded.
anygen task prepare --data '{"operation":"slide","messages":[{"role":"user","content":"Make a Q4 report PPT"}]}'
Present reply to user, collect their answer, then call again with prepare_session_id and updated messages:
anygen task prepare --data '{"operation":"slide","prepare_session_id":"
Repeat until status=ready.
→ When ready, show suggested_task_params.prompt as outline, confirm with user, then use it as prompt in step 4.
anygen task create --data '{"operation":"slide","prompt":"...","file_tokens":["
→ Tell user the task is created, share task_url and estimated time (from step 1).
sessions_spawn): anygen task get --params '{"task_id":"
output.files empty): show message to user if present.has_thumbnail from step 1): anygen task +download --task-id
→ Send thumbnail image with task_url as preview. Do not download files yet — wait for user to request download or modifications (→ step 7).
anygen task +download --task-id
→ Send files to user (see "Sending files" below).
anygen task message send --params '{"task_id":"
Then wait for result (long-running, must run in background via sessions_spawn):
anygen task message list --params '{"task_id":"
→ Repeat from step 6 to re-export and deliver. All modifications reuse the same task.
When user requests file download, or when delivering files from step 6:
anygen task +download --task-id
To download specific files: anygen task +download --task-id
Feishu/Lark (message tool corrupts non-ASCII filenames, use curl instead):
app_id and app_secret from the config file (e.g. cat ~/.openclaw/openclaw.json | jq '.channels.feishu' instead of openclaw config get). Make sure to use the credentials matching the current account.curl -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' -H 'Content-Type: application/json' -d '{"app_id":"","app_secret":""}' Upload: curl -X POST 'https://open.feishu.cn/open-apis/im/v1/images' -H 'Authorization: Bearer
Send: curl -X POST 'https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id' -H 'Authorization: Bearer
Upload: curl -X POST 'https://open.feishu.cn/open-apis/im/v1/files' -H 'Authorization: Bearer
file_type values: opus (audio), mp4 (video), pdf, doc, xls, ppt, stream (other).
Send: curl -X POST 'https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id' -H 'Authorization: Bearer
Other platforms: Send via the platform's message tool.
anygen-task-download — Download artifacts from a completed task共 1 个版本