Huawei HarmonyOS assistant-today (负一屏) task-completion push for DeepSeek Harness: hiboard_push / hiboard_verify tools post Markdown task results to the phone card feed, wire-compatible with the OpenClaw today-task skill, with the authCode managed from the dsh settings panel.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:QinpanWan/dsh-hiboard-push
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Push task-completion messages to the Huawei HarmonyOS negative-one-screen ("Today" / 智慧助手·今天) as service cards, from a DeepSeek Harness (dsh) agent. Wire-compatible with the OpenClaw today-task skill: the same HIBoard upload endpoint, the same payload contract, and the same card rendering rules — so the same authCode from 负一屏 works here too.
When a task finishes, the agent calls hiboard_push with the task name and
the Markdown result; the card appears on the phone's Today feed moments
later. No client UI, no extra runtime dependencies (HTTP uses the Node
built-in fetch).
Install
dsh plugin --profile web add github:Entity-Him/dsh-hiboard-push
Linking tutorial (负一屏)
Three steps to connect dsh to your phone negative-one-screen feed:
1. Get the authCode on your phone
- Open 负一屏 (assistant-today) on the phone.
- 我的 → 动态管理 → 关联账号 → Claw 智能体 → get the authorization code.
- You get a code (e.g.
uhIzvTvjwnAD). Do not share it.
2. Install the plugin
dsh plugin --profile web add github:Entity-Him/dsh-hiboard-push
3. Configure the authCode from a terminal (recommended)
The code is stored in ~/.dsh/hiboard-auth.env (mode 600, hidden from the
settings panel); the dsh supervisor sources it on every launch:
dsh-hiboard-auth your-auth-code # write the authCode
dsh-hiboard-auth # check whether configured (value hidden)
dsh-hiboard-auth -d # clear it
Restart dsh to apply. Alternatives: the hiboard-push settings section
(password-style input, field marked role(secret) so it is redacted on the
wire) or the environment variable:
export DSH_HIBOARD_AUTH_CODE=your-auth-code
Verify
In the dsh chat ask the agent to:
- Dry-run first:
call hiboard_push with dry_run(validates, does not send). - Then a real connection test:
call hiboard_verify— the phone receives a "dsh 连接测试" card.
Once the card arrives, the link is live; the agent will call hiboard_push
automatically when tasks finish.
Troubleshooting
0000900034invalid authCode: re-fetch from 负一屏 → 我的 → 动态管理 → 关联账号 → Claw 智能体, thendsh-hiboard-auth new-codeand restart dsh.- The authCode is a personal credential: whoever holds it can push cards to your feed — never paste it into group chats or commit it to a repo.
Usage
The plugin registers two tools:
hiboard_push
| Parameter | Required | Description |
|---|---|---|
name |
✅ | Task name; card title, scheduleTaskName, and summary. |
content |
✅ | Markdown body (≤ 5000 chars), rendered verbatim on the card. |
result |
❌ | Result summary / status label. Default: 任务已完成. |
schedule_id |
❌ | Periodic-task ID; keep the same ID to group repeated cards. |
dry_run |
❌ | Build and validate the payload without sending (no authCode needed). |
The card style follows which fields are filled (same as today-task):
- Standard task card —
name+content+result. - Periodic task card — the same, with a
schedule_id. - Summary-only card —
name+resultwithoutcontent.
hiboard_verify
Sends a minimal real connection-test card to the phone, to confirm the authCode and network path end to end.
API contract (for reference)
- Endpoint:
POST https://hiboard-claw-drcn.ai.dbankcloud.cn/distribution/message/cloud/claw/msg/upload - Headers:
Content-Type: application/json; charset=utf-8,x-trace-id: task-push-<yyyyMMddHHmmss> - Body:
{
"data": {
"authCode": "<authCode>",
"msgContent": [
{
"msgId": "dsh_<epoch-sec>_<rand>",
"scheduleTaskId": "",
"scheduleTaskName": "任务名称",
"summary": "任务名称",
"result": "任务已完成",
"content": "# Markdown",
"source": "OpenClaw",
"taskFinishTime": 1710000000
}
]
}
}
- Success: HTTP 200 with
"code": "0000000000". "code": "0000900034"means the authCode is invalid.
Development
node --test test/core.test.mjs
License
MIT
Links
More in this category
xmanrui/dsh-im★ 3118
Connect IM bots to DeepSeek Harness via QR codes or bot credentials (9 channels: Feishu, WeChat, DingTalk, WeCom, QQ, Slack, Telegram, Discord, and WhatsApp).
shaobeichen/dsh-pocket★ 2685
Remote phone access to the DSH Web UI: scan a QR code for LAN or public (cloudflared tunnel) access with real-time sync, a mobile-adaptive layout, and a settings tab.
OpenPetsHQ/openpets#dsh★ 1373
Bridges DeepSeek Harness lifecycle status, errors, and approval requests to a locally running OpenPets desktop companion.
c1overzz/dsh-bili-scroll★ 1150
Let your DSH agent browse Bilibili on its own, read subtitles, write a daily digest, and @ you when it finds something worth your attention.
inclusionAI/Avernet#deepseek-harness-channel-bcn★ 599
Connects DeepSeek Harness to Avernet's Bot Collaboration Network over WebSocket V2, with automatic onboarding, isolated agent sessions, tool-call events, and multi-bot routing tools.
zaofan-make/dsh-qqbot★ 213
QQ official bot channel for DeepSeek Harness (feature-rich fork of tencent-connect/dsh-qqbot): group and private chat with the full agent, sticker library with auto-tagging and AI meme replies, group management (join approval and mute), botplay interactive card events with paginated catalogs, user extension registry (custom slash commands and QQ tools), scheduled wakeups, remote approvals over QQ, and a floating dock web UI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.