slash-agent 终端助手

在 Bash 里输入 /agent,就能让 LLM 读取终端报错并就地给出可执行的修复命令。

Star 数
★ 10
最近更新
8 天前
License
Apache-2.0
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台ChatGPT · Claude Code · OpenAI API
开始前需要
Python 3.10+Bash/Zsh/Ksh/Fish shellpipx 或 piptmux(用于捕获回滚缓冲)Ollama 或 OpenAI 兼容的 LLM 端点Shell / 命令行网络访问本地文件系统
典型场景
构建或测试突然失败时,开发者只敲一次 /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。

  1. 构建或测试突然失败时,开发者只敲一次 /agent Fix this,让助手读取当前 tmux 回滚里的 traceback 并安装缺失依赖。
  2. 需要快速搭建开发环境(如生成 docker compose 文件、配置 systemd 服务)但记不住参数时,用 /agent 让模型给出命令并逐条确认执行。
  3. 在离线或受监管环境中工作的工程师,把 AGENT_BACKEND 指向本机 Ollama,使终端日志和源码不出本机。
  4. 想把项目目录和导出的环境变量保留在主 shell 中的用户,依赖 cd 与 export 的父 shell 同步能力,而不是进入孤立子 shell。
  5. 希望在提交前先看计划的风险敏感用户,用 /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.sh

Fish 用户需要 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?

FollowAgents 源码审查 · FARS-2.1
缺口较多
47/ 100 五分制 2.4 / 5
信任安全 12/29
可靠稳定 5/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

安全模型文档描述了风险分级、敏感路径黑名单、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:作者署名存在但发布者身份未经验证。

可靠稳定5 / 14 · 1.8/5

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:测试显示有截断提示与日志路径回显,但缺少对失败路径的系统性错误信息证据。

适用触发10 / 18 · 2.8/5

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 初始化。

规范维护10 / 18 · 2.8/5

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,发布者未验证,责任归属薄弱。

有效结果7 / 13 · 2.7/5

output_usability 给 2:PTY 交互、编辑/评论循环与日志折叠提升可用性。marginal_value 给 2:终端上下文抓取与父 shell 状态同步相对通用聊天有增量价值。cost_benefit 仅 1:零空闲开销是卖点,但云模型 token 成本需用户自控,缺乏内置预算控制证据。

证据核验3 / 8 · 1.9/5

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)疑似占位,实际可用性需自行核实。
证据充分度:低 评估于 2026年10月20日 审查版本 9991359b65ed
查看完整评分方法 →

常见问题

它会一直挂在后台监控我的终端吗?
不会。它是一个按需 source 的 shell 函数,只有输入 /agent 或 agent 时才启动 Python 编排器,没有守护进程、cron 或日志监听。
使用它必须付费吗?
软件本身免费。若指向本地 Ollama 或本地 OpenAI 兼容服务,可零成本、零网络外泄运行;使用 OpenAI/Azure 时需自备密钥并按 token 计费。
模型提出的命令会直接执行吗?
默认不会。每个命令先弹出 [y]es / [n]o / [e]dit / [c]omment 确认;-y 跳过普通命令确认,--unsafe-yes 才会连 rm -rf、sudo 等关键命令也自动确认。
在 macOS 或 Windows 上能用吗?
macOS 可用,把 bin/slash-agent.sh 写进 ~/.bash_profile 或 ~/.zshrc。原生 Windows CMD/PowerShell 不支持,需在 WSL2 的 Linux 终端内安装。
它能改动我当前的目录和环境变量吗?
能。agent 执行期间发生的 cd 与 export 会在退出时写入临时同步脚本,并由父 shell source,因此变更保留在当前会话。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents