DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Tui — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
T

@chalk/dsh-tui

Tui

官方 DeepSeek Harness 的 pi-tui 交互层

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:DanielOu1208/deepseek-harness-tui#c30ead9a203489063a0dfc7eeed114224f8f9491
README兼容性版本

兼容性与来源证明

Tui 以 @chalk/dsh-tui 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/24

版本

0.1.0stable
2026/8/24

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 7
周下载
0
最近提交
2026/9/3
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

DeepSeek Harness TUI

A focused, terminal-native interface for the official DeepSeek Harness.

Actual DeepSeek Harness TUI terminal showing its startup banner, keyboard shortcuts, composer, model, permissions, context capacity, and idle state

Actual capture from the compiled TUI using an isolated Harness home. No model request or private session data was used.

A standalone terminal UI for the official DeepSeek Harness, rendered with @earendil-works/pi-tui.

This package does not fork or replace the Harness. The official runtime still owns the agent loop, models, tools, permissions, sessions, checkpoints, compaction, goals, skills, MCP, subagents, profiles, and credentials. This package adds the deepseek launcher, a Cordis profile bundle, and the terminal interaction layer.

Status: experimental MVP pinned to DeepSeek Harness 0.1.0-rc.6. Keep the launcher and profile bundle on matching versions while the Harness is prerelease software.

Highlights

Official runtimeAdds a terminal interaction layer without forking the Harness agent loop or persistence model.
Fast controlsSwitch plan/build mode, reasoning effort, transcript detail, and permissions without leaving the composer.
Durable workflowsResume, rename, fork, archive, inspect, export, and organize sessions by workspace.
Visible stateSee the active model, reasoning level, permission mode, work status, and approximate context occupancy.

Requirements

  • Node.js 22.19 or newer
  • A DeepSeek API key
  • macOS, Linux, or Windows

Install

One global install supplies the launcher, the matching official Harness 0.1.0-rc.6 runtime, and this TUI bundle:

npm install --global --install-links github:DanielOu1208/deepseek-harness-tui

Keep --install-links in the command. For a GitHub source install it makes npm copy the package into the global prefix instead of leaving the launcher linked to npm's temporary checkout.

Confirm the launcher without creating or changing Harness state:

deepseek --version
deepseek --help

The first ordinary deepseek launch creates or completes the official tui profile under $DSH_HOME/profiles/tui (normally ~/.dsh/profiles/tui) through the official Harness profile APIs. Existing profile files and user patch layers are preserved.

Authenticate

Store a key with masked terminal input:

deepseek auth

The key is written through the official Harness credential service. It uses $DSH_HOME/.credentials.yaml (normally ~/.dsh/.credentials.yaml), enforces the Harness file-safety rules, and never prints the key.

Check authentication without revealing the credential:

deepseek auth status

Remove a key stored by the Harness:

deepseek auth logout

Logout asks for confirmation and defaults to keeping the credential.

An inherited DEEPSEEK_API_KEY takes precedence and is intentionally read-only. When it is present, auth, auth status, and auth logout explain that the environment is supplying the active key. Change or unset it in the shell, service, CI configuration, or other environment that launches deepseek; the launcher will not claim to overwrite or remove it.

Keys inherited from project or user .env files are also reported with their source. deepseek auth logout will not claim to delete those files; remove the key from the reported .env source instead.

Run

deepseek
deepseek "explain this repository"
deepseek --cwd /path/to/project
deepseek --resume session-xxxxxxxx

Arguments are forwarded unchanged to the official Harness tui profile. Standard input, standard output, standard error, termination signals, and the Harness exit status are carried through by the launcher.

