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

Grok 媒体生成 lsjspl/dsh-plugin-grok2api-media-tool

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

调用 Grok 生成图片视频并识别图像内容

32.5/100
综合分
3
GitHub 星标
180
npm 周下载
—/5
用户评分

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

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

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

✓npm 包dsh-plugin-grok2api-media-tool @ 0.8.1
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/16 13:43:36

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 19 处,展示前 19 条)
  • 读取本地文件
    index.js:131
    if (!existsSync(path)) return ''
  • 读取本地文件
    index.js:239
    if (!existsSync(path)) return {}
  • 读取本地文件
    index.js:240
    const text = readFileSync(path, 'utf8')
  • 写入本地文件
    index.js:333
    writeFileSync(path, yaml.dump(document), 'utf8')
  • 发起网络请求
    client.js:583
    const response = await fetch(`/grok2api-upload?name=${encodeURIComponent(file.name)}`, {
  • 发起网络请求
    api.js:71
    response = await fetch(`${cfg.baseUrl}${path}`, {
  • 读取本地文件
    media.js:109
    const bytes = await readFile(mediaPath)
  • 读取本地文件
    media.js:120
    const bytes = await readFile(path)
  • 写入本地文件
    media.js:140
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    media.js:143
    await writeFile(file, bytes)
  • 发起网络请求
    media.js:161
    const response = await fetch(url, {
  • 读取本地文件
    media-proxy.js:55
    return readFileSync(path)
  • 写入本地文件
    media-proxy.js:59
    mkdirSync(homeDir, { recursive: true })
  • 写入本地文件
    media-proxy.js:63
    writeFileSync(path, key, { mode: 0o600, flag: 'wx' })
  • 读取本地文件
    media-proxy.js:67
    return readFileSync(path)
  • 读取本地文件
    media-proxy.js:144
    const info = await stat(filePath).catch(() => undefined)
  • 读取本地文件
    media-proxy.js:159
    const stream = createReadStream(filePath)
  • 写入本地文件
    media-proxy.js:215
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    media-proxy.js:229
    writeFileSync(filePath, Buffer.concat(chunks))
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • 生成图片与视频
  • 识别图像内容

让 dsh 通过 grok2api 的 API 获得图片与视频生成能力(generate_image / generate_video)。

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-grok2api-media-tool 一个 dsh(DeepSeek Harness) 插件,让智能体通过 grok2api 生成图片/视频,并用 Grok 最新语言模型识别图片。当用户提出「画一张图」「做一个视频」「分析这张图片」等需求时,模型会调用插件提供的工具并返回可查看的结果。 功能 | 工具 | 说明 | | generate_image | 文生图:返回图片 URL,并可将图片保存到当前会话工作区 | | generate_video | 文生视频:创建异步任务并等待完成,返回视频 URL,并可保存到工作区 | | recognize_image | 识图:把本地图片、data URL 或图片 URL 发给 Grok 最新语言模型(默认自动选最新,可配置如 grok-4.6),返回模型对图片的描述/回答 | | 图片路径上传入口 | 聊天输入框左侧的 🖼️ 按钮:选择图片后上传到 dsh 本地,并把返回的本地路径插入输入框,供模型调用 recognize_image。
展开完整文档(README 剩余 1 节)
dsh-plugin-grok2api-media-tool

一个 dsh(DeepSeek Harness) 插件,让智能体通过 grok2api 生成图片/视频,并用 Grok 最新语言模型识别图片。当用户提出「画一张图」「做一个视频」「分析这张图片」等需求时,模型会调用插件提供的工具并返回可查看的结果。

功能

| 工具 | 说明 |
| generate_image | 文生图:返回图片 URL,并可将图片保存到当前会话工作区 |
| generate_video | 文生视频:创建异步任务并等待完成,返回视频 URL,并可保存到工作区 |
| recognize_image | 识图:把本地图片、data URL 或图片 URL 发给 Grok 最新语言模型(默认自动选最新,可配置如 grok-4.6),返回模型对图片的描述/回答 |
| 图片路径上传入口 | 聊天输入框左侧的 🖼️ 按钮:选择图片后上传到 dsh 本地,并把返回的本地路径插入输入框,供模型调用 recognize_image。纯文本主模型(如 DeepSeek)也能用——它收到的是文本路径,再由插件调 Grok 识图,不依赖主模型支持图片附件 |
| 路径识图 | 模型拿到图片路径后调用 recognize_image,由 Grok 最新语言模型进行多模态识别 |

支持两种 grok2api 后端(通过 apiFlavor 选择):

- chenyme(默认):Go 版 chenyme/grok2api
- aurora:旧 Python 版 aurora-develop/grok2api

安装

dsh plugin --profile web add dsh-plugin-grok2api-media-tool # 从 npm(推荐)
dsh plugin --profile web add github:lsjspl/dsh-plugin-grok2api-media-tool # 或从 GitHub

安装后重启 dsh web 生效。本地 tarball 等其他安装方式见 DISTRIBUTE.md。

配置

插件配置保存在 ~/.dsh/settings.yaml 的 grok2api-media-tool: 节,以下三种方式任选其一,效果相同,保存后即时生效(无需重启)。

方式 1:直接对话配置

在对话里直接提出即可,模型会调用 configure_grok2api 工具写入并生效:

- 「grok2api 复用 llm-pi-ai 里配好的 grok 提供商」
- 「把 grok2api 地址配成 http://192.168.1.100:8000,密钥 sk-xxx」
- 「生成的图片不要保存到工作区」

方式 2:复用已配置的 LLM 提供商

如果已在 dsh 的「模型」设置里配好 grok 提供商,插件可以直接复用它(地址、密钥、模型均取自该提供商),无需重复填写:

grok2api-media-tool:
apiSource: llm-provider
llmProvider: grok # llm-pi-ai.providers 下的键名(全局默认 provider)

三个用途(image / video / vision)还可以各自指定不同的 provider,例如识图用另一个 provider 的模型:

grok2api-media-tool:
apiSource: llm-provider
llmProvider: grok # 全局默认 vision: provider: grok-chat # 识图改用 grok-chat 的模型,留空则回退到 grok

方式 3:手工编辑配置文件

编辑 ~/.dsh/settings.yaml(Windows 为 %USERPROFILE%\.dsh\settings.yaml):

grok2api-media-tool:
baseUrl: http://192.168.1.100:8000
apiKey: sk-xxx
apiFlavor: chenyme

说明:dsh rc.7+ 在设置页开放了插件命名空间,本插件提供图形化配置表单(设置 → Plugins → 配置 → Grok2API Media Tool):可选 provider、各用途模型从 provider 的模型目录下拉选择(每用途可单独覆盖 provider),各超时也可调。表单改动保存后即时写入 settings.yaml。也可继续使用以上三种方式配置。

未填写的字段使用默认值。

| 键 | 默认值 | 说明 |
| baseUrl | http://127.0.0.1:8000 | grok2api 服务地址 |
| apiKey | '' | 客户端密钥;非空时以 Authorization: Bearer 发送 |
| apiKeyEnv | '' | 存放密钥的环境变量名(如 GROK_API_KEY);apiKey 为空时使用 |
| apiSource | manual | manual(使用本节字段)或 llm-provider(复用 llm-pi-ai 中的提供商) |
| llmProvider | '' | apiSource: llm-provider 时,llm-pi-ai.providers 下的键名(全局默认 provider) |
| apiFlavor | chenyme | chenyme(Go 版)或 aurora(Python 版) |
| image.enabled | true | 是否启用 generate_image |
| image.model | grok-imagine-image-quality | 图片模型;留空时按 apiFlavor 取默认,apiSource: llm-provider 时从 provider 模型目录派生 |
| image.provider | '' | 图片用途的 provider 覆盖(llm-pi-ai.providers 下的键名);空则用全局 llmProvider |
| image.timeoutMs | 180000 | 图片生成总超时(毫秒) |
| video.enabled | true | 是否启用 generate_video |
| video.model | grok-imagine-video | 视频模型;留空时按 apiFlavor 取默认,apiSource: llm-provider 时从 provider 模型目录派生 |
| video.provider | '' | 视频用途的 provider 覆盖;空则用全局 llmProvider |
| video.timeoutMs | 1200000 | 视频生成总超时(毫秒) |
| video.pollIntervalMs | 5000 | 视频进度轮询间隔(毫秒) |
| vision.enabled | false | 是否启用 recognize_image;关闭时聊天输入框左侧的 🖼️ 上传按钮也会一并隐藏 |
| vision.model | latest | 识图默认模型;latest 会查询 grok2api 的 /v1/models 自动选最新 Grok 语言模型(同一会话只查一次,失败回退 grok-4.6),也可直接填具体模型 id |
| vision.provider | '' | 识图用途的 provider 覆盖;空则用全局 llmProvider |
| vision.timeoutMs | 60000 | 识图单次请求超时(毫秒) |
| vision.bridgeToText | true | 是否把聊天上传的图片先用 Grok 转成文字,再交给纯文本主模型(如 DeepSeek);仅在「图片识别」启用时生效 |
| saveToWorkspace | true | 是否将生成的媒体下载到会话工作区 |
| saveDir | generated | 媒体保存子目录(相对工作区根) |
| requestTimeoutMs | 60000 | 单次 HTTP 请求超时(毫秒) |
| mediaDownloadTimeoutMs | 300000 | 单个媒体文件下载超时(毫秒) |

使用

在 dsh(Web 或 headless)中直接提出需求即可:

- 「帮我生成一张赛博朋克城市夜景图,16:9」
- 「做一个 8 秒的视频:一只橘猫在雪地里奔跑」
- 「生成 2 张水彩灯塔图片,保存到项目里」
- 「分析这张图片里有什么」/「识别 /path/to/image.png 里是什么」
- 点击聊天输入框左侧的 🖼️ 按钮,选择一张图片,插件会把本地路径插入输入框;发送后模型会调用 recognize_image 用 Grok 识别。该按钮仅在「图片识别」启用时显示(默认关闭,需在设置里勾选「图片识别」的启用)。

生成的图片会以内嵌卡片展示,视频可直接在对话中播放;本地保存的文件路径会以行内代码形式出现在回复里。识图结果会以普通文本返回。

限制

- 不支持流式图片与部分预览。
- 视频生成耗时较长,工具会等待完成。
- 生成的媒体通过 dsh 自身的 Web 服务提供给浏览器,支持局域网与 SSH 转发访问;历史会话中的媒体在重启后仍可查看。
- 保存到工作区的文件不会进入 dsh 的「产物(Produced)」列表,而是以本地路径形式出现在回复中。
- 纯文本主模型(如 DeepSeek)不支持原生图片附件(dsh 的限制)。要给这类主模型传图,请用聊天框左侧的 🖼️ 按钮(走 recognize_image 识图路径),不要直接拖拽/粘贴图片附件。

开发

node --check index.js && node test/smoke.mjs

发布与分发流程见 DISTRIBUTE.md。
预览分享卡片长什么样 ↓lsjspl/dsh-plugin-grok2api-media-tool
分享 · DeepSeek Harness Hub
lsjspl/dsh-plugin-grok2api-media-tool

调用 Grok 生成图片视频并识别图像内容

这是你的仓库?认领条目

回到顶部