OpenInstinct kloner Instinct, men holder passordene i din egen konto
Kjører en Instinct-lignende iMessage-assistent i din egen Vercel-konto, med krypterte hemmeligheter modellen aldri ser.
Instinct er den lukkede assistenten som svarer i iMessage og styrer en nettleser på dine vegne. OpenInstinct er en åpen kopi av samme idé, lagt ut av Merit Systems under MIT-lisens 25. august. På tre dager har repoet fått 183 stjerner og 23 forker.
Skillet mellom de to ligger i hvor legitimasjonen din bor. En assistent som skal logge inn, bestille og betale, trenger tilgang til kontoene dine, og i en driftet skytjeneste betyr det at noen andre oppbevarer nøklene til hele det digitale livet ditt.
«Hemmeligheter krypteres før de treffer databasen din, og modellene ser dem aldri. Verifiser det selv ved å lese koden» — OpenInstinct, README-en
Oppsettet er en Vercel-knapp som klargjør Kernel for nettlesere i skyen, Neon for Postgres og et privat Vercel Blob-lager for skjermbilder fra nettleseren. Vercel AI Gateway håndterer inferensen, og forbruket faktureres din egen Vercel-konto. Du setter selv BETTER_AUTH_SECRET, SECRET_ENCRYPTION_KEY og de to databasekoblingene, der migreringene krever den upoolede varianten.
Rekkevidden på Google-tilgangen er verdt å merke seg. Assistenten ber om gmail.modify, ikke det fullstendige mail.google.com-omfanget som også gir permanent sletting. Kalender og skrivebeskyttede kontakter kommer i tillegg. Vercel Connect står for lagring og fornying av tokenene, mens OpenInstinct bare beholder bruker-identiteten som brukes til å be om dem.
Den største fallgruven er nøkkelhåndteringen, og prosjektet sier det rett ut i dokumentasjonen.
«Behandle SECRET_ENCRYPTION_KEY som produksjonsnøkkelmateriale. Ta sikkerhetskopi separat, og husk at rotasjon krever at eksisterende verdier krypteres på nytt» — OpenInstinct, README-en
iMessage-delen er valgfri og krever Linq, som må settes opp med både apptokener og innkommende webhook-utløser. Uten flagget for utløsere får du utgående tilgang, men innkommende meldinger blir aldri videresendt. Telefonnumre må dessuten legges inn i en tillatelsesliste før engangskoder i det hele tatt leveres.
Hva bør du gjøre?
- Generer ferske nøkler med openssl rand base64 32, og lagre SECRET_ENCRYPTION_KEY et annet sted enn i Vercel-prosjektet. Mister du den, mister du alle lagrede hemmeligheter.
- Kjør pnpm db:migrate mot en ny database før du starter, og bruk DATABASE_URL_UNPOOLED til migreringene. Runtime-spørringene går via den poolede koblingen.
- Hopp over Linq først. Resten av assistenten fungerer uten iMessage, og du slipper å sette opp konnektor og tillatelsesliste før du vet om verktøyet passer deg.
- Les gjennom hvordan hemmeligheter krypteres før du gir den tilgang til en ekte konto. Hele poenget med å selvhoste dette er at du kan etterprøve påstanden selv.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.