DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Mumble at your phone all day. Open models sort it out overnight.
Live: https://mumble-azure.vercel.app
Record rambling voice memos whenever something pops into your head. At 3 AM, a free GitHub Actions runner wakes up, transcribes them with Whisper, and has Gemma turn them into to-dos, calendar events and notes. In the morning you open one screen and tap Done, Keep, Add to calendar or Dismiss (each with Undo). Until then you can play a memo back to check it saved; kept notes and search live in Remember.
It costs nothing to run.
A demo week of everyday memos (voiced with macOS say): 9 memos, 70 seconds of
talking, 220 words. The nap turned them into 16 to-dos, events and notes, and
Morning opened with:
10 min saved. Last night: 9 memos, 1 min of mumbling instead of 11 min of typing and sorting.
Mumble counts typing at 40 words a minute, plus about 20 seconds to file each item into the right list with the right date.
On Sundays, Ultramarine reads the whole week. In the demo week it noticed "call the dentist" said on three separate mornings, and never done. Every claim cites the items it's based on. That review cost $0.0004.
gemma4:e2b-it-qat) for structure and embeddinggemma for memory, all served by Ollama.PAPERINSTRUMENTS_API_KEY, no review, and nothing leaves.Phone PWA ──▶ Vercel (free static site) ◀──▶ Auth0 (sign-in, free)
│
└─ /api ──▶ Vercel Function (Python, free) ──▶ Postgres + pgvector (Tiger Data, free)
▲
3 AM cron ──▶ GitHub Actions (free CPU runner): Ollama + Gemma + Whisper
| Piece | Where | Cost |
|---|---|---|
Phone app (web/) | Vercel static files | free (Hobby) |
API (api/index.py → mumble/api.py) | Vercel Function | free (Hobby) |
| 3 AM alarm | GitHub Actions schedule | free |
Night shift (mumble/nap.py) | GitHub Actions, public repo | free |
| Database | Tiger Data (Postgres + pgvector) | free tier |
| Sign-in | Auth0 | free plan |
web/ the phone app (PWA): plain HTML, CSS and JS, no build step
api/index.py Vercel's entrypoint; hands each /api request to mumble/api.py
mumble/
core.py the API's logic and quotas, shared by the cloud and the local server
api.py the cloud API (only needs psycopg and PyJWT)
auth.py checks Auth0 access tokens
main.py the local dev server (FastAPI)
nap.py the night shift: Whisper, then Gemma, then embeddings
transcribe.py / structure.py speech to text / text to to-dos, events, notes
review.py the Sunday review by Ultramarine
db.py, config.py
scripts/ demo_week.py seeds a week of spoken memos; claim.py adopts pre-sign-in data
tests/
.github/workflows/nap.yml the 3 AM schedule
vercel.json hosting: static web/, /api rewrite, security headers
Needs uv, Ollama, ffmpeg and Docker.
ollama pull gemma4:e2b-it-qat && ollama pull embeddinggemma
docker compose up -d # local Postgres + pgvector
cp .env.example .env
uv sync --all-groups # the API alone needs psycopg + PyJWT; "nap" has the models
MUMBLE_DEV=1 uv run uvicorn mumble.main:app --reload
Open http://localhost:8000, record something, then tap Can't wait? Nap now
(or run uv run python -m mumble.nap). MUMBLE_DEV=1 signs everything from this
machine in as one local account; set the AUTH0_* variables instead to sign in for real.
The microphone only works on localhost or over HTTPS. Locally, search also
matches by meaning (the query is embedded with Ollama); the serverless API
searches by keyword.
DATABASE_URL='postgres://...' uv run python -c "from mumble import db; db.init()"https://<your-app>/api, RS256, token lifetime 3600 s, offline access on). Put the domain,
client id and identifier in web/config.js.DATABASE_URL under Settings → Secrets and variables → Actions.vercel.json already says what to do: serve web/, run api/index.py for /api/*.
Add DATABASE_URL, AUTH0_DOMAIN, AUTH0_AUDIENCE, AUTH0_CLIENT_ID and
MUMBLE_ICS_SECRET (32+ random characters, signs calendar links), then deploy.
Optional: MUMBLE_MAX_ACCOUNTS (default 50), MUMBLE_ALLOWED_EMAILS (invite-only).To give one account more room: UPDATE accounts SET quota = '{"memos_per_day": 50}' WHERE email = '...'.
To switch one off: UPDATE accounts SET disabled = true WHERE email = '...'.
uv run pytest
MIT