Previously the agent Edit modal was a 351-LOC wall of 17 stacked form
fields with no visual grouping, mixed header styles between the
skills heading and the field labels, a Save button that was always
enabled, no Cancel affordance, and a Thinking Effort field that
silently disappeared when the selected connector did not support it.
This commit restructures the edit surface into five named sections
— Identity, Runtime, Budget & scope, Behavior, Skills — each with a
consistent SectionHeader (11px uppercase muted, border-top divider).
Every section lives in its own ≤150-LOC file under
agent-form-fields/edit-sections/ so nothing stays god-sized:
EditFormBody.tsx 199 LOC (orchestrator: isDirty, handlers)
IdentitySection.tsx 74 LOC
RuntimeSection.tsx 114 LOC
ConstraintsSection.tsx 58 LOC
SkillsSection.tsx 36 LOC
EditActionBar.tsx 87 LOC
SectionHeader.tsx 18 LOC
Behavioral changes:
- Save is disabled until the form is dirty (trimmed-string + numeric
budget comparison against the persisted agent record). The board
sees whether changes are captured without clicking Save to find out.
- Cancel button added, wired through AgentForm → AgentEditor →
OrganizationSections, which clears selectedAgentId (same as the
modal's close X — a proper bottom action avoids users reaching for
the corner).
- Thinking Effort is always shown. When the connector provider does
not accept the hint the Select is disabled with an inline note,
so the option is discoverable instead of silently hidden.
- Budget shows a live BudgetBar + "Spent $X of $Y" line when the
budget or spend is non-zero. The raw number input on its own left
burn state invisible.
- Capabilities placeholder replaced with a concrete example
("writes React components, reviews PRs, ...") — the previous
"What this agent does" was a circular prompt.
- OrgChart role bar went from three tiers (CEO 4px primary /
manager 3px warning / IC 2px muted 30%) to binary (root 4px
primary / everyone else 2px border). Orange-warning for managers
read as an alert, not a rank; managerial position is already
encoded in the tree's topology.
Also added i18n keys (zh + en):
agent.form.sectionIdentity / sectionRuntime / sectionConstraints /
sectionBehavior / effortNotSupported / budgetBurn; updated
capabilitiesPlaceholder copy.
Covers J2 / J7 / J8 / S5 / S6 / S7 / S8.
AgentCompany
Launch autonomous AI companies from your desktop.
Set a goal. Watch AI agents self-organize, delegate, and deliver.
PLEASE USE A CODING PLAN, IT COMSUMES A LOT OF TOKENS
I will add support for Ollama and Github Copilot in the near future.
Download | Website | Features | Quick Start
What is AgentCompany?
AgentCompany is a cross-platform desktop app that turns a single goal into a coordinated AI team. You provide a company name, description, and mission. A CEO agent self-organizes departments, delegates tasks, and produces deliverables — code, content, research, business plans, and more — while you observe and approve through a chat-based command hub. Inspired by Paperclip
Supported AI Runtimes
| Runtime | Status |
|---|---|
| Claude Code | Ready |
| Codex CLI | Ready |
| Gemini CLI | Ready |
Features
Self-Organizing Teams
Your AI CEO builds the org chart — recruiting specialists, creating departments, and establishing reporting lines from a single goal.
Real-Time Agent Communication
Agents coordinate through channel and direct-message threads. Watch decisions unfold in real time.
Autonomous Task Management
Goals break down into tasks automatically. Agents pick up work, report progress, and escalate blockers without intervention.
Human-in-the-Loop Approvals
Critical decisions surface for your review. Approve, reject, or redirect — your company respects the chain of command.
AI Document Generation
Agents draft business plans, marketing strategies, and technical specs — stored in a shared document center.
One-Click Company Creation
Name it, describe the mission, connect a runtime, and launch. Agents start working in under a minute.
Quick Start
Download
Grab the latest release for your platform:
Available for macOS (Apple Silicon & Intel), Windows, and Linux.
Build from Source
# Prerequisites: Node.js 22+, pnpm 10+
pnpm install
pnpm dev
Verification
pnpm typecheck
pnpm lint
pnpm test:unit
pnpm test:integration
pnpm test:e2e
pnpm build:verify
Packaging
pnpm build # Compile + package for current platform → /build/release
pnpm build:dir # Compile + unpackaged directory
pnpm build:current # Build for current host platform (see note below for other OS)
pnpm release:local # Signed/uploading release pipeline (see docs/release/local-r2.md)
- Targets: macOS (
.dmg), Windows (.exe/ NSIS), Linux (.AppImage) - Packaging uses
electron-builder - Local builds use ad-hoc signing (
CSC_IDENTITY_AUTO_DISCOVERY=false) - Defaults to
--publish never; override withAGENTCOMPANY_ELECTRON_PUBLISH - Cloudflare R2 release hosting + auto-update pipeline:
docs/release/local-r2.md
Architecture
src/
main/ # Electron main process — database, services, IPC, orchestration
preload/ # Context-isolated bridge — DesktopApi via contextBridge
renderer/ # React 19 UI — components, hooks, i18n
shared/ # Contracts, types, Zod schemas shared across processes
packages/
adapter-utils/ # Shared adapter utilities
adapter-claude-local/
adapter-codex-local/
adapter-gemini-local/
Key Design Decisions
- Local-first: SQLite database, secrets in OS keychain, no external services required
- Security:
contextIsolation: true,nodeIntegration: false, Zod-validated IPC, JWT agent tokens - Agent coordination: Agents delegate tasks, escalate blockers, and produce deliverables through the orchestration runtime
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Electron 39.8.0 |
| Runtime | Node.js 22+ |
| Language | TypeScript 5.9 (strict) |
| UI | React 19, Tailwind CSS 4, Framer Motion |
| Build | electron-vite, Vite 7, electron-builder |
| Database | SQLite (WAL mode, schema in src/main/database/) |
| Validation | Zod 4 |
| Testing | Vitest, Playwright |
License
Built with quiet authority. Ship your AI company.






