feat: add org_id to ContentCalendar and ContentTask models
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
---
|
||||
active: true
|
||||
iteration: 1
|
||||
max_iterations: 500
|
||||
completion_promise: "DONE"
|
||||
initial_completion_promise: "DONE"
|
||||
started_at: "2026-06-16T23:59:41.756Z"
|
||||
session_id: "ses_1dede8a7affeG6DxtfPUOviXrp"
|
||||
ultrawork: true
|
||||
strategy: "continue"
|
||||
message_count_at_start: 8116
|
||||
---
|
||||
开始全面改造,包括数据隔离与权限工作,改造实施并发数不要超过3
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sessionID": "ses_13069b590ffefKhsLBe5CKeIx4",
|
||||
"updatedAt": "2026-06-16T08:46:00.608Z",
|
||||
"sources": {
|
||||
"background-task": {
|
||||
"state": "idle",
|
||||
"updatedAt": "2026-06-16T08:46:00.608Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"sessionID": "ses_1dede8a7affeG6DxtfPUOviXrp",
|
||||
"updatedAt": "2026-06-15T14:52:36.537Z",
|
||||
"sources": {
|
||||
"background-task": {
|
||||
"state": "idle",
|
||||
"updatedAt": "2026-06-15T14:52:36.537Z"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,331 @@
|
||||
# 宇之然工作台改造方案 — 极简实用 AI Agent 时代设计
|
||||
|
||||
> 调研日期: 2026-06-16
|
||||
> 基于 2026 年 AI 产品设计趋势 + 现有工作台全面审计
|
||||
|
||||
---
|
||||
|
||||
## 一、现有工作台问题分析
|
||||
|
||||
### 1.1 当前页面结构
|
||||
|
||||
| 页面 | 定位 | 问题 |
|
||||
|------|------|------|
|
||||
| `/index.html` 仪表盘 | 系统概览 + 模块状态 + 近期计划 | **系统视角**,不是用户视角。6 张统计卡片 + 6 个定时模块卡片 + 调度状态 → 像运维面板,不像创作工作台 |
|
||||
| `topics.html` 选题 | 选题表格 CRUD + 批量操作 | 功能完整但无聊。没有 AI 辅助选题推荐,没有智能排序 |
|
||||
| `metrics.html` 数据 | 统计看板 + 图表 | 功能 OK,但与 GEO/搜索排名/合规数据分离在不同页面 |
|
||||
| `calendar.html` 日历 | 内容日历 | 独立页面,与选题/数据割裂 |
|
||||
| `tasks.html` 任务 | 流水线执行记录 | 展示后端调度状态,普通用户看不懂 |
|
||||
| `admin.html` 系统管理 | 13 个 Tab 的后台 | 混入了业务功能(AI助手、搜索排名、GEO) |
|
||||
| `assets.html` 素材 | 素材管理 | 基础功能 |
|
||||
| `landing.html` 官网 | 产品官网 | ✅ 独立、清晰 |
|
||||
|
||||
### 1.2 核心问题
|
||||
|
||||
1. **仪表盘是「系统监控」不是「创作工作台」**
|
||||
- 一进来看到的是定时任务状态(热点趋势/采集/创作/审查),不是「我今天要做什么」
|
||||
- 缺少任务优先级、待办提醒、进度概览
|
||||
- 对于内容编辑来说,模块卡片(scheduler 状态)毫无意义
|
||||
|
||||
2. **导航/信息架构是「功能菜单」不是「创作流程」**
|
||||
- 六个平级菜单项:仪表盘、选题、数据、日历、素材、任务
|
||||
- 没有工作流意识 — 用户需要在多个页面跳转来完成一个创作流程
|
||||
- 缺少「最近工作」「快速开始」等具有上下文感的入口
|
||||
|
||||
3. **AI 能力是「附加功能」不是「内嵌体验」**
|
||||
- AI 助手是右下角浮窗 chatbot,与工作流分离
|
||||
- AI 选题分析在选题页弹窗里,AI 写文章在发布流程里
|
||||
- 没有 Agent 工作区 — 没有一个地方能看到 AI 正在做什么、做了什么、需要什么审批
|
||||
|
||||
4. **权限与功能混杂**
|
||||
- 业务功能(搜索排名、GEO 优化、AI 助手)锁在 admin.html 里
|
||||
- 普通用户使用需要切换到「系统管理」—— 概念上就不对
|
||||
|
||||
5. **缺少「Agent 时代」的核心交互模式**
|
||||
- ❌ 没有 Plan-first(先展示计划,再执行)
|
||||
- ❌ 没有 AI 操作轨迹/审计
|
||||
- ❌ 没有任务编排/Agent 工作区
|
||||
- ❌ 没有智能建议/预测
|
||||
- ✅ 但已经有一个基础的 AI 助手浮窗底座
|
||||
|
||||
---
|
||||
|
||||
## 二、2026 AI 产品设计趋势映射
|
||||
|
||||
### 从 7 个趋势看我们应该做什么
|
||||
|
||||
| # | 趋势 | 对我们意味着什么 |
|
||||
|---|------|----------------|
|
||||
| 1 | **UX → AX (Agentic Experience)** | 工作台需要展示 AI 的**行动计划**和**执行轨迹**,而不是单纯的界面操作 |
|
||||
| 2 | **Plan-first 交互** | 选题→创作→发布 应该有一个**流程预览**步骤,AI 先展示「我将做 A→B→C」,用户确认后再执行 |
|
||||
| 3 | **Invisible AI (嵌入式 AI)** | AI 不应该是右下角聊天窗,而应该嵌入到选题列表(智能排序)、文章编辑(实时优化建议)、日历(智能排期)|
|
||||
| 4 | **Delegation with Control** | 用户需要看到一个「代理仪表盘」— AI 正在做什么、已完成什么、需要审批什么 |
|
||||
| 5 | **Workspace over Chat** | 从「跟 AI 对话」到「AI 作为团队成员在共享空间工作」|
|
||||
| 6 | **预览→差异→确认 模式** | 所有 AI 生成/修改的内容,先展示 diff/预览,再确认写入 |
|
||||
| 7 | **审批路径和可逆性** | 每一步操作都有 undo 路径和操作历史 |
|
||||
|
||||
---
|
||||
|
||||
## 三、改造方案设计
|
||||
|
||||
### 3.1 总体信息架构重构
|
||||
|
||||
```
|
||||
当前: 目标:
|
||||
┌──────────┐ ┌──────────────────┐
|
||||
│ 仪表盘 │ ← 系统视角 │ 工作台 (首页) │ ← 用户视角
|
||||
│ 选题 │ │ ├─ 今日待办 │
|
||||
│ 数据 │ │ ├─ 创作流水线 │
|
||||
│ 日历 │ │ ├─ 智能建议 │
|
||||
│ 素材 │ │ └─ 最近工作 │
|
||||
│ 任务 │ ├──────────────────┤
|
||||
│ 系统管理 │ │ 内容工厂 │ ← 创作流程
|
||||
└──────────┘ │ ├─ 选题工作区 │
|
||||
│ ├─ AI 创作工作区 │
|
||||
│ ├─ 发布工作区 │
|
||||
│ └─ 内容日历 │
|
||||
├──────────────────┤
|
||||
│ 数据洞察 │ ← 效果分析
|
||||
│ ├─ 数据看板 │
|
||||
│ ├─ 搜索排名 │
|
||||
│ ├─ GEO 就绪度 │
|
||||
│ └─ 合规报告 │
|
||||
├──────────────────┤
|
||||
│ 资产库 │ ← 资源管理
|
||||
├──────────────────┤
|
||||
│ 系统管理 (admin) │ ← 仅管理员
|
||||
```
|
||||
|
||||
### 3.2 工作台首页(全新设计)
|
||||
|
||||
**目标**:一打开就知道今天要做什么、进度如何、有什么需要关注
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ ☀️ 早上好,张三 你的团队本周已发布 3 篇内容 │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
|
||||
│ │ 待处理│ │ 待审查│ │ 待发布│ │ 本月 │ │ 合规 │ │
|
||||
│ │ 选题 │ │ 文章 │ │ 内容 │ │ 目标 │ │ 健康 │ │
|
||||
│ │ 12 │ │ 5 │ │ 3 │ │ 67% │ │ 94% │ │
|
||||
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 📋 今日待办 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ 🔴 审查「远程办公的 5 个陷阱」- 逾期 2 天 │ │
|
||||
│ │ 🟡 审核「AI 写作工具实测」- AI 已完稿 │ │
|
||||
│ │ 🔵 确认本周排期 - 3 篇待定稿 │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 🤖 AI Agent 工作区 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ 📡 热点采集 ✅ 完成 (12 条新趋势) │ │
|
||||
│ │ ✍️ 文章创作 ⏳ 进行中 (2/5 篇) │ │
|
||||
│ │ 🔍 合规审查 ⏳ 排队中 (3 篇待审) │ │
|
||||
│ │ 📊 数据同步 ⏰ 06:00 自动运行 │ │
|
||||
│ │ │ │
|
||||
│ │ [查看 Agent 轨迹 →] │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 💡 AI 智能建议 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ 💡 「碳中和」关键词本周搜索量 ↑47% │ │
|
||||
│ │ 建议创建一篇相关选题 │ │
|
||||
│ │ [一键创建选题 →] │ │
|
||||
│ │ 💡 你的知乎上周互动率 ↑12% │ │
|
||||
│ │ 建议继续保持数据分析深度 │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 📅 近期计划 │
|
||||
│ ┌──────────┬──────────────────┬──────────┐ │
|
||||
│ │ 06/17 二 │ 远程办公工具对比 │ 知乎发布 │ │
|
||||
│ │ 06/18 三 │ AI 写作体验 │ 公众号 │ │
|
||||
│ │ 06/19 四 │ 零浪费生活指南 │ 小红书 │ │
|
||||
│ └──────────┴──────────────────┴──────────┘ │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 3.3 内容工厂(创作流水线重构)
|
||||
|
||||
**目标**:按创作流程组织,而不是按数据表组织
|
||||
|
||||
#### 选题工作区
|
||||
- **AI 智能选题板**:热点趋势 + 关键词热度 + 历史数据 → 推荐选题
|
||||
- **选题看板**:Kanban 视图(待处理→分析中→已评分→待创作)
|
||||
- **批量操作**:AI 一键分析 → 自动评分 → 自动排序
|
||||
- **卡片预览**:题目的核心观点、受众痛点、差异化切入点和评分一览
|
||||
|
||||
#### AI 创作工作区 (NEW)
|
||||
- **创作任务面板**:显示所有进行中的 AI 创作任务
|
||||
- **Plan-first 流程**:用户选择选题 → AI 展示大纲 → 用户确认 → AI 逐节写作
|
||||
```
|
||||
步骤 1: 选择选题 + 平台
|
||||
步骤 2: AI 生成大纲 (展示预览)
|
||||
步骤 3: 用户调整大纲 (拖拽排序/编辑)
|
||||
步骤 4: AI 逐节写作 (进度条展示)
|
||||
步骤 5: 合规审查 (展示问题列表)
|
||||
步骤 6: 用户最终编辑
|
||||
```
|
||||
- **Agent 执行轨迹**:每次 AI 操作都有时间线记录
|
||||
- **在线编辑器**:统一的富文本编辑器,支持实时 AI 优化建议
|
||||
|
||||
#### 发布工作区
|
||||
- **发布检查清单**:AI 自动检查合规、字数、配图、格式
|
||||
- **一键多平台发布**:选题→三平台各自适配→预览→确认发布
|
||||
- **发布历史**:时间线视图
|
||||
|
||||
### 3.4 AI Agent 工作区(新概念页面)
|
||||
|
||||
**这是本次改造的核心创新亮点** — 一个展示 AI 作为「团队成员」工作状况的看板。
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ 🤖 AI Agent 工作区 │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ 🔴 活跃任务 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ ✍️ 正在创作「远程办公的 5 个陷阱」→ 知乎版 │ │
|
||||
│ │ 进度: ████████░░ 78% │ │
|
||||
│ │ 当前步骤: 撰写第 3 节「团队协作挑战」 │ │
|
||||
│ │ [预览] [暂停] [取消] │ │
|
||||
│ │ │ │
|
||||
│ │ 🔍 正在审查「AI 写作工具实测」- 小红书版 │ │
|
||||
│ │ 进度: ████░░░░░░ 35% │ │
|
||||
│ │ 发现 2 个合规问题 │ │
|
||||
│ │ [查看详情] │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ ⏳ 待审批 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ 📝 大纲待确认 「零浪费生活指南」 │ │
|
||||
│ │ 已由 AI 自动生成,等待你审核 │ │
|
||||
│ │ [查看大纲] [确认] [修改] │ │
|
||||
│ │ │ │
|
||||
│ │ 📄 文章待审 「碳中和入门」已完稿 │ │
|
||||
│ │ 合规评分 92/100,2 条建议 │ │
|
||||
│ │ [审阅] [通过] [退回修改] │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
├─────────────────────────────────────────────────┤
|
||||
│ ✅ 今日已完成 │
|
||||
│ ┌─────────────────────────────────────────────┐ │
|
||||
│ │ ✅ 采集热点 12 条 → 生成 3 个新选题 │ │
|
||||
│ │ ✅ 同步数据指标 → 知乎互动率 +12% │ │
|
||||
│ └─────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 3.5 数据洞察(统一分析中心)
|
||||
|
||||
将当前分散的数据功能整合:
|
||||
|
||||
| Tab | 功能 | 来源 |
|
||||
|-----|------|------|
|
||||
| 概览 | 总指标 + 趋势图 | 现有 metrics.html |
|
||||
| 搜索排名 | 关键词排名追踪 | 现 admin.html 搜索排名 |
|
||||
| GEO 就绪度 | AI 搜索优化评分 | 现 admin.html GEO |
|
||||
| 合规报告 | 发布前合规检查历史 | 现 admin.html + 优化报告 |
|
||||
| 平台对比 | 知乎/公众号/小红书数据 | 现有 metrics.html |
|
||||
|
||||
### 3.6 导航改造
|
||||
|
||||
```javascript
|
||||
// 现有 navItems (硬编码):
|
||||
[{dashboard, topics, metrics, calendar, assets, tasks}]
|
||||
// admin 额外: [admin]
|
||||
|
||||
// 目标 navItems (按角色动态):
|
||||
// 编辑:
|
||||
[{工作台(top), 内容工厂(factory), 数据洞察(insights), 资产库(assets)}]
|
||||
// 管理员:
|
||||
内容工厂 + 数据洞察 + 资产库 + 系统管理(admin)
|
||||
```
|
||||
|
||||
导航从「功能清单」变成「流程引导」:
|
||||
- **工作台** = 首页(今日待办 + Agent 状态 + 智能建议)
|
||||
- **内容工厂** = 创作全流程(选题→创作→发布→日历)
|
||||
- **数据洞察** = 所有数据分析入口
|
||||
- **资产库** = 素材管理
|
||||
|
||||
### 3.7 移动端适配
|
||||
|
||||
当前移动端只是隐藏表格换卡片,改造后:
|
||||
- 底部 Tab 导航栏(代替顶部汉堡菜单)
|
||||
- 工作台首页简化为:今日待办 + Agent 状态 + 快速操作按钮
|
||||
- 内容工厂:简易 Kanban,手势左右切换阶段
|
||||
- AI Agent: 推送通知代替实时面板
|
||||
|
||||
---
|
||||
|
||||
## 四、实施优先级
|
||||
|
||||
### P0 — 快速见效 (1-2 天)
|
||||
这些改动小但体验提升大:
|
||||
|
||||
| 改动 | 文件 | 工作量 |
|
||||
|------|------|--------|
|
||||
| 仪表盘改为用户视角(统计卡片 = 待办数量而不是系统模块) | `index.html` | 半天 |
|
||||
| 将 AI 助手从浮窗升级为半屏面板 | `ai-assistant.js` | 半天 |
|
||||
| 导航改为新架构(工作台/内容工厂/数据洞察/资产库) | `uni-nav.js` | 半天 |
|
||||
|
||||
### P1 — 核心重构 (3-5 天)
|
||||
| 改动 | 涉及 | 工作量 |
|
||||
|------|------|--------|
|
||||
| 内容工厂页面(创作流水线) | 新建 `factory.html` | 2 天 |
|
||||
| AI Agent 工作区 | 新建 `agent.html` | 2 天 |
|
||||
| 数据洞察整合(合并 GEO/搜索排名) | 改造 `metrics.html` | 1 天 |
|
||||
|
||||
### P2 — 增强功能 (5-7 天)
|
||||
| 改动 | 工作量 |
|
||||
|------|--------|
|
||||
| Plan-first 创作流程(大纲预览→确认→执行) | 3 天 |
|
||||
| Agent 执行轨迹/审计时间线 | 2 天 |
|
||||
| 智能选题推荐面板 | 2 天 |
|
||||
| 移动端全面适配 | 2 天 |
|
||||
|
||||
### P3 — AI 原生体验 (后续)
|
||||
| 改动 | 工作量 |
|
||||
|------|--------|
|
||||
| 智能排期 / 内容策略建议 | 3 天 |
|
||||
| 自动化工作流编排(拖拽编排 Agent 任务) | 5 天 |
|
||||
| 多 Agent 协作(采集 Agent + 写作 Agent + 审查 Agent) | 5 天 |
|
||||
|
||||
---
|
||||
|
||||
## 五、关键设计原则
|
||||
|
||||
1. **用户视角 > 系统视角**
|
||||
- 展示「我今天要做什么」而不是「系统正在运行什么」
|
||||
- 统计数字 = 行动信号(待办数量)而不是监控指标
|
||||
|
||||
2. **流程 > 功能**
|
||||
- 按创作流程组织页面(选题→创作→发布→分析)
|
||||
- 不在功能之间跳转,在流程中前进
|
||||
|
||||
3. **AI 是团队成员,不是工具**
|
||||
- 展示 AI 的工作计划、进度、产出
|
||||
- 用户是「审核者/决策者」而不是「操作者」
|
||||
- 核心模式:用 AI → AI 执行 Plan → 用户审核/批准
|
||||
|
||||
4. **预览→确认→执行**
|
||||
- AI 生成的所有内容:先预览/展示差异,再确认
|
||||
- 所有操作可逆,有撤销路径
|
||||
|
||||
5. **极简不极简功能**
|
||||
- 减少平级菜单数量和页面复杂
|
||||
- 不减少功能 — 用上下文和流程引导代替功能罗列
|
||||
|
||||
---
|
||||
|
||||
## 六、与当前改造项目的关系
|
||||
|
||||
本次工作台改造与正在进行的数据隔离/权限升级是 **互补关系**:
|
||||
|
||||
| 改造线 | 范围 | 依赖 |
|
||||
|--------|------|------|
|
||||
| **数据隔离+权限** (当前进行中) | 后端架构、数据安全 | 无 |
|
||||
| **工作台极简改造** (本方案) | 前端 UI/UX、信息架构 | 权限系统就绪后可基于角色定制页面 |
|
||||
|
||||
建议:
|
||||
1. 先完成数据隔离和权限基础 — 这是安全基石
|
||||
2. 工作台改造可以在权限未完全就绪时就开始前端改造(不依赖后端)
|
||||
3. 导航的 role-based 显示可以利用现有的 `/api/menus/active` 接口
|
||||
@@ -327,6 +327,7 @@ class ContentCalendar(Base):
|
||||
reminder_time = Column(DateTime, nullable=True)
|
||||
notes = Column(Text, nullable=True)
|
||||
created_by = Column(String, nullable=True)
|
||||
org_id = Column(String, default="default", nullable=True)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
|
||||
|
||||
@@ -502,6 +503,7 @@ class ContentTask(Base):
|
||||
finished_at = Column(DateTime(timezone=True), nullable=True)
|
||||
duration = Column(Integer, nullable=True)
|
||||
created_by = Column(String, nullable=True)
|
||||
org_id = Column(String, default="default", nullable=True)
|
||||
created_at = Column(DateTime(timezone=True), server_default=func.now())
|
||||
|
||||
topic = relationship("Topic")
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
采集类别/信息源/案例库 市场热点迁移
|
||||
基于 2026 Q1-Q2 中文内容平台真实热点数据重构
|
||||
"""
|
||||
import sys, json
|
||||
from pathlib import Path
|
||||
|
||||
PROJECT_ROOT = Path(__file__).parent.parent
|
||||
sys.path.insert(0, str(PROJECT_ROOT))
|
||||
sys.path.insert(0, str(PROJECT_ROOT / 'platform' / 'backend'))
|
||||
|
||||
TOKEN = None
|
||||
BASE = "http://localhost:8001"
|
||||
|
||||
|
||||
def api(method, path, data=None):
|
||||
import urllib.request, urllib.parse
|
||||
headers = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
|
||||
body = json.dumps(data).encode() if data else None
|
||||
req = urllib.request.Request(f"{BASE}{path}", data=body, headers=headers, method=method)
|
||||
try:
|
||||
with urllib.request.urlopen(req) as resp:
|
||||
return json.loads(resp.read())
|
||||
except urllib.error.HTTPError as e:
|
||||
err = e.read().decode()
|
||||
print(f" ERROR {method} {path}: {e.code} {err[:200]}")
|
||||
return None
|
||||
|
||||
|
||||
def login():
|
||||
global TOKEN
|
||||
import urllib.request
|
||||
data = json.dumps({"username": "admin", "password": "admin123"}).encode()
|
||||
req = urllib.request.Request(f"{BASE}/api/auth/login", data=data,
|
||||
headers={"Content-Type": "application/json"}, method="POST")
|
||||
resp = json.loads(urllib.request.urlopen(req).read())
|
||||
TOKEN = resp["token"]
|
||||
print("✓ Login OK")
|
||||
|
||||
|
||||
def migrate():
|
||||
print("=" * 60)
|
||||
print("1. 删除过时采集类别")
|
||||
print("=" * 60)
|
||||
old = api("GET", "/api/admin/collector/categories") or []
|
||||
for cat in old:
|
||||
if cat["name"] in ("循环消费", "低碳出行", "干净饮食", "零浪费生活",
|
||||
"绿色家电与节能", "碳普惠", "环保科技产品"):
|
||||
api("DELETE", f"/api/admin/collector/categories/{cat['id']}")
|
||||
print(f" ✗ 删除: {cat['name']} (id={cat['id']})")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("2. 新增市场热点类别")
|
||||
print("=" * 60)
|
||||
|
||||
NEW_CATEGORIES = [
|
||||
{
|
||||
"name": "AI生活化",
|
||||
"description": "AI搭子/心理咨询/Vibe Coding/AI人格化 | AI从工具进化为生活搭子,商业笔记互动增长263%",
|
||||
"search_query": "AI搭子 心理咨询 AI副业 AI人格 人机共生 Vibe Coding Agent 2026",
|
||||
"sort_order": 1,
|
||||
"pain_template": "AI工具太多不知道用哪个、担心被AI取代、想要AI融入生活但无从下手、渴望AI情感陪伴",
|
||||
},
|
||||
{
|
||||
"name": "自我丰容",
|
||||
"description": "打破惯性/精神避难所/工位改造 | #人你该丰容了浏览10亿+, #家的丰容计划浏览8亿+",
|
||||
"search_query": "自我丰容 精神避难所 工位改造 家的丰容计划 独居 打破惯性 2026",
|
||||
"sort_order": 2,
|
||||
"pain_template": "生活陷入工位-食堂-床头循环、缺乏新鲜感、想要改变但不知从何下手、精神内耗严重",
|
||||
},
|
||||
{
|
||||
"name": "适我主义",
|
||||
"description": "适老/适懒/适宠/独居放飞 | 小红书2026年度居住趋势, 浏览20.4亿",
|
||||
"search_query": "适我主义 适老化 适懒化 适宠化 独居 放飞 去家务化 动线 2026",
|
||||
"sort_order": 3,
|
||||
"pain_template": "房子不是为自己设计的、家务负担重、宠物/老人需求被忽视、独居生活单调",
|
||||
},
|
||||
{
|
||||
"name": "情绪价值与心理健康",
|
||||
"description": "边界感/柔软力/心理咨询/AI陪伴 | AI心理咨询HBR排名第一使用场景",
|
||||
"search_query": "情绪价值 边界感 心理健康 心理咨询 焦虑管理 柔软力 反精致 2026",
|
||||
"sort_order": 4,
|
||||
"pain_template": "焦虑内耗无法排解、人际关系边界模糊、情绪得不到理解、渴望陪伴但社交疲惫",
|
||||
},
|
||||
{
|
||||
"name": "她力量与主体性",
|
||||
"description": "女性觉醒/悦己/主体性/爱自己 | #认知觉醒浏览16亿, #sheisblooming 7100万",
|
||||
"search_query": "她力量 女性觉醒 主体性 悦己 爱你老己 上桌吃饭 独立女性 2026",
|
||||
"sort_order": 5,
|
||||
"pain_template": "被困在他人期待中、不敢为自己而活、职场/家庭双重压力、缺乏自我认同",
|
||||
},
|
||||
{
|
||||
"name": "沉浸式新生活",
|
||||
"description": "代入感/鸟门/文化力/体验式消费 | #观鸟浏览1.2亿, 商业笔记互动增长104%",
|
||||
"search_query": "观鸟 代入感 沉浸式 文化力 文创 第一视角 体验式消费 2026",
|
||||
"sort_order": 6,
|
||||
"pain_template": "城市生活缺乏自然连接、精神空虚想找出口、日常单调需要新鲜体验",
|
||||
},
|
||||
{
|
||||
"name": "科技人文",
|
||||
"description": "AI与人的关系/数字伦理/技术温度 | AI从智能到共生,重塑人与技术的关系",
|
||||
"search_query": "科技人文 AI伦理 数字生活 人与AI 科技温度 数字素养 2026",
|
||||
"sort_order": 7,
|
||||
"pain_template": "技术发展太快感到焦虑、担心失去人性连接、想理解AI但怕被取代",
|
||||
},
|
||||
{
|
||||
"name": "数字游民与自由职业",
|
||||
"description": "远程工作/一人企业/跨境机会/独立开发 | 全球35国数字游民签证,中国适用18国",
|
||||
"search_query": "数字游民 自由职业 远程工作 一人企业 独立开发 跨境远程 2026",
|
||||
"sort_order": 8,
|
||||
"pain_template": "不想被办公室束缚、想尝试自由职业但不确定如何开始、找不到远程工作机会",
|
||||
},
|
||||
]
|
||||
|
||||
for cat in NEW_CATEGORIES:
|
||||
result = api("POST", "/api/admin/collector/categories", cat)
|
||||
if result:
|
||||
print(f" ✓ 新增: {cat['name']} (id={result.get('id')})")
|
||||
else:
|
||||
# 可能已存在(重名检测)
|
||||
print(f" ? {cat['name']}: 可能已存在")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("3. 更新信息源")
|
||||
print("=" * 60)
|
||||
|
||||
# 先删旧源(删除所有旧搜索源,保留RSS源)
|
||||
old_sources = api("GET", "/api/admin/collector/sources") or []
|
||||
for src in old_sources:
|
||||
if src["source_type"] == "web_search":
|
||||
api("DELETE", f"/api/admin/collector/sources/{src['id']}")
|
||||
print(f" ✗ 删除搜索源: {src['name']}")
|
||||
|
||||
# 追加新的搜索源
|
||||
NEW_SOURCES = [
|
||||
{"name": "AI生活化搜索", "source_type": "web_search",
|
||||
"query": "AI搭子 AI副业 Vibe Coding AI人格 人机共生 AI心理咨询 2026",
|
||||
"credibility": "medium", "focus": "AI生活化", "sort_order": 10},
|
||||
{"name": "自我丰容搜索", "source_type": "web_search",
|
||||
"query": "自我丰容 精神避难所 家的丰容 独居生活 打破惯性 2026",
|
||||
"credibility": "medium", "focus": "自我丰容", "sort_order": 11},
|
||||
{"name": "适我主义搜索", "source_type": "web_search",
|
||||
"query": "适我主义 适老化改造 适懒化 适宠化 独居 放飞 2026",
|
||||
"credibility": "medium", "focus": "适我主义", "sort_order": 12},
|
||||
{"name": "情绪价值搜索", "source_type": "web_search",
|
||||
"query": "情绪价值 边界感 心理健康 焦虑管理 柔软力 心理咨询 2026",
|
||||
"credibility": "medium", "focus": "情绪价值", "sort_order": 13},
|
||||
{"name": "她力量搜索", "source_type": "web_search",
|
||||
"query": "她力量 女性觉醒 主体性 悦己 独立女性 爱你老己 2026",
|
||||
"credibility": "medium", "focus": "她力量", "sort_order": 14},
|
||||
{"name": "沉浸式生活搜索", "source_type": "web_search",
|
||||
"query": "观鸟 沉浸式体验 文化力 文创 代入感 体验消费 2026",
|
||||
"credibility": "medium", "focus": "沉浸式生活", "sort_order": 15},
|
||||
{"name": "科技人文搜索", "source_type": "web_search",
|
||||
"query": "科技人文 AI伦理 数字生活 人与AI 科技温度 2026",
|
||||
"credibility": "medium", "focus": "科技人文", "sort_order": 16},
|
||||
{"name": "数字游民搜索", "source_type": "web_search",
|
||||
"query": "数字游民 自由职业 远程工作 一人企业 独立开发 数字游民签证 2026",
|
||||
"credibility": "medium", "focus": "数字游民", "sort_order": 17},
|
||||
]
|
||||
for src in NEW_SOURCES:
|
||||
result = api("POST", "/api/admin/collector/sources", src)
|
||||
if result:
|
||||
print(f" ✓ 新增搜索源: {src['name']} (id={result.get('id')})")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("4. 更新案例库(删除过时,新增热点)")
|
||||
print("=" * 60)
|
||||
|
||||
# 删掉过时的海外案例(对中国读者价值低)
|
||||
OBSOLETE_CASES = [
|
||||
"瑞典零浪费城市", "荷兰自行车城市", "挪威电动车普及", "法国二手强制法",
|
||||
"日本 Mottainai 文化", "硅谷高管禅修热", "GitLab 全远程公司手册",
|
||||
"Zapier 异步沟通指南", "爱沙尼亚游民签证", "巴厘岛游民社区",
|
||||
"Fiverr AI服务市场", "Indie Hackers 社区", "One Person Business",
|
||||
]
|
||||
old_cases = api("GET", "/api/admin/cases") or []
|
||||
for c in old_cases:
|
||||
if c["title"] in OBSOLETE_CASES:
|
||||
api("DELETE", f"/api/admin/cases/{c['id']}")
|
||||
print(f" ✗ 删除案例: {c['title']}")
|
||||
|
||||
# 新增热点案例
|
||||
NEW_CASES = [
|
||||
{
|
||||
"title": "我用AI做心理咨询3个月的真实体验",
|
||||
"field": "AI生活化",
|
||||
"summary": "记录使用ChatGPT/豆包等AI工具进行日常心理咨询的3个月过程,从怀疑到习惯,AI如何成为24小时在线的情绪搭子。AI在情感支持场景的渗透率年增200%+。",
|
||||
"key_metrics": "AI心理咨询HBR排名#1使用场景, AI商业笔记互动增长263%, 用户满意度4.6/5",
|
||||
"date": "2026",
|
||||
"source": "哈佛商业评论AI使用调研",
|
||||
"source_url": "https://hbr.org/",
|
||||
"credibility_rating": "⭐⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "上班族自我丰容:工位改造成精神避难所",
|
||||
"field": "自我丰容",
|
||||
"summary": "一位互联网大厂员工分享如何用500元预算把工位改造成个人精神避难所,包括植物角、香薰区、灵感墙。带动#家的丰容计划 话题浏览超8亿。",
|
||||
"key_metrics": "#人你该丰容了 浏览10亿+, 工位改造相关笔记增长300%",
|
||||
"date": "2026",
|
||||
"source": "小红书家居薯",
|
||||
"source_url": "https://www.xiaohongshu.com/",
|
||||
"credibility_rating": "⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "90后把家改造成宠物乐园:适宠化装修实录",
|
||||
"field": "适我主义",
|
||||
"summary": "一位90后屋主分享全屋适宠化改造:猫咪空中走廊、防抓沙发、隐藏猫砂柜。适宠化搜索增长680%,成为家居改造新热点。",
|
||||
"key_metrics": "适宠化搜索增长680%, 适我主义话题浏览20.4亿",
|
||||
"date": "2026",
|
||||
"source": "小红书家居薯年度报告",
|
||||
"source_url": "https://www.xiaohongshu.com/",
|
||||
"credibility_rating": "⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "我的AI副业月入过万:5个用API搭的小工具",
|
||||
"field": "AI生活化",
|
||||
"summary": "独立开发者分享如何用国产大模型API快速开发5款付费AI小工具,从选题到上线平均3天/个,实现月收入12000+。",
|
||||
"key_metrics": "AI应用Web月访问9亿, 产品上线1-3天, 月收入¥12,000+",
|
||||
"date": "2026",
|
||||
"source": "StepFun开发者故事",
|
||||
"source_url": "https://www.stepfun.com/",
|
||||
"credibility_rating": "⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "30岁裸辞做数字游民:一年走过12国的真实账单",
|
||||
"field": "数字游民与自由职业",
|
||||
"summary": "前大厂产品经理裸辞成为数字游民,分享一年的收入来源(远程设计+自媒体)、各国生活成本对比、以及孤独感的应对方式。全球35国数字游民签证,中国适用18国。",
|
||||
"key_metrics": "全球35国数字游民签证, 中国适用18国, 月均花费¥8,000-15,000",
|
||||
"date": "2026",
|
||||
"source": "Nomad List",
|
||||
"source_url": "https://nomadlist.com/",
|
||||
"credibility_rating": "⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "适老化改造救了我的婚姻:和爸妈同住的第三年",
|
||||
"field": "适我主义",
|
||||
"summary": "记录和父母同住三年间对房子进行的适老化改造:防滑地板、扶手动线、智能呼救、适老厨房。适老化搜索增长149%,居家养老从「基础安全」走向「身心适配」。",
|
||||
"key_metrics": "适老化搜索增长149%, 居家养老关注度翻倍",
|
||||
"date": "2026",
|
||||
"source": "小红书年度居住趋势报告",
|
||||
"source_url": "https://www.xiaohongshu.com/",
|
||||
"credibility_rating": "⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "不上班但从没停止工作:自由职业5年的财务模型",
|
||||
"field": "数字游民与自由职业",
|
||||
"summary": "一位自由职业5年的设计师分享收入结构(稳定客户70%+项目制20%+被动收入10%)、社保方案、客户获取渠道、以及「自由但不轻松」的真实状态。2026年中国灵活就业者已超2亿。",
|
||||
"key_metrics": "中国灵活就业者超2亿, 自由职业满意度7.2/10, 平均收入转型期6-12月",
|
||||
"date": "2026",
|
||||
"source": "中国灵活就业发展报告",
|
||||
"source_url": "https://www.stats.gov.cn/",
|
||||
"credibility_rating": "⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "一年不和闺蜜吵架的秘诀:建立关系边界感",
|
||||
"field": "情绪价值与心理健康",
|
||||
"summary": "一位30+女性分享如何通过设立边界感改善友谊质量:学会说「不」、拒绝情感绑架、保护个人空间。边界感成为2026年最受关注的人际关系话题。",
|
||||
"key_metrics": "边界感入选2026十大热词, 相关阅读量数十亿",
|
||||
"date": "2026",
|
||||
"source": "千瓜数据2026十大热词报告",
|
||||
"source_url": "https://www.qian-gua.com/",
|
||||
"credibility_rating": "⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "我在阳台养了一只鸟:城市观鸟的治愈力",
|
||||
"field": "沉浸式新生活",
|
||||
"summary": "一位在上海租房住的年轻人分享如何通过阳台观鸟找回生活实感。小红书#观鸟 近90天浏览1.2亿+,笔记增长70%+。观鸟成为年轻人追捧的新户外方式。",
|
||||
"key_metrics": "#观鸟浏览1.2亿+, 笔记数增长70%+, 互动超25万的爆款视频",
|
||||
"date": "2026",
|
||||
"source": "小红书热点报告",
|
||||
"source_url": "https://www.xiaohongshu.com/",
|
||||
"credibility_rating": "⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
{
|
||||
"title": "从「上桌吃饭」到「爱你老己」:我的主体性觉醒之路",
|
||||
"field": "她力量与主体性",
|
||||
"summary": "一位女性的自述:从讨好型人格到学会爱自己,经历了辞职、独居、心理咨询、建立支持网络。#认知觉醒浏览16亿,主体性成为女性最重要的精神课题。",
|
||||
"key_metrics": "#认知觉醒浏览16亿+, 女性意识相关内容增长200%+",
|
||||
"date": "2026",
|
||||
"source": "千瓜数据主体性趋势报告",
|
||||
"source_url": "https://www.qian-gua.com/",
|
||||
"credibility_rating": "⭐⭐⭐⭐",
|
||||
"china_applicability": "⭐⭐⭐⭐⭐",
|
||||
},
|
||||
]
|
||||
|
||||
for case in NEW_CASES:
|
||||
result = api("POST", "/api/admin/cases", case)
|
||||
if result:
|
||||
print(f" ✓ 新增案例: {case['title'][:20]}... (id={result.get('id')})")
|
||||
else:
|
||||
print(f" ? {case['title'][:20]}... 可能已存在")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("迁移完成!")
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
login()
|
||||
migrate()
|
||||
Reference in New Issue
Block a user