DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證She's just an AI
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗pnpm install
pnpm dev
pnpm dev runs convex dev and the Vite dev server together. The first run asks you to log in to Convex and writes CONVEX_DEPLOYMENT and VITE_CONVEX_URL to .env.local.
Set these on the Convex deployment (pnpm exec convex env set NAME value):
| Name | What it's for |
|---|---|
SITE_URL | The app's URL, used in email links and OAuth redirects |
AUTH_PRIVATE_KEY, AUTH_JWKS | Key pair Convex Auth signs session tokens with |
RESEND_API_KEY, AUTH_EMAIL_FROM | Sending verification and reset emails |
AUTH_GOOGLE_CLIENT_ID, AUTH_GOOGLE_CLIENT_SECRET | Google sign-in |
AUTH_GITHUB_CLIENT_ID, AUTH_GITHUB_CLIENT_SECRET | GitHub sign-in |
AUTH_METHODS | The sign-in methods a deployment offers: a comma list of email, google, github. Unset means all. Production sets github. Read at deploy time, so redeploy after changing it. Optional |
SPECTRUM_PROJECT_ID, SPECTRUM_PROJECT_SECRET, SPECTRUM_WEBHOOK_SECRET | Texting on iMessage and WhatsApp through Photon's Spectrum SDK. Optional |
PHOTON_WEBHOOK_SECRET | Signs Photon's events to /photon/webhook: Telegram, and email arriving (whsec_…). Optional |
PHOTON_PROJECT_ID, PHOTON_API_KEY | Email and Telegram through Photon's platform API (beta). Optional |
MAIL_DOMAIN | The domain users claim handle@MAIL_DOMAIN on, connected in Photon. Optional |
PHOTON_PHONE_NUMBER, PHOTON_SIP_USERNAME, PHOTON_SIP_PASSWORD | Phone calls: the line they ring from and its Voice profile's outbound SIP credential. PHOTON_SIP_HOST if the profile shows a server other than sip.photon.codes. Optional |
FLAGS_SECRET, FLAGS_URL | Feature flags: Convex asks the Worker's /api/flags, which reads Cloudflare Flagship through its binding. The secret is shared with the Worker; FLAGS_URL only on dev. Phone calls stay off unless Flagship's no-calls is off for the user. Optional |
To message on Telegram, connect the bot in Photon's dashboard, point the project's webhook at /photon/webhook, and set its signing secret as PHOTON_WEBHOOK_SECRET. iMessage and WhatsApp go through the Spectrum SDK and its webhook at /spectrum/webhook. The full setup for email and every messaging app is in docs/setup/channels.md.
The app runs on the matlida Cloudflare Worker (wrangler.jsonc). Nothing in .env* is committed, so give the build its values from the environment:
VITE_CONVEX_URL=https://knowing-magpie-554.eu-west-1.convex.cloud pnpm run deploy
On Workers Builds, set VITE_CONVEX_URL (and VITE_SITE_URL) under the Worker's build environment variables instead.
And in the app's environment when deploying:
| Name | What it's for |
|---|---|
VITE_SITE_URL | Public URL, so the og:image link is absolute for link previews |
Every assistant runs on anthropic/claude-sonnet-5 through the Convex AI gateway unless you pick another in its form, and any chat can switch models from the menu in its header without losing its history. The list is in convex/lib/models.ts; any id from the gateway catalog can be typed in.
Type / in the message box to pick one, or ask an assistant "what can you do?" to get them as buttons. Write what it's about after the name, like /quiz the French Revolution. Commands you save in the Library work the same way, and one with the same name replaces the built-in.
| Group | Commands |
|---|---|
| Make things | /create (say what you want made, and it works out how), /image, /video, /chart, /doc, /email, /posts, /preview |
| Pages that stay up to date | /report, /memo, /dashboard |
| Plan and do | /plan (save a plan), /run (plan it and work through it step by step), /today, /dayplan, /trip, /todo, /focus, /workout |
| Decide and solve | /decide (Jev picks between options), /make-my-problems-go-away (can AI do this, or should a person?), /fix, /convex, /compare, /research, /explain, /tldr |
| Learn | /study (flash cards), /quiz (test yourself) |
| Shopping | /shop, /gift, /watch (hear when a price drops), /cart, /shopping (list by aisle), /meals, /recipe |
| Everyday | /news, /split (who owes whom), /meet (a time across time zones), /convert, /pack, /setup (connect email, Telegram, texts and calls) |
| Words | /rewrite, /reply, /translate |
The full list, with what each one does, is in convex/lib/commands.ts. A test checks that this table names every built-in command.
| Command | Does |
|---|---|
pnpm dev | Convex and Vite dev servers, on port 3000 |
pnpm check | Type check, ESLint and a production build. Run it before every push |
pnpm test | The Vitest suite (convex/tests, src/tests) |
pnpm build | Type check, then a production build |
pnpm preview | Serve the production build locally, in Cloudflare's runtime |
pnpm run deploy | Build, then deploy the matlida Worker to Cloudflare (pnpm deploy is a different, built-in pnpm command) |
pnpm lint | Type check and ESLint |
pnpm format | oxfmt |
scripts/pr-size.sh origin/master | Lines a PR changes, against the 2000 limit |
pnpm exec convex dev --once --typecheck disable | Push functions and schema to the dev deployment once |
pnpm exec convex insights | Write conflicts and limits over the last 72 hours (--prod for production) |
pnpm exec convex logs --history 200 | Recent function runs |
pnpm exec convex env list | cut -d= -f1 | Environment variable names only, since values are secrets |
pnpm exec convex run api/judgments:summary '{"kind":"check_in"}' | How Jev's answers spread, before moving a threshold (recurring, after_missed_call, answer) |
pnpm exec convex run api/calls:dump | The latest call's transcript and timings |
Matilda is heading four ways. The rule: pick the next piece of work from this list, in this order:
Each piece is one PR on master, merged before the next starts. When it ships, move it from here into progress.md, and add what it made possible.
Long jobs that run as durable steps, wait for you, and pick up where they stopped.
/run works through a plan on @convex-dev/workflow, with Start, Cancel and Try again from the failed step. Reminders recur on @convex-dev/crons, and Jev pauses or stops them.Projects that check themselves on a schedule and tell you where they stand.
/report and /dashboard refresh themselves daily or weekly. The news arrives daily. Matilda calls to check in when Jev thinks something is owed.Show what you want, the way you want it.
Learn from what happened, then change what happens next.
judgments. Costs are tracked per chat and per person, and convex insights shows conflicts.JEV_THRESHOLDS where the outcomes say they're wrong.