Chuyển đến nội dung chính

dsh-desktop-pane

Đã xác minh

@onetest/dsh-desktop-pane · v0.2.4 · MIT · Giao diện web

Tells the dsh-desktop app which project the open session works in, and puts files it sends into the chat

Cài đặt

dsh plugin add @onetest/dsh-desktop-pane

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Thẻ

Readme

@onetest/dsh-desktop-pane

Chat-side support for dsh-desktop.

That app runs the DeepSeek Harness Web UI beside columns of its own — a file tree, a browser, and an editor. Add to Chat in the tree's context menu hands a file or folder to the harness page; this plugin is the half that puts its path in the message box.

What it does

Two things, neither of them visible. It contributes no UI: the desktop app draws its own controls on its own rail, and a second set of buttons in the harness's sidebar was two places to toggle one thing.

Tells that app which project you are working in. The harness's session list knows which session is open and what directory it works in; this reports that directory whenever it changes, so the desktop app's file tree follows you between workspaces. Nothing on disk moves when you switch to an existing session, so without this the app has nothing to notice.

Puts a path in the message box. Add to Chat in the tree's context menu hands over a file or folder; this appends its path to what you are typing.

Outside the desktop app it does nothing at all — the bridge it listens to is something that app's preload puts on the page, and it is absent everywhere else.

How it works

The message box is React-controlled, so the value is written through the prototype's setter and an input event dispatched; that is what makes React treat it as typing rather than overwriting it on the next render. The box is found by role rather than by class name, since the harness's class names are generated and change between builds.

Install

dsh plugin --profile web add @onetest/dsh-desktop-pane

The desktop app installs it for you — it is in that app's default plugin set — so this is only needed for a harness you run yourself.

What it is not

It does not read your files, reach any panel's contents, or talk to the agent. It receives one path at a time, and only when you ask for it.