Local-first CLI for agent skills, browser automation, knowledge bases, external CLIs, and terminal AI chat.
313
stars
54
commits
Python
primary language
Sep 9, 2026
updated
A unified CLI for local skills, browser automation, external CLIs, and terminal AI chat.
Why • Installation • Quick Start • Browser • Commands • TUI • Development
advai-cli is a unified command-line interface for managing local skills, driving a Chrome extension-backed browser bridge, working with external CLIs, and chatting with AI from the terminal through a single advai entrypoint.
It is designed as a lightweight Python-first core with npm and Homebrew distribution options, making it easy to install in different developer environments while keeping the runtime model simple, local-first, and predictable.
advai browser~/.advaiadvai info and advai updateadvai browseradvai cli <name> ...flowchart LR
U[Developer] --> A[advai command]
subgraph Distribution
P[PyPI package]
N[npm wrapper]
B[Homebrew formula]
end
P --> A
N --> A
B --> A
A --> C[Python CLI core]
C --> S[Local Skills Manager]
C --> BB[Browser Bridge]
C --> O[OpenCLI Bridge]
C --> T[Terminal TUI]
C --> I[Runtime Inspection]
S --> FS[~/.advai/skills]
BB --> BSD[~/.advai/browser]
BB --> EXT[Browser extension + local daemon]
T --> API[OpenAI-compatible API]
O --> OC[opencli binary]
3.10+14+ only if you install through npmopencli is required only for external CLI discovery, install, and passthrough executionadvai browserpip install advai-cli
npm install -g advai-cli
The npm package creates a private Python virtual environment during postinstall
and installs the matching advai-cli version from PyPI into that environment.
brew tap Advai-X/tap
brew install advai-cli
./install.sh
advai --help
advai info
export ADVAI_API_KEY=your_api_key
advai tui
advai skill list
advai cli list
advai browser doctor
advai browser open demo https://example.com
advai browser exec demo "document.title"
advai browser provides a Chrome extension-backed automation layer for opening pages, executing JavaScript, waiting for selectors, interacting with inputs, reading network events, and taking screenshots.
advai-cli provides the command surface, browser bridge client, and built-in local daemon~/.advai/browseradvai browser doctor to confirm the daemon and extension are reachableIf the daemon is not already running, browser commands can auto-start the built-in advai browser daemon.
advai browser doctor
advai browser open demo https://example.com
advai browser open demo https://example.com --replace
advai browser wait demo --selector "h1"
advai browser exec demo "document.title"
advai browser type demo "#search" "advai browser"
advai browser click demo "button[type=submit]"
advai browser screenshot demo --output page.png
| Command | Description |
|---|---|
advai browser doctor | Show daemon status, selected context, and connected extensions |
advai browser extensions | List connected extension contexts |
advai browser open <session> <url> | Open a URL in a named browser session |
advai browser open <session> <url> --replace | Reuse the current tab if the session already has one |
advai browser navigate <session> <url> | Navigate the current page |
advai browser state <session> | Show the current session state |
advai browser exec <session> "<js>" | Execute JavaScript in the current page |
advai browser wait <session> --selector <css> | Wait until a selector exists |
advai browser click <session> <selector> | Click an element |
advai browser type <session> <selector> <text> | Type text into an input |
advai browser get <session> [--selector <css>] | Read page or element details |
advai browser extract <session> [code] | Extract structured data from the page |
advai browser screenshot <session> --output <file> | Save a screenshot to disk |
advai browser tabs list <session> | List tabs for a session |
advai browser network start <session> --pattern <text> | Start network capture |
advai browser network read <session> | Read captured network events |
demo, zhihu, or checkout-flowopen creates a new tab by default; use open --replace to reuse the current tab for the sessiondoctor reports that browser support is missing, verify that the browser extension/runtime is installed and reachable locallyThese are the canonical commands to use in docs, screenshots, and promotional assets:
advai info
advai browser doctor
advai browser open demo https://example.com
advai skill list
advai cli list
advai tui
| Command | Description |
|---|---|
advai --help | Show the main command help |
advai info | Show runtime, installation, and environment details |
advai update | Print the recommended update command for the current install method |
advai browser doctor | Show browser bridge status and connected extension contexts |
advai browser open <session> <url> | Open a URL in a named browser session |
advai browser open <session> <url> --replace | Reuse the current tab if the session already has one |
advai browser exec <session> "<js>" | Execute JavaScript in the selected browser context |
advai browser screenshot <session> --output <file> | Save a browser screenshot to disk |
advai tui | Start the terminal chat interface |
advai skill list | List locally installed skills |
advai skill info <name> | Show local metadata for a skill |
advai skill install <github-url> [--skill <name>] | Install skill definitions from a GitHub repo |
advai skill install <github-url> --platform <key> | Install and sync a skill to one or more target platforms |
advai skill update [name] | Refresh one or all installed skills |
advai skill uninstall <name> | Remove an installed skill |
advai skill sync <name> --platform <key> | Sync an installed skill into one or more platform skills directories |
advai skill unsync <name> --platform <key> | Remove synced platform targets for a skill |
advai skill platform list | List built-in and custom skill platforms |
advai skill platform add <key> --name <name> --path <dir> | Register a custom skill platform |
advai skill platform override <key> --path <dir> | Override a platform skills directory |
advai skill platform clear-override <key> | Reset platform path overrides |
advai cli list | List installable external CLIs from OpenCLI |
advai cli info <name> | Show details for an external CLI |
advai cli install <github-url> [--cli <name>] | Register external CLI definitions from a GitHub repo |
advai cli update <name> --yes | Update an external CLI without confirmation |
advai cli uninstall <name> --yes | Uninstall an external CLI without confirmation |
advai cli <name> ... | Execute a supported external CLI through advai |
advai kb create <name> | Create a local knowledge base |
advai kb doc add <name> <path> | Copy a document into a knowledge base |
advai kb search <name> <query> | Search stored knowledge base documents |
advai kb sync <name> | Refresh stored documents from their source files |
The TUI connects to any OpenAI-compatible /chat/completions backend and runs entirely inside the terminal.
advai tui
advai tui --agent default
advai tui --model gpt-4o-mini
advai tui --base-url https://api.openai.com/v1
advai tui --system-prompt "You are a concise terminal coding assistant."
advai tui --timeout 180
advai-cli supports both ADVAI_* and part of the standard OPENAI_* naming for compatibility.
| Variable | Required | Default | Description |
|---|---|---|---|
ADVAI_API_KEY | Yes* | none | API key for the AI backend |
ADVAI_BASE_URL | No | https://api.openai.com/v1 | Base URL for an OpenAI-compatible API |
ADVAI_AGENT | No | default | Default agent used by advai tui |
ADVAI_AGENTS | No | default | Comma-separated agents shown by the interactive /agent picker |
ADVAI_MODEL | No | gpt-4o-mini | Default model used by advai tui |
ADVAI_MODELS | No | built-in model list | Comma-separated models shown by the interactive /model picker |
ADVAI_SYSTEM_PROMPT | No | built-in prompt | Initial system prompt |
ADVAI_TIMEOUT | No | 120 | Request timeout in seconds |
ADVAI_SKILLS_SH_TOKEN | No | none | Optional token for skills.sh API-first skill search/detail lookups; falls back to HTML when unset or unavailable |
OPENAI_API_KEY | Yes* | none | Fallback if ADVAI_API_KEY is not set |
OPENAI_BASE_URL | No | none | Fallback if ADVAI_BASE_URL is not set |
OPENAI_MODEL | No | none | Fallback if ADVAI_MODEL is not set |
* ADVAI_API_KEY or OPENAI_API_KEY must be set before running advai tui.
/help
/clear
/agent
/agent default
/model
/model gpt-4o-mini
/system You are a helpful assistant.
/save ./chat.md
/exit
Run /agent with no arguments to open an interactive agent picker.
Run /model with no arguments to open an interactive model picker. Use the up and down arrow keys to choose a model, then press Enter to confirm.
Skills are stored locally under ~/.advai/skills.
advai skill list
advai skill search design --source skills_sh
advai skill platform list
advai skill info demo-skill
advai skill install https://github.com/your-org/skill-repo
advai skill install https://github.com/your-org/skill-repo --skill demo-skill
advai skill install https://github.com/your-org/skill-repo --skill demo-skill --platform cursor
advai skill install find-skills --source skills_sh
advai skill install skills.sh:vercel-labs/skills/find-skills
advai skill install https://skills.sh/vercel-labs/skills/find-skills
advai skill sync demo-skill --platform trae
advai skill sync demo-skill --platform omp_agent --project-dir /path/to/repo
advai skill unsync demo-skill --platform cursor
advai skill platform add custom_agent --name "Custom Agent" --path ~/.custom-agent/skills
advai skill platform override cursor --path ~/.cursor/skills
advai skill update demo-skill
advai skill uninstall demo-skill
advai skill sync --platform <key> currently includes 51 built-in platform adapters, plus custom platform support through advai skill platform add.
| Key | Platform |
|---|---|
adal | AdaL |
amp | Amp |
antigravity | Antigravity |
augment | Augment |
bob | IBM Bob |
claude_code | Claude Code |
cline | Cline |
codebuddy | CodeBuddy |
codex | Codex |
command_code | Command Code |
continue | Continue |
cortex | Cortex Code |
crush | Crush |
cursor | Cursor |
deepagents | Deep Agents |
droid | Droid |
firebender | Firebender |
gemini_cli | Gemini CLI |
github_copilot | GitHub Copilot |
goose | Goose |
grok | Grok |
iflow | iFlow CLI |
junie | Junie |
kilo_code | Kilo Code |
kimi | Kimi Code CLI |
kiro | Kiro CLI |
kode | Kode |
mcpjam | MCPJam |
mistral_vibe | Mistral Vibe |
mux | Mux |
neovate | Neovate |
omp_agent | OMP Agent |
openhands | OpenHands |
opencode | OpenCode |
pi | Pi |
pochi | Pochi |
qoder | Qoder |
qwen_code | Qwen Code |
replit | Replit |
roo_code | Roo Code |
trae | TRAE IDE |
trae_cn | TRAE CN |
warp | Warp |
windsurf | Windsurf |
zencoder | Zencoder |
| Key | Platform |
|---|---|
autoclaw | AutoClaw |
easyclaw | EasyClaw |
hermes | Hermes Agent |
openclaw | OpenClaw |
qclaw | QClaw |
workbuddy | WorkBuddy |
advai skill platform add <key> --name <name> --path <dir> to register any additional agent or internal platform that stores skills on disk.advai skill platform override <key> --path <dir> or --project-path <dir> to adapt built-in platform paths to your local setup.Current scope:
skills/ directory instead of copying the whole reposkills/ directory contains one skill, advai installs it automaticallyskills/ directory contains multiple skills, advai prompts whether to install all of them; use --skill <name> to choose one explicitlyadvai skill search <query> can discover skills from provider-backed sources such as skills.shadvai skill update <name> reuses the saved install source metadata, including provider-backed sources such as GitHub and skills.shadvai skill install supports GitHub repository URLs, provider-prefixed specs such as skills.sh:<owner>/<repo>/<skill>, and skills.sh skill page URLsadvai skill sync supports symlink and copy modes for writing skills into platform-specific directoriesadvai skill install <github-url> --platform <key> installs locally first, then syncs into each selected platformadvai skill install <name> --source skills_sh searches skills.sh; interactive terminals can choose from multiple matches, while --yes requires an unambiguous resultskills.sh search and detail lookups prefer the official API when ADVAI_SKILLS_SH_TOKEN (or SKILLS_SH_TOKEN / VERCEL_OIDC_TOKEN) is set, and fall back to public HTML pages otherwiseskills.sh installs currently resolve to the underlying GitHub repository and selected skill slug before local installationadvai skill uninstall <name> removes the local skill and cleans up any synced platform targets recorded in metadata--project-dirExternal CLI support is powered by opencli.
advai cli list
advai cli info demo-cli
advai cli install https://github.com/your-org/cli-repo
advai cli install https://github.com/your-org/cli-repo --cli demo-cli
advai cli update demo-cli --yes
advai cli uninstall demo-cli --yes
advai cli demo-cli --help
Notes:
advai cli list, advai cli info, advai cli install, advai cli update, and advai cli uninstall require opencli to be installed and available on PATHclis/ directory and register each selected CLI via opencli external registerclis/ directory contains multiple CLIs, advai prompts whether to install all of them; use --cli <name> to choose one explicitlyadvai-cli does not reimplement third-party CLIs; it provides a consistent entrypoint and installation surfaceKnowledge bases are stored locally under ~/.advai/kbs.
advai kb is also designed to be OKF-friendly. Based on the Open Knowledge Format (OKF) direction described by Google Cloud, the current implementation already works well with knowledge bundles that are organized as markdown files on disk, including files that contain YAML frontmatter.
advai kb create team-wiki
advai kb doc add team-wiki ./README.md
advai kb search team-wiki homebrew
advai kb sync team-wiki
Current scope:
advai kb create <name> initializes a local knowledge base directory and metadata fileadvai kb doc add <name> <path> copies a source document into the knowledge base and tracks its original pathadvai kb search <name> <query> performs a simple case-insensitive text search over stored document contentadvai kb sync <name> refreshes stored copies from the original source paths and reports any missing filesadvai/
ai_client.py OpenAI-compatible HTTP client
browser_bridge.py Chrome extension bridge client
cli.py Main CLI entrypoint
cli_manager.py Install detection, update commands, OpenCLI integration
kb.py Local knowledge base storage and search helpers
skill_platforms.py Platform adapter registry and path resolution
skills.py Local skill metadata management
tui.py Terminal chat UI
bin/
advai.js npm bridge that launches the private Python environment
install-python.js npm postinstall script that creates the private virtualenv
docs/
assets/
hero.png README hero image
Formula/
advai-cli.rb Homebrew formula
install.sh Bootstrap installer
python -m venv .venv
source .venv/bin/activate
pip install -e .
advai --help
python -m advai.cli info
~/.advai~/.advai/browser~/.advai/kbs~/.advai/skillspip, npm, or brew3.10+ and prepares a private environment during postinstallMIT
54 commits
Python
96.3%
JavaScript
2.3%
Shell
1.0%
Local-first CLI for agent skills, browser automation, knowledge bases, external CLIs, and terminal AI chat.
313
stars
54
commits
Python
primary language
Sep 9, 2026
updated
A unified CLI for local skills, browser automation, external CLIs, and terminal AI chat.
Why • Installation • Quick Start • Browser • Commands • TUI • Development
advai-cli is a unified command-line interface for managing local skills, driving a Chrome extension-backed browser bridge, working with external CLIs, and chatting with AI from the terminal through a single advai entrypoint.
It is designed as a lightweight Python-first core with npm and Homebrew distribution options, making it easy to install in different developer environments while keeping the runtime model simple, local-first, and predictable.
advai browser~/.advaiadvai info and advai updateadvai browseradvai cli <name> ...flowchart LR
U[Developer] --> A[advai command]
subgraph Distribution
P[PyPI package]
N[npm wrapper]
B[Homebrew formula]
end
P --> A
N --> A
B --> A
A --> C[Python CLI core]
C --> S[Local Skills Manager]
C --> BB[Browser Bridge]
C --> O[OpenCLI Bridge]
C --> T[Terminal TUI]
C --> I[Runtime Inspection]
S --> FS[~/.advai/skills]
BB --> BSD[~/.advai/browser]
BB --> EXT[Browser extension + local daemon]
T --> API[OpenAI-compatible API]
O --> OC[opencli binary]
3.10+14+ only if you install through npmopencli is required only for external CLI discovery, install, and passthrough executionadvai browserpip install advai-cli
npm install -g advai-cli
The npm package creates a private Python virtual environment during postinstall
and installs the matching advai-cli version from PyPI into that environment.
brew tap Advai-X/tap
brew install advai-cli
./install.sh
advai --help
advai info
export ADVAI_API_KEY=your_api_key
advai tui
advai skill list
advai cli list
advai browser doctor
advai browser open demo https://example.com
advai browser exec demo "document.title"
advai browser provides a Chrome extension-backed automation layer for opening pages, executing JavaScript, waiting for selectors, interacting with inputs, reading network events, and taking screenshots.
advai-cli provides the command surface, browser bridge client, and built-in local daemon~/.advai/browseradvai browser doctor to confirm the daemon and extension are reachableIf the daemon is not already running, browser commands can auto-start the built-in advai browser daemon.
advai browser doctor
advai browser open demo https://example.com
advai browser open demo https://example.com --replace
advai browser wait demo --selector "h1"
advai browser exec demo "document.title"
advai browser type demo "#search" "advai browser"
advai browser click demo "button[type=submit]"
advai browser screenshot demo --output page.png
| Command | Description |
|---|---|
advai browser doctor | Show daemon status, selected context, and connected extensions |
advai browser extensions | List connected extension contexts |
advai browser open <session> <url> | Open a URL in a named browser session |
advai browser open <session> <url> --replace | Reuse the current tab if the session already has one |
advai browser navigate <session> <url> | Navigate the current page |
advai browser state <session> | Show the current session state |
advai browser exec <session> "<js>" | Execute JavaScript in the current page |
advai browser wait <session> --selector <css> | Wait until a selector exists |
advai browser click <session> <selector> | Click an element |
advai browser type <session> <selector> <text> | Type text into an input |
advai browser get <session> [--selector <css>] | Read page or element details |
advai browser extract <session> [code] | Extract structured data from the page |
advai browser screenshot <session> --output <file> | Save a screenshot to disk |
advai browser tabs list <session> | List tabs for a session |
advai browser network start <session> --pattern <text> | Start network capture |
advai browser network read <session> | Read captured network events |
demo, zhihu, or checkout-flowopen creates a new tab by default; use open --replace to reuse the current tab for the sessiondoctor reports that browser support is missing, verify that the browser extension/runtime is installed and reachable locallyThese are the canonical commands to use in docs, screenshots, and promotional assets:
advai info
advai browser doctor
advai browser open demo https://example.com
advai skill list
advai cli list
advai tui
| Command | Description |
|---|---|
advai --help | Show the main command help |
advai info | Show runtime, installation, and environment details |
advai update | Print the recommended update command for the current install method |
advai browser doctor | Show browser bridge status and connected extension contexts |
advai browser open <session> <url> | Open a URL in a named browser session |
advai browser open <session> <url> --replace | Reuse the current tab if the session already has one |
advai browser exec <session> "<js>" | Execute JavaScript in the selected browser context |
advai browser screenshot <session> --output <file> | Save a browser screenshot to disk |
advai tui | Start the terminal chat interface |
advai skill list | List locally installed skills |
advai skill info <name> | Show local metadata for a skill |
advai skill install <github-url> [--skill <name>] | Install skill definitions from a GitHub repo |
advai skill install <github-url> --platform <key> | Install and sync a skill to one or more target platforms |
advai skill update [name] | Refresh one or all installed skills |
advai skill uninstall <name> | Remove an installed skill |
advai skill sync <name> --platform <key> | Sync an installed skill into one or more platform skills directories |
advai skill unsync <name> --platform <key> | Remove synced platform targets for a skill |
advai skill platform list | List built-in and custom skill platforms |
advai skill platform add <key> --name <name> --path <dir> | Register a custom skill platform |
advai skill platform override <key> --path <dir> | Override a platform skills directory |
advai skill platform clear-override <key> | Reset platform path overrides |
advai cli list | List installable external CLIs from OpenCLI |
advai cli info <name> | Show details for an external CLI |
advai cli install <github-url> [--cli <name>] | Register external CLI definitions from a GitHub repo |
advai cli update <name> --yes | Update an external CLI without confirmation |
advai cli uninstall <name> --yes | Uninstall an external CLI without confirmation |
advai cli <name> ... | Execute a supported external CLI through advai |
advai kb create <name> | Create a local knowledge base |
advai kb doc add <name> <path> | Copy a document into a knowledge base |
advai kb search <name> <query> | Search stored knowledge base documents |
advai kb sync <name> | Refresh stored documents from their source files |
The TUI connects to any OpenAI-compatible /chat/completions backend and runs entirely inside the terminal.
advai tui
advai tui --agent default
advai tui --model gpt-4o-mini
advai tui --base-url https://api.openai.com/v1
advai tui --system-prompt "You are a concise terminal coding assistant."
advai tui --timeout 180
advai-cli supports both ADVAI_* and part of the standard OPENAI_* naming for compatibility.
| Variable | Required | Default | Description |
|---|---|---|---|
ADVAI_API_KEY | Yes* | none | API key for the AI backend |
ADVAI_BASE_URL | No | https://api.openai.com/v1 | Base URL for an OpenAI-compatible API |
ADVAI_AGENT | No | default | Default agent used by advai tui |
ADVAI_AGENTS | No | default | Comma-separated agents shown by the interactive /agent picker |
ADVAI_MODEL | No | gpt-4o-mini | Default model used by advai tui |
ADVAI_MODELS | No | built-in model list | Comma-separated models shown by the interactive /model picker |
ADVAI_SYSTEM_PROMPT | No | built-in prompt | Initial system prompt |
ADVAI_TIMEOUT | No | 120 | Request timeout in seconds |
ADVAI_SKILLS_SH_TOKEN | No | none | Optional token for skills.sh API-first skill search/detail lookups; falls back to HTML when unset or unavailable |
OPENAI_API_KEY | Yes* | none | Fallback if ADVAI_API_KEY is not set |
OPENAI_BASE_URL | No | none | Fallback if ADVAI_BASE_URL is not set |
OPENAI_MODEL | No | none | Fallback if ADVAI_MODEL is not set |
* ADVAI_API_KEY or OPENAI_API_KEY must be set before running advai tui.
/help
/clear
/agent
/agent default
/model
/model gpt-4o-mini
/system You are a helpful assistant.
/save ./chat.md
/exit
Run /agent with no arguments to open an interactive agent picker.
Run /model with no arguments to open an interactive model picker. Use the up and down arrow keys to choose a model, then press Enter to confirm.
Skills are stored locally under ~/.advai/skills.
advai skill list
advai skill search design --source skills_sh
advai skill platform list
advai skill info demo-skill
advai skill install https://github.com/your-org/skill-repo
advai skill install https://github.com/your-org/skill-repo --skill demo-skill
advai skill install https://github.com/your-org/skill-repo --skill demo-skill --platform cursor
advai skill install find-skills --source skills_sh
advai skill install skills.sh:vercel-labs/skills/find-skills
advai skill install https://skills.sh/vercel-labs/skills/find-skills
advai skill sync demo-skill --platform trae
advai skill sync demo-skill --platform omp_agent --project-dir /path/to/repo
advai skill unsync demo-skill --platform cursor
advai skill platform add custom_agent --name "Custom Agent" --path ~/.custom-agent/skills
advai skill platform override cursor --path ~/.cursor/skills
advai skill update demo-skill
advai skill uninstall demo-skill
advai skill sync --platform <key> currently includes 51 built-in platform adapters, plus custom platform support through advai skill platform add.
| Key | Platform |
|---|---|
adal | AdaL |
amp | Amp |
antigravity | Antigravity |
augment | Augment |
bob | IBM Bob |
claude_code | Claude Code |
cline | Cline |
codebuddy | CodeBuddy |
codex | Codex |
command_code | Command Code |
continue | Continue |
cortex | Cortex Code |
crush | Crush |
cursor | Cursor |
deepagents | Deep Agents |
droid | Droid |
firebender | Firebender |
gemini_cli | Gemini CLI |
github_copilot | GitHub Copilot |
goose | Goose |
grok | Grok |
iflow | iFlow CLI |
junie | Junie |
kilo_code | Kilo Code |
kimi | Kimi Code CLI |
kiro | Kiro CLI |
kode | Kode |
mcpjam | MCPJam |
mistral_vibe | Mistral Vibe |
mux | Mux |
neovate | Neovate |
omp_agent | OMP Agent |
openhands | OpenHands |
opencode | OpenCode |
pi | Pi |
pochi | Pochi |
qoder | Qoder |
qwen_code | Qwen Code |
replit | Replit |
roo_code | Roo Code |
trae | TRAE IDE |
trae_cn | TRAE CN |
warp | Warp |
windsurf | Windsurf |
zencoder | Zencoder |
| Key | Platform |
|---|---|
autoclaw | AutoClaw |
easyclaw | EasyClaw |
hermes | Hermes Agent |
openclaw | OpenClaw |
qclaw | QClaw |
workbuddy | WorkBuddy |
advai skill platform add <key> --name <name> --path <dir> to register any additional agent or internal platform that stores skills on disk.advai skill platform override <key> --path <dir> or --project-path <dir> to adapt built-in platform paths to your local setup.Current scope:
skills/ directory instead of copying the whole reposkills/ directory contains one skill, advai installs it automaticallyskills/ directory contains multiple skills, advai prompts whether to install all of them; use --skill <name> to choose one explicitlyadvai skill search <query> can discover skills from provider-backed sources such as skills.shadvai skill update <name> reuses the saved install source metadata, including provider-backed sources such as GitHub and skills.shadvai skill install supports GitHub repository URLs, provider-prefixed specs such as skills.sh:<owner>/<repo>/<skill>, and skills.sh skill page URLsadvai skill sync supports symlink and copy modes for writing skills into platform-specific directoriesadvai skill install <github-url> --platform <key> installs locally first, then syncs into each selected platformadvai skill install <name> --source skills_sh searches skills.sh; interactive terminals can choose from multiple matches, while --yes requires an unambiguous resultskills.sh search and detail lookups prefer the official API when ADVAI_SKILLS_SH_TOKEN (or SKILLS_SH_TOKEN / VERCEL_OIDC_TOKEN) is set, and fall back to public HTML pages otherwiseskills.sh installs currently resolve to the underlying GitHub repository and selected skill slug before local installationadvai skill uninstall <name> removes the local skill and cleans up any synced platform targets recorded in metadata--project-dirExternal CLI support is powered by opencli.
advai cli list
advai cli info demo-cli
advai cli install https://github.com/your-org/cli-repo
advai cli install https://github.com/your-org/cli-repo --cli demo-cli
advai cli update demo-cli --yes
advai cli uninstall demo-cli --yes
advai cli demo-cli --help
Notes:
advai cli list, advai cli info, advai cli install, advai cli update, and advai cli uninstall require opencli to be installed and available on PATHclis/ directory and register each selected CLI via opencli external registerclis/ directory contains multiple CLIs, advai prompts whether to install all of them; use --cli <name> to choose one explicitlyadvai-cli does not reimplement third-party CLIs; it provides a consistent entrypoint and installation surfaceKnowledge bases are stored locally under ~/.advai/kbs.
advai kb is also designed to be OKF-friendly. Based on the Open Knowledge Format (OKF) direction described by Google Cloud, the current implementation already works well with knowledge bundles that are organized as markdown files on disk, including files that contain YAML frontmatter.
advai kb create team-wiki
advai kb doc add team-wiki ./README.md
advai kb search team-wiki homebrew
advai kb sync team-wiki
Current scope:
advai kb create <name> initializes a local knowledge base directory and metadata fileadvai kb doc add <name> <path> copies a source document into the knowledge base and tracks its original pathadvai kb search <name> <query> performs a simple case-insensitive text search over stored document contentadvai kb sync <name> refreshes stored copies from the original source paths and reports any missing filesadvai/
ai_client.py OpenAI-compatible HTTP client
browser_bridge.py Chrome extension bridge client
cli.py Main CLI entrypoint
cli_manager.py Install detection, update commands, OpenCLI integration
kb.py Local knowledge base storage and search helpers
skill_platforms.py Platform adapter registry and path resolution
skills.py Local skill metadata management
tui.py Terminal chat UI
bin/
advai.js npm bridge that launches the private Python environment
install-python.js npm postinstall script that creates the private virtualenv
docs/
assets/
hero.png README hero image
Formula/
advai-cli.rb Homebrew formula
install.sh Bootstrap installer
python -m venv .venv
source .venv/bin/activate
pip install -e .
advai --help
python -m advai.cli info
~/.advai~/.advai/browser~/.advai/kbs~/.advai/skillspip, npm, or brew3.10+ and prepares a private environment during postinstallMIT
54 commits
Python
96.3%
JavaScript
2.3%
Shell
1.0%