dsh-yzj: Yunzhijia x DeepSeek Harness Plugin

DeepSeek Harness (DSH) follows the “everything is a plugin” philosophy, allowing developers to extend functionality through standalone bundles. guoxinshan/dsh-yzj is a plugin bundle that integrates Yunzhijia into DSH. It provides an yzj-cli bridge, 41 model-surface tools, and a floating workspace panel with drag-and-drop and @ mention chips.

Core Features

Bridge and Model-Surface Tools

The plugin communicates with the Yunzhijia system through an yzj-cli bridge and provides six-domain model-surface tools (including a write-confirmation flow).

IM Shell (Product Law v3.0)

This is the plugin’s core interaction layer. According to Product Law v3.0:
* Assistant definition: An assistant is a user-defined set of 1..N special direct chats (a built-in “Assistant”), not “one group, one bot.”
* Default surface: The default surface is IM (“Messages”), not a cage. The sidebar always retains the “Messages / Sessions” tab.
* Session state: Session state returns to the official local workbench (folder tree / session list / Chat + InputBar / trace / session log).
* Message state: In message state, users cannot see workspace / folder tree / New Session / DSH session id. IM only renders present bubbles produced by the model and existing yzj write-confirmation cards.

Group Chat Interaction

In group chat, @Assistant is not sent to Yunzhijia; instead, it is anchored under the replied msgId (visible only to you).

Installation and Activation

The installation commands are as follows:

pnpm dsh plugin --profile web add -w link:<本仓库路径>
dsh plugin --profile web add github:GuoxinShan/dsh-yzj#v0.1.0

Restart the GUI after installation. By default, the sidebar workspaces area is the IM inbox (“Messages”); switch to “Sessions” at the top to restore official DSH.

Typical Usage

  1. Send to assistant: After sending to the assistant, hidden session serial follow-ups occur; present bubbles + write-confirmation cards are displayed.
  2. Group message send: home-send sends a group message as yourself (no confirmation card).
  3. Reply to @assistant: Reply + @assistant = local thread; it is not sent to Yunzhijia.

Package Structure and Notes

The plugin includes standalone bundles installed via dsh plugin --profile <name> add, without modifying the harness core.

The package structure is as follows:
* packages/bridge: @dsh-yzj/bridge → ctx.yzjBridge, a bounded subprocess channel.
* packages/tool-yzj: @dsh-yzj/tool-yzj, six-domain yzj_* tools + present.
* packages/ui-yzj: @dsh-yzj/ui-yzj, browser IM shell.
* packages/model-yzj: @dsh-yzj/model-yzj, plugin-level default model routing.

Notes:
* Todos and AI-driven progress have been removed from this public repository.
* yzj-cli 0.1.6 returns {success, identity, data}; do not assume a top-level openId.
* After UI changes, rebuild the bundle (it must be copied to the root lib/client.js, see pitfall-051) and restart the GUI.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye