-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: OldRookieBiner/novelagent
Releases · OldRookieBiner/novelagent
v0.8.11
修复
- 修复章节正文生成报错
'dict' object has no attribute 'format'- 根因:get_system_prompt在 DB 无自定义 prompt 时回退到DEFAULT_PROMPTS,但chapter_content_generation/review/rewrite三个键的默认值是 dict 格式{"system": ..., "user": ...},直接返回 dict 导致下游.format()调用报错。修复:回退时检测 dict 格式并提取 user 部分
优化
- 上下文策略增强 - HybridContentStrategy 支持 chapter_outlines 参数,章节正文生成可参考后续大纲规划
- 章节大纲生成上下文补充 - 传递人物关系和演变计划到章节大纲生成节点,提升大纲与人物设定的一致性
- 节点工具函数改进 -
format_characters_info使用 DB 字段名,_format_chapter_outline_str新增 transition/ending 字段
测试
- 新增
test_prompt_loader.py回归测试:dict 格式 prompt 返回字符串验证、全 agent_type 类型检查
Assets 2
v0.8.9
新功能
-
章节重写 SSE 端点 - 新增
POST /chapters/{id}/rewriteSSE 流式重写端点- 重写时携带已写章节上下文和审核结果,LLM 可参考审核意见改写
- 重写请求支持
max_tokens参数,默认按目标字数动态计算 - 前端 AIAssistantPanel 新增"重写"按钮,一键根据审核意见重写章节
-
SSE 心跳保活 - 新增
format_heartbeat工具函数,审核 SSE 流使用注释行心跳保持连接- 审核 SSE 不再发送 chunk 事件,改用心跳注释行防止代理/网关超时断连
优化
-
审核 JSON 解析增强 - 3 策略解析:markdown 代码块提取 → 花括号逐层匹配 → 旧格式正则回退
- 兼容 LLM 输出的多种 JSON 字段名(feedback/改进建议/problems)
- 修复 LLM 返回多个 JSON 对象或包裹在代码块中时解析失败的问题
-
审核/重写上下文保留 - 修复重写时丢失 written_chapters 上下文的问题
_build_rewrite_messages现在完整传入已写章节内容,确保重写时与前文风格一致
-
前端审核状态管理 - 修复 SSE 审核结果被 prop 数据覆盖的问题
- 新增
sseResultSetRef追踪 SSE 是否已设置结果,防止异步加载的 prop 数据覆盖实时结果 - WritingPanel 中
initialReviewResult使用 useMemo 缓存,避免不必要的重渲染
- 新增
修复
- SSE 流清理 - 组件卸载时正确中止进行中的 SSE 流,防止内存泄漏和状态错乱
测试
- 新增审核 SSE 事件格式测试(test_review.py)
- 新增重写 SSE 端点测试(test_rewrite.py)
- 新增 JSON 解析边界测试:feedback 字段、多对象、markdown 代码块
Assets 2
v0.8.8
优化
审核/重写消息结构优化
审核和重写节点采用与章节正文相同的 system/user 双层消息结构,提升 LLM 对角色定位和写作规则的遵循度
_build_review_messages()和_build_rewrite_messages()改为同步函数,返回 {"system": ..., "user": ...} 结构- Review/Rewrite prompts 从 DB 加载后自动适配 dict 格式
- 修复 review SSE 端点使用
_build_review_messages的一致性问题 - 修复 rewrite 节点
_build_rewrite_messages异步调用问题
上下文传递优化
优化审核/重写节点传递前文上下文的方式
- 新增
context_strategy.py中的辅助函数用于构建前文上下文 - 前端灵感面板新增小说长度选项(短篇/中篇/长篇/超长篇)
修复
写作面板修复
修复灵感面板相关 UI 问题
- 修复 InspirationPanel 组件中的状态管理问题
- 优化 inspiration.ts 中的数据处理逻辑
Assets 2
v0.8.4
重构
- 设置页面全面重构 - 采用全屏布局 + 侧边栏导航,统一设计风格
- 侧边栏可折叠,显示"智能体"、"模型配置"、"提示词"标签页
- ModelConfigDialog 支持 fetchModels 获取所有提供商的模型列表
- ModelConfigItem 显示单类型模型的标签(如 o1、o3-mini)
- 模型配置响应为空时回退到 model_name 字段
- ProviderInfo 类型新增 models_api 字段
- AGENT_TABS 完成所有标签页配置
Assets 2
v0.8.0 - 全新工作台 & LangGraph 工作流全面升级
新功能
- 全新工作台页面 - 统一的写作工作台,替代旧的分散页面
- Tab 布局:灵感采集、大纲、人物设定、人物关系、章节大纲、写作、审核
- 可折叠面板,最大化编辑空间
- 全局 Header 导航,返回按钮和项目列表入口
- 面板状态自动保存,Tab 切换不丢失数据
- 人物设定模块 - 从大纲自动生成人物,支持手动创建和编辑
- 人物关系模块 - AI 自动生成人物关系图谱,支持手动创建和编辑关系
- LangGraph 工作流全面升级
- 自动化大纲→人物→关系生成流程(无需逐步确认)
- 大纲生成集成 SSE 进度对话框
- LangGraph v1 检查点 API 迁移
- TipTap 富文本编辑器 - 写作面板从纯文本升级为富文本编辑
- 灵感采集界面重构 - 左右分栏布局,实时 Prompt 模板预览,快速模板,步骤引导
- 首页重新设计 - 全局 Header、自适应网格、项目卡片新样式、创建项目对话框
- 章节大纲面板升级 - 进度条、一键确认全部、状态图标、统计卡片
- 写作面板优化 - 章节状态图标、键盘快捷键、骨架屏加载
优化
- 代码质量大幅提升
- 前端组件拆分:Settings、Writing、CharacterSetting 拆分为独立组件
- 后端共享工具函数:提取节点通用逻辑,减少重复代码
- 类型安全增强:窄化类型、移除不安全断言
- React 性能优化:React.memo 和 useCallback 减少不必要渲染
- UI 交互优化
- 统一 Loading 状态组件
- 统一 Toast 错误提示
- 大纲面板分组卡片布局,手动 AI 分析触发
- 审核面板简化,移除写作辅助标签
- 大纲解析增强 - 支持多种 AI 输出格式,自动清理星号标记,解析失败时保留已有数据
- SSE 流式处理增强 - 统一 chunk 格式、错误解析修复、重试前清理、空面板安全检查
- 工作流稳定性 - 空大纲自动终止、随机 thread_id、清理端点、plot_points 有效性校验
- API 重构 - 确认端点使用 PUT 语义,移除废弃的 info_collection_chat 端点
修复
- 修复 SSE 事件对象解析错误(node_start/node_done/waiting)
- 修复 LangGraph v1 检查点兼容性问题(async aget_tuple/aput)
- 修复大纲进度对话框节点名称匹配问题
- 修复关系生成后 SSE 继续推送的问题
- 修复人物/关系节点缺少 waiting_for_confirmation 状态
- 修复工作流恢复功能
- 修复字数统计 HTML 标签计数问题(DOMPurify 净化)
- 修复 InspirationPanel 模板初始化、闭包过期、草稿清理问题
- 修复 TipTap 编辑器 key prop 缺失
- 修复主题色进度条适配、响应式网格列数
测试
- 新增页面集成测试:Login、Home、Settings
- 新增组件测试:CharacterList、ChapterNav、ChapterEditor
- 新增 Hook 测试:useCharacters、useSettings、useWriting
- 新增后端单元测试:依赖注入工具、节点工具函数
- 新增工作流测试:大纲失败中止、SSE 错误事件格式、plot_points 有效性、Prompt 加载回退
Assets 2
v0.2.0 - Web Application
NovelAgent v0.2.0 - Web Application
主要功能
- 🎨 React 前端 - 使用 shadcn/ui 组件库
- ⚡ FastAPI 后端 - PostgreSQL 数据库
- 🔐 用户认证 - Session Cookie 方式
- 📁 项目管理 - 创建、查看、删除项目
- 🤖 AI 大纲生成 - 使用 LangGraph 框架
- 📝 章节工作流 - 章节大纲确认流程
- ✨ AI 内容生成 - SSE 流式生成章节正文
- 📄 富文本编辑 - TipTap 编辑器
- 🔑 API Key 管理 - 加密存储
- 📐 分屏布局 - 预览/编辑双模式
技术改进
- DOMPurify XSS 防护
- SSE 换行符 JSON 编码
- TipTap 纯文本转 HTML
部署方式
docker compose up -d