Kimi assistant: make it open and chat on a deployed tester (2 fixes on development_mik, 1 follow-up) #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Kimi assistant could not be opened or chat on a deployed tester VM. Three causes were found and the first two are fixed on the branch
development_mik(2 commits):The web binary bound its socket as
hero_kimi_web/web_chat.sockand advertised namekimi/ socketweb_kimi, which does not match the router convention/<service>/web/to<service>/web.sock, so/hero_kimi/web/never resolved. Fixed: it now bindshero_kimi/web.sockand advertises namehero_kimi/ socketweb.The agent only builds its single built-in
kimichat provider (which already speaks the OpenAI-compatible chat/completions API, so it drives OpenRouter via base_url); any other provider type falls through to no LLM, so the deployer config that usedopenai_legacyproducedLLM is not seton every turn. The deployer now writes provider typekimi, and the provider now also readsOPENROUTER_API_KEY/OPENAI_API_KEYfrom the environment so the key can stay out of the on-disk config.Remaining follow-up (not yet fixed): the agent loads its built-in agent spec, skills, and plugins from the build-machine source tree (the path baked in at compile time), which does not exist on a deployed machine, so the worker exits with
Agent spec file not foundunless those directories are copied to that exact path. It would be better to embed them in the binary or resolve them relative to the executable or an environment-configurable directory. With those files staged manually, the branch binaries were proven end to end on the live tester: open, new conversation, send, and a real streamed model reply.Signed-by: mik-tf mik-tf@noreply.invalid
Added a third browser-facing fix to
development_mik(the branch is now 3 commits). Opening the chat at/hero_kimi/webwithout a trailing slash rendered unstyled, because index.html referenced its CSS and JS with relative paths that resolved one level too high, so every asset returned 404. Commit e635e3e rewrites the shell's static asset references to be absolute under the forwarding prefix, so the UI styles correctly with or without the slash (and still works on direct access with an empty prefix). Deployed and verified on a live tester: the served HTML now emits/hero_kimi/web/static/...and the page renders styled. Separately, chat was also hanging onReconnectingon deployed testers because of a WebSocket-tunnel gap in the gateway's Host-based routing, fixed in hero_proxy#59; with both fixes the assistant now opens, styles, and streams replies on a deployed tester.The third deploy blocker is fixed properly and everything is merged to
main. The agent read its builtin agent specs, skills, and plugins from the build machine's source path (baked in at compile time), so a deployed worker died withAgent spec file not foundunless those directories were copied onto the VM by hand. They are now embedded in the binary withinclude_dir!and materialized to~/.kimi/builtinon first use, so the binary is self-contained. Verified on a live tester: with the hand-staged directories and~/.kimi/builtinboth deleted, the worker respawned cleanly (nospec file not found), recreated~/.kimi/builtinfrom itself, loaded its spec/skills/plugins from there, connected the planner and whiteboard MCP servers, and chatted.mainis now at 1e6acd4 with all four fixes (web socket name, provider env-key, prefix-absolute asset paths, embedded spec), so CI republishes alatestthat works on a fresh tester with no staging. Notedevelopmentis now behindmainand should pull these four commits (or mergemain) when convenient. Closing as done; reopen if you want the materialization approach changed.