## ✨ 主要功能
- **🧩 原生插件架构**:原生 Cordis Host 与浏览器插件,无需启动 MCP 子进程。
- **🖼️ 无限画布**:支持框选多选、整组移动、撤销、下载、删除、缩放和平移。
- **💬 同步对话**:Harness 对话与画布实时同步,可通过 `@` 标签引用选中项。
- **🤖 内置 Preset 与 Skills**:随插件安装 `weshop-canvas` Agent Preset 和 WeShop Skills,开箱即用。
- **⚡ 自动发布**:生成的图片、视频、音频和文字自动发布到画布,无需手动下载再上传。
- **🔐 安全的 API Key 管理**:可在画布内配置,也支持 `WESHOP_API_KEY` 环境变量;密钥不会流向浏览器状态或模型。
- **🌐 中英双语界面**:自动识别系统语言,同时支持手动切换。
- **📦 可迁移安装**:打包为单个 `.tgz`,可安装到任意已运行 Harness 的电脑。
## 🧩 DSH 生态兼容
- **兼容 dsh-web-ui**:画布浮层和侧边栏入口遵循 [dsh-web-ui](https://github.com/zhu1090093659/dsh-web-ui) 使用的宿主界面规范,并适配其皮肤,确保 WeShop 与周边界面协调且随时可打开。
- **已上架 dsh-market**:安装 [dsh-market](https://github.com/dsh-market/dsh-market) 后,可在 **设置 → Plugin Market** 中浏览并安装 WeShop 与其他 DeepSeek Harness 插件。
## 💡 为什么选择 WeShop?
| 痛点(传统模式) | WeShop 工作台 |
| :--- | :--- |
| **来回切换工具**:商品图、编辑图和视频要分别在不同应用里完成。 | **同一张画布**:摄影、试穿、换背景、编辑和视频都发生在对话所在的同一空间里。 |
| **手动来回搬运**:在别处生成后,还要下载再重新上传。 | **自动发布**:结果一生成就直接出现在画布上。 |
| **只能靠文字描述**:很难精确指向“这张商品图”或“这张参考图”。 | **空间化选择**:在画布上选中素材,直接用 `@` 在对话里引用。 |
| **密钥管理不透明**:不清楚凭证保存在哪里。 | **本地受限存储**:API Key 由本机 Harness Host 保存,不会返回浏览器或模型。 |
## 🚀 快速上手
### 开始前
安装 Node.js,然后至少成功启动一次官方 Harness Web UI:
```bash
npx @deepseek-ai/dsh web
```
Harness 默认打开在 `http://127.0.0.1:3080`。看到页面后即可先关闭 Harness,再继续下面的步骤。
也可以按照官方的 [DeepSeek Harness 源码安装说明](https://github.com/deepseek-ai/deepseek-harness#run)进行安装。
### 首次安装
关闭 Harness 后,只需运行一条命令:
```bash
npx weshop-dsh-plugin setup
```
安装器会将 WeShop 安装到 Harness Web profile、启用 bundle,并在发现旧版 WeShop 时自动迁移。无需 GitHub 账号、access token,也不需要手动改文件。
然后重启 Harness:
```bash
npx @deepseek-ai/dsh web
```
新建或打开一个任务,选择 **WeShop 画布模式** Preset。首次启用时会自动安装该 Preset。
### 通过 dsh-market 安装
如果使用社区插件市场,先安装市场插件并重启 Harness:
```bash
dsh plugin --profile web add dshmarket
```
然后打开 **设置 → Plugin Market**,搜索 **WeShop** 并安装。
### 更新 WeShop
最简单的更新方式是关闭 Harness 后运行:
```bash
npx weshop-dsh-plugin setup
```
如果已安装公开 npm 版,也可以运行:
```bash
cd ~/.dsh/profiles/web
pnpm update weshop-dsh-plugin
```
> **此前安装过旧版?**
> 如果此前通过 `.tgz` 安装过,或使用的是 `@weshop/dsh-canvas`、`@weshop/dsh-weshop-2-0`、`@weshopai/dsh-weshop-2-0`,首次运行一次 `npx weshop-dsh-plugin setup` 即可。它会自动替换旧包和 bundle 配置;之后即可使用上面的任一更新方式。
### 高级用法:构建可迁移安装包
克隆本 private 仓库需要相应的 GitHub 权限。
```bash
git clone git@github.com:weshopai/weshop-dsh-plugin.git
cd weshop-dsh-plugin
corepack enable
pnpm install --frozen-lockfile
pnpm build
pnpm pack
```
完成后会生成类似 `weshop-dsh-plugin-1.0.1.tgz` 的版本化文件。
安装到 Harness Web profile:
```bash
PLUGIN_TARBALL="/你的绝对路径/weshop-dsh-plugin-1.0.1.tgz"
cd ~/.dsh/profiles/web
pnpm add "$PLUGIN_TARBALL"
```
## ⚙️ 配置 WeShop OpenAPI
打开画布,点击顶部的 **配置 API Key**。密钥由本机 Harness Host 使用受限文件权限保存,不会返回浏览器,也不会写入画布状态或发送给模型。
也可以在启动 Harness 前设置环境变量:
```bash
export WESHOP_API_KEY="你的密钥"
npx @deepseek-ai/dsh web
```
可以从 [WeShop OpenAPI](https://www.weshop.ai/apiKey) 获取密钥。
## 🏗️ 开发与检查
```bash
pnpm install --frozen-lockfile
pnpm build
pnpm pack --dry-run
```
主要入口与运行组件:
- `lib/index.js` — Cordis Host 插件、工具、Skills、HTTP routes 和私密配置。
- `lib/client.js` — 浏览器画布与同步对话界面。
- `cordis.patch.yml` — Bundle composition 入口。
- `presets/weshop-canvas/` — 内置 WeShop Agent Preset。
- `skills/` — 画布与 WeShop OpenAPI Skills。
## 🔒 迁移与安全说明
- 安装包包含编译后的 Host、浏览器入口、Presets、Skills 和所需资源。
- 目标电脑必须先具备可正常运行的 Harness Web profile。
- API Key 和本地生成资源不会写入安装包,需要在每台电脑上单独配置。
- 画布数据保存在浏览器本地,不会嵌入插件安装包。
## 🤝 联系方式
支持或合作请联系 [hi@weshop.ai](mailto:hi@weshop.ai)。
## 📄 许可证
本软件采用 [MIT License](LICENSE) 发布。
---
由 WeShop AI 团队倾注 ❤️ 打造。
[](./LICENSE)