feat(agent-connector): fully integrate Gemini CLI and fix stream JSON parsing bugs#357
Conversation
|
Someone is attempting to deploy a commit to the Raphael's projects Team on Vercel. A member of the Team first needs to authorize it. |
PR #357 silently included a poll-rate change from 2s active / up to 15s idle to 1s/3s in base.js. That's orthogonal to the Gemini integration that was the PR's stated subject and meaningfully increases load — every connected agent runs this loop, so a 5× increase in idle rate multiplies across every workspace member. We just spent considerable effort tuning the head-cursor cache + Postgres pool for the existing rate; raising it should be its own change with a measured load-impact analysis on workspace-endpoint.
|
Landed on develop in 8d79ed0 (authored as you), with one follow-up immediately after in 9f5b3f7 that reverts just the polling-rate change in Conflict resolution note: this PR was branched before e358b64 ("Fix per-agent model config in launcher"), so its Two small follow-ups worth knowing about:
Thanks for the bug fix on |
The npm publish workflow has been failing on every push since 0.2.114 (2026-04-30) because the version in package.json wasn't bumped — so the Stop button fix from PR #368, the Gemini integration from PR #357, the workspace-removal API from PR #359, and the env-var scrub from d9f5449 are all on develop but not in users' local launcher installs. Test fix: stop-control.test.js was written against the old sendStatus path, but 6cfc575 (post chat reply on shutdown) had already changed _stopAllProcesses to call sendResponse instead. The two PRs auto-merged without conflict, leaving the test asserting against the wrong mock. Updated the test to mock sendResponse and pass the message explicitly.
Description
This PR fully integrates the Gemini CLI into the OpenAgents ecosystem and resolves several critical issues that previously prevented the Gemini adapter from working correctly in the Desktop Launcher.
🐛 Bug Fixes
GeminiAdapterwheresplit('\\n')was mistakenly used instead ofsplit('\n'). This prevented the CLI'sstream-jsonoutput from being parsed correctly, resolving the silentNo response generatederrors.✨ Features & Improvements
GEMINI_API_KEYUI input requirement inregistry.jsonand addedlogin_command: "gemini login". This aligns Gemini with Claude's elegant CLI OAuth flow.BaseAdapter._pollLoop()from 15 seconds to 3 seconds. This significantly improves responsiveness when chatting with local agents from the remote Workspace.e.stack) logging forjoinNetworkfailures to make troubleshootingECONNREFUSEDand 404 errors easier.🛠 Development Environment
AgentManager.loadCore()to prioritize loading the local workspaceagent-connectorcode instead of the globally installed@openagents-org/agent-launcher. This makes local development and hot-reloading functional.--disable-gpuand--headlessstartup flags inpackage.jsonandmain.jsto mitigate severe UI lag during local Electron testing.Documentation
Included a detailed changelog and a technical blog post documenting the debugging journey and infrastructure fixes in
changelogs/notes/gemini_integration_fix.mdandchangelogs/blogs/2026-04-23-gemini_integration_journey.md.