跳到正文
Hacker News· heng30·· 9 天前AI 评分38

Prux:一个极简终端编码智能体

Prux is a minimal terminal coding agent

AI 导读

Prux 是一个极简终端编码智能体,用 Rust 重写了 @earendil-works/pi-coding-agent,行为与措辞基本与上游保持一致。

正文 · AI 翻译

prux coding agent

一个极简的终端编码代理

Release License Platform Rust 2024 Stars

English | 简体中文

⚠️注意:目前仅测试了 opencode-go 和 deepseek。

简介

prux 是一个极简的终端编码代理。核心保持小巧专注,其能力通过扩展、技能、提示模板、主题和可自定义的键绑定来扩展。它是 @earendil-works/pi-coding-agent 的 Rust 重写版,在行为和措辞上大部分与上游保持一致。

image demo code demo

功能

  • 交互式 TUI:全屏终端界面,支持主题和可自定义的键绑定。要求 stdin/stdout 为 TTY。
  • 内置工具:read / bash / edit / write / grep / find / ls,覆盖常见编码任务。
  • 多提供商:支持 Anthropic、OpenAI 和 DeepSeek 等 API 提供商,并支持自定义和虚拟模型路由。
  • 会话管理:会话持久化、/resume 恢复、分叉和树状导航。
  • 上下文压缩:/compact 压缩长上下文,并带有分支摘要。
  • 扩展系统:在 Rust 中实现 Extension trait,以提供工具、命令、键绑定、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:将会话导出为 HTML
  • prux --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