|
|
d88b4e9a3b
|
♻️ refactor(config): 实现配置安全存储与原子写
- 新增 `get_secure()` 和 `set_secure()` 方法,优先从环境变量或系统 keyring 读取敏感配置,`config.json` 中仅存储占位符
- 将 `save()` 方法改为使用临时文件 + `os.replace()` 的原子写入,防止进程中断导致配置文件损坏
- 在 `add_llm_provider()` 和 `get_active_llm()` 中集成安全配置读写,自动迁移旧版明文 API Key
♻️ refactor(analytics): 实现分析数据原子写
- 将 `_save_analytics()` 和 `_save_weights()` 方法改为使用临时文件 + `os.replace()` 的原子写入
- 确保在写入过程中进程被终止时,原始数据文件保持完整
♻️ refactor(main): 增强发布功能健壮性与代码模块化
- 在 `publish_to_xhs()` 中增加发布前输入校验【标题长度、图片数量、文件存在性】并在 `finally` 块中自动清理本次生成的临时图片文件
- 为全局笔记列表缓存 `_cached_proactive_entries` 和 `_cached_my_note_entries` 引入 `threading.RLock` 保护,新增 `_set_cache()` 和 `_get_cache()` 线程安全操作函数
- 将「内容创作」Tab 的 UI 构建代码拆分至 `ui/tab_create.py` 模块,主文件通过 `build_tab()` 函数调用并组装
- 将 Gradio 应用的 CSS 和主题配置提取为模块级变量,提升可维护性
📦 build(deps): 新增 keyring 依赖
- 在 `requirements.txt` 中添加 `keyring>=24.0.0` 以支持系统凭证管理
📝 docs(openspec): 新增生产就绪审计文档
- 在 `openspec/changes/archive/2026-02-24-production-readiness-audit/` 下新增设计文档、提案、任务清单及各功能规格说明
- 将核心功能规格同步至 `openspec/specs/` 目录
|
2026-02-24 21:53:36 +08:00 |
|
|
|
4cde2f7c67
|
✨ feat(config): 新增全局设置自动保存功能
- 新增图片生成参数自动保存【quality_mode、sd_steps、sd_cfg_scale、sd_negative_prompt】
- 新增自动运营调度参数自动保存【sched_comment_on、sched_like_on、sched_fav_on、sched_reply_on、sched_publish_on】
- 新增智能学习参数自动保存【learn_interval】
- 新增内容排期参数自动保存【queue_gen_count】
- 优化人设切换逻辑,同时保存到配置并更新队列主题池
- 新增页面加载时自动恢复全局设置功能
📝 docs(config): 更新配置管理文档
- 在config_manager.py中新增默认配置项
- 在main.py中实现启动时自动加载全局设置
- 更新配置保存测试脚本_test_config_save.py
📦 build(ui): 优化用户界面交互
- 图片生成参数变更时自动保存到配置
- 自动运营参数变更时自动保存到配置
- 智能学习参数变更时自动保存到配置
- 内容排期参数变更时自动保存到配置
- 修复人设切换时队列主题池未更新的问题
🐛 fix(queue): 修复发布队列图片显示问题
- 在publish_queue.py中新增图片预览功能
- 支持将图片转换为base64编码嵌入markdown显示
- 显示图片文件大小和状态信息
|
2026-02-24 21:04:33 +08:00 |
|
|
|
1ea8bfb554
|
✨ feat(analytics): 增强 MCP 数据解析兼容性
- 优化用户资料和笔记详情的数据提取逻辑,优先从 `raw["raw"]["content"]` 获取内容,并回退到 `raw["content"]`
- 在笔记详情解析中,增加从 `result["text"]` 提取文本的备用路径
- 在用户动态流解析中,优先从 `f["id"]` 获取笔记 ID,并增加无 ID 条目的日志警告
✨ feat(persona): 扩展人设池并集成视觉风格配置
- 新增“赛博AI虚拟博主”和“性感福利主播”人设及其对应的主题与关键词
- 在 `sd_service.py` 中新增 `PERSONA_SD_PROFILES` 字典,为每个人设定义视觉增强词、风格后缀和 LLM 绘图指导
- 新增 `get_persona_sd_profile` 函数,根据人设文本匹配对应的视觉配置
♻️ refactor(llm): 重构 SD 绘图提示词生成以支持人设
- 修改 `LLMService.get_sd_prompt_guide` 函数签名,新增 `persona` 参数
- 在生成的绘图指南中,根据匹配到的人设追加特定的视觉风格指导文本
- 针对“赛博AI虚拟博主”人设,调整反 AI 检测提示,允许使用高质量词汇和专业光效
- 更新所有调用 `get_sd_prompt_guide` 的地方(如文案生成函数),传入 `persona` 参数
♻️ refactor(sd): 重构文生图服务以支持人设视觉增强
- 修改 `SDService.txt2img` 函数签名,新增 `persona` 参数
- 在生成最终提示词时,注入人设特定的增强词(`prompt_boost`)和风格词(`prompt_style`)
- 在生成最终负面提示词时,追加人设特定的额外负面词(`negative_extra`)
- 增加人设视觉增强已注入的日志信息
🔧 chore(config): 更新默认人设配置
- 将 `config_manager.py` 中的默认 `persona` 从“身材管理健身美女”更新为“性感福利主播”
🔧 chore(main): 更新 UI 函数签名以传递人设参数
- 更新 `generate_images` 函数签名,新增 `persona_text` 参数,并在内部解析为人设对象
- 更新 `auto_publish_once` 和 `generate_to_queue` 函数中调用 `sd_svc.txt2img` 的地方,传入 `persona` 参数
- 更新 Gradio 界面中 `btn_gen_img` 的点击事件,将 `persona` 输入传递给 `generate_images` 函数
|
2026-02-10 22:29:55 +08:00 |
|
|
|
156a18ae0c
|
✨ feat(analytics): 新增智能学习引擎与笔记表现分析模块
- 新增 `analytics_service.py` 模块,实现笔记数据采集、权重计算与智能分析功能
- 支持定时采集已发布笔记的互动数据(点赞、评论、收藏),并计算主题、风格、标签等多维度权重
- 提供加权随机选题功能,根据历史表现优先生成高互动潜力内容
- 集成 LLM 深度分析,生成内容策略建议与优化报告
- 新增「智能学习」UI 标签页,支持数据采集、权重计算、AI 分析与定时自动学习
♻️ refactor(llm): 重构 LLM 服务以支持多模型智能适配与加权文案生成
- 扩展 `llm_service.py`,新增 `get_sd_prompt_guide()` 方法,根据当前 SD 模型动态生成绘图提示词指南
- 新增 `PROMPT_PERFORMANCE_ANALYSIS` 与 `PROMPT_WEIGHTED_COPYWRITING` 提示词模板,支持笔记表现分析与加权文案生成
- 重构 `generate_copy()`、`generate_copy_with_reference()` 方法,支持 `sd_model_name` 与 `persona` 参数,实现多模型适配与人设融合
- 新增 `analyze_note_performance()` 与 `generate_weighted_copy()` 方法,实现 AI 深度分析与智能加权创作
♻️ refactor(sd): 重构 SD 服务以支持多模型配置系统与智能参数适配
- 重构 `sd_service.py`,引入 `SD_MODEL_PROFILES` 配置体系,支持 `majicmixRealistic`、`Realistic Vision`、`Juggernaut XL` 三款模型
- 新增 `detect_model_profile()`、`get_model_profile()`、`get_model_profile_info()` 方法,实现模型自动识别与档案信息展示
- 重构 `txt2img()` 与 `img2img()` 方法,自动根据当前模型应用最优参数、提示词前缀/后缀与反向提示词
- 更新 `get_sd_preset()` 方法,支持模型专属预设参数加载
🎨 style(config): 更新默认配置与人设池
- 更新 `config.json` 与 `config_manager.py`,将默认模型改为 `gemini-3-flash-preview`,默认人设改为「身材管理健身美女」
- 新增 `use_smart_weights` 配置项,控制是否启用智能加权发布
- 扩展 `PERSONA_POOL_MAP`,新增「身材管理健身美女」人设及其对应主题与关键词库
🔧 chore(main): 集成智能学习引擎并扩展自动发布链路
- 在 `main.py` 中实例化 `AnalyticsService`,并集成至各功能模块
- 扩展 `generate_copy()`、`generate_from_hotspot()`、`auto_publish_once()` 等方法,支持 `sd_model_name`、`persona`、`quality_mode_val` 参数传递
- 实现智能加权发布逻辑:当启用权重且数据可用时,自动选择高权重主题、风格与标签,并使用加权文案模板
- 新增「智能学习」标签页相关 UI 组件与事件处理函数,包括数据采集、权重计算、AI 分析、定时学习与加权主题预览
- 更新 SD 模型选择事件,实时显示模型档案信息卡
- 扩展自动调度器,支持智能权重、人设与画质模式的参数传递
📝 docs(changelog): 更新版本日志记录新功能与改进
- 在 `CHANGELOG.md` 中新增 `[2.1.0]` 与 `[2.2.0]` 版本记录
- 详细描述「智能学习引擎」与「多 SD 模型智能适配」两大核心功能
- 列出相关代码重构、配置更新与文件新增情况
|
2026-02-10 21:29:57 +08:00 |
|
|
|
88dfc09e2a
|
✨ feat(config): 新增多 LLM 提供商支持与账号数据看板
- 新增多 LLM 提供商管理功能,支持添加、删除和切换不同 API 提供商
- 新增账号数据看板,支持可视化展示用户核心指标和笔记点赞排行
- 新增自动获取并保存 xsec_token 功能,提升登录体验
- 新增退出登录功能,支持重新扫码登录
- 新增用户 ID 验证和保存功能,确保账号信息准确性
♻️ refactor(config): 重构配置管理和 LLM 服务调用
- 重构配置管理器,支持多 LLM 提供商配置和兼容旧配置自动迁移
- 重构 LLM 服务调用逻辑,统一从配置管理器获取激活的提供商信息
- 重构 MCP 客户端,增加单例模式和自动重试机制,提升连接稳定性
- 重构数据看板页面,优化用户数据获取和可视化展示逻辑
🐛 fix(mcp): 修复 MCP 连接和登录状态检查问题
- 修复 MCP 客户端初始化问题,避免重复握手
- 修复登录状态检查逻辑,自动获取并保存 xsec_token
- 修复获取我的笔记列表功能,支持通过用户 ID 准确获取
- 修复 JSON-RPC 通知格式问题,确保与 MCP 服务兼容
📝 docs(config): 更新配置文件和代码注释
- 更新配置文件结构,新增多 LLM 提供商配置字段
- 更新代码注释,明确各功能模块的作用和调用方式
- 更新用户界面提示信息,提供更清晰的操作指引
|
2026-02-08 21:52:29 +08:00 |
|
|
|
88faca150d
|
✨ feat(project): 初始化小红书AI爆文工坊V2.0项目
- 新增项目配置文件(.gitignore, config.json)和核心文档(Todo.md, mcp.md)
- 实现配置管理模块(config_manager.py),支持单例模式和自动保存
- 实现LLM服务模块(llm_service.py),包含文案生成、热点分析、评论回复等Prompt模板
- 实现SD服务模块(sd_service.py),封装Stable Diffusion WebUI API调用
- 实现MCP客户端模块(mcp_client.py),封装小红书MCP服务HTTP调用
- 实现主程序(main.py),构建Gradio界面,包含内容创作、热点探测、评论管家、账号登录、数据看板五大功能模块
- 保留V1版本备份(main_v1_backup.py)供参考
- 添加项目依赖文件(requirements.txt)
|
2026-02-08 14:21:50 +08:00 |
|