5 ms·
I had Claude Code build me one of these as well, though I added Dirac's line hashing for edits etc. Also used Rust, and I had this idea that I should use plugin
by arjie 6mo ago
I had Claude Code build me one of these as well, though I added Dirac's line hashing for edits etc. Also used Rust, and I had this idea that I should use plugins so it can self-edit by implementing in hooks but in the end, I just have it create exhaust information about improvements into a separate file and just update the source code and recompile. The source code is in a fixed place so it can just rewrite and build the agent itself. I use it with DeepSeek 4 Flash running on 2x RTX 6000 Pros which I get some 138 tok/s on.
To be honest, I just plagiarized Pi, Dirac, OpenCode. Any new tricks in this one that I can steal?
- gidellav 6mo agoSome interesting features I add on top of being lightweight are the prompts library, Git worktrees integration and Ralph Wiggum loops integrations.
- arjie 6mo agoVery cool. Thank you! I will look.
- teo-mateo 6mo agoIs it public on github?
- normie3000 6mo agoYes.
- arjie 6mo agoMine? No. It’s super idiosyncratic and I haven’t validated that it has not leaked secrets into the codebase.
- joshka 6mo agoTake a look at OpenAI blogs about codex: https://openai.com/index/unrolling-the-codex-agent-loop/ https://openai.com/index/unrolling-the-codex-agent-loop/ https://openai.com/index/harness-engineering/ https://openai.com/index/harness-engineering/ https://openai.com/index/unlocking-the-codex-harness/ https://openai.com/index/unlocking-the-codex-harness/
- GodelNumbering 6mo agoCreator of Dirac here. Glad to see it mentioned and even more glad that you found it useful. I am currently in deep refactor mode to introduce modular tooling to Dirac since the concept of 'fixed' set of tools is starting to feel antiquated, adding tools on demand would be super convenient and a likely replacement for MCP (I understand not all use-cases of it)
- karagenit 6mo agoCurious how you’re handling prompt caching, as I understand it most LLM providers essentially inject tool definitions in the system prompt, so changing tools dynamically breaks the cache. This has been a big annoyance for me in a separate project; I currently just implemented my own tool-ish system that defines schemas in user messages and instructs the LLM to return matching JSON, but it’s less reliable than using the native tool calling + structured outputs available in the API.
- GodelNumbering 6mo agoNative tool calling indeed. By modular, I meant the tool defs are loaded dynamically per task and stay the same during the task