john
a15cc66f31
docs: register fix/wechat-schedule-delivery-false-success branch disposition
...
Memind CI / Test, build, and release guards (push) Successful in 3m42s
Record merge into main and 103 fast release artifact for the WeChat
deferred delivery reminder fix.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:45:54 +08:00
john
d820247aa1
fix(schedule): retry reminders when WeChat delivery is deferred
...
Memind CI / Test, build, and release guards (push) Successful in 3m32s
Treat deferred/skipped customer-service sends as failures so reminder worker
does not mark reminders sent, and add a 103 read-only health check script.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:30:53 +08:00
tkmind
eecfb79042
Merge pull request 'feat(seo): 工作区 public/*.html 默认纳入 SEO 收录' ( #51 ) from feature/workspace-public-implicit-seo into main
Memind CI / Test, build, and release guards (push) Successful in 3m19s
2026-09-16 12:56:20 +00:00
john
745e9b691d
feat(seo): 工作区 public/*.html 默认纳入 SEO 收录
...
Memind CI / Test, build, and release guards (pull_request) Successful in 3m35s
未点公开发布但已落盘到 public/ 的页面,在无在线非 public 发布阻挡时
合成 implicit public snapshot,注入 canonical/JSON-LD 并扫描进 sitemap。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 20:49:20 +08:00
tkmind
422ff8647c
Merge pull request 'docs: register feature/baidu-seo-push branch disposition' ( #50 ) from docs/baidu-seo-push-disposition into main
Memind CI / Test, build, and release guards (push) Successful in 3m20s
2026-09-16 11:26:59 +00:00
john
607e0d758b
docs: register feature/baidu-seo-push branch disposition
...
Memind CI / Test, build, and release guards (pull_request) Failing after 2m58s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 19:25:46 +08:00
tkmind
61a594f10a
Merge pull request 'fix(test): 微信草稿缩略图测试改用自包含 fixture' ( #49 ) from feature/baidu-seo-push into main
Memind CI / Test, build, and release guards (push) Successful in 4m41s
2026-09-16 11:17:34 +00:00
john
856096674a
fix(test): 微信草稿缩略图测试改用自包含 fixture
...
Memind CI / Test, build, and release guards (pull_request) Successful in 3m41s
CI 环境无 gitignore 的 MindSpace/august-afternoon.html,导致 resolveWechatDraftThumbPath 用例 ENOENT。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 16:49:54 +08:00
tkmind
1e4f6433ff
feat(seo): 固化 m.tkmind.cn 百度验证、推送与 sitemap 去重
Memind CI / Test, build, and release guards (push) Failing after 3m54s
2026-09-16 08:45:14 +00:00
john
f281f15788
feat(seo): 固化 m.tkmind.cn 百度验证、推送与 sitemap 去重
...
Memind CI / Test, build, and release guards (pull_request) Failing after 3m21s
让 Portal 首页稳定注入站长验证 meta,并提供 sitemap 批量推送脚本与 LaunchAgent 安装入口;sitemap/llms 对同页优先保留 /u/ canonical URL。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 16:28:46 +08:00
john
0f692ab68f
docs: register feature/wechat-news-morning-inline-v2 branch disposition
...
Memind CI / Test, build, and release guards (push) Failing after 4m38s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 15:21:55 +08:00
john
b8bcbcb764
feat(wechat): 早报草稿改用内联模板并去掉正文大封面
...
让定时任务按新版式推送草稿:热门旅游城市天气、无 Hero logo,并约束生成页必须写城市天气卡。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 15:20:44 +08:00
john
96d8e119ed
docs: register feature/seo-geo-universal branch disposition
...
Memind CI / Test, build, and release guards (push) Failing after 2m58s
记录 SEO/GEO 全量能力合并 main 与 103 发布 20260916-103611-8d475087。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:43:02 +08:00
john
8d475087d2
test(wechat): 隔离 sidecar 缩略图候选用例,避免 SEO 回填污染
...
Memind CI / Test, build, and release guards (push) Failing after 3m37s
改用临时目录 fixture,不再依赖本地 MindSpace 可被 backfill 改写的 HTML。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:35:34 +08:00
john
357e26ab49
feat(seo-geo): 落盘自动补齐与 143 全量回填支持
...
Memind CI / Test, build, and release guards (pull_request) Failing after 7m12s
Memind CI / Test, build, and release guards (push) Has been cancelled
Finish/交付写盘前自动回填 mindspace-geo,扩展 storage publications 扫描与 geo meta 解析,并增加 143 生产回填脚本。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 10:26:02 +08:00
john
acca846856
feat(seo-geo): 全页面 SEO/GEO 回填、统一检查与 Plaza 注入
...
Memind CI / Test, build, and release guards (pull_request) Failing after 4m17s
引入批量回填与审计工具链,强制 mindspace-geo 元数据,扩展 sitemap/llms 收录 /learn,并为 Plaza 壳页注入 canonical/OG/JSON-LD;本地 593 页已通过 check:mindspace-cover。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:36:01 +08:00
john
7ab7bf0f2d
Merge branch 'docs/learn-branch-disposition'
...
Memind CI / Test, build, and release guards (push) Failing after 2m47s
Register closed disposition for feature/learn-standalone-pages.
2026-09-16 09:15:12 +08:00
john
51a32bf6f2
docs: register feature/learn-standalone-pages branch disposition
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:15:12 +08:00
john
01b9a8c16d
Merge branch 'feature/learn-standalone-pages'
...
Memind CI / Test, build, and release guards (push) Has been cancelled
Ship learn standalone pages and MindSpace background list sync fix.
2026-09-16 09:13:49 +08:00
john
63f1b8ee44
test(portal): expect /learn static route in delivery order
...
Align static delivery route inventory with the learn standalone pages mount
so fast-release guard tests pass on feature/learn-standalone-pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 09:00:59 +08:00
john
264c213fbe
fix(mindspace): use lightweight page sync for background list refresh
...
Background page list sync was calling syncAndDeliver over the remote adapter,
which could exceed the 60s timeout for heavy users and block Portal. Route list
sync through pageSyncService only via listSync while keeping full delivery on
Finish and agent-run paths.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 08:53:58 +08:00
john
f9e105acd0
feat(learn): add standalone /learn pages backed by Page Data
...
Serve lightweight child/parent learning assistant pages at /learn without
MindSpace injection, with a rebuild script and Portal static route.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 17:17:18 +08:00
John
b99ddbacee
docs: register feature/news-morning-force-archive disposition
...
Memind CI / Test, build, and release guards (push) Failing after 2m55s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 08:25:22 +08:00
John
b89b74f29d
fix(wechat): 强制重生成先归档当日早报,避免沿用旧 HTML
...
forceGenerateOnce 若看到已有 daily-news-MMDD.html 会立刻当完成,SearXNG 新稿写不进去。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 08:25:12 +08:00
John
0edb3716d5
docs: register feature/news-morning-searxng-prefetch disposition
...
Memind CI / Test, build, and release guards (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 08:15:35 +08:00
John
34ab59e0af
feat(wechat): 早报生成预取 SearXNG 新闻,覆盖国内国际热点
...
生成任务不再只靠 web_search:先并行检索国内/国际/热门事件等,再要求 tkmind_search 与 web_search 补漏写页。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 08:15:12 +08:00
John
8798bf07fa
test(wechat): forceGenerateOnce 用例补上当日 slug 规则
...
Memind CI / Test, build, and release guards (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 06:13:54 +08:00
John
d966713d3f
docs: register feature/news-morning-fresh-daily disposition
...
Memind CI / Test, build, and release guards (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 06:12:07 +08:00
John
4fc488ad33
fix(wechat): 早报必须搜当日新闻,禁止用旧稿充草稿
...
生成说明强制联网搜索当天内容,pushDraft 拒绝非当日页面;forceGenerateOnce 用于发版后重跑今日早报。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 06:11:36 +08:00
john
b6d85d487a
Update WeChat draft follow template
Memind CI / Test, build, and release guards (push) Failing after 2m51s
2026-09-14 15:36:40 +08:00
John
64b5819978
chore: allow esbuild builds in pnpm workspace
...
Memind CI / Test, build, and release guards (push) Failing after 3m13s
Keep local pnpm from blocking esbuild postinstall when switching machines.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:28:56 +08:00
John
f09a03b8b2
fix(deepseek): sanitize empty OpenAI-compat SSE fields
...
Strip dummy finish_reason/function_call payloads so downstream clients do not treat incomplete chunks as real tool calls.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:28:56 +08:00
John
9862662bb2
docs: register feature/wechat-draft-long-page-errors disposition
...
Memind CI / Test, build, and release guards (push) Has been cancelled
修复已进入 origin/main,该功能分支改为只读追溯,不再作为开发或发布来源。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 12:52:32 +08:00
John
014c3b7981
fix(wechat): 长文推送先留页脚,失败弹窗展示真实原因
...
Memind CI / Test, build, and release guards (push) Has been cancelled
超过 2 万字时不再把阅读原文和关注区裁掉;公开页错误态不再误报需要登录 MindSpace。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 12:51:06 +08:00
John
47cbb4615b
docs: register feature/learn-assistant branch disposition
...
该分支学习助手提交尚未进入 main,登记为禁止再次引用,避免继续阻塞新的开发分支。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 12:51:06 +08:00
John
ce2a4b0e1a
feat(intent): 歧义任务走 LLM 路由,并在选中 agent 时离开直聊会话
...
Memind CI / Test, build, and release guards (push) Has been cancelled
对比/清单/行程等口吻按人群场景交给分类器;本机 .env 可覆盖 admin-db 的 router 开关。
顺带在 MindSpace MCP token 过期时轮换 Goose 会话,避免旧会话空 Finish。
2026-09-12 11:07:45 +08:00
John
58909a21a7
fix(search): 实时问答先预取 SearXNG,避免热榜整页截断崩溃
...
Portal 在 web 技能提交 Goose 前注入专用搜索结果,并要求先 tkmind_search、禁止先 fetch_url 抓热榜整页。
2026-09-12 11:04:23 +08:00
John
e8412adde9
fix(test): pin news morning preview clock to the fixture date
...
Memind CI / Test, build, and release guards (push) Has been cancelled
previewToday() used the real clock, so the Sep 10 fixture failed on later calendar days and blocked Portal fast-release guards.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 09:38:48 +08:00
John
06ba9e8bb7
fix(portal): remember theme choice and restore light as default
...
Stop the one-time force-dark migration from overriding users, default first visits to light, and roll forced-dark browsers back to light once.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 09:30:28 +08:00
john
0e7e4829db
fix(wechat): sync MindSpace pages after MP generation and redirect on 401
...
Memind CI / Test, build, and release guards (push) Failing after 3m31s
WeChat page delivery now triggers syncUserGeneratedPages so write_file HTML
gets page records; public share widget redirects unauthenticated owners to
WeChat OAuth instead of only showing an error.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 19:58:44 +08:00
john
2c3c1f7a52
feat(wechat): hand off page.generate timeouts to Cursor after 20 minutes
...
Memind CI / Test, build, and release guards (push) Failing after 2m37s
Wire WECHAT_AGENT_REPLY_TIMEOUT into the same Cursor takeover path used by
agent runs, raise the default WeChat reply timeout to 20 minutes, and fall
back to env-based tool-gateway detection when runtime exports are missing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 15:31:19 +08:00
john
cb3fb352be
feat(agent-run): retry goose page timeouts with Cursor executor
...
Memind CI / Test, build, and release guards (push) Failing after 11m45s
When a page-generation run times out without recoverable HTML, retry once
via Cursor code executor if MEMIND_CURSOR_PAGE_TIMEOUT_TAKEOVER is enabled.
Also release delivery contracts after successful deliverable recovery.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 13:40:05 +08:00
john
f504cd9530
feat(portal): one-time migration forces dark theme for all users
...
Reset saved light preferences once via memind-theme-migration marker so
existing visitors switch to dark on next load; inline boot script and OA
drive share the same migration version.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 13:36:14 +08:00
john
add36efa07
test(release): fix fast-release guards after 143 migration
...
Memind CI / Test, build, and release guards (push) Failing after 3m19s
Use inline daily-news HTML fixture instead of missing dev page file,
and assert WireGuard upstream 10.10.0.2 in canary release script test.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 12:39:38 +08:00
john
e7df15e046
test(wechat): align morning draft assertion with compact read-original link
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 12:35:16 +08:00
john
d8eaef3fbd
feat(wechat): MindSpace public draft push with 143 host defaults
...
Add public-page WeChat draft button, publication standard conversion for poem/prose/generic pages, and quick push APIs. Default Studio release SSH targets to john@180.159.29.143 with 105 edge upstream via 10.10.0.2.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 12:32:13 +08:00
john
c5284a70c9
chore(infra): route 105 nginx upstream to 143 via WireGuard
...
Memind CI / Test, build, and release guards (push) Failing after 5m20s
After 103 public IP migration, 105 edge configs proxy to 10.10.0.2:8081 instead of the unreachable 58.38.22.103 or direct public 180.159.29.143.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 12:29:32 +08:00
john
b09b269199
chore(infra): migrate 103 production host IP to 180.159.29.143
...
Update scripts, docs, nginx configs, and release-gate safety checks after the Studio server public IP changed from 58.38.22.103.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 12:28:19 +08:00
john
03089a12ce
feat(portal): default to dark theme for new visitors
...
Memind CI / Test, build, and release guards (push) Successful in 3m11s
First-time and cleared-storage users see dark mode; saved light preference is unchanged. Inline boot script avoids a light flash before React loads.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 11:33:39 +08:00
john
1f6e8c9bad
feat(wechat): expose today news morning status and strict preview APIs
...
Memind CI / Test, build, and release guards (push) Failing after 6m14s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 08:52:58 +08:00