标签 向量数据库 下的文章


摘要

随着大模型在真实业务中的应用不断深入,单纯依赖模型参数内知识已难以满足需求。检索增强生成(RAG,Retrieval-Augmented Generation)成为连接大模型与外部知识的重要方式。
本文从 0 到 1 系统讲解 RAG 的核心原理、系统结构及落地步骤,帮助读者构建一个可用、可扩展的 RAG 检索增强系统,为智能体和企业级 AI 应用提供可靠基础。


目录

  • 一、什么是 RAG
  • 二、为什么需要 RAG
  • 三、RAG 系统核心架构
  • 四、从 0 到 1 搭建 RAG 系统
  • 五、一个典型 RAG 流程示例
  • 六、常见问题与优化经验
  • 七、总结
  • 参考文献

一、什么是 RAG

RAG(检索增强生成)是一种将信息检索与文本生成结合的技术框架。

简单理解:

RAG = 先检索资料,再让大模型基于资料生成答案

传统大模型的问题在于:

  • 知识存在时效性
  • 无法访问私有数据
  • 容易产生幻觉

RAG 的出现,本质上是为大模型接入“外部大脑”。


RAG 的基本流程

通常包括三步:

1️⃣ 从知识库中检索相关内容
2️⃣ 将检索结果作为上下文输入模型
3️⃣ 大模型基于上下文生成回答

这使得模型回答更可信、更可控。


二、为什么需要 RAG

在实际应用中,仅依赖大模型参数知识存在明显局限。


1. 解决知识时效性问题

大模型训练数据具有截止时间。
而 RAG 可以连接实时或持续更新的知识库。


2. 支持私有数据访问

企业数据、内部文档、业务资料无法进入模型训练。

RAG 可以:

  • 接入内部知识库
  • 保障数据安全
  • 提供定制化答案

3. 降低幻觉风险

当模型基于真实检索内容回答时:

  • 胡编概率显著下降
  • 可追溯性增强
  • 结果更可信

4. 成本可控

相比微调大模型:

  • RAG 成本更低
  • 维护更简单
  • 迭代更灵活

因此,RAG 已成为企业落地大模型的主流方案之一。


三、RAG 系统核心架构

一个标准 RAG 系统通常包含以下模块。


1. 文档处理模块

负责数据准备:

  • 文档清洗
  • 分段切分
  • 去噪处理

高质量数据是 RAG 效果的基础。


2. 向量化模块

将文本转换为向量表示:

  • 使用 Embedding 模型
  • 保留语义信息
  • 支持语义检索

这一步决定检索质量上限。


3. 向量数据库

用于存储和检索向量数据:

  • 支持相似度搜索
  • 高效索引
  • 可扩展存储

常见做法是使用专门的向量数据库。


4. 检索模块

根据用户问题:

  • 向量化查询
  • 找到最相关内容
  • 返回 Top-K 结果

这是 RAG 的“信息入口”。


5. 生成模块

将检索结果与问题一起输入大模型:

  • 构建 Prompt
  • 引导模型基于资料回答
  • 控制生成范围

生成阶段决定最终体验。


四、从 0 到 1 搭建 RAG 系统

下面给出一个通用落地路线。


第一步:确定应用场景

先明确目标:

  • 客服问答
  • 企业知识库
  • 文档助手
  • 智能搜索

场景不同,设计重点不同。


第二步:准备数据

数据来源可以包括:

  • PDF 文档
  • 网页资料
  • 内部知识库
  • 产品文档

建议优先保证数据质量,而非数量。


第三步:文本切分策略

常见方法:

  • 按段落切分
  • 固定长度切分
  • 语义切分

合理切分可显著提升检索效果。


第四步:生成向量并入库

流程包括:

  • 选择 Embedding 模型
  • 批量生成向量
  • 存入向量数据库

这是 RAG 的核心基础设施。


第五步:构建检索逻辑

关键参数包括:

  • Top-K 数量
  • 相似度阈值
  • 混合检索策略

需要通过测试不断调整。


第六步:设计 Prompt

常见模板:

  • 指定仅基于提供资料回答
  • 要求引用来源
  • 限制自由发挥

Prompt 设计直接影响稳定性。


五、一个典型 RAG 流程示例

以“企业知识问答”为例:

用户提问
   ↓
问题向量化
   ↓
向量数据库检索
   ↓
返回相关文档片段
   ↓
构建 Prompt
   ↓
大模型生成回答

这一流程已被广泛用于:

  • 企业知识助手
  • 客服机器人
  • 文档问答系统

六、常见问题与优化经验


1. 检索不准怎么办?

优先检查:

  • 文本切分是否合理
  • Embedding 模型是否匹配领域
  • 是否存在噪声数据

2. 幻觉仍然存在?

可能原因:

  • 检索内容相关度低
  • Prompt 约束不足
  • 返回文档过少

3. 如何进一步提升效果?

常见优化方向:

  • 重排序(Rerank)
  • 混合检索(关键词 + 向量)
  • 查询改写
  • 多轮检索

成熟系统往往结合多种优化手段。


七、总结

RAG 并不是让大模型变得更聪明,而是让大模型​获得可靠的信息来源​。

从 0 到 1 构建 RAG 系统,核心在于:

1️⃣ 高质量数据
2️⃣ 合理检索策略
3️⃣ 清晰 Prompt 约束

当这三点做到位,RAG 系统即可在真实业务中发挥稳定价值。

可以说:

RAG 是连接大模型与真实世界知识的重要桥梁。

参考文献

  1. 中国信息通信研究院:《生成式人工智能应用发展报告》
  2. 中国信通院人工智能研究中心:《大模型技术与产业发展白皮书》
  3. 百度智能云:《知识增强大模型技术实践》
  4. 阿里云研究中心:《大模型 RAG 应用架构实践》
  5. 腾讯云开发者社区:《基于向量检索的知识问答系统实践》
  6. CSDN 技术社区:《RAG 检索增强生成技术实战》

引言

想象一下:你只需要用自然语言描述你的需求,AI 就能自动帮你完成数据库操作 —— 创建文档集合、插入数据、执行复杂查询,甚至构建一个完整的知识库应用。这不是未来,而是现在就能实现的能力。

