Skip to content

Commit 41042d8

Browse files
committed
update readme
1 parent 57fed71 commit 41042d8

File tree

3 files changed

+59
-93
lines changed

3 files changed

+59
-93
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,4 @@ checklink/cookies.txt
151151

152152
# Quarto
153153
.quarto
154+
index_files/

README.md

Lines changed: 34 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,44 +5,19 @@
55

66
## Overview
77

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.
4621

4722
## Installation
4823

@@ -101,26 +76,31 @@ virtual environment.
10176

10277
## Prerequisites
10378

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:
10582

106-
``` sh
107-
# For Claude (default)
108-
export ANTHROPIC_API_KEY=sk...
83+
``` sh
84+
export ANTHROPIC_API_KEY=sk...
85+
```
10986

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):
11390

114-
2. **tmux Configuration**
91+
``` sh
92+
export OPENAI_API_KEY=sk...
93+
```
11594

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.
124104

125105
## Getting Started
126106

nbs/index.ipynb

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -19,37 +19,14 @@
1919
},
2020
{
2121
"cell_type": "markdown",
22-
"id": "96646791",
22+
"id": "b5be0c40",
2323
"metadata": {},
2424
"source": [
2525
"## Overview\n",
2626
"\n",
27-
"**Core Features:**\n",
28-
"\n",
29-
"- **AI-powered shell assistance** - Get instant help with commands, syntax, and system administration\n",
30-
"- **Multiple LLM Support** - Works with multiple LLM providers (Claude, GPT, Ollama, etc.)\n",
31-
"- **Tmux-aware context** - Automatically reads your terminal history for contextual help\n",
32-
"- **Tool integration** - Can view files, search code, create files, and make edits with your permission\n",
33-
"- **Web search capability** - Search the internet for up-to-date information when needed\n",
34-
"- **Piped input support** - Pipe command output or file contents directly to ShellSage\n",
35-
"- **SQLite logging** - Save all interactions for later reference\n",
36-
"\n",
37-
"**Tmux Workflow:**\n",
38-
"\n",
39-
"- **Code block extraction** - Extract and send LLM-suggested commands directly to your tmux pane\n",
40-
"- **Multi-pane support** - Can analyze context from all visible tmux panes\n",
41-
"\n",
42-
"**Modes:**\n",
43-
"\n",
44-
"- **Default mode** - Educational, friendly tone focused on teaching\n",
45-
"- **Sassy mode** - GLaDOS-inspired personality with dry wit (still helpful!)\n",
46-
"\n",
47-
"**Display:**\n",
48-
"\n",
49-
"- **Rich markdown rendering** - Beautiful, syntax-highlighted output\n",
50-
"- **Customizable themes** - Configure code highlighting to match your preferences\n",
27+
"ShellSage is an AI-powered command-line assistant that integrates seamlessly with your terminal workflow through tmux. It provides contextual help for shell operations, making it easier to navigate complex command-line tasks, debug scripts, and manage your system.\n",
5128
"\n",
52-
"Whether you're a seasoned sadmin or just getting started with the command line, ShellSage acts as your intelligent terminal companion, ready to help with both simple commands and complex operations."
29+
"ShellSage works with multiple LLM providers including Claude, GPT, and Ollama. It uses tmux to automatically read your terminal history or multiple pane histories to provide contextual assistance. You can pipe command output or file contents directly to ShellSage, and it can view files, search code, create files, and make edits with your permission. When needed, it can even search the internet for up-to-date information. You can also log all your interactions directly to SQLite for later reference."
5330
]
5431
},
5532
{
@@ -104,21 +81,29 @@
10481
"uv tool uninstall shell_sage\n",
10582
"```\n",
10683
"\n",
107-
"Using `uv tool` keeps ShellSage completely isolated from your project dependencies, so you can safely use `ssage` even when inside another virtual environment.\n",
108-
"\n",
84+
"Using `uv tool` keeps ShellSage completely isolated from your project dependencies, so you can safely use `ssage` even when inside another virtual environment."
85+
]
86+
},
87+
{
88+
"cell_type": "markdown",
89+
"id": "24233b47",
90+
"metadata": {},
91+
"source": [
10992
"## Prerequisites\n",
11093
"\n",
111-
"1. **API Key Setup**\n",
112-
" ```sh\n",
113-
" # For Claude (default)\n",
114-
" export ANTHROPIC_API_KEY=sk...\n",
115-
" \n",
116-
" # For OpenAI (optional)\n",
117-
" export OPENAI_API_KEY=sk...\n",
118-
" ```\n",
119-
"2. **tmux Configuration**\n",
120-
" \n",
121-
" I created a preconfigured [tmux configuration](.tmux.conf) that I found works well with shell sage. It enables things like mouse support, adds pane ids to your status bar so you can quickly reference them to have ShellSage read from them, turns off alternative-screen so editor content like vim will stay in the tmux buffer for ShellSage to see, and adds a shortcut for automatically extracting out code fence blocks into your command prompt (CTRL+B+E then the index of the code fence block you want)."
94+
"Before using ShellSage, you'll need to set up an API key for your chosen LLM provider. By default, ShellSage uses Claude, so you'll want to export your Anthropic API key:\n",
95+
"\n",
96+
"```sh\n",
97+
"export ANTHROPIC_API_KEY=sk...\n",
98+
"```\n",
99+
"\n",
100+
"If you prefer to use OpenAI instead, you can export your OpenAI API key and update your shell sage config to use openai (see the Configuration section below for details):\n",
101+
"\n",
102+
"```sh\n",
103+
"export OPENAI_API_KEY=sk...\n",
104+
"```\n",
105+
"\n",
106+
"ShellSage works best with a properly configured tmux environment. I've created a preconfigured [tmux configuration](.tmux.conf) that works well with ShellSage. This configuration enables mouse support, adds pane IDs to your status bar so you can quickly reference them when having ShellSage read from specific panes, turns off alternative-screen so editor content like vim stays in the tmux buffer where ShellSage can see it, and adds a convenient shortcut (CTRL+B+E followed by the index number) for automatically extracting code fence blocks into your command prompt."
122107
]
123108
},
124109
{

0 commit comments

Comments
 (0)