An AI Agent That Actually Asks for Permission
A self-hosted, local-first runtime for executing goals through configured tools, with human approval, audit trails, and hard stops baked into the loop.

What it does
Friday is a self-hosted, local-first AI automation runtime written in TypeScript. You give it a goal—such as comparing PDFs against web search results—and it checks its configured tools, executes what it can safely handle, and stops to ask for approval when it encounters API keys, payments, CAPTCHAs, or high-risk actions. It runs entirely on your own machine, stores auditable memories of learned facts and failures, and leaves evidence behind for every step it takes.
The interesting bit
The project wears its limitations as architecture: it explicitly refuses to bypass logins, spend your money, or take production actions without a human gate. While it can search for new skills, MCP servers, and tools to close capability gaps, anything it generates or imports stays a review-gated candidate rather than an instantly trusted superpower.
Key highlights
- BYOK model support including OpenAI, Anthropic, Google, OpenRouter, and local tooling
- Approval-gated execution with scope, expiry, and rollback for sensitive actions
- Auditable memory for preferences, routing signals, failure lessons, and recovery recipes
- Proven inbound channels for Discord, Telegram, and Lark/Feishu; Slack and QQ explicitly unsupported
- Capability self-acquisition workflow to find and stage new skills, though still marked as active WIP
Caveats
- Currently a “public v1 local candidate” with a partial dogfood pass (UX 7.78/10); several headline integrations remain proof-pending
- Outbound channel control, desktop distribution, and mobile builds are not yet release-proven
- Generated skills and self-upgrades are review-gated work in progress, not a blanket autonomy guarantee
Verdict
Developers who want a private, inspectable automation partner that runs locally and keeps them in the loop should look here. Those seeking a fire-and-forget agent that handles payments and account creation without supervision will be explicitly disappointed—and that is by design.
Frequently asked
- What is thesongzhu/Friday?
- A self-hosted, local-first runtime for executing goals through configured tools, with human approval, audit trails, and hard stops baked into the loop.
- Is Friday open source?
- Yes — thesongzhu/Friday is open source, released under the MIT license.
- What language is Friday written in?
- thesongzhu/Friday is primarily written in TypeScript.
- How popular is Friday?
- thesongzhu/Friday has 900 stars on GitHub.
- Where can I find Friday?
- thesongzhu/Friday is on GitHub at https://github.com/thesongzhu/Friday.