这可能是 KnowForge 到目前为止,功能跨度最大的一次更新。
如果说前面的版本主要在解决:
如何更好地创作、组织、阅读和管理知识
那么这一次,我们开始进一步回答几个更大的问题:
知识服务如何商业化?
AI 如何真正进入知识创作与阅读流程?
作者如何通过内容获得收益?
不同用户如何拥有不同的资源、功能与 AI 使用额度?
围绕这些问题,本次更新带来了:
权益、会员、支付、退款、付费内容、AI 服务、书籍问答、语义搜索、章节导读、整本 AI 翻译、AI 写作助手、发布审核、S3 对象存储、Markdown 目录导入 等一整套新能力。
KnowForge 正在从一个知识内容平台,逐渐走向一个完整的:
知识创作、知识服务与知识商业化平台。
权益体系:统一管理用户能够使用什么
首先加入的是一套全新的:
Entitlements / 权益系统。
权益并不只是为会员服务。
它是一套更加底层、通用的用户能力控制机制。
目前已经支持按照用户控制:
-
可创建书籍数量
-
单本书最大协作者人数
-
单文件上传大小
-
是否允许单页网页采集
-
是否允许整站采集
-
整站采集最大页面数量
用户超过对应限制时,服务端会直接拒绝请求并返回 403。
基础权益默认保持原有行为
升级之后不会突然限制已有用户。
系统设置新增:
权益
配置页面,用于设置全站默认基础值。
默认情况下仍然保持升级前的行为:
-
书籍数量不限
-
协作者数量不限
-
上传大小沿用原配置
-
内容采集沿用原配置
只有管理员主动调整后,新限制才会生效。
管理员账号本身不受这些限制影响。
成长等级现在可以真正解锁“特权”
原来的 Growth 系统已经拥有:
XP → 等级 → 成就 → 排行榜
这一次,等级开始真正和产品能力连接起来。
每个成长等级都可以配置:
等级特权。
用户会累计获得:
当前等级以及所有低于当前等级的已启用权益。
例如:
Level 1:
-
最多创建 3 本书
Level 3:
-
最大文件上传 100 MB
Level 5:
-
开启整站采集
那么 Level 5 用户可以同时拥有这些能力。
「我的成长」新增「我的权益」
用户现在可以直接看到:
自己当前到底拥有哪些权益。
新的「我的权益」卡片会展示:
-
当前生效值
-
权益来源
-
成长等级带来的提升
-
会员带来的提升
-
本月计量类权益使用情况
权益来源由不同插件自行登记。
KnowForge Core 只负责提供统一机制。
这也为之后扩展更多会员、企业版或者其他商业方案保留了空间。
会员系统正式上线
新增独立的:
Membership / 会员插件
默认关闭。
管理员可以创建多个会员方案。
每个方案都可以配置:
-
方案名称
-
多语言说明
-
权益
-
多档购买时长
-
实际价格
-
可选划线价
例如可以设计:
月度会员 / 年度会员 / 专业版 / 创作者版
等不同模式。
会员权益优先于成长等级
用户同一时间持有一个会员方案。
会员有效期间:
会员方案权益优先于成长等级。
如果会员方案没有配置某一项权益,则继续回退到全站基础值。
续费时:
有效期自动向后顺延。
如果用户在会员尚未到期时更换其他方案:
新方案从当前时间重新计算有效期。
完整的会员管理
管理员可以:
-
开通会员
-
续期
-
更换方案
-
修改到期时间
-
取消会员
-
查看会员列表
-
查看会员流水
-
设置价格货币
-
配置到期提醒
用户则可以在:
我的会员
中查看:
-
当前会员
-
当前方案
-
有效期
-
会员记录
并在:
-
开通成功
-
即将到期
-
已到期
时收到对应通知。
支付系统上线
这次还新增了独立的:
Payment / 支付插件
默认关闭。
首批支持:
-
线下转账
-
支付宝电脑网站支付
-
支付宝手机网站支付
-
微信支付 APIv3 Native 扫码
-
Stripe Checkout
KnowForge 已经具备完整的在线购买闭环。
会员可以在线购买了
会员方案中的不同价格档现在可以直接显示:
购买 / 续期
用户进入结算页面后,可以选择支付方式。
订单页面根据渠道展示:
-
支付二维码
-
第三方收银台
-
银行转账说明
并自动刷新支付状态。
支付成功以后:
系统自动履约并开通会员。
随后发送对应通知。
支付和会员完全解耦
这是本次架构设计中非常重要的一点。
Payment 插件:
并不知道什么叫会员。
它只负责出售:
Product / 商品。
Membership 插件负责:
-
注册会员商品
-
定义商品
-
接收支付完成事件
-
执行会员履约
因此未来:
书籍、课程、会员、增值服务甚至其他插件
都可以复用同一套支付能力。
完整的退款体系
退款不是简单把订单状态改成“已退款”。
KnowForge 现在实现了一套比较完整的退款流程。
默认退款申请期为:
支付后 7 天
管理员可以调整,也可以完全关闭用户自助退款。
用户可以提交退款申请。
管理员可以:
-
审核通过
-
部分退款
-
决定是否撤销商品
-
驳回
-
直接发起退款
支持:
-
支付宝原路退款
-
微信支付原路退款
-
Stripe 原路退款
-
线下退款
退款过程考虑了支付幂等
退款单号会作为支付渠道的:
幂等键。
即使出现:
-
网络中断
-
回调延迟
-
请求重复
-
支付渠道结果未知
也不会简单重复退款。
结果无法确定时,会主动查询支付渠道确认状态,必要时标记为人工核实。
并发退款同样不会突破订单原始支付金额。
退款会同步撤销对应权益
退款成功以后,不只是退款金额发生变化。
相关商品权益同样会被处理。
例如会员:
按照比例扣回剩余会员天数。
如果是付费内容:
-
按比例扣回作者收益
-
必要时重新锁定内容
同时修复了一个重要边界问题:
全额退款以后,即使旧的支付成功通知再次到达,也不会重新执行商品履约。
付费内容正式上线
新增:
Paid Content / 付费内容插件
默认关闭。
作者可以直接在书籍设置中开启:
付费设置。
支持:
-
整本书定价
-
单独章节定价
-
免费试读章节
-
免费试读比例
-
指定章节免费
-
单章节独立价格
真正的内容付费墙
没有购买内容的用户访问付费章节时:
只会看到允许展示的试读内容。
其余内容进入:
付费墙。
目录中也会显示锁定状态。
书籍详情页则会显示:
价格 + 购买全书
入口。
门禁不仅作用于阅读器
付费内容限制同时覆盖:
-
阅读正文
-
整本导出
-
搜索摘要
未购买的内容不会通过其他入口被绕过。
用户购买成功之后,可以在:
我的购买
中查看已经解锁的内容。
作者收益体系
付费内容进一步加入:
作者收益。
平台可以配置抽成比例。
用户购买内容后,相应收益进入作者账户。
作者可以在:
我的收益
中查看完整流水,并提交提现申请。
管理员线下完成打款后可以确认提现。
如果拒绝提现:
资金重新返回作者可用余额。
等级、会员和付费内容开始联动
新增三项权益:
-
内容访问等级
-
付费内容折扣
-
全部付费内容免费
这些权益都可以由:
Growth Level
或者:
Membership Plan
授予。
书籍还可以设置:
访问等级 ≥ N 时免费阅读。
这样就可以构建很多不同的运营模式。
例如:
普通用户付费购买
高等级用户享受 8 折
VIP 会员全部免费
Growth、Membership、Payment 和 Paid Content 开始真正连接成一个完整体系。
书籍「更多信息」
书籍设置新增:
更多信息
用于展示更加完整的项目与出版信息。
支持:
-
GitHub
-
GitLab
-
Gitee
-
官方网站
-
原始文档
-
文档地址
-
在线演示
-
联系邮箱
-
原作者
-
许可证
-
版本
-
ISBN
-
自定义属性
这些信息可以自由排序。
书籍详情页会在侧栏展示,并且链接可以直接点击。
相关信息在:
-
导出
-
导入
-
复制书籍
时都会被完整保留。
Markdown 导入能力大幅增强
Issue #87 带来了新的 Markdown 导入能力。
现在「导入书籍」正式支持:
Markdown。
可以:
-
一次上传多个 Markdown 文件
-
上传一个 Markdown 目录 ZIP
-
直接生成一本完整书籍
目录结构会自动转化成:
章节层级。
README 或 index 文件则作为对应目录本身的正文。
所有文件按照名称进行自然排序。
Markdown 内图片自动处理
如果 Markdown 中存在:
相对路径图片
KnowForge 会自动找到对应文件,把图片上传到当前配置的存储,然后改写 Markdown 中的图片地址。
不需要手动重新上传每一张图片。
Markdown 文件之间的链接也会重写
如果 Markdown A 中引用:
../guide/install.md
而这个文件同样存在导入包中,
KnowForge 会把它转换为:
对应章节的 Reader URL。
从而保留整个 Markdown 项目原有的内部引用关系。
S3 兼容对象存储
存储系统新增:
S3 Compatible Object Storage
驱动。
支持 Signature V4,因此可以用于包括:
-
AWS S3
-
阿里云 OSS
-
腾讯云 COS
-
MinIO
-
Cloudflare R2
等兼容服务。
支持配置:
-
Endpoint
-
Bucket
-
对外访问地址 / CDN
-
Object Key Prefix
-
Path Style
Secret Key 采用:
只写不回显。
外链图片一键本地化
书籍设置 → 清理中新增:
外链图片本地化。
KnowForge 会自动分析章节中的外部图片地址:
下载图片 → 保存到当前存储 → 改写正文链接。
同时加入:
-
SSRF 防护
-
文件大小限制
因为正文发生变化,因此每次本地化操作都会正常生成:
章节版本记录。
发布审核
新增:
Publishing Review / 发布审核插件
默认关闭。
管理员可以维护:
敏感词词典。
支持:
-
批量添加
-
分类
-
启用 / 停用
-
试审
在章节发布或者书籍公开之前,系统自动进行检查。
不只是简单字符串匹配
审查会忽略:
-
大小写差异
-
全角 / 半角差异
并且能够识别在敏感词中故意插入:
-
空格
-
符号
等规避方式。
命中以后不会直接发布
如果没有命中:
内容直接发布,并记录到:
自动通过
列表,管理员仍然可以后续抽查。
如果命中:
章节保持:
草稿
书籍保持:
私有
并显示:
-
命中的字段
-
行号
-
列号
-
上下文
同时通知作者和管理员。
管理员复审通过后:
自动完成发布。
如果驳回:
作者会收到具体命中位置与审核意见。
用户可以在:
我的审核
查看相关记录。
AI 服务成为 KnowForge 基础设施
这次还加入了非常重要的:
AI 服务
配置。
管理员可以统一配置站点使用的大模型。
支持 OpenAI Compatible 与 Anthropic
OpenAI Compatible 接口可以连接包括:
-
OpenAI
-
DeepSeek
-
通义千问
-
Kimi
-
Ollama
-
其他 OpenAI Compatible 服务
并支持:
Tool Calling。
同时原生支持:
Anthropic API。
还可以单独配置:
OpenAI Compatible Embedding Model
用于向量嵌入。
API Key 等敏感配置仍然遵循:
只写,不读取明文。
后台支持直接测试连接。
所有插件统一通过 Core 调用 AI
插件不会直接读取:
AI Provider Key。
所有 AI 调用必须通过 KnowForge Core 提供的:
通用 AI 接口。
这样 AI Provider、计量、额度控制和安全逻辑就不会散落在不同插件中。
每一次 AI 调用都会计量
每次模型调用都会记录:
-
用户
-
功能
-
模型
-
Input Tokens
-
Output Tokens
-
总耗时
-
调用结果
如果模型服务没有返回 Tokens:
KnowForge 会根据文本进行估算。
管理员还可以配置:
Token 单价
从而估算每一次调用产生的费用。
AI 用量管理
后台新增:
AI 用量
可以查看:
-
每日趋势
-
功能分布
-
模型分布
-
用量最高的用户
-
调用明细
-
估算费用
新增权益:
每月 AI 用量
单位为 Tokens。
默认:
不限。
管理员可以通过成长等级或者会员方案给不同用户分配额度。
额度使用完以后:
当月暂停 AI 功能。
翻译也统一纳入计量
写作台与多语言内容中的翻译现在也进入统一用量系统。
OpenAI / Claude:
按照 Tokens 记录。
Google Translate:
按照字符数量计费和统计。
新增权益:
每月翻译字数。
「我的权益」会直接展示:
本月已经用了多少 / 总额度是多少。
我的 AI 用量
用户新增:
我的 AI 用量
页面。
可以查看:
-
本月 Tokens
-
Token 配额
-
本月翻译字数
-
翻译额度
-
每日用量
-
按功能分布
-
全部调用记录
调用记录按照:
调用链
组织。
一次用户操作内部如果执行了多个模型请求,可以展开查看其中每一步:
-
使用模型
-
Tokens
-
耗时
-
执行结果
用户还可以导出自己的调用记录。
AI 用量预警
这次没有简单粗暴地给 AI 设置全局限流。
新增的是:
用量预警。
支持三类阈值:
-
全站当日估算费用
-
单个用户当日 Tokens
-
单条调用链 Tokens
超过阈值:
通知所有管理员。
后台 AI 用量页面也会列出对应预警。
可以一键进入:
-
对应用户
-
对应调用链
查看完整明细。
同一对象只提醒一次,避免通知轰炸。
AI 调用不再设置整体超时
之前部分 AI 调用存在 60 秒整体超时。
现在:
所有模型调用取消整体超时。
包括:
-
AI 功能
-
翻译
-
连通性测试
只保留:
连接超时。
对于长回答、深度问答、整本翻译等任务,这一点非常重要。
书籍问答正式上线
新增:
Book Q&A / 书籍问答插件
默认关闭。
阅读页面右侧新增:
问答 Drawer。
读者可以直接针对当前书籍向 AI 提问。
回答只依据当前书籍
AI 不应该凭自己的通用知识随便回答。
书籍问答会基于:
当前书籍内容进行检索。
回答会标注内容出处。
点击对应引用角标:
直接定位到相关章节与小节。
用户还可以选中正文中的一段文字:
直接「问 AI」。
BM25 + Vector 混合检索
书籍问答采用:
关键词检索 + 向量检索
的混合方式。
关键词部分采用:
BM25
并支持中文。
如果管理员配置了 Embedding Model:
系统自动开启向量检索。
章节内容发生变化之后:
相关向量索引自动更新。
深度模式
书籍问答新增:
Deep Mode / 深度模式。
普通问答可能只执行一次检索。
深度模式下 AI 可以:
-
搜索内容
-
查看目录
-
阅读相关章节
-
继续搜索
-
调用工具
-
阅读多个小节
直到模型认为已经获得足够信息后再回答。
深度模式不限制固定轮数。
相同 Tool Call 不会重复执行。
AI 回答全部流式输出
回答文字使用:
Streaming
生成。
后台模型输出通过:
SSE
实时发送给读者。
用户不需要等待整个回答结束以后才能看到内容。
中途重新打开页面:
也可以继续接上已经生成的部分。
OpenAI Compatible 和 Anthropic 均支持这一流程。
模型最终的准确 Token 用量会从流结束信息中记录。
完整 AI 调用链
每一次书籍问答都可以查看完整调用链,包括:
-
上下文
-
Query Embedding
-
检索命中
-
每一次模型调用
-
模型
-
Tokens
-
耗时
-
请求的 Tool
-
Tool 执行
-
返回的小节
生成过程中,这些步骤也会通过 SSE 实时推送。
这对于:
调试 RAG、优化 Prompt、排查高 Token 消耗
都会非常重要。
社区问答
书籍详情新增:
问答 Tab。
除了 AI 问答之外,读者还可以发起:
公开社区问题。
作者和其他读者都可以回答。
提问者或者作者可以:
采纳答案。
问题随后标记为:
已解决。
提问、回答与采纳都会产生对应站内通知。
问答也进入内容治理体系
社区问题和回答在公开之前,可以经过:
发布审核。
如果命中敏感词:
进入待审核。
管理员通过以后:
才真正公开,并补发相关通知。
社区内容还支持:
-
举报
-
下架
发布审核插件新增:
审查用户发布的其他内容
开关。
不同插件可以通过统一的扩展点登记自己的用户内容类型。
审核系统本身不需要知道:
“这个内容到底来自问答插件还是其他插件”。
问答额度也是权益
新增:
-
每日 AI 提问次数
-
每日深度模式提问次数
都可以作为权益配置。
甚至可以设置:
0 次
从而实现:
会员专享 AI 问答。
同时仍然受到:
每月 AI Tokens
总额度限制。
付费内容门禁也会参与检索。
没有购买的章节:
不会偷偷成为 AI 回答的数据来源。
全站语义搜索
书籍问答设置新增:
全站语义搜索与相关推荐。
默认关闭,需要 Embedding Model。
开启以后:
KnowForge 会为公开书籍建立向量索引。
章节发布或者修改后:
自动更新向量。
旧内容也可以一键补齐索引。
搜索真正支持“按意思搜索”
原来的关键词搜索继续保留。
现在在关键词结果之后,还可以额外展示:
语义相关。
即使搜索词和正文没有完全相同的关键词,只要表达的是相近意思,也可能找到相关章节。
语义搜索单独加载:
不会拖慢原来的关键词搜索结果。
推荐系统开始理解内容
书籍详情页:
你可能也喜欢
现在会优先根据:
内容相似度
推荐其他书籍。
同一本作品的其他:
-
语言
-
版本
不会重复出现在推荐中。
如果没有足够的语义数据:
继续回退到原来的:
标签推荐。
阅读页正文底部还新增:
相关阅读
推荐内容相近的其他章节。
章节导读
新增:
Chapter Guide / 章节导读插件
默认关闭。
AI 可以自动为每一章生成:
-
阅读前导读
-
本章要点
显示在阅读页正文顶部,并可以折叠。
同时还可以为整本书生成:
全书概览。
展示在书籍详情页。
导读可以自动维护
书籍设置新增:
章节导读
管理页面。
可以看到每一章当前状态:
-
未生成
-
已生成
-
内容已修改
-
已编辑
-
生成失败
可以:
-
一键生成未生成章节
-
更新内容已修改章节
-
单章重新生成
AI 生成后的导读和概览:
都可以人工编辑。
人工编辑过的内容不会被后台自动覆盖。
发布以后自动更新导读
管理员还可以开启:
发布与修改后自动生成。
章节发布后:
立即生成导读。
已发布章节修改以后:
大约 1.5 分钟后重新生成。
连续保存会自动合并:
不会每保存一次就调用一次模型。
如果正文实际没有变化:
继续复用原结果,不会浪费 Tokens。
整本 AI 翻译
书籍设置新增:
AI 翻译。
它不再只是翻译当前的一段文字。
而是可以:
翻译整本书。
保留完整目录结构
选择目标语言以后:
AI 首先翻译:
目录结构。
然后按照原书章节层级:
自动创建完整的新译本。
之后逐章翻译正文。
新书会自动进入与原书相同的:
Translation Group。
读者最终可以直接在 Reader 中切换语言。
AI 翻译不会直接发布
所有机器译稿默认:
草稿。
作者仍然需要在 Writer 中进行审核,然后决定是否发布。
每一章保存翻译版本,可以:
回退历史译稿。
支持术语表
不同技术项目经常存在大量专有名词。
整本 AI 翻译新增:
Glossary / 术语表。
可以针对不同目标语言保存统一翻译方式。
还可以给整本书配置:
Translation Instructions / 翻译要求。
例如要求:
-
保持正式技术文档风格
-
特定产品名不翻译
-
API 名称保持英文
代码块会:
原样保留
并且:
不计入翻译字数。
翻译支持暂停与断点继续
翻译过程中可以看到:
当前章节译文实时逐字生成。
任务支持:
-
暂停
-
继续
-
单章失败
-
单章重试
某一章失败:
不会导致整本书翻译失败。
任务完成以后发送站内通知。
原书变更以后只翻译变化部分
原始书籍新增或者修改章节以后:
可以执行:
同步更新。
KnowForge 只会重新翻译:
发生变化的章节。
不会重新消耗整本书的 Token 和翻译字数。
AI 写作助手
新增:
AI Writing Assistant / AI 写作助手插件
默认关闭。
Writer 中可以通过:
-
工具栏
-
/斜杠命令
打开右侧 AI 助手。
支持多种写作操作
可以针对选中文字执行:
-
续写
-
润色
-
改写
-
扩写
-
精简
也可以针对整个章节:
-
生成大纲
-
生成摘要
还支持完全自定义要求。
例如:
语气正式一些
改成技术文档风格
给出更多代码示例
AI 写作同样使用流式生成
写作助手后台生成内容后:
通过 SSE:
逐字显示。
不轮询。
不设置整体超时。
可以随时:
停止生成。
生成完成以后,会显示和原文的对比。
可以:
-
替换原文
-
插入到原文下方
-
插入到当前光标位置
即使生成期间用户继续编辑正文:
系统也会根据原始文本重新定位插入位置。
AI 写作记录
新增:
记录
页面。
可以查看当前书籍过去生成的所有结果。
历史结果可以:
-
再次插入
-
复制
-
删除
每一条结果都会显示:
模型 Token 消耗。
AI 写作助手同样是一项权益。
默认:
每月 100 次。
管理员可以通过:
-
等级
-
会员
提高额度,或者设置为:
0
从而做成会员专享能力。
安全与基础设施继续加强
除了大型功能,本次还完成了一些非常重要的底层修复。
SSE 不再把登录 Token 放进 URL
过去事件流可能需要在 URL 中携带认证信息。
现在:
-
站内通知
-
AI 问答进度
-
插件安装日志
统一改为使用:
60 秒有效的短时凭证。
登录 Token 不再进入 URL。
因此也不会意外出现在:
-
Nginx 日志
-
代理日志
-
Access Log
短时凭证也不能被当作普通 API Token 使用。
连接被拒绝以后,前端会自动获取新凭证并重新连接。
审计日志全面国际化
审计日志中的:
-
操作
-
资源类型
-
变更字段
-
系统对象
以及异步任务类型:
全部支持多语言。
筛选条件不再前端硬编码,而是根据服务端实际存在的值生成。
并且加入自动测试:
新增词汇必须同时拥有中英文文案。
MySQL 兼容性修复
修复 MySQL Strict Mode 下两个比较重要的问题:
-
成就评估的
last_evaluated_at -
登录锁定的
locked_until
此前写入零时间可能直接报错。
尤其是:
MySQL 环境下登录锁定此前实际上可能无法正确生效。
现在已经修复。
一些体验细节
另外还包括:
-
创建章节时直接发布,现在也会正常通知关注者
-
创建即发布同样会给作者增加成长经验
-
修复 AI 用量每日柱状图宽度为 0 的问题
-
用户 AI 用量页面增加起止日期
-
「我的书籍」中已完成和已归档书籍不再显示「继续写作」
-
对应操作改为更加合理的「查看书籍」
KnowForge 正在进入新的阶段
这一版本最大的变化,并不只是新增了多少页面。
真正重要的是:
KnowForge 原来彼此独立的功能,开始形成完整体系。
权益连接:
Growth + Membership
支付连接:
Membership + Paid Content
AI 服务连接:
Q&A + Semantic Search + Chapter Guide + Translation + Writing Assistant
内容治理连接:
Publish Review + Community Q&A + User Content
而统一的:
Entitlements、Payment、AI Metering、Extension Points
则成为这些功能共同的基础设施。
从知识库,到知识服务平台
现在的 KnowForge 已经逐渐覆盖:
采集 → 导入 → 创作 → AI 辅助 → 审核 → 发布 → 阅读 → 搜索 → 问答 → 翻译 → 交易 → 收益 → 成长 → 会员
一条更加完整的知识生命周期。
它可以继续是一套:
个人知识库。
也可以成为:
团队文档平台。
或者:
开源项目文档站。
再进一步,它也可以成为:
在线出版平台、付费知识平台、AI 知识助手,甚至完整的知识社区。
这也是 KnowForge 接下来继续探索的方向。
KnowForge
Forge Your Knowledge.
锻造属于你的知识。