跳到正文
cccskills
免费在 GitHub 公开

drive-desktop-cdp

Control a running OpenWork app from the shell to inspect UI changes and reproduce chat states. Start fresh sessions, select models, send prompts, wait for completion, capture screenshots, and run JavaScript, with no visible window by default.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Drive the running OpenWork app over CDP from the shell, headless by default (nothing opens on screen). Evaluate JS, take screenshots, open a new session, send a prompt with a chosen model, wait for the run to finish. Use when checking a UI change by hand in a world or pnpm dev, or when reproducing a chat state.

查看安装方法

适用场景

  • Inspecting an OpenWork UI change
  • Reproducing a chat state in a fresh session
  • Capturing screenshots after a model finishes
  • Checking page content with JavaScript

包含的文件(2)

  • SKILL.md2.4 KB
  • scripts/cdp.mjs6.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Drive the app over CDP

For verdicts, write or run an evals/core journey or evals/proofs proof (write-a-spec, run-tests). This skill is for checking changes by hand and reproducing states quickly.

Find the app

Default to the app in headless Chrome. It runs this checkout (Vite hot reload included) and opens nothing on the developer's screen:

pnpm world up dev-app-web --detach -- --browser   # prints webUrl and cdp http://127.0.0.1:<port>
pnpm world down dev-app-web                        # when you are done

Use a desktop window only when the change needs the desktop shell (titlebar, native menus, deep links, the built-in browser pane, updater, quit and relaunch) or the user asks for it. A desktop window opens and takes focus on this computer:

  • pnpm dev: CDP on http://127.0.0.1:9823.
  • pnpm world up live-desktop -- --allow-shared-state prints cdp http://127.0.0.1:<port> and uses the real installed profile.

Set CDP_URL to the address the world printed for every command.

Commands

S=.opencode/skills/drive-desktop-cdp/scripts/cdp.mjs
export CDP_URL=http://127.0.0.1:55322

node $S new-session                                 # always start a fresh session first
node $S send "Claude Opus 5.5" "Say hello"          # pick the model by its picker name, then send
node $S wait-idle 180                               # until the Run task button is back
node $S shot /tmp/after.png                         # screenshot of the whole page
node $S eval 'document.querySelector("main")?.innerText.slice(-500)'

Rules

  • Never type into an existing session: run new-session first. The app can switch sessions on its own between commands.
  • A world started with --allow-shared-state uses your real config and history. Anything you send is real.
  • Reload after state-heavy changes: node $S eval 'location.reload(); 1'.
  • Read stored v2 history when the UI hides something: sqlite3 ~/.config/openwork/opencode-v2/state/opencode.db "select type, substr(data,1,300) from session_message where session_id='<id>' order by seq".

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Manage OpenWork feature releases with feature flags, switches that control access to new behavior. Register features before coding, release them by organization and deployment, prepare a global shutdown option, and remove temporary flags after rollout.

中文简介正在准备中。当前显示英语简介。

  • Registering a feature before implementation
  • Releasing a feature to selected organizations
  • Separating cloud and self-hosted availability
different-ai/openwork2.4万2026年10月19日 更新

Connect OpenCode browser tools to a locally running OpenWork Electron app to inspect its UI, enter a task, and check the response. This skill supports exploration and debugging through CDP, Chrome's remote control protocol.

中文简介正在准备中。当前显示英语简介。

  • Connecting browser tools to a local Electron development app
  • Inspecting screen state during debugging
  • Entering a task in the composer and running it
different-ai/openwork2.4万2026年10月19日 更新

Check added lines in a change for information identifying customers, prospects, partners, or outside individuals. Report locations and generic remediation without reproducing identities, and escalate cases where the information is already public.

中文简介正在准备中。当前显示英语简介。

  • Checking changes for customer and partner identities
  • Reviewing documents and test data for identifying details
  • Reporting disclosure locations without repeating identities
different-ai/openwork2.4万2026年10月19日 更新

Connects supported AI clients, including Claude Code and Codex, to OpenWork through MCP, a protocol for accessing external tools. It guides account sign-in and verifies that tools for finding and running organization capabilities are available.

中文简介正在准备中。当前显示英语简介。

  • Connecting an AI client to OpenWork organization resources
  • Signing in and verifying available MCP tools
  • Switching organizations or troubleshooting authentication
different-ai/openwork2.4万2026年10月19日 更新

Review an outside contributor’s pull request before running its code. Identify concealed behavior, obfuscated code, risky dependencies, and build hooks, with file locations and specific checks for maintainers to follow up.

中文简介正在准备中。当前显示英语简介。

  • Screening an outside contributor’s pull request before execution
  • Checking encoded code and unexplained network calls
  • Reviewing dependency changes and installation scripts
different-ai/openwork2.4万2026年10月19日 更新

Create an OpenCode plugin for OpenWork with custom tools and hooks, which run code at specific events. The skill builds the plugin file and adds its entry to the project configuration.

中文简介正在准备中。当前显示英语简介。

  • Adding custom tools to OpenWork
  • Creating a plugin to save and list notes
  • Running custom code before or after tool execution
different-ai/openwork2.4万2026年10月19日 更新

查看 different-ai 的全部技能

报告此技能的问题