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.i18n.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Bilingual consistency record for the repository README files.
# README.md is the default English page; README.zh.md is its Chinese counterpart.
# Values are git blob hashes from the last confirmed-consistent review.
README.md: 84ed56450ad1753959304392f90f8a8fccd582d2
README.zh.md: e3bed42749b6e7dfd60a06fc423926fa381cadea
README.md: 1163cc9c9a7332a95f8b2448461243f0813ffdf2
README.zh.md: 6ce7a8314f10dcd45316906f79991e0604b0814c
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Connect [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) to t

`dsh` is DeepSeek AI's open-source, plugin-based agent harness. This repository provides a companion browser bridge plugin and Chrome/Firefox MV3 extension as one standalone pnpm workspace.

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.1.5 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.
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.1.7 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.1.5-rc.2, the minimum supported runtime. Older DSH releases are not supported.
> The workspace pins dsh 0.1.7-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.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-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
6 changes: 3 additions & 3 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@

`dsh` 是由 DeepSeek AI 开发的开源、插件化 agent harness(智能体框架)。本仓库将配套的浏览器桥插件与 Chrome/Firefox MV3 扩展组成一个独立的 pnpm workspace。

浏览器操作仍采用纯文本设计:页面会转换为结构化文本和带编号的交互元素清单,模型通过编号定位元素。dsh 0.1.5 的多模态对话走独立通道——宿主声明图片能力时,侧栏可发送 PNG、JPEG、WebP 和 GIF;浏览器工具本身仍不会截取页面截图。
浏览器操作仍采用纯文本设计:页面会转换为结构化文本和带编号的交互元素清单,模型通过编号定位元素。dsh 0.1.7 的多模态对话走独立通道——宿主声明图片能力时,侧栏可发送 PNG、JPEG、WebP 和 GIF;浏览器工具本身仍不会截取页面截图。

> [!IMPORTANT]
> 当前工作区固定使用 dsh 0.1.5-rc.2,也是最低支持版本;不再支持旧版 DSH。
> 当前工作区固定使用 dsh 0.1.7-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.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-rc.2 web
```

Chrome 本机使用无需配置;Firefox 需要填写上述本地桥 token。打开页面,点击 DeepSeek 鲸鱼图标,等待侧边栏显示**已连接**。已有 HTTP(S) 标签页会在第一次操作时自动加载。在浏览器受保护页面和扩展商店中,模型可以读取标签页元数据,并通过浏览器级能力导航到 HTTP(S)、后退、前进和刷新,但不能读取或操作受保护页面的 DOM。
Expand Down
4 changes: 2 additions & 2 deletions extensions/dsh-browser/README.i18n.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write dsh-browser/extensions/dsh-browser/README.md
README.md: 3831c8ba65bb5e9ada0343a8069cb0951e21b8ba
README.zh.md: 94874831fd41a0b80f67b972fde4110f32d79365
README.md: 6b6ea0b302a340fca44d6f461ebf84a7b5419c89
README.zh.md: 36f25412f7e1431aa89a8ac41ef045c9b7676790
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.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-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.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-rc.2 web
```

