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

134 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
sidebar_position: 15
title: Implementation Status
sidebar_label: Implementation Status
description: Current MindSpace implementation progress and validation record
---
# 开发进度
## 2026-06-12Phase 0 / Sprint 12
已完成:
- 新增 `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-12Phase 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-12Phase 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-12Phase 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、重新发布与下线。
下一批:
- 发布访问事件明细、时间趋势、来源和设备统计。
- 脱敏副本生成与用户级安全规则。
- 页面封面、公开个人主页和分享卡片。