DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Turns your "Let's hang out sometime" to actual plans
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An AI that turns "we should hang out" into a real plan. Friends leave voice notes, the AI works out when, where, and what — and the app succeeds when everyone puts their phone down.
.ics calendar file.src/)TanStack Start + React, built with Lovable. Mock mode is on by default so the UI works without the backend.
npm install
npm run dev
Open the URL Vite prints (usually http://localhost:8080). Create a group, leave notes, generate plans, and vote — all against a browser-local mock store.
To hit the real API instead:
# in .env (repo root)
VITE_API_URL=http://localhost:8787
VITE_USE_MOCK=false
Then run the backend in another terminal. The frontend only knows VITE_* values; never put secrets in those.
server/)Node 20+ and TypeScript, built on Hono. State is in memory only; every restart re-seeds a demo group.
cp .env.example .env # repo root; set SERPAPI_KEY if you have one (optional, see below)
cd server
npm install
npm run dev # watch mode; `npm start` for a plain run
The API listens on http://localhost:$PORT (default 8787) and implements every endpoint in docs/api-contract.md under /api. CORS is open (*); set CORS_ORIGIN=https://your-frontend (comma-separated for several) to pin it.
Demo group. On startup the server creates group g_demo ("Friday crew") with Maya, Jordan and Priya's constraints from mock/constraints.sample.json, so you can go straight to the plan step:
curl -X POST localhost:8787/api/groups/g_demo/plan
curl -X POST localhost:8787/api/groups/g_demo/vote -H 'content-type: application/json' -d '{"planId":"p_1","memberName":"Maya"}'
curl -X POST localhost:8787/api/groups/g_demo/vote -H 'content-type: application/json' -d '{"planId":"p_1","memberName":"Priya"}'
curl -OJ localhost:8787/api/groups/g_demo/confirmed.ics
Plan pipeline (POST /api/groups/:id/plan), each step logged with its timing: merge constraints and find shared free windows (everyone first, otherwise the largest subset free for 1h+) → search SerpApi (Google Maps + Google Events) → rankPlans → exactly 3 ranked plans. Votes: a plan is confirmed once it has more than half the members' votes.
SerpApi and the cache. server/serpapi.ts is cache-first. Every successful response is stored in server/cache/serpapi-cache.json, keyed by engine and query, and a cached query never goes to the network. Places closed during the planned window are dropped.
SERPAPI_KEY set, a cache miss makes a live call and saves the result.mock/venues.sample.json and logs a warning.npm run warm-cache, and commit the cache file.LLM functions. The server imports transcribe, extractConstraints and rankPlans from server/llm/index.ts. Until that exists (or for any function it doesn't export) it falls back to mock-backed stubs, and says so in the startup log.
| Env var | Default | Purpose |
|---|---|---|
PORT | 8787 | HTTP port |
SERPAPI_KEY | none | Live SerpApi calls on a cache miss |
SERPAPI_CACHE_FILE | server/cache/serpapi-cache.json | Cache location |
CORS_ORIGIN | * | Allowed origin(s) |
Other scripts: npm run typecheck, npm test.