{"data":{"slug":"codehamr-codehamr","name":"codehamr","tagline":"A minimal, local-first coding agent for the terminal","github_url":"https://github.com/codehamr/codehamr","owner":"codehamr","repo":"codehamr","owner_avatar_url":"https://avatars.githubusercontent.com/u/280345385?v=4","primary_language":"Go","stars":218,"forks":19,"topics":["ai-agent","coding-agent","local-llm"],"archived":false,"github_pushed_at":"2026-09-19T10:05:34+00:00","maintenance_label":"Very active","stars_delta_30d":11,"url":"https://www.graphcanon.com/tools/codehamr-codehamr","markdown_url":"https://www.graphcanon.com/tools/codehamr-codehamr.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/codehamr-codehamr","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=codehamr-codehamr","description":"A minimal, local-first coding agent for the terminal.","homepage_url":"https://codehamr.com","license":"MIT","open_issues":0,"watchers":1,"ai_summary":"codehamr/codehamr is an AI-based utility written in Go designed to assist with coding tasks directly from the terminal environment.","readme_excerpt":"## Install\n\nLinux, macOS:\n\n```bash\ncurl -fsSL https://codehamr.com/install.sh | bash\n```\n\nWindows:\n\n```cmd\ncurl -fsSL https://codehamr.com/install.cmd -o install.cmd && install.cmd\n```\n\n> **Windows note:** codehamr's `bash` tool needs a POSIX shell (`/bin/sh`), so on Windows run it inside WSL2 or a devcontainer, not from a bare `cmd`/PowerShell host.\n\nThen run `codehamr` in your project.\n\n> **Warning:** AI systems like codehamr run model-generated shell commands with full filesystem access. Best run inside safe sandboxes like devcontainers or isolated VMs.\n\n> **Windows + devcontainer:** When you run the VS Code devcontainer on Windows, enable Docker Desktop's WSL integration for your distro (Settings, Resources, WSL integration, toggle on the Debian distro). Without it the container cannot reach the Docker engine through WSL2.\n\n---\n\n# swap 'http://localhost:11434' with 'http://host.docker.internal:11434' below.\n\nactive: local\nmodels:\n    local:\n        llm: qwen3.8:27b\n        url: http://localhost:11434\n        key: \"\"\n        context_size: 262144\n    openai:\n        llm: gpt-5.5\n        url: https://api.openai.com\n        key: sk-...\n        context_size: 128000\n    hamrpass:\n        llm: hamrpass\n        url: https://codehamr.com\n        key: hp_...\n```\n\n`/models` lists profiles, `/models <name>` switches.\n\nIf LiteLLM forwards `/v1/responses` to an upstream that only supports chat\ncompletions, enable its bridge in the **LiteLLM proxy configuration**:\n\n```yaml\nmodel_list:\n  - model_name: my-model\n    litellm_params:\n      model: openai/my-model\n      api_base: http://upstream:8000/v1\n      api_key: os.environ/UPSTREAM_API_KEY\n      use_chat_completions_api: true\n```\n\nRestart LiteLLM after changing its config file. LiteLLM translates to the\nupstream's chat API and streams Responses events back, including tool\ncalls. codehamr's profile URL and key stay the same. A working health\ncheck or model listing alone does not verify this route; test an actual\n`POST /v1/responses` request. See the\n[LiteLLM bridge documentation](https://docs.litellm.ai/docs/response_api#opt-in-bridge-for-openai-models-with-custom-api_base).\n\n---\n\n## Hardware\n\nLocal LLMs finally caught up, and we love it. For the best experience we recommend a **~30B-class** model on **32 GB+ unified RAM / VRAM**, fully local and a real alternative to expensive cloud subscriptions.\n\nInfo for Ollama users: Ollama's `/v1` endpoint reports no context-window header, so codehamr packs blind to `context_size` in your config. If that exceeds what your server honors, Ollama silently front-truncates the prompt, and codehamr loses its system prompt and earlier tool results mid-task with no error. Ollama Desktop may cap context at 4k: open settings, lift the **Context length** slider to **64k+** (RAM / VRAM permitting), and raise `context_size` in `.codehamr/config.yaml` to match. The seeded default is qwen3.8:27b's full 256k window (`262144`); if your server serves less, lower it to match.\n\nSampling matters too: for coding, a ~30B-class model typically wants `temperature 0.6`, `top_p 0.95`, `top_k 20`, and **never greedy decoding** (temp 0), which sends it into endless repetition loops. If it still loops, add a small `presence_penalty` and check your server actually applies it (current Ollama silently ignores penalty params). These are server-side knobs, set them at your endpoint.\n\nIf the model prints tool calls as text instead of acting, enable your server's tool-call parser; codehamr warns you when that happens. Tool calling lives in the server's chat template and parser, so most \"the agent ignores tools\" failures are fixed by upgrading the server (or switching to a current `llama-server --jinja`), not the client. And leave KV-cache quantization off for agent work: the quality loss hits tool-call JSON first.\n\n---\n\n## License\n\n[MIT](LICENSE). Do whatever you want with it. Star it if it earned one.","github_created_at":"2026-04-29T10:56:17+00:00","created_at":"2026-07-15T11:00:57.864724+00:00","updated_at":"2026-09-20T05:06:30.493974+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"ai-agent","name":"ai-agent"},{"slug":"coding-agent","name":"coding-agent"},{"slug":"local-llm","name":"local-llm"}],"trust":{"provenance":{"is_fork":false,"github_id":1224508792,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T05:06:28.465Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":11,"days_since_push":0,"last_release_at":"2026-09-19T10:05:43Z","stars_delta_30d":11,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-15T11:00:59.265Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T05:06:29.506Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-09-20T05:06:29.506Z","managed_saas":false},"languages":{"value":["go"],"source":"github.language","observed_at":"2026-09-20T05:06:29.506Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-09-20T05:06:29.506Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T05:06:29.506Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["If you prefer tools that operate locally without relying on cloud services for their core functionality.","You are looking for a non-intrusive coding agent with a small footprint optimized for terminal users."],"when_not_to_use":["If your priority is using features provided by larger, more comprehensive AI agents that may require cloud connections.","If you need advanced coding assistance not covered in the minimalistic approach of Codehamr."],"source":"enrich:decision_facts","observed_at":"2026-07-17T13:44:17.908Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Codehamr is an AI-based coding assistant tool built to enhance terminal coding productivity, emphasizing minimalism and local processing."}]}}