Skip to content

Releases: fakiho/neohive

v6.4.1 — Agents that never get lost

Choose a tag to compare

@fakiho fakiho released this 06 Apr 21:30

What's changed

Fixes

  • Removed all deprecated MCP tool names (listen_group, listen_codex, check_messages, consume_messages, get_history, search_messages, ack_message) from guide strings, skills, hooks, and docs — agents were receiving stale instructions that caused "unknown tool" errors
  • Fixed broken relative docs/ link in agent-bridge/README.md footer
  • Clarified MCP troubleshooting step order: restart IDE → enable plugin → start new agent thread

Documentation

  • Synced agent-bridge/README.md with root README.md (hero GIF, VS Code Extension section, neohive skills CLI command, website footer link)
  • Reordered README sections: Features → Recommended Setup (convince first, configure second)
  • Rewrote Quick Start pseudocode into actionable copy-paste prompts
  • Updated MCP tools table to reflect unified listen (with mode) and messages (with action) tools

Scripts

  • Upgraded scripts/bump-version.sh to handle all versioned files in one command:
    • agent-bridge/package.json + package-lock.json
    • docs/documentation.md, docs/reference/configuration.md
    • agent-bridge/dashboard.html (full semver footer + major.minor headlines)
    • Accepts optional new version as argument: bash scripts/bump-version.sh 6.5.0
    • Stale-version sanity check with smart exclusions (changelogs, extension versions)

Full changelog: v6.2.2...v6.4.1

v6.3.0 — Unified next_action Response Chain

Choose a tag to compare

@fakiho fakiho released this 05 Apr 22:47

Highlights

Every MCP tool response now includes a single next_action field — one unambiguous instruction telling the AI agent exactly what to do next. This replaces 10+ scattered hint fields and creates an unbreakable action chain from tool to tool.

New

  • Unified next_action on every tool response — replaces _listen, _nudge, hint, action_required, unread_action, you_have_messages, urgent, mode_hint, _protocol, and more with a single top-level field
  • Tool-specific directives — each tool sets context-aware guidance (e.g. update_task(done) → "Send a summary, then call listen()"; lock_file → "Edit the file, then call unlock_file()")
  • Coordinator-aware middleware — responsive coordinators never receive listen() directives; middleware overrides to consume_messages() or removes the directive entirely
  • Persistent listen looplisten() and listen_group() loop internally on timeout instead of returning retry: true; agents cannot accidentally break out of listen mode
  • Managed mode awareness — agents without the floor get "do NOT respond" instead of "reply via send_message()"
  • Autonomous get_work() chain — all 10 return types carry specific next_action values

Fixed

  • Responsive coordinators no longer told to call listen() by send_message, broadcast, and create_task
  • Managed mode next_action no longer contradicts should_respond: false
  • Autonomous listen_group() timeout no longer sends contradictory retry: true + next_action: get_work()

Documentation

  • New docs/reference/next-action-chain.md with flow diagrams for all agent types, coordinator modes, and the full tool-specific reference table

Full changelog: https://github.com/fakiho/neohive/blob/master/agent-bridge/CHANGELOG.md

v6.1.0 — Modular tools, terminal bridge, agent liveness v2

Choose a tag to compare

@fakiho fakiho released this 04 Apr 23:42

Changelog

[6.1.0] - 2026-04-04

