dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
华为鸿蒙负一屏(智慧助手·今天)任务完成推送:hiboard_push / hiboard_verify 工具把 Markdown 任务结果推送到手机卡片流,与 OpenClaw today-task 技能线级兼容,授权码可在 dsh 设置面板配置。
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).
dsh plugin --profile web add github:Entity-Him/dsh-hiboard-push
Three steps to connect dsh to your phone negative-one-screen feed:
uhIzvTvjwnAD). Do not share it.dsh plugin --profile web add github:Entity-Him/dsh-hiboard-push
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
In the dsh chat ask the agent to:
call hiboard_push with dry_run (validates, does not send).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.
0000900034 invalid authCode: re-fetch from 负一屏 → 我的 → 动态管理 →
关联账号 → Claw 智能体, then dsh-hiboard-auth new-code and restart dsh.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):
name + content + result.schedule_id.name + result without content.hiboard_verifySends a minimal real connection-test card to the phone, to confirm the authCode and network path end to end.
POST https://hiboard-claw-drcn.ai.dbankcloud.cn/distribution/message/cloud/claw/msg/uploadContent-Type: application/json; charset=utf-8,
x-trace-id: task-push-<yyyyMMddHHmmss>{
"data": {
"authCode": "<authCode>",
"msgContent": [
{
"msgId": "dsh_<epoch-sec>_<rand>",
"scheduleTaskId": "",
"scheduleTaskName": "任务名称",
"summary": "任务名称",
"result": "任务已完成",
"content": "# Markdown",
"source": "OpenClaw",
"taskFinishTime": 1710000000
}
]
}
}
"code": "0000000000"."code": "0000900034" means the authCode is invalid.node --test test/core.test.mjs
MIT