The previous SettingsPane.tsx hid 8 unrelated concerns behind 73 "lines"
of JSX where each line ran 400-2000 chars. Reading the file was
infeasible; editing it meant scrolling horizontally through a single
statement spanning every button, modal, and table row.
Split by concern into `settings-sections/`:
SettingsPane.tsx 62 LOC orchestrator
GeneralSection.tsx 94 LOC theme / language / auto-update
ExecutionModeSection.tsx 105 LOC AI CEO ↔ AI Co-Founder toggle
ShortcutsSection.tsx 40 LOC keyboard reference (read-only)
DataSection.tsx 123 LOC update check / backup / restore /
secret backend
SecretsSection.tsx 102 LOC per-company secret bindings
Every file now reads top-to-bottom with normal indentation.
Behavioral changes bundled (they belong with the restructure, not a
separate pass):
- Preferences save model unified: theme already auto-saved on change;
language and auto-update checkbox now do the same. The global
"Save settings" button is gone — there is no longer a state where
a toggled language sits unpersisted waiting for a second click.
- Execution mode card gained a subheader line that names the current
company ("Applies to current company: X"). Multi-company users can
no longer confuse which company they just flipped.
- Auto-updater checkbox gained an inline hint: "Check for application
updates at launch" — the previous naked checkbox never explained
what happens when it is off.
- Restore profile moved into DataSection's backup/restore group,
given `tone="danger"`, and gated behind a `window.confirm` with
copy warning about running work being lost. Backup stays neutral.
The previous layout put Restore in the same 2-col grid as Save +
Check Updates + Backup, making a profile-replacing operation look
as routine as saving a theme preference.
- Secret backend display promoted from a naked text line to a
bordered card so it matches the surrounding section rhythm.
Added i18n keys (zh + en):
settings.updaterHint / settings.modeScope / settings.backupRestore /
settings.restoreConfirm / settings.restoreHint.
Covers J-S1 / J-S6 / S-S1 / S-S2 / S-S3 / S-S4 from the settings audit.
Remaining work (tab sidebar, Providers IA reordering, copy sweep)
lands in follow-up commits.
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.






