DeepSeek Harness 插件:本地 rembg GPU 抠图工具

前言

DeepSeek Harness(DSH)的 Agent 擅长处理文字,但在对话中处理图片往往需要把文件拖出去、用外部工具处理、再把结果拖回来。h-table/dsh-bg-tool 插件将这个流程收进了对话本身。它基于本地 rembg 和 BiRefNet,提供 remove_background 工具,让 Agent 直接调用,处理后的透明背景 PNG 会写入工作区,全程不离开 Harness,图片不出本机,无需 API Key。

核心功能

  • 对话内直接抠图:把图片放进会话工作区,Agent 调用 remove_background,透明背景 PNG 直接写入输出目录。
  • 三档模型按需切换:提供 general(任意物体/商品)、portrait(人物/头发/证件照)、fast(快速草稿)三档模式。
  • 全本地 GPU 推理:BiRefNet 以 fp16 运行并做了 CUDA 调优,无需网络请求。
  • 服务器生命周期自管理:DSH 启动时自动拉起本地 rembg 服务,插件停止时自动回收。
  • 官方同款插件配置卡片:设置 → 插件 → 插件配置 → 「背景抠图」,支持模型映射、输出目录、自动启动开关。

环境准备

插件依赖本地环境,需准备 .bg-tools/ 目录(Python venv + 模型文件 + bg_server.py)。

  • 系统要求:Windows + NVIDIA GPU + CUDA 13。
  • 目录结构:
    .bg-tools/
    ├── venv/           # Python 虚拟环境(含 rembg、onnxruntime-gpu)
    ├── models/         # 模型文件(BiRefNet fp16、u2netp 等)
    ├── bg_server.py    # 本地 rembg HTTP 服务
    ├── start-server.ps1 # 手动启动脚本(可选)
    └── output/         # 默认输出目录
  • 路径解析顺序:$DSH_BG_TOOL_ROOT > $DSH_HOME/.bg-tools > 旧版工作区路径。

安装与启用

在本机 profile 的 package.json 中添加依赖和 bundle 引用:

// ~/.dsh/profiles/web/package.json
"dependencies": { "@local/dsh-bg-tool": "link:<本仓库目录>" },
"dsh": { "profile": { "bundles": ["@local/dsh-bg-tool"] } }

安装后建立 node_modules/@local/dsh-bg-tool 到本仓库目录的符号链接,重启 Web Profile 即可生效。

使用方法

插件为每个会话注册 remove_background 工具。调用时需提供 image_path(绝对路径,使用正斜杠)和 mode(general / portrait / fast),可选 output_name。

示例:

把 workspace 里的 DSH娘.png 去掉背景,用 portrait 模式。
把这个商品图抠出来,输出到 output 目录,命名 product_1.png。

Agent 会返回 output_path,打开该路径即可看到透明背景 PNG。

配置说明

在设置 → 插件 → 插件配置 → 「背景抠图」卡片中,可配置以下项:
* generalModel:通用模型(默认 birefnet-general)。
* portraitModel:人像模型(默认 birefnet-portrait)。
* fastModel:快速模型(默认 u2netp)。
* outputDir:输出目录(默认 .bg-tools/output)。
* autoStartServer:自动启动 GPU 服务(默认 true)。

注意事项

  • 首次加载:首次调用某个模型约 7 秒(加载进显存),之后热调用约 1 秒/张。
  • 路径限制:image_path 需是 Agent 可读的绝对路径,输出文件名里的 \ / 会被替换成 _。
  • 故障排查:若返回「rembg 服务无法启动」,请检查 .bg-tools 的 venv / models 是否完整,或手动运行 start-server.ps1 查看日志。

项目链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