Files
john 4e21ca937a
Deploy Documentation / deploy (push) Has been cancelled
Canary / Prepare Version (push) Has been cancelled
Canary / build-cli (push) Has been cancelled
Canary / Upload Install Script (push) Has been cancelled
Canary / bundle-desktop (push) Has been cancelled
Canary / bundle-desktop-intel (push) Has been cancelled
Canary / bundle-desktop-linux (push) Has been cancelled
Canary / bundle-desktop-windows (push) Has been cancelled
Canary / bundle-desktop-windows-cuda (push) Has been cancelled
Canary / Release (push) Has been cancelled
Unused Dependencies / machete (push) Has been cancelled
CI / changes (push) Has been cancelled
CI / Check Rust Code Format (push) Has been cancelled
CI / Build and Test Rust Project (push) Has been cancelled
CI / Build Rust Project on Windows (push) Has been cancelled
CI / Check MSRV (push) Has been cancelled
CI / Lint Rust Code (push) Has been cancelled
CI / Check Generated Schemas are Up-to-Date (push) Has been cancelled
CI / Test and Lint Electron Desktop App (push) Has been cancelled
CI / H5 Plaza Tests and Build (push) Has been cancelled
Live Provider Tests / check-fork (push) Has been cancelled
Live Provider Tests / changes (push) Has been cancelled
Live Provider Tests / Build Binary (push) Has been cancelled
Live Provider Tests / Smoke Tests (push) Has been cancelled
Live Provider Tests / Smoke Tests (Code Execution) (push) Has been cancelled
Live Provider Tests / Compaction Tests (push) Has been cancelled
Live Provider Tests / goose server HTTP integration tests (push) Has been cancelled
Publish Ask AI Bot Docker Image / docker (push) Has been cancelled
Publish Docker Image / docker (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Add TKMind platform extensions, H5/MindSpace stack, and deployment tooling.
Fork goose with custom MCP widgets, platform extensions (aider, git, web, search),
MindSpace H5 backend/frontend, Plaza/Ops UIs, and deploy scripts for tkmind.cn.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 21:30:20 +08:00

6.4 KiB
Raw Permalink Blame History

sidebar_position, title, sidebar_label, description
sidebar_position title sidebar_label description
15 Implementation Status Implementation Status Current MindSpace implementation progress and validation record

开发进度

2026-06-12Phase 0 / Sprint 12

已完成:

  • 新增 h5_user_spacesh5_space_categories
  • 现有普通用户自动回填默认 Space。
  • 注册和管理员创建普通用户时,在同一事务中初始化 Space。
  • 默认 5 MB 配额和 2 MB 单文件配置。
  • 默认创建 OA、私人、公开、草稿、归档五个系统分类。
  • 用户增加 slug、email、plan_type 和 password_algorithm 基础字段。
  • 新增 Space、配额和分类 API。
  • 聊天页增加“我的空间”入口。
  • 新增响应式 MindSpace 首页、配额展示和分类卡片。
  • 上传会话、资产与资产版本表及完整上传生命周期。
  • 上传完成时同步基础安全扫描;风险文件进入 quarantine。
  • 下载门禁、软删除保留存储文件、过期上传会话清扫。
  • 登录失败限流、DB 持久化 session、禁用账户撤销会话。
  • MindSpace 审计日志(下载/删除)。
  • API request_id、Origin CSRF 校验、基础安全响应头。
  • 环境变量功能开关(MINDSPACE_*)。

验证:

  • H5 单元测试:40+ 项通过(含扫描、资产隔离、登录限流)。
  • Vite 生产构建通过。
  • MySQL 真实迁移通过。
  • 注册、登录、Space API 端到端 smoke test 通过。

下一批:

  • Argon2id 密码升级与迁移。
  • 完整 PII/HTML 扫描与脱敏副本。
  • 发布 bundle、分享 token 和公开页 CSP。
  • 移动端底部导航与卡片流主页。
  • OpenAPI 生成与 CI 契约检查。

2026-06-12Phase 0 / Sprint 3 页面草稿

已完成:

  • 新增 h5_page_recordsh5_page_versions
  • 页面正文以私有 Markdown 资产保存,每次保存创建递增版本且不覆盖历史内容。
  • 新增空白页面创建、列表、详情、编辑、版本历史和 owner-only 预览 API。
  • 聊天保存接口重新读取用户所属会话,并校验来源 AI 消息存在且对用户可见。
  • 页面更新使用 expected_version 乐观锁。
  • 草稿预览转义原始 HTML,使用严格 CSP 和禁止脚本的 sandbox iframe。
  • 聊天消息增加“保存为页面”面板,保存成功后直接进入页面详情。
  • 空间首页增加最近页面卡片流,草稿分类显示正式页面数量。
  • 页面详情支持标题、摘要、模板、正文编辑和版本历史。
  • 页面引用资产禁止普通删除,用户注销时数据库记录可级联清理。

验证:

  • H5 自动化测试:45 项通过。
  • Vite 生产构建和 MySQL 真实迁移通过。
  • 页面双用户 API E2E 通过,覆盖消息保存、恶意 HTML 转义、v1 到 v2、乐观锁、越权访问和配额累计。
  • 桌面浏览器完成“AI 消息 → 保存面板 → 页面详情 → 安全预览 → 保存 v2”。
  • 540 × 720 设备模式使用单列布局,修正 CSP 后控制台 0 条消息。

下一批:

  • 密码访问、私密链接和限时访问。
  • 页面缩略图、访问趋势和来源统计。
  • 脱敏副本和可配置安全规则。

2026-06-12Phase 0 / Sprint 4 安全发布

已完成:

  • 新增安全扫描、风险命中、发布记录和发布事件表。
  • 发布前校验当前页面版本、页面 slug、访问模式和内容风险。
  • 手机号、邮箱、外部链接产生可确认提醒;身份证号和银行卡号作为高风险阻断。
  • 中低风险命中必须由客户端明确确认,不能静默发布。
  • 发布时构建独立 HTML bundle,写入公开分类并计入用户配额。
  • 发布版本标记为不可变,公开路由只读取 bundle,不读取实时草稿。
  • 支持 publicowner_only 两种访问模式。
  • 支持长期页面地址 /u/{user_slug}/pages/{page_slug}
  • 支持同一页面重新发布,新记录上线时旧记录自动下线并保留事件历史。
  • 页面详情展示当前发布地址、访问次数、重新发布和立即下线操作。
  • 公开响应使用严格 CSP、nosniff 和按访问模式区分的缓存策略。
  • 发布、下线写入 MindSpace 审计日志;越权资源统一返回 404。
  • 三套 MindSpace E2E 改为自动加载环境并可独立启动测试服务。

验证:

  • H5 自动化测试:50 项通过。
  • Vite 生产构建和 Node 语法检查通过。
  • 上传资产、页面版本、安全发布三套真实 MySQL E2E 全部通过。
  • 发布 E2E 覆盖匿名公开访问、草稿/线上快照隔离、重新发布、仅自己可见、跨用户隔离、高风险阻断、下线和发布事件历史。
  • 浏览器完成“新建页面 → 邮箱风险提示 → 确认发布 → 公开地址”验收,公开响应 CSP 与不可变版本标识正确。
  • 空间首页实时显示公开页面数量,页面详情和卡片流使用中文状态。

下一批:

  • 发布访问趋势、来源和设备统计。
  • 脱敏副本生成与用户级安全规则。
  • 页面封面与公开主页卡片流。

2026-06-12Phase 0 / Sprint 5 受保护访问

已完成:

  • 发布访问模式扩展为 publicpasswordprivate_linktime_limitedlogin_requiredowner_only
  • 密码访问使用随机盐 scrypt 哈希,数据库和 URL 均不保存密码明文。
  • 密码页使用独立最小化 HTML 门禁,错误密码返回 403,正确密码才读取发布 bundle。
  • 私密链接使用 192 bit 随机 token,对外返回 /s/{token},数据库只保存 SHA-256 哈希和运维前缀。
  • 私密链接不暴露用户名,也不参与长期页面 slug 冲突。
  • 限时访问由服务端校验绝对过期时间,过期后自动转换为 expired 并返回 404。
  • 登录用户访问要求有效用户 session;游客返回 401。
  • 发布面板按访问模式动态显示密码和本地时区截止时间字段。
  • 受保护访问统一使用 private, no-store,只有完全公开页面允许短时公共缓存。
  • 页面过期、下线后再次发布仍记录为 republished,完整保留发布历史。

验证:

  • H5 自动化测试:52 项通过。
  • 六种访问模式真实 MySQL E2E 全部通过。
  • E2E 覆盖密码门禁、错误密码、私密 token、游客/登录用户差异、限时过期、owner-only、重新发布与下线。

下一批:

  • 发布访问事件明细、时间趋势、来源和设备统计。
  • 脱敏副本生成与用户级安全规则。
  • 页面封面、公开个人主页和分享卡片。