I've been building this for two weeks and want honest technical feedback before I invest more time.
What it does
Bhive is a multi-agent framework in TypeScript. Agents ("Bees") can delegate tasks to each other, call tools, and it works with any LLM provider — Gemini, OpenAI, Anthropic, or local Ollama — through the same code.
Architecture decisions I'm unsure about
- Provider abstraction via an
LLMAdapterinterface, with aToolCallingParserthat normalizes tool-call formats across providers. Good pattern, or overengineered for what it does? - Tool-call validation happens in the Bee's execution loop (not inside each adapter). Right layer for that?
- Timeout resolution has three levels (explicit arg → env var → default). Reasonable, or too much configuration surface?
What I'd love feedback on
- The security model (
ToolCallValidator: injection guards, allowlists, size limits) — anything missing? - Whether the delegation pattern (Bee → Bee, via
createDelegationTool) makes sense as an abstraction - Anything that smells wrong in the repo structure
Repo: https://github.com/dcooperdev/bhive-core
Tests: 299 passing, ~98% coverage. But test coverage isn't the same as "this is well-designed" — that's what I actually want checked.
Top comments (0)