Entity-Him/dsh-hiboard-push

Push task-completion messages to the Huawei HarmonyOS assistant-today (负一屏) card feed from DeepSeek Harness — wire-compatible with the OpenClaw today-task skill.

项目介绍Project Overview

dsh-hiboard-push 是 DSH 插件,让智能体在任务完成时调用 hiboard_push,把任务名与 Markdown 结果作为服务卡片推送到华为 HarmonyOS 负一屏(智慧助手·今天);兼容 OpenClaw today-task 的端点、载荷与渲染规则,另提供 hiboard_verify 做真实连接测试。适合需要在手机今日页接收任务完成通知的场景。注意 authCode 是个人凭证,切勿分享或提交到仓库。

dsh-hiboard-push is a DSH plugin that lets an agent push task-completion service cards to the Huawei HarmonyOS negative-one-screen ("Today" feed). When a task finishes, the agent calls hiboard_push with the task name and Markdown result; it is wire-compatible with the OpenClaw today-task skill and includes hiboard_verify for end-to-end testing. Use it when phone-side task notifications are needed. Caveat: the authCode is a personal credential and must not be shared or committed.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:Entity-Him/dsh-hiboard-push

Entity-Him/dsh-hiboard-push 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-hiboard-push

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

  1. Open 负一屏 (assistant-today) on the phone.
  2. 我的 → 动态管理 → 关联账号 → Claw 智能体 → get the authorization code.
  3. 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

  • 0000900034 invalid authCode: re-fetch from 负一屏 → 我的 → 动态管理 → 关联账号 → Claw 智能体, then dsh-hiboard-auth new-code and 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 cardname + content + result.
  • Periodic task card — the same, with a schedule_id.
  • Summary-only cardname + result without content.

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

上一个 Prev dsh-active-context-pruning 下一个 Next deepseek-harness-plugins