DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-os-agent-plugin

Os Agent Plugin

适用于 DeepSeek Harness 的自包含 Volcengine Mobile Use Agent 运行时和配置界面。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:chenjie1129/deepseek-harness-os-agent-plugin#90416ff7a9faf45d581f9e33d7c22e331e7ea9cf
README兼容性版本

兼容性与来源证明

Os Agent Plugin 以 dsh-os-agent-plugin 发布,当前版本为 0.3.7。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.3.7stable
2026/8/24
0.2.0stable
2026/8/21

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Headless@deepseek-ai/dsh-headlessdsh one-shot bundle:基于 dsh-base 的直接核心 Agent/Session 运行器,不包含 Host、HTTP 或浏览器层Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序Subagent Claude Code@deepseek-ai/dsh-subagent-claude-code基于官方 Agent SDK 的一次性 Claude Code 子代理提供方

README

OS Agent Plugin

English | 中文

Give your DeepSeek Harness agent a real phone. This is a self-contained Harness plugin for Volcengine Mobile Use Agent: one installed package contributes both the Cordis runtime and its browser configuration surface, so your model can drive a cloud phone in natural language. It does not require patches or copied files in the Harness repository.

You:    Open the shopping app, search for wireless earbuds, and report the top 3 prices.
Agent:  mobile_use_start_task  → RunId: run-8f2c...
        mobile_use_get_status  → step 7/100, tapping search result
        mobile_use_get_result  → "1. ¥299  2. ¥349  3. ¥429"

Why this plugin

  • No device lab. Volcengine hosts the phone; you need no USB cable, emulator, or Appium grid.
  • No Harness fork. Installs as an external dual-face plugin — no patch, no vendored files.
  • Natural language in, result out. Three tools cover the whole run lifecycle.
  • Visual evidence in Harness. An opt-in switch shows validated step screenshots beneath status and result calls.
  • Credentials stay server-side. AccessKey and Secret Key are write-only in the browser and live in the Harness credential store.

Architecture

OS Agent Plugin architecture

LayerWhat it does
index.jsRegisters settings, the system-prompt section, and the three model-facing tools
volcengine.jsSigned (HMAC-SHA256) transport for the Mobile Use OpenAPI
screenshots.jsRedacts base64 response fields and persists validated images as Harness attachments
web-config.js + src/clientSettings → Plugins → OS Agent configuration tab
cordis.patch.ymlMounts the Node runtime into Harness

Quick start

Five minutes from zero to your first cloud-phone run.

1. Prepare Volcengine (once)

  1. Enable Mobile Use Agent on your Volcengine account.
  2. Create or pick a cloud phone, and note its Product Id and PodId.
  3. Create an AccessKey / Secret Key pair with permission to operate that cloud phone.

2. Install the plugin

From any directory with the dsh CLI available:

pnpm dsh plugin --profile web add git+https://github.com/chenjie1129/deepseek-harness-os-agent-plugin.git
pnpm dsh --profile web --dump-config
pnpm dsh --profile web

3. Configure it in the browser

Open the URL printed by Harness, then go to Settings → Plugins → OS Agent and fill in AccessKey, Secret Key, Product Id, and PodId. Turn on Show task screenshots if you want visual evidence in the Harness conversation; it is off by default.

4. Run your first task

Ask your Harness agent, in plain language:

Use the cloud phone to open Settings and tell me the Android version.

The agent calls mobile_use_start_task, keeps the returned RunId, polls mobile_use_get_status, and reports what mobile_use_get_result returns. That is the whole loop.

Prefer to verify credentials without an agent? Run the headless smoke script:

VOLC_ACCESSKEY=... VOLC_SECRETKEY=... \
OS_AGENT_PRODUCT_ID=... OS_AGENT_POD_ID=... \
node examples/headless-run.mjs "Open Settings and report the Android version"

Examples

Copy-paste recipes live in examples/:

RecipeScenario
App regression walkthroughDrive a sign-up or checkout flow end to end, with screen recording
App store competitive scanSearch the store and extract ranking or pricing data
Cross-app data handoffMove content between two apps and verify it arrived
headless-run.mjsStart → poll → result, without Harness, for credential checks

Tools

ToolPurposeKey arguments
mobile_use_start_taskStart one Mobile Use run, return its RunIdtask (required), run_name, thread_id, screen_record
mobile_use_get_statusRead the run's current steprun_id (required)
mobile_use_get_resultFetch the completed resultrun_id (required)

