slash-agent 终端助手
在 Bash 里输入 /agent,就能让 LLM 读取终端报错并就地给出可执行的修复命令。
- Star 数
- ★ 10
- 最近更新
- 8 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 47/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台ChatGPT · Claude Code · OpenAI API
- 开始前需要
- 典型场景
- 构建或测试突然失败时,开发者只敲一次 /agent Fix this,让助手读取当前 tmux 回滚里的 traceback 并安装缺失依赖。
- 主要局限
- 原生 Windows CMD/PowerShell 不支持,Windows 用户必须改用 WSL2。
这个 Agent 能做什么,适合哪些场景?
slash-agent 是一个嵌入用户当前 Bash/Zsh/Ksh/Fish 会话的命令行 LLM 助手,安装后通过 shell 包装脚本(bin/slash-agent.sh)向一个 Python 编排器(slash_agent/main.py)注入 /agent 命令。它默认抓取当前 tmux 面板最近的回滚内容或 shell 历史作为上下文,把问题交给本地 Ollama、OpenAI、Azure OpenAI 或任意 OpenAI 兼容端点(llama.cpp、vLLM 等)。模型提出的命令会在真实 PTY 中执行,并在执行前进入 y/n/e/c 交互确认循环,因此可以看到彩色输出、进度条并交互输入 sudo 密码。执行结束后,cd 产生的目录变更和 export 的环境变量会通过临时 source 脚本同步回父 shell。整体按需唤醒,没有常驻守护进程,空闲时不占内存;原生 Windows 不支持,需在 WSL2 中运行。
用户在终端输入 /agent 或 agent 后,shell 包装脚本先捕获上下文(AGENT_TMUX_LINES 默认 50 行 tmux 回滚,回退到 AGENT_HISTORY_COMMANDS 默认 20 条历史命令),再调用 slash_agent/main.py。编排器按 AGENT_BACKEND(ollama、openai、azure_openai、dummy)和 AGENT_ENDPOINT、AGENT_MODEL 连接 LLM,可选设置 AGENT_THINKING_LEVEL、AGENT_TEMPERATURE、AGENT_TOP_P。返回的命令先以 Confirm action: [y]es / [n]o / [e]dit / [c]omment 提示用户,然后在 PTY 桥中执行;支持 -n/--dry-run 预览、-y/--yes 跳过确认、--unsafe-yes 连 rm -rf 与 sudo 等关键命令也自动确认。执行完把退出码、PWD 和环境变量写入同步脚本,由父 shell source 生效。它还从 .agent/skills/、.claude/skills/、.github/skills/ 或全局 skill 目录发现 SKILL.md。
- 构建或测试突然失败时,开发者只敲一次 /agent Fix this,让助手读取当前 tmux 回滚里的 traceback 并安装缺失依赖。
- 需要快速搭建开发环境(如生成 docker compose 文件、配置 systemd 服务)但记不住参数时,用 /agent 让模型给出命令并逐条确认执行。
- 在离线或受监管环境中工作的工程师,把 AGENT_BACKEND 指向本机 Ollama,使终端日志和源码不出本机。
- 想把项目目录和导出的环境变量保留在主 shell 中的用户,依赖 cd 与 export 的父 shell 同步能力,而不是进入孤立子 shell。
- 希望在提交前先看计划的风险敏感用户,用 /agent -n 做 dry-run 预览模型的方案。
如何安装或部署这个 Agent?
推荐用 pipx 安装并注册 shell 集成:
pipx install slash-agent && slash-agent init --install或使用 pip:
pip install slash-agent && slash-agent init --install随后重启 shell,或手动重新加载配置:
source ~/.bashrc不想用 pipx 时可运行零依赖 curl 安装脚本:
curl -fsSL https://raw.githubusercontent.com/akatzmann/slash-agent/master/bin/installer.sh | bash从源码开发安装时,克隆仓库并手动 source 对应 shell 的脚本:
pip install -r requirements.txt
source ~/.slash-agent/bin/slash-agent.shFish 用户需要 source ~/.slash-agent/bin/slash-agent.fish。Windows 用户必须在 WSL2 中安装。
如何使用这个 Agent?
先配置后端,默认写入 ~/.config/slash-agent/env,也可用 SLASH_AGENT_CONFIG_FILE 指定其他路径:
export AGENT_BACKEND="ollama"
export AGENT_MODEL="gemma4:latest"
export AGENT_ENDPOINT="http://127.0.0.1:11434"
export OPENAI_API_KEY=""
export AGENT_TMUX_LINES=50
export AGENT_HISTORY_COMMANDS=20
export AGENT_THINKING_LEVEL="off"也可以运行交互式配置向导:
/agent --configure在终端中直接调用:
/agent Fix this crash
/agent -n setup a docker compose file for PostgreSQL and Redis
/agent -y update package lists and install tree升级时运行:
/agent --update这个 Agent 有哪些优点和局限?
- 完全按需唤醒:不运行守护进程、不监听键盘,空闲时占用 0MB 内存,与其他常驻型项目 agent 形成明确差异。
- 直接读取当前 tmux 回滚或 shell 历史作为上下文,省去复制粘贴报错的过程。
- 命令在真实 PTY 中执行,能看到彩色输出、进度条并交互输入 sudo 密码;同时保留 y/n/e/c 确认循环与 dry-run。
- 通过临时 source 脚本把 cd 和 export 同步回父 shell,解决了子 shell 无法改变父环境的问题。
- 模型无关:支持本地 Ollama 与任意 OpenAI 兼容端点,可做到终端数据不出本机;支持 Claude、Copilot、Gemini 等格式的 SKILL.md 自动发现。
- 原生 Windows CMD/PowerShell 不支持,Windows 用户必须改用 WSL2。
- 它会在真实环境中执行命令,不是沙箱;使用 -y/--unsafe-yes 时存在误执行风险,需自行承担授权与成本责任。
- 使用云端模型需要自备 OpenAI/Azure 密钥并自行控制 token 花费,本地部署则需自行准备 Ollama 或兼容服务。
- README 明确说明它不面向大型仓库架构梳理或整体重构,上下文主要来自终端回滚,深度有限。
- README 的 License 徽章标注 MIT,而仓库元数据为 Apache-2.0,许可证表述存在不一致,采用前需核实。
- 配置默认模型名(如 gemma4:latest)需要在本地拉取对应模型后才能工作,文档未覆盖所有后端的完整故障排查。
这个 Agent 与同类方案有什么区别?
README 明确对比了三类替代方案:ChatGPT/Claude 等标准 Web UI(需手动复制粘贴、只读、仅云端)、Copilot CLI / gh cli 等 shell 助手(打印命令由用户自行运行、无父 shell 同步、仅云端)、Aider / Claude Code 等项目型 agent(读取整个 git 仓库、常驻运行时开销大、面向大型自主功能开发)。它把自己定位为这些工具崩溃后的即时应急杠杆,而非替代深度编码会话。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| slash-agent 终端助手 当前 | 47 · 缺口较多 | — | ★ 10 | 8 天前 | Python | ChatGPT · Claude Code · OpenAI API |
| little-coder:轻量本地编码代理 | 58 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.7k | 1 个月前 | TypeScript | — |
| Nanocoder | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.5k | 今天 | TypeScript | OpenAI API · Claude API |
| GitHub Copilot CLI | 46 · 缺口较多 | 命令行工具付费 | ★ 11k | 今天 | Shell | ChatGPT · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
安全模型文档描述了风险分级、敏感路径黑名单、0o700/0o600 临时日志与交互确认循环,用户确认与数据流透明(BYOK、本地 Ollama 可离线)有文档支撑,故 user_confirmation 与 data_flow_transparency 给 2。但 least_privilege 仅 1:工具以当前用户身份在宿主 PTY 中执行任意命令,无沙箱隔离,--unsafe-yes 可绕过关键命令确认。dependency_security 仅 1:requirements.txt 直接以 git+https 拉取作者私有 py-agent-core 的 tag,无哈希锁定,供应链可追溯性弱。external_effects 仅 1:命令直接修改真实环境(cd/export 回写父 shell),无回滚机制,rollback 记 0。source_attribution 仅 1:作者署名存在但发布者身份未经验证。
self_consistency 仅 1:README 徽章标注 MIT,而 LICENSE 与 pyproject 为 Apache-2.0,存在自相矛盾;示例模型名(gemma4、gpt-6.1-sol)疑似占位。dependency_availability 仅 1:核心依赖 python-agent-core 通过 git tag 引用,可用性依赖外部仓库存在。failure_messages 仅 1:测试显示有截断提示与日志路径回显,但缺少对失败路径的系统性错误信息证据。
audience_and_scenarios 给 2:明确面向开发者终端崩溃修复场景,用例清晰。capability_boundaries 给 2:README 的 IS/IS NOT 表与 Windows/WSL2 限制说明边界。trigger_precision 仅 1:/agent 触发依赖 shell 函数注入,且 -y/--unsafe-yes 语义区分需用户理解,精度证据有限。environment_fit 给 2:支持 bash/zsh/fish/ksh 与 WSL2,测试覆盖多 shell 初始化。
information_architecture 给 2:README、docs/security_model、SECURITY.md、docs/documentation 分层清晰。install_notes 给 2:pipx/pip/curl 与源码安装均有说明。naming_stability 仅 1:命令名 /agent 与 agent 并存,--update/--upgrade/-u 多别名,稳定性证据不足。examples_and_faq 给 2:含多场景示例与对比矩阵。known_limitations 给 2:明确非沙箱、非架构工具、Windows 原生不支持。license 给 2:LICENSE 为完整 Apache-2.0。versioning_changelog 仅 1:pyproject 有 0.2.1 与 SECURITY 支持版本表,但无 CHANGELOG。maintenance_responsibility 仅 1:仅指向 @akatzmann,发布者未验证,责任归属薄弱。
output_usability 给 2:PTY 交互、编辑/评论循环与日志折叠提升可用性。marginal_value 给 2:终端上下文抓取与父 shell 状态同步相对通用聊天有增量价值。cost_benefit 仅 1:零空闲开销是卖点,但云模型 token 成本需用户自控,缺乏内置预算控制证据。
claim_traceability 仅 1:安全模型与风险分级有文档,但多数安全声明未指向具体代码文件。cross_source_corroboration 仅 1:README、security_model、SECURITY.md 相互呼应,但测试仅覆盖部分工具函数,未佐证路径黑名单与风险扫描实现。fact_inference_separation 仅 1:README 营销性表述(零内存、100% 离线)与实现细节混排,未清晰区分声明与已验证事实。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- README 徽章标注 MIT,但 LICENSE 与 pyproject 为 Apache-2.0,许可证声明自相矛盾,使用前需确认实际授权。
- 工具以当前用户身份在宿主 PTY 中执行任意命令,无沙箱隔离;--unsafe-yes 可绕过关键命令确认,存在破坏性操作风险且无回滚。
- 核心依赖 python-agent-core 通过 git+https tag 拉取,无哈希锁定,供应链可追溯性弱。
- 发布者身份未经验证,维护责任与更新路径仅指向单一作者。
- 示例中的模型名(gemma4、gpt-6.1-sol)疑似占位,实际可用性需自行核实。