Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 24 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,15 +148,15 @@ notte agents workflow-code # Get agent's workflow code
notte agents replay # Get agent execution replay
```

**Note:** When you start an agent, it automatically becomes the "current" agent. All subsequent commands use this agent by default. Use `--id <agent-id>` only when you need to manage multiple agents. If a session is active, `agents start` will automatically use that session unless `--session-id` is specified.
**Note:** When you start an agent, it automatically becomes the "current" agent. All subsequent commands use this agent by default. Use `--agent-id <agent-id>` only when you need to manage multiple agents. If a session is active, `agents start` will automatically use that session unless `--session-id` is specified.

### Functions

```bash
notte functions list # List all functions
notte functions create --file workflow.py # Create a new function
notte functions show # View current function details
notte functions show --id <id> # View specific function details (different from current function)
notte functions show --function-id <id> # View specific function details (different from current function)
notte functions update --file workflow.py # Update current function code
notte functions delete # Delete current function
notte functions fork # Fork current function to new version
Expand All @@ -168,40 +168,39 @@ notte functions schedule --cron "0 9 * * *" # Schedule current function
notte functions unschedule # Remove schedule from current function
```

**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands use this function by default. Use `--id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function.
**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands use this function by default. Use `--function-id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function.

### Vaults

```bash
notte vaults list # List all vaults
notte vaults create # Create a new vault
notte vaults update --id <id> # Update vault metadata
notte vaults delete --id <id> # Delete a vault
notte vaults credentials list --id <id> # List all credentials
notte vaults credentials add --id <id> # Add credentials
notte vaults credentials get --id <id> # Get credentials for URL
notte vaults credentials delete --id <id> # Delete credentials
notte vaults list # List all vaults
notte vaults create # Create a new vault
notte vaults update --vault-id <id> # Update vault metadata
notte vaults delete --vault-id <id> # Delete a vault
notte vaults credentials list --vault-id <id> # List all credentials
notte vaults credentials add --vault-id <id> # Add credentials
notte vaults credentials get --vault-id <id> # Get credentials for URL
notte vaults credentials delete --vault-id <id> # Delete credentials
```

### Personas

```bash
notte personas list # List all personas
notte personas create # Create a new persona
notte personas show --id <id> # View persona details
notte personas delete --id <id> # Delete a persona
notte personas emails --id <id> # Manage email addresses
notte personas sms --id <id> # Manage SMS numbers
notte personas phone --id <id> # Manage phone numbers
notte personas list # List all personas
notte personas create # Create a new persona
notte personas show --persona-id <id> # View persona details
notte personas delete --persona-id <id> # Delete a persona
notte personas emails --persona-id <id> # List emails
notte personas sms --persona-id <id> # List SMS messages
```

### Profiles

```bash
notte profiles list # List all profiles
notte profiles create # Create a new profile
notte profiles show --id <id> # View profile details
notte profiles delete --id <id> # Delete a profile
notte profiles list # List all profiles
notte profiles create # Create a new profile
notte profiles show --profile-id <id> # View profile details
notte profiles delete --profile-id <id> # Delete a profile
```

### Files
Expand Down Expand Up @@ -278,7 +277,7 @@ notte sessions stop
notte functions list

# Run workflow
notte functions run --id func_abc123
notte functions run --function-id func_abc123
```

### Managing Credentials Securely
Expand All @@ -288,13 +287,13 @@ notte functions run --id func_abc123
VAULT_ID=$(notte vaults create --name "Production Sites" -o json | jq -r '.id')

# Add website credentials
notte vaults credentials add --id $VAULT_ID \
notte vaults credentials add --vault-id $VAULT_ID \
--username "admin@example.com" \
--password "$SECURE_PASSWORD" \
--url "https://app.example.com"

# List stored credentials
notte vaults credentials list --id $VAULT_ID
notte vaults credentials list --vault-id $VAULT_ID
```

### Multi-Step Browser Automation
Expand Down
36 changes: 18 additions & 18 deletions skills/notte-browser/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,10 @@ notte agents workflow-code
notte agents replay
```

**Note:** When you start an agent, it automatically becomes the "current" agent (saved to `~/.notte/cli/current_agent`). All subsequent commands use this agent by default. Use `--id <agent-id>` only when you need to manage multiple agents simultaneously or reference a specific agent.
**Note:** When you start an agent, it automatically becomes the "current" agent (saved to `~/.notte/cli/current_agent`). All subsequent commands use this agent by default. Use `--agent-id <agent-id>` only when you need to manage multiple agents simultaneously or reference a specific agent.

**Agent ID Resolution:**
1. `--id` flag (highest priority)
1. `--agent-id` flag (highest priority)
2. `NOTTE_AGENT_ID` environment variable
3. `~/.notte/cli/current_agent` file (lowest priority)

Expand Down Expand Up @@ -253,10 +253,10 @@ notte functions schedule --cron "0 9 * * *"
notte functions unschedule

