Skip to content

本地网文“说书版”阅读器:分章压缩剧情 + 维护系统日志记忆(LLM 驱动)

License

Notifications You must be signed in to change notification settings

Kt-L/storyteller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Novel Reader / Storyteller

这是一个本地运行的小工具,用 LLM 把网文章节压缩成“说书版剧情”,并维护可滚动更新的系统日志(记忆)。适合快速回顾长篇剧情、续读或做二次创作参考。

本项目是 Vibe Coding 的产物,定位为个人本地工具,欢迎按需改造。

主要功能

  • TXT 章节自动切分,按批次生成“说书版剧情”
  • 系统日志按模板维护,可回滚/编辑
  • 历史批次可查看与再生成
  • 支持 OpenAI-compatible 与 Google Gemini
  • 可保存 API 方案(模型、Base URL、请求体)

依赖与环境

  • Python 3.10+
  • 运行依赖见 requirements.txt
  • 前端使用 CDN:Tailwind、Marked、Highlight.js、DOMPurify、Google Fonts

快速开始

创建并激活虚拟环境,在项目根目录执行:

pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

浏览器打开:http://127.0.0.1:8000

界面预览

UI 预览 1 UI 预览 2

使用说明

  1. 上传 TXT(支持中文章节标题识别)。
  2. 选择起始章(1-based)。
  3. 填写 API Key、模型名、Provider(以及可选 Base URL)。
  4. 点击 “Start / Continue” 生成结果。
  5. 每次生成会写入历史批次,可点击历史条目查看与再生成。

高级设置

  • System Prompt / User Prompt:可自定义生成规则。
    • User Prompt 支持 {{system_log}}{{chapter_text}} 占位符。
    • 需要模型输出包含 ---LOG_START--- 分隔符,否则会提示解析失败。
  • Prompt 保存:支持保存 System Prompt / User Prompt,便于在多套提示词之间快速切换。
  • 默认提示词仅供参考,我不太会写提示词;当前版本用 Gemini-3-Pro-Preview 测试效果最好,但仍不够理想,建议自行调整。
  • OpenAI-compatible request body:可追加 max_tokenstop_p 等参数(不支持 stream),思考深度需要自行在请求体中控制。
  • API schemes:可保存一套模型、Base URL 和请求体(可选保存 API Key,仅保存在本地浏览器)。

数据存储

生成数据默认存放在 data/ 目录:

  • data/sessions/:会话元数据
  • data/uploads/:TXT 原文与章节切分
  • data/history/:历史批次记录
  • data/logs/:系统日志(会自动备份历史版本)

删除会话会移除对应的 TXT、历史记录与日志。

常见问题

  • 提示解析失败:模型输出未包含 ---LOG_START---,会显示原始输出供手动处理。
  • 章节切分不准:可调整 TXT 原文中的章节标题格式。
  • API 报错:检查模型名、Base URL、API Key 是否匹配对应服务。

运行说明

本项目默认不做用户隔离与鉴权,定位为本地个人工具使用。

About

本地网文“说书版”阅读器:分章压缩剧情 + 维护系统日志记忆(LLM 驱动)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published