I’m trying to configure the Moonshot (Kimi) API as an OpenAI-compatible provider in DEVONthink 4. Moonshot’s API is fully OpenAI-compatible and works perfectly via curl:
However, the Model dropdown is completely greyed out — I cannot select from a list or type a model name manually. Clicking the refresh button next to it does not populate the list either.
I suspect DEVONthink is querying the /v1/models endpoint to retrieve the model list, and either the response format from Moonshot differs slightly from what DEVONthink expects, or the request is failing silently (possibly a network/timeout issue since Moonshot’s servers are in China).
Based on a recent thread about Cerebras, I understand that DEVONthink may expect the full chat completions URL rather than the base URL. I have also tried https://api.moonshot.cn/v1/chat/completions and the international endpoint https://api.moonshot.ai/v1/chat/completions, but the Model field remains greyed out in all cases.
Could you advise:
Is there a way to manually enter a model name (e.g. kimi-k2.5) when the dropdown cannot be populated?
What exact format does DEVONthink expect from the /v1/models response to populate the dropdown? This would help determine whether it’s a Moonshot-side compatibility issue.
Moonshot/Kimi is one of the most widely used AI services in the Chinese-speaking market and is fully OpenAI-API-compatible. Supporting it would benefit a significant number of DEVONthink users.
Is there a way to manually enter a model name (e.g. kimi-k2.5) when the dropdown cannot be populated?
No.
What exact format does DEVONthink expect from the /v1/models response to populate the dropdown? This would help determine whether it’s a Moonshot-side compatibility issue.
It doesn’t respond to the v1/models endpoint.
As noted on the thread you linked (and others), we aren’t adding specific support for other AI platforms. Supporting additional specific services requires development and support time but also typically incurs costs as API keys usually require billing. Having an OpenAI-compatible endpoint is what we offer to expand the possibilities. Also, Kimi models may be available via OpenRouter (currently Kimi 2.5 is).
You could check the ~/Library/Application Support/DEVONthink/Chat.log file to see what messages are logged.
In the settings the expected URL is the one of the completions endpoint (in this case most likely https://api.moonshot.cn/v1/chat/completions) but internally DEVONthink loads the models using /v1/models endpoint and then tries to automatically detect the available capabilities. Depending on the server and the number of models this might require some time.
"I have successfully enabled the model selection, but encountering an issue where it returns ‘invalid temperature: only 1 is allowed for this model’ during execution."
I am attempting to use Msty Nexus (a local-first OpenAI-compatible gateway) as a chat provider for DEVONthink 4. While the gateway is functioning perfectly and the endpoint is reachable, the DT4 “Model” dropdown fails to populate except one llm when pointing to the Nexus gateway.
The issue appears to be that DT4’s parser for the /v1/models endpoint is rejecting the JSON response because of the complex id strings and the presence of the msty_model metadata object.
A standard OpenAI-compatible response is being sent, but because the model IDs include provider prefixes (e.g., external-ollama/ or mlx/) and complex strings (e.g., mlx/mlx-community--Agents-A1-4bit), DT4’s internal regex/parser seems to be discarding the entire data array as “incorrect format.”
When the API provides a simple, standard ID (e.g., ollama/nemotron-mini:latest), the model appears in the DT4 dropdown. However when chatting with API URL as: -/v1/models it returns: “The data couldn’t be read because it isn’t in the correct format”
But when API URL set at: -/v1/chat/completions, then that one llm works.
I can’t change the ID names for the JSON on Nexus or manually input them in DT4.
Neither unknown metadata nor long or complex IDs matter actually. But each model is probed first as it might also be e.g. an embedding or transcription model. DEVONthink tests support for chat completions, vision and tool calls. This might require some time depending on the number of models and the provider.
The URL in Settings > AI > Chat requires the /chat/completions suffix.
Thanks, Not sure if this is being worked on by DT4 on my Mac or if it is searching somewhere else, some of the models are old but not picked up by DT4 as a model:
Here is the Nexus & DT4 ~/v1/chat/completions models for two in DT4.
This is confusing because in Msty Nexus it has Nexus Ollama as nemotron-mini:latest & way down in Ollama is qwen3.8:27b-mlx. There are 71 potential models but only 2 show in DT4.
I also have DT4 Ollama (Local) that shows about 50 models including qwen3.8:27b-mlx where I believe it resides.
Why are these the only two models showing up for DT4 from Msty Nexus?
Why not more in DT4 from Ollama from Nexus if qwen3.8:27b-mlx shows up?
Thanks
The OpenAI-compatible endpoint is optimized for cloud-based models and checks each model’s capabilities (if the provider doesn’t return them in a supported way). Are the models in your case local or remote ones?
DT4.4 llm sync takes a while, now I see 29 llms from Msty Nexus> DT4.4 OpenAI (Compatible) of while with DT4.4 Ollama (Local) I see 47 llms. These 29 are the same 47 llms except in OpenAI (Compatible) some llms show *:latest.
None of the Msty Nexus models (not on Ollama (Local)) are showing up on DT4.4 OpenAI (Compatible). (I did turn off Msty Nexus & DT4.4 errored, it was looking for the OpenAI Compatible through Nexus.)
Msty has multiple endpoints (e.g. MLX, LLaMA.cpp, Local AI). Which one do you use? E.g. Local AI should be compatible to DEVONthink’s Ollama (Local) option.
“Msty NEXUS is a local control center for AI infrastructure. It manages model catalogs, runtimes, provider credentials, presets, approvals, and usage while exposing familiar OpenAI- and Anthropic-compatible endpoints to approved applications.”
“Runs locally as the controlled gateway between models, credentials, and applications.” Msty Nexus
My goal is to use Msty Nexus as the gateway like it is designed to be. On Nexus I have MLX & LLAMA.cpp models ready to be used by DT4.4 through OpenAI (Compatible) that are not showing up on DT4.4.
(The different providers local or cloud within Msty Nexus would show up with the provider then its models.)
Can you verify as that looks like an image from Msty Studio v2?
The Ollama (Local) in DT4.4 is not the issue.
(My goal is to use Msty Nexus as the gateway using OpenAI (Compatible) for all LLMs in Nexus.)