Command-line interface for Index Network. Chat with the AI agent, manage signals, and discover opportunities — all from your terminal.
npm install -g @indexnetwork/cliIndex helps you find the right people—and helps the right people find you—based on what you are actually trying to do, not just a profile headline. The value is grounded intros: suggestions come from communities you share (syndicates, founder groups, firm networks), not from spraying the open web.
The flow below is one complete story—shape a room, invite people, publish what you need, run discovery inside that context, watch broker negotiations, then accept a match.
# login + setup
index login
index profile
# 1. express intent (signals)
index intent create "federated learning collaboration"
# 2. discovery = sourcing + negotiations
index opportunity discover "federated learning collaboration"
# 3. check what the agents negotiated
index negotiation list --since 1h
index negotiation show <negotiation-id>
# 4. review outcomes (opportunities) and decide
index opportunity list --status pending
index opportunity show <opportunity-id>
index opportunity accept <opportunity-id>Words you will see elsewhere in this doc: network = a community you are in; intent = your “what I am looking for” post; opportunity = a suggested introduction between you and someone else.
Authenticate with Index Network. Opens a browser window that exchanges your existing session for a CLI token, or starts a fresh OAuth flow.
index login # Browser-based auth (default)
index login --token <jwt> # Manual token (skip browser)
index login --api-url <url> # Custom server URLCredentials are stored in ~/.index/credentials.json.
Clear stored credentials.
index logoutManage your signals (intents). Create signals from natural language, list active signals, view details, and archive signals you no longer need.
index intent list # List active signals
index intent list --archived # Include archived signals
index intent list --limit 5 # Limit to 5 results
index intent show <id> # Show full signal details
index intent create "Looking for a CTO" # Create from natural language
index intent update <id> "revised text" # Update a signal (runs full pipeline)
index intent archive <id> # Archive a signal
index intent link <id> <network-id> # Link a signal to a network
index intent unlink <id> <network-id> # Unlink a signal from a network
index intent links <id> # List networks linked to a signalInspect agent negotiations — the autonomous turn-by-turn exchanges between broker agents that evaluate whether an opportunity exists.
index negotiation list # List your agent's negotiations
index negotiation list --limit 10 # Limit results
index negotiation list --since 1d # Negotiations from the last 24 hours
index negotiation list --since 2026-04-01 # Since a specific date
index negotiation show <id> # Show turn-by-turn details (accepts short ID)Browse and manage discovered opportunities.
index opportunity list # List all opportunities
index opportunity list --status pending # Filter by status
index opportunity list --limit 5 # Limit results
index opportunity show <id> # Show full details
index opportunity accept <id> # Accept an opportunity
index opportunity reject <id> # Reject an opportunity
index opportunity discover "query" # Discover opportunities by search
index opportunity discover --target <id> # Discover with a specific user
index opportunity discover --introduce <a> <b> # Introduce two usersStatus values: pending, accepted, rejected, expired.
Manage networks (communities). List, create, join, leave, and invite members.
index network list # List your networks
index network create "My Network" # Create a network
index network create "AI" --prompt "AI researchers" # Create with description
index network show <id> # Show details and members
index network update <id> --title "New Name" # Update a network
index network delete <id> # Delete a network
index network join <id> # Join a public network
index network leave <id> # Leave a network
index network invite <id> user@email # Invite a user by emailUnified conversation command for AI agent chat and human-to-human messaging. Supports streaming responses, inline markdown formatting, tool call indicators, and special blocks (signal proposals, opportunities).
index conversation # Interactive AI chat REPL
index conversation "find me collaborators" # One-shot message to AI agent
index conversation --session <id> # Resume an AI chat session
index conversation sessions # List AI chat sessions
index conversation list # List all conversations (H2A + H2H)
index conversation with <user-id> # Open or resume a DM
index conversation show <id> # Show messages
index conversation send <id> <msg> # Send a message
index conversation stream # Real-time SSE streamView user profiles and trigger profile regeneration.
index profile # Show your own profile
index profile show <user-id> # Show another user's profile
index profile sync # Regenerate your profile
index profile search <query> # Search profiles by name or keyword
index profile create # Generate profile from social links
index profile update <action> [--details <text>] # Update profile (action is the verb-phrase, e.g. "add interests")Manage your contacts. Add, list, remove, or import contacts.
index contact list # List your contacts
index contact add user@email # Add a contact by email
index contact add user@email --name "Name" # Add with display name
index contact remove user@email # Remove a contact
index contact import --gmail # Import contacts from GmailScrape and extract content from a URL.
index scrape https://example.com # Scrape a URL
index scrape https://example.com --objective "..." # Scrape with focusSync all user context (profile, networks, intents, contacts) to a local file.
index sync # Sync to ~/.index/context.json
index sync --json # Output to stdout as JSONThe opportunity discover command supports multiple modes for creating connections. Each mode can be combined with flags to customize the discovery.
Find people whose intents match a search query. The protocol runs HyDE-powered semantic search across your networks.
index opportunity discover "looking for an AI engineer with privacy expertise"Scope discovery to a specific user. Use when you already know who you want to connect with.
# First, find the user
index profile search "Jane Smith"
# Then create a direct opportunity with them
index opportunity discover "collaborate on open-source LLM tooling" --target <user-id>Introduce two people you think should connect. You become the introducer — both parties see you as the connector. The CLI automatically finds shared networks, gathers profiles and intents, then creates the introduction.
# Introduce two users to each other
index opportunity discover --introduce <user-id-a> <user-id-b>
# Provide a reason for the introduction
index opportunity discover --introduce <user-id-a> <user-id-b> "both working on privacy-preserving ML"Use this when you want to propose an opportunity outright instead of running discovery: pick the community (--network), list each person (--party, two or more), and when it matters, tie a person to one of their signals with userId:intentId on that line and add why it fits (--reason). Here Alice and Bob carry explicit signals; Carol does not. This command is not in the CLI yet; it is the shape we intend to ship.
index opportunity create \
--network <network-id> \
--party <alice-id>:<alice-intent-id> \
--party <bob-id>:<bob-intent-id> \
--party <carol-id> \
--reason "Alice, Bob, and Carol are all working on federated learning from different angles" \
--category "collaboration" \
--confidence 0.9After discovery creates draft opportunities, review and accept/reject them.
# List pending opportunities
index opportunity list --status pending
# See full details (reasoning, scores, mutual intents)
index opportunity show <id>
# Accept — starts a conversation thread
index opportunity accept <id>
# Or reject
index opportunity reject <id>| Flag | Short | Description |
|---|---|---|
--api-url <url> |
Override API server (default: https://protocol.index.network) |
|
--app-url <url> |
Override app URL for login (default: https://index.network) |
|
--token <token> |
-t |
Provide bearer token directly |
--session <id> |
-s |
Resume a specific chat session |
--archived |
Include archived signals (intent list) | |
--status <status> |
Filter opportunities by status | |
--limit <n> |
Limit number of results | |
--since <date> |
Filter by time: ISO date or duration like 1h, 2d, 1w |
|
--prompt <text> |
-p |
Network description (for network create) |
--title <text> |
Network title (for network update) |
|
--name <name> |
Display name (for contact add) |
|
--gmail |
Import from Gmail (for contact import) |
|
--target <id> |
Target user ID (for opportunity discover) |
|
--introduce <id> |
Introduce two users (for opportunity discover) |
|
--objective <text> |
Focus objective (for scrape) |
|
--json |
Output raw JSON to stdout | |
--help |
-h |
Show help |
--version |
-v |
Show version |
# Run directly with Bun (no build step)
bun src/main.ts conversation
# Build for all platforms
bun run build
# Build for current platform only (fast dev builds)
bun scripts/build.ts --current
# Run tests
bun test
# Dry-run publish
bun scripts/publish.ts --dry-run