Contributions
Pull requests I’ve sent to other people’s projects. Most began as a bug I hit while using the tool.
Nous Research’s open-source agent. You talk to it through Discord, Slack, Telegram, or Feishu instead of a separate app.
-
#6452
Persist Discord
/sethomechannel to.env/sethomewrote the home channel ID toconfig.yaml, not.env, so the setting was gone after every restart. I sent the handler through the env persistence code that already existed. - #6390 Fetch Feishu cloud document links via API When someone shared a Feishu or Lark doc, Hermes tried to open it in a browser and timed out on anything behind a login. It now reads the document through Feishu’s API.
- #4049 Prepare for Homebrew packaging Dropped a dependency that broke source builds, bundled runtime assets into the source distribution, and made installed paths follow Homebrew’s layout. The release versioning didn’t change.
A desktop app around the OpenCode CLI agent, with sessions, settings, tool runs, and more than one model provider.
-
#1079
Add Behavior settings page for global
AGENTS.mdA new settings page where you write one globalAGENTS.md. It saves to disk through GET and PUT endpoints, caps the file at 1 MB, and wins over any project-level copy for every provider and session. - #1069 Add concurrency controls for multi-session providers Running several sessions against one provider slowed everything down, and health checks sometimes killed the single OpenCode server mid-task. I gated the health checks, added backoff to the SSE stream, and retried failed calls.
- #1065 Refresh provider models on OpenCode reload After OpenCode restarted, the model list stayed cached, so new models and changed context windows never appeared. It now re-authenticates after a restart and pulls fresh model data on its own.
- #1064 Fix skills empty state centering and terminal toolbar overlap The empty skills screen sat off-center because a flex container had no height. On narrow windows the terminal quick-keys also covered the dock buttons. Both are fixed.
- #1058 Keep settings sidebar open, center content, fix worktree refresh Opening a sub-page like Magic Prompts collapsed the settings sidebar to an icon rail. Now it stays open. I also centered settings on wide screens and fixed worktree state going stale after an auth change.
- #1000 Improve cold start, bundle size, and streaming performance Took blocking I/O off the preferences load, so first paint comes 50–200 ms sooner. Split startup into priority phases so heavy modules load after paint. Memoized the chat export path to cut re-renders while a reply streams.
- #999 Update the todo list when task status changes When the agent marked a task done, the todo list kept showing the old status. The message memo compared every field except the tool output, so it never re-rendered. I added that comparison.
- #997 Lazy-load the Markdown renderer and CodeMirror languages The app loaded marked, Mermaid, syntax highlighting, and KaTeX at startup. They now load on the first message that needs them, and ten rarely used CodeMirror languages load on demand. That takes about 200 KB off the first bundle.
An open-source 3D engine for the web. Its GUI system draws buttons, panels, and text inside the 3D scene.