用原生 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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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 沙箱。操作系统级沙箱配置文件仍属于未来工作。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
codejunkie99/dsh-rs
用原生 Rust 界面管理智能体会话与 Git 变更
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目