diff --git a/README.md b/README.md index 861e9b7140..5524c00daf 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,153 @@ # DeepSeek Harness -English | [中文](README.zh.md) +

+ DeepSeek Harness — plugin-based agent harness with a native desktop app +

-> **Community fork notice**: This repository is a community derivative of -> [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness), -> maintained by PineSound. On top of the **unchanged core harness** it adds a -> **desktop app** ([deepseek-harness-desktop](https://github.com/PineKings/deepseek-harness-desktop)), -> a plugin marketplace, image recognition, and a release channel. This is **not -> the official DeepSeek repository**. See [MODIFICATIONS.md](MODIFICATIONS.md) -> for the full list of changes; licensed under [MIT](LICENSE). +**DeepSeek Harness (`dsh`)** is a plugin-based agent harness where **everything is a plugin** — models, tools, skills, sessions, storage, the agent loop, and even the UI are all replaceable [Cordis](https://github.com/cordiverse/cordis) plugins, freely recomposed per profile. It ships both as a CLI/Web harness and as a **native desktop app** (`deepseek-harness-desktop`). -DeepSeek Harness (`dsh`) is an open-source agent harness developed by [DeepSeek AI](https://deepseek.com). +> **Community fork**: this repository is a community derivative of +> [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness), maintained by +> PineSound, adding a desktop app, plugin marketplace, image recognition, and a release channel on top of +> the **unchanged core harness**. **This is not the official DeepSeek repository.** Full list of changes: +> [MODIFICATIONS.md](MODIFICATIONS.md) · [MODIFICATIONS.zh.md](MODIFICATIONS.zh.md). -It uses an architecture where **everything is a plugin**, and is powered by [Cordis](https://github.com/cordiverse/cordis), whose design is described in [_A Programming Paradigm for Spatiotemporal Composability_](https://github.com/cordiverse/paper). +--- -## Developer preview +## Proof -DeepSeek Harness is currently in _developer preview_ and is iterating rapidly. **THERE WILL BE COMPATIBILITY-BREAKING CHANGES.** +

+ Plugin marketplace and install UI + Traceable run trajectory + Plugin list and management +

-## Run +--- -### Run from `npm` +## What it is -Install `Node.js`, then run: +An agent harness assembled from plugins. Instead of a monolithic binary, every capability lives behind a +documented seam — **Service Definition / Provider / Consumer** — so you swap tools, skills, storage, +terminal, web, or sandbox without touching the loop. Runs are **traceable**: everything a model sees is +reconstructable from the session log. + +## Why it is different + +- **Everything is a plugin** — models, tools, skills, sessions, storage, loop, and UI are replaceable, recomposable units. +- **Traceable by default** — model-visible input is reconstructable from the session log, not a black box. +- **A native desktop**, not just a browser tab — zero-dependency installers for macOS and Windows. +- **Open & extensible** — a documented seam for every capability; the plugin ecosystem is growing. + +## Features + +### Desktop app (native) +- **Double-click to launch** — no browser tab or URL needed. The Electron shell spawns the real `dsh` on loopback and opens a native window. +- **Zero external dependencies** — the installer bundles the full harness runtime, vendored pnpm, and a platform Node. +- **Cross-platform** — macOS (`.dmg`) and Windows (`.nsis`) installers, Chinese menus, branded icons. +- **Update mechanism** — the About page checks an online `releases.json`; desktop and publish site share one manifest. + +### Plugin marketplace +- Visual plugin list with search, status, and enable/disable; required system plugins are guarded. +- Install from npm / tarball / GitHub via the built-in pnpm, with multi-mirror fallback and **no-restart** hot reload. + +### Image recognition +- An OpenAI-compatible vision provider (e.g. Alibaba DashScope) fills the gap for text-only models; the vision key / endpoint / model are configured independently of the chat model. + +### Skill manager +- Manage local skills from the settings UI: list, install, uninstall, enable/disable, and edit descriptions. + +--- + +## How it works + +

+ How it works: the desktop shell spawns the dsh harness as a system-Node child, composed entirely of plugins +

+ +The desktop is a **thin launcher**: it spawns the real `dsh` (`web` profile) as a separate system-Node +child, parses the readiness URL, and opens a window at that address. Native addons keep their system Node +ABI and are never loaded under Electron. + +--- + +## Get started + +### 1. Desktop (recommended) + +Download the installer for your platform from the **publish site** — . +No install steps; on first open, unsigned builds may need right-click → Open. + +### 2. CLI / Web (npm) + +Install Node.js, then run: ```sh npx @deepseek-ai/dsh web ``` -The command starts the Web UI, served at `http://127.0.0.1:3080` by default. See [Web UI guide](docs/user/guide/index.md). +The Web UI is served at `http://127.0.0.1:3080` by default. -### Run from source - -To run from a repository checkout: +### 3. From source ```sh -git clone https://github.com/deepseek-ai/deepseek-harness.git +git clone https://github.com/PineKings/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web ``` +### Desktop development + +```sh +pnpm install +pnpm run build # builds lib + the web frontend dist +pnpm desktop:dev # opens the desktop window +``` + +### Packaging a release + +```sh +pnpm --filter @deepseek-ai/dsh-desktop run build:harness # assemble the self-contained runtime +pnpm desktop:pack # electron-builder: .dmg / .nsis +pnpm --filter @deepseek-ai/dsh-desktop run stage-release # copy installers + manifest into the publish site +``` + +### Quality gates + +```sh +pnpm run typecheck +pnpm run lint +pnpm run test +pnpm run test:coverage +pnpm run test:snapshot # keyless replay of assembled transcripts +``` + +--- + +## Repository layout + +``` +apps/ cli, web, desktop (Electron shell) +packages/ @deepseek-ai/dsh- plugin workspaces +vendor/ vendored Cordis source +docs/ architecture, user guide, cookbook +assets/ readme visuals +``` + +--- + ## Community and support -- Feel free to submit feedback or bug reports through [GitHub Discussions](https://github.com/deepseek-ai/deepseek-harness/discussions). -- Add the [`dsh-plugin`](https://github.com/topics/dsh-plugin) topic to your plugin repository for discoverability. -- Join DeepSeek Harness Discord community. +- **Publish site**: +- **Desktop repo**: +- **Upstream**: +- Tag plugins with the [`dsh-plugin`](https://github.com/topics/dsh-plugin) topic for discoverability. -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md). - -## Development - -Start with the [development guide](docs/development.md) and [architecture documentation](docs/architecture.md). - -For agents, follow [AGENTS.md](AGENTS.md). +--- ## License -[MIT](LICENSE) - -Third-party dependencies and their licenses are disclosed in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). +[MIT](LICENSE). This project is a derivative of `deepseek-harness` (MIT); the original copyright is +preserved. Third-party dependencies and their licenses are disclosed in +[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). diff --git a/README.zh.md b/README.zh.md index 0c954e0cea..18ea194e97 100644 --- a/README.zh.md +++ b/README.zh.md @@ -1,80 +1,146 @@ # DeepSeek Harness -[English](README.md) | 中文 +

+ DeepSeek Harness — 一切皆插件的智能体框架,含原生桌面端 +

-> **社区衍生版说明**:本仓库是 [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) -> 的社区衍生版,由 PineSound 维护。在**核心 harness 完全不变**的基础上,新增了 -> **桌面应用**([deepseek-harness-desktop](https://github.com/PineKings/deepseek-harness-desktop))、 -> 插件市场、图像识别与发布渠道。本仓库**并非 DeepSeek 官方仓库**。完整改动见 -> [MODIFICATIONS.zh.md](MODIFICATIONS.zh.md),以 [MIT](LICENSE) 协议开源。 +**DeepSeek Harness(`dsh`)** 是一个**一切皆插件**的智能体框架——模型、工具、技能、会话、存储、agent loop,乃至 UI,都是可替换、可按 profile 自由重组的 [Cordis](https://github.com/cordiverse/cordis) 插件。它同时提供 CLI/Web 形态与**原生桌面应用**(`deepseek-harness-desktop`)。 -DeepSeek Harness(`dsh`)是由 [DeepSeek AI](https://deepseek.com) 开发的开源 agent harness(智能体框架)。 +> **社区衍生版**:本仓库是 [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) +> 的社区衍生版,由 PineSound 维护,在**核心 harness 完全不变**的基础上新增了桌面应用、插件市场、 +> 图像识别与发布渠道。**本仓库并非 DeepSeek 官方仓库**。完整改动见 +> [MODIFICATIONS.md](MODIFICATIONS.md) · [MODIFICATIONS.zh.md](MODIFICATIONS.zh.md)。 -它采用**一切皆插件**的架构,并由 [Cordis](https://github.com/cordiverse/cordis) 驱动,其设计参见论文 [_A Programming Paradigm for Spatiotemporal Composability_](https://github.com/cordiverse/paper)。 +--- -## 开发者预览 +## 实机效果 -DeepSeek Harness 目前处于 _开发者预览_ 阶段,正在快速迭代。**未来将出现破坏兼容性的变更。** +

+ 插件市场与安装界面 + 可追溯的运行轨迹 + 插件列表与管理 +

-## 运行 +--- -### 通过 `npm` 运行 +## 它是什么 -安装 `Node.js`,然后运行: +由插件组装而成的 agent harness。能力都挂在**明确的接缝**之后——**Service Definition / Provider / Consumer**—— +因此无需改动 loop 即可替换工具、技能、存储、终端、网页或沙箱。运行**有迹可循**:模型所见的一切都能从会话日志还原。 + +## 为什么不同 + +- **一切皆插件**——模型、工具、技能、会话、存储、loop 与 UI 都是可替换、可重组的单元。 +- **默认可追溯**——模型可见输入能从会话日志还原,而非黑盒。 +- **原生桌面端**——不只是浏览器标签页;macOS 与 Windows 零依赖安装包。 +- **开放可扩展**——每个能力都有文档化的接缝,插件生态持续增长。 + +## 功能 + +### 桌面应用(原生) +- **双击即用**——无需浏览器标签页或输入 URL。Electron 外壳在回环端口启动真正的 `dsh` 并打开原生窗口。 +- **零外部依赖**——安装包内置完整 harness 运行时、vendored pnpm 与平台 Node。 +- **跨平台**——macOS(`.dmg`)与 Windows(`.nsis`)安装包,中文菜单与品牌图标。 +- **更新机制**——「关于」页读取线上 `releases.json` 检查更新;桌面与发布站共享同一份清单。 + +### 插件市场 +- 可视化插件列表,支持搜索、状态查看与启用/停用;核心系统插件有守卫、不可误关。 +- 经内置 pnpm 从 npm / tarball / GitHub 安装,多镜像回退、**免重启**实时生效。 + +### 图像识别 +- 通过 OpenAI 兼容视觉提供方(如阿里云 DashScope)为纯文本模型补齐视觉能力;视觉的密钥 / 接口 / 模型与对话主模型完全独立。 + +### 技能管理 +- 在设置页管理本机技能:列表、安装、卸载、启用/停用、编辑描述。 + +--- + +## 工作原理 + +

+ 工作原理:桌面外壳以系统 Node 子进程启动 dsh harness,全部由插件组成 +

+ +桌面只是一个**薄启动器**:它把真正的 `dsh`(`web` 配置)作为独立的系统 Node 子进程启动,解析就绪 URL 并打开窗口。原生插件保持系统 Node ABI,从未加载进 Electron。 + +--- + +## 开始使用 + +### 1. 桌面端(推荐) + +到**发布站** 下载对应平台的安装包,无需安装步骤;未签名的构建首次打开可能需要右键 → 打开。 + +### 2. CLI / Web(npm) + +安装 Node.js 后运行: ```sh npx @deepseek-ai/dsh web ``` -该命令会启动 Web UI,默认地址为 `http://127.0.0.1:3080`。详见 [Web UI 指南](docs/user/guide/index.md)。 +Web UI 默认运行在 `http://127.0.0.1:3080`。 -### 从源码运行 - -如需从仓库源码运行: +### 3. 从源码运行 ```sh -git clone https://github.com/deepseek-ai/deepseek-harness.git +git clone https://github.com/PineKings/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web ``` +### 桌面端开发 + +```sh +pnpm install +pnpm run build # 构建 lib + web 前端 dist +pnpm desktop:dev # 打开桌面窗口 +``` + +### 打包发布 + +```sh +pnpm --filter @deepseek-ai/dsh-desktop run build:harness # 组装自包含运行时 +pnpm desktop:pack # electron-builder:.dmg / .nsis +pnpm --filter @deepseek-ai/dsh-desktop run stage-release # 将安装包 + 清单拷入发布站 +``` + +### 质量检查 + +```sh +pnpm run typecheck +pnpm run lint +pnpm run test +pnpm run test:coverage +pnpm run test:snapshot # 无密钥回放已组装的应用转写 +``` + +--- + +## 仓库结构 + +``` +apps/ cli、web、desktop(Electron 外壳) +packages/ @deepseek-ai/dsh- 插件工作区 +vendor/ 内嵌的 Cordis 源码 +docs/ 架构、用户指南、cookbook +assets/ README 视觉资源 +``` + +--- + ## 社区与支持 -- 欢迎通过 [GitHub Discussions](https://github.com/deepseek-ai/deepseek-harness/discussions) 提交反馈或 bug 报告。 -- 为你的插件仓库添加 [`dsh-plugin`](https://github.com/topics/dsh-plugin) 话题,便于被发现。 -- 欢迎加入 DeepSeek Harness 企微群:扫码添加企微小助手并填写入群问卷,完成后小助手会邀请你入群。 +- **发布站**: +- **桌面仓库**: +- **上游**: +- 插件请打上 [`dsh-plugin`](https://github.com/topics/dsh-plugin) 主题以便被发现。 - - - - - - - - - - - - - - - -
企微小助手入群问卷微信公众号
DeepSeek Harness 企微小助手二维码DeepSeek Harness 入群问卷二维码DeepSeek Harness 团队微信公众号二维码
+--- -## 参与贡献 +## 开源协议 -参见 [CONTRIBUTING.md](CONTRIBUTING.md)。 - -## 开发 - -请先阅读[开发指南](docs/development.md)与[架构文档](docs/architecture.md)。 - -面向 agent:请遵循 [AGENTS.md](AGENTS.md)。 - -## 许可证 - -[MIT](LICENSE) - -第三方依赖及其许可证见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。 +[MIT](LICENSE)。本项目是 `deepseek-harness`(MIT)的衍生作品,保留原项目版权。第三方依赖及其协议见 +[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。 diff --git a/assets/readme/architecture.svg b/assets/readme/architecture.svg new file mode 100644 index 0000000000..a5607e8bc8 --- /dev/null +++ b/assets/readme/architecture.svg @@ -0,0 +1,62 @@ + + How DeepSeek Harness works + The desktop shell spawns the dsh harness as a system-Node child, which is composed entirely of plugins (tool, skill, session, storage, loop). + + + + + + + + + + + + How it works + + + + + Desktop app (Electron shell) + Native window · zero-dependency installer + + + + + + + + dsh harness + system-Node child · loopback HTTP + + + + + + + + Everything is a plugin + Composed from Cordis plugins + + + + + Pluggable capabilities + + Tool + Skill + Session + Storage + Loop + Sandbox + + Model, memory, web, terminal, and more are all plugins — + freely replaceable and recomposable per profile. + + + + + + + + diff --git a/assets/readme/desktop-plugins.png b/assets/readme/desktop-plugins.png new file mode 100644 index 0000000000..123131a9ce Binary files /dev/null and b/assets/readme/desktop-plugins.png differ diff --git a/assets/readme/hero.svg b/assets/readme/hero.svg new file mode 100644 index 0000000000..aaed543b89 --- /dev/null +++ b/assets/readme/hero.svg @@ -0,0 +1,72 @@ + + DeepSeek Harness — everything is a plugin + A plugin-based agent harness with a native desktop app, shown as a hub of pluggable modules (tool, skill, session, storage, loop). + + + + + + + + + + + + + + + + + + + + + + + + + + DeepSeek Harness + 一切皆插件 · 运行有迹可循 + Plugin-based agent harness · native desktop + + + + + macOS + + Windows + + CLI + + + + + + + + + + + + + Tool + + Skill + + Session + + Storage + + Loop + + + + + + + + + dsh + + diff --git a/assets/readme/plugin-marketplace.png b/assets/readme/plugin-marketplace.png new file mode 100644 index 0000000000..15539ff693 Binary files /dev/null and b/assets/readme/plugin-marketplace.png differ diff --git a/assets/readme/trajectory-view.png b/assets/readme/trajectory-view.png new file mode 100644 index 0000000000..8ff98dac1b Binary files /dev/null and b/assets/readme/trajectory-view.png differ