Codehamr

极简的本地优先终端编码代理:连接你自选的本地模型或 API,无需注册账号或订阅即可读写代码、执行命令。

Star 数
★ 222
最近更新
1 个月前
License
MIT
主语言
Go

30 秒速览

运行形态
命令行工具
可在哪里用
通用 · 跨平台
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
/bin/sh(Windows 上需 WSL2 或 Linux devcontainer)Go 1.26(仅开发时需要)Ollama 或兼容 Responses API 的模型服务器Shell / 命令行网络访问本地文件系统
典型场景
想在本地 Ollama 模型上运行编码代理、希望代码和提示不离开本机的隐私敏感开发者
不适合
  • 需要沙箱隔离运行不可信代码的用户——codehamr 以当前用户权限直接执行 shell 命令且不提供沙箱
  • 只想在 Windows 原生环境运行、不愿使用 WSL2 或 devcontainer 的开发者
  • 模型服务器仅支持 /v1/chat/completions 而无 Responses API 的环境

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

Codehamr 是一个 MIT 许可的独立终端编码代理,用 Go 编写,通过安装脚本提供 Linux、macOS 和 Windows(amd64/arm64)二进制。它通过 bash、read_file、write_file、edit_file 四个工具读取项目、修改代码、运行检查并汇报结果。模型接入完全由用户选择:默认配置一个指向 http://localhost:11434 的本地 Ollama 模型,也可添加 OpenRouter 等 API 供应商配置,无需项目账号或订阅。所有对话、提示历史和可选日志都保存在项目下的 .codehamr/ 目录中,API 请求只发往你配置的端点。它不提供沙箱,shell 命令以当前用户权限执行,Windows 上需在 WSL2 或 Linux devcontainer 内运行。

在项目目录启动后,codehamr 读取 .codehamr/config.yaml 中的模型配置(模型 ID、API 基址、可选密钥、context_size),按 Responses API 流式调用所选模型(如 qwen3.8:27b 或 anthropic/claude-opus-5.5)。代理通过四个工具循环工作:bash 执行 /bin/sh 命令、read_file 读取文件、write_file 写入文件、edit_file 编辑文件;它读取你的项目、做出修改、运行构建或测试检查,完成后答复。嵌入式系统提示要求它验证改动并把无法运行的检查标记为 unverified。/models 列出或切换配置,/clear 重置对话,提示历史保存在 .codehamr/history,可选 logging: true 将提示、响应和工具活动记录到 .codehamr/log.txt。

  1. 想在本地 Ollama 模型上运行编码代理、希望代码和提示不离开本机的隐私敏感开发者
  2. 已有 OpenRouter 或其他 Responses API 兼容供应商账号、想在终端中调用 Claude 等大模型改代码的工程师
  3. 希望在 devcontainer 或虚拟机内让代理自动执行构建与测试并汇报检查结果的团队
  4. 偏好极简工具链(一个二进制、一个配置文件、两个斜杠命令)而非重型 IDE 插件的用户
  5. 需要在低配离线环境或自托管推理服务器上试用编码代理的评估者

如何安装或部署这个 Agent?

Linux 或 macOS:

curl -fsSL https://raw.githubusercontent.com/codehamr/codehamr/main/install.sh | bash

Windows:

curl -fsSL https://raw.githubusercontent.com/codehamr/codehamr/main/install.cmd -o install.cmd && install.cmd

两个安装脚本从项目 GitHub Releases 下载二进制。首次启动会在当前目录生成 .codehamr/config.yaml,默认包含一个 local 配置。

如何使用这个 Agent?

在项目目录运行 codehamr 即可开始。若使用 OpenRouter:

export OPENROUTER_API_KEY='your API key'
codehamr

然后输入 /models openrouter 切换配置。配置示例:

active: local
models:
    local:
        llm: qwen3.8:27b
        url: http://localhost:11434
        key: ""
        context_size: 262144
    openrouter:
        llm: anthropic/claude-opus-5.5
        url: https://openrouter.ai/api/v1
        key: ${OPENROUTER_API_KEY}
        context_size: 1000000

在 Ollama 上需将 context_size 与 OLLAMA_CONTEXT_LENGTH 或 Modelfile 的 num_ctx 对齐。操作键:Enter 提交提示,Alt+Enter 换行,Ctrl+C 取消当前回合(再按退出),Ctrl+D 在空提示时退出,Ctrl+L 清屏保留对话,/clear 重置对话与历史。

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

优点
  • 模型与供应商完全可插拔:本地 Ollama、OpenRouter 或任何 Responses API 兼容服务器均可,密钥可用 ${VARIABLE} 形式引用环境变量
  • 极简设计:四个工具、两个斜杠命令、一个配置文件,二进制即可运行,安装一条命令
  • 本地优先:提示历史和配置保存在项目 .codehamr/ 下,API 请求只发往你配置的端点,无需注册项目账号
  • 上下文管理内建:客户端为系统提示、工具 schema 和响应预留空间,将近期对话打包进剩余窗口