seekdb MCP Server 就是实现这一愿景的桥梁。它基于 Anthropic 提出的 MCP(Model Context Protocol)协议,让 AI 助手能够直接与 seekdb 数据库交互,将 "自然语言" 转化为 "数据库操作"。

本文将带你上手 seekdb MCP Server,并通过一个实战案例 —— 通过自然语言构建 AI 应用,让你亲身体验 AI 原生数据库的魅力。

欢迎大家关注,在这里,我们会持续为大家更新与 #数据库、#AI 相关的技术内容!

什么是 seekdb MCP Server?

seekdb 是一款 AI 原生搜索数据库,在统一架构下融合了关系数据、向量数据、全文索引、JSON 和 GIS 能力,支持混合检索和库内 AI 工作流。

MCP Server 则是连接 AI 工具与数据库的"适配器"。通过 MCP 协议,Cursor、Claude Code、Cline 等 AI 工具可以直接访问和操作 seekdb 数据库。

核心能力一览

能力分类工具列表功能说明
向量集合管理create_collectionquery_collectionadd_data_to_collection创建向量集合、语义搜索、文档管理
高级搜索full_text_searchhybrid_search全文搜索、混合搜索(BM25 + 向量)
AI 函数ai_completeai_rerankcreate_ai_model调用 LLM 生成文本、重排序搜索结果
AI 记忆系统seekdb_memory_queryseekdb_memory_insert跨会话持久化记忆,让 AI "记住"你
数据导入导出import_csv_file_to_seekdbexport_csv_file_from_seekdbCSV 文件与数据库表/向量集合互转

安装 seekdb 数据库

在使用 seekdb MCP Server 之前,你需要先准备好 seekdb 数据库。seekdb 提供两种部署模式:

模式一:嵌入式模式(零配置,仅限 Linux)

嵌入式模式无需单独安装 seekdb 数据库!seekdb MCP Server 启动时会自动初始化一个本地嵌入式数据库,开箱即用。

适用场景:个人学习、快速原型开发、边缘设备运行。

⚠️ 提示
macOS 和 Windows 用户需要使用「客户端 / 服务器模式」,需要先部署 seekdb 数据库(推荐 Docker 方式),然后配置连接参数。

模式二:客户端/服务器模式(生产推荐)

如果你需要在测试或生产环境部署 seekdb,可以选择以下方式:

方式 1:使用 yum 安装(RPM 系统)
# 1. 添加 seekdb 镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo

# 2. 安装 seekdb 和客户端
sudo yum install seekdb obclient

# 3. 启动 seekdb
sudo systemctl start seekdb

# 4. 检查启动状态(状态为 "Service is ready" 表示启动成功)
sudo systemctl status seekdb

# 5. 连接测试
mysql -h127.0.0.1 -uroot -P2881 -A oceanbase
方式 2:使用 Docker(最快捷)
# 一行命令启动 seekdb
sudo docker run -d -p 2881:2881 oceanbase/seekdb

# 如果拉取失败,可使用备用镜像源:
# sudo docker run -d -p 2881:2881 quay.io/oceanbase/seekdb
# sudo docker run -d -p 2881:2881 ghcr.io/oceanbase/seekdb

系统要求

  • CPU:最低 1 核
  • 内存:最低 2 GB 可用内存
  • 支持的操作系统:CentOS 7/8、Ubuntu 20+、Debian 9+、Anolis OS 8、麒麟 V10 等

更多部署方式请参考 seekdb 部署文档[1]


安装 seekdb MCP Server

安装 uv 包管理器

# 安装 uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh

配置 AI 工具连接

Stdio 模式

以 Cursor 为例在 Cursor 中,打开设置 → Tools & MCP → New MCP Server,根据你的操作系统选择配置方式:

Linux 用户(嵌入式模式)

{
  "mcpServers": {
    "seekdb": {
      "command": "uvx",
      "args": ["seekdb-mcp-server"]
    }
  }
}

就这么简单!嵌入式模式无需任何配置,服务器启动时会自动初始化一个本地 seekdb 数据库。

macOS / Windows 用户(服务器模式)

macOS 和 Windows 不支持嵌入式模式,需要先部署 seekdb 数据库(推荐使用 Docker),然后配置连接参数:

{
  "mcpServers": {
    "seekdb": {
      "command": "uvx",
      "args": ["seekdb-mcp-server"],
      "env": {
        "SEEKDB_HOST": "127.0.0.1",
        "SEEKDB_PORT": "2881",
        "SEEKDB_USER": "",
        "SEEKDB_PASSWORD": "",
        "SEEKDB_DATABASE": "test"
      }
    }
  }
}

参数说明

参数说明默认值
SEEKDB_HOSTseekdb 服务器地址127.0.0.1
SEEKDB_PORTseekdb 服务端口2881
SEEKDB_USER数据库用户名
SEEKDB_PASSWORD数据库密码
SEEKDB_DATABASE数据库名称

SSE 模式

Linux 用户(嵌入式模式)

直接启动 SSE 服务器:

uvx seekdb-mcp-server --transport sse --port 6000

macOS / Windows 用户(服务器模式)

先配置环境变量,再启动服务器:

# 配置 seekdb 连接信息
export SEEKDB_HOST=127.0.0.1
export SEEKDB_PORT=2881
export SEEKDB_USER=
export SEEKDB_PASSWORD=
export SEEKDB_DATABASE=test

# 启动 SSE 服务器
uvx seekdb-mcp-server --transport sse --port 6000

然后在客户端配置:

{
  "sse-seekdb": {
    "type": "sse",
    "url": "http://127.0.0.1:6000/sse"
  }
}

实战案例:用 AI 对话构建个人笔记知识库

现在让我们通过一个完整的实战案例,体验 seekdb MCP Server 的强大能力。我们将构建一个个人笔记知识库,实现:

  • ✅ 用自然语言存储笔记
  • ✅ 语义搜索相关内容
  • ✅ 混合搜索精准定位
  • ✅ AI 智能问答

场景设定

假设你是一名技术工作者,平时会记录各种学习笔记、工作心得。现在你希望用 AI 帮你管理这些笔记,并能通过自然语言快速找到需要的内容。

第一步:创建笔记集合

在 AI 工具(如 Cursor)的对话框中输入:

创建一个名为 "my_notes" 的知识库集合

