Add Umans AI Coding Plan provider#2636
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d721dc420
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| api: "anthropic-messages", | ||
| provider: "umans", | ||
| baseUrl, |
There was a problem hiding this comment.
Use x-api-key for Umans Anthropic requests
When users authenticate through /login umans or UMANS_AI_CODING_PLAN_API_KEY and select one of these Umans anthropic-messages models, streamAnthropic builds headers for non-official Anthropic endpoints with Authorization: Bearer and suppresses the SDK API key, while the new login validation path and Umans' documented Anthropic /v1/messages examples use x-api-key (https://app.umans.ai/offers/code/docs). This can let /login umans validate successfully but then send chat requests with different auth headers and fail with 401; add a provider-specific auth override or otherwise force the Umans Anthropic route to use x-api-key.
Useful? React with 👍 / 👎.
roboomp
left a comment
There was a problem hiding this comment.
P2: coherent new provider integration, but it needs maintainer attention before merge.
Blocking: Umans discovery drops reasoning.can_disable, so umans-kimi-k2.7 can be cataloged while default requests send thinking: disabled.
Should-fix: add /login umans validation coverage and external-contributor changelog attribution across touched packages.
Thanks for wiring the provider through the catalog, registry, docs, and CLI surfaces.
| api: "anthropic-messages", | ||
| provider: "umans", | ||
| baseUrl, | ||
| reasoning: umansReasoningSupported(capabilities.reasoning), |
There was a problem hiding this comment.
blocking: capabilities.reasoning.can_disable is ignored here. The live Umans /v1/models/info response marks umans-kimi-k2.7 with reasoning: { supported: true, can_disable: false }, but the generated model has only reasoning: true and no thinking.requiresEffort. For anthropic-messages, mapOptionsForApi() sends thinkingEnabled: false when the caller does not request a reasoning effort, which becomes thinking: { type: "disabled" }; that model can reject the default request even though the catalog advertises it as usable. Please map can_disable === false to the existing mandatory-reasoning surface (and cover it in umans-provider.test.ts).
| instructions: "Create or copy your Umans API key from Dashboard → API Keys.", | ||
| promptMessage: "Paste your Umans API key", | ||
| placeholder: "sk-...", | ||
| validation: { |
There was a problem hiding this comment.
should-fix: /login umans is a new user-facing path, but the PR only checks that umans appears in the provider list. Existing API-key providers such as zenmux and nanogpt have tests that assert the exact validation URL, method, auth header, prompt text, trimmed key, and validation-error surfacing. Without the same coverage here, a typo in baseUrl, model, or the Anthropic x-api-key validation path would ship while provider-registry.test.ts still passes.
|
|
||
| ### Added | ||
|
|
||
| - Added Umans AI Coding Plan API-key login support and `UMANS_AI_CODING_PLAN_API_KEY` environment fallback. |
There was a problem hiding this comment.
should-fix: external contribution changelog entries need PR attribution per AGENTS.md (([#2636](https://github.com/can1357/oh-my-pi/pull/2636) by [@oldschoola](https://github.com/oldschoola))). Please apply the same attribution to the new packages/catalog and packages/coding-agent changelog entries too.
|
Addressed review feedback in d7df0b6.
Verified locally:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7bbe2d89b1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| "mimo-v2.5-asr": { | ||
| "id": "mimo-v2.5-asr", | ||
| "name": "mimo-v2.5-asr", | ||
| "api": "openai-completions", |
There was a problem hiding this comment.
Exclude the ASR model from chat completions
When the regenerated catalog exposes mimo-v2.5-asr as an openai-completions text model, anyone selecting it will send normal chat/tool traffic to a speech-recognition SKU; Xiaomi's model card labels MiMo-V2.5-ASR as Automatic Speech Recognition and its usage takes audio input (https://huggingface.co/XiaomiMiMo/MiMo-V2.5-ASR). Please filter this non-chat Xiaomi ID in the descriptor/source before regenerating rather than shipping it as a chat model.
Useful? React with 👍 / 👎.
Summary
umanscatalog provider with Anthropic-compatible model discovery fromhttps://api.code.umans.ai/v1/models/info/login umansandUMANS_AI_CODING_PLAN_API_KEYenv fallbackVerification
bun --cwd=packages/catalog run generate-modelsbun test packages/catalog/test/umans-provider.test.ts packages/catalog/test/descriptors.test.ts packages/ai/test/provider-registry.test.tsbun --cwd=packages/catalog run checkbun --cwd=packages/ai run checkbun --cwd=packages/coding-agent run checkstatus=200andok/login umansvalidation path returnedlogin=ok