🌏 中文版
Today's Highlight
The top of today's GitHub Trending daily chart is dominated by tools that help agents eat fewer resources — caveman saves tokens with an almost-joke "caveman speak" rewrite, context-mode sandboxes raw tool-call data and keeps only the distilled result, and codegraph pre-builds a code knowledge graph so agents don't have to re-explore file relationships every single time. That's the opposite of the past year's "give agents more capability" narrative — today's crop is competing on burning fewer tokens and making fewer mistakes. openrig shows the other direction: wiring multiple coding agents into one persistent team instead.
Trending Repos
caveman ⭐ 108,980 (#2 on GitHub's daily trending chart)
GitHub · Go · Apache-2.0
- What it is: A technique plus proxy tool that rewrites a coding agent's output into "caveman speak," claiming a 65% cut in token usage.
- Why it matters: The trick exploits the fact that short, low-information sentences are cheaper for a tokenizer — a small proxy intercepts the agent's output and rewrites it into minimal, clipped sentences. Even though it's packaged as a joke (its topics literally include
meme), it's sitting at #2 on today's daily trending chart with nearly 109k stars, which says the "token bill grows the longer an agent runs" pain is real — real enough that people will upvote a gag wrapped around a real fix. - Tech stack: Go CLI + an LLM output-rewriting proxy
- Getting started: Easy — run the CLI proxy as documented. The tradeoff is accepting "caveman speak" output that's noticeably less readable for humans.
context-mode ⭐ 24,974 (#10 on GitHub's daily trending chart)
GitHub · TypeScript · License: Other (non-standard license — check the terms before use)
- What it is: An MCP server that sandboxes the raw data coming back from tool calls, putting only the distilled result into the conversation's context window.
- Why it matters: The author's number is shrinking a single Playwright snapshot from 56 KB down to a few KB. The logic: have the LLM write code to process data rather than reading the whole payload into context — attacking the same token/context-blowout problem as caveman, just from a different angle. It plugs into 17 agent platforms via MCP plus hooks, making it one of the most widely-integrated tools in this context-optimization category right now.
- Tech stack: TypeScript + MCP server + SQLite (session persistence) + FTS5 full-text indexing
- Getting started: Medium — the concept is simple, but you need to understand how it intercepts each tool call's data flow to judge which scenarios are worth sandboxing.
codegraph ⭐ 72,902 (#13 on GitHub's daily trending chart)
GitHub · Rust core (GitHub's language stats show C, likely a bundled runtime) · MIT
- What it is: A tool that pre-indexes a code knowledge graph for coding agents and auto-syncs it on every code change, so an agent doesn't have to rediscover file relationships from scratch each time.
- Why it matters: Most agents today piece together code structure through repeated Grep/Read calls, and that exploration alone burns a lot of tokens and tool calls. codegraph moves that work to the background, building an index that updates with every commit — an agent can just ask "who calls this function" instead of digging through files itself. It claims to run entirely locally, with no code uploaded anywhere.
- Tech stack: Rust core + agent-specific MCP integrations
- Getting started: Medium — install the CLI, run the installer to wire up your agent, then run an init step per project. All three steps are required before it's actually useful.
openrig ⭐ 4,170 (#15 on GitHub's daily trending chart)
GitHub · TypeScript · Apache-2.0
- What it is: A framework for defining an "agent team" in YAML, wiring coding agents like Claude Code and Codex into one persistent multi-agent system, coordinated by a lead agent that delegates to specialists.
- Why it matters: Most multi-agent frameworks assume you're writing agent logic from scratch. openrig instead wraps the coding-agent harnesses you're already using, letting them share context and divide work as a "team" instead of each running in its own disconnected terminal tab. That lines up with the author's stated ambition — "AI civilization experiments" — this isn't a new agent, it's organizational structure for the agents you already have.
- Tech stack: TypeScript + tmux (running multiple agent sessions) + YAML configuration
- Getting started: Medium — needs Node.js 22/24 and tmux, and the maintainers explicitly warn that setup writes provider hooks and workspace-trust settings, so it's worth reading what it changes before running it.
drawio-mcp ⭐ 5,561
GitHub · JavaScript · Apache-2.0
- What it is: draw.io's official MCP server, letting an AI assistant generate and open diagrams directly inside the draw.io editor.
- Why it matters: Most "diagram agent" tools only produce a static image or a text description. drawio-mcp offers four integration paths, and its MCP App Server can embed an interactive draw.io canvas directly in the chat UI (no new tab needed) — a ready, official option for anyone sketching architecture or flow diagrams mid-conversation, instead of waiting for a shaky community alternative.
- Tech stack: JavaScript + the MCP Apps protocol (iframe embedding) + an MCP Tool Server (npm package)
- Getting started: Easy — the officially hosted version (mcp.draw.io) needs no install; just add it as a remote MCP server.
Notable Releases
Pydantic AI v2.53.0
- What changed: Patches a high-severity security issue (GHSA-6fqq-452j-qhrp) — when using
ConcurrencyLimitedModelorlimit_model_concurrency, a streamed request that exits early (the consumer stops iterating, raises, or gets cancelled) or that fully drainsstream_text()with its default debouncing could keep its concurrency slot instead of releasing it. Repeated enough, that blocks every request sharing the same limiter. - Breaking changes: The fix also changes how limiters are shared — a model wrapper now raises
UserErrorif it shares a limiter with the agent making the request or with an enclosing model wrapper;ConcurrencyLimiter.acquire()now actually takes a slot on every call, even within the same task; and a customAbstractConcurrencyLimitermust now allowrelease()from a different task. - Impact: Anyone using
ConcurrencyLimitedModelorlimit_model_concurrencyfor concurrency limiting should upgrade to 2.53.0 soon — agent-levelmax_concurrencyand non-streaming requests aren't affected, but any "shared limiter + streaming" combination is worth checking.
Agno v3.1.1
- What changed: Knowledge's page sync now ships live progress and cancellation —
stream_sync_pages()/astream_sync_pages()continuously yield aPageSyncProgressand end with aSyncReport; a workflow function step can now yieldStepProgressbefore its final output, and AgentOS streams that progress event over its existing REST/SSE route. Cancelling a sync now actually interrupts the work instead of running to completion regardless. It also fixes intermittent connection-reset failures syncing large doc sites (e.g. docs.agno.com's 3,913 pages) and incomplete page discovery on Mintlify-style sites. - Breaking changes: None notable — this is feature expansion and stability fixes.
- Impact: If you use Agno's Knowledge to page-sync a large documentation site, you'll now see live sync progress and can cancel mid-run, and the retry/backoff fix should make those occasional connection-reset failures much rarer.
Today's Takeaway
I used to think saving tokens in the agent ecosystem was mostly a model-side problem — smaller models, cheaper prompt caching. Today's trending list is a reminder that another path runs through the agent harness itself: whether it's caveman's output-style rewrite or context-mode's sandboxed tool output, the underlying logic is the same — keep the data out of context in the first place, instead of letting it in and then trying to compress it afterward.
References
Loading...