mirror of
https://github.com/TommyFang2077/dsh-desktop.git
synced 2026-08-17 09:06:36 +08:00
Pitch built-in vision and the ~8% Anchored Standard lift.
Lead with ModLens giving DeepSeek eyes, and cite Project2 Ability 91 to 98/99 as about +8% over official Standard. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
27
README.md
27
README.md
@@ -5,8 +5,12 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<strong>把官方 <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a>(<code>dsh</code>)WebUI 放进原生窗口。</strong><br />
|
<strong>官方 <a href="https://github.com/deepseek-ai/deepseek-harness">DeepSeek Harness</a>(dsh)桌面壳</strong><br />
|
||||||
Tauri 2 壳 · 系统 WebView · 苹果风薄标题栏 · Linux / Windows / macOS
|
自带视图给 DeepSeek <strong>带上眼睛</strong> · 内置锚定模式相对 Standard <strong>约 +8%</strong>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
Tauri 2 原生窗口 · 系统 WebView · Linux / Windows / macOS
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
@@ -17,7 +21,16 @@
|
|||||||
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/topic-dsh--plugin-1f6feb" alt="dsh-plugin" /></a>
|
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/topic-dsh--plugin-1f6feb" alt="dsh-plugin" /></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
本仓库是第三方桌面壳,**不包含** DeepSeek Harness 源码。官方 WebUI 由本机或 Flatpak 内的 `dsh web` 提供;升级 `dsh` 后界面跟着升级,不必重打包前端。仓库已按 [DeepSeek Harness 贡献指南](https://github.com/deepseek-ai/deepseek-harness/blob/master/CONTRIBUTING.md) 添加 GitHub topic [`dsh-plugin`](https://github.com/topics/dsh-plugin),方便在生态里被发现。
|
本仓库是第三方桌面壳,**不包含** DeepSeek Harness 源码。打开即是官方 WebUI:会话、工作区、插件、技能一个不改,`dsh` 升级后界面跟着升级。仓库已按 [贡献指南](https://github.com/deepseek-ai/deepseek-harness/blob/master/CONTRIBUTING.md) 添加 [`dsh-plugin`](https://github.com/topics/dsh-plugin)。
|
||||||
|
|
||||||
|
**装完就能用,不用再手搓插件:**
|
||||||
|
|
||||||
|
| 开箱内置 | 给 DeepSeek 带来什么 |
|
||||||
|
| --- | --- |
|
||||||
|
| **[ModLens](https://github.com/liustack/modlens) 视图** | **给 DeepSeek 带上眼睛。** 主力对话模型是纯文本,看不见图。这是全网第一个 dsh 视觉插件:外挂视觉引擎后 **直接粘贴图片就能识别**,不用先存盘。本应用还带 **设置 → 视觉模型**(OpenAI / Gemini / Anthropic / CLI)。 |
|
||||||
|
| **[锚定式标准](https://github.com/xiaobright/dsh-anchored-standard)** | **把 DeepSeek 的能力相对官方 Standard 提高约 8%。** V4 Pro 会按第一眼看到的工具表选轨迹:Project2 上 Standard **91**、Minimal **99**,但 Minimal 缺工具。锚定模式首轮用 Minimal 真工具对钉住轨迹,随后解锁完整 Standard 工具——同配置 Ability **98 / 99**(相对 91 约 **+8% / +9%**)。另附零工具锚定。社区实验,不是官方出品。 |
|
||||||
|
|
||||||
|
*百分比按作者在 Project2 / DeepSeek V4 Pro 上的 Ability:`(98−91)/91 ≈ 8%`、`(99−91)/91 ≈ 9%`。同配置可复现,不代表所有任务都涨。*
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -28,9 +41,8 @@
|
|||||||
| 原生窗口 | 启动 `dsh web --host 127.0.0.1 --port 0`,解析 stdout 里的随机端口,用系统 WebView 加载官方 WebUI |
|
| 原生窗口 | 启动 `dsh web --host 127.0.0.1 --port 0`,解析 stdout 里的随机端口,用系统 WebView 加载官方 WebUI |
|
||||||
| 薄标题栏 | 左侧 `•••` 菜单(重新启动 / 在浏览器中打开),右侧最小化 · 缩放 · 关闭;不再占用一排后退/前进/刷新 |
|
| 薄标题栏 | 左侧 `•••` 菜单(重新启动 / 在浏览器中打开),右侧最小化 · 缩放 · 关闭;不再占用一排后退/前进/刷新 |
|
||||||
| 零重写 | 官方会话、工作区、插件、技能全部保留 |
|
| 零重写 | 官方会话、工作区、插件、技能全部保留 |
|
||||||
| 内置 ModLens | 启动时写入 `~/.dsh/profiles/web`,纯文本模型自动套视觉桥 |
|
| 内置视图 | **给 DeepSeek 带上眼睛**:纯文本模型也能粘贴识图 |
|
||||||
| 视觉设置页 | WebUI **设置 → 视觉模型** 配置引擎,写入 `~/.modlens/config.json` |
|
| 内置锚定 | 相对官方 Standard,Project2 实测约 **+8%**(91 → 98/99) |
|
||||||
| 内置锚定预设 | **锚定式标准(实验)**、**零工具锚定式标准(实验)** 写入 `~/.dsh/.agent-presets/` |
|
|
||||||
| 生命周期 | 启动页显示状态;关窗口停掉 `dsh web`;崩溃可从标题栏重新启动 |
|
| 生命周期 | 启动页显示状态;关窗口停掉 `dsh web`;崩溃可从标题栏重新启动 |
|
||||||
|
|
||||||

|

|
||||||
@@ -70,7 +82,7 @@
|
|||||||
| 当前版本 | `3.16.6` |
|
| 当前版本 | `3.16.6` |
|
||||||
| 作者 | Leon Liu / [liustack](https://github.com/liustack) |
|
| 作者 | Leon Liu / [liustack](https://github.com/liustack) |
|
||||||
| 许可证 | MIT · [docs/licenses/modlens.LICENSE](docs/licenses/modlens.LICENSE) |
|
| 许可证 | MIT · [docs/licenses/modlens.LICENSE](docs/licenses/modlens.LICENSE) |
|
||||||
| 作用 | 给纯文本对话模型补视觉能力(粘贴图片即可)。已声明视觉能力的模型(如 Qwen)不会走这条桥 |
|
| 亮点 | 给 DeepSeek 带上眼睛:纯文本模型粘贴即可读图 |
|
||||||
| 安装位置 | 启动时复制到 `~/.dsh/profiles/web/node_modules/@liustack/modlens` |
|
| 安装位置 | 启动时复制到 `~/.dsh/profiles/web/node_modules/@liustack/modlens` |
|
||||||
|
|
||||||
官方安装方式(本应用已内置,一般不必再跑):
|
官方安装方式(本应用已内置,一般不必再跑):
|
||||||
@@ -111,6 +123,7 @@ npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.16.6
|
|||||||
| 作者 | [xiaobright](https://github.com/xiaobright) |
|
| 作者 | [xiaobright](https://github.com/xiaobright) |
|
||||||
| 许可证 | MIT(含 DeepSeek 部分版权)· [LICENSE](docs/licenses/dsh-anchored-standard.LICENSE) · [NOTICE](docs/licenses/dsh-anchored-standard.NOTICE) |
|
| 许可证 | MIT(含 DeepSeek 部分版权)· [LICENSE](docs/licenses/dsh-anchored-standard.LICENSE) · [NOTICE](docs/licenses/dsh-anchored-standard.NOTICE) |
|
||||||
| 本仓库中的名称 | **锚定式标准(实验)**、**零工具锚定式标准(实验)**(`scripts/localize_preset.py` 本地化) |
|
| 本仓库中的名称 | **锚定式标准(实验)**、**零工具锚定式标准(实验)**(`scripts/localize_preset.py` 本地化) |
|
||||||
|
| 亮点 | 相对官方 Standard 约 **+8%**(Project2 Ability 91 → 98/99),同时拿回完整工具目录 |
|
||||||
| 安装位置 | `~/.dsh/.agent-presets/anchored-standard` 与 `zero-anchored-standard` |
|
| 安装位置 | `~/.dsh/.agent-presets/anchored-standard` 与 `zero-anchored-standard` |
|
||||||
|
|
||||||
NOTICE 写明:预设改编自 DeepSeek Harness Standard agent preset([deepseek-harness@47f9438](https://github.com/deepseek-ai/deepseek-harness))。这是社区实验 preset,**不是** DeepSeek 官方预设。若用户还没有默认 preset,桌面会把默认设为锚定式标准。
|
NOTICE 写明:预设改编自 DeepSeek Harness Standard agent preset([deepseek-harness@47f9438](https://github.com/deepseek-ai/deepseek-harness))。这是社区实验 preset,**不是** DeepSeek 官方预设。若用户还没有默认 preset,桌面会把默认设为锚定式标准。
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ Name=DeepSeek Harness
|
|||||||
Name[zh_CN]=DeepSeek Harness
|
Name[zh_CN]=DeepSeek Harness
|
||||||
GenericName=AI Agent Harness
|
GenericName=AI Agent Harness
|
||||||
GenericName[zh_CN]=AI 智能体工作台
|
GenericName[zh_CN]=AI 智能体工作台
|
||||||
Comment=Desktop shell for DeepSeek Harness
|
Comment=Give DeepSeek eyes (ModLens) and ~+8% via Anchored Standard
|
||||||
Comment[zh_CN]=在原生桌面窗口中运行 DeepSeek Harness
|
Comment[zh_CN]=给 DeepSeek 带上眼睛;内置锚定模式约 +8%
|
||||||
Exec=dsh-desktop
|
Exec=dsh-desktop
|
||||||
Icon=io.github.tommyfang.DshDesktop
|
Icon=io.github.tommyfang.DshDesktop
|
||||||
Terminal=false
|
Terminal=false
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
<component type="desktop-application">
|
<component type="desktop-application">
|
||||||
<id>io.github.tommyfang.DshDesktop</id>
|
<id>io.github.tommyfang.DshDesktop</id>
|
||||||
<name>DeepSeek Harness Desktop</name>
|
<name>DeepSeek Harness Desktop</name>
|
||||||
<summary>Desktop shell for DeepSeek Harness</summary>
|
<summary>Give DeepSeek eyes and ~+8% with Anchored Standard</summary>
|
||||||
<summary xml:lang="zh_CN">DeepSeek Harness 的原生桌面壳</summary>
|
<summary xml:lang="zh_CN">给 DeepSeek 带上眼睛;内置锚定模式约 +8%</summary>
|
||||||
|
|
||||||
<metadata_license>MIT</metadata_license>
|
<metadata_license>MIT</metadata_license>
|
||||||
<project_license>MIT</project_license>
|
<project_license>MIT</project_license>
|
||||||
@@ -14,15 +14,12 @@
|
|||||||
|
|
||||||
<description>
|
<description>
|
||||||
<p>
|
<p>
|
||||||
DeepSeek Harness Desktop runs the official DeepSeek Harness (dsh) WebUI
|
Official DeepSeek Harness (dsh) WebUI in a native window. Built-in
|
||||||
in a native Tauri window. It starts dsh web, waits for its local URL and
|
ModLens vision gives text-only DeepSeek eyes: paste an image and it
|
||||||
embeds the UI with the system WebView. Credentials, plugins and agent
|
can read it. Built-in Anchored Standard raises DeepSeek V4 Pro about
|
||||||
permissions stay in ~/.dsh.
|
8% over official Standard on Project2 (Ability 91 to 98/99) by
|
||||||
</p>
|
anchoring the first turn on Minimal tools, then unlocking the full
|
||||||
<p>
|
catalog. Credentials stay in ~/.dsh.
|
||||||
The app bundles ModLens for text-only vision, a settings page at
|
|
||||||
设置 → 视觉模型, and the community Anchored Standard presets.
|
|
||||||
The Flatpak also bundles Node.js and @deepseek-ai/dsh.
|
|
||||||
</p>
|
</p>
|
||||||
</description>
|
</description>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Categories={{categories}}
|
Categories={{categories}}
|
||||||
Comment={{comment}}
|
Comment={{comment}}
|
||||||
Comment[zh_CN]=在原生桌面窗口中运行 DeepSeek Harness
|
Comment[zh_CN]=给 DeepSeek 带上眼睛;锚定模式约 +8%
|
||||||
Exec={{exec}}
|
Exec={{exec}}
|
||||||
GenericName=AI Agent Harness
|
GenericName=AI Agent Harness
|
||||||
GenericName[zh_CN]=AI 智能体工作台
|
GenericName[zh_CN]=AI 智能体工作台
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
"homepage": "https://github.com/TommyFang2077/dsh-desktop",
|
"homepage": "https://github.com/TommyFang2077/dsh-desktop",
|
||||||
"copyright": "Copyright © 2026 TommyFang2077",
|
"copyright": "Copyright © 2026 TommyFang2077",
|
||||||
"category": "DeveloperTool",
|
"category": "DeveloperTool",
|
||||||
"shortDescription": "Desktop shell for DeepSeek Harness",
|
"shortDescription": "Give DeepSeek eyes; Anchored Standard ~+8%",
|
||||||
"longDescription": "Runs the official DeepSeek Harness (dsh) WebUI in a native window. Starts dsh web, embeds the UI with the system WebView, and ships ModLens plus Anchored Standard presets. Credentials stay in ~/.dsh.",
|
"longDescription": "Official dsh WebUI in a native window. Built-in ModLens vision gives text-only DeepSeek eyes (paste to read images). Built-in Anchored Standard raises DeepSeek about 8% over official Standard on Project2 (Ability 91 to 98/99). Credentials stay in ~/.dsh.",
|
||||||
"licenseFile": "../LICENSE",
|
"licenseFile": "../LICENSE",
|
||||||
"icon": [
|
"icon": [
|
||||||
"icons/32x32.png",
|
"icons/32x32.png",
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ class BundledAttributionTests(unittest.TestCase):
|
|||||||
self.assertIn("ffb845c5480adc953392a6db6f8a98ede621174b", text)
|
self.assertIn("ffb845c5480adc953392a6db6f8a98ede621174b", text)
|
||||||
self.assertIn("dsh-desktop-vision", text)
|
self.assertIn("dsh-desktop-vision", text)
|
||||||
self.assertIn("dsh-plugin", readme)
|
self.assertIn("dsh-plugin", readme)
|
||||||
|
self.assertIn("带上眼睛", readme)
|
||||||
|
self.assertIn("+8%", readme)
|
||||||
self.assertTrue((ROOT / "docs" / "licenses" / "modlens.LICENSE").is_file())
|
self.assertTrue((ROOT / "docs" / "licenses" / "modlens.LICENSE").is_file())
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
(ROOT / "docs" / "licenses" / "dsh-anchored-standard.NOTICE").is_file()
|
(ROOT / "docs" / "licenses" / "dsh-anchored-standard.NOTICE").is_file()
|
||||||
|
|||||||
Reference in New Issue
Block a user