DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
Sudo-chan is an anime-style AI companion for your desktop. Say her name and she answers in Urdu or English, helps with your screen after you click to allow it, and runs file tasks only with your appro
翻譯準備中
生產力TypeScript · JavaScriptGitHub @salahudingsalahudin-ai上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Sudo-chan is an anime-style AI companion for your desktop. Say her name and she answers in Urdu or English, helps with your screen after you click to allow it, and runs file tasks only with your approval. Early version for Linux.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A deep-scroll product introduction built with Next.js App Router, TypeScript, Tailwind CSS, React Three Fiber, drei, postprocessing, GSAP ScrollTrigger, Lenis, and Framer Motion.
npm install
npm run dev
Open http://localhost:3000. Build and run the production version with npm run build and npm start.
supabase/schema.sql to create the public.waitlist table and its unique, lowercase email constraint..env.example to .env.local and configure SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, and a private, random RATE_LIMIT_SALT. These values are used by the server route only; never add a NEXT_PUBLIC_ prefix to the service-role key. Without the salt, submissions return 503. Never share these values in chat or commit local environment files.The API is POST /api/waitlist. It validates and lowercases email addresses, returns a friendly duplicate response, limits request bodies to 2 KiB, and limits submissions to five attempts per hour per hashed IP. Apply the complete supabase/schema.sql, including the waitlist_rate_limits table and consume_waitlist_attempt RPC: the limiter is shared through Supabase rather than process memory. Raw IPs are not stored by this limiter. Supabase requests have a five-second timeout. GET /api/waitlist returns the real count without exposing email addresses.
The 3D scene lives in components/SudoChanCanvas.tsx with its parts in components/three/: a procedural, original anime-style companion (CompanionBot, toon-shaded with an outline and a rim light), a listening/speaking glow ring (ListeningRing, green = listening, violet = speaking, the same colours as the desktop app), four orbiting UI cards with a depth-of-field style blur (FloatingCards) and one explanatory prop per scroll scene (StoryProps: wake-word chip, approval card with Allow/Deny, screen frame with a consent button, privacy lock). The listening and speaking animation is a made-up demo loop (sampleVoiceDemo in lib/heroScene.ts); nothing reads the microphone. Everything is procedural, with no model download. Optionally, if USE_REAL_MODEL in components/sudoChanConfig.ts is turned on and public/models/sudo-chan.glb exists, components/three/GlbBot.tsx loads that model instead of the procedural character (the loader is imported on demand). lib/heroScene.ts holds the pure helpers (scene poses, story weights, renderer choice) and is unit tested. components/SudoChanJourney.tsx mounts the 3D scene only when chooseRenderer says so: phones and touch devices, reduced motion, Save-Data, low-core or low-memory devices and missing WebGL get the lightweight SVG twin (components/CompanionSvg.tsx). A WebGL context loss also falls back to the SVG companion.
All landing page copy and scene labels are collected in content.ts.
/. The WebGL scene is code-split (roughly 250 KiB gzip, three.js included) and is imported only on desktop browsers that pass chooseRenderer.npm test: run the Vitest waitlist route tests with mocked Supabase; this does not verify the deployed database or environment configuration.npx tsc --noEmit: check TypeScript.npm run build: compile the production application.The desktop companion has an early local Electron prototype in desktop/. Run it separately with its setup and preview notes in desktop/README.md; chat replies are local mock text. It is not a released product and it does not capture the screen or call an AI service. The website describes the desktop app's behavior in content.ts: keep it honest (microphone only while listening is on; screen only after click-consent, never saved on disk; files only with tools on and click approval; API keys on the user's computer, not encrypted on Linux). The app is not released: there is no download link, only the waitlist.