docs(readme): cut marketing fluff; one fact per sentence
Removing what a reader doesn't need:
- Subtitle shrunk from three sentences to one. "Run an AI company from
your desktop." The two follow-up sentences ("Give it a mission.
Watch agents hire, delegate, and deliver.") were restating the same
thing twice.
- "Built with quiet authority. Ship your AI company." closing tagline
deleted. AI-flavored vapor.
- Feature openers trimmed. Each feature is now [bold title] + [one
sentence]. The previous paragraphs qualified, reassured, and
explained their own engineering trade-offs ("context travels with
the work instead of being re-rendered from scratch every run"). A
reader skimming the README doesn't need the trade-off; the architecture
section has it.
- "No plaintext, no ~/.pi/agent/auth.json, no scattered env files"
rhetorical triad replaced with "Credentials are SecretVault-encrypted
in SQLite." One fact, stated once.
- "Agents are at work before your coffee" deleted. Cute-cringe.
- "the company respects the chain of command" deleted. Hollow.
- "What is AgentCompany?" section compressed from three paragraphs to
two sentences.
- Image alt text shortened where it was describing the screenshot to
the screenshot ("AgentCompany Dashboard — active agents, tasks, and
company metrics" → "AgentCompany dashboard"). Alt text is for screen
readers landing on the page, not for search engine padding.
- Top-nav link list trimmed from 4 entries to 2 (Download, Website).
The in-page anchors were noise.
Facts preserved verbatim: 26 providers with correct per-group counts
(5/18/3), the two execution modes with their approval gate names,
architecture tree, tech stack, first-run steps, build commands.
Nothing factual removed.
Line count: 186 → ~170, but the bigger win is prose density — every
paragraph now says exactly one thing.
This commit is contained in:
1 parent
ff7d1e68a1
commit
34ca5b77f1
1 file changed
+65
-91
@@ -4,10 +4,7 @@
|
||||
|
||||
<h1 align="center">AgentCompany</h1>
|
||||
|
||||
<p align="center">
|
||||
<strong>Run an AI company from your desktop.</strong><br/>
|
||||
Give it a mission. Watch agents hire, delegate, and deliver.
|
||||
</p>
|
||||
<p align="center"><strong>Run an AI company from your desktop.</strong></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/ZacharyZhang-NY/AgentCompany/releases"><img alt="Latest Release" src="https://img.shields.io/github/v/release/ZacharyZhang-NY/AgentCompany?style=flat-square&color=4a5d7a" /></a>
|
||||
@@ -17,119 +14,109 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/ZacharyZhang-NY/AgentCompany/releases">Download</a> | <a href="https://agentcompany.pages.dev">Website</a> | <a href="#what-is-agentcompany">What it does</a> | <a href="#quick-start">Quick Start</a>
|
||||
<a href="https://github.com/ZacharyZhang-NY/AgentCompany/releases">Download</a> | <a href="https://agentcompany.pages.dev">Website</a>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Dashboard.jpeg" width="800" alt="AgentCompany Dashboard — active agents, tasks, and company metrics" />
|
||||
<img src="screenshots/Dashboard.jpeg" width="800" alt="AgentCompany dashboard" />
|
||||
</p>
|
||||
|
||||
## What is AgentCompany?
|
||||
## What it does
|
||||
|
||||
You type a company name, a mission, and a first goal. AgentCompany boots a CEO agent who hires specialists, forms departments, and runs the business — writing code, drafting plans, producing research, shipping deliverables. You watch, approve, and steer through a desktop command center.
|
||||
Type a company name and a goal. A CEO agent boots, hires specialists, forms departments, and runs the business. You approve or steer from the desktop.
|
||||
|
||||
Local-first. No external services. Your data stays on your machine.
|
||||
|
||||
Inspired by **[Paperclip](https://github.com/paperclipai/paperclip)**.
|
||||
Local, SQLite-backed, no external services. Inspired by [Paperclip](https://github.com/paperclipai/paperclip).
|
||||
|
||||
---
|
||||
|
||||
## What's in the box
|
||||
## 26 providers, no CLI
|
||||
|
||||
### 26 AI providers, one install
|
||||
The runtime links [pi-mono](https://github.com/mariozechner/pi) directly. No `claude` / `codex` / `gemini` binaries on your PATH.
|
||||
|
||||
No CLIs to install on your PATH. No `claude` / `codex` / `gemini` binaries. The agent runtime is linked directly via [pi-mono](https://github.com/mariozechner/pi).
|
||||
**OAuth (5):** Claude Pro/Max · ChatGPT Plus/Pro (Codex) · GitHub Copilot · Gemini CLI · Antigravity
|
||||
|
||||
**5 OAuth subscriptions** — sign in with the accounts you already pay for:
|
||||
Claude Pro / Max · ChatGPT Plus / Pro (Codex) · GitHub Copilot · Google Gemini CLI · Google Antigravity
|
||||
**API key (18):** Anthropic · OpenAI · Google · Mistral · Groq · Cerebras · xAI · OpenRouter · Vercel AI Gateway · ZAI · OpenCode · OpenCode Go · Hugging Face · Kimi · MiniMax · MiniMax CN · Fireworks · Fireworks Firepass
|
||||
|
||||
**18 API-key providers:**
|
||||
Anthropic · OpenAI · Google Gemini · Mistral · Groq · Cerebras · xAI · OpenRouter · Vercel AI Gateway · ZAI · OpenCode · OpenCode Go · Hugging Face · Kimi For Coding · MiniMax · MiniMax CN · Fireworks · Fireworks Firepass
|
||||
**Cloud (3):** Azure OpenAI · AWS Bedrock · Google Vertex AI
|
||||
|
||||
**3 Cloud providers:**
|
||||
Azure OpenAI (Responses API) · AWS Bedrock · Google Vertex AI
|
||||
Credentials are SecretVault-encrypted in SQLite.
|
||||
|
||||
Credentials are stored encrypted at rest in a SecretVault-backed SQLite table. No plaintext, no `~/.pi/agent/auth.json`, no scattered env files.
|
||||
---
|
||||
|
||||
### Two execution modes, per company
|
||||
## Two execution modes
|
||||
|
||||
- **AI CEO** — fully autonomous. Hiring, task assignment, and deliverable publishing run without you.
|
||||
- **AI Co-Founder** — human-reviewed. Hiring and deliverables pause for your decision at `hire_agent` / `document_review` / `plan_review` / `strategy_review` approval gates.
|
||||
- **AI CEO** — autonomous. Hiring, tasks, deliverables run without you.
|
||||
- **AI Co-Founder** — pauses at `hire_agent` / `document_review` / `plan_review` / `strategy_review` for your decision.
|
||||
|
||||
Switch any time in Settings → Execution mode.
|
||||
Switch at Settings → Execution mode.
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
### Self-organizing teams
|
||||
Your AI CEO draws the org chart — recruiting specialists, creating departments, and establishing reporting lines from a single goal.
|
||||
CEO builds the org chart from one goal.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Auto-OrgChart-Team.jpeg" width="700" alt="Auto-generated org chart with CEO and department heads" />
|
||||
<img src="screenshots/Auto-OrgChart-Team.jpeg" width="700" alt="Org chart" />
|
||||
</p>
|
||||
|
||||
### Real agent-to-agent messaging
|
||||
Agents coordinate through channel and direct threads — not scripted status updates. Inter-agent messages feed into each recipient's conversation transcript as first-class turns, so context travels with the work instead of being re-rendered from scratch every run.
|
||||
### Agent messaging
|
||||
Threads and DMs between agents. Messages land in each recipient's transcript as pi `AgentMessage` turns.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/AI-Internal-Realtime-Message.jpeg" width="700" alt="Real-time messaging between AI agents" />
|
||||
<img src="screenshots/AI-Internal-Realtime-Message.jpeg" width="700" alt="Agent messaging" />
|
||||
</p>
|
||||
|
||||
### Autonomous task management
|
||||
Goals break into tasks. Agents pick them up, report progress, and escalate blockers on their own.
|
||||
### Tasks
|
||||
Goals break into tasks. Agents pick them up, report progress, escalate blockers.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Auto-Task.jpeg" width="700" alt="Autonomous task queue with goals and status tracking" />
|
||||
<img src="screenshots/Auto-Task.jpeg" width="700" alt="Task queue" />
|
||||
</p>
|
||||
|
||||
### Human-in-the-loop approvals
|
||||
Material decisions surface to the board: hiring, document delivery, plan and scope reviews, strategy reviews, budget overrides, production deploys. Approve, reject, or ask for a revision — the company respects the chain of command.
|
||||
### Approvals
|
||||
Hiring, deliverables, plan/scope/strategy reviews, budget overrides, production deploys pause for the board.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Approval-by-Human.jpeg" width="700" alt="Human approval workflow for agent decisions" />
|
||||
<img src="screenshots/Approval-by-Human.jpeg" width="700" alt="Approvals" />
|
||||
</p>
|
||||
|
||||
### AI document generation
|
||||
Agents draft business plans, marketing strategies, and technical specs — kept in a shared document center linked to the tasks that produced them.
|
||||
### Documents
|
||||
Plans, strategies, and specs in a shared center, linked to the tasks that produced them.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Document-Center.jpeg" width="700" alt="Document center with AI-generated deliverables" />
|
||||
<img src="screenshots/Document-Center.jpeg" width="700" alt="Document center" />
|
||||
</p>
|
||||
|
||||
### One-minute company creation
|
||||
Name it, write the mission, pick a provider, choose the mode, launch. Agents are at work before your coffee.
|
||||
### Launch in a minute
|
||||
Name, mission, goal, provider, mode.
|
||||
|
||||
<p align="center">
|
||||
<img src="screenshots/Onboarding.jpeg" width="700" alt="Company creation onboarding flow" />
|
||||
<img src="screenshots/Onboarding.jpeg" width="700" alt="Onboarding" />
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Download
|
||||
|
||||
**[Download AgentCompany](https://github.com/ZacharyZhang-NY/AgentCompany/releases)**
|
||||
|
||||
macOS (Apple Silicon & Intel), Windows, Linux.
|
||||
[Download the latest release](https://github.com/ZacharyZhang-NY/AgentCompany/releases) — macOS (Apple Silicon & Intel), Windows, Linux.
|
||||
|
||||
### Build from source
|
||||
|
||||
```sh
|
||||
# Prerequisites: Node.js 22+, pnpm 10+
|
||||
# Node.js 22+, pnpm 10+
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
### First run
|
||||
|
||||
1. **Launch.** Onboarding probes your shell PATH for `node` — agents invoke the local HTTP API through `node -e`, so a shell Node is required. Platform-specific install commands are shown if it's missing.
|
||||
2. **Configure a provider.** Settings → Providers. OAuth providers open your default browser; API-key providers take a key; Azure/Bedrock/Vertex take their respective endpoint + credential config.
|
||||
3. **Create a company.** Name, mission, first goal, execution mode, workspace path.
|
||||
4. **Go.** The CEO starts within seconds.
|
||||
1. Onboarding probes your shell PATH for `node` (agents call the local HTTP API via `node -e`).
|
||||
2. Settings → Providers. Sign in or drop a key.
|
||||
3. Create a company: name, mission, goal, mode, workspace.
|
||||
|
||||
---
|
||||
|
||||
@@ -147,17 +134,13 @@ pnpm build:verify
|
||||
## Packaging
|
||||
|
||||
```sh
|
||||
pnpm build # Compile + package for current platform → /build/release
|
||||
pnpm build:dir # Compile + unpackaged directory
|
||||
pnpm build:current # Build for current host platform
|
||||
pnpm release:local # Signed / upload release pipeline (see docs/release/local-r2.md)
|
||||
pnpm build # Package for current platform → /build/release
|
||||
pnpm build:dir # Unpackaged directory
|
||||
pnpm build:current # Current host platform
|
||||
pnpm release:local # Signed release pipeline — see docs/release/local-r2.md
|
||||
```
|
||||
|
||||
- **Targets:** macOS (`.dmg`), Windows (`.exe` / NSIS), Linux (`.AppImage`)
|
||||
- Packaging via `electron-builder`
|
||||
- Local builds use ad-hoc signing (`CSC_IDENTITY_AUTO_DISCOVERY=false`)
|
||||
- Defaults to `--publish never`; override with `AGENTCOMPANY_ELECTRON_PUBLISH`
|
||||
- Cloudflare R2 release hosting + auto-update: `docs/release/local-r2.md`
|
||||
Targets: macOS `.dmg`, Windows `.exe` (NSIS), Linux `.AppImage`. Built with `electron-builder`. Local builds use ad-hoc signing (`CSC_IDENTITY_AUTO_DISCOVERY=false`). Defaults to `--publish never`.
|
||||
|
||||
---
|
||||
|
||||
@@ -165,40 +148,37 @@ pnpm release:local # Signed / upload release pipeline (see docs/release/local-r2
|
||||
|
||||
```
|
||||
src/
|
||||
main/ # Electron main process
|
||||
agent-runtime/ # RuntimeBridge, SqliteSessionStore, CostWriter
|
||||
credentials/ # CredentialStore, CredentialResolver, OAuthLoginService
|
||||
api-server/ # Agent-facing HTTP API (tasks, messages, approvals, ...)
|
||||
orchestration/ # Scheduler, run dispatch, turn context
|
||||
prompt-builder/ # System prompt assembly + API docs injection
|
||||
thread-integration/ # Thread runtime event routing
|
||||
worker/ # utilityProcess worker — direct `new Agent(...)` via pi-mono
|
||||
database/ # SQLite schema + migrations
|
||||
preload/ # Context-isolated bridge — typed DesktopApi via contextBridge
|
||||
renderer/ # React 19 UI — components, hooks, i18n, state
|
||||
shared/ # Contracts, types, Zod schemas shared across processes
|
||||
main/
|
||||
agent-runtime/ RuntimeBridge, SqliteSessionStore, CostWriter
|
||||
credentials/ CredentialStore, Resolver, OAuthLoginService
|
||||
api-server/ Agent HTTP API
|
||||
orchestration/ Scheduler, run dispatch
|
||||
prompt-builder/ System prompt assembly
|
||||
thread-integration/ Thread runtime event routing
|
||||
worker/ utilityProcess worker — direct new Agent(...)
|
||||
database/ SQLite schema + migrations
|
||||
preload/ Typed DesktopApi via contextBridge
|
||||
renderer/ React 19 UI
|
||||
shared/ Zod schemas shared across processes
|
||||
```
|
||||
|
||||
### Key design decisions
|
||||
|
||||
- **Local-first.** SQLite on your machine. SecretVault-encrypted credentials. No external services required for core operation.
|
||||
- **Process isolation.** `contextIsolation: true`, `nodeIntegration: false`, Zod-validated IPC. Renderer never imports `@mariozechner/pi-*`; all agent traffic is proxied through main → utilityProcess worker.
|
||||
- **Runtime direct.** `@mariozechner/pi-agent-core` is a first-class dependency. The worker calls `new Agent({...})` directly — no adapter shim, no CLI shell-out.
|
||||
- **Session as transcript.** Each agent's conversation persists as `session_entries` rows of pi `AgentMessage[]`. Long sessions auto-compact via `shouldCompact` + `compact` from pi-coding-agent; state survives app restarts.
|
||||
- **Thread runtime.** `conversation_threads` + `conversation_events` + `thread_wait_states` sit above pi's `AgentMessage` stream so the inbox / approval / review UX is a first-class runtime concern, not UI-only veneer.
|
||||
- SQLite local; no external services.
|
||||
- `contextIsolation: true`, `nodeIntegration: false`, Zod-validated IPC.
|
||||
- Worker constructs `new Agent({...})` from `@mariozechner/pi-agent-core` directly.
|
||||
- Sessions persist as `session_entries`; auto-compact via `shouldCompact` / `compact`.
|
||||
- Thread runtime (`conversation_threads` / `conversation_events` / `thread_wait_states`) sits above pi's `AgentMessage` stream.
|
||||
|
||||
---
|
||||
|
||||
## Tech Stack
|
||||
|
||||
| Layer | Technology |
|
||||
|-------|-----------|
|
||||
| Layer | Tech |
|
||||
|-------|------|
|
||||
| Framework | Electron 39.8.0 |
|
||||
| Runtime | Node.js 22+ (bundled in Electron; shell `node` required for agent HTTP callbacks) |
|
||||
| Language | TypeScript 5.9 (strict) |
|
||||
| Language | TypeScript 5.9 |
|
||||
| UI | React 19, Tailwind CSS 4, Framer Motion, Zustand |
|
||||
| Build | electron-vite, Vite 7, electron-builder |
|
||||
| Database | SQLite via `node:sqlite` (WAL mode) |
|
||||
| Database | SQLite via `node:sqlite` (WAL) |
|
||||
| Validation | Zod 4 |
|
||||
| Agent runtime | `@mariozechner/pi-ai`, `@mariozechner/pi-agent-core`, `@mariozechner/pi-coding-agent` |
|
||||
| Testing | Vitest, Playwright |
|
||||
@@ -208,9 +188,3 @@ src/
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<sub>Built with quiet authority. Ship your AI company.</sub>
|
||||
</p>
|
||||
Reference in new issue
Block a user