AI 响应示例:

我已成功创建名为 "my_notes" 的集合:

  • 维度: 384(向量大小)
  • 距离度量: L2(欧几里得距离)

就这样,一个支持语义搜索的向量集合就创建好了!

第二步:添加笔记内容

继续输入:

向 my_notes 中添加以下笔记:

1. "seekdb 支持向量搜索和全文搜索的混合检索,可以同时利用关键词匹配和语义理解"
2. "MCP 协议是 Anthropic 在 2024 年 11 月提出的开源协议,让大模型可以与外部工具交互"
3. "Python 的 asyncio 模块提供了异步编程能力,适合 I/O 密集型任务"
4. "Docker 容器化技术可以实现应用的快速部署和环境隔离"
5. "RAG(检索增强生成)是目前最流行的 AI 应用架构,结合检索和生成能力"

AI 响应示例:

完成!已成功向 "my_notes" 集合添加 5 条笔记:

ID内容
doc1seekdb 支持向量搜索和全文搜索的混合检索...
doc2MCP 协议是 Anthropic 在 2024 年 11 月提出的...
doc3Python 的 asyncio 模块提供了异步编程能力...
doc4Docker 容器化技术可以实现应用的快速部署...
doc5RAG(检索增强生成)是目前最流行的 AI 应用架构...

第三步:语义搜索

现在,让我们用自然语言搜索笔记:

在 my_notes 中搜索与 "AI 应用开发" 相关的笔记

AI 响应示例:

以下是与 "AI 应用开发" 相关的笔记,按相关性排序:

排名内容相关度
1RAG(检索增强生成)是目前最流行的 AI 应用架构...最高
2MCP 协议是 Anthropic 在 2024 年 11 月提出的...
3seekdb 支持向量搜索和全文搜索的混合检索...

注意:我们搜索的是 "AI 应用开发",但笔记中并没有这个确切的词。seekdb 的向量搜索能够理解语义相似性,自动找到相关内容!

第四步:混合搜索

混合搜索结合了关键词匹配语义理解,效果更精准:

对 my_notes 执行混合搜索:
- 全文关键词:"Python"
- 语义查询:"异步编程和并发处理"

AI 响应示例:

排名内容
1Python 的 asyncio 模块提供了异步编程能力,适合 I/O 密集型任务
2Docker 容器化技术可以实现应用的快速部署和环境隔离

混合搜索使用 RRF(倒数排名融合) 算法,综合关键词匹配(BM25)和向量相似度得分,排名结果更准确。

第五步:让 AI 记住你的偏好

seekdb MCP Server 还提供了 AI 记忆系统,让 AI 能够跨会话记住你的信息:

记住我是一名 Python 开发者,主要使用 seekdb 做向量搜索应用

AI 响应示例:

已记录!我会记住:

  • 你是一名 Python 开发者
  • 主要使用 seekdb 做向量搜索应用

下次对话时,你可以直接问:

根据我的技术背景,推荐一些学习资源

AI 会自动检索你的偏好,给出个性化推荐!

功能一览

向量集合管理

工具功能
create_collection创建向量集合
list_collections列出所有集合
has_collection检查集合是否存在
peek_collection预览集合中的文档
add_data_to_collection添加文档(自动生成向量)
update_collection更新文档
delete_documents删除文档
query_collection向量相似性搜索
delete_collection删除集合

高级搜索

工具功能
full_text_search全文搜索(基于关键词)
hybrid_search混合搜索(结合全文和向量搜索)

AI 模型工具

工具功能
create_ai_model注册 AI 模型(嵌入、文本生成或重排序)
create_ai_model_endpoint创建将模型连接到 API 服务的端点
drop_ai_model移除已注册的 AI 模型
drop_ai_model_endpoint移除 AI 模型端点
ai_complete调用 LLM 进行文本生成
ai_rerank使用 AI 模型按相关性重排文档
get_registered_ai_models列出所有已注册的 AI 模型
get_ai_model_endpoints列出所有 AI 模型端点

AI 记忆系统

seekdb MCP Server 提供了强大的 AI 记忆功能,让 AI 助手能够跨会话记住信息:

工具功能
seekdb_memory_query语义搜索记忆
seekdb_memory_insert存储新记忆
seekdb_memory_update更新记忆
seekdb_memory_delete删除记忆

使用场景

  • AI 记住你的技术栈偏好(如 "我习惯使用 Python")
  • AI 记住项目信息(如 "这个项目使用 FastAPI")
  • AI 记住个人偏好(如 "我喜欢简洁的代码风格")

数据导入导出

工具功能
import_csv_file_to_seekdb导入 CSV 文件
export_csv_file_from_seekdb导出数据到 CSV

SQL 操作

工具功能
execute_sql执行 SQL 查询
get_current_time获取数据库当前时间

更多工具探索

除了本文介绍的功能,seekdb MCP Server 还支持:

  • AI 函数调用

    • 使用 AI 模型分析这段文本的情感倾向:"今天天气真好,心情愉悦!"
  • CSV 数据导入

    • 将 /path/to/products.csv 导入为向量集合,使用第 2 列(产品描述)作为文档

常见问题

Q: 需要安装 seekdb 吗?

A: 不需要!seekdb MCP Server 使用嵌入式模式,seekdb 已经包含在内,无需单独安装。

Q: 数据存储在哪里?

A: 数据存储在本地文件系统中,默认在当前用户家目录下。你的数据完全在本地,不会上传到任何云端。

Q: 支持哪些操作系统?

A: 目前支持 Linux(glibc >= 2.28),支持 x86_64 和 aarch64 架构。

Q: 如何升级?

A: 使用 uvx 时会自动使用最新版本。

总结

seekdb MCP Server 让数据库操作变得前所未有的简单:

传统方式MCP 方式
学习 SQL 语法用自然语言描述需求
编写代码调用 APIAI 自动执行操作
手动管理向量嵌入自动生成和索引
分别处理搜索逻辑一句话混合搜索

无论你是想快速构建 RAG 应用,还是想让 AI 助手拥有"长期记忆",seekdb MCP Server 都是你的最佳选择。

开始你的 AI 原生数据库之旅吧! 🚀


参考资料

[1] seekdb 部署文档: https://www.oceanbase.ai/docs/deploy-overview/

