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>
134 lines
6.4 KiB
Markdown
134 lines
6.4 KiB
Markdown
---
|
||
sidebar_position: 15
|
||
title: Implementation Status
|
||
sidebar_label: Implementation Status
|
||
description: 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、重新发布与下线。
|
||
|
||
下一批:
|
||
|
||
- 发布访问事件明细、时间趋势、来源和设备统计。
|
||
- 脱敏副本生成与用户级安全规则。
|
||
- 页面封面、公开个人主页和分享卡片。
|