两种命令都会从本机 `web` profile 加载同一个 bundle。默认端口为 3080;如被占用,可追加 `--port <port>`。
Expand Down
71 changes: 38 additions & 33 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,38 +15,43 @@
"test:smoke": "node scripts/smoke-runtime.mjs"
},
"dependencies": {
"@deepseek-ai/cordis-plugin-group": "1.0.2",
"@deepseek-ai/dsh": "0.1.5-rc.2",
"@deepseek-ai/dsh-agent-default-model": "0.1.5-rc.2",
"@deepseek-ai/dsh-anonymous-user-id": "0.1.5-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.1.5-rc.2",
"@deepseek-ai/dsh-api-remotes": "0.1.5-rc.2",
"@deepseek-ai/dsh-atomic-write": "0.1.5-rc.2",
"@deepseek-ai/dsh-authorization": "0.1.5-rc.2",
"@deepseek-ai/dsh-bash-local": "0.1.5-rc.2",
"@deepseek-ai/dsh-code-runtime": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-connection": "0.1.5-rc.2",
"@deepseek-ai/dsh-compaction": "0.1.5-rc.2",
"@deepseek-ai/dsh-fs": "0.1.5-rc.2",
"@deepseek-ai/dsh-hook-protocol": "0.1.5-rc.2",
"@deepseek-ai/dsh-jobs": "0.1.5-rc.2",
"@deepseek-ai/dsh-output-retention": "0.1.5-rc.2",
"@deepseek-ai/dsh-sandbox": "0.1.5-rc.2",
"@deepseek-ai/dsh-scope": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-telemetry": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-projection-cache": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-query": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-title-llm": "0.1.5-rc.2",
"@deepseek-ai/dsh-settings": "0.1.5-rc.2",
"@deepseek-ai/dsh-sdk-protocol": "0.1.5-rc.2",
"@deepseek-ai/dsh-shell": "0.1.5-rc.2",
"@deepseek-ai/dsh-spill": "0.1.5-rc.2",
"@deepseek-ai/dsh-subagent": "0.1.5-rc.2",
"@deepseek-ai/dsh-subagent-in-process-driver": "0.1.5-rc.2",
"@deepseek-ai/dsh-timeout": "0.1.5-rc.2",
"@deepseek-ai/dsh-util-time": "0.1.5-rc.2",
"@deepseek-ai/dsh-util-workspace-path": "0.1.5-rc.2",
"@deepseek-ai/dsh-workflow": "0.1.5-rc.2"
"@deepseek-ai/cordis-plugin-group": "1.0.4",
"@deepseek-ai/dsh": "0.1.7-rc.2",
"@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.2",
"@deepseek-ai/dsh-anonymous-user-id": "0.1.7-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.1.7-rc.2",
"@deepseek-ai/dsh-api-remotes": "0.1.7-rc.2",
"@deepseek-ai/dsh-atomic-write": "0.1.7-rc.2",
"@deepseek-ai/dsh-authorization": "0.1.7-rc.2",
"@deepseek-ai/dsh-bash-local": "0.1.7-rc.2",
"@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
"@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.2",
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.2",
"@deepseek-ai/dsh-compaction": "0.1.7-rc.2",
"@deepseek-ai/dsh-deepseek-account": "0.1.7-rc.2",
"@deepseek-ai/dsh-fs": "0.1.7-rc.2",
"@deepseek-ai/dsh-hook-protocol": "0.1.7-rc.2",
"@deepseek-ai/dsh-jobs": "0.1.7-rc.2",
"@deepseek-ai/dsh-llm-deepseek": "0.1.7-rc.2",
"@deepseek-ai/dsh-output-retention": "0.1.7-rc.2",
"@deepseek-ai/dsh-ptc-runtime": "0.1.7-rc.2",
"@deepseek-ai/dsh-sandbox": "0.1.7-rc.2",
"@deepseek-ai/dsh-scope": "0.1.7-rc.2",
"@deepseek-ai/dsh-sdk-protocol": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-projection-cache": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-telemetry": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-title-llm": "0.1.7-rc.2",
"@deepseek-ai/dsh-settings": "0.1.7-rc.2",
"@deepseek-ai/dsh-shell": "0.1.7-rc.2",
"@deepseek-ai/dsh-spill": "0.1.7-rc.2",
"@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
"@deepseek-ai/dsh-subagent-in-process-driver": "0.1.7-rc.2",
"@deepseek-ai/dsh-timeout": "0.1.7-rc.2",
"@deepseek-ai/dsh-util-time": "0.1.7-rc.2",
"@deepseek-ai/dsh-util-workspace-path": "0.1.7-rc.2",
"@deepseek-ai/dsh-workflow": "0.1.7-rc.2"
}
}
4 changes: 2 additions & 2 deletions packages/browser/bridge-browser/README.i18n.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write dsh-browser/packages/browser/bridge-browser/README.md
README.md: 62c56181463684af2b1024e7c5bf564d795c35ee
README.zh.md: 67a954a12361a1993e79fe68417c80fe389d8a7a
README.md: d170cab39e28a6973c6a945bbe1119b1f2e98dc9
README.zh.md: 84b31d32c0f3d39316e2503005c933cceae83a71
8 changes: 4 additions & 4 deletions packages/browser/bridge-browser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

English | [中文](README.zh.md)

