Bazy danych Workspace
Przechowuj uporządkowane rekordy, egzekwuj reguły biznesowe i korzystaj z widoków na żywo w czacie. Udostępniaj bazy i ograniczaj dostęp agentów.
Także w Sluis Workspace: przegląd Workspace oraz Poczta i kalendarz.
Czym są bazy danych
Baza zawiera tabele, pola z typami i trwałe rekordy, na przykład sprawy, umowy lub zadania. Wymaga opisu zwykłym tekstem w jednym wierszu, od 1 do 280 znaków, określającego zawartość i użytkowników.
Otwórz Bazy danych na pasku bocznym pod /workspace/databases. Nowa baza jest prywatna. Nie ma własnych ekranów aplikacji, kreatora interfejsu, trybu Edytuj, pełnego ekranu ani wykonywalnych procedur widoku. Aplikacje Sluis Workspace na komputer i telefon są odrębne.
Tworzenie i zmiany
Poproś dowolny model czatu o bazę lub zmianę schematu. Przekaże prośbę do kreatora sluis/code, na który musi zezwalać polityka organizacji. Tylko ten kreator lub skonfigurowany Agent z grupą narzędzi databases pisze schematy i reguły. Zwykłe modele pracują na rekordach i proszą o zmianę schematu.
Źródło to wiersze JSON: nagłówek database, wiersze collection, opcjonalne funkcje script, wiersze trigger i przypięte view. Blok nazywa się sluis-database. Komponenty i procedury interfejsu nie są obsługiwane. Skill może zawierać szablon database.sluis w katalogu głównym archiwum.
Zainstaluj szablon Skilla przez POST /chat/skills/{skill_id}/install-database z sesją członka.
Wersje zachowują autora i datę. Zarządzanie pozwala publikować i przywracać schemat. Przywrócenie tworzy nową bieżącą wersję, nie usuwa historii i nie odtwarza dawnych danych rekordów.
Widoki na żywo i przypięte
Poproś o tabelę, tablicę, wykres, kalendarz, oś czasu, sumę, formularz lub pojedynczy rekord. Blok sluis-view opisuje widok bez kopiowania danych. Każdy czytelnik pobiera aktualne dane z własnymi uprawnieniami; wspólne zmiany odświeżają widok.
Zarządzanie pozwala przypiąć widok nad danymi lub go odpiąć. Filtrowanie, sortowanie i stronicowanie odbywają się na serwerze. Formularze używają pól i reguł tabeli; pola obliczane są tylko do odczytu. Widoki nie omijają zasad dostępu ani zapisu.
```sluis-view
{"database":"<database UUID>","table":"contracts","view":"table","columns":["title","expiry"],"order":"expiry"}
```Rekordy i reguły
Typy: tekst, liczba, bool, data, JSON, plik, osoba i odwołanie do innej tabeli. Osoby i odwołania pokazują nazwy lub etykiety. Historia pokazuje zmiany pól i autora. Rekordy są szyfrowane; indeksy z kluczem pozwalają szukać równości i prefiksów słów w etykietach oraz przeszukiwalnych polach tekstowych bez zapisywania jawnej treści. Wyniki i etykiety respektują widoczność.
Wyszukiwanie indeksowane łączy wszystkie prefiksy słów bez rozróżniania wielkości liter, z co najmniej dwoma znakami alfanumerycznymi na słowo. Nie szuka dowolnych fragmentów. Tekst swobodny zwraca do 200 wyników i oznacza skrócenie. Ponad 25 000 kandydatów resztowych lub 500 ID etykiety daje 422: dodaj filtr indeksowany. Brakujący lub nieaktualny indeks musi zostać odbudowany przed wznowieniem odczytu.
- Reguły: required, unique, min/max, options, default i pattern. Maska obejmuje cały tekst: # cyfra, A wielka litera, a mała litera, * dowolny znak. To nie wyrażenie regularne.
- Pola obliczane używają Rhai w sandboxie, są przeliczane i zapisywane przy zmianie i nie można ustawić ich bezpośrednio.
- Reguły statusu określają stany, stan początkowy i przejścia, z wymaganymi polami i minimalnym poziomem Rekordy, Wszystkie dane lub Zarządzanie.
- Wyzwalacze serwera reagują na utworzenie, zmianę lub usunięcie. Dodają, zmieniają lub usuwają rekordy tej samej bazy, odrzucają zapis albo powiadamiają członka. Ich zmiany używają praw autora i tej samej transakcji. Odmowa wycofuje wszystko. Nie uruchamiają kolejnych wyzwalaczy serwera; powiadomienia następują po zatwierdzeniu.
- Formularze, edycja danych, narzędzia czatu, import, webhooki, wsadowe AI i automatyzacje stosują te same reguły. Odmowa zwraca 422 z powodami dla pól.
Importuj CSV lub Excel z przypisaniem kolumn i podglądem, do 20 000 wierszy. Nieprawidłowy wiersz anuluje cały import. Wszystkie dane pozwala eksportować CSV, Excel i JSON. Pliki do 25 MiB są skanowane pod kątem malware i szyfrowane: PDF, Word, Excel, PowerPoint, tekst, Markdown, CSV, JSON, PNG i JPEG. Dostęp i usunięcie zależą od rekordu. databases.file_text odczytuje tekst, także skany przez Sluis OCR, z prawami czytelnika.
Udostępnianie i widoczność
Udostępnij jako Prywatne, Wybrane osoby lub Organizacja. Rekordy pozwala dodawać oraz zmieniać lub usuwać własne widoczne rekordy. Wszystkie dane pozwala też widzieć i zmieniać wszystkie rekordy oraz eksportować. Zarządzanie dodaje publikację schematów, reguł i przypiętych widoków. Udostępnianie, usuwanie i ustawienia administracyjne pozostają dla właściciela lub administratorów bazy organizacyjnej; Zarządzanie nie daje własności.
Dla Rekordy tabela pokazuje wszystko, własne rekordy, żadne lub rekordy wskazujące członka w polu osoby. Wszystkie dane i Zarządzanie widzą wszystko. Wersje nie resetują zapisanej widoczności. Odebranie dostępu kończy także dostęp na żywo.
Dostęp czatu i agentów
Narzędzia czatu wyświetlają listę, szukają i czytają dostępne bazy, odczytują załączniki i pokazują widoki. Wspomnij bazę przez @ lub włącz jej wykrywanie w czacie, aby dodać opis i tabele do kontekstu. To nie nadaje praw. Narzędzie listy działa także bez istniejących baz.
agent_write ma domyślnie ask: każde utworzenie, zmiana i usunięcie czeka na kartę potwierdzenia. allow działa bez karty, read_only odmawia. Zgoda nie rozszerza praw. Zmiany danych, schematu lub polityki mogą wymagać nowej prośby.
Dołącz do Agenta konkretne bazy z prawami read lub write. Każde wywołanie łączy aktualne nadanie z prawami wykonującego członka. Grupa databases dodaje narzędzia schematu, nie dostęp do wszystkich baz. Praca bez nadzoru nie potwierdza kart: zapis wymaga write oraz polityki allow.
Wsadowe AI uzupełnia wybrane pola pasujących rekordów, do 200 na zadanie, z postępem, błędami i anulowaniem. Używa praw inicjatora, zwykłej polityki, ochrony danych i budżetu tokenów. Tekst rekordu to dane, nie instrukcje. Widoki nie wywołują Wiedzy, dokumentów, nagrań ani konektorów jako funkcji interfejsu; użyj skonfigurowanych Agentów lub automatyzacji.
Automatyzacje i webhooki
Automatyzacje reagują na utworzenie, zmiany wybranych pól lub przejście statusu. Wyzwalacze czasowe działają co najmniej co 15 minut, codziennie, co tydzień lub przed datą, ze strefą czasową. Akcje uruchamiają Agenta, powiadamiają członków lub wywołują zatwierdzony konektor MCP. Wykonania pokazują wynik i koszt; aktywacja pokazuje szacunek wymagający potwierdzenia od 5 € miesięcznie.
Automatyzacja działa jako skonfigurowany właściciel, ograniczona do swojej bazy i aktualnych praw Agenta. Członkowie, webhooki i inni agenci mogą ją uruchomić, ale jej własne wykonanie nie. Łańcuch nie odwiedza ponownie tej samej automatyzacji. Import i wsadowe AI nie uruchamiają automatyzacji rekordów. Maksymalnie 200 wykonań trafia do kolejki na bazę dziennie. Powiadomienia używają Workspace, push i preferencji e-mail, do 20 na członka dziennie.
Webhooki przychodzące są wyłączone, dopóki właściciel lub administrator ich nie włączy. Zarządzanie pozwala utworzyć jeden endpoint na tabelę: POST /hooks/databases/{database}/{collection}, bez sesji i tokenu bearer. Sekret whsec_ pojawia się tylko przy tworzeniu lub rotacji. Opcjonalna lista IP zawiera do 20 adresów lub zakresów CIDR.
Wyślij obiekt JSON do 16 KiB. Nieznane pola są usuwane, pliki ignorowane; wszystkie reguły obowiązują. Podpisz dokładne bajty HMAC-SHA256: X-Sluis-Timestamp to sekundy Unix w granicach pięciu minut; X-Sluis-Signature to sha256= i małe znaki szesnastkowe podpisu znacznika czasu, kropki i treści. Przyjętego podpisu nie używa się ponownie. Ponawiaj 402, 429 lub 5xx tylko w oknie czasowym; 429 zawiera Retry-After. Bez Redis następuje odmowa 503.
Odpowiedzi: 201 utworzono; 400 błędny obiekt; 401 zły, stary lub powtórzony podpis; 402 blokada środków; 403 odmowa IP; 404 nieznany lub wyłączony endpoint albo funkcja; 413 limit treści lub miejsca; 422 błędny rekord; 429 limit szybkości; 503 niedostępność. Błędy reguł zawierają error i issues z field, rule oraz message; inne odpowiedzi nie mają treści. Limity: 120 dostarczeń na minutę i endpoint, 600 na organizację oraz limit nadawcy. Audyt próbkuje odmowy przy nadużyciach; zarządzanie pokazuje ostatnich 20 dostarczeń. Poniżej przykłady podpisów.
SECRET='whsec_...' # shown once when the endpoint is created or rotated
URL='https://gateway.sluis.ai/hooks/databases/DATABASE_ID/COLLECTION'
BODY='{"title":"Printer jammed","priority":"high"}'
TS=$(date +%s)
# HMAC-SHA256 over "<timestamp>.<exact body bytes>", lowercase hex
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$SECRET" -hex | sed 's/^.* //')
curl -i -X POST "$URL" \
-H 'Content-Type: application/json' \
-H "X-Sluis-Timestamp: $TS" \
-H "X-Sluis-Signature: sha256=$SIG" \
--data-binary "$BODY"import { createHmac } from "node:crypto";
const body = JSON.stringify({ title: "Printer jammed", priority: "high" });
const ts = String(Math.floor(Date.now() / 1000));
const sig = createHmac("sha256", process.env.SLUIS_WEBHOOK_SECRET)
.update(`${ts}.${body}`)
.digest("hex");
const res = await fetch("https://gateway.sluis.ai/hooks/databases/DATABASE_ID/COLLECTION", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Sluis-Timestamp": ts,
"X-Sluis-Signature": `sha256=${sig}`,
},
body, // send exactly the string you signed
});
console.log(res.status); // 201 when the record was createdLimity i rozliczenia
Limity: 256 KiB źródła, 20 tabel, 100 pól na tabelę i 16 KiB na rekord. Reguły działają w ograniczonym sandboxie bez sieci i swobodnego dostępu do plików. Właściciele i administratorzy mogą wyłączyć Bazy danych w konsoli bez usuwania baz.
Od daty rozliczeń ogłoszonej siedem dni wcześniej miejsce kosztuje 5,15 € za GB miesięcznie dla tekstu i danych oraz 0,0803 € dla plików, załączników i nagrań (1 GB = 1 000 000 000 bajtów). Agenci i automatyzacje bez nadzoru kosztują 0,005 € za minutę, za każdą rozpoczętą sekundę; czaty interaktywne nie płacą za czas. Tokeny AI rozlicza się oddzielnie.
Limit miejsca: 100 GB lub 5 000 000 obiektów na główną organizację rozliczeniową, wraz z podorganizacjami. Można ustawić miesięczny limit kosztów. Puste saldo wstrzymuje zapisy zwiększające miejsce i pracę bez nadzoru, nie odczyt, pobieranie, eksport ani usuwanie. Dane pozostają. Schemat, udostępnianie i administracja są audytowane; historia rekordów jest odrębna.
Odmowa miejsca w sesji zwraca HTTP 413 z error.code storage_full; zbyt duże żądanie nie ma tego kodu. PUT /chat/settings zachowuje database_webhooks_enabled, gdy pole pominięto lub ma null. Wyślij true lub false, aby je zmienić; początkowo jest wyłączone.