
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-office-plugin
Advanced tools
Live office: multi-agent activity rendered as a pixi.js office of ox/horse workers, in a Web UI tab next to the trajectory view
English | 简体中文
DSH Ox-Horse Office is a Web UI plugin for DeepSeek Harness (dsh) that renders the live activity of your multi-agent sessions as a pixel-art office. Every agent session becomes an ox/horse worker with its own badge -- running agents type at their desks, idle ones wander and nap, and you are the boss, sitting in the corner office wearing a crown.
🌟 If this project made you smile or helped you out, please give it a Star -- it really helps, thank you!

| Role | Who | Where | Looks |
|---|---|---|---|
| The Boss | You, the user | Private corner office (bottom-right) | Dark-brown suit coat, gold trim, glasses, golden crown |
| The Supervisor | The current session (the agent you are talking to) | Supervisor desk above the open office floor | Golden coat + orange foreman helmet |
| Workers | All other sessions (subagents included) | 4×4 desk grid | Randomly ox or horse; coat and accessories are stable per session id |
The office holds up to 16 workers (supervisor included); overflowing running sessions show up as "queued" and take a seat as earlier ones finish.
Click a worker: an info card with species, status, title (supervisor / worker), and what it is doing right now.
Click a working worker's screen: opens the work monitor window streaming that agent's activity -- thinking, output, tool calls, and reports -- with inline markdown (bold / inline code) support.

Click the boss: opens a mini input bar to issue orders directly to the current session (the supervisor) over the same channel as the main chat input. On success the bar collapses and the supervisor immediately shouts the order out; on failure the error shows inline in red and your draft is kept for retry.

Whenever a session has a tool call awaiting approval, a question, or a plan review:
The boss (you) has a private office: an executive desk, a monitor, a gold-trimmed high-back chair, a bookshelf, plants, and a rug. The boss mostly works, with regular slacking:
Prerequisite: the dsh CLI with the web profile (dsh web).
# From npm (recommended)
dsh plugin --profile web add dsh-office-plugin
# From a local path
dsh plugin --profile web add ./office-plugin
# From a prebuilt tarball on GitHub Releases (no allowBuilds needed)
curl -LO https://github.com/geguanming/dsh-office-plugin/releases/latest/download/dsh-office-plugin.tgz
dsh plugin --profile web add ./dsh-office-plugin.tgz
# From git (requires allowBuilds in the profile's pnpm-workspace.yaml, see below)
dsh plugin --profile web add github:geguanming/dsh-office-plugin
Restart dsh web after installing (the plugin graph is read at startup). An "Office" entry appears at the top-right of the browser; click it to open the office panel on the right side while the conversation stays in the center column.
Note: only
dsh plugin --profile web addfully activates the two-half plugin;--patchwith a file:/// URL loads the host half only and the browser code is never discovered.
Installing from git pulls source and builds on install via the bundled
preparescript; pnpm ≥10 blocks install-time build scripts. The first install attempt fails by design: the error prints an exact key (with the git source) to add to thepnpm-workspace.yamlin your profile directory (~/.dsh/profiles/web) before re-running the install command:allowBuilds: dsh-office-plugin@git+ssh://git@github.com/geguanming/dsh-office-plugin.git#<commit>: trueReplace
<commit>with the hash printed in the error. Note that the bare package name (dsh-office-plugin: true) does not work. To avoid the allowBuilds dance entirely, use the npm or tarball method above -- prebuilt artifacts, no on-install build.
dsh plugin --profile web remove dsh-office-plugin
Restart dsh web. If the office entry still shows up afterwards, also remove the "dsh-office-plugin" line from the bundles list in ~/.dsh/profiles/web/package.json and restart again.
dsh web with the plugin installed, then click the office entry at the top-right;pnpm install
pnpm run build # tsdown dual config: host half -> lib/index.js, browser half -> lib/client.js
pnpm run watch
pnpm run typecheck
This is a dsh "two-half" plugin:
src/index.ts): exists only to appear in the host's cordis load table;src/client/): discovered via the dsh.client declaration in package.json, served by the loader as a single file at /plugins/<id>/client.js.Two hard constraints (read CLAUDE.md before changing the build):
client.js must be a single-file CJS bundle wrapped in the window.__ModuleLoader__.load banner (inlineDynamicImports: true -- pixi.js has dynamic imports that would otherwise split chunks and 404);tsdown.config.ts must track PLATFORM_MODULES from packages/client/web/src/platform.ts in the dsh repo, and src/client/runtimeTypes.ts is a hand-aligned local type face of @deepseek-ai/dsh-client-runtime.FAQs
Live office: multi-agent activity rendered as a pixi.js office of ox/horse workers, in a Web UI tab next to the trajectory view
The npm package dsh-office-plugin receives a total of 186 weekly downloads. As such, dsh-office-plugin popularity was classified as not popular.
We found that dsh-office-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.