DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Grok Byapi — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
G

dsh-grok-byapi

Grok Byapi

DeepSeek Harness 的原生 Grok:通过任何兼容 OpenAI 的 Grok 网关提供聊天、图像和视频生成、TTS,以及持久化的本地媒体任务。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:NingYuanLee/dsh-grok-byapi#59e6d46f34a30a2029f83ce5fa358c3b984c4b4a
README兼容性版本
Plugin list with dsh-grok-byapi installedPlugin settings in the English UI with both components runningA curling sheet of paper and a glass sphere reflecting cyan lightThe same subject under a warm lamp, with an arc of light leaving the sphereThe paper slowly curls while a cyan light drifts from the sphere

兼容性与来源证明

Grok Byapi 以 dsh-grok-byapi 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/19

版本

0.2.1stable
2026/10/19
0.2.0stable
2026/10/19
查看其余 4 个版本收起版本
0.2.0-alpha.3prerelease
2026/10/19
0.2.0-alpha.2prerelease
2026/10/18
0.2.0-alpha.1prerelease
2026/10/17
0.1.0-localprerelease
2026/10/17

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/19
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 vision-media 分类下经过校验的插件。

Experimental Voice Input Bundle@deepseek-ai/dsh-experimental-voice-input-bundle实验性语音输入,使用本地 SenseVoice;首次使用时下载其运行时Modlens@liustack/modlens面向仅支持文本的 LLM 的插件视觉能力,由免费的 Antigravity CLI 提供支持Ab Ocrdsh-ab-ocr--- description: "外部 ocr 工具:逐页识别扫描的 PDF 或图像,仅在处理完最后一页后按顺序合并页面,并使用模型确定的标题级别保存为一个 Markdown 文档。" kind: "package-reference" ---Tool Describe Image@linxin666/dsh-tool-describe-image面向模型的 describe_image 工具,用于 dsh Web GUI:通过在兼容 OpenAI 的端点调用视觉语言模型,为文本模型提供图像理解能力,以描述一张图像(本地路径、http(s) URL 或附件引用)。可热插拔 —

README

Grok ByAPI for DeepSeek Harness

dsh-grok-byapi

Native Grok for DeepSeek Harness: a chat provider plus image, video, and TTS tools over your own OpenAI-compatible Grok gateway.

English | 中文

0.2.1 on npm latest. Chat routing still depends on the dsh 0.2.1-rc.2 adapter registration; rerun integration tests after a host upgrade. See VALIDATION.md.

One plugin, one gateway connection. Chat models appear in the model picker; image, video, and TTS models stay out of it and are used through tools instead. Any chat model — Grok or another provider — can call those tools. The plugin talks to a Grok gateway you already run (CLIProxyAPI by default), keeps the API key in the dsh credential service, and saves generated media locally. It is not an OAuth client, does not provide an account or quota, and does not read the Grok CLI OAuth token.

Demo

Plugins pageSettings page
Plugin list with dsh-grok-byapi installedPlugin settings in the English UI with both components running

Both stills below were generated by this plugin with grok_generate_image and grok-imagine-image-2.0. They are not composited afterward:

Cool stillWarm still
A curling sheet of paper and a glass sphere reflecting cyan lightThe same subject under a warm lamp, with an arc of light leaving the sphere

This GIF is a 4-second grok_generate_video clip. It is not a frame-by-frame animation of the still above:

The paper slowly curls while a cyan light drifts from the sphere

Features

