Remix.run Logo
What I learned by putting GitHub Copilot behind a MitM proxy(lighthousenewsletter.com)
63 points by j0selit0 5 hours ago | 5 comments
j0selit0 5 hours ago | parent | next [-]

I was curious to understand how Copilot implements its harness, and also how I was exhausting my quota so quickly. End up going down a rabbit hole of intercepting its network traffic with mitmproxy.

A few interesting things I found along the way:

- watched model/capability discovery and routing happen in real time - looked at what gets injected into context and sent with ghost completions - found that recent edits can pull in context from files other than the one you're currently editing (including infamous .env) - found the SQLite session store behind Chronicle, including previous prompts/responses - watched the model query that history through tool calls

I then went through the VS Code source to reconcile some of what I was seeing on the wire with the actual implementation.

Overall some interesting lessons around how their harness is implemented.

ameliaquining 2 hours ago | parent | prev | next [-]

Minor factual correction: The Codex client is open source. https://github.com/openai/codex

mathieu_aithos 26 minutes ago | parent | prev | next [-]

Interesting to see how big companies make compromises with security for innovation and i feel that it's comprehensible and better that doing nothing. But i guess it also show how we can see governance problems as real opportunity for involved peoples to build good systems with an agent native perspective.

tolugenius 2 hours ago | parent | prev | next [-]

Nice deep dive, I always wondered how copilot worked compared to similar tools. I'm shocked at the lack of of a rule for env files, I at least thought with a tool more integrated with github as a whole that would be a default but alas.

bartek_gdn 2 hours ago | parent | prev [-]

Nice one! Really shows why we should run those in sandboxes without env access. I like the proxy swap approach