# Add to your Claude Code skills
git clone https://github.com/thesongzhu/FridayFriday is a self-hosted personal AI and automation runtime.
It is meant to feel less like a blank chatbot and more like a private execution partner: you give a goal, Friday checks what it can do, uses configured capabilities, asks for the human-only pieces, executes, verifies the result, and records what it learned. Capability acquisition and self-upgrade flows are active work and should be treated as review-gated WIP rather than a fully autonomous promise.
Friday is not a magic fully autonomous system. It will not create accounts for you, bypass CAPTCHA, pay for services, take production-changing actions, or use credentials you have not provided. Its job is to do the work it can safely do, stop clearly when it needs you, and leave evidence behind.
| Area | What Friday is built to do | Boundary | | --- | --- | --- | | Chat and task execution | Answer, plan, execute tool-backed work, show progress, and recover from failures | Depends on configured providers and granted tools | | Text, vision, OCR, PDF, files | Route work to configured providers or built-in parsers, then report what is missing when a lane is unavailable | Vision/OCR/TTS depend on provider support and credentials | | Web and browser work | Use configured web search providers, local browser control, and workflow steps | Login, payment, CAPTCHA, and sensitive accounts require the user | | Skills and workflows | Import, validate, install, run, verify, update, and roll back reusable skills/workflows; generated/self-upgraded flows are WIP | Untrusted code must pass review, sandbox checks, and policy gates | | Memory and self-improvement | Store preferences, lessons, provider routing signals, recipes, evals, and recovery notes | User-visible, auditable, and reversible; no hidden model training | | Self-healing | Detect failures, propose fixes, run low-risk repairs, verify, roll back, and pause after repeated failures | High-risk changes require approval | | Multi-channel control | Connect channels such as Discord, Telegram, Feishu/Lark, Slack-style webhooks, Signal, WhatsApp, and QQ where configured | Channels can control Friday, but sensitive actions still require confirmation | | Long-running goals | Run user-authorized standing goals, create agenda items, gather evidence, and report outcomes | Friday is goal-driven by the user; it does not invent unrelated long-term agendas |
npm install -g @thesongzhu/friday
friday start
# Open http://localhost:3141
git clone https://github.com/thesongzhu/Friday.git
cd Friday
bash scripts/ops/friday-first-run.sh
# Or on macOS, double-click "Friday Setup.command"
The first-run helper installs dependencies, builds Friday, starts the local runtime, and opens the setup page. On macOS it also installs the login startup agent and menu bar companion so Friday can come back after restart. If you run it from Desktop, Documents, or Downloads, it prepares the launchd-safe runtime at ~/Friday automatically before installing the login agents.
git clone https://github.com/thesongzhu/Friday.git
cd Friday
npm install
npm run build
npm start
# Open http://localhost:3141
docker compose -f docker/docker-compose.yml up --build
# Open http://localhost:3141
First-run setup guides you through providers, channels, local permissions, and optional capabilities. After setup, Friday should open directly to Home.
Friday is BYOK: you bring the model and search/API credentials you want to use.
The setup flow should answer four questions for every capability:
Typical provider lanes include OpenAI, Doubao/Volcengine, Moonshot, Anthropic, Google, OpenRouter, Tavily, Serper, local browser/PDF/file tooling, MCP servers, and custom skills. A missing key or account is not treated as success; Friday should show it as a human blocker with the next configuration step.
When Friday does not have a capability for a goal, the target closed loop is:
goal -> capability gap -> candidates -> sandbox/test -> approval if required -> install/register -> doctor verify -> execute
This loop is not yet a blanket production guarantee. Current builds can report gaps and exercise parts of the workflow, while generated skills, self-upgrades, and adjustment-fidelity paths remain review-gated and covered by ongoing stress tests. Allowed automatic steps depend on policy. Searching, analysis, draft generation, and sandbox verification are low-risk by default. Downloading code, installing packages, writing config, registering tools, shell access, and external network calls are governed by the autonomy policy. OAuth, payment, CAPTCHA, API keys, sensitive permissions, and production writes always require the user.
Friday's self-improvement is intentionally boring and inspectable:
This is not model-weight training. It is auditable state and reusable artifacts that the user can inspect, edit, pause, or delete.
Friday follows a simple rule: automate the boring parts, keep the user in control of irreversible or sensitive parts.
| Platform | Method | Status |
| --- | --- | --- |
| macOS / Linux / Windows | npm install -g @thesongzhu/friday | Published on npm as 1.0.0 |
| Source | git clone + npm install + npm run build | Available |
| Docker | docker compose -f docker/docker-compose.yml up --build | Available from this repo |
The official npm package is @thesongzhu/friday. The unscoped friday package on npm is unrelated.
Friday is open-source software under the MIT license.
Friday includes compatibility and adaptation work for third-party agent ecosystem formats and behavior. See [NOTICE]
No comments yet. Be the first to share your thoughts!