6 ms·
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
by embedding-shape 5mo ago
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: https://i.imgur.com/7eKn6wN.png https://i.imgur.com/7eKn6wN.png (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.
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.
- bwfan123 5mo ago> I wrote a tiny little bridge so I could use DeepSeek V4 Pro via Codex 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.
- embedding-shape 5mo agoSure, 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: https://gist.github.com/embedding-shapes/eab3e63e5a95d3d78a270472e1be0c9e https://gist.github.com/embedding-shapes/eab3e63e5a95d3d78a2... 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. 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.
- Den_VR 5mo agoI’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
- embedding-shape 5mo agoNot 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. 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.
- jack_pp 5mo agoeither this or you work on software that even if copied won't get you far since the business relies on network effects or pure networking. Getting the source code of facebook or instagram doesn't mean you could compete with them. I work for a company that has built relationship with event organizers over the past 10 years. The code I maintain could be written from scratch in maybe 2-3 months even though it was built over the past 10 years but besides that you have frontend / DB / hardware / logistics etc
- Demiurge 5mo agoI actually agree with you, for the most part. The code I work with actually does contain some valuable algorithms, but Im pretty sure the effort of integrating them into a larger system is pointless without the data. It’s almost like stealing half-life 2 source code without any assets. Still, “Getting the source code of facebook or instagram doesn't mean you could compete with them.” I think to giants like that, having access to their source code could open up some very interesting loop holes for manipulating the ranking algorithms, or even security vulnerabilities.
- jack_pp 5mo ago
- bayesianbot 5mo agoLiteLLM can serve OpenAI API endpoint IIRC and proxy that to other providers like DeepSeek, should work with Codex
- NamlchakKhandro 5mo agoClaude code and open code are streaming piles of shit
- spacedcowboy 5mo agoI 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. DeepSeek is good, Claude is better, at least IMHO. Deepseek is a lot cheaper though :)
- alexzhaosheng 5mo ago[dead]
- deleted 5mo ago[deleted]
- himata4113 5mo agothis 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?
- embedding-shape 5mo ago> this appears to be native to the terminal, as in, there's no special application that runs or wraps an agent inside a tui 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.
- 3uler 5mo agoOpencode has really bad cache stability issues that they seem uninterested in fixing at the moment.
- embedding-shape 5mo agoThat'd be really easy to spot and also fix, most likely. Any open issue you could point us to, must surely been reported already?
- nolok 5mo ago> That'd be really easy to spot and also fix, most likely Ah, reminds me of good old "There are only 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors."
- criemen 5mo ago> Ah, reminds me of good old "There are only 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors." 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. 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, ...).
- xcjsam 5mo ago[dead]
- franknord23 5mo agoThat sounds like the experience of writing Containerfiles; since steps are cached you want to pull the thing you are iterating on as far down as possible.
- kiproping 5mo agoThis would be a better page to link to https://github.com/esengine/DeepSeek-Reasonix/blob/main/docs/ARCHITECTURE.md#pillar-1--cache-first-loop https://github.com/esengine/DeepSeek-Reasonix/blob/main/docs... They explain some of the the reasons why they have a better solution and why they are very opinionated >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%. So they optimize on this plus other techniques to improve cache hits, making it cheaper.
- krackers 5mo ago>Most agent loops reorder, rewrite, or inject fresh timestamps each turn 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. 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.
- jeremyjh 5mo agoIts not surprising, that doc is full of AI slop.
- benjamincburns 5mo agoI don't think it's factually correct. There are context pruning strategies that will prune old messages that are no longer relevant, and context compaction from summaries, etc. But to say "most" do this on "every turn" is overstating things. I think it's more correct to say that "many" do this "occasionally." I'm also not sure what they mean about injecting fresh timestamps. I could see why you'd prepend/append a timestamp to the user's messages to make the model aware of the current time, and the passage of time, but I can't think of any good reason to edit timestamps in prior messages. I'm sure someone can come up with one, but I'd be very surprised if this was a thing that most agent loops do, let along doing it on every turn.
- radio879 5mo ago
- tontinton 5mo agoYep 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... http://github.com/tontinton/maki http://github.com/tontinton/maki for the curios