局限
  • 无沙箱:bash 工具以当前用户权限执行命令,隔离需自备 devcontainer 或虚拟机
  • Windows 不能原生运行 bash 工具,必须使用 WSL2 或 Linux devcontainer
  • 系统提示编译自 internal/config/PROMPT_SYS.md,修改需重新构建二进制
  • 要求后端支持带流式和函数工具的 Responses API;仅暴露 /v1/chat/completions 的服务器需要适配器,/v1/models 连通性检查并不能证明兼容
  • 带密钥的配置在启动和切换时会发送小型推理请求,可能产生少量供应商费用;context_size 为 token 估算值

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

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

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Codehamr 当前 56 · 缺口较多 命令行工具免费 + 模型费 ★ 222 1 个月前 Go —
slash-agent 终端助手 47 · 缺口较多 — ★ 10 24 天前 Python ChatGPT · Claude Code · OpenAI API
Nanocoder 50 · 缺口较多 命令行工具免费 + 模型费 ★ 2.6k 1 天前 TypeScript OpenAI API · Claude API
Distill 终端编程助手 47 · 缺口较多 命令行工具免费 + 模型费 ★ 775 今天 Rust ChatGPT · OpenAI API

FollowAgents 如何评估这个 Agent?

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

README明确说明bash工具以用户权限直接执行shell且无沙箱,但未描述任何命令审批或确认机制,最小权限与用户确认均薄弱;数据流披露较好(记录了API端点、日志、更新检查及退出开关);敏感数据有提示(.codehamr不入版本库、环境变量密钥);依赖已钉版本但无漏洞扫描证据;无回滚机制(日志每次启动被覆盖)。

可靠稳定8 / 14 · 2.9/5

README内部一致,go.mod与CI的Go版本互相印证,依赖钉死;但对失败场景的说明零散(如Responses不支持、工具解析器问题),错误消息质量无法从源文件验证。

适用触发12 / 18 · 3.3/5

面向终端开发者的本地/远程模型场景描述清楚,环境适配说明较全(WSL2、devcontainer、host.docker.internal);能力边界诚实但部分依赖模型遵循提示;触发面小(两个斜杠命令),精度描述尚可。

规范维护12 / 18 · 3.3/5

README结构清晰完整,MIT许可证文件齐备;但无CHANGELOG,日期式覆盖标签的版本策略不利于追溯,安装脚本仅以文档形式出现且采用curl|bash模式;维护者信息缺失。

有效结果7 / 13 · 2.7/5

输出体验有具体描述(流式、Markdown渲染、快捷键);但作为'极简'编码代理,与众多同类项目的差异化价值论证不足;成本披露较好(启动探测可能产生小额费用)。

证据核验4 / 8 · 2.5/5

README引用了PROMPT_SYS.md、测试和media/README.md,但本次审查未获得这些文件,无法追溯关键声明;go.mod与CI工作流可交叉印证部分事实;README对不确定性(token估算、验证依赖模型)表述诚实。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • bash工具以用户全权限直接执行命令且无沙箱,建议在devcontainer或虚拟机中运行;
  • 安装使用curl | bash模式,静态审查无法验证install.sh内容,建议先审阅脚本再执行;
  • 启动时的模型/凭据探测请求可能产生小额API费用,日志文件.log.txt在每次启动时被覆盖,历史不可恢复;
  • 发布者身份未经核验,且本次审查未能看到工具实现源码,安全声明仅基于README自述;
  • 无CHANGELOG且发布标签按日期覆盖,升级后难以对照行为变化。
证据充分度:低 评估于 2026年10月31日 审查版本 24482811592f
查看完整评分方法 →

最近版本

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

  1. 2026-09-25
    发布说明摘录
    Changelog * media * cleanup
    在 GitHub 查看 ↗
  2. 2026-09-19
    发布说明摘录
    Changelog * handling responses
    在 GitHub 查看 ↗
  3. 2026-09-17
    发布说明摘录
    Changelog * handling reasoning * handling reasoning
    在 GitHub 查看 ↗

常见问题

用 OpenRouter 或其他付费 API 会花多少钱?
软件本身免费开源;供应商用量计入你自己的账户。带密钥的配置在每次启动和激活时会发送一个小型推理请求检查模型与凭证,可能产生少量费用。
它安全吗?会执行任意命令吗?
代理通过 bash 工具以你当前用户的权限执行 shell 命令,codehamr 本身不提供沙箱。需要隔离时应使用 devcontainer 或虚拟机,并将 .codehamr/ 排除在版本控制之外。
我的模型服务器只有 /v1/chat/completions,能用吗?
不能直接用。codehamr 使用带流式和函数工具的 Responses API;仅暴露 chat/completions 的服务器需要 Responses 适配器或升级,/v1/models 检查通过只证明连通性而非支持。
在 Windows 上如何运行?
bash 工具依赖 /bin/sh,因此需在 WSL2 或 Linux devcontainer 中运行 codehamr;容器内访问宿主机 Ollama 可用 http://host.docker.internal:11434。
对话数据保存在哪里,会不会外传?
提示历史保存在 .codehamr/history,设置 logging: true 后提示、响应和工具活动记录在 .codehamr/log.txt。API 请求只发往你配置的端点;发布版二进制启动时会向 GitHub 检查更新,可用 CODEHAMR_NO_UPDATE_CHECK=1 关闭。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

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

相关 Agents