# Tapilot official client setup

Updated: 2026-11-06

Help me connect Tapilot to my current AI client. First read https://tapilot.lifeos.md/install/agent.en.md. Identify the actual host and execution OS/architecture; if the host is uncertain, ask once. Install only my selected client. Check and reuse existing installations, configuration and phone pairing. Download only a matching official archive, verify its SHA-256, and use its installer and the actual returned launcher, skillFolder and pluginDirectory. Never ask for a developer checkout path. Prefer the native session panel or built-in browser sidebar. For Skill imports, connector enablement and permissions, explain the current concrete step, wait for me where necessary, then continue. Guide phone pairing if needed; do not switch an existing device without asking. For first verification, only read the current screen: no clicks, typing or settings changes. Read the actual screenshot and retain the live panel for me to compare. Separately report installation, protocol, host panel and phone-read results; never substitute “opened” for visible pixels. Keep manual/not_tested states until verified. Explain missing tools or unsupported platforms and offer the official manual route. Do not test Cursor natively.

## Bootstrap (no preinstalled Skill required)

Read the release manifest at https://tapilot.lifeos.md/releases/clients/latest.json. Only status=published with an HTTPS URL, SHA-256 and byte size is downloadable. Published setup packages: macOS Apple Silicon, macOS Intel, Windows x64, Windows ARM64, Linux x64, Linux ARM64. Installation lifecycle passed CI; client availability on each OS, native panels and physical-phone reading require separate verification. Select an exact platform/arch match from the manifest's artifacts array, not just its legacy top-level fields. Stop automatic installation if no matching package exists and use https://tapilot.lifeos.md/install. For remote DSH, match the machine running DSH. Linux CI uses Ubuntu 24.04; Windows CI uses Windows Server 2025 x64 and Windows 11 ARM64, not every distribution or standard-user session. A native Codex plugin uses its own route below.

You need web/HTTPS download, local shell, file access and image-reading tools. Without web reading, ask the user to paste the text of these instructions from the manual section. Without shell, let the user run the manual installer; do not claim MCP alone can install local software.

1. Identify the actual host from reliable session evidence and OS/architecture using local tools. If a target was selected, use it without asking again; otherwise ask once when unclear. Never install all detected clients.
2. Check the selected client for an existing Tapilot installation. Preserve configuration, edited Skills, pairing, privacy pause, and DSH_HOME. Use the existing launcher for diagnosis when available. Never uninstall or force overwrite to fix a conflict.
3. Download the matching archive from the manifest into a fresh temporary folder. Check the complete file size and SHA-256 (macOS: shasum -a 256; Linux: sha256sum; Windows PowerShell: Get-FileHash -Algorithm SHA256). Fail closed on mismatch. Extract only after verification. Node and dependencies are bundled. No npm install or preinstalled Skill is required.
4. From the extracted setup folder, use ./bin/node on POSIX or & .\bin\node.exe in Windows PowerShell. In the commands below, bin/node means that platform-specific entry. Use bin/node runtime/server/cli.mjs detect for read-only evidence, then bin/node runtime/server/cli.mjs onboard --client NAME for the selected ID below. Use an argument array or shell-quote paths; the manual alternative is Install Tapilot.command on macOS, Install Tapilot.cmd on Windows, or sh install-tapilot.sh on Linux, choosing one client. Do not pass --client to the .command wizard: its optional argument is the client ID itself.
5. Consume the JSON result: launcher.command, launcher.args, skillFolder, pluginDirectory and onboarding.checks. Never invent paths. Finish one manual step at a time, then continue in the same conversation where possible. Reload the host if required, and explicitly explain when a fresh session is needed.
6. Run doctor --client NAME using the same installed CLI, then read the exported Skill from skillFolder. Codex uses its plugin-provided Skill instead. Installation/protocol checks do not establish native rendering or phone access.

## Client steps and acceptance limits

### WorkBuddy (ID: workbuddy)

Built-in browser sidebar; MCP preview is read-only.

The installer merges local MCP configuration and links the Skill. Trust and enable Tapilot, then start a new task. Use the Skill CLI for phone operations.

Chinese and English conversations and browser sidebar observed. MCP panel still needs native acceptance.

### Doubao Work / 豆包工作 (ID: doubao)

Built-in browser sidebar; MCP panel stability remains unverified.

