58 Commits

Author SHA1 Message Date
Yuzhiran Dev f6e5e90736 feat: Wave 3 - Dashboard redesign + RBAC + AI assistant updates
- Redesign index.html from system-monitor to user-centric workspace
  (welcome banner, summary cards, 今日待办, AI 智能建议, collapsible admin section)
- Add fetchTodos/fetchSuggestions/getPriorityClass/isOverdue methods
- Update uni-nav current-page from 'dashboard' to 'workspace'
- Add require_role to 10 admin router imports (RBAC foundation)
- Update ai-assistant.js: add factory/insights pages, org_id in chat requests
2026-06-17 18:24:57 +08:00
Yuzhiran Dev 23ff63baa9 fix: 三平台内容差异化 + admin敏感词管理表格化
- writer.py: _expand_section() 去除 <100字阈值,始终调用 LLM 平台专属扩写
- prompt_loader.py: 新增 section_expansion_zhihu/wechat/xiaohongshu 三个独立 prompt
- admin.html: 配置管理标签页 + 敏感词/清理规则子标签 + 敏感词表格化管理(编辑/删除)
- config_items.py: PUT /sensitive-words/{id} 支持更新 word/category
- compliance_checker.py: AI 套话从 DB 加载 + 人称规则修正
- initial_data.py: PlatformConfig 字数迁移 + 新种子
- 各前端页面: LLM 配置 rate_limit 字段 + 供应商列表排序
2026-06-08 13:51:35 +08:00
Yuzhiran Dev 499c511140 chore: opencode冗余清理 + LLM任务级模型选择 + systemd服务化
- 删除 opencode_search.py / mcp_search_server.py 及所有 MCP 引用
- 移除搜索缓存定时任务(scheduled_refresh_search_cache)
- 清理前后端所有 opencode/MCP 代码和注释
- LLM 提供商量换:opencode-go→nvidia(默认)+sensenova(合规审查)
- llm_configs 新增 is_default 字段,API 层互斥逻辑
- 所有定时任务支持独立 LLM 模型选择(LLM_TASK_PROVIDER env)
- compliance_optimizer.py 修复:import os / 解硬编码 / 关键词过滤
- Scheduler 日志修复:始终 INSERT,避免僵尸 running 行
- Systemd 服务化:Restart=always / 单 worker / Type=exec
- 搜索提供商:替换 opencode→360/搜狗/微信(免 Key)
- 更新 AGENTS.md / PROGRESS.md
2026-06-02 15:38:16 +08:00
Yuzhiran Dev ac8644d752 fix: content quality, image format, task monitor, calendar data source, search UI & sort 2026-05-26 11:26:10 +08:00
Yuzhiran Dev b2d043b231 新增用户管理/角色管理/菜单管理功能,修复创作流水线研究脚本
- 用户管理:新增编辑弹窗(修改用户名/角色/密码),增加组织/创建时间/最后登录列
- 角色管理:新增 Role 模型 + CRUD API,admin.html 新增角色管理 tab
- 菜单管理:新增 Menu 模型 + CRUD API,导航栏从 API 动态加载菜单项
- 个人中心:右上角下拉菜单(个人信息/修改密码/退出),新增修改密码 API
- 种子数据:initial_data.py 自动创建默认角色(admin/editor)和默认菜单(7项)
- 修复 research.py 缺少 enrich_topic_research 函数导致导入失败
- 修复 db_helper.py 中 generated_at 条件导致重创作不更新时间戳
- admin.html 操作列加宽防止按钮换行,平台配置增加删除按钮
- articles.html 预览弹窗加 lock-scroll=false 防止页面尺寸跳动
2026-05-22 18:34:27 +08:00
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 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 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 a09e7e6671 Add pagination to admin management tabs (cases/categories/sources/orgs) 2026-05-18 19:18:09 +08:00
Yuzhiran Dev eb472d232e fix: 仪表盘概览标题颜色过浅改用CSS变量;模块状态列表从3个扩展至6个与定时任务数匹配 2026-05-17 17:01:14 +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 233e23016c feat: 内容数据迁移至数据库,合规审查全链路打通
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录
- 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布
- 新增 todayCount 筛选按钮,与系统概览统计数据一致
- 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮
- 统一 '优化' → '审查' 命名,消除前后端术语不一致
- 调度器创作完成后自动触发审查(生成 → 审查 → 待发布)
- 清理旧备份/调试文件、过期大纲和研究笔记
2026-05-13 17:33:56 +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 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 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 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 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 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
lt e1613d2af9 fix: restore frontend to dynamic version (undo incorrect sync from outdated backend/static) 2026-05-01 07:51:16 +08:00
lt 94295e1f74 refactor: unify frontend source; sync latest UI changes and update project completion report 2026-05-01 07:32:55 +08:00
lt cfb60d7aae UI优化完善初版 2026-05-01 06:48:21 +08:00
lt e1ba31afda 版本1.0.4 - 发布前准备
- 修复system.py缩进错误
- 优化前端页面样式(待重构)
- 改进API接口结构
- 完善文档和自动化脚本
- 平台基本功能稳定运行
2026-04-29 09:32:43 +08:00
lt 9ced46c296 fix(frontend): 菜单跳转和日志默认日期
- 修改 index.html 菜单为页面跳转(redirectToPage)
- 移动端导航同样修复
- logs.html: logDate 默认值为当天
- topics.html: 支持 URL filter 参数自动筛选