screen_record: true requires the TOS options below.

Configuration

Configured under Settings → Plugins → OS Agent.

FieldNotes
AccessKey / Secret KeyDefault to the VOLC_ACCESSKEY and VOLC_SECRETKEY credential references; write-only in the browser
Product Id / PodIdSelect the cloud-phone business and instance
Max stepsInteger, 1–500 (default 100)
TimeoutSeconds, 1–86,400 (default 120)
SystemPromptOptional extra instruction passed to Mobile Use
Show task screenshotsOff by default; captures step screenshots and shows validated attachments below status/result calls
TOS bucket / endpoint / regionOptional, but all three must be set together; required for screen recording

The Volcengine account must have Mobile Use Agent enabled and permission to operate the configured cloud phone. TOS must be accessible when screen recording is requested.

Task screenshots

When Show task screenshots is on, new start requests set Volcengine's UseBase64Screenshot option. The plugin polls ListAgentRunCurrentStep in the background and preserves each distinct current-step snapshot as an ordered, visible task history. On completion it calls GetAgentResult with the documented IsDetail=true flag, which returns the run's complete ScreenShots collection rather than the default text-only result. The plugin accumulates and deduplicates those images, removes base64 and signed screenshot URLs from text output, validates PNG/JPEG/WebP/GIF bytes through Harness, and stores them as durable attachments.

When Volcengine returns a signed download URL instead of inline base64, the plugin downloads it server-side only over HTTPS from an allowlisted volces.com host, without forwarding credentials or the URL to the model. A bounded copy of validated preview data is persisted only in Tool presentation metadata for the clickable Web UI gallery; the model-facing Tool result remains text-only, so text-only DeepSeek adapters keep working. The result card shows both the ordered snapshots captured while the task ran and Volcengine's reported TotalSteps.

Volcengine's CallbackInfo is not a step-history or screenshot API: its documented callbacks report lifecycle status, failure, and interruption events. A callback receiver can be useful for a publicly reachable server, but it cannot replace IsDetail=true for screenshots or ListAgentRunCurrentStep snapshots for action history. This local Harness plugin therefore does not expose port 3080 as a public callback target.

The switch affects tasks started after it is enabled. Harness deployment image-count and byte limits still apply; the text result reports when images were absent, rejected, or capped. This feature is independent of screen_record and does not require TOS unless recording is also requested.

Compatibility

Integration-tested with DeepSeek Harness 0.1.1-rc.2, using extension surfaces also present in 0.1.0-rc.5. Node.js ^22.19.0 || >=24.0.0 is required. The package uses Harness's external dual-face plugin protocol: cordis.patch.yml mounts the Node runtime, while dsh.client publishes the prebuilt browser module.

Troubleshooting

MessageFix
OS Agent Plugin is not configured: AccessKey is missing.Set AccessKey in the settings tab, or provide the VOLC_ACCESSKEY credential
... Product Id is missing. / ... PodId is missing.Both are required before starting a task
TOS bucket, endpoint, and region must be configured together.Set all three, or clear all three
Screen recording requires TOS bucket, endpoint, and region.Configure TOS before passing screen_record: true
Screenshot count is 0Enable Show task screenshots, save, then start a new task; keep Harness running until the task completes so the plugin can request GetAgentResult?IsDetail=true
A screenshot was rejected or cappedCheck the Harness attachment image type, count, byte, and pixel limits
Volcengine Mobile Use API rejected the request (...)Check that Mobile Use Agent is enabled and the key can operate that PodId

Uninstall

pnpm dsh plugin --profile web remove dsh-os-agent-plugin

Development and verification

The repository installs, builds, and tests without a parent Harness checkout:

corepack pnpm install
pnpm build
pnpm test
pnpm audit --audit-level high

The committed lib/client.js is required for Git installation. GitHub Actions repeats the standalone checks and installs the packed artifact into a clean, pinned Harness checkout on every push and pull request.

References

  • Volcengine Mobile Use Agent product page
  • Mobile Use OpenAPI
  • RunAgentTaskOneStep (UseBase64Screenshot)
  • ListAgentRunCurrentStep
  • GetAgentResult
  • Task status callback
  • Python sample

License

MIT