Added

  • Modular tools architecture — server-side tools split into agent-bridge/tools/ directory for maintainability; each tool file is independently loaded at startup
  • Terminal bridgeterminal-bridge.js streams live terminal output to the dashboard with lazy-loaded xterm.js and per-agent isolation; agent status pills show real-time session state
  • Agent liveness detection v2 — deterministic online/offline/stale/unknown states with heartbeat epoch tracking; dead seats are auto-reclaimed on register() and spare seats offered immediately
  • Listen outcome payloadlisten() returns a structured result object with outcome, message, and agent fields for richer branching logic
  • Liveness sparkline + nudge UI — dashboard renders a mini activity graph per agent and one-click nudge button for unresponsive agents
  • Server-side auto-nudge — coordinator receives an escalation message when a non-compliant agent misses its listen() window
  • Audit log — every MCP tool call appended to audit_log.jsonl; new log_violation tool writes policy violations to the same log; dashboard has a dedicated Audit view
  • Push approval workflowrequest_push_approval / ack_push tools add a human-in-the-loop gate before git pushes
  • Review gate on task completionupdate_task(status="done") can require request_review + submit_review before the done event fires; review_approved event broadcasts on approval
  • Scoped rulesadd_rule / list_rules accept role, provider, and agent filters so rules are applied only to matching agents
  • Platform-specific default skillsregister() auto-populates the agent's skill list based on detected IDE/CLI provider (Claude Code, Cursor, Copilot, Gemini)
  • Token usage in profile popup — dashboard resolves the Claude session via ppid walk and displays token usage directly in the agent profile card
  • VS Code extension: chat participant@neohive chat participant with slash commands (/task, /broadcast, /status) and a coordinator pipe for inline coordination from Copilot Chat
  • VS Code extension: Claude Code hooks setup — extension auto-configures UserPromptSubmit and PostToolUse hooks on activation; version shown in status bar
  • Hooks systemPostToolUse hook echoes send_message calls to the current chat transcript; UserPromptSubmit hook injects context; enforce-listen.sh stop hook escalates non-compliant agents
  • Self-healing watchdog — stuck tasks are automatically reclaimed after a configurable timeout; escalates to blocked_permanent with poison-pill after max retries; retry_count badge shown in dashboard
  • Design systemdesign-system.css ships design tokens (colors, radii, shadows, glassmorphism variables) consumed by the dashboard; SVG logo and favicon served as dedicated endpoints
  • Multi-IDE MCP setupneohive init upserts configs for Claude Code, Cursor, Copilot, Gemini CLI, and Codex TOML in one pass using absolute Node.js paths
  • Agent name config in VS Code — extension setting neohive.agentName with format validation; used automatically in MCP config generation

Changed

  • Tool consolidation (Phase 1)check_messages / consume_messages merged into the unified messages tool with a mode param; deprecated aliases removed for a clean API surface
  • Config centralizationSERVER_CONFIG and CLI_CONFIG objects in server.js replace all scattered magic numbers (timeouts, limits, intervals)
  • Dashboard route dispatch — simple GET routes moved to a dispatch table; reduces deeply nested if-chains in dashboard.js
  • Dashboard agent popup — redesigned as a 3-tab layout (Stats · Actions · Profile) with inline profile editing, skill tags, and stuck/unresponsive indicators (orange/red dot + badge)
  • System events — dashboard renders system events as compact, color-coded icon banners instead of raw log lines
  • Glassmorphism UI — header and sidebar use backdrop-filter blur; agent cards gain micro-animations on hover and status-change
  • Slack-style new-messages banner — pill appears above the message list when unread messages arrive while scrolled up

Fixed

  • Agent disappearance race conditionregister() now uses a file-level write lock to prevent two agents stomping on agents.json simultaneously; epoch-0 liveness spam suppressed
  • Mobile dashboard — menu toggle restored; textarea stretches full width; inject-target dropdown populates correctly on small screens
  • Dashboard scroll preservation — message list no longer jumps to top on full re-render
  • MCP portability — VS Code extension uses local node + server.js paths to avoid published-package port conflicts
  • Nudge suppression — auto-nudge only injects a message when the agent has genuinely missed its window; compliant agents are skipped

[6.0.3] - 2026-04-03

Fixed

  • MCP data directory — When the MCP process starts with cwd outside the repo (e.g. Cursor home) and no NEOHIVE_DATA_DIR, resolve the hive from repo .cursor/mcp.json / sibling config (lib/resolve-server-data-dir.js); lib/config.js uses the same root so agents and dashboard agree.
  • Dashboard projects.json — Only rewrite the projects file when the canonical list differs from on-disk data (pack(nonRedundant) !== pack(raw)), not on every load when duplicates or default-hive rows were only present in the normalized pass-through list.

[6.0.2] - 2026-04-02

Added

  • Human agent mode — users can join the team as a human agent via the dashboard
  • Agent card grid — overview page shows agent cards with status, active tasks, and quick actions
  • Checkpoint system — save and restore agent state snapshots for resumable work
  • Agent approval flow — tasks can require explicit agent approval before advancing

Fixed

  • Message loss on SSE reconnect
  • Token hijack race condition in listen()
  • Spinlock in file-based task claiming
  • Silent errors in workflow advancement
  • Messages nav item flickering (switchView scope was too broad)
  • Version strings synced to v6.0.0 across all files

