Yuzhiran Dev
93d1d511e5
feat: Register scheduled GEO tracker (07:30 daily)
...
- New MODULE entry: scheduled_geo_tracker
- New LOG_FILE_MAP entry
- New MODULE_JOBS entry
- _run_geo_tracker method: subprocess invokes geo_tracker.py
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-06-16 08:26:13 +08:00
Yuzhiran Dev
8595bbc521
feat: GEO/SEO structured data + search ranking tracker
2026-06-09 17:18:09 +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
c6628b22f6
fix: 任务抽屉产出结果优化 + server 启动修复
...
- 任务抽屉产出结果 tab 优先显示 last_message(日志消息),
过滤 result_data 中的 None/空值
- 修复 tasks.py 因 opencode 块删除导致的 SyntaxError
- 修复 scheduled_generate 存储 None 值问题
- 清理 DB 中旧 scheduled_refresh_search_cache 的 56 条
TaskLog + 1 条 TaskConfig
- 更新 PROGRESS.md
2026-06-03 11:06:25 +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
f1dc29f439
fix(llm): 分场景使用不同模型
...
- nvidia 激活、模型改为 step-3.7-flash → 用于日常生成/采集/优化等
- compliance_optimizer.py 显式指定 provider=sensenova → 合规审查走 deepseek-v4-flash
- _FALLBACK 同步更新为 step-3.7-flash
- 管理后台标签同步更新
2026-06-01 14:35:41 +08:00
Yuzhiran Dev
475945418e
feat(llm): LLM 配置完全通过管理后台维护
...
- _get_provider_config 改从 DB 读取 api_key(.env 为 fallback)
- 前端 admin.html 新增 sensenova provider 选项,默认值更新为 sensenova
- 新增提供商不再需要改代码,后台直接配即可
2026-06-01 14:23:24 +08:00
Yuzhiran Dev
2c17f006fc
feat(llm): 添加 sensenova 提供商,替换 opencode-go
...
_API_KEYS/_FALLBACK 添加 sensenova,DB 中设 is_active=true
与 opencode-go 同模型(deepseek-v4-flash),但走 sensenova 通道
2026-06-01 14:17:36 +08:00
Yuzhiran Dev
31d8434010
fix(llm): call_llm 429 自动 fallback + 移除 compliance 硬编码 provider
...
- nvidia_client.py 新增 _get_provider_fallback_list() 从 DB 读提供商顺序
- call_llm 循环尝试提供商列表,HTTP 429 自动跳过到下一个
- 移除 compliance_optimizer.py 中硬编码 provider="opencode-go"
- 新增 logging 模块引用
2026-06-01 13:23:35 +08:00
Yuzhiran Dev
468c9066cb
fix(scheduler): _log_task 重复 INSERT 导致 zombie running 行
...
_log_task 在任务开始(running)和结束(success/failed)时分别
INSERT,导致 running 行永不更新,被 task monitor 标记为失败。
修复:新增 log_id 参数,传入时 UPDATE 已有行。所有 _run_* 方法
save running log_id 并在结束时传入。早期 return 处也标记失败。
2026-06-01 10:01:50 +08:00
Yuzhiran Dev
bd3228806d
fix: 合规审查卡死修复 + 小红书复制格式 + today-only过滤
2026-05-27 18:25:30 +08:00
Yuzhiran Dev
2c6adf1f43
fix: system_prompt now read from DB LLMConfig
...
- _get_db_defaults returns system_prompt from DB
- call_llm(system_prompt=None) falls back to DB value
- DB already has system_prompt set for both providers
2026-05-27 10:47:02 +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
1855f190f5
配置全面迁移数据库:PromptConfig、TaskConfig动态调度、敏感词/清洗规则/趋势映射/平台标签/痛点模板全部可编辑
...
- 新增 PromptConfig 模型 + API,支持提示词在线编辑(16条默认)
- 调度器动态读取 TaskConfig.schedule,admin 可调执行时间
- 新增 KeywordDomainMap、SensitiveWord、ContentCleanRule、TrendFieldMapping 表
- DOMAINS、TREND_DOMAIN_MAP、PLATFORM_TAGS、china_pains、RSS关键词、priority_weights 全部迁移到 DB
- tasks.html 重构:卡片网格+配置/产出/历史/提示词四个Tab,折叠显示
- 清理冗余代码:DEFAULT_PROMPTS死代码、collector.py unreachable代码、compliance_checker bug
- strip_thinking_html 改用 DB 规则优先
2026-05-22 11:18:23 +08:00
Yuzhiran Dev
5037d5d0ed
流水线整体前移1.5h,凌晨5点前全部就绪
...
01:00 search → 01:10 trends → 01:30 collect
→ 02:00 create → 03:00 review
→ 05:00 optimize_sources → 06:00 metrics
各间隔: 10min/20min/30min/60min/2h/1h
采集到创作30min缓冲足够(采集≈5-15min)
2026-05-21 10:04:41 +08:00
Yuzhiran Dev
56293a52a2
打通流水线闭环: trends+metrics+optimize_sources → collector
...
三大数据流精准注入采集器:
1. 热点趋势(trends) -> collector
_get_trend_context() 读取 trends.json
热搜注入 LLM 选题 prompt
2. 历史表现(metrics) -> collector
scheduler 同步指标后按field聚合写入 feedback.json
collector 读取后高互动领域获优先级提升
3. AI策略(optimize_sources) -> collector
从 DB SystemConfig 读取 AI 建议注入 prompt
2026-05-21 09:48:38 +08:00
Yuzhiran Dev
6b790e77f6
全线异步化: 所有手动触发任务不再阻塞uvicorn worker
...
每个模块提供两个版本:
- run_xxxx() → Popen非阻塞(给API用)
- run_xxxx_blocking() → subprocess.run阻塞(给定时任务用)
API端点全部改为立即返回XX已后台启动,不再等子进程完成
受影响端点:
/generate/run (原30min→12ms)
/review/run (原10min→12ms)
/collect/run (原5min→12ms,已修复)
/optimize-sources/run (原2min→12ms)
/trends/run (原2min→12ms)
/refresh-search-cache/run (原10min→12ms)
/metrics-sync/run (原N×10s→12ms)
同时增加对应GET状态端点:/collect/status,/generate/status,/review/status
2026-05-21 09:20:13 +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
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
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
dc531460ea
fix: 小红书文章无正常内容(LLM推理文本污染)、模块列表不匹配、脚本独立运行缺org_id列迁移
2026-05-17 22:52:05 +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
233e23016c
feat: 内容数据迁移至数据库,合规审查全链路打通
...
- 文章 HTML 存储从文件系统迁移至 articles 表,删除 releases 目录
- 合规审查从 DB 读取 HTML,审查结果写回 DB,通过后自动推进至待发布
- 新增 todayCount 筛选按钮,与系统概览统计数据一致
- 全屏预览修复:提升 z-index 超过侧边栏,添加退出全屏/关闭按钮
- 统一 '优化' → '审查' 命名,消除前后端术语不一致
- 调度器创作完成后自动触发审查(生成 → 审查 → 待发布)
- 清理旧备份/调试文件、过期大纲和研究笔记
2026-05-13 17:33:56 +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
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
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
aa76f8203f
optimize: refine LLM prompts for conciseness and reduce verbosity; reduce max_tokens to 1000
2026-05-01 11:53:02 +08:00
lt
601fc5d239
refactor: remove publisher, add auto DB sync, clean backups, update docs
2026-05-01 10:05:50 +08:00
lt
e1ba31afda
版本1.0.4 - 发布前准备
...
- 修复system.py缩进错误
- 优化前端页面样式(待重构)
- 改进API接口结构
- 完善文档和自动化脚本
- 平台基本功能稳定运行
2026-04-29 09:32:43 +08:00
lt
277b13eaae
feat: 完成布局优化 - 操作列固定、批量按钮自适应、分类标签带数量
...
优化内容:
1. 表格布局:
- 使用 calc(100vw - 160px) 确保表格不超出视口
- 操作列 fixed='right' 固定在右侧,宽度 300px
- 按钮 3 个后自动换行 (max-width: 200px)
- 恢复合理列宽,不再过度压缩
2. 批量操作区域:
- 容器改为 inline-block,宽度自适应按钮内容
- 背景宽度与按钮总宽度匹配
3. 分类标签:
- 显示数量 (如 '待处理 (20)')
- 点击切换筛选,去掉误导的 'X' 图标
4. 删除功能:
- 操作列增加删除按钮
- 删除前弹出确认对话框
5. 系统日志:
- 修复后端日志路径 (parents[4])
- 404 时显示友好提示
6. 其他:
- 左侧菜单宽度 160px
- 所有功能保留 (登录、用户管理、批量操作等)
2026-04-27 11:32:17 +08:00
lt
2bd3c83cf5
feat: 宇之然平台 v2.0 - 完整重构版
...
核心功能:
- 新增 JWT 认证系统,支持管理员登录/登出
- 前后端合并为单一 FastAPI 应用 (端口 8001)
- 系统概览页:6 个统计卡片,点击跳转筛选
- 选题管理页:批量操作 (刷新/创作/优化),时间列展示
- 系统日志页:整合日志查看功能
- 用户管理页:管理员可创建/删除用户
- 移动端适配:响应式布局,底部导航栏
- 标题居中显示
技术改进:
- 添加 generated_at 字段支持创作时间记录
- 状态更新时自动同步 updated_at
- 所有 API 路由添加 JWT 认证保护
- 前端 authFetch 封装自动附加 Token
- 升级 FastAPI 0.136, Pydantic 2.13 等依赖
修复:
- 修复 API 500 错误 (数据库列缺失)
- 修复 formatRelativeTime 未定义错误
- 修复登录 Token 存储和自动附加逻辑
2026-04-27 10:01:33 +08:00
lt
3cb2df51c8
Initial commit: yu-zhi-ran platform with automation integration
2026-04-19 14:05:09 +08:00