Repository navigation
Conversation
Closes decolua#1807. OpenClaude is a coding-agent CLI that speaks OpenAI-compatible endpoints, so it can already reach 9Router — it just was not listed anywhere, and the issue asks for the entry plus setup instructions. Verified against openclaude 0.28.0 driven at a stub endpoint, because the obvious instructions turn out to be wrong: exporting OPENAI_BASE_URL, OPENAI_API_KEY and OPENAI_MODEL on their own gets "Not logged in · Please run /login" and never sends an authenticated request. Adding --provider openai makes the same env reach the endpoint with the right bearer token and model. The guide and its warning note say so. configType is "guide" rather than "custom": DefaultToolCard renders "Coming soon..." for any tool without guideSteps, and every "custom" tool has a hand-written card behind it. Note this is a separate tool from the existing openclaw entry.
24e960d to
f32f950
Compare
|
Closing this one: |
|
Reopening — I closed this on a wrong reason and want that on the record rather than quietly fixed. I said the patch was "drifting toward a conflict" because The patch still applies cleanly and master still has no |
Closes #1807.
OpenClaude is a coding-agent CLI that talks to OpenAI-compatible endpoints, so it can already reach 9Router — it just was not listed anywhere. The issue asks for the entry plus working setup instructions.
Checked before starting: 30.6k stars, pushed today,
@gitlawb/[email protected]on npm, and no open or closed PR here touches it. It is a different project from the existingopenclawentry; both now sit side by side, which a test pins.The instructions had to be verified, not assumed
I installed openclaude 0.28.0 and drove it against a stub endpoint that logs what it receives. The obvious guide is wrong:
Adding
--provider openaito the identical environment:So the guide passes
--provider openai, and a warning note says why. Without that flag a user following the instructions would hit a login prompt and reasonably conclude 9Router was at fault.The code block also carries the PowerShell form, since
exportis not a Windows shell builtin.Why configType is "guide"
My first cut used
configType: "custom"with anopenclaude-settingsAPI route that wrote OpenClaude's.openclaude-profile.json. That was wrong for two reasons, both found before proposing it here:DefaultToolCardrenders "Coming soon..." for any tool withoutguideSteps, and everycustomtool has a hand-written card behind it (OpenCodeToolCard,OpenClawToolCard, …). Acustomentry with no card is an empty page.So the entry is data only. A one-click card driving the profile file is a reasonable follow-up — that path works too, I verified openclaude reads a written
{ profile: "openai", env: {...} }profile with no flag at all — but it belongs in its own PR with its own component.Icon
The OpenClaude repo ships no image assets, so the icon is its GitHub organisation avatar, the mark it presents on GitHub and npm, resized to 128x128 to match the other icons under
public/providers/. Colour#000000matches that mark;#D97757would have been wrong, that is Claude Code's entry.Verification
8 tests in
unit/openclaude-cli-tool-1807.test.jspin what the card actually needs:guideStepspresent so it is not the "Coming soon" fallback, the{{baseUrl}}/{{apiKey}}/{{model}}placeholdersDefaultToolCardsubstitutes, the three env var names, the--provider openaiflag and its note, the PowerShell line, theapiKeySelector/modelSelectorstep types, the icon file existing at the pathimagepoints to, andopenclaudestaying distinct fromopenclaw.Suite (
npx vitest run unit translator) against current master: 1778 to 1786 passed, 93 failed before and after, failing sets byte-identical (comm -13empty).npx eslintclean.No i18n changes needed — CLI tool strings live directly in
cliTools.js.