为 dsh 提供终端渲染与键盘输入交互层
36.6/100
综合分
9
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add turtle1999/turtle-ui该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 82 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@deepseek-ai/dsh-tui(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 21:11:30
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
- 读取本地文件src/chat/file-autocomplete.ts:241
const status = await lstat(current) - 读取本地文件src/chat/file-autocomplete.ts:255
const entries = await readdir(absolute, { withFileTypes: true }) - 执行外部命令固定命令src/chat/helpers.ts:71
const branch = execFileSync('git', ['branch', '--show-current'], { - 读取本地文件src/chat/resume.ts:113
return (await stat(location.path)).mtimeMs
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-cmdline@deepseek-ai/dsh-commands@deepseek-ai/dsh-compaction@deepseek-ai/dsh-goal@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-retry@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 终端渲染
- 键盘输入交互
按现状提供,不附带任何担保
README
由 DeepSeek 最新模型翻译生成Turtle UI
dsh 在一个周五下午诞生的第一个 UI
本仓库包含原先的 packages/ui/tui 实现、其单元测试与终端快照测试,以及一个 dsh profile bundle 补丁。TUI 负责终端呈现与输入;DeepSeek Harness 负责 agent、模型、工具、持久化和 dsh 启动器。
开发
将本仓库与 DeepSeek Harness 保持为同级目录:
~/git/deepseek-harness
~/git/turtle-ui
安装并构建同级的 Harness,然后构建 Turtle UI:
(cd ../deepseek-harness && pnpm install && pnpm run build)
pnpm install
pnpm run build
peer API 来自同级的 Harness 检出。独立的 TypeScript 与 Vitest 配置有意通过 ../deepseek-harness 解析这些源码;Vitest 使用 Harness 构建产物作为 goal host 模块,而不是将该源码模块与传递依赖的已构建包混用。
展开完整文档(README 剩余 1 节)
Turtle UI
dsh 在一个周五下午诞生的第一个 UI
本仓库包含原先的 packages/ui/tui 实现、其单元测试与终端快照测试,以及一个 dsh profile bundle 补丁。TUI 负责终端呈现与输入;DeepSeek Harness 负责 agent、模型、工具、持久化和 dsh 启动器。
开发
将本仓库与 DeepSeek Harness 保持为同级目录:
~/git/deepseek-harness
~/git/turtle-ui
安装并构建同级的 Harness,然后构建 Turtle UI:
(cd ../deepseek-harness && pnpm install && pnpm run build)
pnpm install
pnpm run build
peer API 来自同级的 Harness 检出。独立的 TypeScript 与 Vitest 配置有意通过 ../deepseek-harness 解析这些源码;Vitest 使用 Harness 构建产物作为 goal host 模块,而不是将该源码模块与传递依赖的已构建包混用。打过补丁的 @earendil-works/pi-tui 是一个 devDependency,在构建时被打包进 lib/,因此使用者无需安装 pi-tui,也无需 patchedDependencies。
运行
Turtle UI 是一个 dsh profile bundle:其 package.json 声明了 "dsh": { "bundle": { "patch": "./cordis.patch.yml" } },因此将其安装到某个 profile 时会自动激活补丁层。
从本地检出构建并安装一个复制后的 file: 包,使其 Harness peer 通过该 profile 的托管回退解析。重新构建后需再次执行 add 以刷新副本:
pnpm run build
dsh plugin --profile tui add file:.
dsh --profile tui
从 git 安装、无需检出:prepare 脚本会在安装过程中在使用者的机器上转译 lib/。pnpm ≥10 会阻止该构建,直到你允许它,因此第一次 add 会失败并给出 allowBuilds 提示;将 pnpm 打印出的确切键复制到该 profile 的 pnpm-workspace.yaml 中并重新运行:
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
prepare 构建(tsdown.prepare.config.ts)在转译时不进行类型检查——本仓库的类型图需要同级的 harness 检出,而使用者没有该检出。在同级检出环境中运行 pnpm run typecheck 仍是类型检查的门槛。
该 bundle 层运行在 @deepseek-ai/dsh-base 之上,并将 TUI 和已配置的 agent 绑定到一个持久会话。普通的 tui-startup provider 会注入启动器不可变的 ctx.cmdlineArgs,解析 --resume、--session 以及此应用的 --help,然后提供 tuiStartup;会话绑定的行会注入该服务并从惰性配置中读取它,因此它们无法在错误的会话上激活。裸的 dsh --profile tui 会在每次启动时生成一个新的会话 id,--session 显式指定一个新会话,而 --resume 会继续一个已持久化的会话。应用内的 /resume 交接和退出消息行为仍然需要已移除的 TUI 专用启动器,因此仍不可用。
检查
pnpm run typecheck
pnpm test
pnpm run build预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
turtle1999/turtle-ui
为 dsh 提供终端渲染与键盘输入交互层
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目