# Fork a shared function to your account
notte functions fork --id <shared-function-id>
notte functions fork --function-id <shared-function-id>
```

**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands use this function by default. Use `--id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function (like when forking a shared function).
**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands use this function by default. Use `--function-id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function (like when forking a shared function).


### Account Management
Expand All @@ -271,16 +271,16 @@ notte personas list
notte personas create [--create-phone-number] [--create-vault]

# Show persona details
notte personas show --id <persona-id>
notte personas show --persona-id <persona-id>

# Delete a persona
notte personas delete --id <persona-id>
notte personas delete --persona-id <persona-id>

# List emails received by persona
notte personas emails --id <persona-id>
notte personas emails --persona-id <persona-id>

# List SMS messages received
notte personas sms --id <persona-id>
notte personas sms --persona-id <persona-id>
```

**Vaults** - Store your own credentials:
Expand All @@ -293,16 +293,16 @@ notte vaults list
notte vaults create [--name "My Vault"]

# Update vault name
notte vaults update --id <vault-id> --name "New Name"
notte vaults update --vault-id <vault-id> --name "New Name"

# Delete a vault
notte vaults delete --id <vault-id>
notte vaults delete --vault-id <vault-id>

# Manage credentials
notte vaults credentials list --id <vault-id>
notte vaults credentials add --id <vault-id> --url "https://site.com" --password "pass" [--email "..."] [--username "..."] [--mfa-secret "..."]
notte vaults credentials get --id <vault-id> --url "https://site.com"
notte vaults credentials delete --id <vault-id> --url "https://site.com"
notte vaults credentials list --vault-id <vault-id>
notte vaults credentials add --vault-id <vault-id> --url "https://site.com" --password "pass" [--email "..."] [--username "..."] [--mfa-secret "..."]
notte vaults credentials get --vault-id <vault-id> --url "https://site.com"
notte vaults credentials delete --vault-id <vault-id> --url "https://site.com"
```

## Global Options
Expand All @@ -322,7 +322,7 @@ Available on all commands:
| Variable | Description |
|----------|-------------|
| `NOTTE_API_KEY` | API key for authentication |
| `NOTTE_SESSION_ID` | Default session ID (avoids --id flag) |
| `NOTTE_SESSION_ID` | Default session ID (avoids --session-id flag) |
| `NOTTE_API_URL` | Custom API endpoint URL |

## Session ID Resolution
Expand Down Expand Up @@ -369,7 +369,7 @@ notte sessions stop
```bash
# Setup credentials once
notte vaults create --name "MyService"
notte vaults credentials add --id <vault-id> \
notte vaults credentials add --vault-id <vault-id> \
--url "https://myservice.com" \
--email "me@example.com" \
--password "mypassword" \
Expand All @@ -395,10 +395,10 @@ EOF
notte functions create --file collect_data.py --name "Daily Data Collection"

# Schedule to run every day at 9 AM
notte functions schedule --id <function-id> --cron "0 9 * * *"
notte functions schedule --function-id <function-id> --cron "0 9 * * *"

# Check run history
notte functions runs --id <function-id>
notte functions runs --function-id <function-id>
```

## Tips & Troubleshooting
Expand Down
34 changes: 17 additions & 17 deletions skills/notte-browser/references/account-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ notte personas create --create-vault
notte personas list

# View persona details
notte personas show --id <persona-id>
notte personas show --persona-id <persona-id>

# Delete persona
notte personas delete --id <persona-id>
notte personas delete --persona-id <persona-id>
```

### Receiving Emails
Expand All @@ -56,7 +56,7 @@ Personas have real email inboxes that receive messages:

```bash
# List emails received by persona
notte personas emails --id <persona-id>
notte personas emails --persona-id <persona-id>
```

Example response:
Expand All @@ -80,7 +80,7 @@ For personas with phone numbers:

```bash
# List SMS messages
notte personas sms --id <persona-id>
notte personas sms --persona-id <persona-id>
```

Example response:
Expand Down Expand Up @@ -118,7 +118,7 @@ notte page click "@submit"
sleep 10

