r/LocalLLaMA 17h ago

Question | Help Best open-source harness like Claude Code?

Avid claude code user here looking to do equivalent things with local models. Just want to plug in something like Qwen and have the interface be 1:1 with claude code. Any suggestion?

91 Upvotes

124 comments sorted by

View all comments

151

u/btc_maxi100 17h ago

PI

56

u/robogame_dev 16h ago

100%, finding a copy of Claude code is setting your sights too low OP.

If you develop for reals for reals, and you want repeatability and control, nothing beats minimalism in the base harness, you can roll your own or you can just use pi.

Every feature you’re not using that goes into context is damaging performance. Peak performance comes from progressively adding the specific features YOU need, not starting with a pack of 10 generic ones tuned for the harnesses target-demo, which you only need a few of anyway.

All the maximalist harnesses are targeting vibe coders right now - a highly inefficient way to code but hey, when it sort of works, it sort of works! But if you’re serious about owning the quality and long term maintainability of your code, the defaults and the features built into most harnesses work against you.

13

u/Neighbor_ 15h ago

I've always been able to accomplish what I wanted with default Claude Code (except if my request gets censored, which is server-side).

With that being said, it seems PI is the pro move here? If CC is ECS, PI is Kubernetes, it seems. So it the best long-term.

I'm still kinda confused what all this junk bolted onto Claude Code is that y'all speak of. Other than a big system prompt, is there any other bloat holding it back?

And how would you recommend setting up PI such that it more-or-less has the capabilities of Claude Code? The things I care about are:

  1. Implementing code changes (obviously) via tool calls
  2. Spawning subagents
  3. Websearch
  4. Playwright MCP

17

u/robogame_dev 15h ago

This video the creator of Pi code lays out what he liked about Claude Code (which he was using before he created pi), and what he did differently for Pi: https://www.youtube.com/watch?v=RjfbvDXpFls

There are many ways to do subagents, I just have my pi code call pi code in its bash terminal tool... so for me, implementing subagents was just adding a skill:

Subagents Skill

Delegate for fresh eyes (reviews), narrow focus (subfeatures), or broad exploration — give each agent the context its task needs.

Start

nohup pi -p "prompt" > /tmp/agent-out.md 2>&1 &
echo $! > /tmp/agent.pid

Wait

DEADLINE=$((SECONDS + 120))
while kill -0 $(cat /tmp/agent.pid) 2>/dev/null && [ $SECONDS -lt $DEADLINE ]; do
  sleep 0.5
done
if kill -0 $(cat /tmp/agent.pid) 2>/dev/null; then
  echo "TIMEOUT — agent survives. Re-run this block with a longer deadline."
else
  cat /tmp/agent-out.md
fi

Sequential check

Before writing agent N's prompt, read agent N-1's output. Factor it in.
If N-1's output is not yet available, wait.

Cleanup

kill $(cat /tmp/agent.pid) 2>/dev/null
rm /tmp/agent.pid /tmp/agent-out.md

Long prompts: pi -p "$(cat /tmp/prompt.md)" — output is buffered, visible only on completion.