Authenticatie
SenseCraft CLI authenticeert met één toegangssleutel. Eén sleutel dekt SenseCraft Data, SenseCraft AI en CodeCraft Hub.
Kies een van beide autorisatiemethodes en controleer daarna het actieve profiel:
| Methode | Hoe het werkt | Kies het voor |
|---|---|---|
1. Autorisatie in de browser — auth init | Meld je aan en keur toegang goed in je browser, kies of maak daarna een sleutel | Eerste installatie, ook bij instellen met een AI-agent |
2. Een toegangssleutel importeren — auth add | Maak of zoek een sleutel in het accountcentrum en importeer hem in de CLI | Een specifieke sleutel hergebruiken, scripts of CI |
Beide methodes slaan een actief toegangssleutelprofiel op de machine op waar de CLI draait. Latere commando’s hergebruiken dat profiel.
Voordat je begint: accounts en sites
Section titled “Voordat je begint: accounts en sites”De CLI maakt geen accounts aan. Om te authenticeren heb je een bestaand Seeed-account nodig op de site die je gebruikt:
- Global (International) — registreer je op sensecap.seeed.cc of sensecraft.seeed.cc.
- China — het binnenlandse accountsysteem.
De site wordt per profiel gekozen en in het configuratiebestand opgeslagen. Een sleutel die op de ene site is aangemaakt, werkt niet op de andere — een Global-sleutel met een China-profiel is de klassieke oorzaak van een ongeldige-sleutelfout.
Methode 1: autorisatie in de browser
Section titled “Methode 1: autorisatie in de browser”Gebruik auth init om je via je browser aan te melden en een toegangssleutel
te kiezen of aan te maken zonder het secret te kopiëren.
Met een AI-agent
Section titled “Met een AI-agent”De huidige CLI ondersteunt autorisatie in afzonderlijke commando’s. Elke stap print JSON en stopt, zodat de agent de installatie zonder interactieve terminal kan afhandelen. Werk bij naar CLI 0.4.3 voor de skill-instructies die hier worden beschreven.
-
Controleer het huidige profiel met
sensecraft-cli auth info. Hergebruik de verwachte site en organisatie als er al inloggegevens zijn geconfigureerd. -
Start de autorisatie:
bash sensecraft-cli auth init --site Global --no-waitDe agent bewaart de teruggegeven
device_code, toont jeverification_urlen wacht tot je je aanmeldt en toegang goedkeurt in je browser. Laat de agent weten wanneer je hebt goedgekeurd; hij hoort de link te tonen vóór hij gaat pollen. -
Lees de beschikbare sleutels na goedkeuring in de browser:
bash sensecraft-cli auth init --device-code <device_code>Dit geeft het account, de organisatie en de beschikbare Key ID’s, labels en rechten terug. Secrets van toegangssleutels worden niet geprint.
-
Sla de gekozen sleutel op, of maak een sleutel met label aan met de rechten die de taak vereist:
bash sensecraft-cli auth init --device-code <device_code> --key-id <access_id>Om in plaats daarvan een nieuwe sleutel aan te maken:
bash sensecraft-cli auth init --device-code <device_code> --label <name> --access-level read-write--access-levelaccepteertread-writeenonly-read. De agent vraagt in de chat naar onopgeloste keuzes rond account of rechten en laat de CLI het secret lokaal opslaan. -
Controleer het opgeslagen profiel met
sensecraft-cli auth infovoordat je verdergaat met cloudcommando’s.
Interactieve wizard
Section titled “Interactieve wizard”Gebruik je de CLI rechtstreeks in een interactieve terminal, start dan de wizard:
sensecraft-cli auth init| Stap | Wat er gebeurt |
|---|---|
| 1 | Kies de site — Global (International) of China |
| 2 | Vraag een device-code aan — de CLI haalt hem op bij het gebruikerscentrum |
| 3 | Keur goed in de browser — het print een link met de eenmalige code er al in, plus de code op een eigen regel |
| 4 | Wacht — het pollt en gaat vanzelf verder zodra je goedkeurt |
| 5 | Kies een sleutel — het toont de toegangssleutels van je account; kies er een, of maak een nieuwe met een label en een niveau lezen/schrijven; het profiel wordt als actief opgeslagen |
De terminal ziet er zo uit:
[3/5] Complete authorization in the browser
Copy the link below into your browser and authorize with the primary account:
https://account.seeed.cc/device?user_code=ABCD-2345
Verification code: ABCD-2345
The CLI will continue automatically after you complete browser authorization.Verbindingseisen
Section titled “Verbindingseisen”- De link is overdraagbaar. Open hem op elk apparaat met een browser. Rond de resterende CLI-stappen af op de machine waar de autorisatie begon.
- Alleen de wizard heeft een interactieve terminal nodig. Agents gebruiken
--no-waiten daarna--device-code. Laat de wizard draaien als je voor de interactieve flow hebt gekozen. - Beide browserflows kunnen een sleutel aanmaken. Een apart bezoek aan het accountcentrum is optioneel; Methode 2 behandelt het importeren van sleutels.
- De code verloopt (een paar minuten; de levensduur komt van de
accountservice). Ben je te langzaam, dan stopt de CLI met
context deadline exceededen wordt er niets opgeslagen — voer hem opnieuw uit voor een nieuwe code. --sandboxsimuleert de hele flow zonder netwerkverzoeken en schrijft soms toch een gesimuleerde configuratie — wijsSENSECRAFT_CONFIG_FILEnaar een wegwerpbestand als dat uitmaakt.
Methode 2: een toegangssleutel importeren
Section titled “Methode 2: een toegangssleutel importeren”Gebruik auth add om een specifieke toegangssleutel te importeren. Deze
methode begint in het accountcentrum en controleert de sleutel via OpenAPI
voordat hij hem opslaat.
1. Een toegangssleutel aanmaken of vinden
Section titled “1. Een toegangssleutel aanmaken of vinden”Toegangssleutels worden aangemaakt en beheerd in het Seeed-accountcentrum, onder Access Keys. Open de pagina van je site:
| Site | Pagina |
|---|---|
| Global (International) | account.seeed.cc/account/access-keys |
| China | account.seeed.cn/account/access-keys |

