Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计通过

pinchtab-dev捏制表开发

Agent Skill

pinchtab-dev 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

408

周安装

17

GitHub Stars

8,922

下载量

136
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/pinchtab/pinchtab --skill pinchtab-dev

简介

用于查找、检索和筛选相关信息。

  • 适合根据关键词、任务场景或来源线索快速定位候选结果。
  • 可结合来源仓库 README 核验具体用法,注意权限与维护状态。
  • 安装命令:npx skills add https://github.com/pinchtab/pinchtab --skill pinchtab-dev
  • 建议确认是否会触发联网、命令执行或文件读写操作

SKILL.md

PinchTab Development

PinchTab is a browser control server for AI agents — Small Go binary with HTTP API.

Project Location

cd ~/dev/pinchtab

Dev Commands

All development commands run via ./dev:

CommandDescription
./dev buildBuild the application
./dev devBuild & run
./dev dashboardHot-reload dashboard development (Vite + Go)
./dev runRun the application
./dev checkAll checks (Go + Dashboard + Plugin)
./dev check goGo checks only
./dev check dashboardDashboard checks only
./dev test unitGo unit tests
./dev test dashboardDashboard unit tests
./dev e2e basicBasic suite (api + cli + infra)
./dev e2e extendedExtended suite (all extended)
./dev e2e smokeSmoke suite
./dev e2e smoke-dockerHost Docker smoke checks only
./dev e2e test "<name>"Run a single E2E test by start_test name
./dev allcheck + test + e2e (pre-push gate)
./dev binariesBuild the full release binary matrix into dist/
./dev doctorSetup dev environment

Architecture

cmd/pinchtab/     CLI entry point
internal/
  bridge/         Chrome CDP communication
  handlers/       HTTP API handlers
  server/         HTTP server
  dashboard/      Embedded React dashboard
  config/         Configuration
  assets/         Embedded assets (stealth.js)
dashboard/        React dashboard source (Vite + TypeScript)
tests/e2e/        E2E test suites

Workflow: New Feature or Bug Fix

  1. Create branch from main: git checkout main && git pull git checkout -b feat/my-feature # or fix/my-bug
  2. Make changes — follow code patterns in existing files
  3. Run checks locally: ./dev all # check + test + e2e (one-shot pre-push gate) # …or individually:./dev check # Lint + format + typecheck./dev test unit # Go unit tests./dev e2e basic # E2E tests (Docker required)
  4. Commit with conventional commits:

- feat: new feature - fix: bug fix - refactor: code change without behavior change - test: adding tests - docs: documentation - chore: maintenance

  1. Push and create PR

Definition of Done (PR Checklist)

Required — Code Quality

  • Error handling explicit — all errors wrapped with %w, no silent failures
  • No regressions — verify stealth, token efficiency, session persistence
  • SOLID principles — functions do one thing, testable
  • No redundant comments — explain *why*, not *what*

Required — Testing

  • New/changed functionality has tests
  • Docker E2E tests pass locally: ./dev e2e basic (or ./dev all for the full chain)
  • If npm wrapper touched: npm pack and npm install work

Required — Documentation

  • README.md updated if user-facing changes
  • /docs/ updated if API/architecture changed

Required — Review

  • PR description explains what + why
  • Commits are atomic with good messages

Key Files

FilePurpose
internal/assets/stealth.jsBot detection evasion (light/medium/full levels)
internal/bridge/bridge.goChrome CDP bridge
internal/handlers/*.goHTTP API endpoints
dashboard/src/React dashboard source
tests/e2e/scenarios-api/API E2E tests
tests/e2e/scenarios-cli/CLI E2E tests

Testing

Unit Tests

./dev test unit              # All Go tests
go test ./internal/handlers  # Specific package

E2E Tests (requires Docker)

./dev e2e basic                 # Basic suite (api + cli + infra)
./dev e2e api                   # API basic tests
./dev e2e cli                   # CLI basic tests
./dev e2e infra                 # Infra basic tests
./dev e2e api-extended          # API extended tests (multi-instance)
./dev e2e cli-extended          # CLI extended tests
./dev e2e infra-extended        # Infra extended tests (multi-instance)
./dev e2e extended              # Full extended suite (all extended tests)
./dev e2e smoke-docker          # Host Docker smoke checks only

# Run specific test file(s) with filter (second argument)
./dev e2e api clipboard                # Run only clipboard-basic.sh
./dev e2e api-extended "clipboard|console"  # Run clipboard and console tests
./dev e2e cli browser                  # Run browser-basic.sh in CLI suite

# Run a single test by its start_test name (fastest debug loop)
./dev e2e test "humanClick: click input by ref"
./dev e2e test "scroll (down)"
./dev e2e test "low-level mouse"

The scenario filter is a substring matched against scenario filenames. Requires Docker daemon running.

Single-test mode (dev e2e test "<name>")

Use this when iterating on one specific E2E failure. The runner:

  1. Greps tests/e2e/scenarios/**/*.sh for start_test "...<name substring>...".
  2. Auto-picks the suite (api/cli/infra/plugin) and -extended variant from the matching scenario file's path.
  3. Builds fresh images (compose... up --build) and runs only the matching start_test...end_test block — the scenario preamble (helper sourcing, FIXTURES_URL, etc.) is preserved, every other test in the file is skipped.

