Yur0918/dsh-user-addons

Community DSH web plugin for file uploads, archived-session management, image capability detection, and model/token usage insights.

Project Overview项目介绍

dsh-user-addons is a community web plugin for DeepSeek Harness, providing both Host and Web client halves. It adds file drop and upload support in the Web composer, an archived-session manager using DSH's workspace registry, a local model and token usage dashboard folded from ~/.dsh/sessions, and an image-capability endpoint that drives attachment behavior. Use it when extending a DSH Web profile to handle attachments, archive sessions, and inspect local usage. Note that uploads are capped at 100 MiB and Node.js 22.19 plus the client module loader are required.

dsh-user-addons 是面向 DeepSeek Harness 的社区 Web 插件,提供 Host 与 Web 客户端两侧能力。核心功能包括 Web 编写区的文件拖拽上传、会话归档管理、本地模型与令牌用量面板,以及用于判定附件行为的多模态能力接口。适用于需要扩展 DSH Web 配置文件以管理附件与会话、并查看本地用量统计的用户。需注意:上传上限 100 MiB,且要求 Node.js 22.19 及启用客户端模块加载器。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:Yur0918/dsh-user-addons

Yur0918/dsh-user-addons 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-user-addons

Community web add-ons for DeepSeek Harness.

This package provides a small, out-of-tree DSH plugin with both Host and Web client halves. It does not modify DSH core files.

Features

  • File drop/upload support in the Web composer. Images are attached when the selected model supports image input; other files are saved locally and attached by path.
  • An archived-session manager for finding, archiving, and restoring sessions through DSH's workspace registry.
  • A local model and token usage dashboard, folded from ~/.dsh/sessions.
  • An image-capability endpoint used by the Web client to choose the appropriate attachment behavior.

Requirements

  • A DSH Web profile with the client module loader enabled.
  • Node.js 22.19 or newer, matching the current DSH development baseline.

Install

Install this package using the plugin/package mechanism used by your DSH profile, then restart the Web profile so the package metadata and lib/client.js bundle are discovered. The package declares:

{
  "dsh": {
    "client": {
      "platform": "web",
      "inject": [
        "@deepseek-ai/dsh-client-runtime",
        "@deepseek-ai/dsh-client-locale"
      ]
    }
  }
}

For a source checkout, make sure the published lib/client.js file is present before starting the Web profile. Run the package check with:

npm run check

Local routes

The Host half registers same-origin /addons/* routes:

  • GET /addons/health
  • GET /addons/archive/list
  • POST /addons/archive/archive
  • POST /addons/archive/restore
  • GET /addons/image-capability
  • POST /addons/upload
  • GET /addons/usage/summary

Uploads are limited to 100 MiB and filenames are sanitized before being written below the DSH home. Usage data is read locally from DSH session logs; this plugin does not make network requests.

Development

The browser bundle in lib/client.js is intentionally committed because DSH's Web host serves built client bundles. Keep the Host and Client halves compatible with the DSH version you are using, and run npm run check before publishing.

Please do not commit session logs, uploaded files, credentials, generated task state, or backup files.

License

MIT

上一个 Prev dsh-agent-memory 下一个 Next dsh-token-heatmap