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.