零大模型依赖!SQLite FTS5 + jieba 打造纯本地知识库搜索

基于SQLite FTS5的中文全文搜索实现及踩坑指南 全文搜索是本地知识库与笔记工具的核心能力,其本质是借助索引结构将线性扫描转化为倒排匹配。SQLite FTS5 作为内嵌式全文索引方案,无需额外服务,天然契合离线与轻量场景,但对中文分词缺乏原生支持。本文从索引构建、查询改写、同步机制等工程实践出发,结合 SQLite FTS5 与 jieba 分词器,剖析中文分词导致的检索失效、CPU 飙升与排序失真等典型问题,并给出防抖、权重排序、安全高亮等优化路径。无论您是开发 Markdown 笔记工具还是本地文档管理系统,这些经验都能帮助您快速构建稳定流畅的全文搜 阅读详情

01 引言

之前看到测试同事和产品经理battle的时候,总是能通过关键字快速的找到需求文档,来啪啪打产品经理的脸。就很好奇他是怎么做到的,讨论下来他用AI写了一个程序,来快速查找文档。

本节将将介绍一下这个项目,自己通过AI复刻这么一个搜索系统。

02 选型

因为这方面的技术还是比较空白的,就直接问了Qclaw。

它给除了思路,要使用向量数据库、向量化模型、精排模型等。这个不是我想要的,我要的功能比较简单,就是能够快速的定位到文档就行,不想使用大模型。

如果真的想使用大模型,可以选择成熟的开源知识库框架:RAGFlow/fastgpt等

  • https://github.com/infiniflow/ragflow
  • https://github.com/labring/FastGPT

2.1 参考

之前分享过一个项目《文档杂乱怎么查找:用 Papra 搭一个极简文档管理系统》

就没有使用大模型,通过本地的搜索完成文档的搜索,但是无法完成定位。完全可以借鉴。

GitHub地址:https://github.com/papra-hq/papra

2.2 对比

继续追问AI:

如果不是使用大模型,直接建立本地的索引文件,如何设计

不想引入过多的外部软件,就选择了 轻量版的方案。然后就进行了实现。

03 项目介绍

Knowledge该项目是纯本地全文检索系统,不依赖任何大模型。输入关键词,秒级定位到文档出处。

使用的技术栈:SQLite FTS5 + jieba 分词 + BM25 相关性排序 + Flask。

GitHub地址:https://github.com/simonking-ws/knowseek

3.1 核心能力

  • 关键词搜索:BM25 相关性排序,支持中文分词(jieba 搜索引擎模式)
  • 关键词高亮 :命中的关键词用黄色 <mark> 高亮,大小写不敏感
  • 定位出处 :每条结果显示 文件路径 + 章节路径 + 段落号/行号,点击可查看原文上下文
  • 多格式支持:Word (.docx) / PDF / Excel (.xlsx) / 文本 / Markdown
  • 来源过滤:按文档类型筛选搜索结果
  • 增量同步:后台定时扫描目录,MD5 hash 变化才重新索引
  • 批量上传:拖拽或选择文件/文件夹批量上传并自动索引
  • 文件管理:文件列表查看、批量移除、点击打开原文件

3.2 项目结构

Knowledge/
├── app/
│   ├── __init__.py        # 包初始化
│   ├── parser.py          # 文档解析(Word/PDF/Excel/TXT/MD → chunks)
│   ├── indexer.py         # SQLite FTS5 索引 + 搜索 + 统计
│   ├── sync.py            # 增量同步(扫描目录 → hash 对比 → 索引)
│   └── server.py          # Flask Web 服务 + 全部前端界面
├── data/
│   └── knowledge.db       # SQLite 数据库(自动创建)
├── uploads/                # 上传文件存储目录(自动创建)
├── config.yaml             # 配置文件
├── requirements.txt        # Python 依赖
├── run.py                  # 启动入口
├── test_search.py          # 搜索测试脚本
├── test_rebuild.py         # 重建索引测试脚本
└── 启动搜索.bat            # Windows 一键启动

3.3 快速开始

Windows 也可双击 启动搜索.bat。

或者使用命令启动:

python run.py

浏览器访问 http://127.0.0.1:9876

04 功能展示

4.1 仪表盘

主要功能:

  • 文档总数、片段总数、各来源分类数量
  • 点击来源卡片可快速跳转搜索该类型
  • 最近索引文件列表

4.2 搜索

主要功能:

  • 输入关键词 → BM25 排序返回结果
  • 结果卡片显示:来源标签、文件名、高亮内容、章节定位、BM25 分数
  • 点击结果卡片 → 弹窗查看原文(目标段落黄底高亮,前后各 2 段灰色上下文)
  • 来源过滤器(全部 / Word / PDF / Excel / 文本/MD / 飞书 / 语雀 / Jenkins)
  • 重置按钮:清空关键词、过滤器、结果,恢复初始状态

4.3 定位

点击应用文字,就可以定位到澳文档的位置,也可以系统打开。

4.4 文件列表

主要功能:

  • 全部已索引文件列表(文件名、来源、片段数、索引时间、路径)
  • 表头复选框:全选/取消全选(联动选中样式)
  • 单行勾选:选中行高亮
  • 批量移除:选中后一键移除索引
  • 点击文件名:弹窗查看文件内容

4.5上传文件

主要功能:

  • 拖拽上传 / 点击选择文件
  • 选择文件夹批量上传
  • 支持 .docx / .pdf / .xlsx / .txt / .md
  • 上传进度条与结果反馈

4.6 扩展数据源

当前支持本地文件(Word/PDF/Excel/TXT/MD),后续可扩展对接外部平台:

数据源对接方式切块策略
飞书飞书开放 API 导出 DOCX → 走 Word 解析同 Word
语雀语雀 Open API v2 取 Markdown同文本
JenkinsREST API 取构建日志 → 按行切分同文本

每个数据源封装为独立 Connector,实现统一接口(拉文档 / 取内容 / 监听变更 / 构建跳转 URL),新增数据源仅需加 Connector。

05 小结

这是一套零大模型依赖、纯本地运行的关键词搜索知识库。核心思路是:文档解析时给每个 chunk 打上完整"出生证明"(文件路径、章节路径、段落号),搜索后一键定位到原文。

未来如需语义搜索,可并行加向量索引,无需重构现有系统。也可以增加AI的厂商协助搜索。

SQLite全文搜索FTS5实战:从倒排索引到中文分词应用 全文搜索是现代信息检索的核心技术,它通过倒排索引机制,将文档内容转换为可快速检索的词项索引,从而实现对海量文本数据的高效查询。其技术原理基于分词器将文本拆分为词元,并构建从词项到文档的映射关系,这使得搜索性能相比传统的LIKE查询有数量级的提升。在工程实践中,全文搜索技术为文档管理、日志分析、内容检索等场景提供了关键支持。SQLite内置的FTS(Full-Text Search)模块正是这一技术的轻量级实现,它通过FTS3、FTS4到FTS5的版本演进,逐步增强了索引压缩、排名算法和查询语法等功能。其中, 阅读详情

相关推荐

基于SQLite FTS5与Simple分词器的中文拼音全文检索实现方案

全文检索是数据库和搜索引擎中的核心技术,它允许用户基于关键词快速定位文档内容。其核心原理是通过分词器将文本切分为可索引的词元,并建立倒排索引以实现高效匹配。在轻量级应用中,SQLite内置的FTS(全文检索)模块因其零外部依赖和易集成性而具有重要技术价值,尤其适用于桌面软件、移动应用和嵌入式场景。然而,官方分词器对中文这类无空格语言支持有限。本文介绍一种创新方案,通过**预处理**和**双轨索引**策略,在数据入库前将中文文本转换为包含原始词汇及对应拼音的代理字符串,从而利用FTS5的`simple`分词器

weixin_32121331的博客 276

基于SQLite FTS5与jieba的本地全文检索工具实现:从索引到排序