Claude Code × 智谱 BigModel 实战集成指南

本文记录一次 Claude Code + 智谱 BigModel(GLM Coding 套餐) 的完整体验,从 CLI 安装、IDE 集成,到使用 Claude Code 零手写代码 搭建一个可运行的 AI 后端工程,并对整体体验做一个总结。


一、什么是 Claude Code?

Claude Code 是 Anthropic 推出的 本地 AI 编码助手(CLI + IDE 插件),核心能力包括:

  • 在本地代码仓库中直接对话式开发
  • 理解项目结构、自动生成/修改代码
  • 支持多种 IDE(VS Code / JetBrains 全家桶)
  • 支持通过 兼容 Anthropic API 的第三方模型 接入(如智谱 GLM)

这意味着:即使不使用 Anthropic 官方模型,也可以完整使用 Claude Code 的工程化能力。


二、Claude Code CLI 安装

macOS / Linux / WSL

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell

irm https://claude.ai/install.ps1 | iex

Windows CMD

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

安装完成后,终端中可直接使用:

claude

三、IDE 集成能力

1️⃣ Claude Code Desktop

  • 官方桌面客户端
  • 适合直接在本地项目中进行对话式开发

PixPin_2026-01-19_19-48-04.png

2️⃣ VS Code

  • 官方插件支持
  • 与当前 Workspace 深度绑定

PixPin_2026-01-19_19-43-51.png

3️⃣ JetBrains 系列(官方支持)

  • IntelliJ IDEA
  • PyCharm
  • GoLand
  • WebStorm
  • PhpStorm
  • Android Studio

PixPin_2026-01-19_19-53-17.png

实际体验中,对 多文件工程、后端项目结构 的理解能力非常强。

四、接入智谱 BigModel(GLM Coding 套餐)

Claude Code 可以通过 Anthropic API 兼容协议 接入智谱大模型。

4.1 注册账号

👉 https://www.bigmodel.cn/glm-coding

4.2 创建 API Key

登录后进入:

👉 https://bigmodel.cn/usercenter/proj-mgmt/apikeys

创建新的 API Key 并保存。


4.3 使用官方自动化工具(强烈推荐)

智谱提供了 Coding Tool Helper,可自动完成:

  • Claude Code 安装
  • API Key 配置
  • MCP Server 管理
  • 模型套餐加载
一条命令完成配置
npx @z_ai/coding-helper

按照交互提示操作即可,无需手动修改复杂配置。


4.4 启动 Claude Code

进入任意代码目录,执行:

claude

首次启动时若提示:

Do you want to use this API key?

选择 Yes 即可。


五、模型配置与切换

默认模型映射

ANTHROPIC_DEFAULT_OPUS_MODEL   → GLM-4.7
ANTHROPIC_DEFAULT_SONNET_MODEL → GLM-4.7
ANTHROPIC_DEFAULT_HAIKU_MODEL  → GLM-4.5-Air

手动配置(可选)

编辑文件:

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7"
  }
}

验证模型状态

重新打开终端并运行:

claude

在 Claude Code 中输入:

/status

即可看到当前模型配置状态。


六、资源包与福利

  • ✅ 注册即送 体验 Token

PixPin_2026-01-19_20-12-56.png

  • ✅ 实名认证赠送 500 万 GLM-4.7 Token

PixPin_2026-01-19_20-13-54.png

👉 资源包管理:
https://bigmodel.cn/finance-center/resource-package/package-mgmt

对于个人开发者和技术验证阶段非常友好。


七、实战体验:零手写代码搭建 AI 后端

在 Claude Code 中直接输入需求:

请帮我集成 FastAPI、LangChain、LangGraph、langchain-ollama、Milvus,并构建好项目结构:

  • FastAPI 接口
  • Token 认证(非 JWT)
  • 使用 SQLite 生成和校验 Token
  • Milvus 作为向量数据库
  • Ollama 作为本地模型推理

PixPin_2026-01-19_20-15-16.png

结果:

  • 一次生成即成功运行
  • ✅ 自动生成项目结构
  • ✅ 自动生成依赖、启动方式、示例接口
  • ✅ Token 认证逻辑清晰、可直接落地

全程未手写一行代码,仅做了运行验证。


八、总结

一句话评价:Claude Code + GLM-4.7 = 当前最强中文友好的工程级 AI 编码体验之一

优点

  • 工程理解能力强(不是“代码片段级”)
  • 对后端框架 / AI 工程非常友好
  • CLI + IDE 双形态,贴近真实开发流
  • 国产模型接入,成本可控、速度稳定

适合人群

  • 后端 / AI 工程师
  • 想快速验证 AI 架构方案的团队
  • 对 Agent / RAG / 工程化落地有需求的开发者
结论
如果你已经在做 AI 工程,而不是只写 Demo,Claude Code 非常值得一试。

🌟 2026-01-20 GitHub Python 热点项目精选(14个)

每日同步 GitHub Trending 趋势,筛选优质 Python 项目,助力开发者快速把握技术风向标~

📋 项目列表(按 Star 数排序)

1. OpenBMB/VoxCPM

VoxCPM是一个无需分词器的文本到语音(TTS)系统,能够生成具有真实感的语音并进行零样本人声克隆。它通过建模语音的连续空间来克服分词的局限性,并支持上下文感知的语音生成和真实感零样本人声克隆。
指标详情
Star 数🌟 4833(今日+650)
Fork 数🔄 567
开发语言🐍 Python
项目地址https://github.com/OpenBMB/VoxCPM

2. google/langextract

LangExtract是一个Python库,用于从非结构化文本中提取结构化信息,支持使用LLMs进行精确的源定位和交互式可视化。
指标详情
Star 数🌟 22632(今日+621)
Fork 数🔄 1562
开发语言🐍 Python
项目地址https://github.com/google/langextract

3. ahujasid/blender-mcp

BlenderMCP通过模型上下文协议(MCP)将Blender与Claude AI连接起来,支持通过提示辅助的3D建模、场景创建和操作。
指标详情
Star 数🌟 15879(今日+174)
Fork 数🔄 1514
开发语言🐍 Python
项目地址https://github.com/ahujasid/blender-mcp

4. yichuan-w/LEANN

