🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

终端原生前端 riesbri/dshline

DeepSeek Harness
riesbri6 天前有提交已提供中文文档扫描:含敏感能力ui

面向 DeepSeek Harness 的终端原生前端。

44.1/100
综合分
23
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add riesbri/dshline
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dshline-workspace(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 04:32:37

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 读取本地文件
    packages/dshline/src/launcher.ts:112
    if (existsSync(path)) return path
  • 读取本地文件
    packages/dshline/src/launcher.ts:177
    if (!existsSync(manifestPath)) {
  • 读取本地文件
    packages/dshline/src/launcher.ts:185
    command = (JSON.parse(readFileSync(manifestPath, 'utf8')) as { scripts?: Record<string, unknown> })
  • 读取本地文件
    packages/dshline/src/launcher.ts:227
    const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) as { bin?: string | Record<string, string> }
  • 读取本地文件
    packages/dshline/src/launcher.ts:231
    if (!existsSync(script)) return { kind: 'none' }
  • 读取本地文件
    packages/dshline/src/launcher.ts:258
    if (!existsSync(expanded)) {
  • 发起网络请求
    packages/dshline/src/window.ts:409
    const draw = (): void => { redraws.request() }
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-authorization@deepseek-ai/dsh-credentials@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-session-persistence-jsonl@deepseek-ai/dsh-session-projection-cache@deepseek-ai/dsh-settings@deepseek-ai/dsh-subagent
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 真实回滚缓冲

DeepSeek Harness 的终端原生前端,带真实回滚缓冲;直接以进程内方式消费 Harness 能力。

README

由 DeepSeek 最新模型翻译生成
dshline 面向 DeepSeek Harness 的终端原生前端。 agent(智能体)在你的终端里,而不是取代你的终端。完成后的输出会留在终端自身的滚动缓冲区(scrollback)中,只有有界的活动区域会重绘。 dshline 在 Harness 进程内运行,是 Harness 能力的直接消费方,而不是另建一套 agent 运行时或状态层。 网站:dshline.xyz 实际效果 安装 npm install -g @deepseek-ai/dsh @dshline/dshline dshline 首次运行会先询问一次,然后才让 Harness 创建 dshline 配置文件并把本包安装进去。它需要你的 PATH 上有 pnpm,因为 Harness 用 pnpm 安装配置文件的插件;它会在改动任何东西之前检查,缺失时会明确告诉你。关于系统要求、校验、用 dshline --setup 显式安装以及源码安装,请参阅安装。 Harness 兼容性:dshline 一次只支持一个 Harness 世代。如果 npm 报告依赖冲突,或 /setup 报告 Harness 版本不匹配,请不要使用 --force 或 --legacy-peer-deps;请参阅安装 → Harness 版本不匹配。 [!
展开完整文档(README 剩余 1 节)
dshline

面向 DeepSeek Harness 的终端原生前端。

agent(智能体)在你的终端里,而不是取代你的终端。完成后的输出会留在终端自身的滚动缓冲区(scrollback)中,只有有界的活动区域会重绘。

dshline 在 Harness 进程内运行,是 Harness 能力的直接消费方,而不是另建一套 agent 运行时或状态层。

网站:dshline.xyz

实际效果

安装

npm install -g @deepseek-ai/dsh @dshline/dshline
dshline

首次运行会先询问一次,然后才让 Harness 创建 dshline 配置文件并把本包安装进去。它需要你的 PATH 上有 pnpm,因为 Harness 用 pnpm 安装配置文件的插件;它会在改动任何东西之前检查,缺失时会明确告诉你。关于系统要求、校验、用 dshline --setup 显式安装以及源码安装,请参阅安装。

Harness 兼容性:dshline 一次只支持一个 Harness 世代。如果 npm 报告依赖冲突,或 /setup 报告 Harness 版本不匹配,请不要使用 --force 或 --legacy-peer-deps;请参阅安装 → Harness 版本不匹配。

[!WARNING]
沙箱和工具权限由当前激活的 Harness 配置文件控制;普通工具调用可能在未经逐次审查的情况下直接运行。在对重要代码使用 dshline 之前,请先参阅权限与沙箱。

为什么选择 dshline?

Harness 插件发布能力;dshline 在终端中以原生方式呈现受支持的能力。它消费 Harness 约定,而不是创建独立的提供方运行时、状态存储或策略。

Harness plugin → standard capability → dshline presentation adapter → native terminal UI

Harness 拥有能力、状态、运行时、持久化与策略;dshline 只负责终端呈现。

通用能力集成

dshline 通过标准 Harness 能力进行集成,而不是编写提供方专用代码。Work 视图消费 ctx.jobs 和 ctx.subagents;Sessions 视图使用 ctx.sessionQuery;/connect 使用 Harness 的模型、设置、凭据和授权服务;/plugins 通过 ctx.agentPresets 读取并切换运行中 agent 的组合;/profiles 通过 Harness 自己的 home-path 服务读取配置文件名册,并把每一项变更转发给 dsh plugin。因此,新提供方可以经由现有接口接入,无需专门的 dshline 实现。真实的 Codex 提供方已经通过通用的 ctx.subagents 与 ctx.jobs 呈现跨过了这条边界,且不需要提供方专用的 dshline 生产代码;见 Provider 验收。

它不附带提供方列表,也没有登录协议:/connect 提供所有已挂载适配器声明为可配置的内容,并运行 Harness 已注册的所有流程,因此终端与官方 Web 的 Models 页面可以基于同一份设置文档和同一个凭据存储,访问相同的提供方。

关于能力模型与当前适配器边界,请参阅架构。

原生终端设计

完成后的输出会写入真实的终端滚动缓冲区(scrollback),绝不会被重写。dshline 只重绘有界的活动区域,正常的滚动、选择和复制在此期间始终可用。与 Harness 无关的渲染器保持小巧、依赖极轻,并专注于终端正确性:宽度、Unicode、转义、按键与安全重绘。

关于终端不变量,请参阅设计;关于相关取舍,请参阅对比。

使用 dshline

输入 / 即可发现当前激活的 Harness 配置文件中可用的命令与能力。

- /new — 在当前工作区开始一个全新会话;当前激活的 Harness 配置文件提供会话持久化时,上一个会话仍可重新打开
- /clear — 清屏并在当前工作区开始一个全新会话,如同 /new;当前激活的 Harness 配置文件提供会话持久化时,上一个会话仍可重新打开
- /image <path> — 为下一条提示暂存 PNG、JPEG、WebP 或 GIF,作为真正的 Harness 图片;@path 仍是文本引用
- /attach <path> — 为下一条提示原样附加任意文件,作为真正的 Harness 文件;@path 仍是文本引用,/image 仍是图片手势
- /sessions — 浏览并恢复 Harness 会话
- /worktrees — 选择你的 Harness 会话历史中有代表的工作目录,然后选择那里的一场对话或开一场新的
- /work — 查看工作流、subagent 与任务
- /subagents — 浏览本会话持久的 subagent 对话、检视其中一个,并继续一个 continuable 子级;也可以在 /work 中按 c 进入
- /connect — 通过 Harness 配置提供方
- /plugins — 浏览、搜索并定制运行中 agent 的 Harness 预设组合
- /profiles — 浏览 Harness 配置文件及各自组合的 bundle;安装、更新或移除其中之一
- /todos — 查看投影的 Todo 状态
- /model — 切换已注册的模型
- /theme — 选择本窗口绘制所用的颜色配色

使用涵盖按键、会话、命令与权限指南。

贡献

欢迎各种贡献,尤其是通用能力适配器、终端健壮性、跨平台验证、Unicode/CJK 正确性、会话、附件以及聚焦的 UX 改进。请从 CONTRIBUTING.md 开始,然后阅读 AGENTS.md 和权威路线图。

文档

- 安装
- 使用
- 架构
- 设计
- 路线图
- 对比
- 贡献
- 安全

许可证

MIT。本项目与 DeepSeek 无关联,也未经其认可。
预览分享卡片长什么样 ↓riesbri/dshline
分享 · DeepSeek Harness Hub
riesbri/dshline

面向 DeepSeek Harness 的终端原生前端。

回到顶部