Agent-run-worker bundles under scripts/, so fallback MCP resolution pointed
at scripts/tkmind-excel-mcp.mjs and broke Goose session startup on H5 image
tasks. Pin MEMIND_PORTAL_H5_ROOT to the repo root and honor TKMIND_EXCEL_MCP_SERVER_PATH.
Co-authored-by: Cursor <cursoragent@cursor.com>
Record feature/wechat-intent-channel-separation as merged and provide a reproducible admin-db toggle for Tang canary LLM router shadow on production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add channel prefixes, pin edit targets in Cursor prompts, and force fresh sessions for page refine URLs so DeepSeek/Goose chat history does not pollute page tasks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fixes Tang-style follow-ups like「页面还不够详细」or linked HTML update requests from falling through to Goose chat and hitting stale providers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Fixes Tang-style「做攻略」messages missing the 页面 keyword from entering Cursor, and forces provider refresh before DeepSeek/Kimi fallback after Cursor failures.
Co-authored-by: Cursor <cursoragent@cursor.com>
WeChat Goose turns always include tools, which the bridge PoC rejects with HTTP 501; keep Kimi/DeepSeek on the session while Cursor handles page execution separately.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add prod runner and LaunchAgent installer so Tang chatBridge toggle can reach a live OpenAI-compatible bridge after env enablement.
Co-authored-by: Cursor <cursoragent@cursor.com>
The cursor channel commit picked up unstaged harness bootstrap code without the service module, which broke Portal runtime bundling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose page/data/scheduled-task/chat-bridge switches in the智趣体验通道 config so Tang can roll out Cursor paths independently with DeepSeek fallback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Plaza posts now resolve cover_url to /u/{slug}/pages/{urlSlug}.thumbnail.png
instead of MindSpace workspace paths that fail on plaza.tkmind.cn. Public-html
and chat quick-plaza flows regenerate workspace thumbnails with force:true
after hero images are on disk so feed cards embed the generated art.
Co-authored-by: Cursor <cursoragent@cursor.com>
When a workspace file was soft-deleted but its workspace:// storage_key row remains, re-sync now restores and updates the asset instead of inserting a duplicate version that breaks WeChat Agent delivery.
Co-authored-by: Cursor <cursoragent@cursor.com>
Automates copying the local deepseek-cp provider key, rebinding Goose executors, and syncing all goosed targets on 103.
Co-authored-by: Cursor <cursoragent@cursor.com>
When DeepSeek returns 402, try other chat providers before giving up, and cancel the sole active task only during LLM outages so user 123 can cancel without Goose.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use a lightweight LLM over active task lists to pick taskId for cancel,
exclude page.generate from scheduled-task inbound, and remove single-task
auto-cancel so Cursor page generation stays isolated.
Co-authored-by: Cursor <cursoragent@cursor.com>
When a user has exactly one active automation task, cancel it by taskId
after listTasks instead of relying on Goose when the LLM provider fails.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop schedule todo replies from intercepting cancel/list/create automation
requests, and recognize 有哪些 for inbound scheduled task listing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pass cancel requests to Goose like create instead of inbound title matching,
and add scheduled_task_update_spec so format or execution constraints update
taskSpec without triggering page delivery guards.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop ITL regex from intercepting new messages before Agent execution; move
scheduled task and schedule write confirmation to MCP tool calls with draft commit on 确认.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep Context Stability First as the active plan, document reuse vs conflict, and freeze the 15-question answers so the next session does not redesign from scratch.
Co-authored-by: Cursor <cursoragent@cursor.com>
Phase B appends snapshot context when leaving h5direct sessions so Goose no longer starts blind. Phase C lets the 0.72 fallback return null on gated chat text so the existing LLM router can run, flags default off.
Co-authored-by: Cursor <cursoragent@cursor.com>
Display plan total, remaining, and used amounts with plain comma-separated numbers so H5 balance details match backend token accounting.
Co-authored-by: Cursor <cursoragent@cursor.com>
Document R1–R3 root causes in the H5 direct/agent routing path, reject the Task Runtime approach, and define a phased rollout with Memory V2 compatibility constraints.
Co-authored-by: Cursor <cursoragent@cursor.com>
Non-allowlisted users stay on the existing Goose/DeepSeek path; only memindadm whitelist users enter the TKMind Cursor channel on selected intents and channels.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unblocks production Gate when promoting commits that touch cursor bridge,
tool gateway, help escalation, loading tips, and setup scripts.
Co-authored-by: Cursor <cursoragent@cursor.com>
New followers receive capability overview plus WeChat anchor links for the
deep intro page and account binding instead of exposing raw URLs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Materialize wechat-mp uploads into dated public/images paths during vision
preprocessing and fail closed when delivered HTML references stale workspace
images instead of the current turn allowlist.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep correction follow-ups on Agent using session transcript and active task
context, and let Page Data validation reach Orchestrator when mode is active
instead of requiring shadowEngine.
Co-authored-by: Cursor <cursoragent@cursor.com>
Parse Cursor CLI usage from stream-json output and charge through billSessionUsage so subscription quota is consumed first and wallet overage applies when needed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align publication validation, portal gate HTML, H5 publish UI, MCP docs,
and page-data skill guidance so passwords like 888888 are accepted while
3-character values such as 888 remain rejected.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add dry-run, e2e, and poem-page remediation scripts for cursor executor
and help escalation verification.
Co-authored-by: Cursor <cursoragent@cursor.com>
Surface backend loading_tip SSE events in chat UI with shared tip pool
and styles for long-running TKMind 智趣 tasks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Recover requiredExecutor fallback, direct cursor launch in tool gateway,
and user-facing brand sanitization in source so the next portal release
can replace manual bundled edits on 103.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship the WeChat Cursor executor helpers referenced by the page delivery path so tests and runtime imports resolve consistently.
Co-authored-by: Cursor <cursoragent@cursor.com>
Refresh/login previously dropped active subscription from the client user
payload, so paid users saw a 0% balance ring despite valid plan quota.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship Leaflet 1.9.4 under public/assets/leaflet and rewrite common CDN script/stylesheet URLs during publish and public HTML delivery, matching the existing Chart.js guard pattern.
Co-authored-by: Cursor <cursoragent@cursor.com>
Route explicit text-only Q&A away from Agent before page-generation rules,
and add a script to enable Router + tighter memory budgets on 103 without
changing the global deepseek-v4-pro model.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expand ASR normalization and colloquial reminder parsing so simple timed reminders route to L1 confirm cards instead of the agent, and disable schedule-guard false failures when ITL is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Support colloquial forms like「设置每天18:00提醒打卡」, persist daily metadata on
commit, and schedule the next reminder after each delivery.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop tables created with intent_kind instead of layer/draft_type so ITL draft
inserts succeed after one-off migrate scripts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Voice/wechat ASR often emits forms like "17 :08", which bypassed timed_reminder
classification and fell through to agent_schedule + schedule-guard false failures.
Co-authored-by: Cursor <cursoragent@cursor.com>