Notes:

  • The substring is literal (fgrep), so colons/parens/quotes in test names work without escaping.
  • If multiple tests match, the runner uses the first and prints the others — pass a longer/more-specific substring to disambiguate.
  • Logs stream to the terminal by default (unlike full suites which hide logs); helpful for debugging.
  • Implemented by scripts/dev-e2e.sh + E2E_TEST_FILTER plumbing through scripts/e2e.sh and tests/e2e/run.sh.

Dashboard Tests

./dev test dashboard  # Vitest
cd dashboard && npm test

Dashboard Development

Setup

Start hot-reload development:

./dev dashboard

This runs:

  • Backend on :9867
  • Vite dev server on :5173 with hot-reload
  • Dashboard at http://localhost:5173/dashboard/

Development Workflow (Use PinchTab to Develop PinchTab)

Do not assume changes worked. Use pinchtab itself to verify changes visually:

  1. Start dev mode: ./dev dashboard
  2. Make changes to files in dashboard/src/
  3. Verify with pinchtab — use the pinchtab skill to inspect the dashboard: # Navigate to the page under development curl -X POST http://localhost:9867/navigate \ -d '{"url":"http://localhost:5173/dashboard/settings"}' # Take a screenshot to verify the change curl -X POST http://localhost:9867/screenshot \ -d '{"path":"/tmp/dashboard-check.png"}' # Or get a snapshot to inspect elements curl -s http://localhost:9867/snapshot | jq.
  4. Provide evidence — when reporting changes, include:

- Link to the page: http://localhost:5173/dashboard/{page} - Screenshot of the result - Relevant snapshot data if inspecting specific elements

Example: Verifying a Settings Page Change

# Navigate to settings
curl -X POST http://localhost:9867/navigate \
  -d '{"url":"http://localhost:5173/dashboard/settings"}'

# Screenshot the result
curl -X POST http://localhost:9867/screenshot \
  -d '{"path":"./dashboard-settings.png","fullPage":true}'

# Find specific element
curl -X POST http://localhost:9867/find \
  -d '{"selector":"[data-testid=stealth-level]"}'

Key Dashboard Pages

PageURLPurpose
Home/dashboard/Instance overview
Settings/dashboard/settingsConfiguration
Profiles/dashboard/profilesBrowser profiles
Tabs/dashboard/tabsActive tabs

Dashboard Tech Stack

  • React 19 + TypeScript
  • Vite (build/dev)
  • Tailwind CSS
  • Zustand (state)
  • Vitest (tests)

Stealth Module

The stealth module (internal/assets/stealth.js) has three levels:

LevelFeaturesTrade-offs
lightwebdriver, CDP markers, plugins, hardwareNone — safe
medium+ userAgentData, chrome.runtime.connect, csi/loadTimesMay affect error monitoring
full+ WebGL/canvas noise, WebRTC relayMay break WebRTC, canvas apps

Configure in ~/.pinchtab/config.json:

{
  "instanceDefaults": {
    "stealthLevel": "medium"
  }
}

Common Tasks

Add new API endpoint

  1. Create handler in internal/handlers/
  2. Register route in internal/server/routes.go
  3. Add tests in same package
  4. Add E2E test in tests/e2e/scenarios-api/

Modify stealth behavior

  1. Edit internal/assets/stealth.js
  2. Run ./dev build (embeds via go:embed)
  3. Test with ./dev e2e api-fast (includes stealth tests)

Update dashboard

  1. Run ./dev dashboard for hot-reload
  2. Edit files in dashboard/src/
  3. Run ./dev check dashboard before commit

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

33.9%
按下载量换算46

Claude

33.78%
按下载量换算46

Cursor

17.72%
按下载量换算24

Gemini CLI

10.38%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

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

安装前确认

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

来源信息

继续浏览同类 Skills