其他
完整应用
deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DeepSeek Harness (DSH) 的 Web 插件:输入框文件上传 + 预览。支持附件上传、整页拖拽、可移除附件卡片和右侧文件预览面板。
在 conversation.input.left 槽位注册附件按钮,在 conversation.input.dock 槽位注册附件卡片行与预览面板。
conversation.input.left),菜单选择文件conversation.input.dock):文件名 + 大小,可单独移除;宽度与输入框对齐(--dsh-composer-card-max-width)/raw 流式接口,浏览器原生播放,无 base64 膨胀)$DSH_HOME/uploads(UUID 容器目录,文件名消毒防穿越)| 端 | 职责 |
|---|---|
| Host(node) | 三个路由:上传 / 预览 / 原始流式 |
| Client(browser) | 附件按钮、拖拽、卡片行、预览面板 |
| 路由 | 方法 | 说明 |
|---|---|---|
/dsh-upload/files |
POST | { name, size, data(base64) } → 持久化到 $DSH_HOME/uploads/<uuid>/<name>,返回 { path, name, size } |
/dsh-mypg-upload/preview |
GET | ?path=<绝对路径> → { kind: text\|image\|pdf\|audio\|video\|meta, ... } |
/dsh-mypg-upload/raw |
GET | ?path=<绝对路径> → 流式返回 PDF / 音视频,带正确 Content-Type |
将插件链接到 profile 的 node_modules(junction,Windows):
New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-upload-plus" -Target "(本仓库路径)"
在 profile 组合文件 cordis.patch.yml 追加:
- insert:
- id: dsh-upload-plus
name: dsh-upload-plus
重启 DSH 桌面应用 / 刷新 Web 界面(客户端 bundle 仅在重启时重新加载)。
在 deepseek-harness 仓库内(本插件依赖其 workspace 构建链):
pnpm run build # tsc -b && tsdown,产出 lib/client.js 与 lib/index.js
src/
├── index.ts # Host:上传 / 预览 / 原始流式路由(raw node:fs,不依赖 @deepseek-ai 包)
└── client/index.ts # Client:附件按钮、拖拽、卡片行、预览面板
package.json
tsconfig.json
tsdown.config.ts
package.json 使用 workspace:^ 的 peer 依赖、tsdown.config.ts 引用仓库内的 clientBundle 工具;脱离该仓库独立使用时需相应调整。$DSH_HOME/uploads,不会上传到任何远程服务器。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。