Revert Kimi K2.6 to public moonshot endpoint#3081
Conversation
Switch back from the private litellm proxy deployment (litellm_proxy/accounts/graham-openhands/deployments/mghcd1dc) to the public endpoint (litellm_proxy/moonshot/kimi-k2.6) now that the private endpoint runs are complete. Fixes #3080 Co-authored-by: openhands <openhands@all-hands.dev>
Python API breakage checks — ✅ PASSEDResult: ✅ PASSED |
REST API breakage checks (OpenAPI) — ✅ PASSEDResult: ✅ PASSED |
all-hands-bot
left a comment
There was a problem hiding this comment.
Clean configuration revert. Model endpoint change is straightforward and test coverage is updated.
[RISK ASSESSMENT]
- [Overall PR]
⚠️ Risk Assessment: 🟢 LOW
Configuration-only change reverting from private testing endpoint to public production endpoint. No behavior changes, test coverage updated, fixes tracked issue #3080.
VERDICT:
✅ Worth merging: Simple config revert with proper test updates
KEY INSIGHT:
Straightforward endpoint configuration revert after private testing completion — exactly the kind of change that should be quick to merge.
all-hands-bot
left a comment
There was a problem hiding this comment.
✅ QA Report: PASS
Successfully verified the Kimi K2.6 endpoint reverted from private deployment to public moonshot endpoint.
Does this PR achieve its stated goal?
Yes. The PR successfully switches the Kimi K2.6 model configuration from the private litellm proxy endpoint (litellm_proxy/accounts/graham-openhands/deployments/mghcd1dc) to the public endpoint (litellm_proxy/moonshot/kimi-k2.6). I verified this by actually running the resolve_model_config.py script on both the main branch and the PR branch, confirming the endpoint change works end-to-end. The corresponding test was also updated to assert the new public endpoint and passes cleanly.
| Phase | Result |
|---|---|
| Environment Setup | ✅ Dependencies installed, repo ready |
| CI Status | ✅ All 30 checks passing (pre-commit, cross-tests, sdk-tests, etc.) |
| Functional Verification | ✅ Endpoint resolution verified with before/after comparison |
Functional Verification
Test 1: Verify Kimi K2.6 endpoint resolution
Step 1 — Establish baseline (main branch without the change):
Checked out main branch and ran the resolve script with MODEL_IDS=kimi-k2.6:
$ git checkout main
$ MODEL_IDS="kimi-k2.6" GITHUB_OUTPUT=/tmp/output.txt SKIP_PREFLIGHT=true \
python3 .github/run-eval/resolve_model_config.pyOutput:
[
{
"id": "kimi-k2.6",
"display_name": "Kimi K2.6",
"llm_config": {
"model": "litellm_proxy/accounts/graham-openhands/deployments/mghcd1dc",
"temperature": 1.0
}
}
]This confirms the baseline: kimi-k2.6 currently resolves to the private endpoint litellm_proxy/accounts/graham-openhands/deployments/mghcd1dc.
Step 2 — Apply the PR's changes:
Checked out the PR branch:
$ git checkout openhands/revert-kimi-k2-6-public-endpointStep 3 — Re-run with the fix in place:
Ran the same resolve script:
$ MODEL_IDS="kimi-k2.6" GITHUB_OUTPUT=/tmp/output.txt SKIP_PREFLIGHT=true \
python3 .github/run-eval/resolve_model_config.pyOutput:
[
{
"id": "kimi-k2.6",
"display_name": "Kimi K2.6",
"llm_config": {
"model": "litellm_proxy/moonshot/kimi-k2.6",
"temperature": 1.0
}
}
]This confirms the fix works: kimi-k2.6 now resolves to the public endpoint litellm_proxy/moonshot/kimi-k2.6.
Test 2: Verify no regression for other models
Tested multiple models simultaneously to ensure the change didn't break other model configurations:
$ MODEL_IDS="claude-sonnet-4-5-20250929,kimi-k2.6,qwen3.5-flash" \
GITHUB_OUTPUT=/tmp/output.txt SKIP_PREFLIGHT=true \
python3 .github/run-eval/resolve_model_config.pyResult:
- ✅
claude-sonnet-4-5-20250929→litellm_proxy/claude-sonnet-4-5-20250929(unchanged) - ✅
kimi-k2.6→litellm_proxy/moonshot/kimi-k2.6(correctly changed) - ✅
qwen3.5-flash→litellm_proxy/dashscope/qwen3.5-flash-2026-02-23(unchanged)
All models resolve correctly with no side effects.
Test 3: Verify updated test passes
Ran the specific test that was updated to assert the new endpoint:
$ uv run pytest tests/cross/test_resolve_model_config.py::test_kimi_k2_6_config -vResult:
tests/cross/test_resolve_model_config.py::test_kimi_k2_6_config PASSED [100%]
1 passed in 0.05s
The test now correctly asserts model["llm_config"]["model"] == "litellm_proxy/moonshot/kimi-k2.6" and passes cleanly.
Issues Found
None.
Co-authored-by: openhands <openhands@all-hands.dev>
Summary
Now that the private-endpoint runs for Kimi K2.6 are complete, switch the eval
config back from the private litellm proxy deployment to the public endpoint:
litellm_proxy/accounts/graham-openhands/deployments/mghcd1dc→litellm_proxy/moonshot/kimi-k2.6Also updates the corresponding test in
tests/cross/test_resolve_model_config.py::test_kimi_k2_6_configto assert thepublic endpoint.
Fixes #3080
Testing
uv run pytest tests/cross/test_resolve_model_config.py::test_kimi_k2_6_config -v✅uv run pre-commit run --files .github/run-eval/resolve_model_config.py tests/cross/test_resolve_model_config.py✅This PR was created by an AI agent (OpenHands) on behalf of the maintainers.
@juanmichelini can click here to continue refining the PR
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.13-nodejs22-slimgolang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:d493249-pythonRun
All tags pushed for this build
About Multi-Architecture Support
d493249-python) is a multi-arch manifest supporting both amd64 and arm64d493249-python-amd64) are also available if needed