全文检索是搜索引擎的基石,它通过倒排索引将文档内容拆解为可查询的词语,从而把“找文件”升级为“搜内容”。在本地文件场景中,系统自带搜索往往依赖文件名且索引范围不可控,而Elasticsearch等重型方案对个人工具又过于臃肿。SQLite FTS5轻量且内置BM25相关性排序,配合jieba中文分词,能有效解决中文无空格切词的痛点。通过“扫描—内容提取—写入索引”的三阶段流水线,结合增量更新策略与时间衰减排序,可以在不上传云端的前提下,实现对txt、md、pdf、docx等格式的毫秒级本地全文搜索。该方案既

weixin_33146151的博客 168

SQLite+FTS5+BM25实现上下文检索的工程实践

上下文检索是大模型应用中保障对话连贯性与准确性的关键技术,其本质是将非结构化对话历史转化为可索引、可排序、可追溯的数据资产。核心原理在于通过全文检索替代简单字符串匹配,利用BM25算法综合词频、逆文档频率与文档长度进行相关性打分,显著优于TF-IDF和暴力LIKE查询。该技术具备轻量嵌入、零运维、ACID强一致等工程优势,特别适用于RuoYi-Vue-Pro低代码平台、Unreal Engine NPC对话系统、Dify企业知识库等需连续追问与精准回溯的场景。本文聚焦context-mode落地,详解SQL

weixin_30582943的博客 286

攻克中文搜索难关:GRDB.swift FTS5中文分词器实战指南

你是否还在为Swift应用中的中文全文搜索效果不佳而烦恼?用户输入"苹果"却搜不到"苹果树"?本文将带你从零开始配置GRDB.swift的中文分词器,彻底解决中文搜索难题。读完本文你将掌握: - 中文分词原理与GRDB.swift的适配方案 - 三种主流中文分词器的集成步骤 - 自定义分词规则实现业务特定需求 - 性能优化与分词效果测试方法 ## 为什么需要中文分词器? SQLite的FTS5...

gitblog_00538的博客 1076

基于MCP与SQLite FTS5构建轻量级Agent记忆系统

大语言模型的无状态特性使得Agent在跨会话场景中难以维持长期记忆,如何高效存储与检索成为工程落地的关键。MCP(Model Context Protocol)作为AI应用间的标准化通信协议,可将记忆能力封装为可复用的工具接口;而SQLite内置的FTS5全文搜索模块,则提供了轻量级的倒排索引与BM25相关度排序,无需额外部署向量数据库即可实现毫秒级关键词检索。结合Google OKF的关键词优化思路,对文本进行规范化与停用词过滤,能显著提升检索准确率。本方案适用于用户偏好记录、项目事实存储等关键词明确、可

weixin_30698527的博客 383

从零搭建百度新闻搜索引擎:爬虫采集、SQLite FTS5索引与Flask检索实战

网络爬虫与全文检索是构建垂直搜索引擎的两大核心技术。爬虫负责从动态网页中采集结构化数据,全文索引则通过倒排索引实现高效关键词匹配。在新闻监控场景中,基于requests与xpath的采集方案配合SQLite FTS5索引,可低成本实现百万级数据的快速检索。该技术方案适用于舆情监控、行业资讯聚合与个性化新闻推荐等应用。本文以百度新闻为例,完整演示从列表页抓取、正文清洗、FTS5索引构建到Flask检索接口的开发闭环,并给出中文分词与增量采集的工程实践建议。

weixin_31315567的博客 331

揭秘DevEco CLI本地文档搜索引擎:jieba中文分词+SQLite FTS5+BM25排序完全解析

DevEco CLI 是面向 HarmonyOS 应用开发者的命令行工具集,它内置了一个**本地文档搜索引擎**:把海量 HarmonyOS 官方文档打包下载后,用 jieba 中文分词处理文本、用 SQLite FTS5 建立全文索引、再用 BM25 算法排序结果,全程离线运行,无需联网请求任何搜索服务。这篇文章带你完整看懂它的四层架构:分词 → 切块入库 → 全文检索 → 相关性排序。 ##

gitblog_00447的博客 141

Vivado工程备份实战:两种方法快速迁移Block Design(附路径避坑指南)

