DSH 插件导航

dsh-composer-polish

作者 tianji-qingtian · community

Composer draft polisher for DeepSeek Harness: a ✨ button in the composer tool row rewrites the current draft with a zero-prefix flash call and fills the polished text straight back into the input box. (原文)

DeepSeek Harness 插件,分类: 其他

安装

暂无可用的安装信息,请查阅上游来源;本站不提供安装命令。

其他安装方式

来源

README

README 状态: fetch_failed — GitHub metadata HTTP 403 · 沿用旧摘录,抓取于2026-11-05T22:11:29.495Z

dsh-composer-polish

One-click draft polisher for the DeepSeek Harness (dsh) composer. Type a rambling draft, hit the ✨ 润色 / Polish button in the input tool row, and a few seconds later the polished text replaces the draft in the input box — you preview, maybe edit, then send. No scoring, no evaluations: draft in → better draft out.

The harness is in developer preview and iterates quickly — expect compatibility-breaking changes.

中文说明见 README.zh.md。

Features

Screenshots

The ✨ Polish button in the composer tool row, next to the send button:

polish button demo

Install

Prerequisites

The dsh CLI must be on your PATH. If you only ever ran the harness through npx, dsh is not installed and you will get zsh: command not found: dsh — install it globally first. This release targets harness 0.2.0-rc.1 (for an older harness use tag v0.1.5):

npm install -g @deepseek-ai/dsh

pnpm add -g @deepseek-ai/dsh also works if your pnpm global bin dir is on PATH (otherwise pnpm asks you to run pnpm setup first). Alternatively skip the global install and prefix the commands below with npx @deepseek-ai/dsh ….

Add the bundle

# 1. add the bundle to your web profile (pnpm-backed; the built lib/ artifacts
#    are committed in this repo, so no build script runs at install time)
dsh plugin --profile web add "github:tianji-qingtian/dsh-composer-polish#v0.1.6"

# 2. restart the harness with that profile — `add` only edits the profile
#    files; a running instance does not hot-load the new bundle
dsh --profile web

After the restart the ✨ button appears in the composer tool row, next to the send button, and the /polish command is registered once the host half loads. Verify under Settings → Plugins that dsh-composer-polish is listed.

How it works

Piece Mechanism
Button seat conversation.input.right list slot (session scope); the standard kit's selector hook useInput((s) => s) reads the draft, inputActions.setDraft() writes it back
Client → Host built-in commands remote, hard-injected (inject: ['remote', 'remote.commands']): ctx.remote.commands.execute(sessionId, '/polish ' + draft) — the same roundtrip the shipped slash commands use; no custom RPC
Host rewrite /polish command handler → zero-prefix ctx.llm.stream on deepseek-official / deepseek-v4-flash (reasoningEffort: 'off', maxTokens 2000), one-shot, with a one-time catalog fallback when the pinned model id is unavailable
Result channel handler returns { kind: 'success', text }; the client reads it from CommandExecution.result.text and fills it back via setDraft
Privacy recordInput: false → command/run omits args, so the raw draft is never written to the session log
Stale-edit guard the client captures draftRev at click time; if the draft changed while polishing, the result is discarded instead of clobbering newer edits
Draft cap both halves cap the draft at 50 KB; longer drafts are truncated client-side before sending

Behavior spec (from REQUIREMENTS.md)

# Scenario Behavior
1 Non-empty draft, click ✨ read draft → flash rewrite → fill back
2 Empty / whitespace-only draft button disabled
3 Rewrite fails / returns empty draft untouched, console log only, no toast
4 Rewrite in flight button shows spinner, repeat clicks blocked
5 Draft has image attachments only the text is polished; images untouched
6 Chinese / English draft rewritten in the draft's language
7 Code blocks / lists / technical terms structure kept, code verbatim, no accuracy changes

Harness compatibility

Built and verified against harness 0.2.0-rc.1.

The harness checks a plugin's @deepseek-ai/dsh* peerDependencies ranges both when the package is installed and when a profile starts. A plugin whose declared range does not cover the running dsh --version is refused or skipped (skipping profile bundle "dsh-composer-polish": Plugin dsh-composer-polish@… is incompatible with dsh …), which is why an outdated plugin simply disappears from the composer after a harness upgrade. v0.1.6 widens the ranges to ^0.2.0-rc.1; the host code itself needed no change — commands.register (with recordInput), llm.stream, and the client-side useInput selector + inputActions.setDraft + remote.commands.execute(sessionId, line, []) are unchanged in 0.2.0. For the 0.1.x harness line use tag v0.1.5.

Build

pnpm install
pnpm build   # tsdown: lib/index.js (ESM host) + lib/client.js (ModuleLoader client bundle)

Known limitations

License

MIT

查看 README 原文

数据截至 2026-11-05

同类插件

社区

dsh-theme-cyberpunk2077

Cyberpunk 2077 / Night City theme for the DeepSeek Harness Web UI — NC yellow × neon cyan identity, CRT scanlines, Kiroshi hover lock-on, combat-state HUD, synthesized typewriter & message SFX, boot glitch, Relic interference, slang chips, and hidden easter eggs (try sending: relic / johnny).

社区

@anionex/dsh-vision-toolkit

DeepSeek Harness-native integration for agent-vision-toolkit: image Q&A, OCR, grounding, UI restoration, pixel diff, Artifacts, and Web UI.

社区

local-shell-mcp-dsh

DeepSeek Harness bridge for the full local-shell-mcp tool surface and per-session Live Workspace.

社区

@nanmicoder/dsh-agent-teams

AgentTeams for DeepSeek Harness: multi-agent team collaboration (captain, members, tasks with dependencies, messaging) driven by natural language, with a tree monitor in the web GUI

社区

@mars-sea/dsh-commandcode-provider

Unofficial DeepSeek Harness LLM provider plugin for Command Code, ported from pi-commandcode-provider (MIT). Registers the 'commandcode' provider route with a Models-page card and live model catalog.