Wednesday, November 4, 2026 Edition No. 228
Search
Daily News · 10 min read

Open Source Agent Tools: November 2, 2026

1. Rufous Is a Rust Agent Harness Built Around the Limits of Small Local Models

Rufous, released as v0.3.0 and v0.3.1 on November 1 and posted to Show HN on November 2, is an alpha coding and task agent written in Rust for models in roughly the 2B to 12B range running under Ollama, LM Studio, llama-server or any OpenAI-compatible endpoint, with cloud providers available for harder work. Each run starts from a prefill of about 1,250 tokens (a short system prompt and nine core tools), and web, memory and MCP tools are enabled only when the model asks for them; skills follow the Agent Skills folder convention and hooks use the hooks.json shape shared by Claude Code, Codex and Cursor. Every tool call is logged to a record the model cannot edit, and at the end of a turn Rufous compares the model’s report against that record, holding the reply once with a list of missing paths when, for example, a file it claims to have written does not exist. A five-ring safety gate refuses irreversible system commands, asks before environment changes, flags paths outside the workspace, and routes deletes to a trash folder and overwrites to backups. It runs as a local web UI (rufous serve), in the terminal (rufous run) or inside the Zed editor over the Agent Client Protocol (rufous acp). The project site reports small-sample results in which the share of correct turns in one four-turn scripted test rose from 0.25 to 1.00 for qwen3.5:4b and from 0.58 to 0.83 for gemma4:e4b with the checks enabled. It is the Rust successor to the Python Mingbird agent. License: Apache-2.0. Source Site Show HN

2. sweet-search Replaces Grep-and-Read in Claude Code, Codex and opencode With a Local Hybrid Code Index

sweet-search, posted to Show HN on November 1, gives coding agents six tools over one local index: search by meaning, a fast exact-text grep, pattern search ranked by meaning, search inside a single file, caller and callee tracing, and a file reader. Retrieval combines hybrid search with late-interaction reranking on custom ANN and MaxSim kernels, indexing is GPU-accelerated where available, and a reconcile daemon keeps the index current as files change, uncommitted edits included; inference is fully local with no API keys or Docker. sweet-search init wires it into Claude Code by installing its own main agent and replacing the built-in general-purpose and Plan subagents, with flags for Codex, opencode and AGENTS.md, and --mcp registers an MCP server with eight tools. The author reports 5% to 33% cheaper agent runs on 200 held-out SWE-rebench tasks across five harness and model combinations, with the same pooled number of solved tasks (481 of 1,000) as native search, and a grep tool 2.46 times faster end to end than ripgrep; all benchmarks are author-run. It requires Node.js 22 or newer on macOS or Linux. License: Apache-2.0. Source Show HN

3. OpenProject Agent Engine Turns OpenProject Tickets Into PRs With a Fixed Team of Implementer and Reviewer Agents

OpenProject Agent Engine, publicly released as v0.2.5 and posted to Show HN on November 1, polls work packages in OpenProject 17 and dispatches the pi coding agent to complete them, using OpenProject as the system of record. The engine claims a ticket, prepares a per-agent clone and git worktree, renders a prompt, runs the agent, verifies the outcome against GitHub and OpenProject, and performs every status transition itself; agents never change ticket status. A fixed team of four accounts (frontend engineer, backend engineer, lead designer and code reviewer) maps to an AGENT field on each ticket: implementers open a pull request, the reviewer either merges it and closes the ticket or rejects it back to the implementer, and blocked work or a review ticket with no pull request moves to an “On Hold” state that only a human clears. Models are set per agent as <provider>/<model>, for example through OpenRouter or a local llama.cpp router, and an optional separate GitHub account for the reviewer satisfies branch protection rules that require a different approver. It ships as a linux/amd64 Docker image with a read-only dashboard. License: MIT. Source Show HN

4. Relayvora Hands Unfinished Work Between Claude Code and Codex With a Verified, Labelled Briefing

Relayvora, created and posted to Show HN on November 1, moves an in-progress task from Claude Code to Codex or back when an agent hits a usage limit, stalls, or carries an expensive context. It reads the session transcript for the goal, recent requests and the agent’s last report, captures uncommitted diffs and the commits made during the session (never reading .env files, keys or binaries, and redacting secrets elsewhere), and with --verify auto runs the project’s own typecheck, lint and test commands without a shell to record real exit codes. The handoff fits a token budget (4,000 by default), labels every fact as [observed], [user], [agent-reported] or [inferred], and launches the target agent in the terminal or copies the briefing for an editor panel; a “relay radar” flags hit or near usage limits and large sessions whose prompt cache has gone cold. The author’s own benchmark (one or two runs per arm) found relaying cost 73% more on a small session, while on a large session cost was about even and context per call fell 71%, from 164k to 47k tokens. It is pre-alpha, local-only with no telemetry, and runs on Windows, macOS and Linux with Node.js 22.13 or newer. License: MIT. Source Show HN

