Så fungerar det

Plattformen

Ett program, en datamodell, tre vägar in. Den här sidan förklarar hur delarna hänger ihop.

En instans per företag ​

Varje företag körs i sin egen instans med egen databas, egna användare och egen adress. På den hostade tjänsten skapar ett kontrollplan instansen åt dig efter registreringen och ger dig dess adress; den som registrerade sig blir instansens första administratör. Du kan också köra samma program själv. Se Instanser.

Lagringen är SQLite för att prova och PostgreSQL för skarp användning. Poster lagras tills vidare som JSON-dokument; kommandolagret kontrollerar fälttyperna, och en schemahanterare är planerad.

Moduler är appar ​

En app är en modul: en beskrivning av modeller, fält, behörighetsgrupper och arbetsflödesåtgärder. Fem moduler är inbyggda (Contacts, Products, CRM, Sales, Invoicing). Tjugotvå till medföljer som paket. Du lägger till appar från marknadsplatsen med ett klick, eller laddar upp din egen fil.

Eftersom alla moduler går genom ett gemensamt register är en kontakt samma kontakt i CRM, Sales och Invoicing, och varje modul får samma API, skärmbilder, behörigheter och integritetsregler. Se Appar och moduler och listan över appar.

Marknadsplats ​

Marknadsplatsen är en statisk värd som serverar index.json och en obop.toml per paket. Den medföljande katalogen levereras inuti programmet; du kan också peka en instans mot din egen värd. Varje nedladdning valideras på samma sätt som en uppladdning. Se Marknadsplats.

Behörigheter ​

Behörighetsgrupper som crm.user eller invoicing.manager anges av modeller, fält och åtgärder. Personer har grupper; agenttoken har en delmängd av ägarens grupper. Se Behörighetsgrupper.

Dataklasser och maskering ​

Varje fält deklarerar en dataklass (ingen, offentlig katalog, intern, konfidentiell personal, särskild kategori, finansiell, hemlig) och om det är en personuppgift. Människor ser värden enligt sina behörigheter. Agenter ser personuppgifter som stabila platshållare och känsliga klasser inte alls, och kan skicka tillbaka platshållare för att hänvisa till ett värde utan att se det. Se Dataklasser och maskering.

Arbetsflöden och godkännanden ​

Tillståndsändringar är namngivna åtgärder. En åtgärd kan kräva en strängare grupp och kan kräva godkännande. En agent kan bara föreslå en åtgärd som kräver godkännande: servern returnerar en plan och ändrar ingenting förrän en person godkänner den. Att ta bort poster är också något agenter bara föreslår. Se Arbetsflöden och godkännanden.

Tre gränssnitt, en uppsättning kommandon ​

GränssnittFörHur
WebbappMänniskorGenereras från modulbeskrivningarna: listor, tavlor, formulär.
RESTSkript, tjänster, agenterPOST /api/{model}/{command} med en bärartoken. REST-referens
MCPAI-assistenterobop mcp över stdio, ett verktyg per kommando. Anslut via MCP
CLISkal och cronobop call model command key=value. CLI-referens

Alla anropar samma dispatcher, så behörighetskontroller, maskering och godkännanden är identiska.

Vad det inte är (ännu) ​

Tänk på det här innan du binder dig: det finns inga kodnivåer, så moduler kan inte beräkna fält eller köra sidoeffekter; det finns inga behörigheter på radnivå; det finns ingen granskningslogg, inget verktyg för dataexport och inga säkerhetskopior för den hostade tjänsten. Färdplanen listar vad som är byggt och vad som inte är det.