版本: v1.0.2
2026-04-27 16:55:15 +08:00
lt b85b89a569 fix(frontend): 注册 ElementPlus 插件,修复 async 语法错误
- 统一在 createApp 后调用 app.use(ElementPlus)
- 为 handlePublish 添加 async 关键字
- 修正静态资源路径引用
- 解决登录页空白、按钮不可用问题

版本: v1.0.1
2026-04-27 16:45:58 +08:00
lt 5fe426fc90 feat: 全面优化前端架构
- 本地化所有资源 (Vue3, Element Plus) 无需外部 CDN
- 重新设计主页:登录页 + 系统概览 + 侧边栏导航
- 完善管理后台功能:选题管理、系统日志、用户管理
- 全面支持 PC 和 H5 移动端(响应式布局 + 底部导航)
- 优化后端 API 返回格式,兼容前端需求
- 默认首页为登录/系统概览页面
- 统计卡片可点击筛选选题列表
- 模块状态实时展示
2026-04-27 15:14:26 +08:00
lt 8b5b76f6cb fix: 使用本地静态文件替代 CDN,避免浏览器安全策略阻止 2026-04-27 14:13:00 +08:00
lt 73de8702ac fix: 移除 Tailwind CDN,使用内联 CSS 样式避免浏览器安全策略阻止 2026-04-27 14:11:14 +08:00
lt 20970034b6 fix: 修复所有页面的 Element Plus 引用,统一使用 CDN 版本 2026-04-27 14:07:55 +08:00
lt 0a19cc203b feat: 按菜单功能拆分页面 - index.html(主入口+概览)、topics.html、logs.html、users.html 2026-04-27 13:09:38 +08:00
lt 87ebd94719 feat: 完全重建选题管理页面,包含统一卡片容器,恢复所有功能 2026-04-27 13:00:04 +08:00
lt 5f44df1d48 feat: 安全添加统一卡片容器,仅包裹选题管理内容 2026-04-27 12:57:08 +08:00
lt 4d5e249c55 fix: 重新正确构建选题管理页面,修复 HTML 结构 2026-04-27 12:48:28 +08:00
lt d645c032ca fix: 正确添加统一卡片容器,修复 HTML 结构 2026-04-27 12:36:03 +08:00
lt 62a293e2b0 feat: 选题管理页面添加统一卡片容器,包裹标题、按钮、筛选和列表,视觉更整体 2026-04-27 12:27:51 +08:00
lt 6c6a153997 fix: 侧边栏宽度从 192px (w-48) 改为 160px (w-40),与主内容 margin-left 对齐,消除空隙 2026-04-27 12:18:17 +08:00
lt d9ffcb5840 fix: 修正布局溢出 - 侧边栏 fixed 160px, 主内容 max-width calc(100vw-160px), 消除右侧超出 2026-04-27 12:10:31 +08:00
lt fb99241a0f fix: 固定宽度布局 - 侧边栏 160px + 主内容 calc(100vw-160px) = 100vw 2026-04-27 11:57:11 +08:00
lt d3e64bd649 fix: 改用 margin-left: 160px 布局,确保总宽度=100vw,不超出边界 2026-04-27 11:54:50 +08:00
lt 17b294726a fix: 确保选题管理标题和列表右边界对齐,不超出容器 2026-04-27 11:47:22 +08:00
lt 9725ac73d4 fix: 确保选题列表卡片背景不超出页面右边界 2026-04-27 11:44:54 +08:00
lt 95f0c6b345 style: 操作列宽度调整为 210px,3 个按钮一行,第 4 个自动换行左对齐 2026-04-27 11:43:16 +08:00
lt fb83c164da style: 操作列按钮换行后左对齐,修复样式问题 2026-04-27 11:41:42 +08:00
lt c0c062e863 fix: 修复 deleteTopic 未暴露问题,调整日志下拉框宽度 2026-04-27 11:37:13 +08:00
lt 59d2a76df4 style: 批量操作按钮区域改为自适应宽度,不再固定 100% 2026-04-27 11:25:11 +08:00
lt 4412adfae5 style: 调整按钮容器宽度,确保第 4 个按钮换行 2026-04-27 11:23:00 +08:00
lt 86425eb18f style: 操作列宽度 300px,按钮 3 个后自动换行 2026-04-27 11:20:57 +08:00
lt 1be6d5e57d style: 操作列宽度调整为 400px 2026-04-27 11:19:27 +08:00