The **browser-operation bridge** for dsh: mounts a token-authenticated WebSocket carrier (`/ext/bridge`) that the Chrome extension connects to, projects its calls onto dsh 0.1.5 Typert Remotes, follows Session and Remote Event streams per connection, and registers the text-only `browser_*` tool set that reads and operates the user's active tab through the extension — click elements, fill forms, scroll, and navigate in the real browser, login state preserved. The side panel is the conversation entry; the tools are the product.
The **browser-operation bridge** for dsh: mounts a token-authenticated WebSocket carrier (`/ext/bridge`) that the Chrome extension connects to, projects its calls onto dsh 0.1.7 Typert Remotes, follows Session and Remote Event streams per connection, and registers the text-only `browser_*` tool set that reads and operates the user's active tab through the extension — click elements, fill forms, scroll, and navigate in the real browser, login state preserved. The side panel is the conversation entry; the tools are the product.

**Text-only browser tools, multimodal chat passthrough**: page snapshots stay structured text (title, main content, numbered interactive inventory, and masked form fields), and every browser action uses stable inventory numbers. The generic RPC carrier also passes dsh 0.1.5 image prompts and durable attachment reads; deferred new sessions expose image limits only when the host actually mounts the attachment service.
**Text-only browser tools, multimodal chat passthrough**: page snapshots stay structured text (title, main content, numbered interactive inventory, and masked form fields), and every browser action uses stable inventory numbers. The generic RPC carrier also passes dsh 0.1.7 image prompts and durable attachment reads; deferred new sessions expose image limits only when the host actually mounts the attachment service.

## Config

Expand Down 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.1.5-rc.2, the minimum supported runtime. Older DSH releases are not supported:
The workspace pins dsh 0.1.7-rc.2, the minimum supported runtime. Older DSH releases are not supported:

