dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
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-pushThe authCode is resolved at push time from, in order:
(registered namespace, shown automatically once the plugin is mounted), backed by settings.yaml.
config.authCode in the hiboard-push row ofthe profile's agent.cordis.yml.
export DSH_HIBOARD_AUTH_CODE='your-auth-code'The plugin registers two tools:
hiboard_pushParameter · 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-
{
"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.mjsMIT