Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Connect [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) to t
Browser operation remains text-only: pages become structured text with a numbered inventory of interactive elements, and the model addresses those elements by number. dsh 0.2.0 multimodal chat is separate from that page channel—the side panel accepts PNG, JPEG, WebP, and GIF attachments when the host advertises image support, while browser tools still never capture screenshots.

> [!IMPORTANT]
> The workspace pins dsh 0.2.0-rc.1, the minimum supported runtime. Older DSH releases are not supported.
> The workspace pins dsh 0.2.0-rc.2, the minimum supported runtime. Older DSH releases are not supported.

## Quick install

Expand Down Expand Up @@ -137,7 +137,7 @@ cd ~/.dsh/dsh-browser && pnpm start
From a source checkout, run `pnpm start` in the repository root. The exact supported public runtime is:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

Local Chrome use requires no configuration; Firefox requires the local bridge token described above. Open a page, click the DeepSeek whale icon, and wait for **Connected**. Existing HTTP(S) tabs are instrumented on the first action. On browser-protected pages and extension stores, the model can read tab metadata and use browser-level HTTP(S) navigation, back, forward, and reload, but it cannot inspect or operate the protected page DOM.
Expand Down
4 changes: 2 additions & 2 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
浏览器操作仍采用纯文本设计:页面会转换为结构化文本和带编号的交互元素清单,模型通过编号定位元素。dsh 0.2.0 的多模态对话走独立通道——宿主声明图片能力时,侧栏可发送 PNG、JPEG、WebP 和 GIF;浏览器工具本身仍不会截取页面截图。

> [!IMPORTANT]
> 当前工作区固定使用 dsh 0.2.0-rc.1,也是最低支持版本;不再支持旧版 DSH。
> 当前工作区固定使用 dsh 0.2.0-rc.2,也是最低支持版本;不再支持旧版 DSH。

## 快速安装

Expand Down Expand Up @@ -137,7 +137,7 @@ cd ~/.dsh/dsh-browser && pnpm start
使用源码 checkout 时,请在仓库根目录运行 `pnpm start`。受支持的精确公开版本为:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

Chrome 本机使用无需配置;Firefox 需要填写上述本地桥 token。打开页面,点击 DeepSeek 鲸鱼图标,等待侧边栏显示**已连接**。已有 HTTP(S) 标签页会在第一次操作时自动加载。在浏览器受保护页面和扩展商店中,模型可以读取标签页元数据,并通过浏览器级能力导航到 HTTP(S)、后退、前进和刷新,但不能读取或操作受保护页面的 DOM。
Expand Down
2 changes: 1 addition & 1 deletion extensions/dsh-browser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ The recommended zero-configuration command does not require Git or a local clone
Or use the exact supported public runtime:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

Both commands load the same bundle from the local `web` profile. Port 3080 is used by default; append `--port <port>` when it is occupied.
Expand Down
2 changes: 1 addition & 1 deletion extensions/dsh-browser/README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ pnpm --filter dsh-browser-extension run test
或使用受支持的精确公开版本:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

两种命令都会从本机 `web` profile 加载同一个 bundle。默认端口为 3080;如被占用,可追加 `--port <port>`。
Expand Down
68 changes: 34 additions & 34 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,39 +16,39 @@
},
"dependencies": {
"@deepseek-ai/cordis-plugin-group": "~1.0.4",
"@deepseek-ai/dsh": "0.2.0-rc.1",
"@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.1",
"@deepseek-ai/dsh-anonymous-user-id": "0.2.0-rc.1",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.1",
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.1",
"@deepseek-ai/dsh-atomic-write": "0.2.0-rc.1",
"@deepseek-ai/dsh-authorization": "0.2.0-rc.1",
"@deepseek-ai/dsh-bash-local": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
"@deepseek-ai/dsh-compaction": "0.2.0-rc.1",
"@deepseek-ai/dsh-deepseek-account": "0.2.0-rc.1",
"@deepseek-ai/dsh-fs": "0.2.0-rc.1",
"@deepseek-ai/dsh-hook-protocol": "0.2.0-rc.1",
"@deepseek-ai/dsh-jobs": "0.2.0-rc.1",
"@deepseek-ai/dsh-llm-deepseek": "0.2.0-rc.1",
"@deepseek-ai/dsh-output-retention": "0.2.0-rc.1",
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.1",
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
"@deepseek-ai/dsh-scope": "0.2.0-rc.1",
"@deepseek-ai/dsh-sdk-protocol": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-query": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-telemetry": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-title-llm": "0.2.0-rc.1",
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
"@deepseek-ai/dsh-shell": "0.2.0-rc.1",
"@deepseek-ai/dsh-spill": "0.2.0-rc.1",
"@deepseek-ai/dsh-subagent": "0.2.0-rc.1",
"@deepseek-ai/dsh-subagent-in-process-driver": "0.2.0-rc.1",
"@deepseek-ai/dsh-timeout": "0.2.0-rc.1",
"@deepseek-ai/dsh-util-time": "0.2.0-rc.1",
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.1",
"@deepseek-ai/dsh-workflow": "0.2.0-rc.1"
"@deepseek-ai/dsh": "0.2.0-rc.2",
"@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
"@deepseek-ai/dsh-anonymous-user-id": "0.2.0-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
"@deepseek-ai/dsh-api-remotes": "0.2.0-rc.2",
"@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
"@deepseek-ai/dsh-authorization": "0.2.0-rc.2",
"@deepseek-ai/dsh-bash-local": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
"@deepseek-ai/dsh-compaction": "0.2.0-rc.2",
"@deepseek-ai/dsh-deepseek-account": "0.2.0-rc.2",
"@deepseek-ai/dsh-fs": "0.2.0-rc.2",
"@deepseek-ai/dsh-hook-protocol": "0.2.0-rc.2",
"@deepseek-ai/dsh-jobs": "0.2.0-rc.2",
"@deepseek-ai/dsh-llm-deepseek": "0.2.0-rc.2",
"@deepseek-ai/dsh-output-retention": "0.2.0-rc.2",
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.2",
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
"@deepseek-ai/dsh-scope": "0.2.0-rc.2",
"@deepseek-ai/dsh-sdk-protocol": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-query": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-telemetry": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-title-llm": "0.2.0-rc.2",
"@deepseek-ai/dsh-settings": "0.2.0-rc.2",
"@deepseek-ai/dsh-shell": "0.2.0-rc.2",
"@deepseek-ai/dsh-spill": "0.2.0-rc.2",
"@deepseek-ai/dsh-subagent": "0.2.0-rc.2",
"@deepseek-ai/dsh-subagent-in-process-driver": "0.2.0-rc.2",
"@deepseek-ai/dsh-timeout": "0.2.0-rc.2",
"@deepseek-ai/dsh-util-time": "0.2.0-rc.2",
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.2",
"@deepseek-ai/dsh-workflow": "0.2.0-rc.2"
}
}
4 changes: 2 additions & 2 deletions packages/browser/bridge-browser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ cd $HOME\.dsh\dsh-browser; pnpm start