LEANN是一个创新的向量数据库,通过图结构选择性重计算和高阶保持剪枝技术,实现了97%的存储节省,同时保持了与传统解决方案相同的搜索质量。
指标详情
Star 数🌟 9280(今日+372)
Fork 数🔄 803
开发语言🐍 Python
项目地址https://github.com/yichuan-w/LEANN

5. AtsushiSakai/PythonRobotics

PythonRobotics是一个包含机器人算法样本代码和教材的Python代码库,涵盖了定位、建图、SLAM、路径规划、路径跟踪等多个机器人相关领域。
指标详情
Star 数🌟 28108(今日+274)
Fork 数🔄 7165
开发语言🐍 Python
项目地址https://github.com/AtsushiSakai/PythonRobotics

6. Mebus/cupp

CUPP是一个用于生成用户密码配置文件的工具,通过分析用户信息来预测可能的密码,适用于合法的渗透测试和法医犯罪调查。
指标详情
Star 数🌟 5662(今日+167)
Fork 数🔄 1773
开发语言🐍 Python
项目地址https://github.com/Mebus/cupp

7. freqtrade/freqtrade

Freqtrade是一个免费开源的加密货币交易机器人,支持多种交易所,可通过Telegram或WebUI控制,并包含回测、绘图和资金管理工具。
指标详情
Star 数🌟 46041(今日+26)
Fork 数🔄 9568
开发语言🐍 Python
项目地址https://github.com/freqtrade/freqtrade

8. yt-dlp/yt-dlp

yt-dlp是一个功能丰富的命令行音频/视频下载器,支持数千个网站,是基于youtube-dl的改进版本。
指标详情
Star 数🌟 142761(今日+500)
Fork 数🔄 11533
开发语言🐍 Python
项目地址https://github.com/yt-dlp/yt-dlp

9. The-Pocket/PocketFlow

PocketFlow是一个100行代码的LLM框架,让代理能够构建代理,具有极小的资源占用和高效的性能。
指标详情
Star 数🌟 9602(今日+35)
Fork 数🔄 1055
开发语言🐍 Python
项目地址https://github.com/The-Pocket/PocketFlow

10. paperless-ngx/paperless-ngx

Paperless-ngx是一个社区支持的超级增强型文档管理系统,可以扫描、索引和存档所有文档,帮助用户减少纸质文档的使用。
指标详情
Star 数🌟 35760(今日+35)
Fork 数🔄 2265
开发语言🐍 Python
项目地址https://github.com/paperless-ngx/paperless-ngx

11. ComposioHQ/awesome-claude-skills

Awesome Claude Skills是一个精选的Claude技能、资源和工具列表,用于定制Claude AI工作流程,提高生产力。
指标详情
Star 数🌟 21912(今日+671)
Fork 数🔄 2199
开发语言🐍 Python
项目地址https://github.com/ComposioHQ/awesome-claude-skills

12. yusufkaraaslan/Skill_Seekers

Skill Seekers是一个自动化工具,能够将文档网站、GitHub仓库和PDF文件转换为Claude AI技能,支持多种语言和平台。
指标详情
Star 数🌟 7226(今日+133)
Fork 数🔄 718
开发语言🐍 Python
项目地址https://github.com/yusufkaraaslan/Skill_Seekers

13. davila7/claude-code-templates

Claude Code Templates是一个用于配置和监控Claude Code的CLI工具,提供了一系列预设的AI代理、自定义命令、设置、钩子和外部集成。
指标详情
Star 数🌟 17512(今日+407)
Fork 数🔄 1571
开发语言🐍 Python
项目地址https://github.com/davila7/claude-code-templates

14. meizhong986/WhisperJAV

WhisperJAV是一个为日本成人视频生成字幕的工具,针对该领域的特殊音频和语言特性进行了优化,以提高字幕生成的准确性和效率。
指标详情
Star 数🌟 886(今日+13)
Fork 数🔄 85
开发语言🐍 Python
项目地址https://github.com/meizhong986/WhisperJAV

📝 说明

  • 数据来源:GitHub Trending(2026-01-20 每日榜单)
  • 筛选条件:Python 语言 + 当日热门项目
  • 自动更新:每日同步最新趋势,建议收藏本文持续关注~

⭐ 推荐理由

  1. 热门项目代表当前技术趋势,学习价值高
  2. 优质项目代码规范,可作为学习参考
  3. 部分项目可直接用于实际开发,提高效率

引言:一个“非随机”的选择困境

当你向ChatGPT、DeepSeek或文心一言提问:“2026年最适合程序员的轻薄本是哪款?”时,AI生成的答案中,为何总是那几款品牌被反复推荐,而其他性能相近甚至更具性价比的产品却踪迹全无?

这个看似“智能”的推荐,背后绝非随机选择。它是一场发生在高维向量空间、由复杂概率计算主导的精密博弈。你的品牌未被提及,不是因为产品不好,而是因为在大模型的“世界模型”里,你的信息未被有效地编码、关联,或在最终生成阶段被其他更高权重的信息“挤掉”。

本文将以技术侦探的视角,试图拆解大模型生成答案的“黑盒”流程,并逆向推演一套名为 GEO(生成式引擎优化) 的技术体系,如何通过系统工程方法,科学、可度量地提升品牌信息在这一链条中的 引用概率。

第一章:逆向工程——大模型生成答案的“三层漏斗”

尽管各大模型的内部权重与训练数据是核心机密,但根据公开论文(如Transformer架构、RAG系统原理)及可观测现象,我们可以将其生成包含外部信息的答案过程,简化为一个 “召回-排序-生成” 的三层漏斗模型。

1. 召回(Recall):从“信息宇宙”中捕捞候选集

发生了什么? 当模型解析你的问题(Query)后,它并非从完整训练数据中逐字扫描,而是将问题转化为一个高维向量(Embedding),并在其内部的索引或关联的外部知识库中,进行近似最近邻搜索(ANN),快速召回一批语义相关的信息片段(Chunks)。这些片段可能来自训练数据中的网页、文档、问答对,或实时检索的结果。

技术挑战: 如果你的品牌内容(官网、评测、技术文档)在语义上与用户的高频提问方式向量距离过远,或在数据索引中权重过低、特征不明显,就会在召回层被直接过滤掉。这是“零推荐”的根本原因之一。

