slash-agent v0.1.0 - Initial Launch 🚀
Welcome to the initial launch of slash-agent!
slash-agent is an interactive, native LLM-powered command-line automation agent that runs statefully within your host terminal. It helps you diagnose issues, run commands, and write code, seamlessly synchronizing directory states and environment variables back to your active shell session.
🌟 Key Functionalities
1. Multi-Shell Integration
- Native shell wrappers for Bash, Zsh, Ksh, and Fish environments.
- Integrates directly into your terminal as
/agent <task>(oragent <task>in Fish).
2. State Sync Protocol
- Bridges standard subprocess limitations using a custom boundary communication protocol over pseudo-terminals (PTY).
- Directory transitions (
cd) and environment updates (export/unset) made by the agent are statefully propagated back to your parent shell session on script exit.
3. Dynamic Context Capture
- tmux Scrollback Capture: When active inside a
tmuxsession, automatically retrieves the active pane's scrollback history (defaults to 50 lines) to provide contextual logs (compiler errors, output traces) to the LLM. - Command History Fallback: Falls back to extracting the latest interactive command shell history when outside tmux.
4. Interactive Human-in-the-Loop Steering
- Prompts the user to confirm, edit, or comment on any proposed shell commands (
[y]es / [n]o / [e]edit / [c]omment). - Risk Classification: Evaluates commands against four safety categories (
Safe,Low,Moderate,Critical), enforcing manual confirmation forCriticaloperations (e.g.,rm -rf,sudo) even in auto-confirm mode.
5. Flexible LLM Backends
- Support for multiple local and cloud-based inference endpoints:
- OpenAI (compatible API endpoints)
- Azure OpenAI
- Ollama (for local models like Gemma)
- Offline/Dummy Mode (for local dry-run simulations)
🔧 Recent Changelog & Refinements
- Prompt Cache Optimization: Refactored the system prompt and tool docstrings to extract dynamic environment contexts (CWD, UID, Active User) into the user prompt, ensuring 100% static, cacheable system prompts for faster execution.
- Terminal Input Handling: Fixed interactive confirmation blocks by reading from
/dev/ttywhen stdin is piped. - Console Styling: Improved readability on dark backgrounds by changing status prints to Bold Blue (
\033[1;34m). - Visual Enhancements: Added a project hero graphic and optimized onboarding README paths.