De Access-keys-pagina voor de gekozen site (demogegevens). Kies Create key.
Meld je aan met het hoofdaccount — subaccounts kunnen geen toegangssleutels bekijken of beheren; de pagina toont dan een rechtenwaarschuwing in plaats van de lijst. Gebruik een bestaande sleutel, of maak er een:
- Kies Create key.
- Geef hem een label dat je later herkent (optioneel, maximaal 64
tekens; bijv.
laptop-cli). - Kies een permission:
- Read — apparaten tonen, telemetrie lezen, apps en modellen doorzoeken. Genoeg voor monitoring en alleen-lezen agentworkflows.
- Write — alles wat Read toestaat, plus aanmaken, bijwerken, publiceren, verwijderen, uploaden, deployen en koppelen.
- Kopieer beide waarden uit de rij van de nieuwe sleutel:
- Access ID — de publieke identificatie; de CLI noemt die de Key ID
(
--key-id). - Access Key — het secret (
--access-key). Toon het met het oogicoon en kopieer het.
- Access ID — de publieke identificatie; de CLI noemt die de Key ID
(

Geef de sleutel een label en kies Read of Write.

Kopieer de Access ID; toon de Access Key en kopieer hem.
De permission in het aanmaakdialoogvenster staat standaard op Write; kies Read als de workflow alleen leest. Een sleutel met Read-rechten authenticeert prima, maar elk schrijfcommando faalt met een rechtenfout — dat is het niveau van de sleutel, geen bug in de CLI.
Het secret blijft op deze pagina beschikbaar (tonen en kopiëren), dus behandel het als een wachtwoord en niet als iets wat je maar één keer ziet. Je kunt het label of de permission wijzigen met Edit, en de sleutel Disable geven als hij moet stoppen met werken. Er is op deze pagina geen verwijderknop; Disable is de intrekknop, en Enable draait dat terug.
2. De sleutel importeren
Section titled “2. De sleutel importeren”Importeer de sleutel in de CLI:
sensecraft-cli auth add \ --key-id <Access ID> \ --access-key <Access Key> \ --site Global--site accepteert Global (standaard) en China. Kies de site die de
sleutel heeft uitgegeven: account.seeed.cc → --site Global,
account.seeed.cn → --site China. De verificatie roept de OpenAPI van die
site aan, dus een sleutel van de andere site faalt.
In een interactieve terminal wordt elke ontbrekende waarde gevraagd in plaats
van te falen. De site-vraag verschijnt alleen als er ook om een sleutelwaarde
is gevraagd — geef je zowel --key-id als --access-key maar laat je
--site weg, dan gebruikt de CLI stilzwijgend Global. Geef --site expliciet
mee als het ertoe doet.
Key ID: K1234567890Access Key: <paste the Access Key>Select the SenseCAP site to connect to 1) Global (International) 2) China (China site)Enter number [1]:De prompt echoot wat je typt; voer hem uit in een private terminal. De vorm
met --access-key is ook zichtbaar in je shellgeschiedenis en in
proceslijsten, dus plak geen sleutel in gedeelde logs, screenshots of
transcripten van je agent.
3. De import bevestigen
Section titled “3. De import bevestigen”De CLI controleert de sleutel met een view_organization-aanroep, bepaalt je
organisatie-ID, slaat het profiel op en maakt het actief:
Verifying Access Key against OpenAPI ...✓ Access Key verified Site: Global Organization ID: 12345 Key ID: K1234567890
✓ Access config saved and set as active Config file: ~/.config/sensecraft-cli/sensecraft.jsonauth add importeert alleen een bestaande sleutel — hij maakt, roteert of
verwijdert er nooit een. Bij een mislukte verificatie wordt er niets naar het
configuratiebestand geschreven.
auth info — inloggegevens inspecteren
Section titled “auth info — inloggegevens inspecteren”Controleer na beide methodes het actieve profiel met:
sensecraft-cli auth infoPrint (leesbaar voor mensen, geen JSON) het gebruikte pad van het
configuratiebestand, plus de site, het organisatie-ID, de actieve Access ID
(geprint als Key ID) en het tijdstip van aanmaken. Het secret wordt nooit
geprint. Is er nog niets geconfigureerd, dan print het
No profiles configured yet. en stelt het auth init voor. Dit commando
leest lokale configuratie; het doet geen API-verzoek om de opgeslagen sleutel
te valideren.
Voer dit uit wanneer je niet zeker weet op welke omgeving een commando terechtkomt — zie ook Configuratie.
Meerdere profielen en wisselen
Section titled “Meerdere profielen en wisselen”Het configuratiebestand kan meerdere toegangssleutelprofielen bevatten (zie Configuratie voor het schema van het bestand). Eén pointer bepaalt welk profiel actief is:
use_api— de actieve Access ID
Elke geslaagde auth add / auth init schrijft zijn profiel en zet het
actief. Om terug te wisselen naar een eerder profiel voer je auth add
opnieuw uit voor die sleutel/site (hij verifieert en activeert het bestaande
profiel opnieuw), of pas je use_api rechtstreeks in het configuratiebestand
aan. Er is bewust geen terugvaloptie waarbij “de eerste vermelding wint” — een
niet-ingestelde pointer is een fout, geen gok.
Inloggegevens verwijderen
Section titled “Inloggegevens verwijderen”Er is geen auth remove-commando — inloggegevens verwijderen is een lokale
bestandsbewerking, en dat met opzet.
De sleutel laten stoppen met werken
Section titled “De sleutel laten stoppen met werken”Open de Access Keys-pagina en Disable de sleutel. API-aanroepen die hem gebruiken falen tot je hem weer Enable geeft. Deactiveren is omkeerbaar en de sleutel blijft in de lijst staan. Wil je het inloggegeven overal ongeldig maken waar het gebruikt wordt, dan is dit de stap — een lokaal profiel verwijderen zorgt er alleen voor dat die ene machine hem vergeet.
Alles verwijderen (volledig uitloggen)
Section titled “Alles verwijderen (volledig uitloggen)”Verwijder de configuratiemap (de locatie hangt af van hoe je hebt geïnstalleerd; zie Configuratie):
rm -rf ~/.config/sensecraft-cli # Windows: Remove-Item -Recurse "$env:APPDATA\sensecraft-cli"Dit wist alle toegangssleutels, tokens en profielpointers die op die machine zijn opgeslagen.
Eén profiel verwijderen
Section titled “Eén profiel verwijderen”Open sensecraft.json en verwijder de vermelding uit app_config_list. Heb
je het profiel verwijderd dat actief was, wijs use_api dan naar een
overgebleven vermelding, of maak het leeg en voer auth add / auth init
opnieuw uit. Houd de rechten van het bestand op 0600 — de CLI schrijft het
atomair met die rechten.
Beveiligingsnotities
Section titled “Beveiligingsnotities”- Het configuratiebestand wordt met rechten 0600 geschreven via een atomische tijdelijke-bestand-en-hernoem-stap, zodat een gedeeltelijke schrijfactie het nooit beschadigt. Het secret staat als platte tekst in dat bestand — bescherm het bestand, niet alleen de sleutel.
- Commit
sensecraft.jsonnooit; houd je een kopie in een repo voor CI, beperk de sleutel dan tot wat de pipeline echt nodig heeft (alleen-lezen waar mogelijk). - Een sleutel met Read-rechten laat elk schrijfcommando falen met een rechtenfout — dat is het niveau van de sleutel, geen bug in de CLI.
- Tijdens het instellen met een AI-agent start de agent
auth init --no-waiten wacht hij op je goedkeuring in de browser. Houd wachtwoorden, tokens en ruwe toegangssleutels buiten de chat en buiten de logs van de agent; zie Bevestigingen en veiligheid.
Versieopmerking
Section titled “Versieopmerking”De openbare build van @seeed-studio/sensecraft-cli ondersteunt zowel
auth init (aanbevolen) als auth add voor één toegangssleutel, met de sites
Global en China. Toegangssleutels verlopen niet en worden nooit vernieuwd,
dus er is geen auth refresh-commando en geen --kind-flag. Onthoud dat de
China-site alleen SenseCraft Data is.