mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully written in Elixir.
What’s that?
Two weeks ago José posted this on X:
People are sleeping on Elixir for a coding harness:
Hot-code swapping allows you to build an extensible plugin system similar to Pi, which reloads live without dropping state
Designing a client-server architecture, similar to OpenCode, is basically a byproduct of the actor model (plus you get both IO/CPU concurrency)
The built-in distribution means you can easily isolate the brains (model + session) from the hands (sandbox + tools). For example, you can the agentic session on your machine which coordinates agents executing inside Docker or a remote node. Or even have one agent session coordinate multiple nodes (this is basically how Livebook works anyway)
Those can definitely be built from scratch in other languages, but in Elixir the building blocks are basically part of the runtime.
I actually was after writing my own harness since Anna Domini, but work on Cure and some other fancy pet projects (spoiler!) delayed me actually starting it. Also, there is still a freaking capitalism all around, and I need to do some boring stuff for a living too.
But two weeks ago it rang a bell. Now or never. I was never satisfied by Anthropic, Warp became too expensive, Gemini is fancy but I hate using Google products. I decided to give DeepSeek a shot.
What’s under the hood?
Well, I just implemented what José twitted (más o menos.) As my followers probably know, I am a strong believer in staic analysis, specifically in agentic era. I started working on language-agnostic static tools a year ago, and besides many others I created ragex which is good enough to be used alone as a harness (unless one needs an enhanced user interaction.) If you have GPU, ragex would benefit from it, because it creates embeddings for AST, instead of delegating this to pure text instruments, aka grep/awk.
For ragex I created dllb which is a database explicitly optimized for storing and querying AST-like structures.
DSH itself is just a CLI, knotting the remote AI model with local static analysis tools.
There is a comprehensive README, go read it if interested.
FAQ
Q. Why it’s not model-agnostic?
A. Well, technically it should be, maybe with tiny changes. Ragex is. But I don’t have any interest in making it work for Anthropic/Google for my own reasons.
Q. What’s the most exiting feature?
A. Approximately 8 hours of heavy work on my other pet project (not fairly complicated but still) cost me $1.12. The same amount of work with Warp would be $20+ approx.
Q. Does it work with PRs/diffs/git?
A. Yes. Natively.
If anyone is interested and/or wants to try, please, you know where to put issues and question. The official AI policy of all my projects is the very same: I accept any PRs, if and only if they are less than 314 LoCs. I do not care if they were created by a human, a model, or a bigfoot. I still review all PRs myself, using my eyes, though.
Here is a screenshot of the response to the question “How Brain/Hands Architecture is implemented in DSH?”
Trending in Announcing
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixir-ls
- #elixirconf-us
- #ai
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
AstonJ
Nice - I like DeepSeek
And your thread reminds me we need a glossary so we can add things like
coding harness- so many new terms for newbies to get their head around nowadays…plcholder
WOW! this is amazing dude, you dont know how happy this had made me, I was thinking of trying to realize something like this, but I lack the technical prowess, so I will be reading your code this evening. I really like the AST thing and I was thinking could one use it for prompt caching gains
plcholder
So got around to setting things up, im confused why v3 and not v4? is this a typo?