Add a custom STDIO connector using the returned launcher.command and launcher.args. Import skillFolder, enable both, and start a Local computer task. No enterprise qualification required. Re-import the Skill after updates.

English conversation and browser sidebar observed. Complete Chinese case and stable MCP panel remain pending.

### Cherry Studio (ID: cherry)

The desktop Work Agent’s built-in browser pane. No Tapilot MCP is needed.

Settings → Skills → Add Skill → Local import: import the returned skillFolder, enable it globally and in the Work Agent. Enable Shell, image-reading File and Browser tools. Re-import changed Skills after updates.

Chinese and English conversations, screenshot reading and browser pane observed. Ordinary chat, mobile and desktop MCP Apps are outside this route.

### DSH Web (ID: dsh)

Native Tapilot right sidebar, opened from the conversation header.

Install on the machine running DSH (>=0.2.1-rc.5 <0.3.0-0), preserving DSH_HOME. Run the returned registration command with pluginDirectory, reload Web, and open Tapilot from the conversation header. A remote Linux DSH host cannot use the macOS archive.

Chinese and English conversations and native sidebar observed. DSH Go is a separate route and has not passed native acceptance.

### Codex (ID: codex)

Existing native Tapilot plugin panel.

Reuse the native plugin; never install a duplicate MCP or Skill. Local marketplace commands must run in a repository root containing .claude-plugin/marketplace.json: codex plugin marketplace add . then codex plugin add tapilot@tapilot-local. The setup archive is not that repository. A public plugin distribution entry is still pending; retain an existing installation or report this limitation.

Native route retained; full native client acceptance was not repeated in this round.

### VS Code Copilot (ID: vscode)

Copilot MCP App panel, pending native verification.

The installer merges MCP configuration and links the Skill. Trust and start Tapilot, enable the Skill, and open a new signed-in Copilot Agent conversation.

Configuration and protocol checks covered; native conversation and actual panel remain unverified.

### Other agents / 其他客户端 (ID: skill)

Skill + CLI; an embedded panel is not guaranteed.

Requires local shell execution and image reading. Import the returned skillFolder using the host’s Skill mechanism. An MCP-only host needs external installation or a supported marketplace; a prompt cannot create missing local execution tools.

Host-specific native acceptance required. Cursor native testing is excluded.

## Pair and verify read-only

Follow the installed Skill’s CLI invocation (not a guessed global command). Run devices and status first; preserve the selected phone. If no suitable paired phone exists, guide the user to install the Android app via https://tapilot.lifeos.md/guide/start, enable wireless control, and use Tapilot’s own QR scanner with the pairing page. Never request pairing secrets in chat or confirm them for the user. Do not take a phone from another controller or resume privacy pause without the user. Do not silently switch devices.

Prefer the native panel. WorkBuddy/Doubao can use the built-in browser sidebar after one failed MCP recovery. Cherry uses the Work Agent browser. For preview, use CLI preview without --open and navigate the host browser to the returned URL including its capability fragment; do not print the fragment in chat or logs. A system browser is an explicit fallback, not embedded-panel acceptance. Read a fresh CLI screenshot with the image tool, describe visible content and compare it with actual panel pixels. If either tool is missing, mark that step unverified. Retain the live panel. No tapping, typing, navigation, settings changes or device switching for this first test. Phone operation remains not_tested.

Report separately: local installation; protocol (or not_applicable); actual host panel placement/rendering; fresh phone screenshot reading; phone operation (not_tested). A model sentence or successful tool connection is not visual proof. Historical emulator screenshots do not prove this user's phone works.

## Updates and troubleshooting

Run a newer verified archive for the same client, retaining pairing and custom configuration, then restart/reload the connector or host. Doubao and Cherry imported Skill copies may need re-import. DSH keeps its existing DSH_HOME and uses the returned stable pluginDirectory. This is an explicit package update, not an unattended network updater.

Missing Skill: enable it and bind it to the selected Agent. Blank panel: recover once, then use the supported in-app browser route; label any system-browser fallback. Old version: restart connector and re-import uploaded Skills. Paired but no picture: check phone unlock, wireless control, reachability, controller ownership and privacy pause; do not delete pairing. Edited config conflict: preserve it and report the conflicting item. Model authentication failures belong to the host; installation success cannot fix them.