Changed

  • Dashboard full visual rebrand — amber/gold NeoHive identity with icon rail, overview page, agent bar, and toast notifications
  • Full layout redesign: icon rail sidebar, overview landing page, agent status bar

[6.0.0] - 2026-04-02

Breaking — Full Rebrand & Modularization

  • Renamed — data directory migrated from .agent-bridge/.neohive/; startup auto-migrates legacy directories
  • Modularization — core business logic extracted to lib/ modules (messaging, file-io, config, hooks, resolve-server-data-dir, etc.)
  • Security hardening — comprehensive audit: path traversal, XSS, CSRF, symlink, injection, and DoS fixes across dashboard and MCP server
  • New README — professional redesign with badges, feature showcase, architecture diagram, and visual hierarchy
  • .agent-bridge/ auto-migration — startup detects and renames legacy data directory with zero data loss

[5.3.0] - 2026-03-20

Listen System Overhaul — Zero Token Waste

  • 5-minute listen timeoutlisten() and listen_group() now block for 5 minutes (was 45s), reducing idle token overhead by 7x
  • fs.watch instant wake — agents wake immediately when a message arrives, zero CPU/tokens while waiting
  • Fixed collectBatch bug — file path was passed as branch name to sanitizeName(), breaking listen_group() on all platforms
  • Mode-aware instructions — managed mode says listen(), group mode says listen_group(), all modes say "NEVER use sleep()"
  • Managed mode task tracking — manager creates tasks/workflows, agents update status as they work (Tasks/Plan tabs stay current)
  • check_messages warns against loops — response includes action_required telling agents to use listen() instead
  • listen_codex restricted — description explicitly says "ONLY for Codex CLI, Claude/Gemini must use listen()"

[5.2.6] - 2026-03-20

Changed

  • Managed mode guide updated — agents now track active tasks with update_task and advance workflows with advance_workflow as they work, keeping the Tasks/Plan tabs current in real time

[5.2.5] - 2026-03-20

Fixed

  • Token waste — check_messages response now includes action_required field warning agents to use listen() instead of polling loops
  • listen_codex description explicitly restricted to Codex CLI only; Claude and Gemini agents must use listen()

[5.2.4] - 2026-03-20

Fixed

  • All listen instruction strings updated to be mode-aware: managed mode instructs listen(), group mode instructs listen_group(), all modes say "NEVER use sleep()"

[5.2.3] - 2026-03-20

Fixed

  • Mode-aware listen instructions — each conversation mode now returns the correct listen command name in its guide

[5.2.2] - 2026-03-20

Fixed

  • Managed mode guide corrected — agents should call listen() (not listen_group()) between turns in managed mode

[5.2.1] - 2026-03-20

Fixed

  • Managed mode guide corrected — agents should use listen_group() instead of sleep loops between turns

[5.2.0] - 2026-03-20

Security Hardening (50+ fixes across 5 audit rounds)

  • Timing-safe LAN token comparison (crypto.timingSafeEqual)
  • File permissions.neohive/ created with 0o700, .lan-token with 0o600
  • XSS preventionescapeHtml escapes 6 characters, thread panel escaped, replay export </script> escaped, null byte placeholder collision fixed
  • Path traversal — containment checks on /lib/, /office/, /mods/ with path.resolve, mods asset write validated, conversation name regex
  • Rate limiting — per-IP API rate limit (300/min), per-IP SSE limit (5), duplicate message detection, escalation broadcast rate limited
  • File locking — tasks, workflows, channels all use withFileLock, PID-...
Read more

v6.0.3

Choose a tag to compare

@fakiho fakiho released this 03 Apr 00:47

Changelog

[6.0.3] - 2026-04-03

Fixed

  • MCP data directory — When the MCP process starts with cwd outside the repo (e.g. Cursor home) and no NEOHIVE_DATA_DIR, resolve the hive from repo .cursor/mcp.json / sibling config (lib/resolve-server-data-dir.js); lib/config.js uses the same root so agents and dashboard agree.
  • Dashboard projects.json — Only rewrite the projects file when the canonical list differs from on-disk data (pack(nonRedundant) !== pack(raw)), not on every load when duplicates or default-hive rows were only present in the normalized pass-through list.

[5.1.0] - 2026-03-19

Major — True Autonomy Engine + Team Intelligence + Scale to 100

Built by a 4-agent team (Backend, Protocol, Tester, Coordinator) + Advisor agent, working autonomously.