2. 排序(Ranking):对候选信息进行“价值评估”

发生了什么? 召回的上百条候选信息,将进入一个复杂的排序环节。模型会综合评估每条信息的:

相关性(Relevance): 与问题的语义匹配度。

权威性(Authority):信源本身的权重(如知名媒体、官方机构、高权威域名)。

新鲜度(Freshness): 信息的时效性。

流行度(Popularity): 在训练数据中被引用的广泛程度。

技术挑战:即使被召回,如果你的内容在权威性(未被高质量信源引用)、新鲜度(信息陈旧)、流行度(网络声量小)等维度上得分不足,其综合排序也会靠后,难以进入最终生成的候选名单。

3. 生成(Generation):基于概率采样构造最终答案

发生了什么? 模型根据排序靠前的信息片段作为核心上下文,结合其预训练的世界知识,通过自回归的方式逐词生成答案。在此过程中,它会对提及的具体实体(如品牌名、产品型号)进行概率采样。排序更高、在上下文中出现更连贯、更符合模型“认知”的实体,被采样的概率自然更大。

技术挑战:生成环节的随机性背后是概率的博弈。如果你的品牌信息未能与“理想答案”的上下文强绑定,或者表述方式(如昵称、别称)未被模型良好对齐,也可能在最后一刻“落选”。

第二章:GEO的理想框架——在“三层漏斗”中施加技术干预

要系统性地提升引用概率,就必须针对上述三层漏斗,设计一套可工程化的技术干预框架。一个理想化的GEO系统应包含以下核心模块:

垂直诊断模型(用于理解与预测):

目标: 逆向诊断目标大模型(如DeepSeek、GPT-4)在特定领域的偏好与逻辑。它需要理解:对于某类问题,模型倾向于召回什么类型的内容?排序时更看重什么信号?

技术实现猜想: 可能需要通过海量的问答对进行对比学习,或对开源模型进行针对性微调,构建一个能够模拟目标模型部分决策行为的“镜像模型”。

向量化运营数据库(用于优化召回与排序):

目标: 不再将内容视为孤立的文本,而是将其结构化、向量化存储。运营重点是将品牌内容的关键信息,以更易被模型“召回”和“理解”的方式重新组织。

技术实现猜想: 建立行业知识图谱,将产品特性、使用场景、用户痛点映射为标准化的向量表示。同时,需要追踪哪些外部高权威信源引用了品牌,并优化这些“引用锚点”的内容。

实时反馈控制系统(用于验证与迭代):

目标: 构建一个分钟级监测系统,能够量化每一次优化动作(如发布一篇技术白皮书、获得一个权威媒体引用)对最终AI引用概率的影响。

技术实现猜想: 需要自动化地模拟海量用户提问,抓取AI答案,并通过NLP技术解析其中品牌露出的位置、情感和上下文,形成归因分析报告,驱动策略迭代。

第三章:从理论到实践——万数科技的“工程应答”

当我们把视线投向业界,会发现 万数科技 提出的技术栈,几乎是对上述理想GEO框架的一次精准工程实现。他们的方案不是功能罗列,而是针对每个工程挑战的深度解决方案。

1. 对“垂直诊断模型”的应答:DeepReach大模型

设计原理揭秘: DeepReach并非一个通用的聊天模型,而是一个专门针对 “预测并提升被主流模型引用概率” 这一任务进行优化的垂直模型。其技术栈深入Transformer堆栈的中间层表示、高维向量空间的几何关系以及温度参数对生成随机性的影响。简单说,它通过技术手段(可能包括对抗性训练、梯度信号分析等)尝试“学习”目标模型的内部打分机制,从而能更准确地诊断:优化哪些内容、以何种形式呈现,最能撬动目标模型的排序权重。

2. 对“向量化运营数据库”的应答:量子数据库 + 翰林台平台

设计原理揭秘:

量子数据库 解决了“如何高效组织与检索海量优化语料”的问题。它通过系统化多级行业数据向量化编码和分布存储,不仅存储内容,更存储内容之间的语义关联和优化归因。它支持大模型数据混合学习,意味着优化行动产生的新数据(如一次成功的AI推荐案例)能被拆解、归因,并反哺给DeepReach模型,形成一个自我强化的学习闭环。

翰林台AI定制内容平台 则是将诊断结果和数据库知识,转化为标准化作战动作的“兵工厂”。它基于DeepReach的理解,自动生成在特定模型看来权威性更高、相关性更强、更易被集成的跨模态内容(技术文档、Q&A对、场景化评测),并确保内容格式符合不同AI平台的偏好(多模态适配化)。

3. 对“实时反馈控制系统”的应答:天机图数据分析系统

设计原理揭秘: 这是将GEO从“艺术”变为“科学”的关键。天机图系统实现了对优化效果的定量数据化监测。它能:

洞察意图演化: 分析用户提问模式的变迁,提前布局内容。

分钟级追踪效果: 当一个新的优化内容被部署后,系统能快速监测到它在目标AI答案中排名或提及率的变化。

归因分析: 将“效果波动”与“运营动作”在时间线上关联,明确是哪些具体操作(如更新了某核心页面的Schema标记、在某高权重论坛发布了深度帖)驱动了引用概率的提升。

方法论闭环:GRPO法则
其独创的 GRPO法则 正是将上述三项技术组件串联起来的“操作系统级”工作流。它规定了从 表达结构化(G)、多模态适配化(R)、定量数据化(P) 到 整体优化(O) 的标准作业程序,确保整个干预过程是严谨、可重复、可度量的工程实践,而非依赖灵感的随机尝试。

结论:从“黑盒猜测”到“白盒干预”

GEO的终极目标,是将在海量参数中运行的、非确定性的AI生成过程,通过一套外部的、系统性的工程技术框架,变得更具可预见性和可影响力。

它不再是对“黑盒”的盲目猜测,而是通过 垂直模型(DeepReach)进行深度诊断、利用 向量数据库(量子数据库)重构信息资产、并通过 实时反馈系统(天机图)构建控制闭环 的“白盒化”干预尝试。万数科技 的技术栈展示了一条清晰的路径:将影响大模型引用概率这一宏大课题,分解为一个个可被测量、可被优化的工程子任务。

