hermes-agent/tests
Kian Meng 063bc3c1e2 fix(kimi): send max_tokens, reasoning_effort, and thinking for Kimi/Moonshot
Kimi/Moonshot endpoints require explicit parameters that Hermes was not
sending, causing 'Response truncated due to output length limit' errors
and inconsistent reasoning behavior.

Root cause analysis against Kimi CLI source (MoonshotAI/kimi-cli,
packages/kosong/src/kosong/chat_provider/kimi.py):

1. max_tokens: Kimi's API defaults to a very low value when omitted.
   Reasoning tokens share the output budget — the model exhausts it on
   thinking alone.  Send 32000, matching Kimi CLI's generate() default.

2. reasoning_effort: Kimi CLI sends this as a top-level parameter (not
   inside extra_body).  Hermes was not sending it at all because
   _supports_reasoning_extra_body() returns False for non-OpenRouter
   endpoints.

3. extra_body.thinking: Kimi CLI uses with_thinking() which sets
   extra_body.thinking={"type":"enabled"} alongside reasoning_effort.
   This is a separate control from the OpenAI-style reasoning extra_body
   that Hermes sends for OpenRouter/GitHub.  Without it, the Kimi gateway
   may not activate reasoning mode correctly.

Covers api.kimi.com (Kimi Code) and api.moonshot.ai/cn (Moonshot).

Tests: 6 new test cases for max_tokens, reasoning_effort, and
extra_body.thinking under various configs.
2026-04-21 05:32:27 -07:00
..
acp refactor(acp): validate method_id against advertised provider in authenticate() (#13468) 2026-04-21 03:39:55 -07:00
agent test(copilot-acp): patch HERMES_HOME alongside HOME in hub-block test 2026-04-21 01:31:58 -07:00
cli fix(cli): dispatch /steer inline while agent is running (#13354) 2026-04-20 23:05:38 -07:00
cron fix(cron): run due jobs in parallel to prevent serial tick starvation (#13021) 2026-04-20 11:53:07 -07:00
e2e fix: follow-up for salvaged PRs #6293, #7387, #9091, #13131 2026-04-20 14:56:04 -07:00
environments/benchmarks
fakes
gateway test(telegram): update /cmd@botname assertion for entity-only detection 2026-04-21 03:06:56 -07:00
hermes_cli fix(/model): accept provider switches when /models is unreachable 2026-04-21 05:19:43 -07:00
honcho_plugin feat(honcho): wizard cadence default 2, surface reasoning level, backwards-compat fallback 2026-04-18 22:50:55 -07:00
integration
plugins feat(plugins): make all plugins opt-in by default 2026-04-20 04:46:45 -07:00
run_agent fix(kimi): send max_tokens, reasoning_effort, and thinking for Kimi/Moonshot 2026-04-21 05:32:27 -07:00
skills
tools test(mcp): add failing tests for circuit-breaker recovery 2026-04-21 05:19:03 -07:00
tui_gateway fix(tui-gateway): dispatch slow RPC handlers on a thread pool (#12546) 2026-04-19 07:47:15 -05:00
__init__.py
conftest.py test(conftest): reset module-level state + unset platform allowlists (#13400) 2026-04-21 01:33:10 -07:00
run_interrupt_test.py
test_account_usage.py feat(account-usage): add per-provider account limits module 2026-04-21 01:56:35 -07:00
test_base_url_hostname.py fix: sweep remaining provider-URL substring checks across codebase 2026-04-20 22:14:29 -07:00
test_batch_runner_checkpoint.py fix(batch_runner): mark discarded no-reasoning prompts as completed (#9950) 2026-04-20 04:56:06 -07:00
test_cli_file_drop.py
test_cli_skin_integration.py
test_ctx_halving_fix.py
test_empty_model_fallback.py
test_evidence_store.py
test_hermes_constants.py
test_hermes_logging.py
test_hermes_state.py fix(session_search): restore same-session context when message ids are interleaved 2026-04-20 05:10:03 -07:00
test_honcho_client_config.py
test_ipv4_preference.py
test_mcp_serve.py
test_mini_swe_runner.py fix(kimi): omit temperature entirely for Kimi/Moonshot models (#13157) 2026-04-20 12:23:05 -07:00
test_minimax_model_validation.py fix(models): validate MiniMax models against static catalog (#12611, #12460, #12399, #12547) 2026-04-19 22:44:47 -07:00
test_minisweagent_path.py
test_model_picker_scroll.py
test_model_tools_async_bridge.py
test_model_tools.py feat(plugins): add transform_tool_result hook for generic tool-result rewriting (#12972) 2026-04-20 03:48:08 -07:00
test_ollama_num_ctx.py
test_packaging_metadata.py
test_plugin_skills.py
test_project_metadata.py build(deps): add qrcode to dingtalk + feishu extras (parity with messaging) (#11627) 2026-04-17 13:31:53 -07:00
test_retry_utils.py
test_sql_injection.py
test_subprocess_home_isolation.py
test_timezone.py test: speed up slow tests (backoff + subprocess + IMDS network) (#11797) 2026-04-17 14:21:22 -07:00
test_toolset_distributions.py
test_toolsets.py fix(ci): unblock test suite + cut ~2s of dead Z.AI probes from every AIAgent 2026-04-19 19:18:19 -07:00
test_trajectory_compressor_async.py fix(kimi): omit temperature entirely for Kimi/Moonshot models (#13157) 2026-04-20 12:23:05 -07:00
test_trajectory_compressor.py fix(kimi): omit temperature entirely for Kimi/Moonshot models (#13157) 2026-04-20 12:23:05 -07:00
test_transform_tool_result_hook.py test: stop testing mutable data — convert change-detectors to invariants (#13363) 2026-04-20 23:20:33 -07:00
test_tui_gateway_server.py fix(tui): /model picker surfaces curated list, matching classic CLI (#12671) 2026-04-19 16:15:22 -07:00
test_utils_truthy_values.py