```sh
npx @deepseek-ai/dsh@0.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-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
8 changes: 4 additions & 4 deletions packages/browser/bridge-browser/README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

[English](README.md) | 中文

dsh 的**浏览器操作桥**:在宿主 webserver 上挂载一个 **token 认证的 WebSocket 通道**(`/ext/bridge`),供 Chrome 扩展连接;把扩展调用投影到 dsh 0.1.5 Typert Remotes、按连接跟随 Session 与 Remote Event 流,并注册**纯文本**的 `browser_*` 工具集——经扩展在真实浏览器中读取页面、点击元素、填写表单、滚动与导航,登录态保留。侧边栏是对话入口,工具才是产品本体。
dsh 的**浏览器操作桥**:在宿主 webserver 上挂载一个 **token 认证的 WebSocket 通道**(`/ext/bridge`),供 Chrome 扩展连接;把扩展调用投影到 dsh 0.1.7 Typert Remotes、按连接跟随 Session 与 Remote Event 流,并注册**纯文本**的 `browser_*` 工具集——经扩展在真实浏览器中读取页面、点击元素、填写表单、滚动与导航,登录态保留。侧边栏是对话入口,工具才是产品本体。

**纯文本浏览器工具,多模态对话透传**:页面快照仍是结构化文本(标题、正文、带编号的交互清单、敏感值打码的表单字段),所有浏览器动作按稳定编号寻址。通用 RPC 通道也会透传 dsh 0.1.5 的图片消息和持久附件读取;延迟创建的新会话只在宿主确实挂载附件服务时声明图片限制。
**纯文本浏览器工具,多模态对话透传**:页面快照仍是结构化文本(标题、正文、带编号的交互清单、敏感值打码的表单字段),所有浏览器动作按稳定编号寻址。通用 RPC 通道也会透传 dsh 0.1.7 的图片消息和持久附件读取;延迟创建的新会话只在宿主确实挂载附件服务时声明图片限制。

## 配置

Expand Down 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.1.5-rc.2,也是最低支持版本;不再支持旧版 DSH:
当前工作区固定使用 dsh 0.1.7-rc.2,也是最低支持版本;不再支持旧版 DSH:

```sh
npx @deepseek-ai/dsh@0.1.5-rc.2 web
npx @deepseek-ai/dsh@0.1.7-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.1.5-rc.2 web`
# manifest, so both the repository launcher and `npx @deepseek-ai/dsh@0.1.7-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
77 changes: 39 additions & 38 deletions packages/browser/bridge-browser/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,20 +49,20 @@
"src"
],
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.2",
"@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
"@deepseek-ai/dsh-api-gateway": "^0.1.5-rc.2",
"@deepseek-ai/dsh-attachment": "^0.1.5-rc.2",
"@deepseek-ai/dsh-client-connection": "^0.1.5-rc.2",
"@deepseek-ai/dsh-client-locale": "^0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.2",
"@deepseek-ai/dsh-home-paths": "^0.1.5-rc.2",
"@deepseek-ai/dsh-host-webserver": "^0.1.5-rc.2",
"@deepseek-ai/dsh-invariants": "^0.1.5-rc.2",
"@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
"@deepseek-ai/dsh-session-persistence": "^0.1.5-rc.2",
"@deepseek-ai/dsh-tools": "^0.1.5-rc.2",
"@deepseek-ai/cordis": "^4.0.4",
"@deepseek-ai/dsh-agent": "^0.1.7-rc.2",
"@deepseek-ai/dsh-api-gateway": "^0.1.7-rc.2",
"@deepseek-ai/dsh-attachment": "^0.1.7-rc.2",
"@deepseek-ai/dsh-client-connection": "^0.1.7-rc.2",
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.2",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.2",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
"@deepseek-ai/dsh-home-paths": "^0.1.7-rc.2",
"@deepseek-ai/dsh-host-webserver": "^0.1.7-rc.2",
"@deepseek-ai/dsh-invariants": "^0.1.7-rc.2",
"@deepseek-ai/dsh-llm": "^0.1.7-rc.2",
"@deepseek-ai/dsh-session-persistence": "^0.1.7-rc.2",
"@deepseek-ai/dsh-tools": "^0.1.7-rc.2",
"react": ">=18.2.0 <19"
},
"peerDependenciesMeta": {
Expand All @@ -80,7 +80,7 @@
}
},
"dependencies": {
"@deepseek-ai/schemastery": "^3.18.2",
"@deepseek-ai/schemastery": "^3.18.4",
"ws": "^8.21.0"
},
"scripts": {
Expand All @@ -89,29 +89,30 @@
"build": "tsc -b --pretty false && tsdown && node -e \"require('node:fs').copyFileSync('src/client.js', 'lib/client.js')\""
},
"devDependencies": {
"@deepseek-ai/cordis": "4.0.2",
"@deepseek-ai/cordis-plugin-include": "1.0.7",
"@deepseek-ai/cordis-plugin-loader": "1.0.3",
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.1.5-rc.2",
"@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-connection": "0.1.5-rc.2",
"@deepseek-ai/dsh-home-paths": "0.1.5-rc.2",
"@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
"@deepseek-ai/dsh-invariants": "0.1.5-rc.2",
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-projection": "0.1.5-rc.2",
"@deepseek-ai/dsh-storage": "0.1.5-rc.2",
"@deepseek-ai/dsh-storage-domain": "0.1.5-rc.2",
"@deepseek-ai/dsh-storage-json": "0.1.5-rc.2",
"@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2",
"@deepseek-ai/dsh-tools": "0.1.5-rc.2",
"@deepseek-ai/dsh-user-questions": "0.1.5-rc.2",
"@deepseek-ai/dsh-workspace": "0.1.5-rc.2",
"@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.1.7-rc.2",
"@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
"@deepseek-ai/dsh-api-gateway": "0.1.7-rc.2",
"@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
"@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
"@deepseek-ai/dsh-home-paths": "0.1.7-rc.2",
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
"@deepseek-ai/dsh-invariants": "0.1.7-rc.2",
"@deepseek-ai/dsh-llm": "0.1.7-rc.2",
"@deepseek-ai/dsh-session": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-format-v3-to-v4": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-persistence-jsonl": "0.1.7-rc.2",
"@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
"@deepseek-ai/dsh-storage": "0.1.7-rc.2",
"@deepseek-ai/dsh-storage-domain": "0.1.7-rc.2",
"@deepseek-ai/dsh-storage-json": "0.1.7-rc.2",
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
"@deepseek-ai/dsh-tools": "0.1.7-rc.2",
"@deepseek-ai/dsh-user-questions": "0.1.7-rc.2",
"@deepseek-ai/dsh-workspace": "0.1.7-rc.2",
"@types/node": "^22.20.0",
"@types/ws": "^8.18.1",
"playwright-core": "^1.61.1",
Expand Down
Loading
Loading