Simplification of OpenHands Provider The original...
# proj-architecture
c
Simplification of OpenHands Provider The original issue has the most context, but the main thing is simple: • work with
openhands/
everywhere in the codebases • 'translate' the URL in the right app_proxy model/base_url only when sent to litellm • original issue SDK PR • rewrite URL only at litellm boundary • stop persisting app proxy URLs (we were saving "litellm_proxy/app...") • persist simply
openhands/
instead. fix(sdk): keep OpenHands provider#3548 This allows us to avoid quite a bit of redundant code in client apps, and the bugs that came with it Downstream cleanup PRs • OpenHands-CLI: settings: keep OpenHands provider models public OpenHands-CLI#770 ◦ Stops stamping the OpenHands proxy
base_url
when saving Basic-mode
openhands/*
settings. ◦ Keeps metadata/critic behavior recognizing
openhands/
by prefix. • agent-canvas: settings: trust public OpenHands provider models agent-canvas#1280 ◦ Removes frontend reverse-mapping helpers for
litellm_proxy/*
+ OpenHands proxy URL. ◦ Basic-mode saves no longer re-stamp the proxy base URL; the model selector reads the public model directly. • OpenHands: settings: stop reverse-mapping OpenHands provider models OpenHands#14725 ◦ Removes app-server/settings reverse conversion from
litellm_proxy/*
to
openhands/*
. ◦ Narrows OpenHands-provider checks and managed-proxy overrides to the public
openhands/
prefix.
❤️ 3
I'm thinking maybe we could merge this refactoring asap, precisely because we had a release just now. It gives us a few days to address rough edges.
m
Is there a sequence to merge the prs? Or are the changes backward compatibles?
c
I'd merge first the SDK PR, and then the others. There is migration in the first, but for the specific behaviors for which we have code in the clients, they need to work with the updated SDK. Not sure if we want to pin a version... 🤔
l
This is awesome! I also thought that maybe we’d want to make a PR to litellm to add “openhands” as an actual provider, which could potentially simplify lots of things
nod 1
c
I agree, I just thought AH may not want that because it would probably mean the proxy will be used by (more) people who are not running OpenHands, and I'm not sure you'd like to encourage that use
l
No, that’s fine!
If they use it they need to pay us for credits at cost, so we don’t lose (or gain) any money