Token导航 LogoToken导航TokenDH.com
前端设计操作浏览器github未标认证来源可访问许可证需确认审计异常

droid-control机器人控制

Agent Skill

droid-control 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

857

周安装

35

GitHub Stars

64

下载量

277
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:droid-control(机器人控制)
来源仓库:https://github.com/factory-ai/factory-plugins
仓库路径:skills/droid-control
安装命令:
npx skills add https://github.com/factory-ai/factory-plugins --skill droid-control
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/factory-ai/factory-plugins --skill droid-control

简介

droid-control 用于自动化终端和浏览器操作,支持多环境交互与流程执行。

  • 适用于 GitHub 仓库管理、Issue 跟踪、PR 审查及代码协作场景。
  • 基于原子化指令构建计划,按驱动类型执行并自动重试失败步骤。
  • 必须使用 tctl 启动录制脚本,避免模拟数据和非确定性行为干扰。
  • 需验证运行环境真实性,禁止中途变更策略或依赖外部 mock。

SKILL.md

Droid Control

Automate terminals and browsers. Three routing decisions, then atoms guide you the rest of the way.

Ground rules

  1. Real apps, real environments. Non-deterministic behavior (LLM responses, network latency, variable output) is expected. Handle it with wait / wait-idle. Never substitute fixtures or mocked data.
  2. Commit to execution. Once you've chosen a driver, run the plan. If something fails mid-run, recover and retry -- don't re-evaluate the approach.
  3. Atoms are self-contained. Load one and follow its mechanics. No cross-referencing needed.
  4. tctl is the ONLY way to launch recorded sessions. tctl manages recording by wrapping asciinema rec around the PTY — raw tuistory has no recording capability and never will. Never call tuistory launch directly; unknown flags crash tuistory-relay. Always resolve TCTL to its absolute filesystem path before use, especially when delegating to workers (they don't inherit ${DROID_PLUGIN_ROOT}).
  5. Isolate every run. Multiple droids may be filming simultaneously on the same machine. Session names and output paths share a global namespace (/tmp/tctl-sessions/). At the start of every workflow, generate a run ID (RUN_ID=$(date +%s)-$$ or similar) and use it as a prefix for all session names and a scoped temp directory for all output files: RUN_ID="$(date +%s)-$$" RUN_DIR="$(mktemp -d /tmp/droid-run-${RUN_ID}-XXXXXX)" # Session names: -s ${RUN_ID}-before, -s ${RUN_ID}-after # Output paths: ${RUN_DIR}/before.cast, ${RUN_DIR}/after.cast Never use bare session names like -s demo, -s before, -s after — they will collide with concurrent runs.

Routing

Three independent lookups. Do all three, then load the union of skills they produce.

1. Target route — what are you driving?

TargetLoad these skills
Droid CLI (droid-dev, droid exec)droid-cli + tuistory backend via ${DROID_PLUGIN_ROOT}/bin/tctl
Droid CLI (real terminal proof)true-input + droid-cli
Other terminal TUItuistory backend via ${DROID_PLUGIN_ROOT}/bin/tctl
Other terminal TUI (real terminal proof)true-input
Web page or Electron appagent-browser
Raw terminal byte sequencestrue-input + pty-capture

tuistory is the default for terminal work. Use true-input only when you need real terminal rendering evidence.

2. Stage route — what does the workflow need?

Every workflow passes through stages. Load the atoms for each stage you'll use.

StageSkillWhen to load
CapturecaptureAlways -- every workflow records or captures something
ComposecomposeWhen the deliverable is a produced artifact (video, annotated screenshots, comparison image)
VerifyverifyAlways -- every deliverable gets checked against commitments

3. Artifact route — does compose need polish tools?

Only relevant when compose is loaded.

Artifact needAlso load
Showcase polish (window chrome, branded frame, cinematic background)showcase
Effects and keystroke overlays(compose handles this — they're fields in the Remotion props JSON)

Workflow shape

Command (intent + commitments)
  → Target route (load driver atoms)
  → Capture (record / screenshot / byte-capture)
  → Compose (assemble deliverable, if needed)
  → Verify (check against commitments)
  → Report

Commands declare what to produce. Atoms own how.

Layout default

Default: single. One clip showing the target/final state. Pick this unless the deliverable is fundamentally a comparison.

CaseLayout
Brand-new feature (no meaningful prior state)single
Bug fix, single-clip proof of the working pathsingle
Walkthrough / tutorial / readme herosingle
Regression proof (broken vs fixed)side-by-side
Behavior-preserving refactor (visual parity is the point)side-by-side
User explicitly asks for a comparisonside-by-side

Do not synthesize a "before" state to justify side-by-side. If there is no real baseline, use single.

Delegation

The parent agent plans and orchestrates. Mechanical work runs in worker subagents via the Task tool. This keeps the parent's context clean and enables parallelism.

What to delegate

TaskDelegate?Why
Capture clip (single layout)YESWorker runs the interaction script end-to-end and returns the .cast path
Capture both clips (comparison layout)YES — run_in_background=true for eachBranches are independent; run in parallel
Remotion renderYESNeeds only props JSON, clip paths, output path. Runs render-showcase.sh (handles.cast conversion, fidelity profiles, duration detection, cleanup)
Planning, interaction scriptingNO — parentRequires PR context and editorial judgment
Layout and prop constructionNO — parentRequires editorial decisions about effects, timing, labels
VerificationNO — parentRequires commitment context
Single ffprobe / file-existence checkNO — inlineToo trivial for subagent overhead

How to delegate

Step 0: Resolve paths and generate a run ID. Workers don't inherit ${DROID_PLUGIN_ROOT}. Resolve once, paste everywhere:

TCTL="$(realpath "${DROID_PLUGIN_ROOT}/bin/tctl")"
RENDER="$(realpath "${DROID_PLUGIN_ROOT}/scripts/render-showcase.sh")"
RUN_ID="$(date +%s)-$$"
RUN_DIR="$(mktemp -d /tmp/droid-run-${RUN_ID}-XXXXXX)"

Use ${RUN_DIR} for all output files (recordings, props, rendered video). Use ${RUN_ID}- as a prefix for all session names. Never use bare names like -s before or hardcoded paths like /tmp/before.cast.

Give workers exact commands with the resolved absolute paths — not abstract instructions, not tuistory, not ${DROID_PLUGIN_ROOT}. The parent does the thinking; the worker executes:

Task prompt for a capture worker:
  "Run these commands in order. Report the output file path and any errors.
   1. /abs/path/to/bin/tctl launch "droid-dev" -s 1712345678-42-before --backend tuistory \
        --repo-root /abs/path/to/baseline/worktree \
        --cols 120 --rows 36 --record /tmp/droid-run-1712345678-42-xxxx/before.cast \
        --env FORCE_COLOR=3 --env COLORTERM=truecolor
   2. /abs/path/to/bin/tctl -s 1712345678-42-before wait ">" --timeout 15000
   3. /abs/path/to/bin/tctl -s 1712345678-42-before type "hello world"
   4. /abs/path/to/bin/tctl -s 1712345678-42-before press enter
   5. /abs/path/to/bin/tctl -s 1712345678-42-before wait-idle
   6. /abs/path/to/bin/tctl -s 1712345678-42-before close"
Task prompt for a Remotion render worker:
  "Run this command. Report the output file path and any errors.
   /abs/path/to/scripts/render-showcase.sh \
     --props /tmp/droid-run-1712345678-42-xxxx/showcase-props.json \
     --output /tmp/droid-run-1712345678-42-xxxx/demo.mp4 \
     /tmp/droid-run-1712345678-42-xxxx/before.cast /tmp/droid-run-1712345678-42-xxxx/after.cast"

Parallel capture pattern (comparison flows only)

Only applicable when the Layout default table above selects side-by-side. For a single layout, launch one capture worker and skip this section.

For before/after comparison demos, launch both capture workers simultaneously:

1. Parent constructs the interaction script (identical for both branches)
2. Launch worker A: capture the baseline/reference branch with `--repo-root` set to that worktree
3. Launch worker B: capture the candidate/change branch with `--repo-root` set to that worktree
4. Wait for both to complete (TaskOutput)
5. Collect .cast paths from results
6. Continue to compose

Shared tooling

Terminal drivers use the unified tctl wrapper. agent-browser has its own CLI and does not use tctl.

Drivers can be combined in one workflow — e.g., tctl for a CLI and agent-browser for a web UI it interacts with.

Prerequisites

StagePlatformRequiredOptional
tuistoryAlltuistory, asciinema, aggtmux
true-inputLinux/Waylandcage, wtype, Wayland terminal, /dev/dri/*grim, wf-recorder
true-inputWindows (KVM)libvirt, qemu, KVM VM with SPICE + SSH, DROID_VM_* env varsvirt-manager
true-inputmacOS (QEMU)qemu, socat, macOS VM with SSH, DROID_MAC_* env vars
agent-browserAllagent-browser (+ agent-browser install)
composeAllffmpeg, ffprobe, agg
showcaseAllNode.js (>= 18), Chrome/Chromium

Install commands

# tuistory driver + recording
npm install -g tuistory                              # virtual PTY driver
pip install asciinema                                # terminal recording (tctl wraps this)
cargo install --git https://github.com/asciinema/agg  # .cast -> .gif converter (compose needs this)

# true-input driver (Linux/Wayland)
sudo apt-get install -y cage wtype                   # required: headless compositor + keystroke injection
sudo apt-get install -y grim wf-recorder             # optional: screenshots + video recording

# agent-browser driver
agent-browser install                                # one-time: downloads bundled Chromium

# compose + showcase (video rendering)
sudo apt-get install -y ffmpeg                       # video processing (includes ffprobe)
cd ${DROID_PLUGIN_ROOT}/remotion && npm install       # Remotion dependencies
# Chrome or Chromium must be installed for Remotion rendering

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.13%
按下载量换算97

Claude

27.29%
按下载量换算76

Cursor

18.22%
按下载量换算50

Gemini CLI

9.63%
按下载量换算27

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills