AI Employees
An AI Employee is a persistent persona attached to a company. They have a name, a role, a model, a sandboxed working directory, and three editable pieces of prose that define who they are and how they work.
Anatomy
Every AI Employee row carries the fields you can configure from the UI plus a few the runner needs at spawn time:
- name + slug
- Display name (you can rename) and slug (frozen at create-time so URLs and directory paths stay stable).
- role
- A short role string — Brand writer, Bookkeeper, On-call SRE.
- soulBody
- Markdown stored on the row. The employee's constitution — see Soul.
- skills[]
- One-to-many
Skillrows. See Skills. - routines[]
- One-to-many
Routinerows, managed from the top-level AI → Routines section. See Routines. - model
- One or more
AIModelbrains, one active at a time. See AI Models. - reportsTo
- Optional pointer to another employee for an org chart. Used for handoffs.
- browserEnabled
- Flips on the built-in
browserMCP server that drives a headless Chromium. Off by default. See Browser. - browserAllowedHosts
- Newline-separated host patterns limiting where the browser may navigate —
github.comcovers the domain and its subdomains. Blank means unrestricted. - browserApprovalRequired
- When on, form submits queue an Approval a human must grant before the browser fires them. See Browser.
Lifecycle
- Create. Pick a template (a starter Soul + Skill set) or start blank. The slug freezes; you can rename freely afterward.
- Write the Soul. The app drops you into the Soul editor with a seeded constitution. Rewrite it to fit your team.
- Attach a model. Pick a provider and authentication method. Anthropic takes an API key; OpenAI takes an API key or, on self-hosted Genosyn, eligible ChatGPT subscription access; Custom takes an OpenAI-compatible endpoint.
- Add skills + routines. Skills describe what they know; Routines describe when they work.
- Fire. Deleting an employee removes their DB rows, including the encrypted credential row for every model they held. There's no shared key to revoke.
Working directory
Each employee gets their own folder on disk under the company:
data/companies/<co-slug>/employees/<emp-slug>/ └── ... # files the employee's coding tools read and write
The runner starts the selected agent runtime with this directory as cwd for the built-in coding tools (bash, read_file, write_file, edit_file, glob, grep), and captures the agent transcript into a Run log. API-key and custom models use Genosyn's in-process loop; OpenAI subscription models use the official Codex app-server. A Routine does not make its AI employee unavailable: Members can keep chatting with that employee and start independent Routines in parallel, up to the company workload limit. Concurrent work shares this directory, so give overlapping Runs distinct output files and avoid simultaneous edits to the same git working tree. Model credentials stay encrypted in the database. They never enter the employee working directory. For an OpenAI subscription login or Run, Genosyn gives the official app-server a locked temporary CODEX_HOME. Managed ChatGPT sessions are materialized there; access tokens enter only the child process environment. Genosyn removes the directory afterward. Subscription auth is unavailable while coding tools use host mode, because a concurrent AI Employee's same-user shell could inspect that sibling process. Use working Linux bubblewrap mode. In that mode every AI Model turn uses sandboxed bash for file work, and repository synchronization stays inside the same namespace; Genosyn omits its host-process file helpers install-wide so concurrent turns cannot race them across the boundary.
Org chart
Set reportsTo on an employee to give them a manager. Genosyn renders this as an org chart and surfaces it to the runner — useful when you want a Handoff from one employee to another to follow the reporting line.
Surfaces inside the app
- Chat. Free-form conversations with the employee. Messages persist; action pills surface tool calls inline. Type
/newto open a fresh context, or#and a name to tag any company resource you can see. Attach files with the paperclip, or paste a screenshot and drag files onto the composer. When the employee creates a file for you, it appears beneath their reply; select the attachment chip to download it. During substantial multi-step work, the employee can replace the typing dots with a live, labelled progress bar and update it at meaningful milestones. The fill keeps moving between milestone updates so you can distinguish active work from a stalled connection without inflating the reported percentage. As soon as the reply begins, the progress bar gives way to the response. Long turns can run for up to six hours. If the live connection drops, you reload the page, or the Genosyn server restarts, Genosyn follows the persisted turn automatically instead of marking it failed. After a server restart, a short renewable database lease lets one replacement worker resume the request safely from its saved context and latest milestone; it checks current state before continuing so completed side effects are not repeated. The final reply reappears in the same thread. You can keep writing while the employee works — follow-ups queue and send in order. Chat stays available while that employee's Routines run. - Workspace. File editor scoped to the employee's directory — read what they wrote, edit it, drop in fixtures.
- Soul. The employee's constitution, under Settings. Markdown, ⌘S to save.
- Skills / Routines. Not employee tabs anymore — they live in the top-level AI → Skills and AI → Routines sections. Each sidebar link opens that list filtered to this employee.
- Connections. The list of Grants this employee holds.
- Journal. Append-only diary the employee writes about their own work via the built-in MCP server.