Prux:一个极简终端编码智能体
Prux is a minimal terminal coding agent
Prux 是一个极简终端编码智能体,用 Rust 重写了 @earendil-works/pi-coding-agent,行为与措辞基本与上游保持一致。
一个极简的终端编码代理
⚠️注意:目前仅测试了
opencode-go和deepseek。
简介
prux 是一个极简的终端编码代理。核心保持小巧专注,其能力通过扩展、技能、提示模板、主题和可自定义的键绑定来扩展。它是 @earendil-works/pi-coding-agent 的 Rust 重写版,在行为和措辞上大部分与上游保持一致。
功能
- 交互式 TUI:全屏终端界面,支持主题和可自定义的键绑定。要求 stdin/stdout 为 TTY。
- 内置工具:
read/bash/edit/write/grep/find/ls,覆盖常见编码任务。 - 多提供商:支持 Anthropic、OpenAI 和 DeepSeek 等 API 提供商,并支持自定义和虚拟模型路由。
- 会话管理:会话持久化、
/resume恢复、分叉和树状导航。 - 上下文压缩:
/compact压缩长上下文,并带有分支摘要。 - 扩展系统:在 Rust 中实现
Extensiontrait,以提供工具、命令、键绑定、CLI 标志和事件钩子。 - 内置扩展:MCP、子代理、codemode(QuickJS 沙箱编排)、技能、计划任务、计划模式等。
安装与构建
从 crates.io 安装已发布的二进制文件(需要 Rust 工具链):
cargo install prux
或从源码构建:
cargo build --release ./target/release/prux --version
常用命令:
make # cargo build --release make build # compile only (debug) make debug # cargo run make check # cargo check cargo test # full test suite cargo clippy # static checks
快速开始
cd /path/to/project
prux首次运行时,在 TUI 中使用 /login 配置提供商,或在启动前设置环境变量:
export ANTHROPIC_API_KEY=sk-ant-...
prux设置会写入 ~/.prux/(代理目录,可通过 $PRUX_AGENT_DIR 覆盖):凭据在 auth.json 中,全局设置在 settings.json 中,等等。
非 TUI 入口点
除对话模式外,以下命令不需要 TTY:
prux auth:凭据管理prux mcp:MCP 服务器管理prux --export:将会话导出为 HTMLprux --list-models:列出可用模型
文档
完整文档以中文编写,位于 assets/docs/。它在编译时嵌入,并在运行时同步到代理目录。从 assets/docs/index.md 开始,并参阅 assets/docs/quickstart.md 以快速上手。
从源码贡献
开发约定、模块分层和构建细节见 AGENTS.md。上游对齐节奏记录在 sync.md 和 migrations/ 中。
故障排除
Windows 限制:在 Windows 上的 Git Bash 下,prux 会经过 crossterm 使用的旧版控制台 API,该 API 既不实现 kitty 键盘协议,也不实现括号粘贴。因此 Shift+Enter 无法与普通的 Enter 区分开来(使用 Ctrl+J 插入换行),粘贴的文本会作为普通按键到达,因此多行粘贴可能会逐行提交。建议在 Windows Terminal(支持 ANSI/VT)中运行。
许可证
MIT,见 LICENSE。
来源:Hacker News · github.com

