Agents Comparisons
Opencode
- Pros:
- Javascript based. The nix closure is not so large: 186MB!
- Cons:
- Javascript based. The memory consumption of open a new opencode instance: ~500MB
- Use Esc instead of Ctrl-C to interrupt.
- Summary: Its quality is not comparable to neovim, though it declares "OpenCode is built by neovim users ...".
Crush
- Pros:
- Go lang based.
- Small nix-closure.
- Small memory consumption: crush instance that have several conversations: ~70MB
- Go lang based.
- Cons:
- Token inefficiency: 300 line system prompt and cannot fully customize, only supports system prompt prefix.
- The input line support Home, End key, but does not support Ctrl+Left/Right.
- Does not support terminal scrollback.
- Notification cannot click and jump to the corresponding terminal.
- Does not support explicit skill: https://github.com/charmbracelet/crush/discussions/2505 and no discussions!
- Generate
.crush/in every folder where crush launched
Aider
- Pros:
- Support script
- Token efficiency
- Test Prompt: Introduce yourself
- Aider: 2.3k
- Crush: 15K
- Test Prompt: Introduce yourself
- Native input line support: scrollback, Ctrl-Left/Right, ...
- Cons:
- Python based, large codebase: nix closure > 2GB
- Does not support skill, memory.
- Models are out of date, e.g.: minimax 2.5, while latest is 2.7
Codex
- Cons:
- Latest verions only support wire_api = "responses", does not support completion. So does not support deepseek, minimax, .... Fine!
- 603k source lines of rust, a pile of xxxx.
Code (Codex Fork)
- Pros:
- Support wire_api = "chat"
- Cons:
- A fork that always needs to rebase.
Forgecode
- Cons:
- Claims being #1. Really?
- Fixed:
The global local is/forge/, really!? I doubt the project's taste of tech.
Goose
- Cons:
- Why goose does not saved in nix binary cache, and 1.23.2 cannot build in x86-64 Linux: checkPhase failed!? Why the compiling time so long 7min+?
- Why the output color render bug remain unsolved? Oh, I guess this project focus on desktop, instead of cli.
Avante.nvim
- Pros:
- Leverages Neovim muscle memory
- Cons:
- No skills support
- Uses plenary.nvim (curl without keepalive or auto-retry)
- Frequent network issues cause interruptions that disrupt workflow
Codecompanion.nvim
- Pros:
- Leverages Neovim muscle memory
- Minimal/Clean UI
- Cons:
- Use plenary.nvim, the same to Avante.nvim.
Hermes
- Cons:
- Declare able to self-improvement (auto skill generating), but does not support per-project skill yet!? https://github.com/NousResearch/hermes-agent/issues/4667 In my humble opinion, a auto-generating-skill skill is enough!
Clients Comparisons
Agentic.nvim
- Pros:
- simple and only cares about ACP
- Cons:
- does not support any ACP capabilities, including fs.readTextFile, fs.writeTextFile, terminal. And it does not mentioned not support above ACP capabilities in doc.
- Bugs:
- when enter slash command like
/skill, there is high, narrow auto completion floating window. - Cannot disable insert by default
- Cannot hide winbar (need to edit source code)
- when enter slash command like
Codecompanion
- Pros:
- simple UI!
- Support more ACP capabilities than Agentic.nvim: fs.readTextFile, fs.writeTextFile And it explicitly state support of ACP capabilities in doc!