Inside the TUI:

  • Enter submits a prompt.
  • Escape closes the current menu or question without stopping the agent.
  • Ctrl+C closes an open panel and stops the active turn; press it again to exit.
  • Ctrl+D exits when the prompt is empty.
  • F2 opens the settings list.
  • Shift+Tab switches between plan and build mode. During an active turn, the Harness applies the switch at the next safe model step.
  • Shift+Up and Shift+Down raise or lower the reasoning effort for the next model request. The shortcut stops at the highest and lowest advertised levels.
  • Ctrl+V attaches a supported image from the system clipboard when the platform provides one; /attach path is the portable fallback.
  • Up/Down and Enter operate menus; Space toggles checkbox answers.
  • / opens Harness commands.
  • @ opens file completion.
  • Transcript detail defaults to Normal and can be changed from F2 → Transcript detail.

The footer shows approximate context occupancy against the active model's capacity, for example ctx ~42K/1M (4%). The estimate describes the next prompt rather than billing usage and updates immediately after compaction. Before the first provider usage sample, the footer shows the known capacity as ctx —/1M.

Unknown slash commands are offered to the official Harness command service. Their availability depends on the composed profile.

Common local commands:

CommandPurpose
/helpShow local and official Harness commands
/newStart a fresh session
/sessions, /resumeSearch sessions by title, ID, or working directory
/resume <session-id>Open a known session directly
/session [session-id]Rename, fork, or one-way archive a session
/workspacesBrowse non-archived sessions grouped by workspace
/model, /reasoningChange the next model request
/permission <mode>Set read-only, workspace-write, or danger-full-access tool access
/settings or F2Open the Pi-style settings list
/busyChoose queue or steer behavior while an agent is running
/queue [prompt]Manage queued work or queue a separate follow-up turn
/steer <prompt>Inject guidance at the next safe step of the active turn
/attach [path]Manage pending images or attach a PNG, JPEG, GIF, or WebP file
/deliverablesBrowse paths reported by successful mutation tools
/inspectSearch model steps, tool calls, nested calls, timing, and errors
/statsShow whole-session timing and provider token/cache totals
/activityInspect background jobs, workflows, and subagent descendants
/export [markdown|json]Atomically export the current session with recognized image payloads removed
/stopStop the active turn and keep the TUI open
/pauseStop, flush, print the resume ID, and exit
/exitFlush and exit

The old singular /setting spelling remains accepted for compatibility, but is hidden from completion and help.

The session navigator is sorted by recent activity and includes the current session, persisted non-subagent fork sessions, working directory, and short session ID. /new creates an unrelated session; /session can create a fork at a completed-turn boundary. Subagent-owned sessions stay out of ordinary navigation and are visible under /activity. Switching is blocked while queued messages are waiting, because disposing the active Harness agent would otherwise discard that queued work. If a turn is running without queued work, the TUI asks before stopping it.

Archiving is one-way in Harness 0.1.0-rc.6: /session gives a strong warning and defaults to Cancel. Archived logs remain durable and can be found with /sessions archived, but the current runtime exposes no safe unarchive operation.

Bare /queue can view pending work, replace text-only items in place, and remove an item that has not been claimed. The runtime does not expose queue reordering, so the TUI does not imitate it with private inbox state.

Text drafts are saved per session under $DSH_HOME/tui/drafts/v1 using owner-private files and restored during navigation. Pending images are intentionally not persisted. The TUI validates and stores images through the official attachment service, shows [image] in terminal history, and does not require terminal-specific inline graphics support.

/export flushes the current session before writing an owner-private Markdown or versioned JSON file. Official image attachments, common image/image_url records, binary values, and data:image URLs have their raw or encoded payloads removed while reference metadata is preserved. Plugin event shapes are extensible, so always review an export before sharing it; exports can still contain sensitive prompts, tool output, local paths, and unrecognized plugin-defined data.

danger-full-access permits unrestricted tool access. Use it only when the current session and working directory are trusted.

Transcript detail

The TUI keeps user prompts and assistant answers readable while reducing internal transcript noise:

  • Compact shows one-line context and tool activity.
  • Normal adds structured tool outcomes and short previews where useful.
  • Debug shows bounded reasoning, injected context, tool output, and routine runtime events.