本文详细介绍了Vivado工程中Block Design(BD)备份与迁移的两种核心方法:文件夹直接复制法与TCL脚本生成法。针对FPGA工程师在项目迁移或团队协作时常见的IP丢失、路径报错等问题,提供了从原理到实战的操作指南与路径避坑策略,确保设计可复现与高效协作。

pz890123的博客 1300

个人知识库检索:先用好SQLite FTS5关键词搜索,再决定要不要上RAG

在信息管理场景中,全文检索作为一种基础且高效的技术,长期被低估。它的核心原理是倒排索引与BM25排序算法,能够让系统在大量文档中快速定位含有关键词的原文,并按照相关性给出合理排序。与复杂的向量检索和生成式流程相比,关键词检索具有成本低、结果可解释、维护简单等优势,非常适合个人知识库这类以“找得到原文”为核心诉求的场景。以SQLite FTS5为例,它原生支持全文索引、BM25排序以及字段加权,配合中文分词即可构建一套轻量可靠的检索方案。当精确查找需求被满足后,我们才能客观评估:哪些情况仅靠关键词就足够,哪些

weixin_30431445的博客 122

已解决-Parallels Desktop 16 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络

我是月球挖掘机,相信不少打工人为了尝鲜已经更新了MacOS 11 Big Sur,当然,苹果每次的系统大更新,都会给我们软件的功能无法使用惊喜,这次的也不例外。 这个问题是我在更新macOS Big Sur之后,Parallels Desktop打开虚拟机后,提示: 报错信息 网络初始化失败:您的虚拟机将继续正常运作,但将无法连接网络 这是我的软件版本: 起初我以为是我的虚拟机坏了,结果重装了一遍虚拟机,没有任何用处。我开始在网上找方法,只能找到那个使用命令行打开软件的命令,除此之外没有了

月球挖掘机 5万+

ios生成海报使用dom-to-image中toPng报错isTrusted:true

主要是ios中safari浏览器解析错误,引起的报错,主要引起原因toPng会调用toSvg,toSvg直接将html标签内容通过svg中foreignObject标签直接包裹,然后转base64, 通过data:image/svg+xml;解决办法:二次生成(调用两次),判断ios or 安卓,生成第一次生成,不用参数,例如:scale: 3,在第二次生成再进行清晰度操作,避免多次生成,引起性能消耗。以上种种很多案例,使用canvase进行转换的,标签丢失,直接toPng版本的,兼容性问题。

weixin_44601570的博客 2105

从零实现智能速记本:Python+SQLite+FTS5全文检索实战

碎片化信息时代,快速记录与高效找回成为笔记工具的核心痛点。智能速记本通过自动化标签与全文检索,帮助用户告别手动分类。其底层原理依赖分词技术、倒排索引与轻量级数据库设计。SQLite 自带的 FTS5 扩展提供了高性能全文搜索能力,配合 Python 生态中的 FastAPI 与 jieba 分词,能快速搭建一个本地优先的智能笔记服务。这类方案适用于临时想法捕捉、会议记录、待办管理等高频场景,在个人知识管理工具链中扮演“收件箱”角色。本文围绕一个最小可运行项目,拆解数据模型、文本处理、搜索索引与接口实现,探索

weixin_33473110的博客 316

【Cadence】 ADS Dynamic Link使用教程

在Cadence617上使用ADS Dynamic Link

乾巽的博客 6069

笔记毫秒级搜索:深入理解 SQLite FTS5 分词器与倒排索引原理

十月八日的傍晚,天边泛起一层淡淡的群青色晚霞。我正坐在书桌前,测试本地个人手账系统的全局搜索框。输入“肉桂”,回车按下。不到 2 毫秒,整套系统从过去三年积攒的 420 篇随笔长文中,瞬间精准捞出了 18 篇包含肉桂烘焙配方、咖啡冲煮心得与秋日感悟的记录,甚至连哪一篇日记第几行第几个字出现了关键词,都被高亮标记(Highlight Snippet)得一清二楚。在笔记只有二三十篇时,还能勉强应付。