Developers can instead clone the repository and run `./scripts/install.sh` followed by `pnpm start` from that checkout. The local mode uses the current branch without downloading or overwriting source files. Both installation modes register the same profile bundle; build tools resolve only from the selected workspace and never from a parent checkout or parent `node_modules` directory.

The workspace pins dsh 0.2.0-rc.1, the minimum supported runtime. Older DSH releases are not supported:
The workspace pins dsh 0.2.0-rc.2, the minimum supported runtime. Older DSH releases are not supported:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

The installer copies the unpacked extension to `~/.dsh/browser-extension` and opens `chrome://extensions`. Load that stable directory in Chrome and use the side panel. Loopback connections are discovered automatically and require no token entry; non-loopback deployments still require the configured bearer token.
Expand Down
4 changes: 2 additions & 2 deletions packages/browser/bridge-browser/README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ cd $HOME\.dsh\dsh-browser; pnpm start

开发者也可以 clone 仓库,在 checkout 中依次运行 `./scripts/install.sh` 和 `pnpm start`。本地模式直接使用当前分支,不会下载或覆盖源码。两种安装模式都会注册同一个 profile bundle;构建工具只从选定的 workspace 解析,绝不读取父 checkout 或父目录的 `node_modules`。

当前工作区固定使用 dsh 0.2.0-rc.1,也是最低支持版本;不再支持旧版 DSH:
当前工作区固定使用 dsh 0.2.0-rc.2,也是最低支持版本;不再支持旧版 DSH:

```sh
npx @deepseek-ai/dsh@0.2.0-rc.1 web
npx @deepseek-ai/dsh@0.2.0-rc.2 web
```

安装器会把已解压扩展复制到 `~/.dsh/browser-extension` 并打开 `chrome://extensions`。在 Chrome 中加载这个稳定目录,然后使用侧边栏。扩展会自动发现回环连接,无需输入 token;非回环部署仍需要配置的 bearer token。
Expand Down
2 changes: 1 addition & 1 deletion packages/browser/bridge-browser/cordis.patch.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Browser bridge layer for the dsh `web` profile.
#
# `dsh plugin --profile web add` registers this package's `dsh.bundle`
# manifest, so both the repository launcher and `npx @deepseek-ai/dsh@0.2.0-rc.1 web`
# manifest, so both the repository launcher and `npx @deepseek-ai/dsh@0.2.0-rc.2 web`
# apply this patch without an extra command-line option.
#
# On first boot the plugin generates a bearer token and persists it at
Expand Down
68 changes: 34 additions & 34 deletions packages/browser/bridge-browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,19 @@
],
"peerDependencies": {
"@deepseek-ai/cordis": "~4.0.4",
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.1",
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.1",
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.1",
"@deepseek-ai/dsh-invariants": "0.2.0-rc.1",
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
"@deepseek-ai/dsh-agent": "0.2.0-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
"@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
"@deepseek-ai/dsh-tools": "0.2.0-rc.2",
"react": ">=18.2.0 <19"
},
"peerDependenciesMeta": {
Expand Down Expand Up @@ -92,27 +92,27 @@
"@deepseek-ai/cordis": "~4.0.4",
"@deepseek-ai/cordis-plugin-include": "~1.0.9",
"@deepseek-ai/cordis-plugin-loader": "~1.0.5",
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.1",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.1",
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.1",
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.1",
"@deepseek-ai/dsh-invariants": "0.2.0-rc.1",
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-format-v3-to-v4": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.1",
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
"@deepseek-ai/dsh-storage": "0.2.0-rc.1",
"@deepseek-ai/dsh-storage-domain": "0.2.0-rc.1",
"@deepseek-ai/dsh-storage-json": "0.2.0-rc.1",
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
"@deepseek-ai/dsh-user-questions": "0.2.0-rc.1",
"@deepseek-ai/dsh-workspace": "0.2.0-rc.1",
"@deepseek-ai/dsh-agent": "0.2.0-rc.2",
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
"@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
"@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
"@deepseek-ai/dsh-session": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-format-v3-to-v4": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.2",
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
"@deepseek-ai/dsh-storage": "0.2.0-rc.2",
"@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
"@deepseek-ai/dsh-storage-json": "0.2.0-rc.2",
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
"@deepseek-ai/dsh-tools": "0.2.0-rc.2",
"@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
"@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
"@types/node": "^22.20.0",
"@types/ws": "^8.18.1",
"playwright-core": "^1.61.1",
Expand Down
Loading