@openanalystinc/openanalyst-cli 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -370
- package/package.json +31 -19
package/README.md
CHANGED
|
@@ -1,404 +1,99 @@
|
|
|
1
1
|
# OpenAnalyst CLI
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<strong>The Universal AI Agent for Your Terminal</strong><br>
|
|
5
|
-
<em>One CLI. Every LLM Provider. Persistent Conversations Across Models.</em>
|
|
6
|
-
</p>
|
|
3
|
+
**The Universal AI Agent for Your Terminal.**
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## What Is OpenAnalyst CLI?
|
|
11
|
-
|
|
12
|
-
OpenAnalyst CLI is an **independent, open-source AI coding agent** that connects to every major LLM provider through a single, unified terminal interface. It is built from the ground up in Rust with its own multi-provider architecture, Ratatui-based TUI, multi-agent orchestrator, and a full tool execution framework.
|
|
13
|
-
|
|
14
|
-
**OpenAnalyst is not a fork or copy of any other product.** It is an original work by OpenAnalyst Inc that implements industry-standard agent patterns — agentic loops, tool calling, permission systems, and session management — which are common across every major AI CLI tool (Codex CLI, Gemini CLI, Aider, Goose, aichat, and many others). These are established software engineering patterns, not proprietary to any single company.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Why OpenAnalyst?
|
|
5
|
+
Connect to any major LLM provider through a single, unified terminal interface. 7 providers, 65+ commands, 24 built-in tools, smart model routing, multi-agent orchestration, and a full-featured TUI.
|
|
19
6
|
|
|
20
|
-
|
|
21
|
-
|-----------|----------------|-----------------|
|
|
22
|
-
| **Providers** | 7 (OpenAnalyst, Anthropic, OpenAI, xAI, Gemini, OpenRouter, Bedrock) | Typically 1-2 |
|
|
23
|
-
| **OAuth login** | Browser login for Claude, Codex, Gemini — no API key needed | API key only |
|
|
24
|
-
| **Mid-conversation model switching** | Session persists across providers | Not supported |
|
|
25
|
-
| **TUI** | Full Ratatui-based terminal UI with blue-branded OA banner | Most use basic REPL |
|
|
26
|
-
| **Multi-agent orchestrator** | Built-in parallel agents, swarms, autonomous loops, MOE | Limited or none |
|
|
27
|
-
| **Multimedia** | /image, /voice, /speak, /vision, /diagram | Rarely supported |
|
|
28
|
-
| **51+ slash commands** | Git, AI planning, multimedia, web scraping, Playwright | 5-15 typical |
|
|
29
|
-
| **19 built-in tools** | Bash, file ops, search, web, agents, REPL, PowerShell | 5-10 typical |
|
|
30
|
-
| **MCP support** | Full Model Context Protocol — unlimited external tools | Partial or none |
|
|
31
|
-
| **Single binary** | Native Rust, no runtime dependencies (18 MB) | Often needs Node/Python |
|
|
7
|
+
## Install
|
|
32
8
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
## Quick Start
|
|
36
|
-
|
|
37
|
-
### 1. Install
|
|
38
|
-
|
|
39
|
-
**macOS / Linux:**
|
|
40
|
-
```bash
|
|
41
|
-
curl -fsSL https://raw.githubusercontent.com/OpenAnalystInc/openanalyst-cli/main/install.sh | bash
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Windows PowerShell:**
|
|
9
|
+
**Windows (PowerShell):**
|
|
45
10
|
```powershell
|
|
46
|
-
irm https://raw.githubusercontent.com/OpenAnalystInc/
|
|
11
|
+
irm https://raw.githubusercontent.com/OpenAnalystInc/cli/main/install.ps1 | iex
|
|
47
12
|
```
|
|
48
13
|
|
|
49
|
-
**
|
|
14
|
+
**macOS / Linux:**
|
|
50
15
|
```bash
|
|
51
|
-
|
|
16
|
+
curl -fsSL https://raw.githubusercontent.com/OpenAnalystInc/cli/main/install.sh | bash
|
|
52
17
|
```
|
|
53
18
|
|
|
54
|
-
|
|
55
|
-
|
|
19
|
+
**npm:**
|
|
56
20
|
```bash
|
|
57
|
-
openanalyst
|
|
21
|
+
npm install -g @openanalystinc/openanalyst-cli
|
|
58
22
|
```
|
|
59
23
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
**Direct provider login:** For **Claude** (Anthropic), **Codex** (OpenAI), and **Gemini** (Google) you can login directly with your provider account via browser OAuth — no API key needed. Credentials are stored securely with PKCE and auto-refresh.
|
|
63
|
-
|
|
64
|
-
Alternatively, edit `~/.openanalyst/.env` (created during install) and add your API keys directly.
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
openanalyst whoami # See all logged-in providers
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### 3. Start
|
|
24
|
+
## Quick Start
|
|
71
25
|
|
|
72
26
|
```bash
|
|
73
|
-
openanalyst
|
|
74
|
-
openanalyst
|
|
75
|
-
openanalyst "explain this codebase" # One-shot prompt
|
|
76
|
-
openanalyst --model gpt-4o "summarize this" # Use specific model
|
|
77
|
-
openanalyst --model gemini-2.5-pro "review" # Google Gemini
|
|
78
|
-
openanalyst --model grok "fix the bug" # xAI Grok
|
|
27
|
+
openanalyst login # authenticate with your LLM provider
|
|
28
|
+
openanalyst # launch the TUI
|
|
79
29
|
```
|
|
80
30
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
## Supported Providers
|
|
31
|
+
## Features
|
|
84
32
|
|
|
85
|
-
|
|
33
|
+
| Feature | OpenAnalyst CLI |
|
|
34
|
+
|---------|----------------|
|
|
35
|
+
| **Providers** | OpenAnalyst, Anthropic Claude, OpenAI GPT, Google Gemini, xAI Grok, OpenRouter, Amazon Bedrock |
|
|
36
|
+
| **Commands** | 65+ slash commands — /commit, /pr, /undo, /model, /knowledge, /image, /bughunter |
|
|
37
|
+
| **Tools** | 24 built-in — bash, file I/O, grep, glob, web search, knowledge base |
|
|
38
|
+
| **TUI** | Full terminal UI with branded banner, inline tool cards, status bar |
|
|
39
|
+
| **Model Routing** | Smart per-task routing — explore, research, code, write |
|
|
40
|
+
| **Agents** | Autonomous agent, swarm execution, background tasks |
|
|
41
|
+
| **Knowledge Base** | Agentic RAG with vector + graph search |
|
|
42
|
+
| **Voice** | Microphone input with transcription |
|
|
43
|
+
| **Sessions** | Auto-save, resume, export |
|
|
44
|
+
| **MCP** | Model Context Protocol server support |
|
|
45
|
+
| **Permissions** | 4 modes — Default, Plan, Accept Edits, Danger |
|
|
46
|
+
| **Single Binary** | Native binary, no runtime dependencies (18 MB) |
|
|
47
|
+
|
|
48
|
+
## Providers
|
|
86
49
|
|
|
87
50
|
| Provider | Auth | Models |
|
|
88
51
|
|----------|------|--------|
|
|
89
|
-
| **OpenAnalyst**
|
|
90
|
-
| **Anthropic / Claude** |
|
|
91
|
-
| **OpenAI
|
|
92
|
-
| **Google Gemini** |
|
|
93
|
-
| **xAI / Grok** |
|
|
94
|
-
| **OpenRouter** |
|
|
95
|
-
| **Amazon Bedrock** |
|
|
96
|
-
|
|
97
|
-
**All credits and trademarks belong to their respective providers.** Claude is a trademark of Anthropic. GPT is a trademark of OpenAI. Gemini is a trademark of Google. Grok is a trademark of xAI. OpenAnalyst CLI is an independent tool that connects to these providers' public APIs.
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
101
|
-
## Features
|
|
102
|
-
|
|
103
|
-
### Full Terminal UI (Ratatui-based)
|
|
104
|
-
- **Blue-branded OA banner** with version inline, rounded-corner box, account info, tips
|
|
105
|
-
- Scrollable chat with inline tool call cards and rich diff rendering
|
|
106
|
-
- **Type immediately** — no vim Normal mode gate, just start typing
|
|
107
|
-
- Up/Down arrow keys for prompt history navigation
|
|
108
|
-
- Status line with animated spinner, elapsed time, token count, and current model
|
|
109
|
-
- Blue thick borders on input box, sidebar, and autocomplete popup
|
|
110
|
-
- Permission dialogs as modal overlays
|
|
111
|
-
- Mouse scroll and keyboard navigation
|
|
112
|
-
- Vim mode available via `/vim` toggle
|
|
113
|
-
- Shift+Enter for multi-line input
|
|
114
|
-
- Double Ctrl+C to quit (first press cancels, second quits)
|
|
115
|
-
|
|
116
|
-
### Authentication
|
|
117
|
-
- **Browser OAuth** for Claude, Codex, and Gemini — sign in with your provider account
|
|
118
|
-
- **API key** support for all 7 providers
|
|
119
|
-
- **PKCE security** with automatic token refresh
|
|
120
|
-
- Credentials stored in `~/.openanalyst/credentials.json`
|
|
121
|
-
- Interactive provider picker with arrow-key navigation
|
|
122
|
-
|
|
123
|
-
### Multi-Agent Orchestrator
|
|
124
|
-
- Spawn sub-agents for parallel tasks (Explore, Plan, General)
|
|
125
|
-
- **Agent Swarm** — `/swarm <task>` decomposes work across parallel agents
|
|
126
|
-
- **Autonomous loops** — `/openanalyst <task>` runs think→act→observe→verify cycles
|
|
127
|
-
- **Mixture of Experts (MOE)** — routes to specialized models per task type
|
|
128
|
-
- **Smart model routing** — `/route` to view/edit per-category model assignments
|
|
129
|
-
- **Effort budgets** — `/effort` to control thinking depth (low/medium/high/max)
|
|
130
|
-
- Each agent has its own conversation runtime and tool permissions
|
|
131
|
-
- Agent lifecycle events displayed in real-time in TUI
|
|
132
|
-
- Channel-based async bridge (sync runtime ↔ async TUI)
|
|
133
|
-
|
|
134
|
-
### 51+ Slash Commands
|
|
135
|
-
|
|
136
|
-
**Session & Config:** /help, /status, /cost, /model, /clear, /compact, /session, /export, /resume, /version, /login, /logout, /context, /vim, /config, /memory, /init, /exit, /sidebar, /permissions
|
|
137
|
-
|
|
138
|
-
**Code & Git:** /diff, /commit, /commit-push-pr, /pr, /issue, /branch, /worktree, /teleport, /diff-review, /changelog
|
|
139
|
-
|
|
140
|
-
**Analysis & Planning:** /bughunter, /ultraplan, /debug-tool-call, /think, /doctor
|
|
52
|
+
| **OpenAnalyst** | Free model or API key | gpt-oss-120b, openanalyst-beta |
|
|
53
|
+
| **Anthropic / Claude** | API key | claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5 |
|
|
54
|
+
| **OpenAI** | API key | gpt-4o, gpt-4.1, gpt-4o-mini |
|
|
55
|
+
| **Google Gemini** | OAuth or API key | gemini-2.5-pro, gemini-2.5-flash |
|
|
56
|
+
| **xAI / Grok** | API key | grok-3, grok-3-mini |
|
|
57
|
+
| **OpenRouter** | API key | 350+ models |
|
|
58
|
+
| **Amazon Bedrock** | API key | Bedrock models |
|
|
141
59
|
|
|
142
|
-
|
|
60
|
+
Switch models mid-conversation with `/model gpt-4o` — session persists across providers.
|
|
143
61
|
|
|
144
|
-
|
|
62
|
+
## Commands
|
|
145
63
|
|
|
146
|
-
**AI & Translation:** /translate, /tokens
|
|
147
|
-
|
|
148
|
-
**Agent Control:** /swarm, /openanalyst, /ask, /user-prompt, /effort, /route, /agents, /skills
|
|
149
|
-
|
|
150
|
-
**Dev Tools:** /dev (install, open, screenshot, snap, click, type, test, codegen, stop)
|
|
151
|
-
|
|
152
|
-
**Advanced:** /mcp, /knowledge, /explore, /plugins, /hooks, /add-dir
|
|
153
|
-
|
|
154
|
-
### 19 Built-in Tools
|
|
155
|
-
|
|
156
|
-
| Tool | Permission | Description |
|
|
157
|
-
|------|-----------|-------------|
|
|
158
|
-
| `bash` | Full Access | Execute shell commands with sandboxing |
|
|
159
|
-
| `read_file` | Read Only | Read file contents with line numbers |
|
|
160
|
-
| `write_file` | Workspace | Create or overwrite files |
|
|
161
|
-
| `edit_file` | Workspace | Modify files with exact string replacement |
|
|
162
|
-
| `glob_search` | Read Only | Find files by glob patterns |
|
|
163
|
-
| `grep_search` | Read Only | Search file contents with regex |
|
|
164
|
-
| `web_search` | Read Only | Search the internet |
|
|
165
|
-
| `web_fetch` | Read Only | Fetch and parse URL content |
|
|
166
|
-
| `agent` | Varies | Spawn sub-agents for parallel tasks |
|
|
167
|
-
| `todo_write` | Workspace | Create and manage task lists |
|
|
168
|
-
| `notebook_edit` | Workspace | Edit Jupyter notebook cells |
|
|
169
|
-
| `skill` | Varies | Invoke custom skills |
|
|
170
|
-
| `tool_search` | Read Only | Discover available tools |
|
|
171
|
-
| `config` | Read Only | Read configuration and settings |
|
|
172
|
-
| `repl` | Varies | Run code in Python or Node REPL |
|
|
173
|
-
| `structured_output` | Read Only | Validate output against JSON schema |
|
|
174
|
-
| `sleep` | Read Only | Pause execution |
|
|
175
|
-
| `send_user_message` | Read Only | Send notification to user |
|
|
176
|
-
| `powershell` | Varies | Execute PowerShell commands (Windows) |
|
|
177
|
-
|
|
178
|
-
Additional tools can be registered via **MCP servers** (unlimited).
|
|
179
|
-
|
|
180
|
-
### MCP (Model Context Protocol)
|
|
181
|
-
|
|
182
|
-
Full MCP client with 6 transport types:
|
|
183
|
-
- **stdio** — Local processes, npm packages
|
|
184
|
-
- **SSE** — Remote servers over HTTP
|
|
185
|
-
- **WebSocket** — Bidirectional real-time
|
|
186
|
-
- **HTTP** — REST API wrappers
|
|
187
|
-
- **SDK** — Direct in-process integration
|
|
188
|
-
- **Managed proxy** — Enterprise environments
|
|
189
|
-
|
|
190
|
-
```bash
|
|
191
|
-
/mcp # List connected servers
|
|
192
|
-
/mcp add my-server stdio npx -y @my/mcp-server
|
|
193
|
-
/mcp remove my-server
|
|
194
64
|
```
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
/
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
2. **API call** to hosted AgenticRAG server with intent hint
|
|
207
|
-
3. **Hybrid search** — pgvector cosine + PostgreSQL FTS + Neo4j graph expansion
|
|
208
|
-
4. **RRF fusion** — Reciprocal Rank Fusion merges results from all sources
|
|
209
|
-
5. **KnowledgeCard** — Tabbed, collapsible results with abstracted category labels
|
|
210
|
-
6. **Feedback** — Inline 👍/👎 buttons + `/feedback` command for corrections
|
|
211
|
-
7. **Local cache** — Results cached in `.openanalyst/knowledge/` for instant replay
|
|
212
|
-
|
|
213
|
-
**MOE Intent Types:** factual, conceptual, procedural, comparative, strategic, example_seeking, diagnostic, general
|
|
214
|
-
|
|
215
|
-
**No raw course names exposed** — results show abstracted labels like "Ads Strategy", "AI & Machine Learning".
|
|
216
|
-
|
|
217
|
-
Set `OPENANALYST_API_KEY=oa_your_key` to access the knowledge base.
|
|
218
|
-
|
|
219
|
-
### Permission Mode Switching (`Ctrl+P`)
|
|
220
|
-
|
|
221
|
-
Cycle through permission modes directly from the input box:
|
|
222
|
-
|
|
223
|
-
| Mode | Icon | Border | Behavior |
|
|
224
|
-
|------|------|--------|----------|
|
|
225
|
-
| Default | ❯ | Blue | Ask before running tools |
|
|
226
|
-
| Plan | ◈ | Yellow | Read-only tools only |
|
|
227
|
-
| Accept Edits | ✎ | Green | Auto-approve file write/edit |
|
|
228
|
-
| Danger | ⚡ | Red | Everything auto-approved |
|
|
229
|
-
|
|
230
|
-
Right-aligned badges on input box show: `[mode] [model] [agent] [branch]`
|
|
231
|
-
|
|
232
|
-
### Agent Selection from Sidebar
|
|
233
|
-
|
|
234
|
-
- Load agents from `.openanalyst/agents/*.md` (project + user level)
|
|
235
|
-
- Select agent in sidebar → changes input box title + system prompt
|
|
236
|
-
- Purple badge shows active agent name
|
|
237
|
-
- Dynamic system prompt switching without leaving the conversation
|
|
238
|
-
|
|
239
|
-
### Permission System
|
|
240
|
-
|
|
241
|
-
| Mode | Bash | Write | Edit | Install | Delete |
|
|
242
|
-
|------|------|-------|------|---------|--------|
|
|
243
|
-
| `read-only` | ✗ | ✗ | ✗ | ✗ | ✗ |
|
|
244
|
-
| `workspace-write` | ✓ | ✓ | ✓ | ✗ | ✗ |
|
|
245
|
-
| `danger-full-access` | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
246
|
-
|
|
247
|
-
Modal permission dialogs appear when a tool requires elevated access. Cycle with `Ctrl+P`.
|
|
248
|
-
|
|
249
|
-
### Hooks System
|
|
250
|
-
|
|
251
|
-
| Event | Fires When |
|
|
252
|
-
|-------|-----------|
|
|
253
|
-
| `PreToolUse` | Before a tool is executed |
|
|
254
|
-
| `PostToolUse` | After a tool completes |
|
|
255
|
-
| `SessionStart` | When a new session begins |
|
|
256
|
-
| `SessionEnd` | When a session ends |
|
|
257
|
-
| `CwdChanged` | When the working directory changes |
|
|
258
|
-
| `FileChanged` | When a file is modified |
|
|
259
|
-
| `TaskCreated` | When a new task is created |
|
|
260
|
-
|
|
261
|
-
### Plugin System
|
|
262
|
-
- Install, enable, disable plugins from `~/.openanalyst/plugins/`
|
|
263
|
-
- Full lifecycle management with `/plugins` command
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## Architecture
|
|
268
|
-
|
|
269
|
-
OpenAnalyst CLI is a **14-crate Rust workspace**:
|
|
270
|
-
|
|
271
|
-
```text
|
|
272
|
-
rust/crates/
|
|
273
|
-
├── api/ # Multi-provider API client (7 providers)
|
|
274
|
-
├── commands/ # 51+ slash commands
|
|
275
|
-
├── events/ # Shared TUI ↔ backend event types
|
|
276
|
-
├── orchestrator/ # Multi-agent lifecycle, MOE, model routing
|
|
277
|
-
├── tui/ # Ratatui full-screen TUI application
|
|
278
|
-
├── tui-widgets/ # Widgets (markdown, tool cards, input, spinner)
|
|
279
|
-
├── runtime/ # Conversation engine, session, permissions, MCP
|
|
280
|
-
├── tools/ # 19 built-in tool implementations
|
|
281
|
-
├── plugins/ # Plugin system (install, enable, hooks)
|
|
282
|
-
├── openanalyst-cli/ # Binary entry point
|
|
283
|
-
├── openanalyst-agent/ # Headless autonomous agent runner
|
|
284
|
-
├── server/ # HTTP/SSE server (axum)
|
|
285
|
-
├── lsp/ # Language Server Protocol integration
|
|
286
|
-
└── compat-harness/ # Upstream manifest extraction
|
|
65
|
+
/help Show all commands
|
|
66
|
+
/model Switch model or view available providers
|
|
67
|
+
/commit Generate commit message and commit
|
|
68
|
+
/pr Create a pull request
|
|
69
|
+
/undo Revert all uncommitted file changes
|
|
70
|
+
/knowledge Search the knowledge base (Agentic RAG)
|
|
71
|
+
/image Generate an image
|
|
72
|
+
/bughunter Scan codebase for bugs
|
|
73
|
+
/diff-review AI-powered code review
|
|
74
|
+
/openanalyst Run autonomous agent
|
|
75
|
+
/swarm Spawn parallel agents
|
|
287
76
|
```
|
|
288
77
|
|
|
289
|
-
|
|
290
|
-
- **Ratatui 0.30** — Terminal UI framework
|
|
291
|
-
- **Tokio 1.x** — Async runtime (multi-threaded)
|
|
292
|
-
- **Crossterm 0.29** — Terminal backend
|
|
293
|
-
- **Reqwest 0.12** — HTTP client
|
|
294
|
-
- **Syntect 5.x** — Syntax highlighting
|
|
295
|
-
- **Tiktoken-rs** — Token counting
|
|
296
|
-
- **edtui** — Text editor widget (vim mode optional)
|
|
297
|
-
- **tui-markdown** — Markdown rendering (Ratatui team)
|
|
298
|
-
- **Axum** — HTTP/SSE server
|
|
299
|
-
|
|
300
|
-
### Ecosystem Crates Used (not reinvented)
|
|
301
|
-
- **tui-markdown** — Markdown rendering (by Ratatui core team)
|
|
302
|
-
- **edtui** — Vim-mode text editor widget
|
|
303
|
-
- **tui-tree-widget** — File tree sidebar
|
|
304
|
-
- **throbber-widgets-tui** — Animated spinners
|
|
305
|
-
- **syntect-tui** — Syntax highlighting bridge
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
## Configuration
|
|
310
|
-
|
|
311
|
-
| File | Purpose |
|
|
312
|
-
|------|---------|
|
|
313
|
-
| `OPENANALYST.md` | Project-specific AI instructions (auto-detected) |
|
|
314
|
-
| `.openanalyst.json` | Shared project defaults |
|
|
315
|
-
| `.openanalyst/settings.json` | Project settings (hooks, plugins, MCP, model, permissions) |
|
|
316
|
-
| `.openanalyst/settings.local.json` | Machine-local overrides (gitignored) |
|
|
317
|
-
| `~/.openanalyst/.env` | API keys and base URLs |
|
|
318
|
-
| `~/.openanalyst/credentials.json` | Saved OAuth tokens (auto-managed) |
|
|
319
|
-
|
|
320
|
-
### Environment Variables
|
|
321
|
-
|
|
322
|
-
**Authentication:**
|
|
323
|
-
| Variable | Provider |
|
|
324
|
-
|----------|----------|
|
|
325
|
-
| `OPENANALYST_AUTH_TOKEN` | OpenAnalyst (default) |
|
|
326
|
-
| `ANTHROPIC_API_KEY` | Anthropic / Claude |
|
|
327
|
-
| `OPENAI_API_KEY` | OpenAI / Codex |
|
|
328
|
-
| `GEMINI_API_KEY` | Google Gemini |
|
|
329
|
-
| `XAI_API_KEY` | xAI / Grok |
|
|
330
|
-
| `OPENROUTER_API_KEY` | OpenRouter |
|
|
331
|
-
| `BEDROCK_API_KEY` | Amazon Bedrock |
|
|
332
|
-
|
|
333
|
-
**Runtime:**
|
|
334
|
-
| Variable | Description |
|
|
335
|
-
|----------|-------------|
|
|
336
|
-
| `OPENANALYST_CONFIG_HOME` | Override config directory |
|
|
337
|
-
| `OPENANALYST_MODEL` | Override default model |
|
|
338
|
-
| `OPENANALYST_PERMISSION_MODE` | Set permission mode |
|
|
339
|
-
|
|
340
|
-
---
|
|
341
|
-
|
|
342
|
-
## Documentation
|
|
343
|
-
|
|
344
|
-
Full Mintlify-style documentation is included at [`docs/Documentation/index.html`](docs/Documentation/index.html) — 12 pages covering:
|
|
345
|
-
|
|
346
|
-
- Installation & Quick Start
|
|
347
|
-
- Authentication (OAuth + API keys)
|
|
348
|
-
- LLM Providers & model switching
|
|
349
|
-
- Terminal UI layout & keybindings
|
|
350
|
-
- All 51+ slash commands
|
|
351
|
-
- 19 built-in tools with permissions
|
|
352
|
-
- Multi-agent system (swarms, autonomous, MOE)
|
|
353
|
-
- Configuration & hooks
|
|
354
|
-
- MCP integration
|
|
355
|
-
- Architecture & building
|
|
356
|
-
|
|
357
|
-
---
|
|
358
|
-
|
|
359
|
-
## Legal & Credits
|
|
78
|
+
## Keyboard Shortcuts
|
|
360
79
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
OpenAnalyst CLI connects to third-party APIs. All credits belong to the respective providers:
|
|
374
|
-
|
|
375
|
-
- **Anthropic** — Claude, the Anthropic API, and all related trademarks are property of Anthropic, PBC
|
|
376
|
-
- **OpenAI** — GPT, DALL-E, Whisper, Codex, and all related trademarks are property of OpenAI, Inc
|
|
377
|
-
- **Google** — Gemini, Imagen, and all related trademarks are property of Google LLC
|
|
378
|
-
- **xAI** — Grok and all related trademarks are property of xAI Corp
|
|
379
|
-
- **Amazon** — Bedrock and all related trademarks are property of Amazon Web Services, Inc
|
|
380
|
-
- **OpenRouter** — OpenRouter is property of OpenRouter, Inc
|
|
381
|
-
|
|
382
|
-
Use of these providers' APIs through OpenAnalyst CLI is subject to each provider's respective Terms of Service. OpenAnalyst CLI is a client application that facilitates access to these APIs — it does not claim any ownership of or rights to the providers' services, models, or intellectual property.
|
|
383
|
-
|
|
384
|
-
### License
|
|
385
|
-
|
|
386
|
-
The Rust workspace is licensed under the **MIT License**. See `rust/LICENSE` for details.
|
|
387
|
-
|
|
388
|
-
### Disclaimer
|
|
389
|
-
|
|
390
|
-
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. OpenAnalyst Inc makes no representations regarding the suitability of this software for any purpose. OpenAnalyst CLI is an independent product that connects to third-party APIs under their respective terms of service.
|
|
391
|
-
|
|
392
|
-
---
|
|
80
|
+
| Key | Action |
|
|
81
|
+
|-----|--------|
|
|
82
|
+
| **Enter** | Submit prompt |
|
|
83
|
+
| **Shift+Enter** | New line |
|
|
84
|
+
| **Ctrl+P** | Cycle permission mode |
|
|
85
|
+
| **Ctrl+C** | Cancel / quit |
|
|
86
|
+
| **Ctrl+V** | Paste from clipboard |
|
|
87
|
+
| **Ctrl+Z** | Undo |
|
|
88
|
+
| **Esc** | Enter scroll mode |
|
|
89
|
+
| **Up/Down** | Input history |
|
|
90
|
+
| **Tab** | Toggle sidebar |
|
|
393
91
|
|
|
394
|
-
##
|
|
92
|
+
## Support
|
|
395
93
|
|
|
396
|
-
- **
|
|
397
|
-
- **
|
|
94
|
+
- **Email**: support@openanalyst.com
|
|
95
|
+
- **Website**: [openanalyst.com](https://openanalyst.com)
|
|
398
96
|
|
|
399
97
|
---
|
|
400
98
|
|
|
401
|
-
|
|
402
|
-
<strong>OpenAnalyst CLI v1.0.91</strong> — Built by OpenAnalyst Inc<br>
|
|
403
|
-
<em>An independent, open-source AI agent for the terminal.</em>
|
|
404
|
-
</p>
|
|
99
|
+
Developed by **OpenAnalyst Inc.** All rights reserved.
|
package/package.json
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openanalystinc/openanalyst-cli",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "OpenAnalyst CLI — AI-
|
|
3
|
+
"version": "2.0.4",
|
|
4
|
+
"description": "OpenAnalyst CLI — The Universal AI Agent for Your Terminal. 7 LLM providers (OpenAnalyst, Anthropic Claude, OpenAI GPT, Google Gemini, xAI Grok, OpenRouter, Amazon Bedrock), 65+ slash commands, 24 built-in tools, smart model routing, multi-agent orchestration, knowledge base RAG, voice input, and TUI with full tool execution.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"openanalyst": "bin/cli.js"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"postinstall": "node scripts/postinstall.js"
|
|
10
|
-
"build": "node scripts/build.js"
|
|
9
|
+
"postinstall": "node scripts/postinstall.js"
|
|
11
10
|
},
|
|
12
11
|
"files": [
|
|
13
12
|
"bin/",
|
|
@@ -19,16 +18,34 @@
|
|
|
19
18
|
"keywords": [
|
|
20
19
|
"cli",
|
|
21
20
|
"ai",
|
|
21
|
+
"agent",
|
|
22
22
|
"openanalyst",
|
|
23
|
-
"code-analysis",
|
|
24
23
|
"llm",
|
|
25
|
-
"
|
|
24
|
+
"terminal",
|
|
25
|
+
"tui",
|
|
26
|
+
"code-assistant",
|
|
27
|
+
"ai-agent",
|
|
28
|
+
"anthropic",
|
|
29
|
+
"claude",
|
|
30
|
+
"openai",
|
|
31
|
+
"gpt",
|
|
32
|
+
"gemini",
|
|
33
|
+
"grok",
|
|
34
|
+
"multi-provider",
|
|
35
|
+
"code-analysis",
|
|
36
|
+
"developer-tools",
|
|
37
|
+
"coding-agent",
|
|
38
|
+
"mcp"
|
|
26
39
|
],
|
|
27
|
-
"author":
|
|
40
|
+
"author": {
|
|
41
|
+
"name": "OpenAnalyst Inc",
|
|
42
|
+
"email": "support@openanalyst.com",
|
|
43
|
+
"url": "https://openanalyst.com"
|
|
44
|
+
},
|
|
28
45
|
"license": "MIT",
|
|
29
46
|
"repository": {
|
|
30
47
|
"type": "git",
|
|
31
|
-
"url": "git+https://github.com/OpenAnalystInc/
|
|
48
|
+
"url": "git+https://github.com/OpenAnalystInc/cli.git"
|
|
32
49
|
},
|
|
33
50
|
"publishConfig": {
|
|
34
51
|
"access": "public",
|
|
@@ -42,17 +59,12 @@
|
|
|
42
59
|
"linux",
|
|
43
60
|
"win32"
|
|
44
61
|
],
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
},
|
|
62
|
+
"cpu": [
|
|
63
|
+
"x64",
|
|
64
|
+
"arm64"
|
|
65
|
+
],
|
|
50
66
|
"bugs": {
|
|
51
|
-
"url": "https://github.com/OpenAnalystInc/
|
|
67
|
+
"url": "https://github.com/OpenAnalystInc/cli/issues"
|
|
52
68
|
},
|
|
53
|
-
"homepage": "https://
|
|
54
|
-
"dependencies": {
|
|
55
|
-
"@playwright/test": "1.52",
|
|
56
|
-
"playwright": "1.52"
|
|
57
|
-
}
|
|
69
|
+
"homepage": "https://openanalyst.com"
|
|
58
70
|
}
|