Your personal PM agent โ Telegram-connected project manager
Project description
heysquid ๐ฆ
Hire a PM. Get a company.
Solo, never alone.
heysquid turns Claude Code into a full company run by an AI PM โ development team, marketing team, and creator team, all managed from your phone. You set the direction. SQUID runs the departments.
Why heysquid?
A big company runs multiple departments in parallel. heysquid gives a solopreneur the same structure โ without hiring.
Solopreneur (Vision Owner)
โ
squid โ PM
โ
โโโ Development Team โ 6 specialist agents + Kraken mode (12 experts)
โโโ Marketing Team โ X + Threads auto-posting, daily briefings
โโโ Creator Team โ 11 AI creators on FanMolt, 24/7 autonomous
The PM does 4 things:
- Sets direction โ understands your intent and defines the goal
- Delegates to departments โ plans which team does what
- Reports back โ consolidates results and delivers to you
- Makes decisions โ handles mid-execution judgment calls
The PM doesn't scramble. The departments do the work.
- Confirmation Loop โ Every task: Plan โ Confirm โ Execute โ Report. No autonomous surprises.
- 3-Tier Memory โ Permanent (lessons learned), session (current context), workspace (per-project).
- Agent Team โ 6 specialists auto-dispatched. Kraken mode: 12 expert personas for deep work.
- FanMolt Built-in โ AI creators that post, comment, and earn subscription revenue autonomously.
- Plugin System โ Drop a folder into
skills/orautomations/. Auto-discovery, zero config. - Multi-Channel โ Telegram, Slack, Discord, X, Threads. Message from wherever you work.
- Always-On โ Daemon-based. Send a message at 3am, get a response in seconds.
- Open Source โ
$0extra cost. Runs on your Claude Max subscription ($100/mo).
Quick Start
# 1. Prerequisites (skip if already installed)
brew install node # Node.js (required for Claude Code CLI)
npm install -g @anthropic-ai/claude-code # Claude Code CLI
# 2. Install heysquid
pip3 install heysquid # Core (Telegram)
# 3. Setup & run
heysquid init # Interactive setup wizard (Telegram token required)
heysquid start # Start the daemon
That's it. Send a message to your Telegram bot and start working.
First time? See the detailed Getting Started guide โ covers every step from installing Homebrew/Node.js/Python to your first message.
Prerequisites
- macOS (launchd daemon; Windows users: use WSL2)
- Node.js 18+ โ Required for Claude Code CLI (
brew install node) - Python 3.10+ โ Runtime (
brew install python@3.12) - Claude Code CLI โ
npm install -g @anthropic-ai/claude-code - Claude Max subscription โ Recommended ($100/mo, unlimited). Claude Pro ($20/mo) works with daily limits.
- Telegram bot token โ Get one from @BotFather
How It Works
You (Telegram/Slack/Discord)
โ "๋ง์ผํ
์ ๋ต ์ธ์์ค"
SQUID PM โ plans, confirms, delegates
โโโ Development Team โ researcher + developer + writer execute in parallel
โโโ Marketing Team โ SNS posts go out on schedule
โโโ Creator Team โ FanMolt molts post, reply, earn โ without being asked
- You send a message on Telegram
- The listener daemon detects it almost instantly (long-polling)
- SQUID PM reads your message and decides:
- Chat โ responds naturally
- Task request โ explains plan, asks for confirmation
- Approval โ dispatches agents, executes, reports back
- All output flows back to Telegram โ plan, progress updates, and final report. No extra setup.
- After completing work, enters standby loop (polls every 30s, stays alive indefinitely)
Agent Team
The PM orchestrates 6 specialized agents, auto-escalating to stronger models when needed:
| Role | Agent | Model | Specialty |
|---|---|---|---|
| ๐ฆ PM | squid | Opus | Decision-making, orchestration, user communication |
| ๐ Researcher | octopus | HaikuโSonnet | Code exploration, web research, analysis |
| ๐ฆ Developer | shark | Opus | Implementation, bug fixes, refactoring |
| ๐ข Reviewer | turtle | Sonnet | Code review, security audit |
| ๐ก Tester | pufferfish | Haiku | Test execution, build verification |
| ๐ฆ Writer | lobster | Sonnet | Documentation, content, copywriting |
Escalation: If Haiku fails โ auto-promote to Sonnet โ Opus. No manual intervention.
Plugin System
heysquid uses a drop-in plugin architecture. Create a folder, add SKILL_META + execute(), done.
Skills (manual trigger)
# heysquid/skills/my_skill/__init__.py
SKILL_META = {
"name": "my_skill",
"description": "What this skill does",
"trigger": "manual",
"enabled": True,
}
def execute(**kwargs) -> dict:
# Your logic here
return {"ok": True, "message": "Done!"}
Automations (scheduled)
# heysquid/automations/daily_report/__init__.py
SKILL_META = {
"name": "daily_report",
"description": "Daily status report at 9am",
"trigger": "schedule",
"schedule": "09:00",
"enabled": True,
}
def execute(**kwargs) -> dict:
# Runs every day at 09:00
return {"ok": True}
Plugins are auto-discovered at startup. See skills/GUIDE.md for the full reference.
Creator Team โ FanMolt Integration
heysquid's Creator Team runs on FanMolt. Each AI creator (molt) has a persistent identity with a 9-section self structure:
who โ who they are (identity, permanent)
soul โ how they live (values, evolves with experience)
what โ what they're expert in (domain, topics)
whom โ who they serve (PM + fans)
mind โ what they remember (events ring-buffer + accumulated lessons)
do โ what they do (recipes + engagement style)
beat โ how often (schedule, posting cadence)
where โ where they are (platform, API key)
_now โ runtime state (stats, timestamps โ separate from identity)
The mind.lessons feed into build_system_prompt() โ experience shapes future content.
You: "fanmolt create TechDigest AI/tech news daily insights"
SQUID: โ
TechDigest registered
You: "fanmolt blueprint techdigest tech_analyst"
SQUID: โ
Blueprint applied โ recipes: daily_briefing, deep_dive, tool_review
(runs autonomously โ no command needed)
SQUID: ๐ฐ FanMolt heartbeat โ TechDigest: 3 replies | 5 comments | 1 post
What you get:
- AI creators with persistent identity that evolves from experience
- Automatic heartbeat: reply to fans โ engage feed โ publish posts
- Recipe system: structured daily/weekly content on schedule
- Multiple creators running simultaneously, 24/7
No extra API costs โ uses your existing Claude subscription.
Read the full FanMolt guide โ
Features
| Feature | Description |
|---|---|
| Telegram Control | Chat naturally, request tasks, approve plans โ all from your phone |
| Interrupt Anytime | Send "stop" / "cancel" to halt current work within 10 seconds |
| Multi-Workspace | Switch between projects seamlessly. Each has its own context |
| FanMolt Agents | Create AI creators on FanMolt โ auto-posting, commenting, revenue |
| Plugin System | Skills + Automations โ auto-discovery, config override, webhook trigger |
| SNS Channels | Post to X (Twitter) and Threads via channel adapters |
| Real-time Dashboard | Browser-based agent status visualization |
| TUI Monitor | Terminal UI for live monitoring and direct PM interaction |
| Crash Recovery | Detects interrupted sessions and resumes automatically |
| Session Memory | Conversations persist across sessions. Your PM knows your preferences |
CLI Commands
heysquid init # Interactive setup wizard
heysquid start # Start listener + scheduler daemons
heysquid stop # Stop all daemons and processes
heysquid restart # Stop + Start
heysquid status # Show daemon status, processes, lock files
heysquid logs # View recent logs (add -f to follow)
heysquid tui # Launch terminal UI monitor
Monitoring
# Terminal UI (interactive, can send messages to PM)
heysquid tui
# Browser dashboard
open http://localhost:8420/dashboard.html
# Raw logs
heysquid logs -f
Real-time Dashboard
A pixel-art ocean-themed dashboard showing your agent team in action. Agents swim to their desks when dispatched, skill machines animate when running, and mission logs update in real-time.
Memory System
heysquid uses a 3-tier memory architecture:
| Layer | File | Scope | Purpose |
|---|---|---|---|
| Permanent | data/permanent_memory.md |
Cross-session | User preferences, key decisions, lessons learned |
| Session | data/session_memory.md |
Current session | Conversation log, active tasks, recent context |
| Workspace | workspaces/{name}/context.md |
Per-project | Project-specific knowledge and progress |
The PM auto-saves session memory every 30 minutes and writes session highlights to permanent memory on exit.
Project Structure
heysquid/
โโโ heysquid/ # Core package
โ โโโ core/ # Config, CLI, daemon, plugin loader
โ โโโ channels/ # Messaging adapters (Telegram, Slack, Discord, X, Threads)
โ โโโ skills/ # Pluggable skills (drop-in auto-discovery)
โ โ โโโ fanmolt/ # Built-in: FanMolt AI creator management
โ โโโ automations/ # Scheduled automations (drop-in auto-discovery)
โ โ โโโ fanmolt_heartbeat/ # Built-in: FanMolt activity scheduler
โ โโโ memory/ # Session, tasks, crash recovery
โ โโโ dashboard/ # Agent status visualization + kanban
โ โโโ templates/ # Plist templates, env examples
โโโ scripts/ # Shell scripts (executor, setup, monitoring, TUI)
โโโ docs/ # Guides and documentation
โโโ data/ # Runtime data (gitignored)
โโโ tasks/ # Per-message task memory (gitignored)
โโโ workspaces/ # Project contexts (gitignored)
โโโ logs/ # Execution logs (gitignored)
Configuration
All configuration lives in .env (created by heysquid init):
# Telegram (required โ primary channel)
TELEGRAM_BOT_TOKEN=your_bot_token_here
TELEGRAM_ALLOWED_USERS=your_telegram_id
# Slack (optional โ add token to enable)
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
SLACK_ALLOWED_USERS=U01ABCDEF
SLACK_DEFAULT_CHANNEL=C01ABCDEF
# Discord (optional โ add token to enable)
DISCORD_BOT_TOKEN=your_discord_bot_token
DISCORD_ALLOWED_USERS=123456789012345678
DISCORD_DEFAULT_CHANNEL=123456789012345678
heysquid start auto-detects which channels have tokens and starts only those listeners.
Setup guides:
- Telegram: @BotFather ยท User ID from @userinfobot
- Slack: Create App โ Enable Socket Mode โ Bot Token + App Token
- Discord: Create App โ Bot โ Enable MESSAGE CONTENT INTENT
How It's Built
heysquid is a thin orchestration layer on top of Claude Code:
- No custom LLM calls โ Everything runs through Claude Code CLI (
claude -p) - No API keys needed โ Uses your Claude Max subscription
- Claude Code Agent Teams โ Sub-agents are Claude Code's native Task tool
- Daemon = launchd โ macOS native job scheduling, zero dependencies
- Memory = markdown files โ Human-readable, git-friendly, no database
Roadmap
- PM protocol (plan โ confirm โ execute โ report)
- Agent team with auto-escalation (6 specialists + Kraken 12)
- 3-tier memory system
- Crash recovery
-
pip install heysquid - Multi-channel (Telegram + Slack + Discord)
- SNS channels (X + Threads) โ Marketing Team
- Plugin system (skills + automations)
- FanMolt integration โ Creator Team (molt v2 self-system, 9-section identity)
- Real-time dashboard + TUI
- Linux support (systemd)
- Sales Team โ outbound prospecting agents
- Customer Support Team โ automated reply agents
- Voice input (Whisper โ task instruction)
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
Author
Sanghyuk Yoon โ hyuk@hype5.co.kr
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file heysquid-0.1.0.tar.gz.
File metadata
- Download URL: heysquid-0.1.0.tar.gz
- Upload date:
- Size: 223.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5812f2d6a70398ac737b34a96fda91489f729515f42d984413f78a92f4905380
|
|
| MD5 |
b812979c61b7de6d871d2cafd846099d
|
|
| BLAKE2b-256 |
0a9d6626cb42af647f51eb81276ff540fdc729ec22584735596d655c060f1e57
|
File details
Details for the file heysquid-0.1.0-py3-none-any.whl.
File metadata
- Download URL: heysquid-0.1.0-py3-none-any.whl
- Upload date:
- Size: 237.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85464bb9812db75a9883d407b6a6f3700c1b42c5aaf206f3ce180ee26f433f96
|
|
| MD5 |
220929f77c53a1dc951c1fbeab448ef1
|
|
| BLAKE2b-256 |
397a3add9753e0271163b80f354648fe942b3095c87b6f8bfd528cbfa2cd013f
|