Skip to main content
Glama
dsh-computer-use-mcp

dsh-computer-use-mcp

by huiliyi37

dsh-computer-use-mcp

英語 | 中文

スタンドアロンの Model Context Protocol サーバーで、macOS と Windows 向けのデスクトップ GUI 自動化(「コンピューターユース」)を公開します。任意の MCP ホストがこれを駆動できます: DeepSeek Harness (dsh)、Claude Code、Cursor、その他すべての MCP クライアント。

1つのツール computer_use には23のアクションがあります: 番号付き参照を持つアクセシビリティツリースナップショット、クリック / ドラッグ / タイプ(CJKはクリップボード経由)/ ホットキー、アプリの起動とフォーカス、メニュー選択、スクリーンショットアーティファクト、そしてブラウザタブ用の Chrome DevTools Protocol 高速パス。

ハイライト

  • アクセシビリティ優先 — スナップショットは番号付きツリーを返し、後続のすべてのアクションは壊れやすい座標ではなく参照で要素を指定します。

  • クロスプラットフォーム — macOS(AppleScript/JXA 経由の AX API)と Windows(マネージドフォールバック付きの UIA3 COM 高速パス)。

  • ブラウザ CDP 高速パス — Chrome 系ターゲットは自動的に DevTools セッションに切り替わり、サブ秒のスナップショットとオクルージョン耐性のある入力(navigate / read_page / js_eval / tabs)を実現します。

  • スクリーンショットを画像アーティファクトとして — ビジョンモデルは PNG を受け取ります。ファイルは監査用に CU_HOME の下に永続化されます。

  • 安全レールを内蔵 — 静的 danger-guard が危険なスクリプトペイロードを傍受します。アプリごとの「常に許可」グラントは所有テーブルに永続化されます。

インストール

Node ≥ 20.

npm install -g dsh-computer-use-mcp   # then run: dsh-computer-use-mcp
# or one-shot:
npx -y dsh-computer-use-mcp

ホストに接続する

DeepSeek Harness (dsh)

dsh は @deepseek-ai/dsh-mcp-client を通じて MCP サーバーをブリッジします。dsh/computer-use.cordis.yml にある既製のオーバーレイを渡してください:

dsh --profile <name> --patch /path/to/dsh-computer-use-mcp/dsh/computer-use.cordis.yml

モデルはツールを mcp__computer-use__computer_use として認識します。統合がキーレスであることを証明するスモークテストについては dsh/README.md を参照してください。

Claude Code

claude mcp add computer-use -- npx -y dsh-computer-use-mcp

Cursor / 汎用 mcpServers JSON

{
  "mcpServers": {
    "computer-use": { "command": "npx", "args": ["-y", "dsh-computer-use-mcp"] }
  }
}

computer_use ツール

単一のツールで、action によってディスパッチされます。完全な JSON スキーマは tools/list で提供されます。

グループ

アクション

読み取り / プローブ

check_permissions, list_apps, snapshot, find, wait_for, wait

入力

click, double_click, right_click, scroll, drag, type, set_value, key, paste_text

アプリ / ウィンドウ

focus_app, launch_app, menu_select

ブラウザ (CDP)

navigate, read_page, js_eval, tabs, browser_adopt

典型的なループ: snapshot → 番号付きツリーを推論 → 参照でアクション(click {ref})→ アクション後のフィードバックが再スナップショットして UI の差分を報告します。

セキュリティモデル — 有効にする前に読んでください

  • MCP には承認の概念がありません: ツール呼び出しは即座に実行されます。ホストのツール承認 / 確認レイヤーを有効にしてください。信頼できないプロンプトに包括的な自律性を与えないでください。

  • danger-guard は実装内の危険なスクリプトペイロードを静的に傍受します。

  • アプリごとの「常に許可」グラント は CU_HOME(デフォルト ~/.tianshu-computer-use/)の下に永続化され、ホスト自身の権限ストアとは別です。

  • macOS: このサーバーを実行しているターミナル(またはホストアプリ)に アクセシビリティ と 画面収録 の両方の権限を付与してください。check_permissions アクションは自己プローブして不足を報告します。

環境変数

変数

効果

CU_HOME

グラントとスクリーンショットアーティファクトのデータディレクトリ(デフォルト ~/.tianshu-computer-use)

CU_SESSION_ID

セッションごとのアーティファクトサブディレクトリ名(デフォルト mcp)

RIVET_CU_CDP=0

ブラウザ CDP 高速パスを無効にする

RIVET_CU_FEEDBACK=0

アクション後の UI フィードバックサマリーを無効にする

RIVET_CU_HOST=0

スクリプトホスト(macOS JXA / Windows PowerShell チャネル)を無効にする

RIVET_CU_COM=0

Windows UIA3 COM 高速パスを無効にする(マネージドビルダーにフォールバック)

開発

npm install
npm run build                      # tsup → dist/index.js
npm run smoke                      # SDK-client stdio smoke (tools/list + wait)
node integration/verify-server.mjs # zero-dependency JSON-RPC smoke

integration/dsh-smoke.ts は、DeepSeek Harness の実際のプラグイン構成に対するキーレス統合スモークです。deepseek-harness チェックアウトから実行してください(手順)。

huiliyi37/Tianshu-harness から抽出されました — tianshu(天枢)ハーネスリポジトリです。impl/ の下の実装は、その computer-use モジュールの凍結スナップショットです。このリポジトリが現在そのコードの正式なソースです。

ライセンス

GNU AGPL-3.0 — ソース利用可能で強いコピーレフト: ネットワーク経由で配布または提供される変更は共有する必要があります。任意の MCP ホストからのローカル使用は無制限です。商用ライセンスはリクエストに応じて利用可能です。

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors