dshbase

插件目录 / Terminal / turtle-ui

turtle-ui

未验证 turtle1999

✓ 持续维护 基于 24 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

10Stars
3Forks
1未关闭 issue
TypeScript语言
2026-08-13最近推送
跨平台平台

功能简介

按现状,无保修

我们的评价
未验证 — 尚未实测

按现状,无保修 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

Turtle UI

The very first UI of dsh in a Friday afternoon

This repository contains the former packages/ui/tui implementation, its unit and terminal snapshot tests, and a dsh profile bundle patch. The TUI owns terminal presentation and input; DeepSeek Harness owns the agent, model, tools, persistence, and dsh launcher.

Development

Keep this repository and DeepSeek Harness as siblings:

~/git/deepseek-harness
~/git/turtle-ui

Install and build the sibling Harness, then Turtle UI:

(cd ../deepseek-harness && pnpm install && pnpm run build)
pnpm install
pnpm run build

The peer APIs come from the sibling Harness checkout. The standalone TypeScript and Vitest configurations intentionally resolve those sources through ../deepseek-harness; Vitest uses the Harness build for the goal host module instead of mixing that source module with transitive built packages. The patched @earendil-works/pi-tui is a devDependency bundled into lib/ at build time, so consumers install no pi-tui and need no patchedDependencies.

Run

Turtle UI is a dsh profile bundle: its package.json declares "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, so installing it into a profile activates the patch layer automatically.

From a local checkout, build and install a copied file: package so its Harness peers resolve through the profile's managed fallback. Re-run the add after rebuilding to refresh the copy:

pnpm run build
dsh plugin --profile tui add file:.
dsh --profile tui

From git, with no checkout: the prepare script transpiles lib/ on the consumer's machine during install. pnpm ≥10 blocks that build until you allow it, so the first add fails with an allowBuilds hint; copy the exact key pnpm prints into the profile's pnpm-workspace.yaml and re-run:

dsh plugin --profile tui add github:deepseek-harness/turtle-ui   # fails with the allowBuilds key
# add the printed key under allowBuilds in ~/.dsh/profiles/tui/pnpm-workspace.yaml
dsh plugin --profile tui add github:deepseek-harness/turtle-ui   # builds and activates
dsh --profile tui

The prepare build (tsdown.prepare.config.ts) transpiles without type checking — the repo's type graph needs the sibling harness checkout, which consumers don't have. pnpm run typecheck in a sibling-checkout environment remains the type gate.

The bundle layer rides over @deepseek-ai/dsh-base and binds the TUI and configured agent to one durable session. The ordinary tui-startup provider injects the launcher's immutable ctx.cmdlineArgs, parses --resume, --session, and this app's --help, then provides tuiStartup; session-bound rows inject that service and read it from lazy config, so they cannot activate on the wrong session. A bare dsh --profile tui mints a fresh session id on every launch, --session <id> names a fresh session explicitly, and --resume <session> continues a persisted session. In-app /resume handoff and exit-message behavior still need the removed TUI-specific launcher and remain unavailable.

Checks

pnpm run typecheck
pnpm test
pnpm run build

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 turtle-ui」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:turtle1999/turtle-ui

Headless(CLI)profile:

dsh plugin --profile headless add github:turtle1999/turtle-ui

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending
备注:验证: runtime-fail (0.1.0-rc.6) 浏览全部待验证失败 →

使用场景

改善终端体验——TUI、命令面板或 shell 集成——让 dsh 在终端里如原生一般。

适合谁

终端优先、从命令行驱动 dsh、想让它像熟悉的 CLI agent 一样工作的开发者。

二次开发建议

TUI 布局和 shell 集成是缝——加面板、快捷键或新的 shell 钩子。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Terminal 里更多

浏览全部 7795 个插件 →