hax

一个用 C 编写的极简终端原生编码助手,可对接本地与云端大模型,在终端内完成代码问答与任务执行。

Star 数
★ 932
最近更新
1 天前
License
MIT
主语言
C

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
libcurljanssonC 编译器pkg-configShell / 命令行网络访问本地文件系统
典型场景
在资源受限的机器上运行本地模型的开发者:用 llama-server 加载 .gguf 模型,hax 自动发现模型即可开始代理式编码,内存占用仅几 MB。
不适合
  • 需要 MCP 市场、插件运行时或 IDE 面板的团队
  • 需要逐条命令权限确认的团队
  • 需要原生 Windows 支持的用户(仅能通过 WSL 运行)

这个 Agent 能做什么,适合哪些场景?

hax 是一个以单个原生 C 二进制发布的编码代理,面向在终端里工作的开发者。它提供交互式 REPL 和 -p 一次性执行两种模式,支持流式 Markdown 输出、实时工具输出回显,以及 Ctrl+T 会话转录视图,不接管终端的原生滚动缓冲。模型侧是 多供应商设计:OpenAI、Anthropic、Codex(ChatGPT 订阅)、OpenRouter、OpenCode Zen/Go、llama.cpp、Ollama 及自定义端点,其中本地 llama.cpp 模型可被自动发现。它遵循 Unix 工具习惯:XDG 路径、纯文本配置与会话文件、stdout 干净输出、通过子进程而非插件系统组合能力。运行范围覆盖 Linux、macOS、FreeBSD、OpenBSD,Windows 下经 WSL 使用,提供静态预编译二进制、Homebrew 与 AUR 安装渠道。

hax 在项目目录中启动后,把用户提示发送到所选模型供应商(如 llama.cpp 的 llama-server、OpenAI、Anthropic 等),流式渲染 Markdown 回复并执行代理式的工具调用,工具输出会实时回显并重排进终端显示。交互模式支持 /provider 选择供应商与模型、/login(用于 Codex)、/help 等斜杠命令;-p 模式从参数或 stdin 读取提示并输出最终答案;-c 继续本目录最近会话,--resume 可挑选或按 ID 恢复历史会话。会话文件为纯文本,-- 可输出流式结果;Ctrl+T 打开转录视图查看实际发送与模型回复,还可收集详细的线上协议追踪用于调试。支持 @file 补全(可选依赖 fzf)。

  1. 在资源受限的机器上运行本地模型的开发者:用 llama-server 加载 .gguf 模型,hax 自动发现模型即可开始代理式编码,内存占用仅几 MB。
  2. 需要审计工具行为的工程师:通过 Ctrl+T 转录视图和协议追踪,逐条核对发送给模型的请求与回复。
  3. 打包发行版软件的维护者:单一原生 C 二进制加 MIT 许可,便于为 AUR、Homebrew 或静态二进制渠道打包。
  4. 习惯在终端中工作的开发者:在 REPL 中连续对话,或用 hax -p "list TODOs" 做一次性问答与脚本集成。
  5. 需要跨多供应商切换的用户:同一工具内通过环境变量或 /provider 在 OpenAI、Anthropic、OpenRouter、本地模型之间切换。

如何安装或部署这个 Agent?

macOS/Linux 用 Homebrew:brew install oleksandrchekhovskyi/hax/hax。Arch Linux:从 AUR 安装包 hax。任意 Linux 发行版:从 GitHub 最新发布页下载 x86_64 或 aarch64 的静态二进制并解压到 PATH 目录。从源码构建:git clone https://github.com/OleksandrChekhovskyi/hax.git && cd hax && scripts/install_deps.sh && make(可选 make install)。依赖为 C 编译器、libcurl、jansson、meson、ninja、pkg-config,可选 fzf 用于 @file 补全。BSD 仅支持源码构建;Windows 需在 WSL 中运行。

如何使用这个 Agent?

1) 配置供应商:设置 OPENAI_API_KEY、ANTHROPIC_API_KEY、OPENROUTER_API_KEY 或 OPENCODE_API_KEY 之一;本地模型则先运行 llama-server -m [model].gguf 或 ollama serve。2) 在目标项目目录运行 hax 进入交互式 REPL;首次可用 /provider 查看并选择供应商与模型(选择会被记住)。3) 一次性模式:hax -p "list TODOs",或 printf "explain x" | hax -p。4) 会话管理:hax -c 继续最近会话;hax --resume 选择历史会话;hax --resume=ID -p "next" 一次性恢复指定会话。5) 运行 hax --help 查看 CLI 用法,REPL 内输入 /help 查看斜杠命令。