Added — Autonomy Engine (v5.0)

  • get_work — 9-level priority waterfall: workflow step > messages > unclaimed tasks > help requests > reviews > blocked tasks > 30s listen > prep work > idle
  • verify_and_advance — confidence-gated auto-advancement (>=70 auto, 40-69 flag, <40 help)
  • start_plan — one-click autonomous plan launch with parallel step activation
  • retry_with_improvement — 3-attempt retry with KB skill accumulation, team escalation
  • Parallel workflow steps — dependency graph with depends_on, findReadySteps resolver
  • Autonomous mode — proactive work loop guide, tiered cooldowns (0ms handoffs), 30s listen cap, relaxed send limits

Added — Team Intelligence

  • Auto-role assignment — lead/quality/implementer/monitor/advisor roles based on team size
  • Quality Lead — always-on checker with dedicated guide, review-retry loop, auto-approve after 2 rounds
  • Monitor Agent — system health overseer at 10+ agents: idle detection, circular escalation detection, auto-intervention, failover
  • Advisor Agent — strategic thinker at 5+ agents: reads all work, gives ideas, challenges assumptions
  • Self-continuation — agents never ask user, find next work automatically
  • Smart prompt distribution — auto-generates workflows from natural language prompts

Added — Advanced Autonomy (10 features)

  • Task-level circuit breaker (blocked_permanent after 3 agent failures)
  • Quality Lead instant failover (highest reputation auto-promoted)
  • Context inheritance on escalation (full failure history)
  • Agent circuit breaker (consecutive_rejections tracking, auto-demotion)
  • Dynamic role fluidity (workload-based rebalancing)
  • Skill-based task routing (agent affinity scoring)
  • Work stealing (idle agents claim from busy agents)
  • Checkpointing (resumable work via workspace snapshots)
  • Retrospective learning (aggregate failure pattern analysis)
  • Backpressure signal (queue depth warnings)

Added — Scale to 100 Agents

  • Per-agent heartbeat files (zero write contention)
  • Cooldown cap (3s max regardless of agent count, 0ms for handoffs)
  • Byte-offset message reads (O(new_messages) not O(all))
  • Exponential backoff on file locks (1ms-500ms, not 50ms busy-wait)
  • isPidAlive cache (5s TTL, saves 10K syscalls/sec)
  • SSE debounce (heartbeat files filtered, 2s debounce)
  • Task keyword cache (30s TTL)
  • Sticky roles (no churn on agent reconnect)
  • Zero cooldown for channel messages + handoffs in autonomous mode

Added — Dashboard & CLI

  • Plan execution view — progress bar, step cards, confidence, controls (pause/stop/skip/reassign)
  • Monitor health panel — agent health grid, intervention log, system metrics
  • npx neohive run "prompt" --agents N — one-command autonomous execution
  • npm test wires v5 test suite (158+ tests on every run)
  • Updated conversation templates (autonomous format with depends_on)

Stats

  • server.js: 6,200+ lines, 62+ tools
  • 175+ automated tests, 0 fail
  • 5 conversation templates (autonomous format)
  • Built in ~2 hours by autonomous agent team

[4.3.0] - 2026-03-17

Major — 3D Hub Game World, World Builder, Jukebox

Built by a 5-agent team (Architect, Builder, Tester, Optimizer, Protocol) working in parallel.

Added — 3D Hub Game Features

  • World Builder — Press B in player mode to open builder panel. 16 placeable assets across 5 categories (structural, furniture, decor, tech, lighting). Grid snap, ghost preview, R to rotate, right-click delete, Ctrl+Z undo. Draggable panel, works in fullscreen.
  • Jukebox — Wurlitzer 1015-style jukebox in bar area with neon glow animation. Press E to interact. 4 playlist selector with YouTube popup player. Music persists while exploring.
  • Minimap — 140px radar overlay showing agent positions (color-coded by status) and player location. Only visible in fullscreen mode.
  • Controls HUD — Press H to toggle keybind reference panel. Auto-shows for 4 seconds on world entry.
  • Fullscreen — Dashboard fullscreen button now fullscreens only the 3D Hub (game mode), not the entire page.