The selected mode is saved globally in the Harness dsh-tui settings namespace and applies live. It changes only terminal presentation: model context and durable session events remain unchanged. Debug output still has rendering safety limits; the persisted Harness session remains the authoritative source for larger raw content.

Runtime and provider settings

F2 includes read-only provider capability and Host plugin summaries. Provider profiles remain in $DSH_HOME/settings.yaml; TUI profile composition remains under $DSH_HOME/profiles/tui; user agent presets remain under $DSH_HOME/.agent-presets. Registered settings namespaces can still be changed from F2 → Advanced runtime settings. Credentials are never displayed; use deepseek auth status to inspect their source.

F2 → Support and feedback invokes the official /feedback command. Its acknowledgement states whether session sharing is enabled, feedback-gated, disabled, or not configured.

Update

npm install --global --install-links github:DanielOu1208/deepseek-harness-tui
deepseek --version

The launcher keeps the shipped Harness packages on the matching 0.1.0-rc.6 line. Updating the global package does not erase sessions, credentials, settings, or the user-owned profile patch.

Uninstall

npm uninstall --global @chalk/dsh-tui

Uninstalling the package leaves Harness user data under $DSH_HOME in place. Remove that directory only if you deliberately want to delete credentials, settings, profiles, and sessions too.

Local development

git clone https://github.com/DanielOu1208/deepseek-harness-tui.git
cd deepseek-harness-tui
npm install
npm test
npm run build
npm link
deepseek --help

To exercise a packed build without touching the real Harness home, point DSH_HOME at a temporary directory and invoke the compiled launcher directly.

Architecture

deepseek launcher
  -> official dsh profile boot (`tui`)
    -> @deepseek-ai/dsh-base
    -> @chalk/dsh-tui
      -> pi-tui terminal interaction

The bundle overlay is cordis.patch.yml. It composes this startup parser and TUI runner over @deepseek-ai/dsh-base; it does not copy the Harness runtime into this repository.

The living Web–TUI capability parity matrix records what is supported, intentionally terminal-native, or still planned.

Troubleshooting

deepseek: command not found

Reinstall with link copying enabled:

npm install --global --install-links github:DanielOu1208/deepseek-harness-tui

Then inspect npm's global prefix:

npm config get prefix

On macOS and Linux, the bin directory inside that prefix must be on PATH. Start a new shell after changing PATH, or run hash -r to clear an older command lookup.

deepseek auth says an environment credential is read-only

Run:

deepseek auth status

If it reports env (read-only), unset DEEPSEEK_API_KEY in the environment that launches the process. A stored credential cannot override the inherited environment by design.

Credential file permissions

On POSIX systems, the official provider rejects a credential file readable by group or other users:

chmod 700 "${DSH_HOME:-$HOME/.dsh}"
chmod 600 "${DSH_HOME:-$HOME/.dsh}/.credentials.yaml"

Inspect the composed profile

The standalone launcher forwards application arguments, while official launcher-level diagnostics remain available through the bundled dsh executable. For development inspection:

deepseek --dump-config

The bundle stack should contain @deepseek-ai/dsh-base and @chalk/dsh-tui.

Reset only the TUI profile

Move $DSH_HOME/profiles/tui aside and run deepseek again. The launcher will initialize a clean profile on the next state-changing launch. Credentials and sessions live outside that profile directory.

Safety notes

  • Never put credentials in this repository, prompts, screenshots, issues, or terminal logs.
  • deepseek --help and deepseek --version do not initialize a profile or open credential storage.
  • Credential file permissions protect against other OS users, not processes already running as your user.
  • Session telemetry remains controlled by the official base profile and is disabled by default unless explicitly enabled.

Upstream references

  • DeepSeek Harness
  • DeepSeek Harness CLI reference
  • DeepSeek credential provider

License

MIT. See LICENSE and THIRD_PARTY_NOTICES.md.