这个 Agent 有哪些优点和局限?

优点
  • 极轻量:单个原生 C 二进制、极小依赖集、秒级启动,仅为本地模型保留更多内存。
  • 本地模型是一等公民:llama.cpp 默认配置免自定义 provider 块,自动发现模型与运行时能力。
  • 终端行为克制:只重绘当前流式行与输入区,保留原生滚动缓冲,提供可审计的转录视图与协议追踪。
  • 供应商覆盖广:OpenAI、Anthropic、Codex、OpenRouter、OpenCode Zen/Go、llama.cpp、Ollama 及自定义端点均可接。
  • 符合 Unix 习惯:XDG 路径、纯文本配置与会话、-p 模式 stdout 干净、用子进程组合而非插件运行时。
局限
  • 刻意不做插件运行时、MCP 市场、IDE 面板和逐命令权限提示,需要这些特性的团队需另选工具。
  • BSD 平台只能从源码构建,Windows 必须依赖 WSL,无原生 Windows 支持。
  • 源码构建需要 C 编译器、libcurl、jansson、meson、ninja 等一组依赖,比纯解释型工具的安装门槛略高。
  • Codex 供应商依赖 ChatGPT 订阅并通过 /login 登录,不适合无订阅用户。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
hax 当前 62 · 存在缺口 命令行工具免费 + 模型费 ★ 932 1 天前 C OpenAI API · Claude API
little-coder:轻量本地编码代理 58 · 缺口较多 命令行工具免费 + 模型费 ★ 2.7k 1 个月前 TypeScript —
Webwright 浏览器编程代理 66 · 存在缺口 命令行工具免费 + 模型费 ★ 6.1k 17 天前 Python Codex · Claude Code · OpenAI API · Claude API
ReadmeAI - AI 驱动的 README 生成器 51 · 缺口较多 命令行工具免费 + 模型费 ★ 3k 2 个月前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
62/ 100 五分制 3.1 / 5
本评测基于 2026年9月7日 的源码;此后该项目发布了 2 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 13/29
可靠稳定 9/14
适用触发 12/18
规范维护 14/18
有效结果 9/13
证据核验 5/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

测试证实 hax 可直接执行 bash 工具调用而无需逐命令许可;README 明确表示刻意不提供 per-command permission prompts,仅承诺 docs/philosophy.md 中的替代模式(该文件未在证据中提供,无法核实)。因此 user_confirmation、least_privilege、external_effects、rollback 均仅得 1 分。数据流透明度较好:transcript 视图、可选 wire trace、hermetic e2e 环境支持 2 分;但发送给远端 provider 的数据边界未在证据中说明,故不满分。敏感数据处理仅见'设置环境变量',未见密钥脱敏或存储策略,得 1。依赖集小且 lint/asan/tsan/版本固定齐全、发布产物有 sha256 校验,dependency_security 得 2。LICENSE 为 MIT(年份 2026 异常,扣至 2)。

可靠稳定9 / 14 · 3.2/5

CI 矩阵覆盖多平台、asan/tsan、lint,测试固定 runner 环境原因清晰,显示较强自洽性,得 2。依赖在 install_deps.sh 中按发行版声明,得 2。e2e harness 中失败信息详细(dump stdout/stderr),SIGINT 处理有明确退出码与恢复语义,failure_messages 得 2;未满分因未直接见到面向最终用户的错误文案。

适用触发12 / 18 · 3.3/5

README 明确定义目标受众(终端用户、本地模型、发行版打包者)并明确不做的事,audience_and_scenarios 得 3。capability_boundaries 由 philosophy 文档承诺但未在证据中,得 2。agent 触发与工具选择精度在静态证据中无来源,得 1。平台覆盖广(Linux/macOS/BSD/WSL),但源代码未提供,环境适配的实际实现只能推断,environment_fit 得 2。

规范维护14 / 18 · 3.9/5

文档结构清晰(usage/configuration/sessions/debugging/providers/philosophy 分层),information_architecture 得 3。安装说明覆盖 brew/AUR/静态二进制/源码,详尽,install_notes 得 3。示例丰富,含 Quick start、provider 表、CLI 用法,examples 得 2(无 FAQ)。limitations 由 philosophy 文档承诺但不可见,得 2。LICENSE 完整,得 3。版本控制有 tag-与 meson 版本一致性检查、release notes 脚本,但未见到 CHANGELOG 文件,得 2。维护者责任仅见个人仓库,无治理/响应承诺,得 1。

