@benzsiangco/jarvis
v1.1.26
Published
AI coding agent with TUI, Web, and Desktop support - Now with Brain system, OAuth config, and enhanced Skills
Maintainers
Readme
JARVIS - AI Coding Assistant
Just A Rather Very Intelligent System - An advanced AI coding agent with Terminal UI, Web UI, and Desktop support.
Latest: v1.1.1 - Now with Brain system, OAuth configuration, enhanced skills, and Electron desktop support!
✨ Features
- 🧠 Brain System - Customize JARVIS's core identity and personality
- 🔐 OAuth Configuration - Deploy in containers with Cloudflare Tunnel support
- 📚 Enhanced Skills - 10+ skill categories (DevOps, Security, Development, etc.)
- 🖥️ Three Modes - Terminal UI, Web UI, or Desktop app
- 🤖 Multi-Provider - OpenAI, Anthropic, Google AI, and more
- 🔧 12 Built-in Tools - bash, read, write, edit, grep, and more
- 🎨 Beautiful UI - Modern, responsive design with dark theme
🚀 Quick Start
Installation
Full Install (with Desktop app):
npm install -g @benzsiangco/jarvis electronCLI Only (smaller install):
npm install -g @benzsiangco/jarvisLaunch JARVIS
Terminal UI:
jarvis
# or
jarvis tuiWeb UI:
jarvis web
# Opens at http://localhost:5533Desktop App:
jarvis electron
# Requires: npm install -g electron📖 Usage Guide
Terminal UI (TUI)
Launch the interactive terminal interface:
jarvis tuiKey Bindings:
Ctrl+P- Open Commands MenuCtrl+T- Switch Model VariantsCtrl+L- Clear ChatCtrl+N- New SessionCtrl+C- ExitUp/Down- Cycle Prompt History
Slash Commands:
/skills- Manage skills/auth- Connect AI providers/help- Show all commands
Web UI
Start the web interface:
jarvis web --port 5533Access at: http://localhost:5533
Features:
- Modern chat interface
- Integrated terminal
- Settings panel
- Session management
- Model selector
- File operations
Desktop App
Launch the Electron desktop app:
jarvis electronRequirements:
- Electron installed (
npm install -g electron)
Features:
- Native window controls
- System tray integration
- All web UI features
🧠 Brain System
Customize JARVIS's core identity and behavior:
Via Web UI (Recommended)
- Open
jarvis web - Click Settings (⚙️)
- Go to Brain tab
- Edit JARVIS.md
- Click Commit to save
Via File
Edit JARVIS.md in your project directory:
# JARVIS - Just A Rather Very Intelligent System
You are JARVIS, an advanced AI coding assistant...
## Core Principles
- Be precise and thorough
- Explain your reasoning
- Prioritize securityChanges apply to all new conversations.
📚 Skills System
JARVIS includes 10+ skill categories:
- DevOps & Infrastructure - Linux, Docker, Proxmox
- Security & Hacking - Penetration testing, network security
- Software Development - TypeScript, React, APIs
- Automation & Scripting - SSH, CI/CD pipelines
- Database Management - PostgreSQL, Redis
- Monitoring & Observability - Logging, metrics
Customize Skills
- Open Settings → Intelligence tab
- Edit
skills.md - Add your own skills using markdown:
### Your Skill Name
- Skill description
- Key capabilities
- Best practices🔐 OAuth Configuration
Perfect for container deployments with Cloudflare Tunnel:
Setup Custom OAuth Callback
Configure in JARVIS:
- Settings → Accounts → OAuth Callback Configuration
- Enter:
https://jarvis.yourdomain.com/oauth-callback - Save
Configure Cloudflare Tunnel:
# ~/.cloudflared/config.yml
ingress:
- hostname: jarvis.yourdomain.com
service: http://localhost:5533
- hostname: jarvis.yourdomain.com
path: /oauth-callback
service: http://localhost:51121- Test OAuth:
- Settings → Accounts → Link Google
- Should redirect to your custom domain
Environment Variable
export JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback"
jarvis web🐳 Container Deployment
Docker
FROM oven/bun:1
WORKDIR /app
# Install JARVIS
RUN npm install -g @benzsiangco/jarvis
# Expose ports
EXPOSE 5533 51121
# Start web UI
CMD ["jarvis", "web"]Run:
docker build -t jarvis .
docker run -p 5533:5533 -p 51121:51121 \
-e JARVIS_OAUTH_CALLBACK_URL="https://jarvis.yourdomain.com/oauth-callback" \
jarvisDocker Compose
version: '3.8'
services:
jarvis:
image: oven/bun:1
ports:
- "5533:5533"
- "51121:51121"
environment:
- JARVIS_OAUTH_CALLBACK_URL=https://jarvis.yourdomain.com/oauth-callback
command: >
sh -c "npm install -g @benzsiangco/jarvis && jarvis web"🛠️ CLI Commands
# Terminal UI (default)
jarvis
jarvis tui
# Web UI
jarvis web [--port 5533]
# Desktop app
jarvis electron
# Single prompt
jarvis run "your question here"
# Account management
jarvis auth
# List providers
jarvis providers
# List models
jarvis models
# Configuration
jarvis config [--show] [--path]
# Sessions
jarvis sessions [--list] [--clear]
# Initialize project
jarvis init⚙️ Configuration
Global Config Location
- Linux/macOS:
~/.config/jarvis/config.json - Windows:
%APPDATA%\jarvis\config.json
View Config
jarvis config --showEdit Config
Via Web UI: Settings → Config tab
Or edit directly:
{
"model": "gpt-4o",
"persona": "hacker",
"oauth": {
"callbackUrl": "https://jarvis.yourdomain.com/oauth-callback"
}
}🤖 Supported AI Providers
- OpenAI - GPT-4, GPT-4 Turbo, GPT-3.5
- Anthropic - Claude 3.5 Sonnet, Claude 3 Opus
- Google - Gemini 1.5 Pro, Gemini 1.5 Flash
- Local - Ollama, LM Studio
Connect Provider
Via Web UI:
- Settings → Accounts
- Click "Setup Key" or "Link Google"
- Enter API key or authenticate
Via CLI:
jarvis auth🔧 Built-in Tools
JARVIS has 12 powerful tools:
bash- Execute shell commandsread- Read file contentswrite- Create/overwrite filesedit- Edit existing filesglob- Find files by patterngrep- Search file contentslist- List directory contentswebfetch- Fetch web contenttask- Spawn sub-agentsquestion- Ask user questionstodoread- Read todo listtodowrite- Manage todos
View in: Settings → Tools tab
📦 Package Details
Size:
- CLI Only: 3.5 MB
- With Electron: ~200 MB
What's Included:
- Complete source code
- Web UI (built)
- Electron app (compiled)
- CLI bundle
- Enhanced skills
- Documentation
🧪 Development
Prerequisites
- Bun runtime
- Node.js 20+
- TypeScript 5+
Install Dependencies
git clone https://github.com/benzsiangco/jarvis.git
cd jarvis
bun installDevelopment Mode
bun run dev # TUI
bun run web # Web UI dev server
bun run electron:dev # Electron dev modeBuild
bun run build # CLI bundle
bun run web:build # Web UI
bun run electron:compile # Electron appRun Tests
bun run typecheck📚 Documentation
- Installation Guide - Detailed installation instructions
- Quick Reference - Quick start guide
- Release Notes - Version history
- Changelog - All changes
🆘 Troubleshooting
Electron not found
npm install -g electron
jarvis electronOAuth callback not working
- Ensure server binds to
0.0.0.0(automatic in v1.1.0+) - Check Cloudflare Tunnel routes
/oauth-callbackto port 51121 - Verify firewall allows port 51121
Brain/Skills not applying
- Click "Commit" to save changes in Settings
- Start new conversation to see changes
- Check console for errors
Web UI won't start
# Check if Bun is installed
bun --version
# Install Bun if needed
curl -fsSL https://bun.sh/install | bash🌟 What's New
v1.1.1 (Latest)
- ✅
jarvis electroncommand - ✅ Electron as optional dependency
- ✅ Installation guide
- ✅ Better error messages
v1.1.0
- ✅ Brain System (JARVIS.md editor)
- ✅ OAuth Callback Configuration
- ✅ Enhanced Skills (10+ categories)
- ✅ Tools Tab in Settings
v1.0.x
- ✅ Initial release
- ✅ TUI, Web, Desktop modes
- ✅ Multi-provider support
🤝 Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
MIT License - see LICENSE file for details
🔗 Links
- NPM Package: https://www.npmjs.com/package/@benzsiangco/jarvis
- GitHub: https://github.com/benzsiangco/jarvis
- Issues: https://github.com/benzsiangco/jarvis/issues
- Releases: https://github.com/benzsiangco/jarvis/releases
💡 Tips
Customize Brain:
jarvis web
# Settings → Brain → Edit JARVIS.mdAdd Domain Skills:
# Settings → Intelligence → Edit skills.mdDeploy with Custom Domain:
# Settings → Accounts → OAuth Config
# Enter: https://jarvis.yourdomain.com/oauth-callbackUse Desktop App:
npm install -g @benzsiangco/jarvis electron
jarvis electronMade with ❤️ by Benz Siangco
For help: jarvis --help or visit Documentation
