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

Rust 原生工作台 codejunkie99/dsh-rs

DeepSeek Harness
codejunkie9948 天前有提交已提供中文文档扫描:无法判定

用原生 Rust 界面管理智能体会话与 Git 变更

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

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

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/codejunkie99/dsh-rs.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 48 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

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

✗npm 包dsh-rs(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:13:18

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 管理智能体会话
  • 管理Git变更

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness RS 一个面向 DeepSeek Harness 智能体模型的原生 Rust + GPUI 桌面里程碑。它有意不包含 Electron、Chromium、Node.js、Web 服务器或浏览器桥接。 当前能力 - 使用 GPUI 0.2.2 构建的 GPU 加速原生 macOS 界面。 - 受 Comet 启发的三窗格开发者工作台:一个 256 px 的空间/会话侧栏、中央对话记录与输入区,以及一个持久化的 420 px 上下文窗格。 - 对限定工作区进行只读 Git 变更扫描,包含分支、跟踪状态、暂存区/工作树、行数总计,以及可点击的逐文件差异。 - 仅追加、可重放的 JSONL 会话日志。 - 根据第一条用户消息自动生成有界会话标题。 - 会话侧栏显示模型、事件计数和活动轮次状态。 - 原生侧栏搜索与重命名字段。 - 在当前边界处进行会话分叉以及 Markdown 导出。 - 不区分大小写的会话标题/对话记录搜索。 - 针对用户、助手、工具和系统事件的对话记录投影。 - 适配器驱动的轮次/步骤智能体循环。 - 持久化的系统提示配置,支持每会话提示快照和确定性的模型历史投影。 - DeepSeek OpenAI 兼容流式适配器,支持环境变量和私有凭据文件密钥解析。 - 原生掩码 API 密钥管理,具备原子化的仅所有者存储和即时模型重载。
展开完整文档(README 剩余 1 节)
DeepSeek Harness RS

一个面向 DeepSeek Harness 智能体模型的原生 Rust + GPUI 桌面里程碑。它有意不包含 Electron、Chromium、Node.js、Web 服务器或浏览器桥接。

当前能力

- 使用 GPUI 0.2.2 构建的 GPU 加速原生 macOS 界面。
- 受 Comet 启发的三窗格开发者工作台:一个 256 px 的空间/会话侧栏、中央对话记录与输入区,以及一个持久化的 420 px 上下文窗格。
- 对限定工作区进行只读 Git 变更扫描,包含分支、跟踪状态、暂存区/工作树、行数总计,以及可点击的逐文件差异。
- 仅追加、可重放的 JSONL 会话日志。
- 根据第一条用户消息自动生成有界会话标题。
- 会话侧栏显示模型、事件计数和活动轮次状态。
- 原生侧栏搜索与重命名字段。
- 在当前边界处进行会话分叉以及 Markdown 导出。
- 不区分大小写的会话标题/对话记录搜索。
- 针对用户、助手、工具和系统事件的对话记录投影。
- 适配器驱动的轮次/步骤智能体循环。
- 持久化的系统提示配置,支持每会话提示快照和确定性的模型历史投影。
- DeepSeek OpenAI 兼容流式适配器,支持环境变量和私有凭据文件密钥解析。
- 原生掩码 API 密钥管理,具备原子化的仅所有者存储和即时模型重载。
- 针对网络错误、超时、HTTP 408/429 和 5xx 响应的瞬时模型请求重试处理。
- 由仅追加事件通知驱动的实时对话记录和会话状态刷新。
- 工具注册表和 echo 工具执行路径。
- 多个已配置空间,并具备持久化的每会话空间关联。读/列文件系统工具被限制在所选空间内;路径穿越和符号链接逃逸会被拒绝。
- 使用 Cmd+Shift+Right 和 Cmd+Shift+Left 进行键盘空间循环切换。
- 持久化的 harness 设置,包含提示、工具允许列表和步骤预算原语。新会话和分叉会保留所选设置。
- 使用 Cmd+Shift+Down 和 Cmd+Shift+Up 进行键盘 harness 循环切换。
- 原生底部命令停靠栏,用于直接执行允许列表中的命令,具备有界输出和历史记录。
- 持久化的故障关闭审批策略,针对 ask 工具提供原生 GPUI 批准/拒绝提示。
- 响应式轮次取消,具备持久化的已取消轮次事件和原生取消控件。
- 可选的直接执行 shell 工具,具备规范化二进制允许列表、清空的环境、工作区当前目录、超时和有界输出。
- 持久化的会话重新打开和损坏会话隔离。
- 支持剪贴板、选择、光标和 IME 钩子的键盘文本编辑。
- 内置本地空适配器,用于确定性、无网络验证。

构建

cargo fmt --all
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo build --release

发布可执行文件为 target/release/dsh-app。

打包

scripts/package-macos.sh
这会创建 dist/DeepSeek Harness RS.app。该 bundle 为本地执行进行了 ad-hoc 签名。在公开发布之前,请将签名命令替换为 Developer ID 身份和描述文件。

数据

会话存储在:

~/.dsh-rs/sessions/.jsonl

每一行是一个带类型的会话事件。删除该目录即可重置本地状态。损坏的文件会被跳过,而不会阻止有效会话加载。

空间

空间定义在 ~/.dsh-rs/spaces.json 中。根目录必须是已存在的绝对目录,并在使用前进行规范化:

{
"spaces": [
{
"id": "local",
"name": "Local harness",
"root": "/Users/example/.dsh-rs/workspace"
},
{
"id": "project",
"name": "Project",
"root": "/Users/example/Projects/project"
}
]
}

第一个条目是故障安全的默认值。选择空间会在当前会话上记录一个持久的 session_space_changed 事件;新会话和分支会保留活动空间。文件系统工具、shell cwd 和 Git 扫描都使用该空间的根目录。无效或空配置会回退到本地 harness,而不会扩大文件系统范围。

按 Cmd+Shift+Right 激活下一个空间,或按 Cmd+Shift+Left 激活上一个空间。空间行也可以直接点击。

Harness 设置

Harness 设置定义在 ~/.dsh-rs/harness-setups.json 中。一个设置是由三个原语组成的原生组合:系统提示、显式工具允许列表和有界的模型步骤预算。

{
"setups": [
{
"id": "research",
"name": "Research",
"system_prompt": {
"include_harness_identity": true,
"persona": "Read the selected workspace and answer from evidence. Do not mutate files."
},
"enabled_tools": ["echo", "read_file", "list_dir"],
"max_steps": 4
}
]
}

支持的工具 ID 有:

- echo
- read_file
- list_dir
- write_file
- run_command

内置的 standard、research 和 minimal 设置会在首次启动时写入。无效、空、重复、未知工具或超出范围的配置会故障关闭到这些默认值。自定义的 system-prompt.json 会被迁移到 standard 设置中。

选择设置会记录一个持久的 session_harness_changed 事件。新会话使用所选设置,重新打开会话会恢复它,分支会保留它。该设置控制暴露给模型的工具、下一轮发送的提示以及模型步骤的最大数量。run_command 仍然需要下面的 shell 策略和审批策略。

按 Cmd+Shift+Down 激活下一个设置,或按 Cmd+Shift+Up 激活上一个设置。设置行也可以直接点击。

侧边栏搜索字段会筛选标题和转录内容。在重命名字段中按 Enter 会将所选会话标题更新为一个持久的 session_title_changed 事件。

工作台布局原生 shell 采用密集的深色三栏布局,改编自 MIT 许可的 Comet UI 方向:

- 左侧栏:空间、会话搜索、会话和模型访问。
- 中间窗格:会话标题、记录、工具审批、编辑器和预留状态条。
- 右侧窗格:所选会话的模型/事件/轮次/提示状态以及最近的工具活动。
- Git 变更:分支和领先/落后状态、有界变更文件行、暂存/工作树标签、git diff --numstat 行总计,以及可点击的统一差异。

窗格可见性持久化在 ~/.dsh-rs/ui.json 中。按 Cmd+S 切换左侧栏,按 Cmd+B 切换上下文窗格。

命令停靠栏

底部中央停靠栏在所选空间中一次运行一个直接命令:

- 按 Cmd+T 显示或隐藏停靠栏。
- 按 Cmd+Shift+T 聚焦命令字段。
- 输入允许列表中的可执行文件路径以及直接参数。
- 按 Enter 或点击 Run。
- 在有界历史记录中保留最新的 20 条命令结果。

例如,在将 /bin/echo 添加到下面的 shell 策略后:

/bin/echo "native command dock"

停靠栏使用与模型 shell 工具相同的规范可执行文件允许列表、所选空间 cwd、空环境、超时、输出上限以及达到限制时终止行为。命令被解析为直接 argv 值;不会调用 /bin/sh。这是一个真实的直接命令工作流,但还不是交互式 PTY 终端。

Git 扫描器仅用于 UI 且为只读。它直接调用 /usr/bin/git,使用空环境,禁用可选锁、fsmonitor、分页和终端提示,并应用五秒超时。如果文件路径是绝对路径或遍历到仓库之外,则会被拒绝。差异渲染上限为 500 行,长行会被截断。此扫描器不会将 Git 数据暴露给模型工具。

系统提示

配置存储在 ~/.dsh-rs/system-prompt.json 中:

{
"include_harness_identity": true,
"persona": "Be precise and verify changes before claiming completion."
}

渲染后的提示在发生变化时会被快照到会话中,因此重新打开和分叉会保留管理该会话的提示状态。下一个模型请求会收到最新快照,作为其单个前置系统消息。未知字段和格式错误的 JSON 会被加载器拒绝,而不是被静默解释。

分叉会将所有持久事件通过所选边界复制到新的会话 ID 和 JSONL 文件中。Markdown 导出写入到:

~/.dsh-rs/exports/.md

模型凭据

在环境中设置密钥:

export DEEPSEEK_API_KEY="..."

或在侧边栏的 Model Access 字段中输入密钥。保存会将其原子写入到:

~/.dsh-rs/credentials
凭据目录被收紧为 0700,文件以 0600 模式发布。该字段会掩码并清零其草稿;已保存的密钥绝不会被回显或写入会话日志。移除已存储的密钥会立即让应用回退到本地适配器。启动环境中非空的 DEEPSEEK_API_KEY 仍然是只读覆盖项,并会禁用应用内写入,因此已存储的替换密钥不会看起来像是生效了。

可选设置:

export DEEPSEEK_MODEL="deepseek-chat" # or deepseek-reasoner
export DEEPSEEK_BASE_URL="https://api.deepseek.com"

当存在有效凭据时,应用会自动选择 DeepSeek,否则回退到确定性的本地适配器。凭据在格式化时会被脱敏,并且绝不会写入会话日志。

工具审批

持久策略存储在 ~/.dsh-rs/approvals.json 中:

{
"default": "deny",
"tools": {
"echo": "allow",
"read_file": "allow",
"list_dir": "allow",
"write_file": "ask",
"run_command": "ask"
}
}

规则为 allow、ask 或 deny。未知工具会以失败关闭方式回退到 deny。ask 会打开原生“批准/拒绝”提示,并且每个请求/决议都会记录在会话事件日志中。无效的策略文件不会被猜测;应用会回退到其失败关闭的默认值。

Shell 策略

在 ~/.dsh-rs/shell.json 允许至少一个规范绝对可执行文件之前,Shell 执行处于禁用状态。该工具绝不会调用 /bin/sh;它会直接启动所选的可执行文件。

{
"timeout_ms": 10000,
"max_output_bytes": 65536,
"allowed_binaries": [
"/bin/ls"
]
}

命令运行时具有:

- 以规范选定的空间根目录作为 cwd
- 空环境
- 不继承 stdin
- 通过管道传输且有界的 stdout/stderr
- 进程超时和超限终止行为
- 上述审批策略

绝对路径在匹配前会被规范化。相对路径、未列出的二进制文件和未知命令会被拒绝。

取消

在回合处于活动状态时,按 Cmd+. 或点击 Cancel。取消会在模型请求之前以及等待模型流时被检查。取消还会拒绝待处理的工具审批。会话日志会以 reason=cancelled 记录该回合,并保留取消前已追加的任何助手分块。

运行时说明

此构建使用 GPUI 的 runtime_shaders 特性,因此它可以使用 Command Line Tools 渲染器路径进行构建和运行。完整的 Xcode 可以预编译 GPUI 的 Metal 管线,但此捆绑包并不需要它。

当前限制

- 远程流式重试已实现,但熔断遥测尚未实现。
- 编辑器是一个专注的原生单行聊天输入框,而不是完整的多行代码编辑器。
- 命令停靠区仅支持直接执行;交互式 PTY 会话和终端复用是未来工作。
- Harness 设置可选择且持久,但设置编写基于 JSON 文件,而不是完整的可视化编辑器。
- 读取/列出/写入文件系统工具根据所选设置进行作用域限定并启用。Shell 执行采用直接执行方式并明确列入允许列表,而非通用的 /bin/sh 沙箱。操作系统级沙箱配置文件仍属于未来工作。
预览分享卡片长什么样 ↓codejunkie99/dsh-rs
分享 · DeepSeek Harness Hub
codejunkie99/dsh-rs

用原生 Rust 界面管理智能体会话与 Git 变更

这是你的仓库?认领条目

回到顶部