# Get verification code from email
CODE=$(notte personas emails --id "$PERSONA_ID" -o json | \
CODE=$(notte personas emails --persona-id "$PERSONA_ID" -o json | \
jq -r '.emails[0].body' | \
grep -oE '[0-9]{6}')

Expand Down Expand Up @@ -149,10 +149,10 @@ notte vaults create --name "Work Accounts"
notte vaults list

# Update vault name
notte vaults update --id <vault-id> --name "Personal Accounts"
notte vaults update --vault-id <vault-id> --name "Personal Accounts"

# Delete vault
notte vaults delete --id <vault-id>
notte vaults delete --vault-id <vault-id>
```

## Credential Management
Expand All @@ -165,21 +165,21 @@ Store credentials for specific URLs:

# Add credentials email
notte vaults credentials add \
--id <vault-id> \
--vault-id <vault-id> \
--url "https://example.com" \
--email "user@example.com" \
--password "mypassword"

# With username (for sites that use username instead of email)
notte vaults credentials add \
--id <vault-id> \
--vault-id <vault-id> \
--url "https://example.com" \
--username "myusername" \
--password "mypassword"

# With MFA secret for TOTP
notte vaults credentials add \
--id <vault-id> \
--vault-id <vault-id> \
--url "https://example.com" \
--email "user@example.com" \
--password "mypassword" \
Expand All @@ -189,23 +189,23 @@ notte vaults credentials add \
### Listing Credentials

```bash
notte vaults credentials list --id <vault-id>
notte vaults credentials list --vault-id <vault-id>
```

Note: Passwords are not returned in list output for security.

### Getting Credentials for a URL

```bash
notte vaults credentials get --id <vault-id> --url "https://example.com"
notte vaults credentials get --vault-id <vault-id> --url "https://example.com"
```

Returns credentials matching the URL.

### Deleting Credentials

```bash
notte vaults credentials delete --id <vault-id> --url "https://example.com"
notte vaults credentials delete --vault-id <vault-id> --url "https://example.com"
```

## MFA/TOTP Support
Expand All @@ -215,7 +215,7 @@ When you add an `--mfa-secret`, Notte can automatically generate TOTP codes:
```bash
# Add credentials with MFA secret
notte vaults credentials add \
--id <vault-id> \
--vault-id <vault-id> \
--url "https://secure.example.com" \
--email "user@example.com" \
--password "password123" \
Expand Down Expand Up @@ -253,7 +253,7 @@ Use vaults when you need:

```bash
# Login automation
notte vaults credentials add --id <vault-id> \
notte vaults credentials add --vault-id <vault-id> \
--url "https://dashboard.example.com" \
--email "myreal@email.com" \
--password "myrealpassword" \
Expand Down Expand Up @@ -303,7 +303,7 @@ notte personas create --create-vault

5. **Clean up test personas** - delete when no longer needed:
```bash
notte personas delete --id <persona-id>
notte personas delete --persona-id <persona-id>
```

## Complete Example: Authenticated Data Collection
Expand All @@ -314,7 +314,7 @@ set -euo pipefail

# Setup: Create vault and add credentials (one-time)
# notte vaults create --name "Analytics Dashboard"
# notte vaults credentials add --id <vault-id> \
# notte vaults credentials add --vault-id <vault-id> \
# --url "https://analytics.example.com" \
# --email "analyst@company.com" \
# --password "securepassword" \
Expand Down
6 changes: 3 additions & 3 deletions skills/notte-browser/references/function-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ notte functions schedule --cron "0 9 * * *"

## Creating Functions

**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands (run, update, schedule, etc.) use this function by default. Use `--id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function.
**Note:** When you create a function, it automatically becomes the "current" function. All subsequent commands (run, update, schedule, etc.) use this function by default. Use `--function-id <function-id>` only when you need to manage multiple functions simultaneously or reference a specific function.

### From a Python File

Expand Down Expand Up @@ -396,7 +396,7 @@ notte functions create --file workflow.py --shared
Copy a shared function to your account:

```bash
notte functions fork --id <shared-function-id>
notte functions fork --function-id <shared-function-id>
```

Creates a new function with the same code under your account.
Expand Down Expand Up @@ -547,7 +547,7 @@ notte functions schedule --cron "0 9 * * *"
notte functions list

# Switch to the function you want to delete
notte functions show --id <old-func-id>
notte functions show --function-id <old-func-id>

# Delete it
notte functions delete --yes
Expand Down
6 changes: 3 additions & 3 deletions skills/notte-browser/templates/authenticated-session.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# - notte CLI installed and authenticated (notte auth login)
# - Vault created with credentials for the target site:
# notte vaults create --name "MyVault"
# notte vaults credentials add --id <vault-id> \
# notte vaults credentials add --vault-id <vault-id> \
# --url "https://example.com" \
# --email "user@example.com" \
# --password "password" \
Expand Down Expand Up @@ -85,7 +85,7 @@ load_credentials_from_vault() {

log_step "Loading credentials from vault..."
local creds
creds=$(notte vaults credentials get --id "$VAULT_ID" --url "$LOGIN_URL" -o json 2>/dev/null || echo "{}")
creds=$(notte vaults credentials get --vault-id "$VAULT_ID" --url "$LOGIN_URL" -o json 2>/dev/null || echo "{}")

EMAIL=$(echo "$creds" | jq -r '.email // empty')
PASSWORD=$(echo "$creds" | jq -r '.password // empty')
Expand Down Expand Up @@ -185,7 +185,7 @@ main() {
log_error "No credentials available. Set EMAIL/PASSWORD or configure vault."
log_info "To set up vault:"
log_info " notte vaults create --name 'MyVault'"
log_info " notte vaults credentials add --id <vault-id> \\"
log_info " notte vaults credentials add --vault-id <vault-id> \\"
log_info " --url '$LOGIN_URL' \\"
log_info " --email 'your@email.com' \\"
log_info " --password 'yourpassword'"
Expand Down
Loading