🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

多模态生成工具 xiaokaizhou/dsh-llm-multimodal

DeepSeek Harnessv0.2.0
xiaokaizhou43 天前有提交已提供中文文档扫描:含敏感能力

在聊天中生成图像、视频、语音与音乐

29/100
综合分
1
GitHub 星标
60
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-llm-multimodal
npm 源 · dsh-llm-multimodal 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 43 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
要求 Node:^22.19.0 || >=24.0.0(dsh 本身要求 Node ≥ 22.19)
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-llm-multimodal @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 08:35:15

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 22 处,展示前 19 条)
  • 读取本地文件
    lib/index.js:197
    const raw = await readFile(defaultSettingsPath(), "utf8");
  • 发起网络请求
    lib/index.js:230
    const r = await fetch(url, { ...opts, signal: ctrl.signal });
  • 读取本地文件
    lib/index.js:605
    else if (img.startsWith("/") && existsSync(img)) localPath = img;
  • 读取本地文件
    lib/index.js:608
    const st = statSync(localPath);
  • 读取本地文件
    lib/index.js:613
    const buf = await readFile(localPath);
  • 写入本地文件
    lib/index.js:661
    await mkdir(dirname(dest), { recursive: true });
  • 发起网络请求
    lib/index.js:662
    const r = await fetch(url, { signal });
  • 写入本地文件
    lib/index.js:665
    await writeFile(dest, buf);
  • 读取本地文件
    lib/index.js:696
    const raw = await readFile(voiceStorePath(), "utf8");
  • 写入本地文件
    lib/index.js:706
    await mkdir(dirname(p), { recursive: true });
  • 写入本地文件
    lib/index.js:707
    await writeFile(p, JSON.stringify(store, null, 2), "utf8");
  • 发起网络请求
    lib/index.js:769
    const r = await fetch(s, { signal });
  • 读取本地文件
    lib/index.js:774
    return { buf: await readFile(p), ext: audioExtFromName(p) };
  • 发起网络请求
    lib/index.js:781
    const res = await fetch(target.baseURL.replace(/ +$/, "") + "/files/upload", {
  • 发起网络请求
    lib/index.js:801
    const res = await fetch(base + "/voice_clone", {
  • 发起网络请求
    lib/index.js:822
    const pr = await fetch(base + "/voice_clone/" + encodeURIComponent(voiceId), {
  • 写入本地文件
    lib/index.js:944
    await mkdir(dirname(dest), { recursive: true });
  • 写入本地文件
    lib/index.js:946
    await writeFile(dest, buf);
  • 发起网络请求
    lib/client.js:290
    const data = await (await fetch("/api/llm-multimodal/models", { method: "GET" })).json();
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-settings@deepseek-ai/dsh-tools@deepseek-ai/schemastery@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 聊天中生成图像
  • 聊天中生成视频
  • 兼容OpenAIAPI

DSH 插件:在聊天中提供图像/视频生成工具,基于 OpenAI 兼容 API

README

由 DeepSeek 最新模型翻译生成
dsh-llm-multimodal DSH 插件:在聊天中提供文本、图像、视频、视觉理解、语音、音乐六个生成工具,基于 OpenAI 兼容 API。 generate_text / generate_image / generate_video / generate_vision / generate_tts / generate_music 六个工具会自动从 llm-pi-ai 设置中识别可用模型:模型 id 包含 image / flux / dall / imagen / sdxl / realesrgan / juggernaut / photoreal / video / sora / seedance / kling / veo / runway / pika / wan / ltx / cogvideox / seedvr / musetalk / lipsync / vision / qwen-vl / llava / internvl / pixtral / glm-4v / tts / speech / voice / minimax / voxcpm / cosyvoice / music / song / lyric 等关键词时,工具即可使用。
展开完整文档(README 剩余 1 节)
dsh-llm-multimodal

DSH 插件:在聊天中提供文本、图像、视频、视觉理解、语音、音乐六个生成工具,基于 OpenAI 兼容 API。

generate_text / generate_image / generate_video / generate_vision / generate_tts / generate_music 六个工具会自动从 llm-pi-ai 设置中识别可用模型:模型 id 包含 image / flux / dall / imagen / sdxl / realesrgan / juggernaut / photoreal / video / sora / seedance / kling / veo / runway / pika / wan / ltx / cogvideox / seedvr / musetalk / lipsync / vision / qwen-vl / llava / internvl / pixtral / glm-4v / tts / speech / voice / minimax / voxcpm / cosyvoice / music / song / lyric 等关键词时,工具即可使用。

配套插件(互推)

本插件与同作者的另外两个 DSH 插件组成「生成 → 编排 → 预览」完整闭环,建议一起安装:

| 插件 | 角色 | npm |
| dsh-media-studio | 多项目无限画布:把生成的媒体落到画布节点、素材库与全局搜索;canvas_refresh_node 会回调本插件的生成工具 | npm: dsh-media-studio |
| media-preview | 把聊天中的本地/在线媒体路径渲染为可播放预览(Range / 缓存 / 27 种格式) | npm: media-preview |

- 生成与编排:dsh-media-studio 发布跨插件服务 mediaStudio(软引用、无硬依赖)。本插件的 generate_image / generate_video / generate_tts / generate_music 默认 outputStrategy=project —— 产物直接写进活跃 media-studio 项目的 <sourcePath>/assets/<类别>/(图片默认 character、可传 asset_kind=scene;视频 clip;音频 audio),结果附带 projectId + canvasUrl,canvas_graph_patch 的 batchAddMedia 可一步挂到画布节点。media-studio 服务缺失或无活跃项目时自动回退 outputDir(空 → /tmp),安装顺序无关。
- 预览:media-preview 负责把本插件产出的 file:// 路径在聊天里渲染为内联 // 预览组件。

安装

进入 DSH web profile
cd ~/.dsh/profiles/web

方式一(推荐):dsh 官方命令(自动写入 bundles 与 cordis.patch.yml)
dsh plugin --profile web add xiaokaizhou/dsh-llm-multimodal

方式二:pnpm 直装(需手动补一步,见下方说明)
pnpm add xiaokaizhou/dsh-llm-multimodal

package.json 位于 DSH profile 根目录:

- 默认路径:~/.dsh/profiles/web/package.json(macOS / Linux)
- Windows:%USERPROFILE%\.dsh\profiles\web\package.json
- 自定义路径:$DSH_HOME/profiles/web/package.json
- 如有多个 profile,对应路径为 ~/.dsh/profiles/<profile-name>/package.json

方式二手动补全:在上面的 package.json 中添加:

"dsh": {
"profile": {
"bundles": [
"dsh-llm-multimodal"
]
}
}

源码修改后需重启 dsh web。

支持模型

图像生成

支持任何 OpenAI 兼容的 /images/generations 端点,已适配:

DALL-E / Flux / Imagen / Midjourney / SDXL / Kandinsky

视频生成

支持 OpenAI Sora 风格 /videos/generations 与 Agnes 风格 /videos,已适配:

Sora / Seedance / Kling / Veo / Runway / Pika / Hunyuan Video / CogVideo / MiniMax Hailuo
支持文生视频、图生视频(传 image)与关键帧模式(传 keyframes,首帧/尾帧映射到 provider 的 first_frame / last_frame);mode 可显式指定 text / keyframe / reference。duration 默认 5 秒(Agnes 2.5 Flash 接受 4–12),画幅走 size(OpenAI 用像素如 1280x720,Agnes 用档位如 720P);另有 negative_prompt。num_frames / frame_rate 已不再接受——帧数由 provider 决定。

视觉理解

generate_vision 走 OpenAI 兼容 /chat/completions 多模态内容协议(text + image_url),一次可传多张图(Data URI Base64、file:// 或绝对本地路径会自动转 Data URI):

GPT-4o Vision / Claude 3 Vision / Gemini Vision / Qwen-VL / LLaVA / InternVL / Pixtral / PaliGemma / GLM-4V / Mantis …

参数:prompt(必填)、images(支持多张)、model、system、max_tokens(默认 1024)、temperature(默认 0.2,偏事实型视觉问答)、top_p、detail(low 固定 85 token / high 分块计费,OCR 与细节场景用 high / auto 由模型决定)。

文本生成

generate_text 走 harness 的 LlmRuntime(ctx.llm.prepareCall),由 harness 内部多协议路由处理,协议不受 OpenAI 限制;model id 形如 <provider>/<model>。

配置说明

1. 在「设置 > 模型」中添加一个 provider,baseURL 指向你的 API 网关
2. 在模型 id 中包含 image / video 关键词,插件会自动识别
3. 设置 apiKeyEnv 环境变量,或在 provider 配置中直接填写 apiKey
4. 重启 dsh web

示例 llm-pi-ai 配置结构:

llm-pi-ai:
providers:
- id: openai
baseURL: https://api.openai.com/v1
apiKeyEnv: OPENAI_API_KEY
models:
- id: gpt-image-1
name: GPT Image
- id: agnes
baseURL: https://api.agnes.ai/v1
apiKeyEnv: AGNES_API_KEY
models:
- id: agnes-video-2.5
name: Agnes Video

使用方式

在 DSH 对话中直接调用工具:

- 生成文本:直接提问,助手会调用 generate_text
- 生成图像:描述你想要的画面,助手会调用 generate_image
- 生成视频:描述你想要的视频内容,助手会调用 generate_video
- 视觉理解:给出图片(路径或链接)并提问,助手会调用 generate_vision
- 生成语音/音乐:generate_tts(文本 → 语音)与 generate_music(音乐/BGM/音效,共用 OpenAI 兼容 /audio/speech 端点)

工具会自动从配置中发现可用模型,无需额外参数。

语音合成与音色克隆

- 生成语音:generate_tts(文本 → 语音)与 generate_music(音乐/BGM/音效,共用 OpenAI 兼容 /audio/speech 端点)
- 模型按模态分离:generate_tts 只用 TTS 类模型(id 含 tts/speech/voice/minimax/voxcpm/cosyvoice);generate_music 只用 music 类模型(id 含 music/song/lyric)。TTS 模型不会服务于 music,反之亦然
- OpenAI 协议:5 个多模态工具(image / video / vision / tts / music)走 OpenAI 兼容端点;provider 默认 apiProtocol: openai;显式配置为其他协议(如 claude)时工具会在调用前拒绝并给出可操作提示。generate_text 不在此列,它走 harness 的 LlmRuntime(ctx.llm.prepareCall),由 harness 内部多协议路由处理
- 预设音色:voice 参数填 MiniMax 预设 id(如 female-shaonv / male-qn-jingying),或直接填已克隆的 voice_id
- 角色专属音色(克隆):传 clone_audio(参考音频:本地路径 / file:// / http(s) URL / data:audio base64)+ voice_name(建议用角色名)
- 首次调用自动执行「上传音频 → 注册 voice_id → 用克隆音色朗读」
- 后续相同 voice_name 调用直接复用已克隆音色(持久化在 ~/.dsh/llm-multimodal-voices.json),零额外网络开销
- 可选 clone_voice_id 自定义 voice_id;output_format 支持 mp3 / wav / pcm / aac / flac / opus
- 需要 provider 支持 MiniMax 兼容的 files/upload + voice_clone 接口

输出路由(media-studio 集成)

安装 dsh-media-studio 后(默认 outputStrategy=project),生成产物不再写 /tmp,而是直接落盘到当前活跃 media-studio 项目:

<project sourcePath>/assets/characters/… # generate_image(默认 asset_kind=character,可传 scene/prop/conceptart/reference) <project sourcePath>/assets/clips/… # generate_video <project sourcePath>/assets/audio/… # generate_tts / generate_music

返回结果附带 projectId 与 canvasUrl;配合 media-studio 的 canvas_graph_patch batchAddMedia,媒体一步挂到画布节点。未安装 media-studio(或服务缺失 / 无活跃项目)时回退 outputDir 策略(默认 /tmp),零硬依赖。

想直接在聊天里看到这些本地产物的播放预览,另装 media-preview。

限制

- 当前版本自动 provider 配置界面已暂停;工具通过 llm-pi-ai 设置自动发现模型
- 视频生成采用轮询,最长等待约 10 分钟
- 需要 provider 支持 OpenAI 兼容接口(generate_text 除外,走 harness LlmRuntime 多协议路由)

打赏支持

若这个插件帮到了你,欢迎用下面的二维码请我喝杯咖啡。

微信支付

支付宝

License

MIT
预览分享卡片长什么样 ↓xiaokaizhou/dsh-llm-multimodal
分享 · DeepSeek Harness Hub
xiaokaizhou/dsh-llm-multimodal

在聊天中生成图像、视频、语音与音乐

这是你的仓库?认领条目

回到顶部