Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A small Next.js app for tracking coffee-shop inventory and weekly production, backed entirely
by a Google Sheet (no database) via a service account.README 전문 보기 ↗A small Next.js app for tracking coffee-shop inventory and weekly production, backed entirely by a Google Sheet (no database) via a service account.
Copy .env.example to .env.local (not committed) and fill in:
GOOGLE_SHEETS_SPREADSHEET_ID — the sheet this app reads/writes.GOOGLE_SERVICE_ACCOUNT_EMAIL / GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY — a Google service
account with edit access to that sheet.APP_PASSPHRASE — single shared passphrase gating the whole app (see /login).BLOB_READ_WRITE_TOKEN — Vercel Blob, used to store uploaded scan photos.OPENROUTER_API_KEY — used to OCR a photographed count sheet on upload.MCP_ACCESS_TOKEN — bearer token gating /api/mcp (see below).Then:
npm run dev
npm test # unit tests for unit parsing and production math
Seven tabs, each a flat table with a header row (no numeric IDs — everything is keyed by name):
inventory (fixed columns + one date column per physical count)./ — inventory dashboard: what's low stock, what needs review (a count that couldn't be
parsed), link to the raw sheet./scans/upload — photograph a filled-in inventory count sheet; OCR drafts the numbers,
you review and confirm before anything is written back to inventory./production — this week's plan: what's needed for the Wed–Sat popup/deliveries, current
reserve levels, and what to brew/roast/make Mon/Tue to cover it. Standing orders always map onto
this calendar week's Wed–Sat; one-off orders are picked up from today through 8 days out, so an
order early next week shows up in time to brew for it.Editing recipes/products/standing orders/reserve stock directly in the sheet is expected
day-to-day — the app never needs a code change for a new product or a renamed recipe, only
self-consistent data across the tabs.
/api/mcp is a Model Context Protocol server (built with
mcp-handler) that lets a Claude.ai conversation —
including voice dictation — write inventory counts straight to the inventory sheet, without
going through Anthropic's separate Autosheet feature or its credit limits.
It exposes one tool, record_inventory_count(date?, counts: {item, count}[]), which matches each
item against the live catalog (case-insensitive) and calls the same writeCountColumn used by
the photo-scan-confirm flow — so counted items land in a dated column and everything else carries
forward, same semantics either way. Unrecognized item names are reported back instead of guessed.
The route enforces its own auth (a bearer token checked against MCP_ACCESS_TOKEN) rather than
the app's cookie-based passphrase gate, since an MCP client can't hold a browser cookie —
src/proxy.ts's middleware matcher excludes api/mcp for this reason, same as it already does
for api/login.
Connecting it in Claude.ai (Settings → Connectors → Add custom connector):
/api/mcp endpoint.Authorization
header for its own OAuth flow and won't let you set it manually.)Authorization, value Bearer <MCP_ACCESS_TOKEN>.Request-header auth is currently in beta and gated per Claude.ai organization — if the Request headers section doesn't show up in the dialog, it isn't enabled for your account yet.