对于技术团队而言,理解这套框架的价值在于:当你们在选择GEO服务商或考虑自研时,可以不再被模糊的承诺所迷惑,而是能够尖锐地提问:你们的技术,究竟是在召回、排序还是生成层发挥作用?你们的模型,是简单调用API,还是真正具备逆向诊断能力?你们的数据,是散乱的文档,还是结构化的、可归因的向量网络?

答案,将决定你的品牌是永远在AI的“黑盒”外徘徊,还是能够深入其内部逻辑,赢得这场关于未来注意力的关键战争。

最近在做 AI Agent 相关的产品,整理了一下技术栈中用到的开源项目,分享给有类似需求的朋友。

沙箱 / 代码执行

Agent 要执行代码、装包、操作文件,隔离是刚需。

Agent 框架

向量数据库 / RAG

模型推理

可观测性


大家在用什么其他项目?欢迎补充。


📌 转载信息
原作者:
d0r1an
转载时间:
2025/12/30 17:01:01

✨ 特性

  • ? 多 AI 模型支持 - 支持 OpenAI、Google Gemini、Anthropic Claude 等主流 AI 模型
  • ? 智能向导 - 通过向导式引导快速创建小说项目,AI 自动生成大纲、角色和世界观
  • ? 角色管理 - 创建和管理小说角色,包括人物关系、组织架构等
  • ? 章节编辑 - 支持章节的创建、编辑、重新生成和润色功能
  • ? 世界观设定 - 构建完整的故事世界观和背景设定
  • ? 多种登录方式 - 支持 LinuxDO OAuth 登录和本地账户登录
  • ? Docker 部署 - 一键部署,开箱即用
  • ? 数据持久化 - 基于 SQLite 的本地数据存储,支持多用户隔离
  • ? 现代化 UI - 基于 Ant Design 的美观界面,响应式设计

 一款基于 AI 的智能小说创作助手,帮助你轻松创作精彩故事

更新记录

25.11.3更新:
1.优化AI请求替换OpenAI SDK调用,使用httpx和自定义头请求,避免触发部分公益站的cloudflare
2.修复deepseek模型调用问题,舍弃思考过程AI响应内容,只获取结果内容
3.新增会话过期机制,更新后添加到.env中
4.支持用户在生成章节内容时设置字数

25.11.4更新:
注意 本次更新已合并到main主分支
1.支持用户项目数据导入导出
2.支持向量数据库,实现RAG的记忆提取存储功能,并引用到生成上下文中,提高生成文章内容质量

25.11.5更新:
1.新增AI生成组织功能,扩展优化组织字段(所在地 代表颜色 格言/口号)
2.适配移动端项目管理-剧情分析UI页面

25.11.6更新:
1.优化大纲续写和章节内容生成上下文构建方式 实现智能构建提示词(支持超长章节内容)
2.实现章节概要提取,并保存到向量数据库,为后续大纲生成和内容提供骨架
3.新增章节内容批量生成功能

25.11.7更新:
1.更新mcp插件功能,目前只支持remote调用

? 快速开始

前置要求

  • Docker 部署:Docker 和 Docker Compose
  • 本地开发:Python 3.11+ 和 Node.js 18+
  • 必需:至少一个 AI 服务的 API Key(OpenAI/Gemini/Anthropic)
    方式一:从源码构建 Docker 镜像

    # 1. 克隆项目
    git clone https://github.com/xiamuceer-j/MuMuAINovel.git
    cd MuMuAINovel
    
    # 2. 配置环境变量
    cp backend/.env.example .env
    # 编辑 .env 文件,填入你的 API Keys
    
    # 3. 启动服务(会自动构建镜像)
    docker-compose up -d
    
    # 4. 访问应用
    # 打开浏览器访问 http://localhost:8000

方式二:本地开发
后端设置

# 进入后端目录
cd backend

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
# Windows:
.venv\Scripts\activate
# Linux/Mac:
source .venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的配置

# 启动后端服务
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

前端设置

# 进入前端目录
cd frontend

# 安装依赖
npm install

# 开发模式(需要后端已启动)
npm run dev

# 或构建生产版本
npm run build

? 部署方式

Docker Compose 部署
使用 Docker Hub 镜像(推荐)
项目已发布到 Docker Hub,可直接拉取使用:

# 查看可用版本
docker pull mumujie/mumuainovel:latest

# 启动服务
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 更新到最新版本
docker-compose pull
docker-compose up -d

Docker Compose 配置文件示例
使用 Docker Hub 镜像的完整配置:

services:
  ai-story:
    image: mumujie/mumuainovel:latest
    container_name: mumuainovel
    ports:
      - "8800:8000"  # 宿主机端口:容器端口
    volumes:
      # 持久化数据库和日志
      - ./data:/app/data
      - ./logs:/app/logs
      # 挂载环境变量文件
      - ./.env:/app/.env:ro
    environment:
      - APP_NAME=mumuainovel
      - APP_VERSION=1.0.0
      - APP_HOST=0.0.0.0
      - APP_PORT=8000
      - DEBUG=false
      # 其他环境变量会从 .env 文件自动加载
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    networks:
      - ai-story-network

networks:
  ai-story-network:
    driver: bridge

生产环境部署建议

1. 环境变量配置
必需配置:

  • OPENAI_API_KEY 或 GEMINI_API_KEY:至少配置一个 AI 服务
  • LOCAL_AUTH_PASSWORD:修改为强密码

推荐配置:

  • OPENAI_BASE_URL:如果使用中转 API,修改为中转服务地址
  • DEFAULT_AI_PROVIDER:根据你的 API Key 选择 openai、gemini 或 anthropic
  • DEFAULT_MODEL:选择合适的模型(如 gpt-4o-mini、gemini-2.0-flash-exp)
  • 数据持久化
    数据目录已通过 volume 挂载,数据不会丢失:
  • ./data:SQLite 数据库文件
  • ./logs:应用日志文件
  • 端口配置
    默认端口映射:8800:8000
  • 宿主机端口:8800(可自定义修改)
  • 容器内端口:8000(固定,不要修改)
    访问地址:http://your-server-ip:8800

配置后记得更新 .env 中的 LINUXDO_REDIRECT_URI 和 FRONTEND_URL。

5. 资源限制(可选)
在 docker-compose.yml 中添加资源限制:

