Roles shaped to your project
Customize each role’s prompt, model, tools, skills, and MCP.
Fynvra is a multi-agent AI coding workbench: parallel tasks, per-task worker models, reviewed merges.
On it. These two are independent: the homepage is presentation-only, and the docs page has its own reading shell. I'll open a worktree for each and dispatch them in parallel.
fynvra/home-demo fynvra/docs-nav Both workers are editing their own branch and directory, so they can't collide. The homepage task reports first.
+86 −54 git diff --check · node --check fynvra/home-demo → main +128 −39 fynvra/docs-nav → main Both tasks passed checks and merged. main has two --no-ff commits, and both diffs stay reviewable file by file.
On it. The implementation goes to a DeepSeek worker, the review to a GPT worker. The review starts once the implementation reports back with a diff.
fynvra/sidebar-collapse fynvra/sidebar-review DeepSeek is editing Sidebar.tsx. The GPT review is queued and starts only after the implementation reports a diff, so it isn't running empty.
+62 −18 Implementation reported back: Sidebar.tsx, sidebar.css, and the snapshot check passed. The diff is with GPT and the review has started.
0 blockers GPT reported back: 0 blockers, the diff is ready to merge.
fynvra/sidebar-collapse → main Accepted and merged to main. The DeepSeek implementation and GPT review both stay in the commit history.
On it — this turn is rebuilding the demo. You can submit more requests now; they queue and start in order after this turn.
Queued item 1 of 2 done: the mobile layout is in.
Queued item 2 of 2 done: the usage guide is in. The queue is clear.
Added a collapse button: it folds to an icon rail on desktop and hides on narrow screens, with the state saved to settings. Only the settings page changed.
Issues
Settings.tsx reads the collapse state without a fallback; older configs get undefined.settings.css hard-codes a 56px icon rail, which overlaps content when expanded on narrow screens.Suggestions
aria-expanded after toggling.Read-only review done. No files were modified.
Choose a role
Model providers
Import from
01Capabilities
Customize each role’s prompt, model, tools, skills, and MCP.
Pick your model and go; import the providers and MCP servers you already set up elsewhere.
Each task works in its own branch and folder, so nothing collides and your main checkout stays untouched until review passes.
Keep talking after dispatch; worker questions and reports come back to the inbox.
Files, terminals, and per-file diffs sit beside the chat, always within reach.
Tokens, cost, cache hit rate, and first-pass acceptance, counted from local records.
02Guardrails
Permissions follow your role settings — no prompt can talk its way around them.
| Action | Supervised | Auto-accept edits | Full access |
|---|---|---|---|
| Commands | Ask | Ask | Auto |
| File writes | Ask | Auto | Auto |
| MCP tools | Ask | Ask | Auto |
| Protected rm -rf · git push · git reset --hard · publish | Always ask | Always ask | Always ask |
Runtime guardrails
API keys live in local config files — not an encrypted vault — so don't share your app data folder.
Approval requests left unanswered for 10 minutes, or cut off by an aborted turn, are denied.
Built-in file tools read and write only within attached workspaces.
There is no relay server; prompts go only to the endpoints you configure.
03Get started
Grab an installer and go. To run from source you'll need Node.js 22.19+, pnpm 10.26.2, and Git.
git clone https://github.com/LAIJiangFeng/fynvra.git
cd fynvra
pnpm install --frozen-lockfile
pnpm dev