{"id":50475742,"url":"https://github.com/ashbuilds/computer-use","last_synced_at":"2026-06-01T13:01:42.463Z","repository":{"id":259315638,"uuid":"877435941","full_name":"ashbuilds/computer-use","owner":"ashbuilds","description":"Anthropic's Computer use implementation in Nodejs","archived":false,"fork":false,"pushed_at":"2024-10-23T22:34:26.000Z","size":83,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-17T03:50:34.904Z","etag":null,"topics":["ai","anthropic","automated-testing","automation","claude-ai","computer-use","computer-vision","nodejs","robotjs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashbuilds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-23T16:39:11.000Z","updated_at":"2026-05-06T08:45:02.000Z","dependencies_parsed_at":"2024-10-24T10:22:27.953Z","dependency_job_id":"631df190-25bf-4288-8f41-64296fd4077e","html_url":"https://github.com/ashbuilds/computer-use","commit_stats":null,"previous_names":["ashbuilds/computer-use"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ashbuilds/computer-use","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashbuilds%2Fcomputer-use","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashbuilds%2Fcomputer-use/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashbuilds%2Fcomputer-use/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashbuilds%2Fcomputer-use/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashbuilds","download_url":"https://codeload.github.com/ashbuilds/computer-use/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashbuilds%2Fcomputer-use/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33775864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","automated-testing","automation","claude-ai","computer-use","computer-vision","nodejs","robotjs"],"created_at":"2026-06-01T13:01:39.852Z","updated_at":"2026-06-01T13:01:42.456Z","avatar_url":"https://github.com/ashbuilds.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Anthropic's Computer use implementation in Nodejs\n\nA Node.js/TypeScript port of [Anthropic's official Python computer-use demo](https://github.com/anthropics/anthropic-quickstarts/tree/main/computer-use-demo). This implementation provides a complete TypeScript version of Claude's computer control capabilities, allowing Claude to interact with your computer through mouse movements, keyboard input, and screen captures.\n\n## Overview\n\nThis project converts Anthropic's Python implementation to TypeScript while maintaining all the core functionalities and adding some TypeScript-specific enhancements. It enables Claude to:\n- Control your computer's mouse and keyboard\n- Capture and analyze screenshots\n- Manage windows and applications\n- Execute system commands\n\nPerfect for developers who prefer Node.js/TypeScript or want to integrate Claude's computer control capabilities into TypeScript projects.\n\n## Features\n\n- 🖱️ **Mouse Control**\n    - Movement and clicks\n    - Dragging and scrolling\n    - Position tracking\n    - Multiple button support\n\n- ⌨️ **Keyboard Actions**\n    - Key press and release\n    - Text typing\n    - Modifier key combinations\n    - Multiple key sequences\n\n- 🪟 **Window Management**\n    - Focus control\n    - Move and resize\n    - Minimize/maximize\n    - Cross-platform support\n\n- 📸 **Screen Capture**\n    - High-quality screenshots\n    - Automatic compression\n    - Organized storage\n    - Metadata tracking\n\n## Quick Start\n\n### Environment Variables\nCreate a `.env` file in the root directory:\n\n```env\n# Required\nANTHROPIC_API_KEY=sk-ant-xxxx   # Your Anthropic API key\n```\n\n```bash\n# Install dependencies\npnpm install\n\n# Build the project\npnpm run build\n\n# Run example\npnpm run test:basic\n```\n\n## Basic Usage\n\n```typescript\nimport { ComputerTool } from './src/tools/computer';\n\nconst tool = new ComputerTool();\n\n// Move mouse\nawait tool.execute({\n    action: 'mouse_move',\n    coordinate: [100, 100]\n});\n\n// Type text\nawait tool.execute({\n    action: 'type',\n    text: 'Hello, World!'\n});\n\n// Take screenshot\nawait tool.execute({\n    action: 'screenshot'\n});\n```\n\n## Advanced Examples\n\n```typescript\n// Mouse scroll with direction\nawait tool.execute({\n    action: 'mouse_scroll',\n    scrollAmount: 5,\n    direction: 'down'\n});\n\n// Key combination\nawait tool.execute({\n    action: 'key',\n    text: 'Control+C'\n});\n\n// Window management\nawait tool.execute({\n    action: 'focus_window',\n    windowTitle: 'Chrome'\n});\n```\n\n## Available Actions\n\n### Mouse Actions\n- `mouse_move`: Move cursor to coordinates\n- `left_click`, `right_click`, `middle_click`: Mouse clicks\n- `left_click_drag`: Click and drag\n- `mouse_scroll`: Scroll in any direction\n- `mouse_toggle`: Press/release mouse buttons\n\n### Keyboard Actions\n- `key`: Single key or combination press\n- `type`: Type text string\n- `key_toggle`: Press/release keys\n- `key_tap_multiple`: Repeat key taps\n\n### Window Actions\n- `focus_window`: Activate window\n- `move_window`: Change window position\n- `resize_window`: Adjust window size\n- `minimize_window`, `maximize_window`: Window state\n\n### Screen Actions\n- `screenshot`: Capture screen\n- `cursor_position`: Get current cursor location\n\n## Screenshots\n\nScreenshots are automatically organized:\n```\nscreenshots/\n├── metadata.json\n└── YYYY/MM/DD/\n    ├── screenshot-{timestamp}-original.png\n    └── screenshot-{timestamp}-compressed.[png|jpg]\n```\n\n## Configuration\n\nKey settings can be modified in constants:\n\n```typescript\nconst TIMING = {\n    TYPING_DELAY_MS: 12,\n    SCREENSHOT_DELAY_MS: 2000,\n    RETRY_DELAY_MS: 500\n};\n\nconst MAX_IMAGE_SIZE = 5 * 1024 * 1024; // 5MB\n```\n\n## Requirements\n\n- Node.js (v16+)\n- TypeScript\n- Dependencies:\n    - robotjs\n    - screenshot-desktop\n    - sharp\n    - Relevant system libraries\n\n## Platform Support\n\n### Linux\n```bash\nsudo apt-get install -y \\\n    libxtst-dev \\\n    libpng-dev \\\n    libxss-dev \\\n    xvfb\n```\n\n### macOS\n```bash\nbrew install opencv@4\nbrew install cairo pango\n```\n\n### Windows\n- Requires windows-build-tools:\n```bash\nnpm install --global windows-build-tools\n```\n\n## License\n\nMIT\n\n## Contributing\n\n1. Fork the repo\n2. Create feature branch\n3. Commit changes\n4. Push to branch\n5. Create Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashbuilds%2Fcomputer-use","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashbuilds%2Fcomputer-use","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashbuilds%2Fcomputer-use/lists"}