services:
  ai-story:
    # ... 其他配置
    deploy:
      resources:
        limits:
          cpus: '2.0'
          memory: 2G
        reservations:
          cpus: '0.5'
          memory: 512M

端口说明

  • 默认端口:8800(宿主机)→ 8000(容器)
  • 可自定义:修改 docker-compose.yml 中的 ports 配置
  • 健康检查:容器内部使用 8000 端口进行健康检查

⚙️ 配置说明

环境变量
创建 .env 文件并配置以下变量:

# ===== AI 服务配置(必填)=====
# OpenAI 配置(支持官方API和中转API)
OPENAI_API_KEY=your_openai_key_here
OPENAI_BASE_URL=https://api.openai.com/v1

# Anthropic 配置
# ANTHROPIC_API_KEY=your_anthropic_key_here
# ANTHROPIC_BASE_URL=https://api.anthropic.com

# 中转API配置示例(使用OpenAI格式)
# New API 中转服务
# OPENAI_API_KEY=your_newapi_key_here
# OPENAI_BASE_URL=https://api.new-api.com/v1

# 默认 AI 提供商和模型
DEFAULT_AI_PROVIDER=openai
DEFAULT_MODEL=gpt-4o-mini
DEFAULT_TEMPERATURE=0.8
DEFAULT_MAX_TOKENS=32000

# ===== 应用配置 =====
APP_NAME=MuMuAINovel
APP_VERSION=1.0.0
APP_HOST=0.0.0.0
APP_PORT=8000
DEBUG=false

# ===== LinuxDO OAuth 配置(可选)=====
LINUXDO_CLIENT_ID=your_client_id_here
LINUXDO_CLIENT_SECRET=your_client_secret_here
LINUXDO_REDIRECT_URI=http://localhost:8000/api/auth/callback
FRONTEND_URL=http://localhost:8000

# ===== 本地账户登录配置 =====
LOCAL_AUTH_ENABLED=true
LOCAL_AUTH_USERNAME=admin
LOCAL_AUTH_PASSWORD=your_secure_password_here
LOCAL_AUTH_DISPLAY_NAME=管理员

# 会话配置
# 会话过期时间(分钟),默认120分钟(2小时)
SESSION_EXPIRE_MINUTES=120
# 会话刷新阈值(分钟),剩余时间少于此值时可刷新,默认30分钟
SESSION_REFRESH_THRESHOLD_MINUTES=30

# ===== CORS 配置(生产环境)=====
# CORS_ORIGINS=https://your-domain.com,https://www.your-domain.com

AI 模型配置
项目支持多个 AI 提供商,你可以根据需要配置:

提供商推荐模型用途
OpenAIgpt-4, gpt-3.5-turbo高质量文本生成
Anthropicclaude-3-opus, claude-3-sonnet长文本创作

使用中转API服务
如果你无法直接访问 OpenAI 官方 API,或者想使用更经济实惠的中转服务,本项目完全支持各种 OpenAI 兼容格式的中转 API:

配置方法
只需修改 .env 文件中的两个参数:

# 1. 填入中转服务提供的 API Key
OPENAI_API_KEY=your_api_key_from_proxy_service

# 2. 修改 Base URL 为中转服务的地址
OPENAI_BASE_URL=https://your-proxy-service.com/v1

常见中转服务配置示例
New API

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.new-api.com/v1

API2D

OPENAI_API_KEY=fk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.api2d.com/v1

OpenAI-SB

OPENAI_API_KEY=sb-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://api.openai-sb.com/v1

自建 One API / New API

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx
OPENAI_BASE_URL=https://your-domain.com/v1

注意事项

  • ✅ 所有支持 OpenAI 接口格式的服务都可以使用
  • ✅ 确保中转服务的 Base URL 以 /v1 结尾
  • ✅ 根据中转服务支持的模型,修改 DEFAULT_MODEL 参数
  • ⚠️ 不同中转服务的模型名称可能不同,请参考服务商文档
  • ⚠️ 部分中转服务可能对请求频率或并发有限制

推荐的中转服务
如果你需要中转服务,以下是一些常见选择:

  1. New API - 开源的 API 分发系统,支持多种模型
  2. API2D - 国内稳定的 API 中转服务
  3. OpenAI-SB - 提供多种 AI 模型的中转
  4. 自建服务 - 使用 One API 或 New API 自行搭建
? 提示:使用中转服务时,请确保服务提供商的可靠性和数据安全性

? 项目结构

MuMuAINovel/
├── backend/ # 后端服务
│ ├── app/
│ │ ├── api/ # API 路由
│ │ │ ├── auth.py # 认证接口
│ │ │ ├── projects.py # 项目管理
│ │ │ ├── chapters.py # 章节管理
│ │ │ ├── characters.py # 角色管理
│ │ │ ├── wizard_stream.py # 向导流式生成
│ │ │ └── ...
│ │ ├── models/ # 数据模型
│ │ ├── schemas/ # Pydantic 模型
│ │ ├── services/ # 业务逻辑
│ │ │ ├── ai_service.py # AI 服务封装
│ │ │ └── oauth_service.py # OAuth 服务
│ │ ├── middleware/ # 中间件
│ │ ├── utils/ # 工具函数
│ │ ├── config.py # 配置管理
│ │ ├── database.py # 数据库连接
│ │ └── main.py # 应用入口
│ ├── data/ # 数据存储目录
│ ├── static/ # 前端静态文件(构建后)
│ ├── requirements.txt # Python 依赖
│ └── .env.example # 环境变量示例
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── pages/ # 页面组件
│ │ │ ├── ProjectList.tsx # 项目列表
│ │ │ ├── ProjectWizardNew.tsx # 创建向导
│ │ │ ├── Chapters.tsx # 章节管理
│ │ │ ├── Characters.tsx # 角色管理
│ │ │ └── ...
│ │ ├── components/ # 通用组件
│ │ ├── services/ # API 服务
│ │ ├── store/ # 状态管理(Zustand)
│ │ ├── types/ # TypeScript 类型
│ │ └── utils/ # 工具函数
│ ├── package.json
│ └── vite.config.ts
├── docker-compose.yml # Docker Compose 配置
├── Dockerfile # Docker 镜像构建
└── README.md # 项目说明文档