rebrand: agent-browser-stealth → chrome-use, de-fork, reset to v1.0.0
Release binaries / Build macOS ARM64 (push) Has been cancelled
Release binaries / Build macOS x64 (push) Has been cancelled
Release binaries / Build Linux ARM64 (push) Has been cancelled
Release binaries / Build Linux musl ARM64 (push) Has been cancelled
Release binaries / Build Linux musl x64 (push) Has been cancelled
Release binaries / Build Linux x64 (push) Has been cancelled
Release binaries / Build Windows x64 (push) Has been cancelled
Release binaries / Attach binaries to GitHub Release (push) Has been cancelled
Release binaries / Build macOS ARM64 (push) Has been cancelled
Release binaries / Build macOS x64 (push) Has been cancelled
Release binaries / Build Linux ARM64 (push) Has been cancelled
Release binaries / Build Linux musl ARM64 (push) Has been cancelled
Release binaries / Build Linux musl x64 (push) Has been cancelled
Release binaries / Build Linux x64 (push) Has been cancelled
Release binaries / Build Windows x64 (push) Has been cancelled
Release binaries / Attach binaries to GitHub Release (push) Has been cancelled
Standalone product rename across the whole repo (issue: project identity): - Binary/package/repo/skill/docs: agent-browser[-stealth] → chrome-use (single binary name `chrome-use`; old aliases agent-browser/abs dropped). - Version: 0.27.0-fork.51 → 1.0.0 (drop the upstream-fork counter). - Native-messaging host: com.agent_browser.connect → com.leeguoo.chrome_use (CLI + ab-connect extension in lockstep — this is a breaking handshake change, extension bumped 0.4.2 → 0.5.0, needs a Web Store republish). - Config dir: ~/.agent-browser → ~/.chrome-use. - README/zh: reframed from "stealth fork of agent-browser" to a standalone product with a small `originally based on vercel-labs/agent-browser` credit. - Kept AGENT_BROWSER_* env vars working (63 vars across the codebase; renaming them would break every existing script/skill for no user-facing gain). Build green, 802 unit tests pass, fmt + clippy clean. Upstream attribution to vercel-labs/agent-browser preserved.
This commit is contained in:
+62
-62
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: slack
|
||||
description: Interact with Slack workspaces using browser automation. Use when the user needs to check unread channels, navigate Slack, send messages, extract data, find information, search conversations, or automate any Slack task. Triggers include "check my Slack", "what channels have unreads", "send a message to", "search Slack for", "extract from Slack", "find who said", or any task requiring programmatic Slack interaction.
|
||||
allowed-tools: Bash(agent-browser:*), Bash(agent-browser-stealth:*), Bash(abs:*), Bash(npx agent-browser:*), Bash(npx agent-browser-stealth:*)
|
||||
allowed-tools: Bash(chrome-use:*), Bash(chrome-use:*), Bash(abs:*), Bash(npx chrome-use:*), Bash(npx chrome-use:*)
|
||||
---
|
||||
|
||||
# Slack Automation
|
||||
@@ -14,16 +14,16 @@ Connect to an existing Slack browser session or open Slack:
|
||||
|
||||
```bash
|
||||
# Connect to existing session on port 9222 (typical for already-open Slack)
|
||||
agent-browser connect 9222
|
||||
chrome-use connect 9222
|
||||
|
||||
# Or open Slack if not already running
|
||||
agent-browser open https://app.slack.com
|
||||
chrome-use open https://app.slack.com
|
||||
```
|
||||
|
||||
Then take a snapshot to see what's available:
|
||||
|
||||
```bash
|
||||
agent-browser snapshot -i
|
||||
chrome-use snapshot -i
|
||||
```
|
||||
|
||||
## Core Workflow
|
||||
@@ -36,11 +36,11 @@ agent-browser snapshot -i
|
||||
|
||||
```bash
|
||||
# Example: Check unread channels
|
||||
agent-browser connect 9222
|
||||
agent-browser snapshot -i
|
||||
chrome-use connect 9222
|
||||
chrome-use snapshot -i
|
||||
# Look for "More unreads" button
|
||||
agent-browser click @e21 # Ref for "More unreads" button
|
||||
agent-browser screenshot slack-unreads.png
|
||||
chrome-use click @e21 # Ref for "More unreads" button
|
||||
chrome-use screenshot slack-unreads.png
|
||||
```
|
||||
|
||||
## Common Tasks
|
||||
@@ -49,10 +49,10 @@ agent-browser screenshot slack-unreads.png
|
||||
|
||||
```bash
|
||||
# Connect to Slack
|
||||
agent-browser connect 9222
|
||||
chrome-use connect 9222
|
||||
|
||||
# Take snapshot to locate unreads button
|
||||
agent-browser snapshot -i
|
||||
chrome-use snapshot -i
|
||||
|
||||
# Look for:
|
||||
# - "More unreads" button (usually near top of sidebar)
|
||||
@@ -60,50 +60,50 @@ agent-browser snapshot -i
|
||||
# - Channel names with badges/bold text indicating unreads
|
||||
|
||||
# Navigate to Activity tab to see all unreads in one view
|
||||
agent-browser click @e14 # Activity tab (ref may vary)
|
||||
agent-browser wait 1000
|
||||
agent-browser screenshot activity-unreads.png
|
||||
chrome-use click @e14 # Activity tab (ref may vary)
|
||||
chrome-use wait 1000
|
||||
chrome-use screenshot activity-unreads.png
|
||||
|
||||
# Or check DMs tab
|
||||
agent-browser click @e13 # DMs tab
|
||||
agent-browser screenshot dms.png
|
||||
chrome-use click @e13 # DMs tab
|
||||
chrome-use screenshot dms.png
|
||||
|
||||
# Or expand "More unreads" in sidebar
|
||||
agent-browser click @e21 # More unreads button
|
||||
agent-browser wait 500
|
||||
agent-browser screenshot expanded-unreads.png
|
||||
chrome-use click @e21 # More unreads button
|
||||
chrome-use wait 500
|
||||
chrome-use screenshot expanded-unreads.png
|
||||
```
|
||||
|
||||
### Navigating to a Channel
|
||||
|
||||
```bash
|
||||
# Search for channel in sidebar or by name
|
||||
agent-browser snapshot -i
|
||||
chrome-use snapshot -i
|
||||
|
||||
# Look for channel name in the list (e.g., "engineering", "product-design")
|
||||
# Click on the channel treeitem ref
|
||||
agent-browser click @e94 # Example: engineering channel ref
|
||||
agent-browser wait --load networkidle
|
||||
agent-browser screenshot channel.png
|
||||
chrome-use click @e94 # Example: engineering channel ref
|
||||
chrome-use wait --load networkidle
|
||||
chrome-use screenshot channel.png
|
||||
```
|
||||
|
||||
### Finding Messages/Threads
|
||||
|
||||
```bash
|
||||
# Use Slack search
|
||||
agent-browser snapshot -i
|
||||
agent-browser click @e5 # Search button (typical ref)
|
||||
agent-browser fill @e_search "keyword"
|
||||
agent-browser press Enter
|
||||
agent-browser wait --load networkidle
|
||||
agent-browser screenshot search-results.png
|
||||
chrome-use snapshot -i
|
||||
chrome-use click @e5 # Search button (typical ref)
|
||||
chrome-use fill @e_search "keyword"
|
||||
chrome-use press Enter
|
||||
chrome-use wait --load networkidle
|
||||
chrome-use screenshot search-results.png
|
||||
```
|
||||
|
||||
### Extracting Channel Information
|
||||
|
||||
```bash
|
||||
# Get list of all visible channels
|
||||
agent-browser snapshot --json > slack-snapshot.json
|
||||
chrome-use snapshot --json > slack-snapshot.json
|
||||
|
||||
# Parse for channel names and metadata
|
||||
# Look for treeitem elements with level=2 (sub-channels under sections)
|
||||
@@ -113,16 +113,16 @@ agent-browser snapshot --json > slack-snapshot.json
|
||||
|
||||
```bash
|
||||
# Open a channel
|
||||
agent-browser click @e_channel_ref
|
||||
agent-browser wait 1000
|
||||
chrome-use click @e_channel_ref
|
||||
chrome-use wait 1000
|
||||
|
||||
# Get channel info (members, description, etc.)
|
||||
agent-browser snapshot -i
|
||||
agent-browser screenshot channel-details.png
|
||||
chrome-use snapshot -i
|
||||
chrome-use screenshot channel-details.png
|
||||
|
||||
# Scroll through messages
|
||||
agent-browser scroll down 500
|
||||
agent-browser screenshot channel-messages.png
|
||||
chrome-use scroll down 500
|
||||
chrome-use screenshot channel-messages.png
|
||||
```
|
||||
|
||||
### Taking Notes/Capturing State
|
||||
@@ -131,16 +131,16 @@ When you need to document findings from Slack:
|
||||
|
||||
```bash
|
||||
# Take annotated screenshot (shows element numbers)
|
||||
agent-browser screenshot --annotate slack-state.png
|
||||
chrome-use screenshot --annotate slack-state.png
|
||||
|
||||
# Take full-page screenshot
|
||||
agent-browser screenshot --full slack-full.png
|
||||
chrome-use screenshot --full slack-full.png
|
||||
|
||||
# Get current URL for reference
|
||||
agent-browser get url
|
||||
chrome-use get url
|
||||
|
||||
# Get page title
|
||||
agent-browser get title
|
||||
chrome-use get title
|
||||
```
|
||||
|
||||
## Sidebar Structure
|
||||
@@ -185,14 +185,14 @@ Click tab refs to switch views and get different information.
|
||||
|
||||
```bash
|
||||
# Get a message or element's text
|
||||
agent-browser get text @e_message_ref
|
||||
chrome-use get text @e_message_ref
|
||||
```
|
||||
|
||||
### Parse Accessibility Tree
|
||||
|
||||
```bash
|
||||
# Full snapshot as JSON for programmatic parsing
|
||||
agent-browser snapshot --json > output.json
|
||||
chrome-use snapshot --json > output.json
|
||||
|
||||
# Look for:
|
||||
# - Channel names (name field in treeitem)
|
||||
@@ -205,19 +205,19 @@ agent-browser snapshot --json > output.json
|
||||
|
||||
```bash
|
||||
# After expanding unreads section:
|
||||
agent-browser snapshot -i | grep -c "treeitem"
|
||||
chrome-use snapshot -i | grep -c "treeitem"
|
||||
# Each treeitem with a channel name in the unreads section is one unread
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Connect to existing sessions**: Use `agent-browser connect 9222` if Slack is already open. This is faster than opening a new browser.
|
||||
- **Connect to existing sessions**: Use `chrome-use connect 9222` if Slack is already open. This is faster than opening a new browser.
|
||||
- **Take snapshots before clicking**: Always `snapshot -i` to identify refs before clicking buttons.
|
||||
- **Re-snapshot after navigation**: After navigating to a new channel or section, take a fresh snapshot to find new refs.
|
||||
- **Use JSON snapshots for parsing**: When you need to extract structured data, use `snapshot --json` for machine-readable output.
|
||||
- **Pace interactions**: Add `sleep 1` between rapid interactions to let the UI update.
|
||||
- **Check accessibility tree**: The accessibility tree shows what screen readers (and your automation) can see. If an element isn't in the snapshot, it may be hidden or require scrolling.
|
||||
- **Scroll in sidebar**: Use `agent-browser scroll down 300 --selector ".p-sidebar"` to scroll within the Slack sidebar if channel list is long.
|
||||
- **Scroll in sidebar**: Use `chrome-use scroll down 300 --selector ".p-sidebar"` to scroll within the Slack sidebar if channel list is long.
|
||||
|
||||
## Limitations
|
||||
|
||||
@@ -234,16 +234,16 @@ Console/error capture is off by default in this stealth fork — launch the sess
|
||||
`AGENT_BROWSER_CAPTURE_CONSOLE=1` first, or these return empty.
|
||||
|
||||
```bash
|
||||
agent-browser console
|
||||
agent-browser errors
|
||||
chrome-use console
|
||||
chrome-use errors
|
||||
```
|
||||
|
||||
### Get current page state
|
||||
|
||||
```bash
|
||||
agent-browser get url
|
||||
agent-browser get title
|
||||
agent-browser screenshot page-state.png
|
||||
chrome-use get url
|
||||
chrome-use get title
|
||||
chrome-use screenshot page-state.png
|
||||
```
|
||||
|
||||
## Example: Full Unread Check
|
||||
@@ -252,29 +252,29 @@ agent-browser screenshot page-state.png
|
||||
#!/bin/bash
|
||||
|
||||
# Connect to Slack
|
||||
agent-browser connect 9222
|
||||
chrome-use connect 9222
|
||||
|
||||
# Take initial snapshot
|
||||
echo "=== Checking Slack unreads ==="
|
||||
agent-browser snapshot -i > snapshot.txt
|
||||
chrome-use snapshot -i > snapshot.txt
|
||||
|
||||
# Check Activity tab for unreads
|
||||
agent-browser click @e14 # Activity tab
|
||||
agent-browser wait 1000
|
||||
agent-browser screenshot activity.png
|
||||
ACTIVITY_RESULT=$(agent-browser get text @e_main_area)
|
||||
chrome-use click @e14 # Activity tab
|
||||
chrome-use wait 1000
|
||||
chrome-use screenshot activity.png
|
||||
ACTIVITY_RESULT=$(chrome-use get text @e_main_area)
|
||||
echo "Activity: $ACTIVITY_RESULT"
|
||||
|
||||
# Check DMs
|
||||
agent-browser click @e13 # DMs tab
|
||||
agent-browser wait 1000
|
||||
agent-browser screenshot dms.png
|
||||
chrome-use click @e13 # DMs tab
|
||||
chrome-use wait 1000
|
||||
chrome-use screenshot dms.png
|
||||
|
||||
# Check unread channels in sidebar
|
||||
agent-browser click @e21 # More unreads button
|
||||
agent-browser wait 500
|
||||
agent-browser snapshot -i > unreads-expanded.txt
|
||||
agent-browser screenshot unreads.png
|
||||
chrome-use click @e21 # More unreads button
|
||||
chrome-use wait 500
|
||||
chrome-use snapshot -i > unreads-expanded.txt
|
||||
chrome-use screenshot unreads.png
|
||||
|
||||
# Summary
|
||||
echo "=== Summary ==="
|
||||
|
||||
@@ -11,16 +11,16 @@ Determine which channels and DMs have unread messages.
|
||||
|
||||
1. **Connect to Slack**
|
||||
```bash
|
||||
agent-browser connect 9222
|
||||
chrome-use connect 9222
|
||||
```
|
||||
|
||||
2. **Check Activity Tab**
|
||||
- Take snapshot: `agent-browser snapshot -i`
|
||||
- Take snapshot: `chrome-use snapshot -i`
|
||||
- Look for Activity tab ref (usually `@e14`)
|
||||
- Click: `agent-browser click @e14`
|
||||
- Wait: `agent-browser wait 1000`
|
||||
- Click: `chrome-use click @e14`
|
||||
- Wait: `chrome-use wait 1000`
|
||||
- If you see "You've read all the unreads", you have no unread messages
|
||||
- Screenshot: `agent-browser screenshot activity.png`
|
||||
- Screenshot: `chrome-use screenshot activity.png`
|
||||
|
||||
3. **Check DMs**
|
||||
- Click DMs tab ref (usually `@e13`)
|
||||
@@ -52,25 +52,25 @@ Get a complete list of all channels you have access to.
|
||||
|
||||
1. **Navigate to Channels section**
|
||||
```bash
|
||||
agent-browser connect 9222
|
||||
agent-browser snapshot -i
|
||||
chrome-use connect 9222
|
||||
chrome-use snapshot -i
|
||||
```
|
||||
|
||||
2. **Look for "Channels" treeitem**
|
||||
- This is usually a collapsed section header
|
||||
- Click to expand if collapsed
|
||||
- Screenshot: `agent-browser screenshot all-channels.png`
|
||||
- Screenshot: `chrome-use screenshot all-channels.png`
|
||||
|
||||
3. **Scroll through sidebar**
|
||||
```bash
|
||||
# If the list is long, scroll within the sidebar
|
||||
agent-browser scroll down 500 --selector ".p-sidebar"
|
||||
agent-browser screenshot channels-page-2.png
|
||||
chrome-use scroll down 500 --selector ".p-sidebar"
|
||||
chrome-use screenshot channels-page-2.png
|
||||
```
|
||||
|
||||
4. **Parse snapshot for channel list**
|
||||
```bash
|
||||
agent-browser snapshot --json > channels.json
|
||||
chrome-use snapshot --json > channels.json
|
||||
# Search JSON for treeitem elements with level=2 under "Channels" section
|
||||
```
|
||||
|
||||
@@ -90,24 +90,24 @@ Find all messages/threads mentioning specific terms.
|
||||
|
||||
1. **Open search**
|
||||
```bash
|
||||
agent-browser snapshot -i
|
||||
chrome-use snapshot -i
|
||||
# Find Search button ref (usually @e5)
|
||||
agent-browser click @e5
|
||||
agent-browser wait 500
|
||||
chrome-use click @e5
|
||||
chrome-use wait 500
|
||||
```
|
||||
|
||||
2. **Enter search term**
|
||||
```bash
|
||||
# Identify search input ref from snapshot
|
||||
agent-browser fill @e_search_input "your keyword"
|
||||
agent-browser press Enter
|
||||
agent-browser wait --load networkidle
|
||||
chrome-use fill @e_search_input "your keyword"
|
||||
chrome-use press Enter
|
||||
chrome-use wait --load networkidle
|
||||
```
|
||||
|
||||
3. **Capture results**
|
||||
```bash
|
||||
agent-browser screenshot search-results.png
|
||||
agent-browser snapshot -i > search-snapshot.txt
|
||||
chrome-use screenshot search-results.png
|
||||
chrome-use snapshot -i > search-snapshot.txt
|
||||
```
|
||||
|
||||
4. **Parse results**
|
||||
@@ -137,35 +137,35 @@ Watch a channel and capture new messages/engagement.
|
||||
|
||||
1. **Navigate to channel**
|
||||
```bash
|
||||
agent-browser connect 9222
|
||||
agent-browser snapshot -i
|
||||
chrome-use connect 9222
|
||||
chrome-use snapshot -i
|
||||
# Find channel ref from sidebar
|
||||
agent-browser click @e_channel_ref
|
||||
agent-browser wait --load networkidle
|
||||
chrome-use click @e_channel_ref
|
||||
chrome-use wait --load networkidle
|
||||
```
|
||||
|
||||
2. **Check channel info**
|
||||
- Screenshot channel details: `agent-browser screenshot channel-header.png`
|
||||
- Screenshot channel details: `chrome-use screenshot channel-header.png`
|
||||
- Look for member count, description, topic
|
||||
|
||||
3. **View messages**
|
||||
```bash
|
||||
# Jump to recent/unread
|
||||
agent-browser press j # Jump to unread in Slack
|
||||
agent-browser wait 500
|
||||
agent-browser screenshot recent-messages.png
|
||||
chrome-use press j # Jump to unread in Slack
|
||||
chrome-use wait 500
|
||||
chrome-use screenshot recent-messages.png
|
||||
```
|
||||
|
||||
4. **Scroll to see more**
|
||||
```bash
|
||||
agent-browser scroll down 500
|
||||
agent-browser screenshot more-messages.png
|
||||
chrome-use scroll down 500
|
||||
chrome-use screenshot more-messages.png
|
||||
```
|
||||
|
||||
5. **Check threads**
|
||||
- Click on messages with thread indicators
|
||||
- View replies in thread view
|
||||
- Screenshot: `agent-browser screenshot thread.png`
|
||||
- Screenshot: `chrome-use screenshot thread.png`
|
||||
|
||||
### Evidence
|
||||
- Channel info screenshot
|
||||
@@ -183,13 +183,13 @@ Find who said what, when, and in what context.
|
||||
|
||||
1. **Navigate to relevant channel or DM**
|
||||
```bash
|
||||
agent-browser click @e_conversation_ref
|
||||
agent-browser wait 1000
|
||||
chrome-use click @e_conversation_ref
|
||||
chrome-use wait 1000
|
||||
```
|
||||
|
||||
2. **Take snapshot with context**
|
||||
```bash
|
||||
agent-browser snapshot --json > conversation.json
|
||||
chrome-use snapshot --json > conversation.json
|
||||
```
|
||||
|
||||
3. **Find message blocks**
|
||||
@@ -204,8 +204,8 @@ Find who said what, when, and in what context.
|
||||
|
||||
5. **Screenshot key messages**
|
||||
```bash
|
||||
agent-browser screenshot important-message.png
|
||||
agent-browser screenshot --annotate annotated-message.png
|
||||
chrome-use screenshot important-message.png
|
||||
chrome-use screenshot --annotate annotated-message.png
|
||||
```
|
||||
|
||||
---
|
||||
@@ -219,19 +219,19 @@ See who reacted to a message and with what emoji.
|
||||
|
||||
1. **Find message with reactions**
|
||||
```bash
|
||||
agent-browser snapshot -i
|
||||
chrome-use snapshot -i
|
||||
# Look for "N reaction(s)" buttons in messages
|
||||
```
|
||||
|
||||
2. **Click reaction button to expand**
|
||||
```bash
|
||||
agent-browser click @e_reaction_button
|
||||
agent-browser wait 500
|
||||
chrome-use click @e_reaction_button
|
||||
chrome-use wait 500
|
||||
```
|
||||
|
||||
3. **Capture reaction details**
|
||||
```bash
|
||||
agent-browser screenshot reactions.png
|
||||
chrome-use screenshot reactions.png
|
||||
# You'll see emoji, count, and list of users who reacted
|
||||
```
|
||||
|
||||
@@ -251,26 +251,26 @@ See messages that have been pinned in a channel.
|
||||
|
||||
1. **Open a channel**
|
||||
```bash
|
||||
agent-browser click @e_channel_ref
|
||||
agent-browser wait 1000
|
||||
agent-browser snapshot -i
|
||||
chrome-use click @e_channel_ref
|
||||
chrome-use wait 1000
|
||||
chrome-use snapshot -i
|
||||
```
|
||||
|
||||
2. **Click Pins tab**
|
||||
- In channel view, look for "Pins" tab ref (usually near Messages, Files tabs)
|
||||
- Click it: `agent-browser click @e_pins_tab`
|
||||
- Wait: `agent-browser wait 500`
|
||||
- Click it: `chrome-use click @e_pins_tab`
|
||||
- Wait: `chrome-use wait 500`
|
||||
|
||||
3. **View pinned messages**
|
||||
```bash
|
||||
agent-browser screenshot pins.png
|
||||
agent-browser snapshot -i > pins-snapshot.txt
|
||||
chrome-use screenshot pins.png
|
||||
chrome-use snapshot -i > pins-snapshot.txt
|
||||
```
|
||||
|
||||
4. **Review each pin**
|
||||
- Click pin to see context
|
||||
- Note who pinned it, when, and why
|
||||
- Screenshot: `agent-browser screenshot pin-detail.png`
|
||||
- Screenshot: `chrome-use screenshot pin-detail.png`
|
||||
|
||||
---
|
||||
|
||||
@@ -323,26 +323,26 @@ If you can't find an element:
|
||||
1. **Check it's visible**
|
||||
```bash
|
||||
# Is the element on screen or off-screen?
|
||||
agent-browser screenshot current-state.png
|
||||
chrome-use screenshot current-state.png
|
||||
# Compare screenshot to what you expected
|
||||
```
|
||||
|
||||
2. **Try expanding/scrolling**
|
||||
```bash
|
||||
# Sidebar might need scrolling
|
||||
agent-browser scroll down 300 --selector ".p-sidebar"
|
||||
agent-browser snapshot -i
|
||||
chrome-use scroll down 300 --selector ".p-sidebar"
|
||||
chrome-use snapshot -i
|
||||
```
|
||||
|
||||
3. **Check current URL**
|
||||
```bash
|
||||
agent-browser get url
|
||||
chrome-use get url
|
||||
# Verify you're in the right section
|
||||
```
|
||||
|
||||
4. **Wait for page to load**
|
||||
```bash
|
||||
agent-browser wait --load networkidle
|
||||
agent-browser wait 1000
|
||||
agent-browser snapshot -i
|
||||
chrome-use wait --load networkidle
|
||||
chrome-use wait 1000
|
||||
chrome-use snapshot -i
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user