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
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>
6.4 KiB
6.4 KiB
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-12:Phase 0 / Sprint 1–2
已完成:
- 新增
h5_user_spaces和h5_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-12:Phase 0 / Sprint 3 页面草稿
已完成:
- 新增
h5_page_records和h5_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-12:Phase 0 / Sprint 4 安全发布
已完成:
- 新增安全扫描、风险命中、发布记录和发布事件表。
- 发布前校验当前页面版本、页面 slug、访问模式和内容风险。
- 手机号、邮箱、外部链接产生可确认提醒;身份证号和银行卡号作为高风险阻断。
- 中低风险命中必须由客户端明确确认,不能静默发布。
- 发布时构建独立 HTML bundle,写入公开分类并计入用户配额。
- 发布版本标记为不可变,公开路由只读取 bundle,不读取实时草稿。
- 支持
public和owner_only两种访问模式。 - 支持长期页面地址
/u/{user_slug}/pages/{page_slug}。 - 支持同一页面重新发布,新记录上线时旧记录自动下线并保留事件历史。
- 页面详情展示当前发布地址、访问次数、重新发布和立即下线操作。
- 公开响应使用严格 CSP、
nosniff和按访问模式区分的缓存策略。 - 发布、下线写入 MindSpace 审计日志;越权资源统一返回 404。
- 三套 MindSpace E2E 改为自动加载环境并可独立启动测试服务。
验证:
- H5 自动化测试:50 项通过。
- Vite 生产构建和 Node 语法检查通过。
- 上传资产、页面版本、安全发布三套真实 MySQL E2E 全部通过。
- 发布 E2E 覆盖匿名公开访问、草稿/线上快照隔离、重新发布、仅自己可见、跨用户隔离、高风险阻断、下线和发布事件历史。
- 浏览器完成“新建页面 → 邮箱风险提示 → 确认发布 → 公开地址”验收,公开响应 CSP 与不可变版本标识正确。
- 空间首页实时显示公开页面数量,页面详情和卡片流使用中文状态。
下一批:
- 发布访问趋势、来源和设备统计。
- 脱敏副本生成与用户级安全规则。
- 页面封面与公开主页卡片流。
2026-06-12:Phase 0 / Sprint 5 受保护访问
已完成:
- 发布访问模式扩展为
public、password、private_link、time_limited、login_required和owner_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、重新发布与下线。
下一批:
- 发布访问事件明细、时间趋势、来源和设备统计。
- 脱敏副本生成与用户级安全规则。
- 页面封面、公开个人主页和分享卡片。