有效结果9 / 13 · 3.5/5

输出可用性有具体设计证据(-p 模式 stdout 干净、-- JSONL 流、stderr 仅提示、流式 Markdown、保留 scrollback),得 2。边际价值明确(单二进制、本地模型一等公民、最小依赖),得 2。成本收益合理(几 MB 内存、静态二进制),得 2;均未满分因无执行证据验证声明。

证据核验5 / 8 · 3.1/5

CI 明细(tag/版本一致性 grep、meson dist 验证发布物、SHA256SUMS)使关键声明可追溯,claim_traceability 得 2。README 声明与 CI/test 证据相互印证(如 bash 工具执行、-- 流),cross_source_corroboration 得 2。文档与注释中事实与设计意图区分清楚,得 2;未满分因核心 C 源码不在证据中,行为声明无法完全核实。

风险与缓解建议
  • hax 刻意不提供逐命令权限提示:agent 可直接执行 bash 命令,请在受控目录或沙箱中运行,运行前审阅 transcript。
  • 无需逐条确认意味着一次提示可能引发链式文件写入或子进程(包括 hax 自身作为 subagent 被调用);勿在含敏感凭据的目录中使用。
  • API 密钥通过环境变量传入,注意 shell 历史与进程环境泄露风险;证据中未见密钥脱敏或安全存储机制。
  • 发布者为未经核实的个人,无治理与维护响应承诺;依赖其自动更新链路(brew/AUR PAT/SSH key)前请自行评估。
  • LICENSE 版权年份为 2026(未来日期),属小异常,建议核对。
证据充分度:低 评估于 2026年9月7日 审查版本 95e0179c0026 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.6.1 hax v0.6.1
    发布说明摘录
    Added - Releases now include a prebuilt macOS binary for Apple Silicon. It needs only libraries that ship with macOS, so it runs without Homebrew. Changed - The prebuilt Linux binaries are a quarter of their former size, about 2 MB, by bundling a libcurl built with only what hax needs. Fixed - OpenAI and Codex models no longer have to fill in every optional tool parameter. GPT-6 models could hang or run unrequested commands, and had to set a bash timeout on every call, often far above the two-minute default after which long commands move to the background. …
    在 GitHub 查看 ↗
  2. v0.6.0 hax v0.6.0
    发布说明摘录
    Added - DeepSeek provider (deepseek): set DEEPSEEK_API_KEY; /usage shows the account balance. See [docs/providers.md](docs/providers.md#deepseek) for pricing and privacy caveats. - Shell-like Tab completion for / commands and their arguments, including model ids and config keys and values. Press Tab again to list matches; a dim hint shows the next argument. - /provider <id>, /model <id>, and /effort <level> switch directly without a picker. /model <id> also works when the provider cannot list models; /provider <id> uses its default …
    在 GitHub 查看 ↗
  3. v0.5.0 hax v0.5.0
    发布说明摘录
    Added - hax --json (implies -p) streams new conversation records as JSONL, followed by a result record with the outcome, final text, cost, and session id. Plain -p output is unchanged, and the session-file schema is now a supported read surface. See [docs/sessions.md](docs/sessions.md). - A resumed one-shot run no longer requires a prompt: hax --resume=ID -p (or --json) continues from where the conversation stopped. - Codex /login now offers a local-browser OAuth flow for organizations that block device login; …
    在 GitHub 查看 ↗

常见问题

使用 hax 需要付费吗?
hax 本身是 MIT 许可的免费软件,但云端供应商(OpenAI、Anthropic、OpenRouter 等)需各自的 API 密钥并按其计费;llama.cpp/Ollama 本地模型则免费,Codex 需 ChatGPT 订阅。
不配置任何文件能直接用吗?
可以。配置是可选的:交互模式下用 /provider 选择供应商和模型即可,选择会被单独记住;云端供应商通常只需设置对应的环境变量。
如何查看代理实际做了什么?
按 Ctrl+T 打开转录视图,查看发送给模型的请求和回复;还可以选择收集详细的线上协议追踪用于调试(见 docs/debugging.md)。
支持 MCP 和插件吗?
不支持。hax 刻意省略 MCP 市场、插件运行时和 IDE 面板,改用子进程组合的模式覆盖相关需求,理由见 docs/philosophy.md。
Windows 上能运行吗?
没有原生 Windows 版本,需在 WSL 下使用。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents