Skip to content

Releases: OldRookieBiner/novelagent

v0.8.11

15 May 18:21

Choose a tag to compare

修复

  • 修复章节正文生成报错 '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 类型检查

v0.8.9

14 May 12:40

Choose a tag to compare

新功能

  • 章节重写 SSE 端点 - 新增 POST /chapters/{id}/rewrite SSE 流式重写端点

    • 重写时携带已写章节上下文和审核结果,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 代码块

v0.8.8

14 May 02:27

Choose a tag to compare

优化

审核/重写消息结构优化

审核和重写节点采用与章节正文相同的 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 中的数据处理逻辑

v0.8.4

10 May 13:28

Choose a tag to compare

重构

  • 设置页面全面重构 - 采用全屏布局 + 侧边栏导航,统一设计风格
    • 侧边栏可折叠,显示"智能体"、"模型配置"、"提示词"标签页
    • ModelConfigDialog 支持 fetchModels 获取所有提供商的模型列表
    • ModelConfigItem 显示单类型模型的标签(如 o1、o3-mini)
    • 模型配置响应为空时回退到 model_name 字段
    • ProviderInfo 类型新增 models_api 字段
    • AGENT_TABS 完成所有标签页配置

v0.8.0 - 全新工作台 & LangGraph 工作流全面升级

03 May 16:54

Choose a tag to compare

新功能

  • 全新工作台页面 - 统一的写作工作台,替代旧的分散页面
    • 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 加载回退

v0.2.0 - Web Application

09 Apr 08:01

Choose a tag to compare

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

访问 http://localhost:5173