Loading...
Loading...
Operate Feishu or Lark IM APIs through UXC with a curated OpenAPI schema, tenant-token bearer auth, and chat/message guardrails.
npx skill4agent add holon-run/uxc feishu-openapi-skilluxcuxcuxcPATHhttps://open.feishu.cn/open-apishttps://open.larksuite.com/open-apishttps://raw.githubusercontent.com/holon-run/uxc/main/skills/feishu-openapi-skill/references/feishu-im.openapi.jsonapp_idapp_secrettenant_access_tokenuxc subscribefeishu-long-connectionim.message.receive_v1p2pfeishu-long-connectionuxc subscribe/callback/ws/endpointhttps://open.feishu.cn/open-apishttps://open.larksuite.com/open-apisAuthorization: Bearer <tenant_access_token>app_idapp_secretuxc auth bootstrapuxc auth credential set feishu-tenant \
--auth-type bearer \
--field app_id=env:FEISHU_APP_ID \
--field app_secret=env:FEISHU_APP_SECRET
uxc auth bootstrap set feishu-tenant \
--token-endpoint https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal \
--header 'Content-Type=application/json; charset=utf-8' \
--request-json '{"app_id":"{{field:app_id}}","app_secret":"{{field:app_secret}}"}' \
--access-token-pointer /tenant_access_token \
--expires-in-pointer /expire \
--success-code-pointer /code \
--success-code-value 0
uxc auth binding add \
--id feishu-tenant \
--host open.feishu.cn \
--path-prefix /open-apis \
--scheme https \
--credential feishu-tenant \
--priority 100open.larksuite.comapp_idapp_secretcurl -sS https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"app_id":"cli_xxx","app_secret":"xxxx"}'curl -sS https://open.larksuite.com/open-apis/auth/v3/tenant_access_token/internal \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{"app_id":"cli_xxx","app_secret":"xxxx"}'uxc auth credential set feishu-tenant \
--auth-type bearer \
--secret-env FEISHU_TENANT_ACCESS_TOKEN
uxc auth binding add \
--id feishu-tenant \
--host open.feishu.cn \
--path-prefix /open-apis \
--scheme https \
--credential feishu-tenant \
--priority 100open.larksuite.comuxc auth binding add \
--id lark-tenant \
--host open.larksuite.com \
--path-prefix /open-apis \
--scheme https \
--credential feishu-tenant \
--priority 100uxc auth bootstrap info feishu-tenant
uxc auth bootstrap refresh feishu-tenantuxc auth binding match https://open.feishu.cn/open-apiscommand -v feishu-openapi-cliuxc link feishu-openapi-cli https://open.feishu.cn/open-apis --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/feishu-openapi-skill/references/feishu-im.openapi.jsonfeishu-openapi-cli -hfeishu-openapi-cli get:/im/v1/chats -hfeishu-openapi-cli post:/im/v1/images -hfeishu-openapi-cli post:/im/v1/files -hfeishu-openapi-cli post:/im/v1/messages -hfeishu-openapi-cli get:/im/v1/messages -hfeishu-openapi-cli get:/im/v1/chats page_size=20feishu-openapi-cli get:/im/v1/chats/{chat_id} chat_id=oc_xxxfeishu-openapi-cli get:/contact/v3/users/{user_id} user_id=ou_xxx user_id_type=open_idfeishu-openapi-cli get:/im/v1/messages container_id_type=chat container_id=oc_xxx page_size=20feishu-openapi-cli post:/im/v1/images image_type=message image=/tmp/example.pngfeishu-openapi-cli post:/im/v1/messages receive_id_type=chat_id '{"receive_id":"oc_xxx","msg_type":"text","content":"{\"text\":\"Hello from UXC\"}"}'uxc subscribeuxc subscribe start https://open.feishu.cn/open-apis --transport feishu-long-connection --auth feishu-tenant --sink file:$HOME/.uxc/subscriptions/feishu.ndjsonheader.event_type = "im.message.receive_v1"get:/im/v1/chatsget:/im/v1/chats/{chat_id}get:/im/v1/chats/{chat_id}/membersget:/im/v1/messagesget:/im/v1/messages/{message_id}post:/im/v1/messagespost:/im/v1/messages/{message_id}/replypost:/im/v1/imagespost:/im/v1/filesget:/contact/v3/users/{user_id}post:/contact/v3/users/batch_get_id--textokkindprotocoldataerroruxc auth bootstraptenant_access_tokenfeishu-long-connectionapp_idapp_secretpost:/im/v1/imagespost:/im/v1/filesmultipart/form-datapost:/im/v1/messagesreceive_id_typecontentmsg_type=imagecontent='{\"image_key\":\"img_xxx\"}'msg_type=filecontent='{\"file_key\":\"file_xxx\"}'post:/im/v1/messages/{message_id}/replyfeishu-openapi-cli <operation> ...uxc https://open.feishu.cn/open-apis --schema-url <feishu_openapi_schema> <operation> ...references/usage-patterns.mdreferences/feishu-im.openapi.json