一键导入
dingtalk
// DingTalk channel skill. When $dingtalk appears in message context, return your response as text and the framework will deliver it. For programmatic sends (e.g. progress updates), use dingtalk_send.
// DingTalk channel skill. When $dingtalk appears in message context, return your response as text and the framework will deliver it. For programmatic sends (e.g. progress updates), use dingtalk_send.
Create or update a Bub plugin in any local path. Use when the task is to scaffold a Python package that exposes a [project.entry-points.bub] entry, implement Bub hooks or tools, and make the plugin take effect by installing it or adding it as a dependency in the Bub runtime project. When working inside bub-contrib, also follow its package and workspace conventions.
Export, filter, scan, and review shareable tape datasets produced by `tape-dataset-opendal`. Use when Codex needs to prepare Bub-generated tape data for public sharing, Hugging Face upload, external research handoff, or any review-sensitive export that must run CEL filtering, TruffleHog secret scanning on the staged artifact, and a final conservative LLM audit.
WeCom channel skill. Return normal replies directly. For proactive sends such as scheduled jobs, use the packaged wecom_send.py script.
Use this skill to respond to messages from feishu channel.
QQ C2C channel skill. Use when Bub is handling a QQ conversation. Return your normal text reply directly and let the QQ channel deliver it through standard Bub outbound routing.
| name | dingtalk |
| description | DingTalk channel skill. When $dingtalk appears in message context, return your response as text and the framework will deliver it. For programmatic sends (e.g. progress updates), use dingtalk_send. |
| metadata | {"channel":"dingtalk"} |
When the message context contains $dingtalk and chat_id, you are in a DingTalk conversation.
To reply to a DingTalk user, simply return your response as text. The framework will automatically deliver it to the correct conversation. No script call is required.
chat_id from the message context is used automatically.Example: User asks "What is 2+2?" → You return "4" → The framework sends "4" to DingTalk.
Use dingtalk_send only when you need to send from within a tool (e.g. a progress update during a long-running task, or a status message triggered by another tool).
uv run ./scripts/dingtalk_send.py --chat-id <CHAT_ID> --content "<TEXT>"
Get chat_id from the message context JSON (the chat_id field). For group chats it is group:<openConversationId>, for 1:1 it is the user's staff_id.
When $dingtalk is in scope, the message context typically includes:
channel: $dingtalk — identifies this as a DingTalk conversationchat_id: target for sending (e.g. 204818006723348842 for 1:1, or group:xxx for groups)uv run ./scripts/dingtalk_send.py \
--chat-id <CHAT_ID> \
--content "<TEXT>" \
[--title "<TITLE>"]
--chat-id, -c: required--content, -m: required--title, -t: optional, default "Bub Reply"