I'm not sure you need a "DeepSeek native coding agent" to take advantage of DeepSeeks cache, yesterday as the Codex quota usage issue still wasn't solved for me, I wrote a tiny little bridge so I could use DeepSeek V4 Pro via Codex, and seems most of everything I did was basically cached as far as I can tell: <a href="https://i.imgur.com/7eKn6wN.png" rel="nofollow">https://i.imgur.com/7eKn6wN.png</a> (2026-05-23 Input (Cache hit): 39,123,200 tokens, Input (Cache miss) 1,692,286), and the bridge is doing not special, just massage the DeepSeek API shape into what Codex expects, nothing particular about caching at all.<p>Besides being even better at the caching, I'm not sure what benefits you'd get compared to just firing up OpenCode with the DeepSeek API yourself, it'll similarly do caching for sure and also "talks directly to api.deepseek.com" if that matters, and you'll get a much more mature harness.
This would be a better page to link to <a href="https://github.com/esengine/DeepSeek-Reasonix/blob/main/docs/ARCHITECTURE.md#pillar-1--cache-first-loop" rel="nofollow">https://github.com/esengine/DeepSeek-Reasonix/blob/main/docs...</a><p>They explain some of the the reasons why they have a better solution and why they are very opinionated<p>>Automatic prefix caching activates only when the exact byte prefix of the previous request matches. Most agent loops reorder, rewrite, or inject fresh timestamps each turn — cache hit rate in practice: <20%.<p>So they optimize on this plus other techniques to improve cache hits, making it cheaper.
The last time I heard about something like this, it was Claude Code intentionally injecting random strings to break caching when you're not using a Claude model. Aside from that kind of intentional sabotage, I don't think any coding agent would just ignore prefix caching.
>Most agent loops reorder, rewrite, or inject fresh timestamps each turn<p>That's really surprising, since it'd defeat the whole point of KV caching. I mean I buy it considering how sloppily coded the harnesses seem to be, but this like obvious low hanging fruit.<p>I've also often wondered why LLMs aren't trained with a format of having a dedicated contextual system-instruction role at the _end_, which you could use to put context like current time or other misc stuff.
> Most agent loops reorder, rewrite, or inject fresh timestamps each turn<p>I haven't seen that, it'd be crazy slow if they did this. What "agent loops" are they talking about here specifically? The vagueness makes it sound potentially made up.
I've never seen an agent loop "reorder, rewrite, or inject fresh timestamps" each turn other than mostly towards the <i>end</i> of the messages. Messing with a large part of the context every turn would be a fairly crazy thing to do.
Opencode has really bad cache stability issues that they seem uninterested in fixing at the moment.
The OpenCode devs talk about this on Twitter a lot, e.g. <a href="https://xcancel.com/thdxr/status/2048268697790300343" rel="nofollow">https://xcancel.com/thdxr/status/2048268697790300343</a><p>> tool call pruning breaks cache and people will tell you this is horrible and expensive<p>> except i looked at some anthropic data and real user behavior ends up with better cache hits and 30% less spend<p>> even this is needs to be analyzed further, it's just not simple<p>> for openai data it's inverted! cache hit ratio is actually better [sic: I think he meant worse based on the screenshot] with tool call pruning turned on<p>> but the net $ saved is only 5%<p>> kimi is a funny one - it has better cache hits with pruning on...but is also more expensive!<p>There was also another thread recently where he discussed that pruning improves user experience (models are smarter with less context) but I can't find it.<p>This can also be disabled in the config: <a href="https://opencode.ai/docs/config/#compaction" rel="nofollow">https://opencode.ai/docs/config/#compaction</a>
My understanding of caching with most models/providers is that a prefix substring of the context has to be reused for a cache hit, but not necessarily the whole entire context window. So if you prune tool calls from the history, you're going to get one cache miss on the newly-pruned history, and then you're going to be getting cache hits on every subsequent turn, with a lower number of input tokens. If you prune subsequent tool calls after that, you would still get a cache hit for the already-pruned portion of the context, just not the full context.
You didn't quote the interesting part:<p>> our implementation is it only prunes calls from > 3 user messages ago, if context is > 40K, and only if there's at least 20K tokens to be removed<p>Seems reasonable to me and explains why I can have long sessions (way longer than with zed agents) while still hitting cache. Opencode is just missing per-provider TTL.
They are. Empirical evidence on my side. Because attention is sparse across the context. It's not truly treating a million token the way it treats a fraction of that count. For performance.
I can't confirm this. Having utilized Opencode for a large project over the past 10 months, with multiple models and agents, we've never run into such 'cache stability issues'."
That'd be really easy to spot and also fix, most likely. Any open issue you could point us to, must surely been reported already?
> That'd be really easy to spot and also fix, most likely<p>Ah, reminds me of good old "There are only 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."
> Ah, reminds me of good old "There are only 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."<p>You quip, but LLM KV caching (from the harness side) is quite easy: You get a cache hit on stable prompt prefixes, period. That means you want to keep the prefix stable, and only append at the end of the conversation.
Made up example: Don't put the git branch name into the system prompt part (that comes first), as whenever the branch name changes, that'd trigger a cache invalidation of the entire prompt.<p>Getting this right requires some care to not by accident modify the prefix, basically, and some design on communicating the things that can change (user configuration, working dir, git information, ...).
<a href="https://github.com/anomalyco/opencode/pull/14743" rel="nofollow">https://github.com/anomalyco/opencode/pull/14743</a>
Opencode (and other coding agents) have hundreds of open issues reported. It is quite discouraging when they are not being closed/fixed.
What I noticed when using OpenCode with llama.cpp, was that the default host RAM prompt cache size in llama.cpp was way too small for say 128k Qwen3.6 27B.<p>The default is just 8GB and a full 128k context for the dense model can take most of that. So then comes an agent and causes eviction and subsequent cache miss.<p>Bumped the cache size (--cram IIRC) up to 48GB and had much better results.
I'm not sure that is really the case, or relevant in practice. I have been using OpenCode with DeepSeek lately (regular coding). For instance, today I got 120 million input tokens hitting cache, vs just 2.59million missing cache.
I am getting 98.6% cache hit ratio on deepseek-v4-flash with opencode
That’s impressive!<p>On the sheer performance it’s comparable to Opus ?
Here are my stats (from DeepSeek directly, with a script I wrote). The prices are what equivalent Sonnet usage would have cost, the actual amount I paid was $10. On performance, DeepSeek V4 Pro is comparable to Sonnet for me.<p><pre><code> ./cost.py amount-2026-5.csv 0.3 3.75 15
input_cache_hit_tokens: 472,971,520 tokens -> $141.8915
input_cache_miss_tokens: 13,299,013 tokens -> $49.8713
output_tokens: 3,334,962 tokens -> $50.0244
cache hit rate: 97.27% (472,971,520/486,270,533)
cache miss rate: 2.73% (13,299,013/486,270,533)
total: $241.7872
</code></pre>
All of this usage was with an OpenCode subagent exclusively.
[flagged]
out of curiosity, how do you measure cache hit rate in opencode ?
[flagged]
Yep exactly my thoughts, went and looked at the code for the deepseek provider in my coding agent. and basically all of what the author wrote there is implemented... <a href="http://github.com/tontinton/maki" rel="nofollow">http://github.com/tontinton/maki</a> for the curios
> I wrote a tiny little bridge so I could use DeepSeek V4 Pro via Codex<p>Can you share the bridge. DeepSeek v4 is awesome paired with claude-code or opencode. I found that claude code costs me less than opencode and I am presuming this is due to a better engineered harness.
Sure, keep in mind it's a steaming pile of hacked together hacks, probably won't work in every case, doesn't support every feature that should be supported (like parallel tool calling, both Codex + DeepSeek API support it), and it might make your computer catch on fire: <a href="https://gist.github.com/embedding-shapes/eab3e63e5a95d3d78a270472e1be0c9e" rel="nofollow">https://gist.github.com/embedding-shapes/eab3e63e5a95d3d78a2...</a><p>I only used it for a few hours to play around with stuff before the quota issue was fixed and I could resume using GPT models, and the bridge was coded by DeepSeek-V4-Flash-IQ2XXS + DwarfStar4 locally, I take no responsibility for what might happen with your computer or you, during usage or just reading the code.<p>Edit: heh, like don't look at line 117 for example where seemingly it likes to handle misspellings in the .env file which totally wasn't my fault for typo'ing the API key in that file... I'm sure there are tons of sharp edges and dumb stuff in there.
I don't think DeepSeek v4 Flash is as good as Claude for relatively complex tasks. I ran with DeepSeek for a week, giving it the same sort of tasks that Claude normally does, and then ran Claude and asked it to continue. It found a whole bunch of things that had been "overlooked" by DeepSeek, and spent some time fixing them before wanting to move on.<p>DeepSeek is good, Claude is better, at least IMHO. Deepseek is a lot cheaper though :)
LiteLLM can serve OpenAI API endpoint IIRC and proxy that to other providers like DeepSeek, should work with Codex
I’m feeling more a novice every day, but how isn’t this just handing over your code to team deepseek for whatever they might want
Not everyone is working with state secrets or user personal data (or even more closely guarded, company secrets) on a daily basis, most of what I hack on is either FOSS already, or will be, not much to keep secret here.<p>Obviously, if you do deal with any sort of secrets, then using local LLMs over OpenAI, Anthropic, DeepSeek or whoever is obviously preferred, and in the case of personal data of users, probably a requirement.
You’re not a novice, there are a lot of us who know exactly what we are doing and see this as a huge downside. We are just being told to go faster, faster, faster lest we miss out on… something?
Somehow I don't think DeepSeek will be <i>that</i> interested in a 6502 compiler [1]...<p>1: <a href="https://atari-xt.com/" rel="nofollow">https://atari-xt.com/</a>
Yeah, but it's miles better than giving Anthropic and OpenAI your data. At least Deepseek is releasing open-weight models and a lot of open-source libraries.<p>If you're concerned about espionage then the only solution is host the models yourself, which again, only open-weight models like Deepseek enable you to do this.
there's laws on the books in China that says that every company operating in China must aid and abet the Chinese government in espionage against the rest of the world. given those facts, I find it deeply troubling to be using anything coming out of China, especially a program that runs in the context of a Linux terminal on a machine that might have something important on it. I'd argue it's a back door waiting to happen, if not sooner than obviously later.
As a European I have to admit I am these days more worried about the US than China. See yesterday's article about the US government forcing Microsoft to give them lists of Dutch government officials. Utter madness. At least the Chinese mainly care about the money and power levers, the US about strange worlds of revenge and manipulation, trying to change or influence your government. E.g. which of the two countries has put crippling personal sanctions on staff of the international criminal court?<p>Honestly I'd love to love the US again, but basically after Obama things have just gone down and down and no soul will trust the US again in the next generation or two.
Besides the language barrier it’s actually also just simpler to do business with the Chinese. There are issues like censorship but they are known & can be routed around. It’s best to just ignore the US and move your business elsewhere.
As an Australian, I completely agree with every point in your response
That particular rot actually turned cancerous with Bush and Cheney, not Obama, IMO.
Exactly this.<p>I don't care about the US more than about Russia or China these days.<p>They are definitely not our allies anymore.
The situation you reference is related to a specific investigation by US congress requesting documents about potentially illegal censorship actions by EU officials from a specific company (microsoft). The difference is that the laws in china are broadly defined to include giving all intellectual property of anyone back to the government with no oversight, for the purposes of espionage.<p>The former relates to a specific investigation about potential criminal activity, the latter relates to broad illegal activity committed by the government itself unrelated to any specific case.<p>The US has no laws on the books forcing companies to wantonly give intellectual property and other espionage level material back to the government. If they did, no one would use cloud providers.<p>To avoid this, you can run your own hosted machine in a colocation facility, because in the US, people do have reduced rights when their data is controlled by a third party versus being controlled by themselves. Its the same as if the data was in your house, they would need a search warrant to obtain it, but when its at a Azure or AWS datacenter not controlled by you, your privacy rights are reduced by doing this.
> no one would use cloud providers<p>I think many are trying to move away from US providers actually. FISA section 702 and the current administrations liberties taken towards international law are not helping. The trust problem is real.<p>Not sure I’d trust China with anything onshore. But offshore, it does seem they play by the rules, because it pragmatically serves the stability of the people. China has not started wars in the past 50 years or so. By that logic one may assume they’d not abuse the arguably broad powers over Chinese firms abroad to risk one now.<p>In a world where rules are increasingly less important how states use power matters more to me than how they claim to be monitored.
> If they did, no one would use cloud providers.<p>EU has literal directive about location of data which has to be located in the EU and not in the USA, because the data are in danger otherwise.
Yep, and then they let US companies handle that data. One more proof EU regime is run by ... no, I won't tell, don't wanna get arrested.
> The US has no laws on the books<p>Correct. They come up on Twitter daily. Pardon, this other truth bullshit.
so govt forcing a private coroporation being a big deal that a its on the worldwide news is more scary to you than an implicit mandate that china forces on its companies?
I forbidden from working on the company code with DS, but if I have a private something that looks pretty much like one of the thousands repositories put there, it doesn't matter that much.
Like which country allows companies to not follow a legal directive. How weird
Is it not better to have a country far away spying on you than your own country?
The four biggest (obvious) backdoor countries in the world in no particular order the United States, Israel, Russia, China. Honorable mentions, North Korea, Ukraine…
Yes, and the Russians are still coming!
FISA section 702 / Five eyes / Room 641A.
Claude code and open code are streaming piles of shit
this appears to be native to the terminal, as in, there's no special application that runs or wraps an agent inside a tui. So basically instead of commands you type plain english?
> this appears to be native to the terminal, as in, there's no special application that runs or wraps an agent inside a tui<p>Same with codex? codex-rs at least, is a TUI as well, it does run a "app-server" in the background, that the TUI actually interacts with, but that's just an implementation detail. Also makes it easy to hook in your own programs to fire of codex "headless" sessions even without the TUI.
This website seems to have been generated by Codex - I asked Codex to create an HTML overview of a feature for my team and it made an overly produced monstrosity - complete with the same large stat boxes that were for the most part devoid of meaningful information - using the same font, colors, layout, hero section, etc. It was also terrible on mobile just like this is.<p>In the end I had Claude produce a one-page html file that was 95% of the way there and it took minor editing to clearly explain the intent of the feature.
A lot of LLM-driven design now looks like this. I don’t understand how people don’t find ugly the pairings with an heavily italicised serif. You also can’t read much of the page on mobile, because the code example keeps shifting the content around.<p>Now, that is overly critical, I’m sure their heart is in the right place. But a simpler website would do :)
Yeah such amazing tech used to produce a tediously unreadable website with great flair.
It’s sad to see companies not spending a bit more on design. Sure, ai will help you get something decent out fast. But there’s a threshold where design becomes an indicator of trust. Especially for b2b software that tailor to large corps. Good design, character, adds directly to the bottom line.
> It’s sad to see companies…<p>The article is about an open source agent harness, Reasonix, that is built to leverage the DeepSeek native api.<p>There’s no company here. No design budget. These people are graciously sharing a project they made in their free time.
Claude Opus 4.7 defaults to exactly this design language for a lot of "just make me a rich html presentation page" requests without further specification.
strange, I got the same design with claude design, same fonts, same title designs with the strange character etc...
> In the end I had Claude produce a one-page html file that was 95% of the way there and it took minor editing to clearly explain the intent of the feature.<p>That doesn't say much about any model though. For starters, any software engineer can tell you that leaving out features can drastically simplify any project.
This is a nice companion to the token saving context app I made. Even has the same Claude Design site, which I think looks awesome! Even though something is cheap, the concepts that make using Deepseek more efficiently can surely be applied elsewhere. Cool stuff!
As someone who has been writing harnesses for a year: the people at opencode etc aren't stupid, when they decide to break the prefix cache [usually partially] it's always because they've tested it and it gives better results overall.<p>If you think that dsv4 behaves differently enough from the aggregate of other models, submit a PR with a patch to special case that to your harness of choice with evidence. Just blindly assuming "append only all the time because cache" is a waste of everyone's time.
> As someone who has been writing harnesses for a year…<p>Your agent harness, brokk, looks great. I’m going to try it this morning.
Is "harness" in this context ~= "agent"?
Are there any learning resources you'd recommend on writing harnesses? I'm interested in doing a non-coding one, but not really sure where to start.
Generically, I would say, just start building it and ask your favorite coding agent for advice when you get stuck. This is the first technology that can teach you how to use it! (But do ask a model with a recent knowledge cutoff, i.e. not gemini.)
[flagged]
[flagged]
Not a fan of that page. The animated typing and resulting continuous resize of the example keeps moving the content beneath it down and up. Such bad UX.
If only author would understand, that some people want single, self sustained binary that doesnt take half of computer memory and would rather write it in rust or golang.
github.com/charmracelet/crush<p>The company that had that acrimonious split from OpenCode. Still, fully written in Go and compared to node-based harnesses, uses 1/5th the RAM. (At least for me.)<p>Works with any provider (including OpenRouter free ones).<p>No conflict of interest here, just a happy "customer" of this excellent resource.
I'm really happy to see a lot of new software come out in Rust, Go, or Zig.<p>The value and ease of development that slow interpreted languages used to offer is disappearing. New languages have all the nice things built in, or rather, our 1am pager alarms are starting to make us mad.
Can someone explain that was use of AI (and all the claims) that a coding agent cannot be written in plain go for example? Given there are tons of good terminal libraries for golang?
It can be written in Golang but interaction libraries are very limited and with sharp edges.<p>There's Google's genkit, charmbracelet's fantasy and LangChainGo. Each has ugly hacks and omissions. Then handling slice streaming of data into Elm architecture (bubbletea) is also complex.<p>So in theory nothing stand against but in practice one has to get quite low to the ground to get anything done.<p>Also: Golang agent exist! It's called crush and is developed by charmbracelet people. It's so-so though I prefer Pi myself.
If you want to try a single self-contained binary that does take half of your computer memory or more, there's always ds4-agent.
If this is what you want, especially in the age of coding agents, why not just build it yourself?
Having a coding bot but skimming on coding? That should tell us something.
It's pretty funny, i'm a $200/m Claude subscriber and i've had little need to use anything else. However the more Claude has been restricting my workflow <i>(notably around the recent IDE/-p usage change)</i> the more i've been wanting to go elsehwere.<p>I'm concerned since i really want SOTA reasoning, but DeepSeek still has me interested.
> I'm concerned since i really want SOTA reasoning<p>I think you should give other models a try and see how much they differ from SOTA models. I did this and realized, even Qwen-2.5-Max was enough. I am sure even Claude Sonnet 3.5 is enough for things I play around with. I am not really striving for fields medal in Mathematics.
That's fair, neither am i - i do tend to work in large, complex, full of legacy decision based codebases. Eg i have access to Sonnet (of course), but i choose to solely work in Opus because i find its output reads better, analyzes better, etc.<p>The "cost" is dumb models is just so high for me. Eg every bad decision they make increases my frustration quite a bit. Despite putting a lot of effort into my workflow to help reduce the number of decisions they make, they always will. So my hedge is always against that.. trying to reduce how insane they can be heh.
I gave a fairly complex reverse engineering task to DS-4 xhigh and GPT-5.5 xhigh today.<p>After about 6 hours, both ultimately failed to fully RE, however, there were some drastic differences:<p>DS stopped every 30 minutes or so, saying it did full RE and it should all work now, while in fact, it didn't complete even 1% of it. It also looked for shortcuts again and again, despite me prompting heavily that the specific shortcut may not be used. It was a complete and utter failure.<p>GPT-5.5, on the other hand, blew me away. It just did the right things, didn't jump to next steps until it was sure it completed the initial layers and had a full understanding of what's required. The only time I prompted it during the 6 hours was when I saw it going in the right direction and I could nudge it slightly towards an even better way. I never felt I was fighting it. Okay, maybe a little bit - after compaction, it sometimes would go on a "no I'm not helping you with reverse engineering" tangent, but it would resolve in a clean session.<p>I cancelled my Claude subscription a month ago, so I haven't tested that, but DeepSeek has reminded me a lot of how I worked with Opus 4.6/4.7. Which perhaps could be a positive sign to some, but GPT-5.5 showed me that the way claude/ds work is just way too annoying.
> DS stopped every 30 minutes or so, saying it did full RE and it should all work now, while in fact, it didn't complete even 1% of it. It also looked for shortcuts again and again, despite me prompting heavily that the specific shortcut may not be used. It was a complete and utter failure.<p>This is my experience with non-SOTA models across the board. When you try them on little tasks and they work it feels amazing, but then you go deeper and you're back to going in loops and fighting the model for hours.<p>Switching back to a SOTA model immediately yields progress again.<p>When I read all of the comments from people saying they can't tell a difference between Opus and <insert open weight model here> I don't know if they haven't really used it much yet, or if they're just not doing anything complicated.
What you’re experiencing is the difference in model intelligence. Most models can seem pretty good at simple stuff over short time horizons. Complex work requires that more intelligence be stuffed into those trillion-dimensional spaces.
The GPT models are heavily biased to a more incremental, empirical, evidence based approach. Sometimes to a fault. I prefer them for this reason, but it requires coaxing or strategic use of /goal to break it out if its highly staged, one piece at a time, approach.. if you don't like it.<p>I suspect for people doing more... website ... type development, the more "yeet this into existence" style of Opus feels preferable.<p>With Claude I was constantly jamming my finger on the escape key "wait, you did what?! based on what proof?!"
> i've been wanting to go elsehwere.<p>There's always the option of using Anthropic's models for some tasks like planning and then just hand over the implementation task to something like DeepSeek. Across different tools, a Markdown plan works pretty okay. That's what I'm planning to do if I go from the 5x Max subscription down to the Pro.<p>I am also writing a launcher that makes using 3rd party providers with Claude Code easy (<a href="https://ccode.kronis.dev" rel="nofollow">https://ccode.kronis.dev</a>) and I already have a local proxy up and running, just not dynamic model switching yet. Though it shouldn't be too hard to add, will probably be there within a week or two, depending on my schedule.<p>I don't think it's wise to leave Anthropic altogether because their models are great (and a subscription gives you features like Remote Control which I like), but switching tiers and maybe saving a bit of money seems viable! On the other hand, you do need a quality baseline, because I remember using Cerebras with GLM 4.6 way back and there was a bit too much slop.
If you want SOTA reasoning you should be using GPT 5.5 Pro.
This is fair, but i've found the different models to have different moods and require different interactions to get them to stick to just the specific edits i ask for, etc.<p>I used to surf the three big players frequently and got really tired of the effort needed to steer some models. In the end i ended up sticking with Claude because it required less steering effort. While not strictly reasoning, a models ability to follow clear directions consistently is something i'd consider part of its SOTA capabilities.<p>Eventually i just tired of exploring. I just want stability.<p>Which ironically is why i'm thinking about moving from Claude. The very basic IDE/-p usage getting removed from my plan is a UX stability issue. I'm trying to progressively improve my workflows and efficiency, not have to establish a new foundation anytime something shifts. Quite frustrating.
Codex has only GPT 5.5
You should definitely stick to the $200 plan, and <i>not</i> try the $10 coding plans with open weight models and higher limits. Anthropic needs your money to stay solvent, and you'll sleep better knowing you're using SOTA.
(Zero reason to defend Anthropic.)<p>I’ve gone that route. I really wanted to stop using Claude, but Deepseek v4 Pro and Kimi 2.6 didn’t do the job. For a lot of coding tasks or well-specced plans, maybe… but then that’s a plan made by Opus anyway.<p>Even Sonnet is sometimes not worth the trouble. Opus is very thorough and reviews its own mistakes quite well. Catches a lot of edge cases.<p>I’m not saying we shouldn’t try other things — I did! —, but it’s more or less okay that people just like Claude Code subscriptions? The back and forth I had with Kimi on a small feature came out to ~1.8€, which is 10% of my Claude subscription each month. And that was a single session. CC with Serena uses tokens fairly well.
The world would be better long-term if we chise tonfund open models instead however.<p>If you think short-term and only about yourself, paying for SOTA regardless of how many military contracts the lab has is the best thing, but paying for open models is both better ethically, and for a future where AI belongs to everyone and not just to Altman et al.
I love the focus on cache hit efficiency. Hats off to the deekseek team for creating a great product that maximizes cost efficiency for the user.
> Hats off to the deekseek team for creating a great product<p>I have been using it for a while, and I wholeheartedly agree. imo, it is as good as codex or claude which I also use. It is a winner in the cost-sensitive tier, and if some startup could put it together with data-retention in mind, it could be a great product sold to the enterprise, as data-retention and privacy are the main issues for the coding-assistant usecase.
Deepseek v4 pro is definitely my preferred cheap model, it's very good, and I use it all the time for my personal projects (opencode go plan), but I also use Claude Opus all the time at work and Deepseek is not as good as that, but it does compete with Sonnet for capability, and beats it on price.
I have unlimited Claude Opus at work and it’s wonderful. Not allozwed to use it for personal use though.<p>So I use Deepseek Pro on the $20 Ollama Cloud plan and it’s really not that far behind and I never triggered the plan’s limits.<p>It’s like 10-15% less powerful but costs 10 times less.<p>Totally worth it. I prefer Opus because my employer pays for it but I would personally never pay 10 times more for it.
Nice,<p>I have got unlimited Claude Opus at work as well.<p>I was really having a hard time deciding between the Ollama and OpenCode plans for personal use, I couldn't really understand how much usage I would get with the Ollama plan, so in the end I went with OpenCode and I have never hit the limits despite using it most evenings and weekends for several hours.
I genuinely don’t think you need Opus 4.7/GPT-5.5 tier models for 95% of tasks in a normal workplace<p>People are out there using frontier intelligence to make responsive headers and weekly work reports. Absolutely don’t need the latest and greatest models for this stuff
Deepseek V4 Pro is an amazing model, even without the unreal cost factored in.<p>It is my default model at the moment. I'm not doing anything too complex though. I honestly found more expensive models like Qwen 3.6 to fail in tasks Deepseek nails.<p>I'm interested in knowing what people are using for tasks which require a bit more thinking. Kimi 2.6? Qwen 3.7? GLM 5.1?
17 GoLang microservices for a serious project were written perfectly using the latest version of QWEN(3.6). The only areas where we really had to work hard were documentation and a very serious task breakdown. All of this was tested, and yes, a review was required, but everything was within reason. The deadline was 10 days of 24/7 work, including the review. When attempting to submit the same task, Opus 4.7/4.6 had to be stopped after three hours. If you have significant resources for experimentation, you can certainly try. For us, the choice is absolutely clear at this point.
I don't think there's any open models at the moment that can handle the more challenging stuff.<p>The things that I use Opus for at work is finding bugs in about ~200k lines of microservices and libraries in a niche language. So, we will get these bug reports that are missing context, can't easily be reproduced on our dev server, and are usually the result of something deep in multiple services/libraries combining with very custom configs. I can ask Opus (max thinking) to find what could cause the bug, and it usually nails it in a few hours (would take me 1-2 weeks to trace it myself). The end result will be like less than 10 lines of code to fix it, some tests to reproduce the bug and a nice report explaining it, so it can be checked in an hour or two.
Just in case, note that this project is someone's side project<p>> Independent open-source project · not affiliated with DeepSeek
Adding already cheap API cost and you probably could let it run for days and the same task..
How can you have cache hit efficiency? Isn't it just a matter of not changing the previous context? I don't understand what knobs there are to tweak on this.
> Isn't it just a matter of not changing the previous context?<p>Yes, but a lot of harnesses change previous context. E.g. the system prompt injects the current time/date, working directory, files in the working directory, etc. Compaction also changes the whole previous context. I _think_ changing the list of tools also invalidates cache, so invoking a subagent with different tools would invalidate the cache.<p>My vague impression is that it's in a similar vein to functional programming languages. It generally disallows doing things that lead to bugs (cache misses in this case), and presumably allows you to do those things in a way that makes it much clearer that this is likely to cause cache misses. I would guess that in this paradigm, you don't mutate your existing session, you derive a new session by mutating the prior context into a new context.
Side note: In DeepSeek API docs they mention that coding clients automatically are assigned the highest thinking effort, despite any settings. This is what I suspected when using OpenCode with V4; it keeps reasoning in very long cycles, this felt like a flaw in the model. May just be a weird API thing.<p>Overall I find their API design and docs so messy. It's a shame, since it's the main entrypoint to using their service.
Maybe the first problem this tool can tackle is creating a better web page? Content continually shifting, super annoying.
God, I whish there was a code harness I don’t have to install a JavaScript runtime for
Unusable thanks to the top animation pushing the rest of the site down repeatedly as you’re trying to read.
Okay, I'm curious.<p>From the FAQ, I see:<p>>Can I point it at a self-hosted / private DeepSeek endpoint?<p>>Yes. Since 0.30 we accept non-standard key prefixes for self-hosted DeepSeek endpoints. Just point `baseUrl` at your internal address — the loop, cache strategy, and tool protocol are unchanged.<p>But my question is:
If I use Reasonix to talk to a deepseek endpoint through openrouter, am I still getting the cache-hit benifits of this agent harness?
Yes*. At least from my limited usage of deepseek-flash for a few billion tokens on openrouter, the cache-hit rate is >95%. And I simply used the claude code harness pointed at the openrouter anthropic compatible endpoint with no fluff.
I would wonder that too, I'm only a novice openrouter user, but I do notice it reroutes my same-model requests to different providers.<p>Maybe users reporting otherwise are just looking at their client reports which wouldn't be able to tell the difference.
The caching strategy here looks really solid for keeping API costs down. Curious how it handles state invalidation when the agent context gets too large though.
High caching rates for coding agents can drastically reduce latency and API costs. I am curious to see how the caching strategy handles context invalidation across multiple files.
I don't think it's helpful, you can already get a 99+% cache hit on claude code, just change the api settings to deepseek. I would like to use a agent built by deepseek itself using deepseek models. Deepseek should make their own agent based on their model, just like OpenAI and Anthropic.
I would've liked benchmarks against other harnesses showing the caching performance
Just checked the stats on my opencode/DS usage...looks like 70%ish hit rate.<p>Pretty shaky datapoint though...don't use it as primary model
Is there benchmarks and measurements that offers comparisons between different harnesses?
I tried it and the text input area was black with a dark font. I checked the documentation, and asked DeepSeek v4, Claude, and Gemini for help with the fonts/style and nothing works except to run in a terminal with a dark theme. Crazy. None of the devs on the project use a light theme?
In the open-source contributors section, when you see a lot of anime or cartoon avatars, you know most of the devs are Chinese.
Can it instruct DeepSeek during an LLM call to start removing old tool calls from the context instead of waiting for the LLM call to finish if the context size approaches DeepSeek's dumb zone? Claude Code can't do that, /compact can only happen after the LLM call; it's often preferable to start cleaning up context during an LLM call, especially when tool calls are huge like reading markdown files; implementation-wise all that is needed is to start removing earliest <tool call start> ... <tool call end> and replacing them just with some log entry stating this tool call was already performed, then re-running KV cache prefill (so the "online" compaction would get 0.5s latency hit every time it's performed). That way one can read 1000 files in one LLM call.
Doesn't Pi Agent do exactly this? Assuming "append only" means they do some kind of compaction as well.
Good timing given the cost spike across other frontier models.
Performance is horrible when you type but caching is magical.<p>Extremely pro consumer tool. I have been hammering it hard with 97% cache utilization and barely $0.03 dollar spent for me constantly exploring a codebase.
Isn't caching a server-side thing? How does the agent affect it, significantly at least?
Say you put the current time down to the second in the system prompt, which is the message that goes in front of the entire conversation, then basically nothing will be cached, every agent turn needs to ingest the entire session over and over. Contrast to not doing that, and the backend can leverage caching all the way up to the latest message, as nothing until then changed.
That's not necessarily true, you can have multiple cache points, see e.g. <a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching#when-to-use-multiple-breakpoints" rel="nofollow">https://platform.claude.com/docs/en/build-with-claude/prompt...</a>
Surely other agent CLIs are not dumb enough to invalidate cache on every turn over something so obvious?
I don't think any the agents breaks caching on every turn, but they might do things like current list of files, or available tools depending upon plan/build mode... or lots of other things that breaks caching multiple times during a session.
Probably not that exactly, but there is a tradeoff between effectiveness of the prompt and cache hit rate. If putting the user’s datetime in the middle of the prompt scores higher on evals but worsens cache hits, versus at the end of the prompt where it’s cache friendly but may not be as effective, what do you do?<p>This is still art as much as science and the different harnesses take different approaches.
Obviously not, most agents properly keep previous messages unchanged, at least the major ones I've been digging into the source off. Also, everything would get so much slower, that even developers creating their own agents would notice quickly how much slower theirs is, if they fuck this up.
Yes, of course you can destroy it. But how far can you "improve", beyond decent "common sense" behaviour.
Given the number of supply chain attacks via npm, maybe the recommended approach to use should be pnpm instead of npx.
Wow the UI looks exactly what I vibe coded yesterday. What a coincidence
The caching strategy is doing most of the heavy lifting here cost-wise.
Well folks here we have it: DeepSeek’s brand is now strong enough people want to jump on their brand recognition.
> Tool-call repair<p>> Tool arguments the model produces occasionally have JSON typos, unclosed quotes, or shape mismatches. Reasonix runs a schema-aware repair pass before dispatch so malformed args still execute.<p>So Deepseek API doesn't have a structured output option where you give a grammar and the model promises the output will follow this grammar?<p>Or it does, but it's buggy?
> The loop is append-only, engineered around DeepSeek's byte-stable prefix cache — long sessions hold 90%+ cache hit and input-token cost collapses to ~1/5. Terminal-first, leave it running.<p>AI marketing slop. This is how all models and coding harnesses work, isn't it?<p>The author claims (in another AI-written post):<p>> LangChain — along with every generic agent framework I checked — rebuilds the prompt every turn. Timestamps get injected. History gets reordered. Tool schemas re-serialize with different whitespace.<p>I haven't touched LangChain in a long, long time, but don't think any of the current harnesses, Claude Code, Pi, Crush, OpenCode etc do that except if you change configuration? Keeping the context stable for caching is a very basic principle and not a wild innovation.<p>This posing as DeepSeek-specific is also a mystery.
<a href="https://shittycodingagent.ai" rel="nofollow">https://shittycodingagent.ai</a>
Not sure about the story but it would be funny if pi folks actually own this domain.
having issues with truncated output from deepseek v4 pro through openrouter via pi-harness on ptyxis-terminal using ubuntu<p>trying reasonix with direct api..
Aka pi.dev
i cant find anything substantiated in the code that actually differentiates it from any other harness.<p>my fork of oh my pi that i have a lot of experiments in, is lterally designed to only work well with models that have decent reasoning levels, like deep seek models. check it out!<p><a href="https://github.com/cartazio/oh-punkin-pi/blob/main/scripts/build-binary.sh" rel="nofollow">https://github.com/cartazio/oh-punkin-pi/blob/main/scripts/b...</a> — thats the install script for after clone<p>fair warning: tis my dog food test bed as i build even fancier stuff
This is not an agent by DeepSeek, so the title is misleading.
Can someone give me a eli5 version of what this is? It really sounds useful to Claude subscribers.<p>Is this improving the cache hit and hence overall efficiency of coding workflows?<p>Does it also let me host a local llm (deepseek)? What are model min requirements for this?
For those of you that use deepseek v4 occasionally, what harness do you use it with? I’m only familiar with claude code and codex.<p>Any comments on what you can or cannot rely on it for relative to cc and codex would be appreciated too!
Maybe check out Goose. It is the standard agent harness being developed by The Linux Foundation under the AAIF. Under active development and the implementation seems to have a good leg up on the other popular agents.<p><a href="https://github.com/aaif-goose/goose" rel="nofollow">https://github.com/aaif-goose/goose</a><p><a href="https://goose-docs.ai/" rel="nofollow">https://goose-docs.ai/</a>
Check out pi.dev. OpenCode is a nice batteries-included Claude Code replacement, but I’m in love with the extensibility of Pi.
Any Pi extensions you'd specifically recommend? I'm just starting out with Pi, but I've had mixed results with extensions. I'm using Pi with gemma4 26b locally, so anything that's friendly to small local models would be appreciated. I think the only extension I'm using right now is pi-total-recall.
I think pi wants you to write your own extensions, adapted to your meeds.<p>I haven't had a need for any extensions though. Maybe subagents, but I solved that with tmux. For all the rest, I just use "skills".
Quite interesting being Terminal based and the AI skills staying within a file of it's own.<p>Will give a go and see how cache behaves
I don't think it's particularly effective to create a new coding agent when there's existing open-source agents (especially extremely extensible ones like Pi) that already optimize for cache hits, have far larger communities, and work for providers other than Deepseek.<p>I specifically use multiple different models and providers, so this wouldn't be useful for me.<p>And it contributes to the problem of each person vibe-coding their own, incompatible, half-baked tool in a space, instead of contributing to a small set of tools and expanding them.<p>It'd be better to just extend an existing tool.
"byte-stable prefix cache" -- give us your codebase in a way that's even EASIER for us to train on.
Click on the download page, it's hilarious. It has a lot of information about the "smart probe" on the download and it's a realtime probe you can rerun.<p>That's the pinnacle of AI slop over engineered garbage in my opinion. All of that information is noise.
That site does not render correctly on my android. Lots of text on the right breaking the reactive layout.
Saw nix suffixed and was excited a new dotfiles was about to hit the market.
> no reordering, no marker-based compaction<p>Is this <i>really</i> the behavior you want? Yes, doing tool-result clearing and such will blow your cache, but if you do it only occasionally, it's still likely a win. Yes, cache hits are good, but not <i>so</i> good that it's okay to be profligate with context to preserve those precious, precious KVs.
So what's best low cost coding agent these days? Kimi 2.6? Qwen's latest closed model? Composer 2.5? DeepSeek?
In my experience, it is claude-code paired with deepseek-v4. For penny-pinchers like me, I can have long coding sessions with it with no anxiety about the cost. Also, prompting it to what you want and verifying the outputs is more important than the quality of the model. So, I am better off with a cheaper model and taking the responsibility for prompting it and verifying the results.
How to do connect deepseek to Claude code?
It's obviously much cheaper paying by the token but how does it compare to a codex subscription on cost?
Can you quantify the actual costs in a week and the use you make?
I've gone through ~600m tokens in Xiaomi Mimo though Claude, and it's been the most effective use of an agent I've had yet. It's very capable, but generally not ambitious, picking simple but effective solutions to most problems I give it.
Going to write something longer about the experience when I get to a billion tokens.
I do have my eyes on the coding plan, which is quite generous.<p><a href="https://mimo.mi.com" rel="nofollow">https://mimo.mi.com</a>
Are you using Mimo 2.5 pro?
Yes. I tried a couple of weeks with non-Pro, and it was pretty good, but I had too many spare tokens, so I switched back to Pro. :)
Kimi 2.6 is great. Qwen3.7-max benchmarks similarly but I havent used it yet
Seems to be DeepSeek.<p><a href="https://news.ycombinator.com/item?id=48237663">https://news.ycombinator.com/item?id=48237663</a>
Although I have little interest in agentic coding, when I do use it, I have found Kimi K2.6 to give Opus-quality output, and have switched entirely to it for pretty much everything.
I've used Opus extensively and tried K2.6 on a few projects, and the gap is <i>huge</i>. K2.6 is nowhere <i>near</i> the performance of Opus. That's fine because it's also far cheaper, but public benchmarks line up with my own personal experience that they aren't comparable in terms of intelligence.<p>(that is, different places on the Pareto efficiency graph)
No two uses are alike, I suppose. For me, whatever difference is a wash. However, I probably tend to shy away from throwing high-complexity/long-horizon tasks at the model.
Cursor with Composer 2.5 seems to be competitive with frontier models (Opus and GPT-5.5) for a significant price discount. Benchmarks are gamed, as always, but $0.55/task vs $11.02 a task definitely indicates that there's <i>some</i> cost advantage.<p><a href="https://cursor.com/evals" rel="nofollow">https://cursor.com/evals</a>
For me, it's by far Deepseek. It's many times cheaper than competitors, and about as good as Sonnet 4.6.
I'd generally agree about Deepseek being as good as Sonnet - but I have extreme trouble with prompt compliance with V4 Pro in a way that I've never had with Sonnet. I'll tell it "find the bug, but don't fix it" or "please use this tool I just developed" and it'll ignore me a high fraction of the time.<p>It's bad enough that I'm working on guardrails at the harness level because prompting appears to be useless.<p>Do you have the same issue?
I have Opus make a fairly detailed plan, then Deepseek implements, and GPT reviews. With that setup, I have zero issues, probably because what you mention is handled (the plan keeps it on track and the reviewer catches any issues).<p>Now that you mention it, though, I <i>have</i> seen it do a few things that weren't in the plan. The reviewer caught them, though, so they didn't cause a problem, and it's so cheap that overall it's a massive improvement.
Just use codex with 5.5 on low reasoning levels
There is an uncanny valley effect to websites where FE is created in full via an AI.<p>These sites have the immediate scent of 'high design', with errors that no 'high designer' would dare make.<p>The italics give me nausea.
Text promoted with orange fill is seemingly random.
There is no thought behind the combination of art and copy.
Random smattering of Title Case and Sentence case and lower case.
A lack of commitment to a full stop
Widowed H1s.
H1s with random spaces .<p>At the same time, if I hammer CMD - to 25%, it looks fancy.
Perhaps nobody gives a fuck.<p>That said, I'm excited to try this tool!
This Claude front end skill is now soon to be slop.
Oh, I was wondering why all new websites look shitty in the same way.
Not a maintainer, but I've fixed some of the really jarring issues on desktop (mobile needs a complete overhaul though). IMO It's not that bad, and it gets the job done.<p>Any feedback on how to make it less "shitty"? I feel like doing some vibe coding tonight.
Already is. Every new website looks exactly the same.
It's probably good, and the best for Deepseek models, but do we really need one harness per model?
This is really tickling the conspiracy theorist part of my brain.<p>"Independent open-source project · not affiliated with DeepSeek"
"Reasonix only targets DeepSeek because..."
"Why DeepSeek only? Can I swap to Claude / GPT? It's a design choice, not a limitation"<p>The lady doth protest too much, methinks?<p>Nicely timed shortly after the making the rebate permanent anouncement.<p>Could just be Chinese devs trying to help western devs with some software and a western facing marketing campaign to raise awareness.
Could be DeepSeek astroturfing.
Could be "someone" in China trying to get more access to western data.<p>Who knows?
But Claude made the website?
What AI model did you use for the website design? This is the second one I see with the exact same font and color scheme. Just curious because Claude models lean towards purples for example. Thank you!
Opus 4.7 selects such palette and motifs by default. Might even be first iteration of claude design.
This design still screams Claude to me, but a newer version than what you're thinking of. At some point they added a markdown file that tells it to use obviously AI designs like lots of blue/purple and gradients. Since then, this is its new style.
DeepSeek v4 perhaps?
Frontend design skill by Anthropic specifically says not to use purple. I'd be surprised if it still uses purple. Have you seen that recently?
deepseek is building an official coding harness, why would anyone waste time on such 3rd party toy when official one is coming probably in weeks?
Another day, another vibeslopped "product" on the front page of hacker news with over 200 points. When will you guys learn?
you created it yourself ?
codex generated sites are so easy to spot lmao
Y'all should not be writing js/ts/slop/npm based clis anymore<p>It's the agentic era, pick a better option<p>Just stop
[flagged]
[flagged]
[flagged]
[dead]
[flagged]
[flagged]
[flagged]
[dead]
[dead]
[dead]
[dead]