AreaCurrent scope
Chat providerRegisters a native dsh LLM provider: route xAI-CLIProxyAPI, display name Grok. Streaming text and tool calls go through the official pi-ai adapter.
Model catalogGET /models discovery, auto-categorized as chat, image, video, speech, research, or unknown. Only chat models enter the picker; unknown models do not. Per-model overrides are available.
Settings pageConnection, API key, verification, timeout, the chat-model table (the picker's source of truth), and media-model selection. Copy follows the dsh language (English or Chinese).
Durable media tasksTask records are per session and survive restarts. Downloads write .part files and are renamed after validation. Storage is isolated by connection and task.
Results in chatTool result cards, file preview, and a sidebar player for MP4, MP3, and WAV. Tool cards and the player follow the dsh language.

Together, the plugin's two components register 10 tools. The plugin page has connection and model settings only. The grok-byapi detail lists chat and the catalog; the dsh-grok-imagine detail lists image, video, and speech:

ToolWhat it does
grok_modelsRefreshes the catalog and returns models grouped by capability. Optional verify_key checks address and key with one GET /models.
grok_generate_imageText to image: prompt, optional model, n (1–4, default 1).
grok_edit_imageImage to image: prompt plus image_url / image_urls (up to 5) or a saved image task.
grok_generate_videoText to video, or image to video when one still (image_url or a saved image task) is attached. duration is 1–15 seconds, default 2.
grok_edit_videoVideo to video: edit an existing video from a prompt (video_url or a saved video task).
grok_extend_videoContinues from the last frame and joins that to the original clip.
grok_speakText to speech saved as MP3: input, optional model and voice.
grok_media_listLists media tasks created in the current session.
grok_media_statusChecks a task and downloads the result when ready: task_id.
grok_media_retry_downloadRetries a failed download without regenerating: task_id.

Not provided: speech recognition, realtime voice, direct OAuth, and a live task dashboard. Video jobs are polled in-process after submit, but the result card does not refresh itself. Classification is rule-based, not a guarantee.

Compatibility

ComponentRequirementVerified
dsh>=0.2.1-rc.2 <0.3.0-0 via engines.dsh0.2.1-rc.2 end to end (chat, image, video, TTS, playback)
Node.js>=22.19.0Node 24 on Windows; CI runs Node 22.19 and 24 on Linux and Windows
GatewayOpenAI-compatible /v1 endpoint; CLIProxyAPI recommendedCLIProxyAPI v8.0.30
Other dsh 0.2.xInside the engines.dsh rangeNot individually verified

engines.dsh is the compatibility gate; peerDependencies pin the SDK packages the source uses but do not decide compatibility, so rerun the integration tests after a dsh upgrade. A direct xAI or other compatible endpoint can serve chat, but image, video, and TTS need the gateway to expose the matching Grok endpoints.

Install

From npm (recommended):

dsh --profile grok-byapi-test --from-default-profile web --dump-config
dsh plugin --profile grok-byapi-test add dsh-grok-byapi

That installs the current latest, which is 0.2.1.

From git, pinned to a tag:

dsh --profile grok-byapi-test --from-default-profile web --dump-config
dsh plugin --profile grok-byapi-test add "git+https://github.com/NingYuanLee/dsh-grok-byapi.git#v0.2.1"

--dump-config creates the profile from your default profile and prints the merged configuration without starting a server. dsh plugin add records the bundle in that profile — no manual YAML edit. The package has no prepare or postinstall script, so installation runs no build code and needs no allowBuilds entry.

From a GitHub Release tarball (once the release is published):

dsh plugin --profile grok-byapi-test add "https://github.com/NingYuanLee/dsh-grok-byapi/releases/download/v0.2.1/dsh-grok-byapi-0.2.1.tgz"

From local source (development):

git clone https://github.com/NingYuanLee/dsh-grok-byapi.git
cd dsh-grok-byapi
npm install --ignore-scripts
dsh --profile grok-byapi-test --from-default-profile web --dump-config
dsh plugin --profile grok-byapi-test add "$PWD"   # bash/zsh: "$(pwd)"

Start dsh with that profile:

dsh --profile grok-byapi-test --no-open

Keep the plugin in a dedicated profile until you are satisfied; this keeps the provider, tools, and settings out of your daily environment. For a fully isolated trial, point DSH_HOME at a scratch directory.

Update and uninstall

Updating a tag-pinned git install means removing it and adding the new tag; local installs update with git pull and npm install --ignore-scripts; tarball installs are removed and replaced with the new .tgz. Restart dsh afterwards.

dsh plugin --profile grok-byapi-test remove dsh-grok-byapi

Removing the plugin takes its layer out of the profile: the provider, the 10 tools, and its settings page are gone. Generated media and task records are not deleted — remove the data directory yourself if you want them gone. A credential created for the plugin is also not removed by uninstall; delete it in dsh if you no longer need it.

Configuration

Use the plugin settings page for normal setup. Manual configuration in the profile's cordis.patch.yml is possible but optional:

- id: grok-byapi
  name: dsh-grok-byapi
  config:
    connection:
      baseURL: http://127.0.0.1:8317/v1
      api: openai-responses
      apiKeyEnv: GROK_ALL_API_KEY
      timeoutMs: 60000
    media:
      imageModel: grok-imagine-image-2.0
      videoModel: grok-imagine-video-1.5
      speechModel: grok-tts
      dataDir: ''
KeyDefaultNotes
connection.baseURLhttp://127.0.0.1:8317/v1Gateway base URL. 127.0.0.1 is the machine running dsh; use your own HTTPS URL for a remote gateway.
connection.apiopenai-responsesChat protocol; openai-completions is the alternative.
connection.apiKeyemptyDirect key override for local testing; takes precedence over the credential. Leave empty in normal use.
connection.apiKeyEnvGROK_ALL_API_KEYCredential reference name in the dsh credential service.
connection.verifytrueVerify GET /models with the saved key when settings are saved.
connection.timeoutMs60000Request timeout in milliseconds (1000–600000).
media.imageModelemptyImage model used when a call omits model.
media.videoModelemptyVideo model used when a call omits model.
media.speechModelemptyTTS model used when a call omits model.
media.dataDiremptyMedia output directory; empty means $DSH_HOME/plugins/dsh-grok-byapi.
modelOverrides[]Per-model overrides written by the settings page: category, display name, image support, context window, max output, reasoning efforts. Applied on the next refresh.

The settings page writes the API key into the dsh credential service under the reference name above; the configuration keeps only the reference. Do not hand-write a key into YAML. The media model IDs in the example come from the test gateway — run grok_models and use the IDs your gateway reports.

Security and privacy

  • Network: only the gateway you configure. Discovery calls GET /models, chat uses the configured OpenAI-compatible route, and media tools call image, video, and TTS endpoints on the same base URL. No telemetry.
  • Credentials: the key lives in the dsh credential service; it is not written to YAML, logs, task records, or the repository. Third-party media downloads are requested without the gateway key.
  • Files: generated media goes to $DSH_HOME/plugins/dsh-grok-byapi (or media.dataDir). Task records may contain signed upstream URLs; treat them as private.
  • Not done by this plugin: reading or reusing the Grok CLI OAuth token, installing or running other plugins, fetching runtime dependencies at install time.

Installing any dsh plugin runs third-party code with your user permissions, and tool approvals do not sandbox plugin code — review the source before installing. Please report security issues through SECURITY.md.

Usage

  • Chat: choose Grok in the model picker. Only chat models are listed; the settings page's model table is what the picker shows, so delete a row and save to hide that model.
  • Images: one call generates and saves; inline the result with an absolute local path — ![alt](<D:/path/result-1.png>). dsh Web serves it through /api/file; the limit is 20 MiB per file.
  • Video: submits a job (1–15 s). Call grok_media_status with the returned task_id until saved or failed; submission-unknown means do not submit again. There is no automatic polling or completion notification.
  • Speech: grok_speak writes an MP3; grok_media_retry_download retries only the download and never regenerates.
  • Display: video and audio appear in the tool result card player. Do not inline them with Markdown image syntax — the chat does not render them and shows a broken image instead.

Troubleshooting

Installation is successful when all four checks pass:

  1. dsh --profile grok-byapi-test --dump-config lists the grok-byapi layer.
  2. The Plugins page shows this plugin with both components (the provider and dsh-grok-imagine) running.
  3. grok_models returns categorized model IDs.
  4. After dsh plugin --profile grok-byapi-test remove dsh-grok-byapi, the layer and components are gone.
SymptomFix
dsh plugin add fails or reports 404Install dsh-grok-byapi@0.2.1 from npm, or use the git / tarball path above.
Plugin is listed but does not loadYour dsh is outside >=0.2.1-rc.2 <0.3.0-0. Upgrade to a 0.2.x build.
401 or 403 in settingsWrong key or base URL. Re-save the key and check the /v1 suffix.
Connection refused or timeoutGateway not running or unreachable; 127.0.0.1 means the dsh host.
No Grok models in the picker/models returned nothing classified as chat; refresh grok_models and add overrides.
Model not discovered or wrong categoryRefresh grok_models, then correct the category in the settings page.
Image, video, or TTS fails while chat worksThe gateway does not expose the matching Grok endpoints; the plugin cannot add them.
Video stays generatingQuery grok_media_status; do not resubmit a submission-unknown task.

More measured behavior and limits: VALIDATION.md.

Development

npm install --ignore-scripts
npm test             # 70 automated tests
npm run check        # syntax checks for the source files
npm run build        # rebuilds lib/client.js from src/client.js
npm pack --dry-run

CI (.github/workflows/ci.yml) runs on Linux and Windows with Node 22.19 and 24: install, tests, syntax checks, build, a check that lib/client.js matches the build output, and a pack dry run. Pushing a v* tag runs .github/workflows/release.yml, which verifies that the tag matches package.json, repeats the checks, attaches the packed tarball to a GitHub Release, and publishes to npm only if an NPM_TOKEN secret is configured. npm publishing is currently blocked, so releases are git/tarball only. See ROADMAP.md for planned work and CHANGELOG.md for changes.

Community, license, and disclaimer

  • Bugs and feature requests: Issues (bug report and feature request templates are provided).
  • Security: SECURITY.md — please use GitHub's private vulnerability reporting.
  • License: MIT. Copyright (c) 2026 NingYuanLee.
  • Repository: https://github.com/NingYuanLee/dsh-grok-byapi. This is a community plugin project, not an official DeepSeek or xAI product. "ByAPI" means the plugin reaches Grok through your own API gateway; it does not implement every Grok web feature.