Added — Character Intelligence

  • Emotion system — 11 emotion presets (happy, frustrated, thinking, excited, surprised, etc.) with auto-triggers from message content. Temporary face expression changes with auto-revert.
  • Social visits — Idle agents randomly walk to other agents' desks to chat (max 2 concurrent walks).
  • Glance reactions — Sitting agents turn heads toward speakers when messages are sent.
  • Head nods — Periodic nod animation when being visited by another agent.
  • Auto coffee break — Sleeping agents walk to rest area, return to desk when active again.
  • Non-blocking input overlay — Replaced browser prompt() dialogs with styled HTML overlay for click commands.

Added — Dashboard

  • Respawn button — One-click respawn for dead agents. Generates resume prompt from recovery snapshot + profile + tasks + recent history.
  • Respawn APIGET /api/agents/:name/respawn-prompt endpoint with full context generation.
  • World Builder APIGET /api/world-layout + POST /api/world-save for persistent world placements.
  • 3D-only fullscreen — Fullscreen targets 3D container when on 3D Hub tab.

Fixed

  • Manager chair spawn — Stand-up now places player in front of desk (toward door), preventing wall collision.
  • CSRF on 3D Hub — Added X-LTT-Request header to all office module POST requests (builder save, command menu actions).
  • Respawn endpoint validation — Agent name validated (alphanumeric, max 20 chars) to prevent path traversal.
  • Builder lazy-load — Dynamic import() with silent failure prevents builder issues from breaking 3D Hub.
  • Jukebox popup orphan — Module-scoped reference survives overlay dismiss/reopen cycles.
  • Builder drag listener leak — Stored refs removed in hidePanel().
  • Jukebox prompt cleanup — dismissJukebox() called in office3dStop().

Security

  • npm audit: 0 vulnerabilities
  • CSRF protection verified on all mutating endpoints
  • Input validation on all user-facing API parameters
  • No hardcoded secrets or sensitive data in shipped package

[4.2.0] - 2026-03-17

Major — Team Intelligence, Dashboard Upgrade, Performance

Built by a 4-agent team (Architect, Tester, Protocol, Builder) working in parallel.

Added — Team Automation

  • Auto-escalation — blocked tasks auto-broadcast [ESCALATION] to team after 5 minutes. File-based dedup via task.escalated_at field (cross-process safe). Clears on unblock.
  • Stand-up meetings — config-driven periodic team check-ins (standup_interval_hours in config.json). File-based dedup, 5+ agent gate. Broadcasts task summary with in-progress/blocked/done counts.
  • Quality gatesupdate_task(done) auto-broadcasts [REVIEW NEEDED] (from v4.1.0, now with auto-escalation integration).

Added — Agent Intelligence

  • Workload metrics — reputation tracks task_times[] (completion seconds), leaderboard shows avg_task_time_sec per agent.
  • Smarter suggest_task — caps at 3 in-progress tasks ("finish first"), suggests blocked tasks when no pending ones, workload-aware.
  • KB hints in listen_group — batch messages checked against KB keys, returns kb_hints with relevant entries.
  • Thread reply contextlisten_group includes _reply_context preview of parent message for threaded replies.
  • Decision overlap hintssend_message checks content against logged decisions, returns _decision_hint to prevent re-debating.
  • Auto-status boardupdate_task auto-writes _status to agent workspace ("Working on: X"). list_agents includes current_status field.

Added — Dashboard

  • Agent intent display — dashboard shows what each agent is currently working on (from workspace _status)
  • Channel badges — messages show colored #channel badges
  • Channel filter bar — horizontal scrollable tabs to filter messages by channel
  • Channel history merging/api/history merges channel-specific + general history files
  • /api/channels endpoint — channel list with member counts for dashboard
  • /api/decisions endpoint — decision log display in dashboard
  • Decision log UI — chronological cards with topic, decision, reasoning, author

Improved — Performance & Safety

  • Escalation dedup fix — replaced in-memory _escalatedTasks Set with file-based task.escalated_at field (cross-process safe for 10 agents)
  • Dashboard current_status API/api/agents includes workspace _status for agent intent board

[4.1.0] - 2026-03-17

Added — Agent Reliability & Intelligence

  • Auto-recovery (crash resume) — when an agent's process dies, the server snapshots its state (active tasks, locked files, channels, workspace keys, last 5 messages) to recovery-{name}.json. When a replacement registers with the same name, the snapshot is included in the register response with instructions to resume, not restart. 1-hour TTL, auto-deletes after load.
  • Quality gatesupdate_task(id, "done") auto-broadcasts [REVIEW NEEDED] to all alive agents. Teams get automatic review cycles without manuall...
Read more