Yuzhiran Dev
|
6f81167691
|
联网搜索能力集成: opencode webfetch → 采集器
新增:
- scripts/opencode_search.py: 通过 npx opencode run 调用 webfetch 联网搜索
- 搜索缓存每日 02:30 自动刷新 (scheduler)
- 管理后台「搜索缓存」模块 + 立即运行按钮
- POST /api/system/refresh-search-cache/run 手动触发端点
- 8个分类搜索词从sources.yaml读取,调用AI联网搜索真实内容
机制:
Python脚本 → npx opencode run → AI webfetch → 真实搜索结果 → 写入search_cache.json
→ 采集器读缓存 → LLM基于真实数据生成选题
不再需要API Key,不依赖任何搜索引擎,搜索结果来自AI的webfetch能力
|
2026-05-21 09:01:02 +08:00 |
|
Yuzhiran Dev
|
c8bee712d7
|
Phase3: 三平台封面图生成
- cover_generator.py: Pillow生成知乎/微信/小红书封面图(渐变背景+标题)
- 知乎 1200×630 蓝调, 微信 900×500 绿调, 小红书 1080×1440 红调
- creator.py 流水线增加 cover_generator 作为最终回退
- db_helper.py 新增 save_cover_to_article
- main.py 挂载 /automation/images 静态目录
- articles.py preview 接口返回 images 字段
- topics.html 预览dialog展示封面图
|
2026-05-20 19:12:58 +08:00 |
|
Yuzhiran Dev
|
40a77cad2c
|
Phase2: 真实热点数据接入
- trends.py新增百度/微博/知乎实时热搜API抓取,LLM为fallback
- 新增 source 字段标记数据来源
- scheduler.py新增 scheduled_fetch_trends 每日03:00定时刷新
- system.py新增 POST /api/system/trends/run 手动触发端点
- system.py modules/status 加入热点趋势模块
- index.html triggerModule 加入 trends 触发按钮
|
2026-05-20 19:07:35 +08:00 |
|
Yuzhiran Dev
|
09da2f9dc4
|
Phase1: 效果数据真实化
- 替换scheduler.py中假随机数metrics_sync为知乎API自动获取
- 新增 POST /api/metrics/zhihu-fetch 知乎公开数据API端点
- metrics.html新增「数据录入」tab:手动录入表单+已有数据列表+知乎自动获取
- gitignore清理已跟踪的生成文件(outlines/research/images/cache)
|
2026-05-20 19:04:35 +08:00 |
|
Yuzhiran Dev
|
9a328323c0
|
Filter outline markers in writer, add min-height to preview dialog
|
2026-05-20 18:11:32 +08:00 |
|
Yuzhiran Dev
|
2244736318
|
Fix preview: keep article title and tags, adjust scroll height
|
2026-05-20 15:37:26 +08:00 |
|
Yuzhiran Dev
|
63f074e4df
|
Fix preview dialog scroll & preserve HTML structure on edit save
|
2026-05-20 15:18:48 +08:00 |
|
Yuzhiran Dev
|
0a8fbda4fd
|
Fix calendar filter, module triggers, API cleanup, consolidate get_current_admin, fix LLM schema
|
2026-05-20 14:15:00 +08:00 |
|
Yuzhiran Dev
|
498165440f
|
Add platform config website_url, admin tab, fix writer DB config fallback, add trigger endpoints
|
2026-05-20 09:38:56 +08:00 |
|
Yuzhiran Dev
|
55e5f3d166
|
Fix topics mobile card list pagination: use paginatedTopics instead of filteredTopics
|
2026-05-19 08:28:56 +08:00 |
|
Yuzhiran Dev
|
3dce54b359
|
Fix writer max_tokens (500→1000) for titles/tags, fix preview scrollbar height
|
2026-05-19 07:44:56 +08:00 |
|
Yuzhiran Dev
|
671cec58fa
|
Fix preview platform switching, add stale task cleanup on startup
|
2026-05-18 23:38:30 +08:00 |
|
Yuzhiran Dev
|
7b4e52743b
|
Fix pagination: all pages default to 10 per page, add total counts, fix tasks pagination position and use client-side slicing
|
2026-05-18 22:59:03 +08:00 |
|
Yuzhiran Dev
|
894e53caef
|
Add intermediate progress update for running tasks
|
2026-05-18 22:41:31 +08:00 |
|
Yuzhiran Dev
|
f427aea1b3
|
Fix task status stuck at 'running': use new DB session in thread, add frontend auto-polling
|
2026-05-18 22:37:59 +08:00 |
|
Yuzhiran Dev
|
33766a396d
|
Fix topic preview: add missing edit/save methods, fix scrollbar, strip tags from preview body
|
2026-05-18 19:40:26 +08:00 |
|
Yuzhiran Dev
|
a09e7e6671
|
Add pagination to admin management tabs (cases/categories/sources/orgs)
|
2026-05-18 19:18:09 +08:00 |
|
Yuzhiran Dev
|
52564ad036
|
fix: 今日新增筛选统计不准 + LLM提示词动态当前日期 + 微信配图按选题生成
topics.html:
- 今日新增筛选时全量拉取 allTopics 用于保持 stats 统计正确,todayTopics
存储服务端日期过滤结果
- filteredTopics 对 'today' 返回 todayTopics,不按不存在的 status 过滤
writer.py/research.py/outline.py:
- 所有 LLM 提示词注入今天的动态年月日(datetime.now)
- 禁用过时数据的年份改为动态 {当前年-1}-{当前年}
- 每个论点必须配真实最新案例+数据来源
writer.py WeChat 配图:
- 从 null placeholder 改为动态 SVG,展示选题标题+领域
- 标题自动换行(24字/行),附蓝色装饰条 + 渐变背景
|
2026-05-18 06:25:47 +08:00 |
|
Yuzhiran Dev
|
bb50d5d925
|
fix: 今日新增筛选filteredTopics未处理'today'导致始终为空,状态筛选改为全量拉取保统计准确
- filteredTopics 对 filterStatus='today' 直接返回 this.topics(服务器已按日期过滤),避免按不存在的 status 再次过滤导致空列表
- fetchTopics 改为只有 'today' 走服务端 ?today=true;其他状态仍然全量拉取后客户端过滤,保证 statusStats 统计按钮数字准确
- 保留 watch 移除(用户能自由清除筛选)
|
2026-05-18 06:14:15 +08:00 |
|
Yuzhiran Dev
|
a46fedabb5
|
fix: 选题页状态过滤器改用服务端过滤,移除watch覆写URL参数导致无法清除筛选的问题
- fetchTopics 根据 filterStatus 发送 status/today 参数到后端,而非全量拉取后客户端过滤
- 移除 watch.topics 处理器,解决 URL 参数反复覆写用户筛选操作的问题
- 今日新增(?today=true)和服务端 status 参数均走 API 过滤
|
2026-05-18 06:08:33 +08:00 |
|
Yuzhiran Dev
|
41b0f694ee
|
feat: 平台配置表扩展配图/字数字段,微信公众号正文插入配图,合规检查从DB读规则
- PlatformConfig模型新增requires_image、image_count_min/max、image_width/height、min_words/max_words
- schemas.py同步PlatformConfigBase/Create/Update/Response新字段
- initial_data.py为三大平台填充初始值(微信需配图、字数800-1500等)
- database.py添加新列ALTER TABLE迁移
- platforms.html重写编辑弹窗(正确字段名+配图/字数设置)
- writer.py微信公众号文章正文h1后插入<img>占位
- compliance_checker.py接受platform_config参数,从DB读取规则替代硬编码
- compliance_optimizer.py启动时加载DB平台配置传入checker
|
2026-05-17 23:08:43 +08:00 |
|
Yuzhiran Dev
|
dc531460ea
|
fix: 小红书文章无正常内容(LLM推理文本污染)、模块列表不匹配、脚本独立运行缺org_id列迁移
|
2026-05-17 22:52:05 +08:00 |
|
Yuzhiran Dev
|
eb472d232e
|
fix: 仪表盘概览标题颜色过浅改用CSS变量;模块状态列表从3个扩展至6个与定时任务数匹配
|
2026-05-17 17:01:14 +08:00 |
|
Yuzhiran Dev
|
2b7935b408
|
fix: 补充H5移动端隐藏el-table样式,修复选题/文章页桌面表和移动端卡片同时显示的问题
|
2026-05-17 15:15:11 +08:00 |
|
Yuzhiran Dev
|
d32fc05f4f
|
refactor: 统一CSS设计系统 — 移除各页面重复内联样式,改用theme-modern.css自定义属性
|
2026-05-17 10:09:56 +08:00 |
|
Yuzhiran Dev
|
9c37c9a574
|
feat: Phase 4 多租户隔离 + 四阶段升级测试 + CSS 统一化
Phase 4: org_id 注入 JWT/API 过滤/组织管理 CRUD/前端组织列
测试: tests/test_phase_upgrades.py 97项全覆盖
CSS: theme-modern.css 共享 mobile-card-list/status-dot/search-bar 等模式
修复: initial_data.py LLM配置 NOT NULL 约束, TopicResponse 含 org_id
|
2026-05-17 06:56:53 +08:00 |
|
Yuzhiran Dev
|
fef435cc78
|
feat: 审查流程优化+采集定时调度+全链路LLM提示词升级
- 审查:移除 manual_review,改为迭代LLM修复(最多3次),合规分回写Topic
- 调度:scheduler 新增话题采集定时任务 scheduled_collect (01:30)
- 提示词:全链路8文件≈24个提示词升级,增强SEO/平台推荐/真人感
|
2026-05-14 21:52:02 +08:00 |
|
Yuzhiran Dev
|
1115223066
|
docs: 更新 PROGRESS.md 进度,扩展日志类型下拉
- PROGRESS.md 更新:articles 表迁移、合规审查重构、流水线流程说明
- logs.html 下拉框从 3 种扩展为 9 种日志类型(含研究/大纲/写作/发布/通知/趋势)
|
2026-05-13 18:24:25 +08:00 |
|
Yuzhiran Dev
|
233e23016c
|
feat: 内容数据迁移至数据库,合规审查全链路打通
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录
- 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布
- 新增 todayCount 筛选按钮,与系统概览统计数据一致
- 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮
- 统一 '优化' → '审查' 命名,消除前后端术语不一致
- 调度器创作完成后自动触发审查(生成 → 审查 → 待发布)
- 清理旧备份/调试文件、过期大纲和研究笔记
|
2026-05-13 17:33:56 +08:00 |
|
lt
|
bc6a302e59
|
feat: 优化选题/任务/日志页面布局并打通任务系统
- topics.html: 重构布局(page-header模式),创作改为走 /api/tasks/run-creator 任务系统
- tasks.html: 重试功能实现,调用 /api/tasks/run-creator 重新提交创作
- logs.html: 统一布局风格
- 三个页面添加 min-height / overflow-x / 统一间距
- backend/run.sh: 修复入口为 app.main:app
|
2026-05-09 19:58:49 +08:00 |
|
lt
|
25694db33b
|
chore: 清理未使用的代码文件和备份
- 删除 backend/main.py (已由 app/main.py 替代)
- 删除 backend/api/ 和 backend/core/ (已由 app/api/ 和 app/core/ 替代)
- 删除 backend/static 符号链接
- 删除前端测试/调试页面
- 删除未引用的 vendor 子目录 (element-plus/, vue/, axios/)
- 删除所有 .bak 备份文件
|
2026-05-09 19:43:49 +08:00 |
|
lt
|
71cb4c35a8
|
chore: 清理 Docker 相关文件并优化前端布局
- 删除 Docker 相关文件 (docker-compose, Dockerfile, nginx.conf, init.sql 等)
- 优化 platforms.html 卡片布局和响应式样式
- 优化 users.html 格式和移动端卡片设计
- 优化 admin.html 页面结构和表格布局
- 修复各页面 min-height 和溢出问题
- 更新导航组件样式
|
2026-05-09 19:41:59 +08:00 |
|
lt
|
e77a1aa4d9
|
fix(metrics): 修复 recommend-topics API 错误处理
- 添加 try-except 捕获空数据导致的聚合查询错误
- 添加 logging 导入用于错误日志记录
- 修复 avg_engagement/max_views 类型转换问题
- 新增 test_full_api.py 全功能测试脚本
- 所有 29 项 API 测试通过 (100%)
|
2026-05-08 23:53:55 +08:00 |
|
lt
|
526278589b
|
feat: 完善前端页面 - 新增数据分析、素材库、创作任务、平台配置页面
- 新增 metrics.html: 数据分析页面 (Dashboard, 趋势图, 平台对比, 选题推荐)
- 新增 assets.html: 素材库页面 (上传/管理/预览/标签)
- 新增 tasks.html: 创作任务页面 (任务列表/进度/详情)
- 新增 platforms.html: 平台配置页面 (知乎/微信/小红书格式规则)
- 更新导航组件: 添加新页面入口, 适配 H5 底部导航
- 修复 calendar.html: 使用本地 Vue/ElementPlus 资源
- 修复 assets.py: db.func.count -> sqlalchemy.func.count
- 新增 test_api_unit.py: 后端 API 单元测试
- 新增 test_frontend.sh: 前端页面完整性测试
PC/H5 双端适配, 所有页面统一使用 navbar + navigation 组件
|
2026-05-08 23:35:26 +08:00 |
|
lt
|
cf5103bbca
|
feat: 全面升级项目架构 - PostgreSQL迁移 + 配置化改造
主要变更:
- 数据库: SQLite → PostgreSQL (yzr_nr)
- 选题系统: 硬编码字段 → 配置化 (TopicField/TopicConfigField/TopicStatusConfig)
- 新增模型: ContentCalendar, ContentMetrics, MediaAsset, PlatformConfig, ContentTask
- 新增 API: topic-config, calendar, metrics, assets, tasks, platform-config
- 数据迁移: 现有选题数据迁移到新 schema (field_id/tags/custom_data/scoring_data)
- 初始化数据: 10个领域, 5种状态, 3个平台配置
服务运行: http://localhost:8001
默认账号: admin / admin123
|
2026-05-08 18:26:01 +08:00 |
|
lt
|
ac48304532
|
fix(navigation): 纯DOM注入方案,彻底避开Vue渲染问题
- installNavigation 改为直接创建/插入导航DOM
- 自动从 Vue 实例提取 isAdmin、currentPage、redirectToPage
- 不再依赖 Vue createElement 或组件渲染
- 支持移动端/PC端自适应
|
2026-05-08 15:28:01 +08:00 |
|
lt
|
c13d8c29aa
|
fix(navigation): 改用原生DOM操作,彻底解决h函数问题
- 放弃Vue h函数,直接document.createElement创建导航栏
- mounted生命周期中渲染侧边栏和移动端底部导航
- 原生JS绑定点击事件,确保功能正常
- 避免Vue3 prod版本中render函数的参数问题
|
2026-05-08 14:58:28 +08:00 |
|
lt
|
df86e01cd2
|
fix(navigation): 增强移动端底部导航样式和调试
- mobile-nav 背景改为蓝色(#1890ff),文字白色,便于确认渲染
- 增加渲染日志(侧边栏/移动端项目数量)
- 确保所有页面都使用同一组件,统一显示
|
2026-05-08 13:36:28 +08:00 |
|
lt
|
9147d5e679
|
feat(frontend): 抽离页眉为公共组件;修复导航点击事件
- 新增 navbar-component.js:固定页眉,统一标题、用户信息、退出按钮
- 重构所有页面(index/topics/logs/admin/users)使用 navbar-component
- 清理原有 navbar 相关样式,避免冲突
- 导航组件增加 main-content padding-top 自动调整
- 修复导航按钮点击事件(确保 触发)
- 导航组件样式强应用,解决遮挡和布局问题
|
2026-05-08 13:22:12 +08:00 |
|
lt
|
2220d7b981
|
fix(navigation): 统一 redirectToPage 方法;修复内容区域宽度
- 各页面 redirectToPage 统一为直接跳转 page 参数
- 组件样式增加 main-content margin-left 避免内容被侧边栏遮挡
- 确保固定侧边栏与主内容布局正确
|
2026-05-08 12:42:03 +08:00 |
|
lt
|
c85320ae72
|
fix(navigation): 修复布局偏移和事件跳转问题
- 移除 .navigation-wrapper 的 flex/min-height 布局干扰
- 确保 main-content 不受侧边栏占位影响
- 优化事件处理,增加点击日志
- 修复 admin 导航页面名称不一致问题
|
2026-05-08 12:30:49 +08:00 |
|
lt
|
beb2cf2473
|
debug(frontend): 添加导航组件详细日志,便于问题排查
- 增加 mounted 生命周期日志
- 增加 installNavigation 和样式注入日志
- 在各页面注入运行态调试代码
- 优化 installNavigation 容错(fallback 直接注册)
- 添加最小测试页 test-minimal.html
|
2026-05-08 11:37:32 +08:00 |
|
lt
|
ef168e3d90
|
feat(frontend): 公共导航组件完整实现
- 组件改为render函数,避免模板编译器依赖
- 自动注入样式,无需页面额外CSS
- 自适应布局:PC固定侧边栏,H5底部导航
- 所有页面统一使用,admin权限动态控制
- 自动调整main-content边距,防止遮挡
|
2026-05-08 11:03:33 +08:00 |
|
lt
|
5587fa0bce
|
fix(navigation): 使用render函数替代template,兼容prod版Vue
- 重写组件为render函数实现,避免编译器依赖
- 优化按钮生成逻辑,使用JS数组map
- 修复样式注入时机和CSS冲突问题
- 确保app实例化后调用installNavigation进行注册
|
2026-05-08 10:57:23 +08:00 |
|
lt
|
b8d9e0c209
|
refactor(frontend): 抽离公共导航组件,消除各页面重复代码
- 创建 navigation-component.js:统一的PC左边栏 + H5底部导航组件
- 重构 topics.html、logs.html、admin.html、users.html、index.html
- 删除各页面重复的 sidebar 和 mobile-nav HTML 结构
- 删除重复的导航样式定义,由组件统一提供
- 修复 component 插入重复的问题,确保每个页面只插入一次
现在修改导航只需更新组件文件,无需改动每个页面,提升维护性。
|
2026-05-08 10:36:51 +08:00 |
|
lt
|
284b18e5fc
|
feat: 添加自动化数据目录与可持续性主题数据集
|
2026-05-08 09:26:46 +08:00 |
|
lt
|
df5a9db3ad
|
feat: 管理员页面整合与侧边栏导航优化
- 完成系统管理页面与导航整合
- 在 users.html/topics.html/logs.html 侧边栏与移动导航添加系统管理入口
- 创建 admin.html 管理页面(案例/任务日志/LLM配置/系统配置)
- 新增核心模块:collector.py(数据采集器)、scheduler.py(任务调度器)
- 新增脚本:collector_db_integration.py(采集器数据库整合)
- 更新项目文档并验证路由注册
|
2026-05-08 09:26:06 +08:00 |
|
lt
|
31d6306e3b
|
feat: 数据源统一与前端预览修复
=== 后端核心 ===
- db_helper: 统一数据库访问抽象层
- system.py API:
* 参数绑定修复: 使用 Body(embed=True) 接收 JSON
* 添加请求日志记录
- sync.py: 仅导出 DB→JSON(备份)
=== 合规与流水线 ===
- compliance_checker: 标签检测优化(仅检查容器,避免正文误判)
- 所有脚本(creator/collector/writer/outline/research等)统一使用数据库
=== 前端改版 ===
- topics.html:
* 创作/优化 API 路径修正
* 预览弹窗重设计:多平台并行加载、富文本显示、单复制按钮
* 状态中文映射(getStatusLabel)
* 认证检查
- 所有 HTML 静态资源路径修复(移除 /static 前缀)
=== 数据一致性 ===
- 数据库状态统一为英文(pending/review/ready/published)
- 前端显示中文化映射
已测试 A03 流水线完整通过。
|
2026-05-07 11:25:42 +08:00 |
|
lt
|
8dd19a2179
|
style: unify layout across pages; add sidebar and mobile nav to admin page
- admin page:
- Add sidebar navigation (system overview, topics, logs, users, admin)
- Add mobile bottom navigation
- Update title to "系统管理"
- Add redirectToPage helper for navigation
- Ensure all admin pages (cases, tasklogs, llmconfigs, systemconfigs) remain functional
- Unify button labels: mobile nav uses "系统管理" for admin
- Minor: adjust navbar title
- No changes to other pages (they already had unified structure)
|
2026-05-06 22:06:21 +08:00 |
|
lt
|
8920a337e0
|
fix: 修复前端空白页与API调用错误,统一创作流程
- 前端
- topics.html: 恢复结构并修复Vue初始化问题
- 调整创作按钮逻辑:仅已发布选题禁用
- 修正API端点与payload格式(generate/optimizer/publishing使用topic_ids数组)
- 移除ElementPlus图标模块依赖,使用全局构建
- admin.html: 回退至Options API版本,解决this上下文错误
- 后端
- 注册/api/generate/run路由
- 简化generate逻辑:允许非已发布选题重创作,更新状态为“待审查”
- 统一logs查询接口支持query参数
- 修复admin用户管理字段引用
- 系统概览返回{ stats }结构
- 静态资源整理
- 删除冗余element-plus-icons、重复CSS/JS、图标文件
- 正确放置Vue和ElementPlus全局文件
- 数据库与数据
- 补充30个案例
- 更新选题状态与初始数据
验证:所有页面可访问,API认证与端点正常工作。
|
2026-05-06 21:44:56 +08:00 |
|