|
5 | 5 |
|
6 | 6 | ## Overview |
7 | 7 |
|
8 | | -**Core Features:** |
9 | | - |
10 | | -- **AI-powered shell assistance** - Get instant help with commands, |
11 | | - syntax, and system administration |
12 | | -- **Multiple LLM Support** - Works with multiple LLM providers (Claude, |
13 | | - GPT, Ollama, etc.) |
14 | | -- **Tmux-aware context** - Automatically reads your terminal history for |
15 | | - contextual help |
16 | | -- **Tool integration** - Can view files, search code, create files, and |
17 | | - make edits with your permission |
18 | | -- **Web search capability** - Search the internet for up-to-date |
19 | | - information when needed |
20 | | -- **Piped input support** - Pipe command output or file contents |
21 | | - directly to ShellSage |
22 | | -- **SQLite logging** - Save all interactions for later reference |
23 | | - |
24 | | -**Tmux Workflow:** |
25 | | - |
26 | | -- **Code block extraction** - Extract and send LLM-suggested commands |
27 | | - directly to your tmux pane |
28 | | -- **Multi-pane support** - Can analyze context from all visible tmux |
29 | | - panes |
30 | | - |
31 | | -**Modes:** |
32 | | - |
33 | | -- **Default mode** - Educational, friendly tone focused on teaching |
34 | | -- **Sassy mode** - GLaDOS-inspired personality with dry wit (still |
35 | | - helpful!) |
36 | | - |
37 | | -**Display:** |
38 | | - |
39 | | -- **Rich markdown rendering** - Beautiful, syntax-highlighted output |
40 | | -- **Customizable themes** - Configure code highlighting to match your |
41 | | - preferences |
42 | | - |
43 | | -Whether you’re a seasoned sadmin or just getting started with the |
44 | | -command line, ShellSage acts as your intelligent terminal companion, |
45 | | -ready to help with both simple commands and complex operations. |
| 8 | +ShellSage is an AI-powered command-line assistant that integrates |
| 9 | +seamlessly with your terminal workflow through tmux. It provides |
| 10 | +contextual help for shell operations, making it easier to navigate |
| 11 | +complex command-line tasks, debug scripts, and manage your system. |
| 12 | + |
| 13 | +ShellSage works with multiple LLM providers including Claude, GPT, and |
| 14 | +Ollama. It uses tmux to automatically read your terminal history or |
| 15 | +multiple pane histories to provide contextual assistance. You can pipe |
| 16 | +command output or file contents directly to ShellSage, and it can view |
| 17 | +files, search code, create files, and make edits with your permission. |
| 18 | +When needed, it can even search the internet for up-to-date information. |
| 19 | +You can also log all your interactions directly to SQLite for later |
| 20 | +reference. |
46 | 21 |
|
47 | 22 | ## Installation |
48 | 23 |
|
@@ -101,26 +76,31 @@ virtual environment. |
101 | 76 |
|
102 | 77 | ## Prerequisites |
103 | 78 |
|
104 | | -1. **API Key Setup** |
| 79 | +Before using ShellSage, you’ll need to set up an API key for your chosen |
| 80 | +LLM provider. By default, ShellSage uses Claude, so you’ll want to |
| 81 | +export your Anthropic API key: |
105 | 82 |
|
106 | | - ``` sh |
107 | | - # For Claude (default) |
108 | | - export ANTHROPIC_API_KEY=sk... |
| 83 | +``` sh |
| 84 | +export ANTHROPIC_API_KEY=sk... |
| 85 | +``` |
109 | 86 |
|
110 | | - # For OpenAI (optional) |
111 | | - export OPENAI_API_KEY=sk... |
112 | | - ``` |
| 87 | +If you prefer to use OpenAI instead, you can export your OpenAI API key |
| 88 | +and update your shell sage config to use openai (see the Configuration |
| 89 | +section below for details): |
113 | 90 |
|
114 | | -2. **tmux Configuration** |
| 91 | +``` sh |
| 92 | +export OPENAI_API_KEY=sk... |
| 93 | +``` |
115 | 94 |
|
116 | | - I created a preconfigured [tmux configuration](.tmux.conf) that I |
117 | | - found works well with shell sage. It enables things like mouse |
118 | | - support, adds pane ids to your status bar so you can quickly |
119 | | - reference them to have ShellSage read from them, turns off |
120 | | - alternative-screen so editor content like vim will stay in the tmux |
121 | | - buffer for ShellSage to see, and adds a shortcut for automatically |
122 | | - extracting out code fence blocks into your command prompt (CTRL+B+E |
123 | | - then the index of the code fence block you want). |
| 95 | +ShellSage works best with a properly configured tmux environment. I’ve |
| 96 | +created a preconfigured [tmux configuration](.tmux.conf) that works well |
| 97 | +with ShellSage. This configuration enables mouse support, adds pane IDs |
| 98 | +to your status bar so you can quickly reference them when having |
| 99 | +ShellSage read from specific panes, turns off alternative-screen so |
| 100 | +editor content like vim stays in the tmux buffer where ShellSage can see |
| 101 | +it, and adds a convenient shortcut (CTRL+B+E followed by the index |
| 102 | +number) for automatically extracting code fence blocks into your command |
| 103 | +prompt. |
124 | 104 |
|
125 | 105 | ## Getting Started |
126 | 106 |
|
|
0 commit comments