Routkarta
Appskalet
Avsnitt med rubriken “Appskalet”Appskalet (ControlCenterLayout) omsluter varje rutt i arbetsytan via en ShellRoute. Varje destination innanför skalet har arbetsyteprefix — /workspaces/:workspaceId/… — och arbetsytans id i URL:en är den enda källan till sanning för den aktiva arbetsytan. Bara ytorna före kontexten saknar prefix: /splash, /onboarding, /signed-out och den prefixlösa /workspaces-väljaren, alla i fullskärm och utanför skalet.
Grinden är uppfylld när minst en kodvärd är ansluten för den inloggade användaren och minst en arbetsyta finns.
En saknad inloggningsuppgift och en saknad konfiguration är olika skärmar, och det som skiljer dem är users.onboarding_finished_at, hämtat från anroparens egen identity.me — aldrig ”det finns arbetsytor”, vilket är fel i samma stund någon bjuds in till en arbetsyta de aldrig själva skapade. Om ingen kodvärd är ansluten går ett konto som har slutfört introduktionen till /signed-out för att autentisera sig på nytt; ett konto som inte har gjort det går till /onboarding. Så länge flaggan är okänd håller vakten kvar startskärmen i stället för att gissa, eftersom den aldrig omdirigerar tillbaka ut ur introduktionen.
Rutter utan prefix
Avsnitt med rubriken “Rutter utan prefix”| Sökväg | Skärm |
|---|---|
/splash |
Startskärmen vid uppstart som löser upp introduktionsgrinden |
/onboarding |
Anslut en kodvärd, skapa eller gå med i en arbetsyta, sandlåda, standardadapter och till sist röst. Arbetsytesteget hoppas över när kontot redan tillhör en arbetsyta |
/signed-out |
Autentisera på nytt: samma kort för kodvärdsanslutningar som Inställningar visar, utan stegindikator och utan fortsättningsknapp — routern lämnar av sig själv så snart en kodvärd svarar |
/workspaces |
Arbetsytelista och väljare |
/workspaces/:workspaceId |
Omdirigerar till /workspaces/:workspaceId/inbox |
Rutter i arbetsytan
Avsnitt med rubriken “Rutter i arbetsytan”Sökvägarna nedan utelämnar prefixet /workspaces/:workspaceId.
| Sökväg | Query-parametrar | Skärm |
|---|---|---|
/inbox |
— | Enhetlig inkorg: PR:er klassificerade efter granskningslivscykeln plus arbete utanför PR:er som blockerar operatören. Landningsrutten efter vakten; en /workspaces/:workspaceId utan underliggande sökväg omdirigerar hit |
/spaces |
— | Ytan, ingen yta vald |
/spaces/:spaceId |
?m=<messageId>, ?tab=<key> |
En yta; m djuplänkar till ett meddelande och förbrukas när det öppnas |
/tickets |
— | Ärendetavla |
/tickets/:ticketId |
— | Ärende i huvud-detaljvy |
/projects/:projectId |
— | Projektöversikt |
/pull-requests |
?repo=<owner/name> |
PR-lista; repo väljer det repot i vänsterpanelen |
/pull-requests/compose |
?space=<spaceId> |
Skapa en ny pull request; space anger den yta vars isolerade worktree levererar grenen |
/pull-requests/:owner/:repo/:prNumber |
?tab=<key>, ?comment=<id> |
PR-detalj med diffvisare; comment är det numeriska REST-id:t för en kommentar |
/pipelines |
— | Lista över pipelinekörningar |
/pipelines/run |
?templateId=<id> |
Startare för manuell körning |
/pipelines/:runId |
— | Pipelinedetaljer för en körning (stegtidslinje) |
/plans |
— | Navet för Plan Studio: aktiva planer, plandokument, playbooks |
/plans/:kind/:id |
— | Plan Studio för en enskild plan; kind är orchestration eller document |
/meetings |
— | Lista över möten |
/meetings/record |
— | Skärmen för liveinspelning av möten |
/meetings/:meetingId |
— | Mötesdetalj: anteckningar, utskrift, åtgärdspunkter, beslut |
/calendar |
— | Kalender: månads-, vecko- och agendavy |
/calendar/:eventId |
— | Kalenderhändelse i detalj (syskonrutt; delar kalendersidans nyckel) |
/newsfeed |
— | Lista över nyhetsflödet |
/newsfeed/article/:articleId |
— | Artikelläsare |
/observability |
— | Navet för Observability: flikarna Användning, Insikter, Live och Kvalitet över arbetsytans körningsloggflöde. Standard är fliken Användning |
/users/:login |
— | GitHub-användarprofil |
/teams/:organization/:slug |
— | Teamprofil för en GitHub-organisation |
/api-keys |
— | Hantering av API-nycklar. Ingen navigationspost i gränssnittet — nås bara via URL |
/settings/… |
— | Inställningsskärmar (nedan) |
Samtal och trådar har ingen egen rutt — en tråd är ett samtal inuti /spaces/:spaceId, som öppnas som en redigerarflik i stället för att adresseras via URL.
Det finns ingen /dashboard-rutt och ingen instrumentpanelsvy. Analysytan är /observability, som nås från sidofältets fot.
Det finns ingen sidofältspost med namnet ”Planer”. Plan Studio öppnas som en redigerarflik från planens rad i samtalet som skapade den; /plans och /plans/:kind/:id är djuplänkar.
/observability och /pull-requests/compose finns inte med i registren för ruttnamn eller brödsmulor, så båda visar bara appnamnet i fönsterrubriken och ingen brödsmulsnavigering.
Inställningsrutter
Avsnitt med rubriken “Inställningsrutter”/settings omdirigerar till /settings/you/appearance. Sidofältets inställningsknapp och Cmd/Ctrl + , går båda till /settings/you/appearance.
Inställningssökvägarna är namnrymdsindelade efter omfång — you/, workspace/, server/ — eftersom segmentet talar om vem en ändring gäller. Två sökvägar är äldre än namnrymderna och saknar omfång i URL:en: /settings/memory och /settings/pipelines.
| Sökväg | Skärm |
|---|---|
/settings/you/appearance |
Tema, språk, typografi, redigerartema (inställningarnas landningssida) |
/settings/you/notifications |
Reglage per händelse, tysta timmar |
/settings/you/keybindings |
Referens över tangentbordsgenvägar (skrivskyddad) |
/settings/you/audio |
Mikrofon, diktering, mötesupptäckt och ljudlandskapsutgång |
/settings/you/devices |
Parkopplade telefoner och fjärrstyrning |
/settings/you/newsfeed |
Flödeshantering: källor, uppdatering, lässtatus |
Arbetsyta
Avsnitt med rubriken “Arbetsyta”| Sökväg | Skärm |
|---|---|
/settings/workspace/profile |
Profil och identitet i den här arbetsytan: namn, git-författare, kodvärd, kalender |
/settings/workspace/general |
Namn, logotyp, globmönster för hemligheter, granskningsutspridning, grennamngivning, synkhälsa, chattbryggor, farozon |
/settings/workspace/meetings |
Mallar för mötesanteckningar och sparade röstprofiler |
/settings/workspace/members |
Medlemslista, inbjudningar, granskningskedja. Granskningskedjan pagineras med valfri ?cursor= |
/settings/workspace/repositories |
Arkiv registrerade i den här arbetsytan |
/settings/workspace/agents |
Registrerade agentidentiteter |
/settings/workspace/skills |
Konfiguration av skills |
/settings/memory |
Arbetsytans minne: fakta, policyer, kunskapsgraf |
/settings/workspace/permissions |
Agentbehörigheter: räcksmatris och Tänk om-probe |
/settings/pipelines |
Pipelinemallar |
/settings/pipelines/:templateId |
Redigerare för pipelinemallar (dra-och-släpp-duk) |
| Sökväg | Skärm |
|---|---|
/settings/server/connection |
Anslutning och status |
/settings/server/sso |
Enkel inloggning (SAML, OIDC, SCIM-provisionering) |
/settings/server/providers |
Modellleverantörer och adaptrar |
/settings/server/mcp |
Inbyggda och externa MCP-servrar |
/settings/server/voice |
Röst- och mötesmodeller (ASR, diarisering) |
/settings/server/rigs |
Stationer: vad den här värden kan starta, basavbildningar, egna avbildningar, maskiner som körs |
/settings/server/sandbox |
Exekveringsbeviljanden i sandlådan: program agenter får köra från sin arbetskopia av dina arkiv |
/settings/server/diagnostics |
Diagnostik och integritet: sandlådeisolering, inbäddning, loggning, kraschrapportering |
/settings/server/backup |
Säkerhetskopiering och återställning: installationsögonblicksbilder, export per arbetsyta, import och borttagning |
/settings/server/about |
Om och uppdateringar |
kSettingsNav i lib/features/settings/settings_nav.dart är den enda källan till sanning för den här listan. settings_nav_test.dart låser unika id:n, unika rutter, den tillplattade J/K-ordningen och de tre omfången. Den går inte igenom varje registrerad GoRoute.
Ruttkonfiguration
Avsnitt med rubriken “Ruttkonfiguration”| Område | Fil |
|---|---|
| Routern | lib/router/app_router.dart |
| Ruttbyggare | lib/router/routes.dart |
| Autentiseringsvakter | lib/router/guards.dart |
| Introduktionsgrind | lib/features/auth/providers/onboarding_providers.dart |
| Inställningsnavigering | lib/features/settings/settings_nav.dart |