| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AI in your shell, not another shell
apesh is a lightweight terminal AI assistant that enhances your shell without replacing it. A product by ApeCode.ai — Build smarter with AI
Simply type ape <natural language> in any terminal to get AI assistance; use it and move on without blocking your normal shell workflow.
| Feature | Description |
|---|---|
| Non-blocking | Use it and move on, doesn't interrupt your shell workflow |
| Zero switching cost | Works in any terminal - iTerm2, Terminal, Windows Terminal, etc. |
| Smart fix | ape fix to fix the last failed command with one keystroke |
| Context-aware | Multiple ape calls in the same terminal share context |
| OpenAI compatible | Works with any OpenAI-compatible API (OpenAI, Claude, local models, etc.) |
| Open source | Apache-2.0 license |
┌─────────────────────────────────────────────────────────────────┐ │ │ │ Claude Code Mode apesh Mode │ │ ──────────────── ────────── │ │ │ │ $ claude $ git push │ │ > write an API for me error: rejected... │ │ > modify user.py │ │ > run tests $ ape fix ← use & go │ │ > exit ← exit to return to shell ✅ Fixed │ │ │ │ ┌──────────────────────┐ $ ls -la ← back to shell│ │ │ Enter AI's world │ $ npm install │ │ │ AI is the protagonist│ $ ape what does this error mean│ │ │ Blocking dialogue │ ... │ │ │ Heavyweight │ $ vim config.js ← normal shell│ │ └──────────────────────┘ │ │ ┌──────────────────────┐ │ │ │ AI works in your shell│ │ │ │ You are the protagonist│ │ │ │ Use & go, non-blocking│ │ │ │ Lightweight │ │ │ └──────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘
No Python installation required - the install script handles dependencies automatically:
# One-line install (recommended)
curl -fsSL https://apesh.dev/install.sh | shAfter installation, run ape init to install the shell hook (for recording command history).
# If you have uv
uv tool install apesh
# If you have pip/pipx
pip install apesh
pipx install apeshapesh uses OpenAI-compatible API format, so it works with various providers:
# OpenAI
export API_KEY="sk-..."
export BASE_URL="https://api.openai.com/v1"
export MODEL_NAME="gpt-4o"
# Anthropic (via OpenAI-compatible endpoint)
export API_KEY="your-api-key"
export BASE_URL="https://api.anthropic.com/v1"
export MODEL_NAME="claude-sonnet-4-20250514"
# Local models (Ollama, LM Studio, etc.)
export API_KEY="ollama"
export BASE_URL="http://localhost:11434/v1"
export MODEL_NAME="llama3"~/.ape/config.json:
{
"model": "gpt-4o",
"base_url": "https://api.openai.com/v1",
"max_turns": 10,
"auto_confirm_low_risk": false
}Also supports .env files (~/.ape/.env or .env in project directory):
API_KEY=your-api-key
BASE_URL=https://api.openai.com/v1
MODEL_NAME=gpt-4o# Execute commands with natural language
ape find the process using port 3000 and kill it
# Fix the last failed command
ape fix
# or simply
ape
# Pure Q&A
ape what is a Docker volume
# Auto-execute mode (skip confirmations)
ape --auto format all Python files in current directory| Command | Description |
|---|---|
| ape <natural language> | Main entry point, starts the Agent to process your request |
| ape or ape fix | Fix the last failed command |
| ape --auto <text> | Auto-execute mode (skip confirmations for non-risky commands) |
| ape new | Create a new Session, clear current context |
| ape init | Install shell hook |
| ape uninit | Uninstall shell hook |
| ape --help | Show help |
| ape --version | Show version |
$ ape find the process using port 3000 and kill it
🔍 I'll execute the following steps:
1. Find the process using port 3000
lsof -i :3000
[Enter to confirm / n to cancel] _
# User presses Enter
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 12345 user 23u IPv4 ... 0t0 TCP *:3000 (LISTEN)
2. Found process PID 12345, terminating...
kill 12345
[Enter to confirm / n to cancel] _
# User presses Enter
✅ Process 12345 terminated$ git push
error: failed to push some refs to 'origin/main'
hint: Updates were rejected because the remote contains work...
$ ape fix
🔧 Detected failed command: git push (exit code: 1)
Analysis: Remote has new commits, need to pull before pushing.
I'll execute:
git pull --rebase && git push
[Enter to confirm / n to cancel] _$ ape what is a Docker volume
Docker volume is a data persistence mechanism provided by Docker...$ ape what framework does this project use
This is an Express + TypeScript project.
# Later...
$ ape help me add a health check endpoint
Sure, I know this is an Express + TypeScript project, let me add a health check endpoint...apesh uses an Agent Loop architecture: the LLM decides whether to respond with text or call tools (execute commands).
┌─────────────────────────────────────────────────────────────┐ │ │ │ User Input ───────► LLM Decision │ │ ▲ │ │ │ │ ▼ │ │ │ ┌───────────────┐ │ │ │ │ Response(text)│ ─────► Output to user │ │ │ └───────────────┘ │ │ │ │ │ │ │ ▼ │ │ │ ┌───────────────┐ │ │ │ │Tool call(shell)│ │ │ │ └───────────────┘ │ │ │ │ │ │ │ ▼ │ │ │ Show command, wait for confirmation │ │ │ (unless --auto) │ │ │ │ │ │ │ ▼ │ │ │ Execute command, get result │ │ │ │ │ │ └─────────────────────┘ │ │ (Result returns to LLM, loop until done) │ │ │ └─────────────────────────────────────────────────────────────┘
Even in --auto mode, the following high-risk commands require confirmation:
# Clone the repo
git clone https://github.com/ApeCodeAI/apesh.git
cd apesh
# Run in development mode
uv run ape <natural language>
# Add dependencies
uv add <package>apesh is part of the ApeCode.ai product lab:
| Product | Description |
|---|---|
| apecode | Full-featured AI coding assistant (like Claude Code) |
| apesh | Lightweight terminal AI assistant (this project) |
Visit apecode.ai for more AI-powered developer tools.
AI in your shell, not another shell
apesh 是一个轻量级终端 AI 助手,增强你的 shell 而不是替代它。
在任意终端中输入 ape <自然语言>,即可获得 AI 辅助;用完即走,不阻塞正常的 shell 使用。
# 自然语言执行命令
ape 帮我找到占用 3000 端口的进程并杀掉
# 修复上一条失败的命令
ape fix
# 纯问答
ape 什么是 Docker volume
# 自动执行模式
ape --auto 格式化当前目录下所有 Python 文件apesh 使用 OpenAI 兼容的 API 格式,支持多种 Provider:
# OpenAI
export API_KEY="sk-..."
export BASE_URL="https://api.openai.com/v1"
export MODEL_NAME="gpt-4o"
# 本地模型 (Ollama 等)
export API_KEY="ollama"
export BASE_URL="http://localhost:11434/v1"
export MODEL_NAME="llama3"详细文档请参考上方英文部分。
Made with ❤️ by ApeCode.ai
| Back | FazBrowse Home | New Git URL |