helix-agent
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This tool is a persistent personal AI agent harness that acts as a frontend for Claude Code. It provides always-on access to Claude via Discord, Telegram, or a built-in web interface, featuring a customizable personality and memory system that survives across sessions.
Security Assessment
Overall Risk: Medium. The tool acts as an execution wrapper for the Claude Code CLI, inherently routing instructions through shell commands. While a light code scan of 12 files found no dangerous patterns or hardcoded secrets, the application processes sensitive data. It handles your chat logs, manages long-term memory files, and natively accepts and encrypts bot tokens and passwords using Fernet encryption. Additionally, it makes active network requests to keep your messaging integrations and web UI running. Because it manages encrypted secrets and executes AI-driven CLI tasks behind a web interface, it requires careful network exposure management.
Quality Assessment
The project is very new and currently has extremely low community visibility with only 6 GitHub stars. However, it is actively maintained, with the most recent code push occurring today. The codebase is transparent, and the project uses a standard, permissive MIT license, which is a positive indicator for open-source safety and usability.
Verdict
Use with caution: the transparent code appears safe, but the inherent risks of exposing an AI-driven shell wrapper to external messaging platforms make it best suited for trusted, private networks.
Personal AI agent harness powered by Claude Code. Always-on access through Discord, Telegram, or a built-in web UI.
Helix
A personal AI agent harness powered by Claude Code. Give your AI assistant a name, a personality, persistent memory, and always-on access through Discord, Telegram, or the built-in web UI.
Helix acts as a frontend for Claude Code — all AI calls route through Claude's CLI using your existing subscription. No API keys needed.
Ideal for anyone who wants a persistent, always-on Claude agent without living in a terminal. Run it once, walk away — your agent is available through your phone, browser, or messaging app whenever you need it.
What You Get
- Persistent agent identity — your agent has a name, personality, and memory that survives across sessions
- Web admin UI — chat with your agent, manage sessions, view logs, configure settings from your browser
- Discord + Telegram Integration — optional always-on messaging so you can talk to your agent from your phone
- Memory system — daily logs + long-term memory files your agent reads and writes automatically
- Custom slash commands — drop a
.mdfile in the commands folder, it becomes a/command - Scheduled tasks — cron jobs that run your agent on a schedule (heartbeat checks, automated workflows)
- Encrypted secrets — bot tokens and passwords stored with Fernet encryption, machine-bound keys
Requirements
- Python 3.10+
- Claude Code CLI — install here
- Anthropic subscription — Claude Pro or Max (Helix uses your subscription via Claude Code, no API key needed)
- Linux or macOS (Windows via WSL should work but is untested)
Quick Start
git clone https://github.com/kingbee-helix/helix-agent.git
cd helix-agent
python3 main.py setup
The setup wizard handles everything:
- Creates a virtual environment and installs dependencies
- Walks you through naming your agent and setting your info
- Prompts you to set a web admin password
- Optionally connects Discord or Telegram
- Configures Claude Code permissions
- Offers to launch immediately
Starting and Stopping
./start.sh # Start in background (logs to ~/.helix/logs/helix.log)
./stop.sh # Stop gracefully
# Or run directly (useful for debugging):
python3 main.py
The venv is managed automatically — you never need to activate it manually.
Note: Helix does not auto-start on reboot. Use
./start.shto run it in the background without keeping a terminal open. You'll need to run it again if your machine restarts.
Project Structure
helix/
main.py # Entry point — start Helix, run setup, manage secrets
setup.py # Interactive first-run wizard
start.sh / stop.sh # Background process management
core/
agent_loop.py # Routes messages to Claude Code, streams responses back
cli_backend.py # Calls the claude CLI, manages sessions and flags
config.py # All configuration in one place (Pydantic models)
context_engine.py # Builds the system prompt from workspace files
session_manager.py # Tracks sessions + transcripts in SQLite
channels/
base.py # Shared adapter interface
discord_adapter.py # Discord bot — DMs and guild channels
telegram_adapter.py# Telegram bot — private chat
slash_commands.py # /command handling for all channels
security/
audit.py # Logs every inbound/outbound event
auth.py # Allowlist enforcement + rate limiting
input_validator.py # Flags prompt injection attempts
secrets.py # Fernet-encrypted credential store
web/
app.py # FastAPI server — REST API + WebSocket chat
static/index.html # Browser-based admin dashboard
workspace-template/ # Starter identity + memory files, copied to ~/.helix/workspace/ on setup
How It Works
Helix wraps Claude Code's CLI (claude -p). When you send a message:
- Your message arrives via Discord, Telegram, or the web UI
- Helix loads your agent's identity files (AGENTS.md, SOUL.md, etc.) as the system prompt
- The message is sent to Claude Code with
--resumefor session continuity - Claude Code handles everything — tool execution, file operations, web searches
- The response comes back through the same channel
Your agent has access to the same tools as Claude Code: Bash, file read/write/edit, web search, web fetch. Permissions are managed through Claude Code's ~/.claude/settings.json.
Why
--resumematters: Most Claude frontends resend the entire conversation history with every message, which burns tokens fast and hits rate limits quickly. Helix uses Claude Code's--resumeflag to continue existing sessions — only the new message and system prompt are sent each turn. The full conversation context is preserved on disk and picked up automatically. The result is dramatically lower token usage, longer conversations before hitting limits, and true session persistence across restarts.
Configuration
Everything lives in ~/.helix/:
| Path | What |
|---|---|
config.json |
Main config (channels, models, scheduling) |
secrets.enc |
Encrypted secrets (bot tokens, passwords) |
workspace/ |
Agent's workspace (identity, memory, tools) |
sessions/ |
Session database + transcripts |
logs/ |
Operational + audit logs |
Edit config through the admin UI, or directly:
python3 main.py config # Print current config
python3 main.py secrets list # List stored secret keys
python3 main.py secrets set KEY VALUE
Agent Workspace
Your agent's workspace (~/.helix/workspace/) contains the files that define who it is:
| File | Purpose |
|---|---|
AGENTS.md |
Operating instructions — how the workspace works |
SOUL.md |
Personality and principles |
IDENTITY.md |
Name, emoji, vibe |
USER.md |
Info about you |
MEMORY.md |
Long-term memory (agent updates this over time) |
TOOLS.md |
Notes about your specific setup |
HEARTBEAT.md |
What to check on periodic heartbeats |
memory/ |
Daily logs (YYYY-MM-DD.md) |
commands/ |
Custom slash commands (.md files) |
Edit these files anytime. The more accurate they are, the better your agent performs. Your agent can also edit them — that's how it learns and remembers.
Want more? Helix's memory system can be extended with Obsidian and semantic search tools like qmd for a full knowledge base your agent can query. The flat file structure is designed to be compatible — just point your agent at the vault.
Slash Commands
Available in Discord, Telegram, and the web chat:
| Command | What it does |
|---|---|
/help |
List all commands |
/new or /reset or /clear |
Start a fresh session |
/model [alias] |
Switch model (haiku / sonnet / opus) |
/status |
Session info + current model |
/session |
List all active sessions |
/memory |
View today's memory log |
/think [level] |
Deep reasoning mode |
/do <task> |
Execute a task |
/remember <text> |
Save something to memory |
/forget <text> |
Remove something from memory |
/heartbeat |
Trigger a manual heartbeat check |
Adding Permissions
Helix inherits permissions from Claude Code. During setup, your home directory is automatically added. To grant access to additional directories:
claude /permissions
Or manually edit ~/.claude/settings.json.
Security Notes
- The web UI runs on localhost only by default — not exposed to the network
- Bot tokens and passwords are encrypted at rest using Fernet with argon2id key derivation
- Encryption keys are machine-bound — secrets can't be decrypted on a different machine
- Discord and Telegram use allowlists — only your user ID can interact with the agent
- Rate limiting is built in (20/min, 200/hr per user)
- Prompt injection detection flags suspicious patterns in messages
- If you expose the web UI externally, use an HTTPS reverse proxy. Do so at your own risk — Helix is designed for personal local use and external exposure is not officially supported.
License
MIT — see LICENSE.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found