5. Hey Spark Is a Wake-Word Voice Assistant That Uses Claude, Hermes Agent or a Local Model and Asks Aloud Before Acting

Hey Spark, released by ContextuAI as v0.1.0 and posted to Show HN on October 31, is an always-listening desktop voice assistant for macOS 14 on Apple Silicon and Windows 11. The wake word (openWakeWord, with custom words trainable), voice activity detection (Silero), speech recognition (faster-whisper) and speech output (Piper or Kokoro) all run locally on the CPU, so nothing leaves the machine before the wake word and only the request text goes to the chosen brain afterward. The brain can be Claude through the Claude Agent SDK, Nous Research’s Hermes Agent, or any OpenAI-compatible API including Ollama, LM Studio and vLLM. Tools arrive through MCP servers with per-server allowlists: read-only tools run freely, anything that sends, creates or updates requires a spoken “yes”, and destructive tools are blocked by default. It streams answers sentence by sentence, stays awake for follow-ups and can be interrupted by the wake word. License: MIT. Source Show HN

6. safe-grokbot-bridge Lets a Remote Agent Drive Claude Code, Codex and Hermes Sessions on a Home Machine Through a Narrow API

safe-grokbot-bridge, posted to Show HN on November 1, is a small daemon that gives a remote agent, such as xAI’s Grok Bot running in its cloud computer, an authenticated HTTP API to the user’s own machines. Through it the remote agent can read allowed project folders and git history read-only and list, start, message and stop Claude Code, Codex and Hermes Agent sessions, either in tmux sessions the user can attach to or as headless claude -p and codex exec runs, so it acts as a coordinator while the user is away from the keyboard. The bridge listens only on 127.0.0.1 behind an outbound cloudflared tunnel, stores only hashes of 256-bit bearer tokens, applies per-IP lockout and per-token rate limits, grants capabilities per folder (files, git, sessions, input, start), logs every request, and has no generic shell endpoint; file endpoints withhold .env files and private keys, though git output is not filtered. It ships an OpenAPI 3.1 description and a ready-made skill for Grok Bot, and the author warns that it is remote access and should run in a VM, a dedicated WSL distribution or a separate computer. License: MIT. Source Show HN

7. adaptive-agent-memory-research Ships an Offline, Append-Only Project Memory for Coding Agents and Publishes Its Negative Results

adaptive-agent-memory-research, posted to Show HN on November 1, pairs a research program on agent memory with a dependency-free memory engine that works today: one claude mcp add command gives an MCP client eight tools (status, search, context, get, timeline, add, supersede and rebuild index) that write to a single append-only memory/events.jsonl in the repository, with no API key, vector database, daemon or pip install. The research question is whether agents should keep memories based on measured future usefulness rather than similarity to the query. Published findings so far include that a superseded fact is highly similar to its replacement (mean cosine 0.816 against a 0.372 corpus baseline, with the stale version the nearest neighbour in 6 of 9 cases without metadata filtering), that separating valid time from transaction time scored 0.944 on “what did we believe at time T” where a single timestamp scored 0.00, and that an association graph lowered Recall@5 by 0.114, after the team retracted an earlier favourable version of that result. There is no headline benchmark yet, and the authors have pre-committed to publishing it whichever way it falls. License: Apache-2.0 for code, CC BY 4.0 for documentation and data. Source Show HN

8. amidumb Scores How Well a Developer Directs Claude Code and Codex, From Local Transcripts

amidumb, posted to Show HN on November 1, reads the Claude Code and Codex session histories on a machine (~/.claude/projects and ~/.codex/sessions) and scores the user’s direction of the agent from 0 to 100 with five sub-scores: specification, steering, verification, discipline and leverage. The score comes from a fixed rubric computed locally, so the same transcripts always get the same result; separately, about 150 redacted prompts (each cut to 500 characters) go to the user’s own claude or codex CLI, run ephemerally with no tools, to write a one-line verdict and three reasons that must cite real prompts. It also counts API keys and passwords pasted into prompts and outputs three habits as rules to paste into CLAUDE.md or AGENTS.md; --dry-run shows exactly what would be sent and --no-roast sends nothing. A run costs about 20,000 to 30,000 tokens from the user’s own plan, and it runs with npx amidumb. License: MIT. Source Show HN