specter__的博客 254

三菱JET伺服限位、原点信号通过PLC刷新设置方法

RWw及RWr软元件的初始设定值,可通过 [Pr. PA01.0 控制模式选择] 及 [Pr. PN22.0 默认映射模式选择] 的值进行切换。JET伺服参数用于CC-Link IE现场网络Basic。循环通信的请求报文与响应报文的收发数据被换读为伺服放大器的对象数据 (RWwn、RWrn)。接下来看映射字2D05具体的内容: 也就是2D05操作字的第九位、第十位、第十一位。响应报文的设定值可进行变更。变更初始设定值时,应变更PDO映射。不同的模式,对应不同的刷新映射内容。GXWORKS3程序。

qq_51166033的博客 8047

Far planner代码系列(2)

graph_decoder系列(2) 承接上文 我们接着来看decoder_node.cpp的代码部分 void GraphDecoder::Init() { /* initialize subscriber and publisher */ //graph_sub_ 订阅节点/robot_vgraph 其类型是visibility_graph_msg/Graph的消息 graph_sub_ = nh.subscribe("/robot_vgrap...

博客 1533

不靠向量数据库:用SQLite FTS5和jieba实现AI长期记忆

在对话式AI应用中,长期记忆是决定体验连贯性的关键能力。多数开发者第一时间想到向量数据库,但部署成本、模型调用费用与运维复杂度往往超出中小项目承受范围。实际上,全文检索与分词技术同样能支撑可用的记忆召回:通过提取结构化记忆条目,利用SQLite FTS5建立倒排索引,配合BM25相关性排序和元数据过滤,以极低成本实现持久化存储与精准检索。这种方法适合内部工具、个人知识库以及启动阶段的原型验证,既能快速验证业务效果,又保留了向语义检索平滑升级的路径。从分词、建表到核心代码实现,本文给出了一套可本地运行的轻量方

weixin_31714129的博客 338

LLaMA Factory添加新模型template的实战解析

本文主要介绍了LLaMA Factory添加新模型template的实战解析,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 实战解析 2.1 检查代码 2.2 修改代码

herosunly的博客 19万+

让AI Agent拥有本地永久记忆:零费用且中文友好的解决方案

摘要:Agent Memory Lite——本地化AI Agent长期记忆解决方案 针对AI Agent普遍存在的"金鱼记忆"问题(如上下文丢失、跨会话遗忘),本文介绍了一个开源解决方案Agent Memory Lite。该系统通过以下核心特性实现高效可靠的长期记忆: 完全本地化 - 使用SQLite单文件存储,数据100%留存本地,无需云端API费用 中文优化 - 集成jieba分词与SQLite FTS5全文搜索,解决中文检索难题 灵活接入 - 支持Hermes插件深度集成(自动同步)和MCP协议标准接

July2954701的博客 638

把 MCP Server 直接装进 SAP ABAP:用 Unlimited Display Tools 打通 Agentic SDK 与 SAP ECC / S/4HANA 的最后一公里

摘要:AI与SAP集成的MCP解决方案 企业在AI集成中面临工具链复杂、数据对接繁琐的挑战。Model Context Protocol (MCP)通过标准化工具与数据暴露方式,将集成复杂度从N×M降至N+M。在SAP生态中,MCP Server for SAP直接部署于ABAP层,利用DDIC/CDS视图对接各类Agent SDK,避免中间件风险。 MCP核心包含三类对象: Tools:带元数据的可执行动作 Resources:结构化上下文数据 Prompts:可参数化提示模板 ABAP层实现MCP Se

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 679

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SQLite FTS5实现本地上下文检索的实战指南

本地上下文检索是一种面向离线优先、嵌入式及桌面应用的轻量级语义搜索技术,其核心原理是利用SQLite内置的FTS5全文搜索引擎,结合BM25排序算法与Unicode61分词器,实现毫秒级、低内存、零依赖的精准文本召回。相比Elasticsearch或向量数据库,它规避了JVM开销、服务部署和embedding预计算等工程负担,特别适合日志分析、知识库搜索、IDE插件等需在100MB以内数据规模下达成‘快、小、稳、可控’目标的场景。本文聚焦context-mode这一社区共识术语,深入解析FTS5建表、中文分

weixin_29303701的博客 122

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

本地知识库自动化与全文搜索实战:changbozhao2完整解析

在碎片化笔记爆炸的个人知识库场景中,全文搜索是定位信息的关键能力。传统Ctrl+F无法应对多格式文件、网页剪藏和代码片段,而借助文件监控、中文分词与SQLite FTS5索引,可以搭建一套自动化、可扩展的本地检索管道。本文以changbozhao2项目为例,演示如何通过watchdog实现目录实时监听,利用jieba和TextRank自动完成分词与关键词抽取,生成结构化标签,并用FastAPI暴露查询接口。整套方案覆盖采集、清洗、语义分析、存储检索全流程,让散落文件最终变成可即时搜索、支持BM25排序的本地

weixin_33483304的博客 252

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

给 AI Agent 加个本地大脑:SinoMem 用 SQLite+FTS5 做了什么

SinoMem 用 SQLite+FTS5 给 AI Agent 搭本地记忆层,核心是 jieba 分词与 FTS5 索引 token 对齐,解决中文检索「飞书」被拆成「飞」「书」的召回问题。文中给出建表、触发器、分词与 bm25 排序的可复制配置,并配 TaoToken 统一模型入口,记忆数据留在本地。详见 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_42376614的博客 7

基于SQLite FTS5构建轻量域名搜索引擎:50万条数据10美元搞定

在中小数据量场景下,全文检索并不一定需要引入Elasticsearch等重型中间件。SQLite自带的FTS5扩展结合Python标准库,即可实现高性能的文本索引与查询。本文从数据检索的基本原理出发,介绍如何利用SQLite FTS5、Python和FastAPI搭建一个可检索50万条域名的轻量搜索引擎。内容涵盖域名数据清洗规则、FTS5虚拟表设计、BM25相关性排序、反转域名与三元组索引优化,以及查询接口开发和Nginx部署。整个方案可在1核1GB内存的廉价云主机上运行,数据库文件仅几十MB,查询响应可达

weixin_34174322的博客 439

Keiko:自托管个人知识库,用Go、SQLite与FTS5实现高效全文检索

在信息爆炸的当下,个人知识管理工具的核心价值在于高效收集、清晰整理与精准检索。全文检索技术是解决信息找回难题的关键,尤其面对中文内容时,分词处理质量直接影响搜索效果。自托管方案则让用户完全掌控数据,摆脱平台锁定,保障隐私安全。SQLite作为轻量级嵌入式数据库,配合FTS5扩展模块,能在极低资源占用下提供毫秒级查询响应,非常适合个人服务器、NAS或VPS环境。结合标签分类与双向链接,可构建灵活的知识网络。本文以自托管个人知识库Keiko为例,展示了如何利用Go语言构建单二进制服务,通过Docker快速部署,

weixin_29698641的博客 332

SQLite FTS全文搜索实战:从倒排索引原理到中文分词优化

全文搜索是现代应用处理文本检索需求的核心技术,其底层通常基于倒排索引实现,通过建立词汇到文档的映射关系,避免低效的全表扫描,从而在海量数据中实现毫秒级查询。这项技术对于提升应用搜索体验、构建知识库和内容平台具有重要价值,尤其适用于嵌入式数据库、桌面应用和移动端等轻量级场景。SQLite内置的FTS(Full-Text Search)模块,正是将这一能力集成到轻量级数据库中的典范,它通过虚拟表机制提供开箱即用的全文检索功能。针对实际开发中常见的中文搜索痛点,需要结合外部分词库进行预处理,并利用FTS5版本增强

weixin_30615767的博客 398
上一篇: 一只离线鼠鼠,干翻了一堆在线格式转换网站
下一篇: 数据不出本机!本地全文检索+知识图谱,可以试试这个开源项目:KnowSeek
智_永无止境
博客等级 码龄10年 803粉丝 403原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值