Web composer enhancement: recalls sent prompts across sessions with ArrowUp/ArrowDown, searches them with Ctrl+R, restores rich drafts, and opens a docked /btw or /side conversation.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-air
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:kaieye/dsh-AIR
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
中文 | English
dsh-air lets you browse previously sent prompts with ArrowUp / ArrowDown and open a docked side conversation with /btw.
Install
dsh plugin --profile web add dsh-air
Restart DSH after installation.
Uninstall
dsh plugin --profile web remove dsh-air
Shortcuts
| Shortcut | Action |
|---|---|
ArrowUp |
Recall the previous sent prompt from an empty composer. |
ArrowDown |
Move to a newer history entry. |
Ctrl+R |
Search sent prompt history. |
Enter |
Accept the current history search result. |
Esc |
Cancel history search and restore the original draft. |
/btw [question] |
Open a side conversation; /side is an alias. |
Settings and local data
The AIR 插件 section in DSH settings shows the saved history count, lets you change the history cap, and can clear dsh-air's stored history, rich drafts, and large-paste payloads. The cap defaults to 500 entries and accepts 10–5,000; clearing data keeps the cap setting.
History, drafts, and paste references are stored in the current browser's localStorage. Clearing the site's browser data removes these records as well.
Drag the left edge of the BTW panel to resize it. When the resize handle is focused, ← / → change the width by 24 pixels, Shift plus an arrow changes it by 80 pixels, and Home / End jump to the minimum / maximum width. The chosen width is persisted locally.
License
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2250
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 472
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 464
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 208
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 127
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.