DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Baseline is a Next.js + Supabase app for daily operations, triage, implementations, and secure calendar-derived briefing signals.
npm install
.env.local with your Supabase keys and optional provider keys (see Environment Variables below).npm run dev
Required for the app: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY. Optional: DEFAULT_USER_ID, LLM_ADMIN_USER_ID, and the settings below.
If you want MCP access outside the browser app, or you still maintain the legacy ChatGPT custom GPT fallback, also configure:
MISSION_CONTROL_API_KEY for legacy or internal machine-auth MCP callersMISSION_CONTROL_ACTIONS_API_KEY only if you still use the private ChatGPT custom GPT Actions fallbackMISSION_CONTROL_FAMCAL_API_KEY only if the FamCal Sunday brief reads your personal tasksMISSION_CONTROL_USER_ID for the user that machine-auth requests run asDEPLOYMENT_ROLE=main|mcp to split the protected main app from the public MCP deploymentMCP_CANONICAL_APP_URL for stable user-facing URLs returned from search / fetchMCP_UPSTREAM_API_URL for the public MCP deployment to call the protected main app upstream routesCALENDAR_SOURCE=local|ical|none
local: load events from local ICS file path (CALENDAR_LOCAL_ICS_PATH)ical: load events from WORK_ICAL_URLnone: skip ingest and only serve already-stored sanitized rowsWORK_ICAL_URL= optional remote Outlook/M365 ICS feed URLCALENDAR_LOCAL_ICS_PATH=data/calendar/work-calendar.icsCALENDAR_RETENTION_DAYS=183CALENDAR_FUTURE_HORIZON_DAYS=30CALENDAR_BODY_MAX_CHARS=4000CALENDAR_STORE_BODY=false (default privacy mode)ENABLE_CALENDAR_ENRICHMENT=false (reserved)PLANNER_ENABLE_CRITICAL_EXCEPTION=falsePLANNER_CRITICAL_EXCEPTION_THRESHOLD=90NEXT_PUBLIC_SPRINT_HOLIDAYS=2026-01-01,2026-05-25,2026-07-03 optional comma-separated YYYY-MM-DD list used by Today sprint pacing; excluded from workday counts in addition to weekendsMISSION_CONTROL_API_KEY: backend key used by legacy or internal machine-auth MCP callers and other existing external callersMISSION_CONTROL_ACTIONS_API_KEY: optional backend key used only by the legacy private ChatGPT custom GPT Actions integrationMISSION_CONTROL_USER_ID: required when either machine key is enabledMISSION_CONTROL_ACTIONS_API_KEY is a Mission Control backend key, not an OpenAI API keyMISSION_CONTROL_ACTIONS_API_KEY so /api/mcp remains reserved for the primary MCP machine-auth keyMISSION_CONTROL_FAMCAL_API_KEY: optional backend key for the FamCal Sunday brief (FamCal stores the same value as BASELINE_API_KEY). Give it its own value. It sees only personal to-dos: tasks that carry the personal tag themselves, have no sprint, and are either standalone (no project, application or section) or in a project that is itself tagged personal. Anything else, e.g. a personal task inside a work or build project, is left out of the list and is a plain 404:
GET /api/tasks (always filtered to tag=personal; only tag, limit, offset, status, owner, needs_review, due_soon, include_done, include_parked and include_missed are accepted, each at most once; any other parameter is a 400, even when empty), GET|PATCH /api/tasks/{id}, GET|POST /api/tasks/{id}/comments, POST /api/tasks/park/{id}. Everything else, and every DELETE, is 403.unresolved but their title ("Another task" / "A commitment"), status and linked ids are redacted.source_url), recurrence as its scheduling fields only (never the template's id), its project and section only when the project is itself tagged personal, and never an application or sprint (those are null), so a personal task filed under a work project shows nothing about it.status (Done, Parked, or back to an open status from Done/Parked), and (a date; clearing is a 400); any other field is a 400. Writes re-check the tag at write time; a status change that races another change is a 409.DEPLOYMENT_ROLE=main on the normal app deploymentDEPLOYMENT_ROLE=mcp on the public MCP-only deploymentMCP_CANONICAL_APP_URL=https://your-main-app.example.com on both deploymentsMCP_UPSTREAM_API_URL=https://your-main-app.example.com on the public mcp deploymentmcp deployment serves only /api/mcp, /oauth/*, /.well-known/*, /login, and /auth/callback/api/mcp-upstream and /api/mcp-upstream/* for bearer-token upstream calls onlyGET /api/focus: returns current active focus directive (active) and optional fallback notePOST /api/focus: creates a focus directive (supports implementation, stakeholder, task_type, query scopes)PATCH /api/focus/:id: updates an existing directive (including activation/deactivation)POST /api/focus/clear: clears active directive(s) for the current userdata/calendar/ are ignored by git./api/calendar returns only approved fields for brief generation and UI cards.calendar_event_context) and merged into /api/calendar for planner use.PATCH /api/calendar supports saving or clearing per-event meeting_context notes./login to request a magic-link sign-in email./auth/callback) exchanges the auth code and returns to app routes./api/mcp with MISSION_CONTROL_API_KEY.X-Mission-Control-Key: <MISSION_CONTROL_ACTIONS_API_KEY>./api/mcp and /api/mcp-upstream/*; general app APIs do not accept MCP OAuth bearer tokens.Mission Control now supports a public remote MCP deployment for hosted MCP-compatible LLM products.
ChatGPT and Claude should both prefer this MCP path unless you have a specific reason to keep the legacy ChatGPT Actions fallback.
https://<your-mcp-domain>/api/mcphttps://<your-mcp-domain>/oauth/authorizehttps://<your-mcp-domain>/oauth/tokenhttps://<your-mcp-domain>/oauth/registerhttps://<your-mcp-domain>/.well-known/oauth-authorization-serverhttps://<your-mcp-domain>/.well-known/oauth-protected-resource/api/mcpScope model:
mcp.read: read/list/search/fetch/briefing/calendar style operationsmcp.write: non-destructive mutationsmcp.delete: destructive deletes only; request this separately from the default read/write consentTool behavior:
search(query) and fetch(id) are additive retrieval tools.search returns stable URLs pointing to MCP_CANONICAL_APP_URL.Deployment outline:
DEPLOYMENT_ROLE=main.DEPLOYMENT_ROLE=mcp.MCP_UPSTREAM_API_URL on the public mcp deployment at the protected main app domain.MISSION_CONTROL_API_KEY and MISSION_CONTROL_ACTIONS_API_KEY only on main while migrating legacy clients.ChatGPT setup:
https://<your-mcp-domain>/api/mcp.mcp.read mcp.write consent in the browser.mcp.delete only if you explicitly want destructive tools enabled.Product note:
Prefer MCP for both ChatGPT and Claude. Use this section only if you still want the older private custom GPT plus Actions integration as a fallback.
You do not need an OpenAI API key for normal use inside ChatGPT. The only extra credential for this integration is MISSION_CONTROL_ACTIONS_API_KEY.
/openapi/chatgpt-actions-v1.yaml.X-Mission-Control-Key with MISSION_CONTROL_ACTIONS_API_KEY.morning brief, midday brief, eod brief, weekly review, monthly review, recommend my today list but do not sync yet, review these meeting notes and suggest updates, and apply these meeting notes to Mission Control.Notes:
/Users/owner/dev/Cooper Mission Control/mission-control/public/openapi/chatgpt-actions-v1.yaml./Users/owner/dev/Cooper Mission Control/mission-control/chatgpt-gpt-instructions.md.Apply Supabase SQL migrations from supabase/migrations/:
001_initial_schema.sql002_calendar_schema.sql003_task_comments_dependencies.sql004_add_task_type_task.sql005_focus_planner_brain.sql006_calendar_event_context.sql007_llm_model_eval.sql — LLM model catalog, user preferences, and usage telemetry008_task_status_workflow.sql — Renames task status enum values (Next->Backlog, Scheduled->Planned, Waiting->Blocked/Waiting) and adds In Progress009_add_quick_capture_feature.sql — Adds quick_capture to LLM feature CHECK constraints010_missing_rls_policies.sql — Adds missing RLS policies for inbox_items and status_updates027_add_mcp_oauth.sql — Adds OAuth client, authorization code, access token, and refresh token storage for public remote MCP028_add_project_focus_scope.sql — Adds project-scoped focus directives029_add_task_tags.sql — Adds tags for tasks030_add_project_review_history.sql — Adds durable project status history and persisted weekly/monthly review snapshotsAfter migration 008, the valid task_status enum values are:
Backlog | Planned | In Progress | Blocked/Waiting | Done
The old values (Next, Scheduled, Waiting) no longer exist.
Supported feature names for model preferences and usage tracking:
briefing_narrative | intake_extraction | quick_capture
Run checks:
npm run lint
npm run build
npm run test:planner-scoring
npm run test:calendar-sanitize
npm run test:mcp-oauth
Calendar API contract check (requires running app at http://localhost:3000 by default):
npm run dev
# in another terminal
npm run test:calendar-api
Optional env for contract test:
CALENDAR_API_BASE_URL (default http://localhost:3000)CALENDAR_TEST_BEARER_TOKEN (if you want to provide an existing token)due_atfollow_up_atpersonalMISSION_CONTROL_API_KEY or MISSION_CONTROL_ACTIONS_API_KEY, that value stops working for every caller (401, logged) until the FamCal key gets its own value.main deployment only; FamCal must call the main app origin, not the MCP proxy.