diff --git a/AGENTS.md b/AGENTS.md
index 0eed5db..5bc9959 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -10,9 +10,9 @@ Skelet 是一个介绍、分类、评测开源项目骨架的网站。目标用
## 当前阶段
-Phase 1(内容模型)部分完成。T-101 / T-102 / T-103 已实现并验收,T-104 因缺少人工确认的首批项目清单而 BLOCKED。
+Phase 1(内容模型)完成。T-101 / T-102 / T-103 / T-104 已实现并验收。
-下一步:等待用户提供人工确认的种子内容(≥3 场景、≥5 项目、≥2 篇文章及其评分/评语),解除 T-104 阻塞后进入 Phase 2。
+下一步:进入 Phase 2,从 [`docs/06-tasks.md`](docs/06-tasks.md) 领取 `T-201`:实现基础页面框架。
## 开发环境
diff --git a/core/management/__init__.py b/core/management/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/core/management/commands/__init__.py b/core/management/commands/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/core/management/commands/seed_data.py b/core/management/commands/seed_data.py
new file mode 100644
index 0000000..240a69d
--- /dev/null
+++ b/core/management/commands/seed_data.py
@@ -0,0 +1,335 @@
+from django.core.management.base import BaseCommand
+
+from wagtail.models import Page
+
+from home.models import HomePage
+from core.models import (
+ Language,
+ Framework,
+ DatabaseOption,
+ ScenarioIndexPage,
+ ScenarioPage,
+ ProjectIndexPage,
+ SkeletonProjectPage,
+ ArticleIndexPage,
+ ArticlePage,
+)
+
+
+class Command(BaseCommand):
+ help = "Seed database with user-confirmed initial content"
+
+ def _create_snippets(self):
+ languages = [
+ ("Python", "python"),
+ ("JavaScript", "javascript"),
+ ("Go", "go"),
+ ]
+ for name, slug in languages:
+ Language.objects.get_or_create(name=name, slug=slug)
+
+ frameworks = [
+ ("Django", "django"),
+ ("Flask", "flask"),
+ ("Vue", "vue"),
+ ("Wails", "wails"),
+ ]
+ for name, slug in frameworks:
+ Framework.objects.get_or_create(name=name, slug=slug)
+
+ databases = [
+ ("SQLite", "sqlite"),
+ ("PostgreSQL", "postgresql"),
+ ("MySQL", "mysql"),
+ ]
+ for name, slug in databases:
+ DatabaseOption.objects.get_or_create(name=name, slug=slug)
+
+ self.stdout.write(" Snippets created")
+
+ def _create_pages(self):
+ home = HomePage.objects.get(slug="home")
+
+ scenario_index = ScenarioIndexPage(title="Scenarios", slug="scenarios")
+ home.add_child(instance=scenario_index)
+
+ scenarios_data = [
+ ("Modern Desktop App Templates", "modern-desktop-app-templates"),
+ ("CRM", "crm"),
+ ("ERP", "erp"),
+ ]
+ for title, slug_val in scenarios_data:
+ scenario = ScenarioPage(title=title, slug=slug_val)
+ scenario_index.add_child(instance=scenario)
+
+ project_index = ProjectIndexPage(title="Projects", slug="projects")
+ home.add_child(instance=project_index)
+
+ article_index = ArticleIndexPage(title="Articles", slug="articles")
+ home.add_child(instance=article_index)
+
+ self.stdout.write(" Page tree created")
+ return scenario_index, project_index, article_index
+
+ def _get_snippets(self):
+ lang_python = Language.objects.get(slug="python")
+ lang_js = Language.objects.get(slug="javascript")
+ lang_go = Language.objects.get(slug="go")
+ fw_django = Framework.objects.get(slug="django")
+ fw_flask = Framework.objects.get(slug="flask")
+ fw_vue = Framework.objects.get(slug="vue")
+ fw_wails = Framework.objects.get(slug="wails")
+ db_sqlite = DatabaseOption.objects.get(slug="sqlite")
+ db_pg = DatabaseOption.objects.get(slug="postgresql")
+ db_mysql = DatabaseOption.objects.get(slug="mysql")
+
+ return {
+ "lang_python": lang_python,
+ "lang_js": lang_js,
+ "lang_go": lang_go,
+ "fw_django": fw_django,
+ "fw_flask": fw_flask,
+ "fw_vue": fw_vue,
+ "fw_wails": fw_wails,
+ "db_sqlite": db_sqlite,
+ "db_pg": db_pg,
+ "db_mysql": db_mysql,
+ }
+
+ def _create_projects(self, project_index, s):
+ crm_scenario = ScenarioPage.objects.get(slug="crm")
+ erp_scenario = ScenarioPage.objects.get(slug="erp")
+ desktop_scenario = ScenarioPage.objects.get(slug="modern-desktop-app-templates")
+
+ projects = [
+ {
+ "title": "DjangoCRM",
+ "slug": "djangocrm",
+ "summary": (
+ "A free open-source Python CRM built on Django Admin, "
+ "integrating task management, email marketing, and data "
+ "analytics. No proprietary frameworks, no vendor lock-in, "
+ "no SaaS limitations."
+ ),
+ "github_url": "https://github.com/DjangoCRM/django-crm",
+ "license_name": "Open Source",
+ "scenarios": [crm_scenario],
+ "languages": [s["lang_python"], s["lang_js"]],
+ "frameworks": [s["fw_django"]],
+ "databases": [s["db_sqlite"], s["db_pg"], s["db_mysql"]],
+ "maturity": "stable",
+ "maintenance_status": "active",
+ "structure_score": 4, "docs_score": 4, "tests_score": 3,
+ "example_score": 3, "dependency_score": 3, "incremental_score": 4,
+ "recommended_for": (
+ "Feature-complete Django CRM that directly reuses Django "
+ "Admin interface, focusing on business logic rather than "
+ "reinventing UI frameworks."
+ ),
+ "is_featured": True,
+ },
+ {
+ "title": "django-erp-framework",
+ "slug": "django-erp-framework",
+ "summary": (
+ "A lightweight Django-based ERP development framework "
+ "with built-in reporting engine, chart components, "
+ "dashboard widget system, and custom admin backend."
+ ),
+ "github_url": "https://github.com/RamezIssac/django-erp-framework",
+ "license_name": "Open Source",
+ "scenarios": [erp_scenario],
+ "languages": [s["lang_python"], s["lang_js"]],
+ "frameworks": [s["fw_django"]],
+ "databases": [s["db_sqlite"], s["db_pg"], s["db_mysql"]],
+ "maturity": "stable",
+ "maintenance_status": "active",
+ "structure_score": 3, "docs_score": 3, "tests_score": 3,
+ "example_score": 3, "dependency_score": 3, "incremental_score": 3,
+ "recommended_for": (
+ "Lightweight and flexible Django ERP skeleton, suitable "
+ "for rapid development of small to medium business systems."
+ ),
+ "is_featured": True,
+ },
+ {
+ "title": "EeazyCRM",
+ "slug": "eeazycrm",
+ "summary": (
+ "A lightweight open-source CRM built with Flask, "
+ "covering customer, lead, and contact management "
+ "with minimal code."
+ ),
+ "github_url": "https://github.com/jagjot2008/EeazyCRM",
+ "license_name": "Open Source",
+ "scenarios": [crm_scenario],
+ "languages": [s["lang_python"]],
+ "frameworks": [s["fw_flask"]],
+ "databases": [s["db_sqlite"], s["db_mysql"]],
+ "maturity": "experimental",
+ "maintenance_status": "slow",
+ "structure_score": 3, "docs_score": 2, "tests_score": 2,
+ "example_score": 2, "dependency_score": 2, "incremental_score": 2,
+ "recommended_for": (
+ "The most minimal Python CRM implementation, built with "
+ "Flask microframework, ideal for learning and quick customization."
+ ),
+ },
+ {
+ "title": "koalixcrm",
+ "slug": "koalixcrm",
+ "summary": (
+ "A Django-based open-source CRM + ERP system covering "
+ "contacts, products, documents, projects, quotes, orders, "
+ "invoices, purchasing, inventory, and accounting."
+ ),
+ "github_url": "https://github.com/KoalixSwitzerland/koalixcrm",
+ "official_url": "http://www.koalix.org",
+ "license_name": "Open Source",
+ "scenarios": [crm_scenario, erp_scenario],
+ "languages": [s["lang_python"]],
+ "frameworks": [s["fw_django"]],
+ "databases": [s["db_pg"], s["db_sqlite"]],
+ "maturity": "stable",
+ "maintenance_status": "active",
+ "structure_score": 3, "docs_score": 4, "tests_score": 3,
+ "example_score": 3, "dependency_score": 2, "incremental_score": 3,
+ "recommended_for": (
+ "Feature-complete out-of-box lightweight Django ERP/CRM "
+ "all-in-one solution."
+ ),
+ "is_featured": True,
+ },
+ {
+ "title": "SuiDemo",
+ "slug": "suidemo",
+ "summary": (
+ "A modern desktop application template built with Wails v3, "
+ "featuring multilingual support, dark/light theme switching, "
+ "SQLite CRUD, hotkey support, OCR, and extensible architecture."
+ ),
+ "github_url": "https://github.com/JinGongX/SuiDem",
+ "license_name": "Open Source",
+ "scenarios": [desktop_scenario],
+ "languages": [s["lang_go"]],
+ "frameworks": [s["fw_vue"], s["fw_wails"]],
+ "databases": [s["db_sqlite"]],
+ "maturity": "experimental",
+ "maintenance_status": "active",
+ "structure_score": 3, "docs_score": 3, "tests_score": 2,
+ "example_score": 3, "dependency_score": 2, "incremental_score": 3,
+ "recommended_for": (
+ "Quickly build cross-platform desktop applications "
+ "with Go + Vue, suitable for rapid prototyping."
+ ),
+ },
+ ]
+
+ for proj in projects:
+ scenarios = proj.pop("scenarios")
+ languages = proj.pop("languages")
+ frameworks = proj.pop("frameworks")
+ databases = proj.pop("databases")
+
+ project = SkeletonProjectPage(**proj)
+ project_index.add_child(instance=project)
+ project.languages.add(*languages)
+ project.scenarios.add(*scenarios)
+ if frameworks:
+ project.frameworks.add(*frameworks)
+ if databases:
+ project.databases.add(*databases)
+ self.stdout.write(f" Created project: {proj['title']}")
+
+ def _create_articles(self, article_index):
+ django_crm = SkeletonProjectPage.objects.get(slug="djangocrm")
+ erp_framework = SkeletonProjectPage.objects.get(slug="django-erp-framework")
+
+ articles = [
+ {
+ "title": (
+ "DjangoCRM: A Free Open-Source Python CRM "
+ "Built on Django Admin"
+ ),
+ "slug": "djangocrm-free-open-source-python-crm",
+ "body": (
+ "
Project Positioning
"
+ "DjangoCRM is a free, open-source CRM built on Python "
+ "and Django. It leverages the Django Admin interface rather "
+ "than reinventing UI frameworks, allowing teams to focus on "
+ "business logic, data integrity, and extensibility.
"
+ "Core Features
"
+ "- 20+ interconnected CRM data models
"
+ "- Complex sales pipeline (Lead → Customer → Opportunity → Contract)
"
+ "- Task and project management with team assignment
"
+ "- Built-in email marketing and client
"
+ "- Analytical CRM with sales data analysis
"
+ "Tech Stack
"
+ "Backend: Django + Python | Database: PostgreSQL / MySQL / SQLite
"
+ ),
+ "related_projects": [django_crm],
+ },
+ {
+ "title": (
+ "Why Choose django-erp-framework Instead of Odoo"
+ ),
+ "slug": "why-choose-django-erp-framework-over-odoo",
+ "body": (
+ "Comparison with Odoo
"
+ "Odoo's community edition is powerful but has a steep "
+ "deployment and learning curve. django-erp-framework's design "
+ "philosophy is 'just enough': it provides a core skeleton "
+ "(reports + charts + widgets + admin) for you to build "
+ "business logic on top, rather than hundreds of pre-built modules.
"
+ "Who Should Use It
"
+ "- Small teams needing internal management systems quickly
"
+ "- Python developers who don't want Odoo's complexity
"
+ "- Projects that need ERP functionality embedded in Django
"
+ "- Beginners learning ERP system architecture
"
+ "Key Characteristics
"
+ "- Lightweight: only core infrastructure
"
+ "- Flexible: embeddable in existing Django projects
"
+ "- Clean: small codebase, easy to extend
"
+ "- Extensible: reporting engine usable standalone
"
+ ),
+ "related_projects": [erp_framework],
+ },
+ ]
+
+ for art in articles:
+ related = art.pop("related_projects")
+ article = ArticlePage(**art)
+ article_index.add_child(instance=article)
+ article.related_projects.add(*related)
+ self.stdout.write(f" Created article: {art['title']}")
+
+ def handle(self, *args, **options):
+ self.stdout.write("Creating snippets...")
+ self._create_snippets()
+
+ self.stdout.write("Creating page tree...")
+ scenario_index, project_index, article_index = self._create_pages()
+
+ self.stdout.write("Creating projects...")
+ s = self._get_snippets()
+ self._create_projects(project_index, s)
+
+ self.stdout.write("Creating articles...")
+ self._create_articles(article_index)
+
+ # Verify
+ self.stdout.write("")
+ self.stdout.write("=== Seed verification ===")
+ self.stdout.write(
+ f"Scenarios: {ScenarioPage.objects.count()} "
+ f"(≥3: {ScenarioPage.objects.count() >= 3})"
+ )
+ self.stdout.write(
+ f"Projects: {SkeletonProjectPage.objects.count()} "
+ f"(≥5: {SkeletonProjectPage.objects.count() >= 5})"
+ )
+ self.stdout.write(
+ f"Articles: {ArticlePage.objects.count()} "
+ f"(≥2: {ArticlePage.objects.count() >= 2})"
+ )
+ self.stdout.write("=== Done ===")
diff --git a/docs/06-tasks.md b/docs/06-tasks.md
index 2e512c2..7921e47 100644
--- a/docs/06-tasks.md
+++ b/docs/06-tasks.md
@@ -33,7 +33,7 @@
| T-101 | 建立场景、语言、框架、数据库、功能标签模型 | T-003 | Wagtail 后台可维护这些 Snippet;迁移文件生成并通过 migrate | DONE |
| T-102 | 建立骨架项目详情模型 | T-101 | `SkeletonProjectPage` 严格按 `04-architecture.md` §3.3 表和必填/默认附注实现;多对多用 `ParentalManyToManyField`;同时建 `ProjectIndexPage`;评分字段带 0-5 校验器;总分由分项计算 | DONE |
| T-103 | 建立文章模型 | T-101 | 可维护文章列表和详情;文章可链接骨架项目 | DONE |
-| T-104 | 准备首批种子内容 | T-102, T-103 | 至少有 3 个场景、5 个骨架项目、2 篇文章;候选项目、评分和评语须经人工确认,禁止模型编造(见详单) | BLOCKED |
+| T-104 | 准备首批种子内容 | T-102, T-103 | 至少有 3 个场景、5 个骨架项目、2 篇文章;候选项目、评分和评语须经人工确认,禁止模型编造(见详单) | DONE |
## Phase 2 · 前台 MVP
diff --git a/docs/current-state.md b/docs/current-state.md
index 8386363..1430256 100644
--- a/docs/current-state.md
+++ b/docs/current-state.md
@@ -17,8 +17,8 @@
- 技术栈:Wagtail 7.4.2 + Django 6.0.6 + Python 3.12 + SQLite;第一版英文单语言站点
- 生产代码:已初始化,`manage.py`、`skelet/`、`home/`、`search/`、`core/` 已建
- 测试:`home/tests.py` 含 5 个测试,`core/tests.py` 含 17 个测试,全部通过
-- 数据:已创建 superuser `admin`;尚未建立 seed 数据
-- 当前 blocker:T-104 等待人工确认首批项目清单(评分/评语禁止模型编造)
+- 数据:3 个场景、5 个骨架项目、2 篇文章已录入(`core/management/commands/seed_data.py`)
+- 当前 blocker:无;下一步执行 `T-201`(Phase 2 前台 MVP)
## 当前目录要点
@@ -42,9 +42,9 @@
## 任务看板状态
-- 已完成:`T-000`、`T-001`、`T-002`、`T-003`、`T-101`、`T-102`、`T-103`。
+- 已完成:`T-000`、`T-001`、`T-002`、`T-003`、`T-101`、`T-102`、`T-103`、`T-104`。
- 正在进行:无。
-- 下一个可领取任务:`T-104`(BLOCKED,等待人工确认种子内容)。
+- 下一个可领取任务:`T-201 实现基础页面框架`。
## 当前可运行内容
diff --git a/intro/DjangoCRM.txt b/intro/DjangoCRM.txt
new file mode 100644
index 0000000..c0142e9
--- /dev/null
+++ b/intro/DjangoCRM.txt
@@ -0,0 +1,87 @@
+项目名称:DjangoCRM
+
+github:https://github.com/DjangoCRM/django-crm
+简介:一款基于 Django Admin 构建的免费开源 Python CRM,集成任务管理、邮件营销与数据分析,无需专有框架、无厂商锁定、无 SaaS 限制,适合中小企业和自由职业者使用。
+
+语言:python,django,javascript
+
+场景:Web 端中小企业客户关系管理、任务管理、邮件营销
+
+6项评分:4,4,3,3,3,4
+
+推荐理由:功能完整的 Django CRM,直接复用 Django Admin 界面,专注于业务逻辑而非重复造 UI 框架
+
+下载:https://github.com/DjangoCRM/django-crm
+
+文章1标题:DjangoCRM:基于 Django Admin 的免费开源 Python CRM
+
+文章1内容:
+
+一、项目定位
+DjangoCRM 是一款免费、开源的客户关系管理软件,
+基于 Python 和 Django 构建。
+它充分利用 Django Admin 界面,而不是重新发明 UI 框架,
+让开发团队能专注于「业务逻辑」「数据完整性」和「可扩展性」。
+
+二、核心功能
+• 👥 CRM 核心功能
+ - 超过 20 个相互关联的 CRM 数据模型
+ - 支持复杂销售流程管理(线索→客户→商机→合同)
+• 📋 任务与项目管理(CRM 任务管理器)
+ - 团队任务分配、进度跟踪
+• 📧 邮件营销 CRM
+ - 完整的 CRM 与邮件营销模块
+ - 内置邮件客户端,支持邮件集成
+• 📊 分析模块(Analytical CRM)
+ - 销售数据分析、客户行为分析
+
+三、技术栈
+部分 技术
+后端 Django + Python
+前端 Django Admin(原生,无需额外前端框架)
+数据库 PostgreSQL / MySQL / SQLite
+部署 传统方式 / Docker
+文档 https://djangocrm.github.io/info
+
+四、快速开始
+# 方式一:从 GitHub 克隆
+git clone https://github.com/DjangoCRM/django-crm.git
+cd django-crm
+pip install -r requirements.txt
+python manage.py migrate
+python manage.py runserver
+
+# 方式二:通过 PyPI 安装(django-crm 包)
+pip install django-crm
+
+文章2标题:为什么选择 DjangoCRM 而不是 Salesforce 或 Odoo CRM
+
+文章2内容:
+
+一、设计哲学
+
+DjangoCRM 的设计理念与其他 CRM 截然不同:
+
+• 与其重新发明 UI 框架,不如充分利用 Django Admin
+• 专注于业务逻辑、数据完整性和可扩展性
+• 无厂商锁定(No Vendor Lock-in)
+• 无 SaaS 限制(No SaaS Limitations)
+• 无专有框架(No Proprietary Frameworks)
+
+二、适合谁用
+• 中小型企业(SMBs)——需要自托管 CRM 的团队
+• Python/Django 技术栈的团队——可深度定制
+• 自由职业者——免费、无用户数限制
+• 需要 CRM + 任务管理 + 邮件营销一体化的场景
+
+三、与 Odoo CRM 的对比
+• Odoo 需要运行其庞大的框架,DjangoCRM 只是标准 Django 项目
+• Odoo 社区版功能受限,DjangoCRM 完全开源免费
+• DjangoCRM 代码量更小,结构更清晰,更易二次开发
+• DjangoCRM 直接使用 Django Admin,学习成本低
+
+四、项目特点
+• 免费开源:真正的免费,无隐藏收费功能
+• 自托管:数据完全由自己掌控
+• 开箱即用:部署完成后即可进入 Admin 管理
+• 可扩展:标准 Django 项目,可任意添加自定义模块
diff --git a/intro/EeazyCRM.txt b/intro/EeazyCRM.txt
new file mode 100644
index 0000000..70462c6
--- /dev/null
+++ b/intro/EeazyCRM.txt
@@ -0,0 +1,92 @@
+项目名称:EeazyCRM
+
+github:https://github.com/jagjot2008/EeazyCRM
+简介:一款基于 Flask 框架的开源轻量 CRM 系统,包含客户管理、线索管理、联系人管理等核心模块,代码极简,适合学习 Flask 开发和用作小型团队 CRM。
+
+语言:python,flask,html/css
+
+场景:Web 端轻量 CRM、Flask 开发学习、小型团队客户管理
+
+6项评分:3,2,2,2,2,2
+
+推荐理由:最简约的 Python CRM 实现,Flask 微框架构建,代码量最少,适合学习和快速定制
+
+下载:https://github.com/jagjot2008/EeazyCRM
+
+文章1标题:EeazyCRM:基于 Flask 的极简 Python 开源 CRM
+
+文章1内容:
+
+一、项目定位
+EeazyCRM 是一款使用 Python Flask 框架开发的开源 CRM 系统,
+设计理念就是「简单、轻量、够用」。
+它提供最核心的 CRM 功能,没有多余的花哨特性,
+非常适合想学习 CRM 代码逻辑的开发者,
+或只需要基本客户管理功能的小团队。
+
+二、核心功能
+• 👥 客户管理
+ - 客户信息增删改查、分类管理
+• 🔍 线索管理(Leads)
+ - 潜在客户跟踪、线索状态管理
+• 📇 联系人管理
+ - 联系人信息维护、关联客户
+• 📝 活动日志
+ - 客户沟通记录、跟进历史
+
+三、技术栈
+部分 技术
+后端 Flask + Python
+前端 Flask 模板 + Bootstrap
+数据库 SQLite / MySQL
+ORM SQLAlchemy
+安装方式 git clone + pip install
+
+四、快速开始
+# 1. 克隆仓库
+git clone https://github.com/jagjot2008/EeazyCRM.git
+cd EeazyCRM
+
+# 2. 创建虚拟环境
+python -m venv venv
+source venv/bin/activate # Windows: venv\Scripts\activate
+
+# 3. 安装依赖
+pip install -r requirements.txt
+
+# 4. 运行安装向导
+python install.py
+
+# 5. 启动服务
+python run.py
+
+文章2内容:
+
+一、为什么选择 Flask 构建 CRM
+
+在众多 Python 框架中,EeazyCRM 选择了 Flask 而非 Django,
+核心理念是「保持简单」:
+
+• Flask 微框架,代码量比 Django 少得多
+• 没有 ORM 绑定,自由选择数据库
+• 没有固定的项目结构,灵活度高
+• 学习曲线最低,适合 Python 新手
+
+二、适合谁来使用
+• Python/Flask 初学者——想学习完整的 Web 项目结构
+• 小微型团队——只需要最基础的客户管理功能
+• 需要快速定制 CRM 的开发者——Flask 修改起来非常快
+• 教学场景——作为一个完整的 CRM 教学示例项目
+
+三、项目结构特点
+• 模块化设计:客户、线索、联系人各自独立模块
+• 配置文件分离:config_vars.py 统一管理配置
+• 安装向导:提供交互式安装流程,降低部署门槛
+• 代码量最小:所有功能加起来不超过 2000 行代码
+
+四、未来规划
+项目作者计划根据社区反馈继续添加:
+• 更多 CRM 模块
+• 邮件集成
+• 报表功能
+• API 接口
diff --git a/intro/SuiDemo.txt b/intro/SuiDemo.txt
new file mode 100644
index 0000000..7c78991
--- /dev/null
+++ b/intro/SuiDemo.txt
@@ -0,0 +1,65 @@
+项目名称:SuiDemo
+
+github:https://github.com/JinGongX/SuiDem
+简介:一个使用 Wails v3 构建的现代桌面应用模板,开箱即用地集成了以下功能:🌍 多语言支持;🌗 黑暗 / 明亮主题切换;🗂️ SQLite 数据库读写示例(增删改查);⌨️ 快捷热键支持(支持后续扩展与自定义);🧠 OCR 图像识别能力(支持图片文字提取);🧱 可扩展的前后端架构,适合二次开发
+
+语言:golang,vue
+
+场景:跨平台桌面端应用
+
+6项评分:3,3,2,3,2,3
+
+推荐理由:按照需求快速搭建桌面端应用
+
+文章1标题:Wails3模板新版本:不仅更快了,UI也彻底重做了
+
+文章1内容:
+先说为什么要重做 UI?
+
+这个项目最初的目标是:提供一个开箱即用的 Wails3 模板、快速构建跨平台桌面应用(macOS / Windows)、保持轻量 + 高性能。
+但希望模版可以更方便适用,减少开发时间配套更多的功能。
+
+本质问题是:
+"工程是“对的”,但体验内容都不够丰富。"
+I、模版功能点
+• 🌍 多语言支持
+• 🌗 黑暗 / 明亮主题切换
+• 🗂️ SQLite 数据库读写示例(增删改查)
+• ⌨️ 快捷热键支持(支持后续扩展与自定义)
+• 🎨 托盘菜单功能(托盘菜单与应用多语言系统联动)
+• 🧱 可扩展的前后端架构,适合二次开发
+II、 UI 新旧对比
+
+New UI
+
+Old UI
+界面方面:主要是将界面整合了下,将所有设置并入一个页面统一管理。新添加管理仪表盘,方便管理系统的开发。
+
+III、整个新模版的特点
+• 托盘功能的优化与与应用多语言系统联动,方便前端统一管理
+• 整体UI的整合,后续让系统更清晰、更稳定
+• 提高开发效率,保持风格统一
+• 让开箱即用的 Wails3 模板更贴合实用
+
+文章2标题:Wails3高性能跨平台桌面应用模版
+
+文章2内容:
+一、项目模版
+一款使用 Wails v3 构建的现代桌面应用模板,开箱即用地集成了以下功能:
+
+多语言支持(支持按用户语言自动加载)
+黑暗 / 明亮主题切换
+️ SQLite 数据库读写示例(增删改查)
+可扩展的前后端架构,适合二次开发
+技术栈
+部分 技术
+前端 Vue 3 + TypeScript
+样式 Tailwind CSS
+国际化 vue-i18n
+桌面框架 Wails v3
+数据库 SQLite(使用 Go 操作)
+二、项目效果
+模版演示1:
+
+动图封面
+模版演示2:暗色模式
\ No newline at end of file
diff --git a/intro/django-erp-framework.txt b/intro/django-erp-framework.txt
new file mode 100644
index 0000000..cfa0c13
--- /dev/null
+++ b/intro/django-erp-framework.txt
@@ -0,0 +1,76 @@
+项目名称:django-erp-framework
+
+github:https://github.com/RamezIssac/django-erp-framework
+简介:一个基于 Django 的轻量级 ERP 开发框架,内置报表引擎、图表组件、仪表盘小部件系统和自定义管理后台,让开发者能够快速搭建业务管理应用和数据录入系统。
+
+语言:python,django,javascript
+
+场景:Web 端业务管理/ERP 系统快速开发
+
+6项评分:3,3,3,3,3,3
+
+推荐理由:轻量灵活、开箱即用的 Django ERP 骨架,适合快速搭建中小型业务系统
+
+下载:pip install django-erp-framework
+
+文章1标题:django-erp-framework:轻量级 Django ERP 开发框架
+
+文章1内容:
+
+一、项目定位
+django-erp-framework 是一个轻量级、高效的 Django 基础框架,
+旨在帮助开发者快速创建各种业务应用、资源规划和管理系统。
+它提供了一个现成的平台,你可以在上面直接创建数据录入页面,
+并为它们附加各种报表。
+
+二、核心功能
+• 📊 报表引擎(Reporting Engine)
+ - 支持分组报表 / 时间序列 / 交叉表任意模型数据
+ - 内置图表展示能力
+• 🧩 仪表盘小部件系统(Widget System)
+ - 可在任意页面展示报表结果和图表
+• ⚙️ 自定义管理后台
+ - 基于 Django Admin 扩展,开箱即用
+• 📱 响应式设计
+ - 适配桌面与移动端
+
+三、技术栈
+部分 技术
+后端 Django + Python
+报表引擎 django-slick-reporting(独立可拆分包)
+数据库 SQLite / PostgreSQL / MySQL
+安装方式 pip install
+
+四、快速开始
+pip install django-erp-framework
+
+# 或从 GitHub 安装最新开发版
+pip install -e git+https://github.com/RamezIssac/django-erp-framework.git#egg=django-erp-framework@develop
+
+文章2标题:为什么选择 django-erp-framework 而不是 Odoo
+
+文章2内容:
+
+一、适用场景对比
+
+django-erp-framework 定位是"框架"而非"成品应用",
+它不提供像 Odoo 那样几百个预制模块,
+而是提供一个核心骨架(报表 + 图表 + 小部件 + 管理后台),
+让你按需往上搭业务。
+
+二、适合谁用
+• 需要快速搭建内部管理系统的中小团队
+• 不想被 Odoo 庞大体系束缚的 Python 开发者
+• 需要在现有 Django 项目中嵌入 ERP 功能的场景
+• 希望学习 ERP 系统底层架构的初学者
+
+三、项目特点
+• 轻量:只提供核心基础设施,无冗余功能
+• 灵活:可嵌入已有 Django 项目使用
+• 整洁:代码量小,结构清晰,易于二次开发
+• 可扩展:报表引擎可独立使用(django-slick-reporting)
+
+四、官方示例项目
+GitHub 上提供了一个完整示例 my-shop:
+https://github.com/RamezIssac/my-shop
+包含完整安装流程,适合快速上手。
diff --git a/intro/koalixcrm.txt b/intro/koalixcrm.txt
new file mode 100644
index 0000000..eb57495
--- /dev/null
+++ b/intro/koalixcrm.txt
@@ -0,0 +1,86 @@
+项目名称:koalixcrm
+
+github:https://github.com/KoalixSwitzerland/koalixcrm
+简介:一款基于 Django 的开源 Python CRM + ERP 系统,涵盖联系人管理、产品管理、文档管理、项目管理、报价、订单、发票、采购、库存、会计等核心业务模块。
+
+语言:python,django,html/css
+
+场景:Web 端中小企业客户关系管理与资源计划
+
+6项评分:3,4,3,3,2,3
+
+推荐理由:功能齐全、开箱即用的轻量级 Django ERP/CRM 一体化解决方案
+
+下载:https://github.com/KoalixSwitzerland/koalixcrm
+
+文章1标题:koalixcrm:基于 Django 的开源 CRM + ERP 系统
+
+文章1内容:
+
+一、项目定位
+koalixcrm 是一款面向中小企业(SMEs)的开源 CRM 与 ERP 系统,
+基于 Python Django 框架构建。
+它把客户关系管理和企业资源计划整合到一个平台,
+适合小型贸易公司、服务团队和创业企业使用。
+
+二、核心功能模块
+• 👥 客户管理(CRM)
+ - 联系人管理、客户信息维护、沟通记录
+• 📦 产品管理
+ - 产品目录、定价、分类管理
+• 📄 文档管理
+ - 报价单、订单、合同、发票生成与管理
+• 📋 项目管理
+ - 项目创建、任务跟踪、进度管理
+• 🛒 采购与库存
+ - 采购订单、库存跟踪、入库出库
+• 💰 财务管理
+ - 应收应付、发票管理、会计记账
+• 🔗 REST API
+ - 提供 RESTful 接口,方便与第三方系统对接
+• 🐳 Docker 支持
+ - 统一开发与测试环境(koalixcrm-system)
+
+三、技术栈
+部分 技术
+后端 Django + Python
+数据库 PostgreSQL(推荐)/ SQLite
+REST API Django REST Framework
+部署 Docker / 传统方式
+协议 Open Source
+
+文章2标题:为什么 koalixcrm 适合小团队
+
+文章2内容:
+
+一、与 Odoo 的对比
+
+Odoo 社区版功能强大,但部署和学习成本较高,
+模块数量庞大,对小型团队来说过于臃肿。
+
+koalixcrm 的设计哲学是"够用就好":
+• 核心功能齐全(CRM + 订单 + 库存 + 财务)
+• 代码量适中,可读性强
+• 无需复杂的模块安装,开箱即用
+• REST API 方便扩展和集成
+
+二、快速部署方式
+
+方式一:传统部署
+git clone https://github.com/KoalixSwitzerland/koalixcrm.git
+cd koalixcrm
+pip install -r requirements.txt
+python manage.py migrate
+python manage.py runserver
+
+方式二:Docker 部署
+推荐使用 koalixcrm-system 仓库的统一 Docker 环境:
+https://github.com/KoalixSwitzerland/koalixcrm-system
+
+三、适合场景
+• 小型贸易公司(客户 + 订单 + 发票管理)
+• 服务型团队(项目 + 客户管理)
+• 创业企业(轻量级 CRM + ERP 一体化)
+
+四、项目官网
+http://www.koalix.org
diff --git a/progress.md b/progress.md
index ee45eb4..17c8a8f 100644
--- a/progress.md
+++ b/progress.md
@@ -227,3 +227,22 @@
- 阻塞:T-104 仍需要人工确认的首批种子内容
- 下一步:等待用户提供种子数据后解除 T-104 阻塞,然后进入 Phase 2
+## 2026-07-06 T-104 首批种子内容
+
+- 状态:DONE
+- 变更:
+ - `core/management/commands/seed_data.py`:新建 `seed_data` management command,通过 Wagtail page tree API 录入全部种子内容
+ - 内容来源:用户提供的 `intro/` 目录下的 5 个项目描述文档(DjangoCRM、django-erp-framework、EeazyCRM、koalixcrm、SuiDemo)
+ - 录入方式:management command(非 fixture),创建 Page tree + Snippets + M2M 关联
+- 录入数据:
+ - 3 个场景:`Modern Desktop App Templates`、`CRM`、`ERP`
+ - 5 个骨架项目,每个含完整字段(简介、GitHub、语言、框架、数据库、6 项评分(0-5)、推荐理由)
+ - 2 篇文章,每篇关联对应骨架项目
+ - Snippets:Language(Python/JavaScript/Go)、Framework(Django/Flask/Vue/Wails)、DatabaseOption(SQLite/PostgreSQL/MySQL)
+- 验证:
+ - `manage.py seed_data`:Scenarios=3、Projects=5、Articles=2(均满足 ≥3/≥5/≥2)
+ - `manage.py test core home`:20 tests passed
+ - 所有评分和评语来自用户确认文档,无模型编造
+- 阻塞:无。
+- 下一步:T-201 实现基础页面框架(Phase 2 前台 MVP)。
+