arbyte
v1.0.4
Published
Open-source AI coding companion CLI — chat, agent mode, file tools, terminal execution, and web search from your terminal
Maintainers
Readme
Arbyte
Your unhinged AI coding homie — right in the terminal.
Arbyte is an open-source CLI that brings AI chat and autonomous agent workflows to your command line. Install once, run from any folder, pick Gemini or OpenRouter, and ship.
Built by Arpit Agrahari.
Table of Contents
- Features
- Requirements
- Install
- Quick Start
- Commands
- First-Time Setup
- Ask Mode
- Agent Mode
- Agent Tools
- AI Providers & Models
- Web Search
- Configuration
- Examples
- Update & Uninstall
- Local Development
- Project Structure
- Security
- Troubleshooting
- Roadmap
- npm Keywords
- License & Author
Features
| Feature | Status | Description | |---------|--------|-------------| | Ask Mode | ✅ Live | Chat with AI in your terminal — Gen Z vibe, zero corporate bullshit | | Agent Mode | ✅ Live | Autonomous agent that reads/writes files, runs commands, searches the web | | Multi-LLM | ✅ Live | Gemini or OpenRouter with model selection | | Web Search | ✅ Live | Tavily-powered live web search in Ask & Agent modes | | File System Tools | ✅ Live | Read, write, list, delete files & create directories | | Terminal Execution | ✅ Live | Run shell commands with user approval every time | | Cross-Platform | ✅ Live | Windows, macOS, Linux | | Persistent Config | ✅ Live | Name, provider, model & keys saved locally | | CLI UI | ✅ Live | Animated banner, spinners, styled prompts |
Requirements
| Requirement | Details | |-------------|---------| | Node.js | v18+ required | | npm | v8+ | | Internet | Required for AI API calls | | API Key | Google AI Studio or OpenRouter | | Tavily Key | Optional — needed when agent/chat uses web search (tavily.com) |
Node.js version check
Arbyte automatically checks your Node.js version:
- On install — runs a postinstall check after
npm install -g arbyte - On launch — checks again when you run
arbyte wakeup
| Scenario | What happens | |----------|--------------| | Node v18+ | ✅ Good to go — continues normally | | Node too old on Windows | Tries to auto-install Node.js LTS (winget → chocolatey → direct download) | | Node too old on macOS / Linux | Shows install instructions — install manually from nodejs.org |
After auto-install on Windows, restart your terminal and run arbyte wakeup again.
Check your setup:
node -vnpm -vInstall
npm install -g arbyteVerify:
arbyte --versionExpected output:
Arbyte v1.0.4Quick Start
Step 1 — Install
npm install -g arbyteStep 2 — Launch
arbyte wakeupStep 3 — Onboarding
Follow the prompts: name → AI provider → model → API key.
Step 4 — Pick a mode
- Ask — chat only, web search when needed
- Agent — full autonomous mode with files, terminal & web
Commands
On GitHub and npm, hover any code block and click the copy icon in the top-right corner to copy the command.
Start Arbyte
arbyte wakeuparbyte warbyte -warbyte --wakeupCheck Version
arbyte versionarbyte -varbyte --versionShow Info
arbyte infoarbyte -iarbyte --infoCommand Reference
| Command | Short | Flag | What it does |
|---------|-------|------|--------------|
| arbyte wakeup | arbyte w | -w / --wakeup | Launch full interactive app |
| arbyte version | arbyte v | -v / --version | Print installed version |
| arbyte info | arbyte i | -i / --info | Show banner, features & credits |
Running arbyte with no args shows help.
First-Time Setup
When you run arbyte wakeup for the first time:
- Welcome screen — loading animation + Arbyte banner
- Your name — saved for future greetings
- AI provider — OpenRouter or Gemini
- Model — pick from available models
- API key — stored locally on your machine
- Main menu — Ask, Agent, Change AI, Exit
Available Models
OpenRouter
gpt-4onvidia/nemotron-3-ultra-550b-a55b:freegemini-2.5-flashgemini-2.5-flash-lite
Gemini
gemini-2.5-flashgemini-2.5-flash-lite
Ask Mode
Select Ask from the main menu for conversational AI chat.
Good for:
- Programming questions & debugging
- Code reviews & explanations
- Brainstorming & learning
- Live web search when the AI needs fresh info
Controls
| Input | Action |
|-------|--------|
| Type message + Enter | Send to AI |
| exit or quit | Return to main menu |
Ask Mode does not modify files or run terminal commands. Use Agent Mode for that.
Agent Mode
Select Agent from the main menu for autonomous task execution.
The agent can chain multiple tools in a loop until the job is done — read a file, edit it, run tests, search the web, and respond.
Good for:
- Creating or editing project files
- Exploring directory structure
- Running builds, tests, installs (with your approval)
- Research + implementation in one flow
Controls
| Input | Action |
|-------|--------|
| Describe your task + Enter | Agent starts working |
| exit or quit | Return to main menu |
Safety
- Terminal commands always ask for your permission before running
- File operations are scoped to the current working directory
- Every tool call logs a one-liner so you see what's happening
Example logs
→ list_directory: .
✔ list_directory: listed 12 items in .
→ read_file: package.json
✔ read_file: read 29 lines from package.json
→ terminal: npm test
✘ terminal: user denied command executionAgent Tools
| Tool | Description |
|------|-------------|
| read_file | Read file contents |
| write_file | Create or overwrite a file |
| list_directory | List files and folders |
| delete_file | Delete a file |
| create_directory | Create a folder |
| terminal | Run a shell command (requires approval) |
| web_search | Search the web via Tavily |
Works on Gemini and OpenRouter.
AI Providers & Models
Google Gemini
- API key: Google AI Studio
- Best for: Direct Gemini access, fast responses
OpenRouter
- API key: OpenRouter Keys
- Best for: Multiple models through one key (GPT-4o, Nemotron, Gemini, etc.)
Change Provider Later
Main menu → Change AI Provider & Model
Web Search
Arbyte uses Tavily for live web search in Ask and Agent modes.
On first search, you'll be prompted to:
- Choose provider — Tavily (DuckDuckGo coming soon)
- Enter your Tavily API key
Get a key at tavily.com.
Configuration
Arbyte saves settings locally using conf.
Saved Data
{
"user": "Your Name",
"ai": {
"ai_type": "OpenRouter",
"model": "gpt-4o",
"api_key": "your-api-key"
},
"web_search": {
"web_search_provider": "tavily",
"api_key": "your-tavily-key"
}
}Config Location
| OS | Path |
|----|------|
| Windows | %APPDATA%\arbyte\Config\config.json |
| macOS | ~/Library/Preferences/arbyte-nodejs/config.json |
| Linux | ~/.config/arbyte/config.json |
Reset Config
Windows (PowerShell)
Remove-Item "$env:APPDATA\arbyte" -Recurse -ForcemacOS / Linux
rm -rf ~/.config/arbyteThen run arbyte wakeup again for fresh setup.
Examples
Daily dev workflow
cd ~/projects/my-app
arbyte wakeupUpdate after a new release
npm update -g arbytearbyte --versionVS Code integrated terminal
arbyte wakeupUse Agent to scaffold a file
arbyte wakeupThen select Agent and type: create a utils/logger.js with a simple log function
Update & Uninstall
Update
npm update -g arbytenpm install -g arbyte@latestUninstall
npm uninstall -g arbyteOptionally delete your config (see Configuration).
Local Development
Clone & install
git clone https://github.com/Arpit10110/Arbyte.gitcd Arbytenpm installRun from source
node src/cli/arbyte.js wakeupLink globally for testing
npm linkarbyte wakeupPublish to npm (maintainers)
npm loginnpm publishProject Structure
arbyte/
├── src/
│ ├── cli/
│ │ └── arbyte.js # CLI entry point
│ ├── commands/
│ │ └── index.js # version, info, wakeup
│ ├── controller/
│ │ ├── agent/
│ │ │ ├── index.js # Agent entry (Gemini + OpenRouter)
│ │ │ ├── gemini.js
│ │ │ ├── openrouter.js
│ │ │ └── context.js # Agent system context builder
│ │ ├── tools/
│ │ │ ├── tool_caller.js # Tool dispatch + logs
│ │ │ ├── read_file.js
│ │ │ ├── write_file.js
│ │ │ ├── list_directory.js
│ │ │ ├── delete_file.js
│ │ │ ├── create_directory.js
│ │ │ ├── terminal.js
│ │ │ └── web_search.js
│ │ └── controller.js # Ask mode, setup, menu
│ ├── constants/
│ │ └── constant.js
│ ├── prompt/
│ │ ├── ask.js # Ask mode personality
│ │ ├── agent.js # Agent mode personality
│ │ └── tools_prompts/ # Individual tool prompts
│ └── utils/
│ ├── banner.js
│ ├── take_inputs.js
│ └── web_search_config.js
├── package.json
└── README.mdSecurity
- Never commit API keys to git or paste them in source code
- Keys are stored locally in plain text in your config file
- Enter keys only through the CLI prompts
- Rotate keys immediately if exposed
- Terminal commands require explicit approval in Agent mode
Troubleshooting
arbyte is not recognized
npm config get prefixAdd that path to your system PATH, then restart the terminal.
Permission errors on Linux/macOS
mkdir -p ~/.npm-globalnpm config set prefix '~/.npm-global'echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrcsource ~/.bashrcnpm install -g arbyteAPI key / auth errors
- Use a Gemini key for Gemini, OpenRouter key for OpenRouter
- Re-enter via Change AI Provider & Model in the main menu
Agent tool failures
- Make sure you're in the right directory (
cdto your project first) - Terminal commands need your approval — don't ignore the prompt
- Web search needs a Tavily API key on first use
Config corrupted
Delete the config folder and run arbyte wakeup again.
Roadmap
- [x] Ask Mode with web search
- [x] Agent Mode with file system tools
- [x] Terminal execution with user approval
- [x] Gemini + OpenRouter support
- [ ] DuckDuckGo web search provider
- [ ] Environment variable support (
ARBYTE_API_KEY) - [ ] Conversation history export
- [ ] More providers (Anthropic, Ollama, etc.)
- [ ] Plugin-style custom tools
npm Keywords
Keywords show up at the bottom of your package page on npmjs.com/package/arbyte.
They are defined in package.json under the "keywords" array:
{
"keywords": [
"cli",
"ai",
"coding-assistant",
"terminal",
"agent",
"gemini",
"openrouter",
"llm",
"developer-tools",
"artificial-intelligence",
"code-assistant",
"chatbot",
"tavily",
"nodejs",
"arbyte"
]
}How to add or change keywords
- Open
package.jsonin your project root - Add or edit the
"keywords"array (strings only, lowercase recommended) - Bump the version in
package.json - Publish a new version:
npm publishnpm only updates the package page metadata when you publish — editing package.json locally is not enough until you publish.
Tips
- Use terms people actually search for (
cli,ai,terminal,coding-assistant) - Max ~10–15 relevant keywords — don't spam
- Keywords must be in
package.json, not README (README keywords are not picked up by npm)
License & Author
License: ISC © Arpit Agrahari
Author: Arpit Agrahari
- GitHub: @Arpit10110
- npm: arbyte
