[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-t59688--arboris-novel":3,"tool-t59688--arboris-novel":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":112,"forks":113,"last_commit_at":114,"license":78,"difficulty_score":23,"env_os":115,"env_gpu":116,"env_ram":117,"env_deps":118,"category_tags":128,"github_topics":129,"view_count":10,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":132,"updated_at":133,"faqs":134,"releases":155},732,"t59688\u002Farboris-novel","arboris-novel","AI 写作伙伴，点亮你的创作灵感","Arboris-Novel 是一款专为创作者打造的开源 AI 写作助手。它致力于解决写作中常见的卡文难题，例如忘记主角设定、世界观逻辑冲突或不知如何推进剧情。Arboris-Novel 通过集中管理角色、地点与派系信息，确保故事细节前后一致；同时能梳理零散灵感生成大纲，并提供草稿续写与多版本对比功能，帮助用户逐步打磨出符合个人风格的文字。\n\n无论是小说作者、内容创作者，还是希望搭建私有化写作环境的开发者，都能从 Arboris-Novel 中受益。技术层面，Arboris-Novel 支持 Docker 一键部署，兼容 SQLite 与 MySQL 数据存储，保障用户隐私安全。此外，它灵活适配各类 OpenAI 兼容的大模型接口，允许用户根据需求自定义 AI 服务。作为开源项目，Arboris-Novel 不止于自动生成，更希望成为一位能记住你的世界、随故事共同成长的智能伙伴。","# Arboris-Novel | 面向创作者的写作辅助工具\n\n**[English](README-en.md)** | 中文\n\n![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ft59688\u002Farboris-novel?style=social)\n![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Ft59688\u002Farboris-novel?style=social)\n![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Ft59688\u002Farboris-novel)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\n如果你想使用命令行+编辑器的方式，可搭配使用 [novel-kit](https:\u002F\u002Fgithub.com\u002Ft59688\u002Fnovel-kit)。\n\n写作时容易卡在「主角叫什么」「故事发生在哪」「下一章写什么」这类问题上。**Arboris** 在需要时帮你理清思路、记录设定、给出可选方向，让想法落成故事。\n\n**在线体验：** [https:\u002F\u002Farboris.aozhiai.com](https:\u002F\u002Farboris.aozhiai.com)\n\n\u003Cp align=\"center\">\n  \u003Ctable align=\"center\">\n    \u003Ctr>\n      \u003Ctd align=\"center\">\u003Cstrong>交流群\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cimg width=\"220\" alt=\"交流群二维码\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_3fa601c8d5b7.png\" \u002F>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Cstrong>作者公众号\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cimg width=\"220\" alt=\"作者公众号\" src=\"https:\u002F\u002Fpicui.ogmua.cn\u002Fs1\u002F2026\u002F02\u002F24\u002F699d109e4ced2.webp\" \u002F>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fp>\n\n---\n\n## 界面预览\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1471\" alt=\"主界面\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_a5c55d3edaba.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1375\" alt=\"角色管理\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_6ba688583836.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1392\" alt=\"大纲编辑\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_e2e60150bb7a.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1255\" alt=\"写作界面\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_5ac2974199a7.png\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## 功能概览\n\n### 设定管理\n角色、地点、派系等设定集中记录，随时查阅，避免写到后期前后矛盾（如角色外貌、世界观规则等）。\n\n### 大纲与故事线\n零散的场景和灵感可交给 AI 梳理，生成从开头到结局的主线大纲。\n\n### 写作辅助\n状态不佳时可让 AI 先出草稿再按自己的风格修改；也可自己写开头，让 AI 续写以获取灵感。\n\n### 多版本对比\n支持一次生成多版内容，挑选最符合风格的部分，逐步让模型更贴合你的笔触。\n\n---\n\n## 项目初衷\n\n目标是做一个**能记住你的世界、理解角色、随故事推进的写作伙伴**，而不是单纯的自动生成器。因此做了 Arboris 并选择开源，方便更多创作者使用。\n\n---\n\n## 快速开始\n\n### 方式一：Docker 部署\n\n```bash\n# 1. 复制配置文件\ncp .env.example .env\n\n# 2. 编辑 .env 中的必填项：\n#    - SECRET_KEY: 随机字符串，用于 JWT 等\n#    - OPENAI_API_KEY: 大模型 API Key\n#    - ADMIN_DEFAULT_PASSWORD: 管理员密码（勿用默认值）\n\n# 3. 启动（默认 SQLite，无需单独安装数据库）\ndocker compose up -d\n\n# 启动后在浏览器访问 http:\u002F\u002Flocalhost:\u003C端口>\n```\n\n### 方式二：使用 MySQL（Compose 内 MySQL）\n\n```bash\n# .env 中设置 DB_PROVIDER=mysql，然后执行：\nDB_PROVIDER=mysql docker compose --profile mysql up -d\n```\n\n### 方式三：使用自有 MySQL\n\n```bash\n# 在 .env 中配置数据库地址、用户名、密码后执行：\nDB_PROVIDER=mysql docker compose up -d\n```\n\n---\n\n## 环境变量说明\n\n常用配置如下（完整项见 `.env.example`）：\n\n| 配置项 | 必填吗 | 说明 |\n|--------|--------|------|\n| `SECRET_KEY` | ✅ | JWT 加密密钥，需自行随机生成并妥善保管 |\n| `OPENAI_API_KEY` | ✅ | 你的 LLM API Key（OpenAI 或兼容的） |\n| `OPENAI_API_BASE_URL` | ❌ | API 地址，默认是 OpenAI 官方的 |\n| `OPENAI_MODEL_NAME` | ❌ | 模型名称，默认 `gpt-3.5-turbo` |\n| `ADMIN_DEFAULT_PASSWORD` | ❌ | 管理员初始密码，部署后务必修改 |\n| `ALLOW_USER_REGISTRATION` | ❌ | 是否开放注册，默认 `false` |\n| `SMTP_SERVER` \u002F `SMTP_USERNAME` | 开放注册时必填 | 邮件服务，用于发送验证码 |\n\n> **数据存储：** 默认 SQLite，数据在 Docker 卷中。需映射到本地时，在 `.env` 中设置 `SQLITE_STORAGE_SOURCE=.\u002Fstorage`。\n\n---\n\n## 常见问题\n\n### 基础使用\n\n**Q: 不会用 Docker？**  \nA: 安装 Docker Desktop（Windows\u002FMac）或 Docker Engine（Linux），按上文命令执行即可。\n\n**Q: API Key 会泄露吗？**  \nA: 不会。密钥仅存在于服务端 `.env`，不向前端或用户暴露。\n\n**Q: 是否支持其他大模型？**  \nA: 支持。只要提供 OpenAI 兼容接口，在 `.env` 中配置 `OPENAI_API_BASE_URL` 即可。\n\n**Q: 修改了代码如何参与？**  \nA: 欢迎提交 PR 或 Issue。\n\n### 生成小说时的常见错误\n\n**Q: 提示\"未配置默认 LLM API Key\"怎么办？**  \nA: 检查 `.env` 文件中的 `OPENAI_API_KEY` 是否正确配置。如果是个人用户，也可以在个人设置中配置自定义 API Key。\n\n**Q: 生成时提示\"今日请求次数已达上限\"？**  \nA: 系统管理员可能设置了每日请求限制。解决方案：\n- 等到明天再试\n- 在个人设置中配置自己的 API Key（不受系统配额限制）\n- 管理员调整配额限制（修改 `daily_request_limit` 配置）\n\n**Q: 提示\"AI 服务响应超时\"或\"无法连接到 AI 服务\"？**  \nA: 网络或 API 服务问题导致。可以：\n- 检查网络连接是否正常\n- 确认 `OPENAI_API_BASE_URL` 配置是否正确\n- 如果使用自建服务，检查服务是否正常运行\n- 稍后重试\n\n**Q: 提示\"AI 响应因长度限制被截断\"？**  \nA: 生成的内容超过了模型的输出限制。建议：\n- 使用支持更长输出的模型\n\n**Q: 提示\"AI 未返回有效内容\"或\"AI 服务内部错误\"？**  \nA: AI 服务端出现问题。通常是暂时性的，可以：\n- 大多是LLM服务的问题，尤其是逆向的API。\n- 检查 API Key 是否有效且有足够余额\n- 查看后端日志获取详细错误信息\n\n**Q: 提示\"蓝图中未找到对应章节纲要\"？**  \nA: 在生成章节内容前，需要先在蓝图（大纲）中创建对应章节的纲要。请先完善章节大纲再进行生成。\n\n**Q: 提示\"未配置摘要提示词\"？**  \nA: 系统缺少必要的 Prompt 配置。管理员需要在后台配置名为 `extraction` 的提示词模板，用于生成章节摘要。\n\n**Q: 提示\"AI 返回的内容格式不正确\"或 JSON 解析错误？**（较常见）  \nA: AI 返回内容无法解析为有效 JSON。可能原因与处理方式：\n- **原因 1：模型能力不足** - 某些模型难以稳定输出结构化 JSON\n  - 解决：切换到能力更强的模型\n  - 或使用支持 structured output 的模型\n- **原因 2：内容过长** - 某些逆向API可能无法支持长输出。\n\n- **临时处理：** 重试几次，或更换 AI 模型\n\n**Q: 生成的内容质量不理想怎么办？**  \nA: 可以尝试：\n- 完善角色、地点、派系等设定信息\n- 优化章节纲要，提供更详细的指引\n- 使用多版本生成功能，让 AI 生成多个版本后挑选最佳的\n- 调整使用的模型，需要长上下文的\n\n---\n\n## 技术栈\n\n- **后端：** Python + FastAPI\n- **数据库：** SQLite（默认）或 MySQL + libsql\n- **前端：** Vue + TailwindCSS\n- **部署：** Docker + Docker Compose\n- **AI：** OpenAI API 或兼容接口\n\n---\n\n## 面向开发者\n\n### 环境准备\n\n- Python 3.10+（建议使用虚拟环境）\n- Node.js 18+ 与 npm\n- pip \u002F virtualenv（或你习惯的依赖管理工具）\n- 可选：Docker 与 Docker Compose（用于一键部署与发布）\n\n### 后端本地开发\n\n```bash\ncd backend\npython3 -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # Windows 使用 .venv\\Scripts\\activate\npip install -r requirements.txt\nuvicorn app.main:app --reload\n```\n\n默认会监听 `http:\u002F\u002F127.0.0.1:8000`，你可以通过 `--host`、`--port` 调整，或加上 `--reload` 保持热重载。\n\n### 前端本地开发\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n开发服务器默认运行在 `http:\u002F\u002F127.0.0.1:5173`，可通过 `--host` 参数暴露给局域网设备。\n\n### 打包与构建\n\n- 前端：`npm run build`，构建产物位于 `frontend\u002Fdist\u002F`\n- 后端：确认依赖锁定后，可使用 `pip install -r requirements.txt` 安装到目标环境，或基于 `deploy\u002FDockerfile` 构建镜像\n- 静态文件托管：生产环境下可用 Nginx 等服务托管 `dist` 目录，并由后端提供 API\n\n### 发布与部署\n\n推荐在根目录下使用 Compose 文件完成一体化部署：\n\n```bash\ndocker compose -f deploy\u002Fdocker-compose.yml up -d --build\n```\n\n如需推送镜像，可在 `deploy` 目录执行 `docker build -t \u003Cregistry>\u002Farboris:\u003Ctag> .`，测试后再 `docker push` 发布。\n\n---\n\n## 参与贡献\n\n- Star 项目\n- 在 Issues 中反馈 Bug 或建议\n- 提交 PR 贡献代码\n- 通过文首二维码加入交流群\n\n---\n\n## 反馈与致谢\n\n使用 Arboris 写出作品后，欢迎与我们分享。祝写作顺利。\n\n---\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_d35deef2c0e3.png)](https:\u002F\u002Fstar-history.com\u002F#t59688\u002Farboris-novel&Date)\n","# Arboris-Novel | 面向创作者的写作辅助工具\n\n**[English](README-en.md)** | 中文\n\n![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ft59688\u002Farboris-novel?style=social)\n![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Ft59688\u002Farboris-novel?style=social)\n![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Ft59688\u002Farboris-novel)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\n如果你想使用命令行 + 编辑器的方式，可搭配使用 [novel-kit](https:\u002F\u002Fgithub.com\u002Ft59688\u002Fnovel-kit)。\n\n写作时容易卡在「主角叫什么」「故事发生在哪」「下一章写什么」这类问题上。**Arboris** 在需要时帮你理清思路、记录设定、给出可选方向，让想法落成故事。\n\n**在线体验：** [https:\u002F\u002Farboris.aozhiai.com](https:\u002F\u002Farboris.aozhiai.com)\n\n\u003Cp align=\"center\">\n  \u003Ctable align=\"center\">\n    \u003Ctr>\n      \u003Ctd align=\"center\">\u003Cstrong>交流群\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cimg width=\"220\" alt=\"交流群二维码\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_3fa601c8d5b7.png\" \u002F>\u003C\u002Ftd>\n      \u003Ctd align=\"center\">\u003Cstrong>作者公众号\u003C\u002Fstrong>\u003Cbr\u002F>\u003Cimg width=\"220\" alt=\"作者公众号\" src=\"https:\u002F\u002Fpicui.ogmua.cn\u002Fs1\u002F2026\u002F02\u002F24\u002F699d109e4ced2.webp\" \u002F>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fp>\n\n---\n\n## 界面预览\n\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1471\" alt=\"主界面\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_a5c55d3edaba.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1375\" alt=\"角色管理\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_6ba688583836.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1392\" alt=\"大纲编辑\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_e2e60150bb7a.png\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg width=\"1255\" alt=\"写作界面\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_5ac2974199a7.png\" \u002F>\n\u003C\u002Fp>\n\n---\n\n## 功能概览\n\n### 设定管理\n角色、地点、派系等设定集中记录，随时查阅，避免写到后期前后矛盾（如角色外貌、世界观规则等）。\n\n### 大纲与故事线\n零散的场景和灵感可交给 AI 梳理，生成从开头到结局的主线大纲。\n\n### 写作辅助\n状态不佳时可让 AI 先出草稿再按自己的风格修改；也可自己写开头，让 AI 续写以获取灵感。\n\n### 多版本对比\n支持一次生成多版内容，挑选最符合风格的部分，逐步让模型更贴合你的笔触。\n\n---\n\n## 项目初衷\n\n目标是做一个**能记住你的世界、理解角色、随故事推进的写作伙伴**，而不是单纯的自动生成器。因此做了 Arboris 并选择开源，方便更多创作者使用。\n\n---\n\n## 快速开始\n\n### 方式一：Docker（容器引擎）部署\n\n```bash\n# 1. 复制配置文件\ncp .env.example .env\n\n# 2. 编辑 .env 中的必填项：\n#    - SECRET_KEY: 随机字符串，用于 JWT 等\n#    - OPENAI_API_KEY: 大模型 API Key\n#    - ADMIN_DEFAULT_PASSWORD: 管理员密码（勿用默认值）\n\n# 3. 启动（默认 SQLite，无需单独安装数据库）\ndocker compose up -d\n\n# 启动后在浏览器访问 http:\u002F\u002Flocalhost:\u003C端口>\n```\n\n### 方式二：使用 MySQL（关系型数据库）（Compose 内 MySQL）\n\n```bash\n# .env 中设置 DB_PROVIDER=mysql，然后执行：\nDB_PROVIDER=mysql docker compose --profile mysql up -d\n```\n\n### 方式三：使用自有 MySQL\n\n```bash\n# 在 .env 中配置数据库地址、用户名、密码后执行：\nDB_PROVIDER=mysql docker compose up -d\n```\n\n---\n\n## 环境变量说明\n\n常用配置如下（完整项见 `.env.example`）：\n\n| 配置项 | 必填吗 | 说明 |\n|--------|--------|------|\n| `SECRET_KEY` | ✅ | JWT（JSON Web Token）加密密钥，需自行随机生成并妥善保管 |\n| `OPENAI_API_KEY` | ✅ | 你的 LLM（大语言模型）API Key（OpenAI 或兼容的） |\n| `OPENAI_API_BASE_URL` | ❌ | API（应用程序接口）地址，默认是 OpenAI 官方的 |\n| `OPENAI_MODEL_NAME` | ❌ | 模型名称，默认 `gpt-3.5-turbo` |\n| `ADMIN_DEFAULT_PASSWORD` | ❌ | 管理员初始密码，部署后务必修改 |\n| `ALLOW_USER_REGISTRATION` | ❌ | 是否开放注册，默认 `false` |\n| `SMTP_SERVER` \u002F `SMTP_USERNAME` | 开放注册时必填 | 邮件服务，用于发送验证码 |\n\n> **数据存储：** 默认 SQLite（轻量级数据库），数据在 Docker 卷中。需映射到本地时，在 `.env` 中设置 `SQLITE_STORAGE_SOURCE=.\u002Fstorage`。\n\n---\n\n## 常见问题\n\n### 基础使用\n\n**Q: 不会用 Docker（容器引擎）？**  \nA: 安装 Docker Desktop（Windows\u002FMac）或 Docker Engine（Linux），按上文命令执行即可。\n\n**Q: API Key（应用程序接口密钥）会泄露吗？**  \nA: 不会。密钥仅存在于服务端 `.env`，不向前端或用户暴露。\n\n**Q: 是否支持其他大语言模型（LLM）？**  \nA: 支持。只要提供 OpenAI 兼容接口，在 `.env` 中配置 `OPENAI_API_BASE_URL` 即可。\n\n**Q: 修改了代码如何参与？**  \nA: 欢迎提交 PR（Pull Request）或 Issue（问题）。\n\n### 生成小说时的常见错误\n\n**Q: 提示\"未配置默认 LLM（大语言模型）API Key\"怎么办？**  \nA: 检查 `.env` 文件中的 `OPENAI_API_KEY` 是否正确配置。如果是个人用户，也可以在个人设置中配置自定义 API Key。\n\n**Q: 生成时提示\"今日请求次数已达上限\"？**  \nA: 系统管理员可能设置了每日请求限制。解决方案：\n- 等到明天再试\n- 在个人设置中配置自己的 API Key（不受系统配额限制）\n- 管理员调整配额限制（修改 `daily_request_limit` 配置）\n\n**Q: 提示\"AI 服务响应超时\"或\"无法连接到 AI 服务\"？**  \nA: 网络或 API（应用程序接口）服务问题导致。可以：\n- 检查网络连接是否正常\n- 确认 `OPENAI_API_BASE_URL` 配置是否正确\n- 如果使用自建服务，检查服务是否正常运行\n- 稍后重试\n\n**Q: 提示\"AI 响应因长度限制被截断\"？**  \nA: 生成的内容超过了模型的输出限制。建议：\n- 使用支持更长输出的模型\n\n**Q: 提示\"AI 未返回有效内容\"或\"AI 服务内部错误\"？**  \nA: AI 服务端出现问题。通常是暂时性的，可以：\n- 大多是 LLM（大语言模型）服务的问题，尤其是逆向的 API。\n- 检查 API Key 是否有效且有足够余额\n- 查看后端日志获取详细错误信息\n\n**Q: 提示\"蓝图中未找到对应章节纲要\"？**  \nA: 在生成章节内容前，需要先在蓝图（大纲）中创建对应章节的纲要。请先完善章节大纲再进行生成。\n\n**Q: 提示\"未配置摘要提示词\"？**  \nA: 系统缺少必要的 Prompt 配置。管理员需要在后台配置名为 `extraction` 的提示词模板，用于生成章节摘要。\n\n**Q: 提示\"AI 返回的内容格式不正确\"或 JSON（JavaScript 对象表示法）解析错误？（较常见）**  \nA: AI 返回内容无法解析为有效 JSON。可能原因与处理方式：\n- **原因 1：模型能力不足** - 某些模型难以稳定输出结构化 JSON\n  - 解决：切换到能力更强的模型\n  - 或使用支持 structured output 的模型\n- **原因 2：内容过长** - 某些逆向 API 可能无法支持长输出。\n\n- **临时处理：** 重试几次，或更换 AI 模型\n\n**Q: 生成的内容质量不理想怎么办？**  \nA: 可以尝试：\n- 完善角色、地点、派系等设定信息\n- 优化章节纲要，提供更详细的指引\n- 使用多版本生成功能，让 AI 生成多个版本后挑选最佳的\n- 调整使用的模型，需要长上下文的\n\n---\n\n## 技术栈\n\n- **后端：** Python（编程语言）+ FastAPI（Web 框架）\n- **数据库：** SQLite（轻量级数据库）（默认）或 MySQL（关系型数据库）+ libsql\n- **前端：** Vue（前端框架）+ TailwindCSS（CSS 框架）\n- **部署：** Docker（容器引擎）+ Docker Compose\n- **AI：** OpenAI API（应用程序接口）或兼容接口\n\n---\n\n## 面向开发者\n\n### 环境准备\n\n- Python 3.10+（建议使用虚拟环境）\n- Node.js（运行环境）18+ 与 npm（包管理器）\n- pip（包管理器）\u002F virtualenv（或你习惯的依赖管理工具）\n- 可选：Docker（容器引擎）与 Docker Compose（用于一键部署与发布）\n\n### 后端本地开发\n\n```bash\ncd backend\npython3 -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # Windows 使用 .venv\\Scripts\\activate\npip install -r requirements.txt\nuvicorn app.main:app --reload\n```\n\n默认会监听 `http:\u002F\u002F127.0.0.1:8000`，你可以通过 `--host`、`--port` 调整，或加上 `--reload` 保持热重载。\n\n### 前端本地开发\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n开发服务器默认运行在 `http:\u002F\u002F127.0.0.1:5173`，可通过 `--host` 参数暴露给局域网设备。\n\n### 打包与构建\n\n- 前端：`npm run build`，构建产物位于 `frontend\u002Fdist\u002F`\n- 后端：确认依赖锁定后，可使用 `pip install -r requirements.txt` 安装到目标环境，或基于 `deploy\u002FDockerfile` 构建镜像\n- 静态文件托管：生产环境下可用 Nginx（Web 服务器）等服务托管 `dist` 目录，并由后端提供 API\n\n### 发布与部署\n\n推荐在根目录下使用 Compose 文件完成一体化部署：\n\n```bash\ndocker compose -f deploy\u002Fdocker-compose.yml up -d --build\n```\n\n如需推送镜像，可在 `deploy` 目录执行 `docker build -t \u003Cregistry>\u002Farboris:\u003Ctag> .`，测试后再 `docker push` 发布。\n\n---\n\n## 参与贡献\n\n- Star 项目\n- 在 Issues 中反馈 Bug 或建议\n- 提交 PR（Pull Request）贡献代码\n- 通过文首二维码加入交流群\n\n---\n\n## 反馈与致谢\n\n使用 Arboris 写出作品后，欢迎与我们分享。祝写作顺利。\n\n---\n\n## 许可证\n\n本项目采用 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件。\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_readme_d35deef2c0e3.png)](https:\u002F\u002Fstar-history.com\u002F#t59688\u002Farboris-novel&Date)","# arboris-novel 快速上手指南\n\n**Arboris-Novel** 是一款面向创作者的 AI 写作辅助工具。它能帮你理清思路、记录设定、生成大纲并提供续写灵感，让想法落成故事。\n\n---\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n- **系统要求**：Windows \u002F macOS \u002F Linux\n- **核心依赖**：\n  - [Docker](https:\u002F\u002Fwww.docker.com\u002F) 及 Docker Compose（推荐方式）\n  - 或 Python 3.10+ 与 Node.js 18+（本地开发模式）\n- **网络环境**：需能访问 OpenAI 兼容接口（建议使用稳定的网络连接）\n\n---\n\n## 安装步骤\n\n推荐使用 **Docker** 进行一键部署，无需单独安装数据库。\n\n### 1. 获取项目代码\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ft59688\u002Farboris-novel.git\ncd arboris-novel\n```\n\n### 2. 配置环境变量\n复制示例配置文件并编辑必填项：\n```bash\ncp .env.example .env\n```\n使用编辑器打开 `.env` 文件，修改以下内容：\n- `SECRET_KEY`: 随机字符串，用于 JWT 加密（建议自行生成）\n- `OPENAI_API_KEY`: 填入你的大模型 API Key（支持 OpenAI 或兼容接口）\n- `ADMIN_DEFAULT_PASSWORD`: 设置管理员初始密码（切勿使用默认值）\n\n> **注意**：若需使用自有 MySQL 数据库，请在 `.env` 中设置 `DB_PROVIDER=mysql` 并配置相关连接信息。\n\n### 3. 启动服务\n执行以下命令启动容器（默认使用 SQLite，数据存储在 Docker 卷中）：\n```bash\ndocker compose up -d\n```\n\n启动成功后，浏览器访问 `http:\u002F\u002Flocalhost:\u003C端口>` 即可进入后台。\n\n---\n\n## 基本使用\n\n### 1. 登录系统\n使用您在 `.env` 中设置的 `ADMIN_DEFAULT_PASSWORD` 登录管理员账户。如果是个人用户，也可在个人设置中配置自定义 API Key。\n\n### 2. 核心功能操作\n- **设定管理**：在“角色”、“地点”、“派系”模块录入世界观设定，避免剧情前后矛盾。\n- **大纲生成**：利用 AI 梳理零散灵感，生成从开头到结局的主线大纲。\n- **辅助写作**：\n  - **草稿模式**：状态不佳时让 AI 生成初稿，再按个人风格修改。\n  - **续写模式**：自己写开头，让 AI 续写以获取灵感。\n  - **多版本对比**：一次生成多个版本内容，挑选最符合笔触的部分。\n\n### 3. 在线体验\n如果不希望本地部署，可直接访问在线体验地址：\n[https:\u002F\u002Farboris.aozhiai.com](https:\u002F\u002Farboris.aozhiai.com)\n\n---\n\n## 后续建议\n\n- **数据存储**：如需将数据持久化到本地，可在 `.env` 中设置 `SQLITE_STORAGE_SOURCE=.\u002Fstorage`。\n- **参与贡献**：欢迎提交 PR 或 Issue，加入交流群获取更多支持。","一位奇幻小说作者正在筹备长篇连载，随着剧情推进面临角色设定混乱和剧情卡壳的困境，急需一款高效辅助工具来理清思路。\n\n### 没有 arboris-novel 时\n- 角色名字记混，写到后期发现外貌描写前后矛盾，不得不花费大量时间回溯修改。\n- 灵感碎片散落在不同笔记软件里，难以串联成逻辑完整的剧情大纲，导致结构松散。\n- 遇到剧情瓶颈时只能硬憋，效率极低且导致章节质量严重不稳定，影响读者追读体验。\n- 缺乏有效对比手段，难以判断哪种文风更符合预期，修改成本高昂且容易偏离初衷。\n\n### 使用 arboris-novel 后\n- 集中管理角色、地点与派系设定，写作时随时查阅，彻底避免前后矛盾带来的返工。\n- 将零散灵感丢给 AI 梳理，快速生成从开头到结局的主线大纲，确保故事结构严谨清晰。\n- 状态不佳时让 AI 先出草稿续写，再按个人风格润色，保持行文流畅度与更新频率。\n- 利用多版本对比功能挑选最符合笔触的内容，逐步让模型更贴合你的创作习惯。\n\nArboris-novel 凭借智能辅助与系统化设定管理，真正解放了创作者的精力，让他们能更专注于故事本身的构建与打磨。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ft59688_arboris-novel_a5c55d3e.png","t59688","Fox2","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ft59688_34b89a5b.png",null,"aizeek.com","https:\u002F\u002Fgithub.com\u002Ft59688",[82,86,90,94,97,101,105,109],{"name":83,"color":84,"percentage":85},"Python","#3572A5",60.8,{"name":87,"color":88,"percentage":89},"Vue","#41b883",32.3,{"name":91,"color":92,"percentage":93},"TypeScript","#3178c6",3.1,{"name":95,"color":96,"percentage":23},"CSS","#663399",{"name":98,"color":99,"percentage":100},"Shell","#89e051",1.6,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0.2,{"name":106,"color":107,"percentage":108},"HTML","#e34c26",0,{"name":110,"color":111,"percentage":108},"JavaScript","#f1e05a",1324,302,"2026-04-05T19:50:26","Linux, macOS, Windows","无需本地 GPU，依赖外部 API 服务","未说明",{"notes":119,"python":120,"dependencies":121},"部署推荐使用 Docker Compose；默认使用 SQLite 数据库，可切换至 MySQL；必须配置 OPENAI_API_KEY 才能使用 AI 功能；支持自定义 API Base URL 以兼容其他大模型服务","3.10+",[122,87,123,124,125,126,127],"FastAPI","TailwindCSS","Node.js 18+","Docker","SQLite","MySQL",[13,14,15],[130,131],"ai","novel","2026-03-27T02:49:30.150509","2026-04-06T08:45:48.139509",[135,140,145,150],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},3102,"世界设定（规则、地点与阵营）修改无效怎么办？","这是一个已知问题，维护者已确认修复。请确保将软件更新至最新版本，之后即可正常修改世界设定。","https:\u002F\u002Fgithub.com\u002Ft59688\u002Farboris-novel\u002Fissues\u002F12",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},3103,"重新生成章节时如何防止误操作？","维护者已采纳建议，在重新生成功能中增加了确认流程。现在点击重新生成时会有弹窗确认，避免对已完成章节的误操作。","https:\u002F\u002Fgithub.com\u002Ft59688\u002Farboris-novel\u002Fissues\u002F1",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},3104,"是否支持使用 Ollama 进行 Embedding 配置？","支持本地模型配置。请在环境变量中设置 `EMBEDDING_PROVIDER=ollama`，并配置 `OLLAMA_EMBEDDING_BASE_URL`（如 http:\u002F\u002F192.168.2.88:11434）及具体的 `OLLAMA_EMBEDDING_MODEL` 名称。","https:\u002F\u002Fgithub.com\u002Ft59688\u002Farboris-novel\u002Fissues\u002F18",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},3105,"硅基流动 (SiliconFlow) API 是否可用？","有用户反馈在使用该 API 和 Key 时出现失败情况。建议检查 API Key 的有效性、网络连接状态，或关注项目后续关于第三方 API 支持的更新说明。","https:\u002F\u002Fgithub.com\u002Ft59688\u002Farboris-novel\u002Fissues\u002F3",[156,161,166,171,176,181],{"id":157,"version":158,"summary_zh":159,"released_at":160},112316,"v1.1.3","1. 新增对RAG模式，此时会使用嵌入模式\r\n2. 增加对嵌入模式的环境变量和网页配置","2025-10-30T08:20:48",{"id":162,"version":163,"summary_zh":164,"released_at":165},112317,"v1.1.2","1. 优化LLM异常提示 #8 \r\n2. 优化前端操作 \r\n3. 修复世界设定编辑后无法保存的问题 #12 \r\n4. docker部署使用外部sqlite路径时修改权限 #6 ","2025-10-23T15:13:10",{"id":167,"version":168,"summary_zh":169,"released_at":170},112318,"v1.1.1","1. 打包时移除sqlite数据库\r\n2. 需要执行docker-compose down -v删除之前的容器和卷(注意数据备份!)","2025-10-21T15:16:15",{"id":172,"version":173,"summary_zh":174,"released_at":175},112319,"v1.1.0","1. 生成章节、确认章节时的上下文改为使用RAG的方式\r\n2. 优化部分前端操作","2025-10-16T14:47:48",{"id":177,"version":178,"summary_zh":179,"released_at":180},112320,"v1.0.1","1. 默认采用sqlite作为存储\r\n2. 若使用mysql可以参考readme的说明","2025-10-15T15:01:39",{"id":182,"version":183,"summary_zh":184,"released_at":185},112321,"v1.0.0","1. 第一个版本","2025-10-15T13:51:13"]