AI-powered issue solver and hive mind for collaborative problem solving
npm install @deep-assistant/hive-mind




The master mind AI that controls hive of AI. The orchestrator AI that controls AIs. The HIVE MIND. The SWARM MIND.
It is also possible to connect this AI to collective human intelligence, meaning this system can communicate with humans for requirements, expertise, feedback.

Inspired by konard/problem-solving
It is UNSAFE to run this software on your developer machine.
It is recommended to use SEPARATE Ubuntu 24.04 installation (installation script is prepared for you).
This software uses full autonomous mode of Claude Code, that means it is free to execute any commands it sees fit.
That means it can lead to unexpected side effects.
There is also a known issue of space leakage. So you need to make sure you are able to reinstall your virtual machine to clear space and/or any damage to the virtual machine.
THIS SOFTWARE CANNOT GUARANTEE ANY SAFETY FOR YOUR TOKENS OR OTHER SENSITIVE DATA ON THE VIRTUAL MACHINE.
There are infinite ways to extract tokens from a virtual machine connected to the internet. This includes but is not limited to:
- Claude MAX tokens - Required for AI operations
- GitHub tokens - Required for repository access
- API keys and credentials - Any sensitive data on the system
IMPORTANT SECURITY CONSIDERATIONS:
- Running on a developer machine is ABSOLUTELY UNSAFE
- Running on a virtual machine is LESS UNSAFE but still has risks
- Even though your developer machine data isn't directly exposed, the VM still contains sensitive tokens
- Any token stored on an internet-connected system can potentially be compromised
USE THIS SOFTWARE ENTIRELY AT YOUR OWN RISK AND RESPONSIBILITY.
We strongly recommend:
- Using dedicated, isolated virtual machines
- Rotating tokens regularly
- Monitoring token usage for suspicious activity
- Never using production tokens or credentials
- Being prepared to revoke and replace all tokens used with this system
Minimum system requirements to run hive.mjs:
```
1 CPU Core
1 GB RAM
> 2 GB SWAP
50 GB disk space
#### Using Bun (Recommended)
`bash`
bun install -g @deep-assistant/hive-mind
#### Using Node.js
`bash`
npm install -g @deep-assistant/hive-mind
Run the Hive Mind using Docker for safer local installation - no manual setup required:
Note: Docker is much safer for local installation and can be used to install multiple isolated instances on a server or Kubernetes cluster. For Kubernetes deployments, see the Helm chart installation section below.
`bashPull the latest image from Docker Hub
docker pull konard/hive-mind:latest
git config --global user.name "$USERNAME"
git config --global user.email "$EMAIL"
echo "Git configured:"
git config --global user.name
git config --global user.email
Benefits of Docker:
- ā
Pre-configured Ubuntu 24.04 environment
- ā
All dependencies pre-installed
- ā
Isolated from your host system
- ā
Easy to run multiple instances with different GitHub accounts
- ā
Consistent environment across different machines
See docs/DOCKER.md for advanced Docker usage.
$3
Deploy Hive Mind on Kubernetes using Helm:
`bash
Add the Hive Mind Helm repository
helm repo add link-assistant https://link-assistant.github.io/hive-mind
helm repo updateInstall Hive Mind
helm install hive-mind link-assistant/hive-mindOr install with custom values
helm install hive-mind link-assistant/hive-mind -f values.yaml
`Benefits of Helm:
- ā
Easy deployment to Kubernetes clusters
- ā
Declarative configuration management
- ā
Simple upgrades and rollbacks
- ā
Production-ready with configurable resources
- ā
Supports multiple replicas and scaling
See docs/HELM.md for detailed Helm configuration options.
Note: The Helm chart is published to ArtifactHub for easy discovery.
$3
1. Reset/install VPS/VDS server with fresh Ubuntu 24.04
2. Login to
root user.
3. Execute main installation script
`bash
curl -fsSL -o- https://github.com/deep-assistant/hive-mind/raw/refs/heads/main/scripts/ubuntu-24-server-install.sh | bash
`
Note: The installation script will NOT run gh auth login automatically. This is intentional to support Docker builds without timeouts. Authentication is performed in the next steps.4. Login to
hive user
`bash
su - hive
`5. IMPORTANT: Authenticate with GitHub CLI AFTER installation is complete
`bash
gh auth login -h github.com -s repo,workflow,user,read:org,gist USERNAME=$(gh api user --jq '.login')
EMAIL=$(gh api user/emails --jq '.[] | select(.primary==true) | .email')
git config --global user.name "$USERNAME"
git config --global user.email "$EMAIL"
echo "Git configured:"
git config --global user.name
git config --global user.email
`
Note: Follow the prompts to authenticate with your GitHub account. This is required for the gh tool to work, and the system will perform all actions using this GitHub account. This step must be done AFTER the installation script completes to avoid build timeouts in Docker environments.6. Claude Code CLI, OpenCode AI CLI, and @link-assistant/agent are preinstalled with the previous script. Now you need to make sure claude is authorized. Execute claude command, and follow all steps to authorize the local claude
`bash
claude
` Note: Both opencode and agent come with free Grok Code Fast 1 model by default - so no authorization is required for these tools.
7. Launch the Hive Mind telegram bot:
Using Links Notation (recommended):
`
screen -S bot # Enter new screen for bot hive-telegram-bot --configuration "
TELEGRAM_BOT_TOKEN: '849...355:AAG...rgk_YZk...aPU'
TELEGRAM_ALLOWED_CHATS:
-1002975819706
-1002861722681
TELEGRAM_HIVE_OVERRIDES:
--all-issues
--once
--auto-fork
--skip-issues-with-prs
--attach-logs
--verbose
--no-tool-check
--prefix-fork-name-with-owner-name
TELEGRAM_SOLVE_OVERRIDES:
--auto-fork
--auto-continue
--attach-logs
--verbose
--no-tool-check
--prefix-fork-name-with-owner-name
TELEGRAM_BOT_VERBOSE: true
"
# Press CTRL + A + D for detach from screen
` Using individual command-line options:
`
screen -S bot # Enter new screen for bot hive-telegram-bot --token 849...355:AAG...rgk_YZk...aPU --allowed-chats "(
-1002975819706
-1002861722681
)" --hive-overrides "(
--all-issues
--once
--auto-fork
--skip-issues-with-prs
--attach-logs
--verbose
--no-tool-check
--prefix-fork-name-with-owner-name
)" --solve-overrides "(
--auto-fork
--auto-continue
--attach-logs
--verbose
--no-tool-check
--prefix-fork-name-with-owner-name
)" --verbose
# Press CTRL + A + D for detach from screen
` Note: You may need to register you own bot with https://t.me/BotFather to get the bot token.
#### Codex sign-in
1. Connect to your instance of VPS with Hive Mind installed, using SSH with tunnel opened
`bash
ssh -L 1455:localhost:1455 root@123.123.123.123
`2. Start codex login oAuth server:
`bash
codex login
`
The oAuth callback server on 1455 port will be started, and the link to oAuth will be printed, copy the link.3. Use your browser on machine where you started the tunnel from, paste there the link from
codex login command, and go there using your browser. Once redirected to localhost:1455 you will see successful login page, and in codex login you will see Successfully logged in. After that codex login command will complete, and you can use codex command as usual to verify. It should also be working with --tool codex in solve and hive commands.$3
`bash
Solve using maximum power
solve https://github.com/Veronika89-lang/index.html/issues/1 --auto-continue --attach-logs --verbose --model opus --auto-fork --think maxSolve GitHub issues automatically (auto-fork if no write access)
solve https://github.com/owner/repo/issues/123 --auto-fork --model sonnetSolve issue with PR to custom branch (manual fork mode)
solve https://github.com/owner/repo/issues/123 --base-branch develop --forkContinue working on existing PR
solve https://github.com/owner/repo/pull/456 --model opusResume from Claude session when limit is reached
solve https://github.com/owner/repo/issues/123 --resume session-idStart hive orchestration (monitor and solve issues automatically)
hive https://github.com/owner/repo --monitor-tag "help wanted" --concurrency 3Monitor all issues in organization with auto-fork
hive https://github.com/microsoft --all-issues --max-issues 10 --auto-forkRun collaborative review process
review --repo owner/repo --pr 456Multiple AI reviewers for consensus
./reviewers-hive.mjs --agents 3 --consensus-threshold 0.8
`š Core Components
| Script | Purpose | Key Features |
|--------|---------|--------------|
|
solve.mjs (stable) | GitHub issue solver | Auto fork, branch creation, PR generation, resume sessions, fork support |
| hive.mjs (stable) | AI orchestration & monitoring | Multi-repo monitoring, concurrent workers, issue queue management |
| review.mjs (alpha) | Code review automation | Collaborative AI reviews, automated feedback |
| reviewers-hive.mjs (alpha / experimental) | Review team management | Multi-agent consensus, reviewer assignment |
| telegram-bot.mjs (stable) | Telegram bot interface | Remote command execution, group chat support, diagnostic tools |š§ solve Options
`bash
solve [options] --model, -m Model (sonnet, opus for claude; grok-code-fast-1, gpt4o for opencode; gpt5, gpt5-codex, o3 for codex; grok, sonnet, haiku for agent)
[default: sonnet for claude, grok-code-fast-1 for opencode, gpt-5 for codex, grok-code-fast-1 for agent]
--tool AI tool (claude, opencode, codex, agent) [default: claude]
--fork, -f Fork repo if no write access [default: false]
--auto-fork Automatically fork public repos without write access (fails for private)
[default: false]
--base-branch, -b Target branch for PR [default: repo default]
--resume, -r Resume from session ID
--verbose, -v Enable verbose logging [default: false]
--dry-run, -n Prepare only, don't execute [default: false]
--only-prepare-command Only prepare and print the command [default: false]
--skip-tool-check Skip tool connection check (use --no-tool-check to disable)
[default: false]
--auto-pull-request-creation Create draft PR before execution [default: true]
--attach-logs Attach logs to PR (ā ļø sensitive) [default: false]
--auto-close-pull-request-on-fail Close PR on fail [default: false]
--auto-continue Continue with existing PR when issue URL is provided
[default: false]
--auto-continue-limit, -c Auto-continue when limit resets [default: false]
--auto-resume-on-errors Auto-resume on network errors (503, etc.)
[default: false]
--auto-continue-only-on-new-comments Fail if no new comments
[default: false]
--auto-commit-uncommitted-changes Auto-commit changes [default: false]
--auto-merge-default-branch-to-pull-request-branch Merge default branch to PR branch
(only in continue mode) [default: false]
--allow-fork-divergence-resolution-using-force-push-with-lease
Allow force-push with --force-with-lease when fork diverges
(DANGEROUS: can overwrite fork history) [default: false]
--prefix-fork-name-with-owner-name Prefix fork name with owner (owner-repo)
Useful for forking repos with same name from different owners
[default: true]
--continue-only-on-feedback Only continue if feedback detected
[default: false]
--watch, -w Monitor for feedback and auto-restart [default: false]
--watch-interval Feedback check interval (seconds) [default: 60]
--min-disk-space Minimum disk space in MB [default: 500]
--log-dir, -l Directory for log files [default: cwd]
--think Thinking level (low, medium, high, max) [optional]
--sentry Enable Sentry error tracking (use --no-sentry to disable)
[default: true]
--auto-cleanup Delete temp directory on completion
[default: true for private repos, false for public repos]
--version Show version number
--help, -h Show help
`š§ hive Options
`bash
hive [options] --monitor-tag, -t Label to monitor [default: "help wanted"]
--all-issues, -a Monitor all issues (ignore labels) [default: false]
--skip-issues-with-prs, -s Skip issues with existing PRs [default: false]
--concurrency, -c Parallel workers [default: 2]
--pull-requests-per-issue, -p Number of PRs per issue [default: 1]
--model, -m Model (opus, sonnet for claude; grok-code-fast-1, gpt4o for opencode; gpt5, gpt5-codex, o3 for codex; grok, sonnet, haiku for agent)
[default: sonnet for claude, grok-code-fast-1 for opencode, gpt-5 for codex, grok-code-fast-1 for agent]
--tool AI tool (claude, opencode, codex, agent) [default: claude]
--interval, -i Poll interval (seconds) [default: 300]
--max-issues Limit processed issues [default: 0 (unlimited)]
--once Single run (don't monitor) [default: false]
--dry-run List issues without processing [default: false]
--skip-tool-check Skip tool connection check (use --no-tool-check to disable)
[default: false]
--verbose, -v Enable verbose logging [default: false]
--min-disk-space Minimum disk space in MB [default: 500]
--auto-cleanup Clean /tmp/ /var/tmp/ on success [default: false]
--fork, -f Fork repos if no write access [default: false]
--auto-fork Automatically fork public repos without write access
[default: false]
--attach-logs Attach logs to PRs (ā ļø sensitive) [default: false]
--project-number, -pn GitHub Project number to monitor
--project-owner, -po GitHub Project owner (org or user)
--project-status, -ps Project status column to monitor [default: "Ready"]
--project-mode, -pm Enable project-based monitoring [default: false]
--youtrack-mode Enable YouTrack mode instead of GitHub [default: false]
--youtrack-stage Override YouTrack stage to monitor
--youtrack-project Override YouTrack project code
--target-branch, -tb Target branch for pull requests [default: repo default]
--log-dir, -l Directory for log files [default: cwd]
--auto-continue Pass --auto-continue to solve for each issue
[default: false]
--think Thinking level (low, medium, high, max) [optional]
--sentry Enable Sentry error tracking (use --no-sentry to disable)
[default: true]
--watch, -w Monitor for feedback and auto-restart [default: false]
--issue-order, -o Order issues by date (asc, desc) [default: asc]
--version Show version number
--help, -h Show help
`š¤ Telegram Bot
The Hive Mind includes a Telegram bot interface (SwarmMindBot) for remote command execution.
$3
Want to see the Hive Mind in action? Join our Telegram channel where you can execute the Hive Mind on your own issues and watch AI solve them:
Join https://t.me/hive_mind_pull_requests
$3
1. Get Bot Token
- Talk to @BotFather on Telegram
- Create a new bot and get your token
- Add the bot to your group chat and make it an admin
2. Configure Environment
`bash
# Copy the example configuration
cp .env.example .env # Edit and add your bot token
echo "TELEGRAM_BOT_TOKEN=your_bot_token_here" >> .env
# Optional: Restrict to specific chats
# Get chat ID using /help command, then add:
echo "TELEGRAM_ALLOWED_CHATS=123456789,987654321" >> .env
`3. Start the Bot
`bash
hive-telegram-bot
`$3
All commands work in group chats only (not in private messages with the bot):
####
/solve - Solve GitHub Issues
`
/solve [options]Examples:
/solve https://github.com/owner/repo/issues/123
/solve https://github.com/owner/repo/issues/123 --auto-fork --verbose
/solve https://github.com/owner/repo/issues/123 --auto-fork --auto-continue --attach-logs --verbose --model sonnet --think max
`####
/hive - Run Hive Orchestration
`
/hive [options]Examples:
/hive https://github.com/owner/repo
/hive https://github.com/owner/repo --all-issues --max-issues 10
/hive https://github.com/microsoft --all-issues --concurrency 3
`####
/help - Get Help and Diagnostic Info
`
/helpShows:
- Chat ID (needed for TELEGRAM_ALLOWED_CHATS)
- Chat type
- Available commands
- Usage examples
`$3
- ā
Group Chat Only: Commands work only in group chats (not private messages)
- ā
Full Options Support: All command-line options work in Telegram
- ā
Screen Sessions: Commands run in detached screen sessions
- ā
Chat Restrictions: Optional whitelist of allowed chat IDs
- ā
Diagnostic Tools: Get chat ID and configuration info
$3
- Only works in group chats where the bot is admin
- Optional chat ID restrictions via
TELEGRAM_ALLOWED_CHATS
- Commands run as the system user running the bot
- Ensure proper authentication (gh auth login, claude-profiles)šļø Architecture
The Hive Mind operates on three layers:
1. Orchestration Layer (
hive.mjs) - Coordinates multiple AI agents
2. Execution Layer (solve.mjs, review.mjs) - Performs specific tasks
3. Human Interface Layer - Enables human-AI collaboration$3
#### Mode 1: Issue ā Pull Request Flow
`mermaid
sequenceDiagram
participant H as Human
participant GH as GitHub
participant AI as AI Agent
participant HM as Hive Mind H->>GH: Creates Issue
Note over H,GH: Primary human input
GH->>HM: Issue Available
HM->>AI: Assigns Issue
AI->>GH: Analyzes Issue
AI->>AI: Develops Solution
AI->>GH: Creates Draft PR
Note over H,GH: Human decision point
GH->>H: Notifies PR Created
H->>GH: Reviews PR
alt Approve & Merge
H->>GH: Merges PR
GH->>HM: PR Merged
else Request Changes
H->>GH: Adds Comments
Note over H,GH: Secondary human input
GH->>HM: Comments Added
HM->>AI: Process Feedback
AI->>GH: Updates PR
else Close PR
H->>GH: Closes PR
GH->>HM: PR Closed
end
`#### Mode 2: Pull Request ā Comments Flow
`mermaid
sequenceDiagram
participant H as Human
participant GH as GitHub
participant AI as AI Agent
participant HM as Hive Mind Note over GH: Existing PR
H->>GH: Adds Comment
Note over H,GH: Primary human input
GH->>HM: New Comment Available
HM->>AI: Processes Comment
AI->>GH: Analyzes Feedback
AI->>AI: Updates Solution
AI->>GH: Pushes Changes
Note over H,GH: Human decision point
GH->>H: Notifies Changes
H->>GH: Reviews Updates
alt Approve & Merge
H->>GH: Merges PR
GH->>HM: PR Merged
else More Changes Needed
H->>GH: Adds More Comments
Note over H,GH: Continued human input
GH->>HM: Comments Added
else Close PR
H->>GH: Closes PR
GH->>HM: PR Closed
end
`š For comprehensive data flow documentation including human feedback integration points, see docs/flow.md
š Usage Examples
$3
`bash
Auto-fork and solve issue (automatic fork detection for public repos)
solve https://github.com/owner/repo/issues/123 --auto-fork --model opusManual fork and solve issue (works for both public and private repos)
solve https://github.com/owner/repo/issues/123 --fork --model opusContinue work on existing PR
solve https://github.com/owner/repo/pull/456 --verboseSolve with detailed logging and solution attachment
solve https://github.com/owner/repo/issues/123 --verbose --attach-logsDry run to see what would happen
solve https://github.com/owner/repo/issues/123 --dry-run
`$3
`bash
Monitor single repository with specific label
hive https://github.com/owner/repo --monitor-tag "bug" --concurrency 4Monitor all issues in an organization with auto-fork
hive https://github.com/microsoft --all-issues --max-issues 20 --once --auto-forkMonitor user repositories with high concurrency
hive https://github.com/username --all-issues --concurrency 8 --interval 120 --auto-forkSkip issues that already have PRs
hive https://github.com/org/repo --skip-issues-with-prs --verboseAuto-cleanup temporary files and auto-fork if needed
hive https://github.com/org/repo --auto-cleanup --auto-fork --concurrency 5
`$3
`bash
Resume when Claude hits limit
solve https://github.com/owner/repo/issues/123 --resume 657e6db1-6eb3-4a8dContinue session interactively in Claude Code
(cd /tmp/gh-issue-solver-123456789 && claude --resume session-id)
`š Monitoring & Logging
Find resume commands in logs:
`bash
grep -E '\(cd /tmp/gh-issue-solver-[0-9]+ && claude --resume [0-9a-f-]{36}\)' hive-*.log
`š§ Configuration
Authentication is handled through:
-
gh auth login - GitHub CLI authentication
- claude-profiles - Claude authentication profile migration to serverNo environment variable configuration is currently supported.
š Reporting Issues
$3
If you encounter issues with Hive Mind (this project), please report them on our GitHub Issues page:
- Repository: https://github.com/deep-assistant/hive-mind
- Issues: https://github.com/deep-assistant/hive-mind/issues$3
If you encounter issues with the Claude Code CLI itself (e.g., claude command errors, installation problems, or CLI bugs), please report them to the official Claude Code repository:
- Repository: https://github.com/anthropics/claude-code
- Issues: https://github.com/anthropics/claude-code/issuesš”ļø File Size Enforcement
All documentation files are automatically checked:
`bash
find docs/ -name "*.md" -exec wc -l {} + | awk '$1 > 1000 {print "ERROR: " $2 " has " $1 " lines (max 1000)"}'
`Server diagnostics
Identify screens that are parents of processes that eating the resources
`bash
TARGETS="62220 65988 63094 66606 1028071 4127023"build screen PID -> session name map
declare -A NAME
while read -r id; do spid=${id%%.*}; NAME[$spid]="$id"; done \
< <(screen -ls | awk '/(Detached|Attached)/{print $1}')check each PID's environment for STY and map back to session
for p in $TARGETS; do
sty=$(tr '\0' '\n' < /proc/$p/environ 2>/dev/null | awk -F= '$1=="STY"{print $2}')
if [ -n "$sty" ]; then
spid=${sty%%.*}
echo "$p -> ${NAME[$spid]:-$sty}"
else
echo "$p -> (no STY; not from screen or env cleared / double-forked)"
fi
done
`Show details about the proccess
`bash
procinfo() {
local pid=$1
if [ -z "$pid" ]; then
echo "Usage: procinfo "
return 1
fi
if [ ! -d "/proc/$pid" ]; then
echo "Process $pid not found."
return 1
fi echo "=== Process $pid ==="
# Basic process info
ps -p "$pid" -o user=,uid=,pid=,ppid=,c=,stime=,etime=,tty=,time=,cmd=
echo
# Working directory
echo "CWD: $(readlink -f /proc/$pid/cwd 2>/dev/null)"
# Executable path
echo "EXE: $(readlink -f /proc/$pid/exe 2>/dev/null)"
# Root directory of the process
echo "ROOT: $(readlink -f /proc/$pid/root 2>/dev/null)"
# Command line (full, raw)
echo "CMDLINE:"
tr '\0' ' ' < /proc/$pid/cmdline 2>/dev/null
echo
# Environment variables
echo
echo "ENVIRONMENT (key=value):"
tr '\0' '\n' < /proc/$pid/environ 2>/dev/null | head -n 20
# Open files (first few)
echo
echo "OPEN FILES:"
ls -l /proc/$pid/fd 2>/dev/null | head -n 10
# Child processes
echo
echo "CHILDREN:"
ps --ppid "$pid" -o pid=,cmd= 2>/dev/null
}
procinfo 62220
`Maintenance
$3
`
sudo reboot
`That will remove all dangling unused proccesses and screens, which will in turn free the RAM and reduce CPU load. Also reboot may clear all temporary files, so next step can do nothing if reboot was done.
$3
`
df -hrm -rf /tmp
df -h
`These commands should be executed under
hive user. If you have accidentally removed the /tmp folder itself under root user, you will need to restore it like this:`bash
sudo mkdir -p /tmp
sudo chown root:root /tmp
sudo chmod 1777 /tmp
`$3
`bash
close all (Attached or Detached) sessions
screen -ls | awk '/(Detached|Attached)/{print $1}' \
| while read s; do screen -S "$s" -X quit; doneremove any zombie sockets
screen -wipeverify
screen -ls
``That can be done, but not recommended as reboot have better effect.
Unlicense License - see LICENSE
This project uses AI-driven development. See CONTRIBUTING.md for human-AI collaboration guidelines.