2026-04-16 21:39:29 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:39:29 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:32:21 +08:00
2026-04-16 21:39:29 +08:00

AI 小说创作平台

基于 React、ProComponents、Ollama 和 Qwen3:8B 构建的本地化 AI 小说创作平台。

🚀 功能特点

核心功能

  • 模型设置 - 二级菜单结构,专门配置本地 Ollama 模型
  • 智能检测 - 自动检测本地 Ollama 服务状态和已安装模型
  • 小说卡片管理 - 以卡片形式展示小说列表,支持新增、编辑、删除
  • AI 章节生成 - 集成 Ollama API 进行智能章节生成,支持自定义提示词
  • 内容管理 - 自动保存到浏览器 IndexedDB支持查看、编辑、导出
  • Markdown 导出 - 支持单章或整本小说导出为 Markdown 格式

最新优化

  • 二级菜单 - 设置 > 模型的层级结构
  • IndexedDB 存储 - 替代 localStorage支持更大存储容量
  • 智能模型检测 - 自动检测本地 Ollama 已安装的模型
  • 模型验证 - 限制只能选择本地已安装的模型
  • 连接状态监控 - 实时显示 Ollama 服务连接状态
  • 现代化 UI - 干净整洁的界面设计

🛠️ 技术栈

  • 前端: React + TypeScript + Ant Design
  • 路由: React Router v6
  • AI 集成: Ollama REST API
  • 数据存储: IndexedDB
  • 文档处理: ReactMarkdown

📋 前置要求

必需软件

  1. Node.js (v14 或更高版本)
  2. Ollama - 本地 AI 模型运行环境

Ollama 安装

# macOS
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows
# 从 https://ollama.com/download 下载安装

推荐模型

# Qwen2.5 系列(推荐)
ollama pull qwen2.5:7b
ollama pull qwen2.5:14b

# Llama3 系列
ollama pull llama3:8b

# 其他中文模型
ollama pull qwen2:7b

🚀 快速开始

1. 安装依赖

npm install

2. 启动 Ollama 服务

ollama serve

3. 启动开发服务器

npm start

4. 访问应用

打开浏览器访问 http://localhost:3000

📖 使用指南

首次配置

  1. 启动 Ollama 服务

    ollama serve
    
  2. 进入模型设置

    • 点击左侧菜单的"设置" > "模型"
    • 默认 Ollama 地址:http://localhost:11434
  3. 测试连接

    • 点击"测试连接"按钮验证 Ollama 服务状态
  4. 检测模型

    • 点击"检测模型"按钮获取本地已安装模型
    • 系统会显示模型名称和大小信息
  5. 选择模型

    • 从下拉列表中选择本地已安装的模型
    • 如需新模型,先使用 ollama pull 模型名 安装
  6. 调整参数

    • Temperature: 0.7控制随机性0-2
    • Top P: 0.9控制多样性0-1
    • 最大 Tokens: 2000生成长度

创作流程

  1. 创建小说

    • 进入"小说管理"
    • 点击"新建小说"
    • 填写书名、题材、大纲、人物设定
  2. 生成章节

    • 点击小说卡片进入详情页
    • 点击"生成新章节"
    • 输入章节标题和可选的提示词
    • 等待 AI 生成内容
  3. 管理内容

    • 查看: 点击"查看"按钮预览 Markdown 格式内容
    • 编辑: 点击"编辑"按钮修改章节内容
    • 导出: 点击"导出"按钮下载单章或整本小说

🔧 高级配置

自定义 Ollama 地址

如果 Ollama 运行在其他地址:

http://your-server:11434

模型选择建议

  • 轻量级: qwen2.5:3b (4GB 内存)
  • 平衡: qwen2.5:7b (8GB 内存)
  • 高质量: qwen2.5:14b (16GB 内存)
  • 英文: llama3:8b (8GB 内存)

生成参数调优

  • 创意写作: Temperature 0.8-1.0
  • 技术内容: Temperature 0.3-0.5
  • 平衡: Temperature 0.7(默认)

📁 项目结构

src/
├── components/          # React 组件
│   └── MainLayout.tsx  # 主布局(左侧菜单+右侧内容)
├── pages/              # 页面组件
│   ├── NovelList.tsx   # 小说列表
│   ├── NovelDetail.tsx # 小说详情
│   └── ModelSettings.tsx # 模型设置
├── utils/              # 工具函数
│   ├── indexedDB.ts    # IndexedDB 数据存储
│   ├── ollama.ts       # AI 服务集成
│   └── fileManager.ts  # 文件导出
└── types/              # TypeScript 类型定义
    └── index.ts

🐛 常见问题

Q: 无法连接 Ollama 服务

A:

  1. 确保 Ollama 服务正在运行:ollama serve
  2. 检查服务地址是否正确
  3. 确认端口 11434 未被占用

Q: 检测不到模型

A:

  1. 使用 ollama list 查看已安装模型
  2. 使用 ollama pull 模型名 安装新模型
  3. 点击"检测模型"按钮刷新列表

Q: 数据存储在哪里?

A:

  • 所有数据存储在浏览器的 IndexedDB 中
  • 数据库名称AINovelDB
  • 建议定期导出重要作品进行备份

Q: 章节生成失败

A:

  1. 检查 Ollama 服务是否正常
  2. 确认选择的模型已正确安装
  3. 尝试降低 maxTokens 参数
  4. 查看浏览器控制台错误信息

Q: 生成内容质量不佳

A:

  1. 尝试调整 Temperature 参数
  2. 在提示词中提供更详细的要求
  3. 完善小说的大纲和人物设定
  4. 使用更大参数量的模型

🔐 安全说明

  • 所有数据存储在浏览器 IndexedDB 中,不会上传到云端
  • Ollama 服务完全运行在本地,确保隐私安全
  • 支持更大容量的数据存储(相比 localStorage
  • 建议定期导出重要作品进行备份

📝 开发说明

构建生产版本

npm run build

运行测试

npm test

代码规范

  • 使用 TypeScript 编写
  • 遵循 React Hooks 最佳实践
  • 组件式开发,便于维护和扩展

📄 许可证

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request

📮 联系方式

如有问题请提交 Issue 或联系开发者。


享受 AI 创作的乐趣!

Description
No description provided
Readme 2.6 MiB
Languages
JavaScript 81%
TypeScript 18.7%
HTML 0.2%
CSS 0.1%