[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-settings":3,"tag-projects-rag":48,"footer-friends":113,"tag-posts-rag":126,"sidebar-tags":171,"sidebar-donations":312,"ad-sidebar_top":319,"ad-sidebar_mid":321,"ad-sidebar_bottom":323},{"alipayQr":4,"beianNumber":5,"commentsRequireApproval":6,"contactEmail":7,"copyrightNotice":5,"donationEnabled":6,"emailCodeExpireMinutes":8,"enableRegistration":6,"followBilibiliUrl":9,"followGithubUrl":10,"followQqGroup":11,"followQqQr":12,"followWechatQr":13,"footerHtml":5,"gaTrackingId":5,"heroEnabled":6,"heroSearchPlaceholder":5,"heroSubtitle":14,"heroTitle":15,"homeCategoryTabsCount":16,"homePageSize":17,"homeProjectsCount":18,"homeSpecialsCount":19,"homeToolsCount":18,"icpNumber":20,"inviteDefaultQuota":21,"inviteRequired":22,"logoUrl":23,"mailPasswordChangedBody":24,"mailPasswordChangedSubject":25,"mailRegisterCodeBody":26,"mailRegisterCodeSubject":27,"mailResetCodeBody":28,"mailResetCodeSubject":29,"mailWelcomeBody":30,"mailWelcomeSubject":31,"miniappAppid":32,"miniappEnabled":6,"profileAvatar":33,"profileBio":34,"profileName":35,"profileWechatQr":36,"promoteEnabled":6,"promoteNotice":5,"promoteWechat":5,"requireEmailVerify":6,"sectionArticleEnabled":6,"sectionArticleTitle":37,"sectionProjectsEnabled":6,"sectionProjectsTitle":38,"sectionSpecialEnabled":6,"sectionSpecialTitle":39,"sectionToolsEnabled":6,"sectionToolsTitle":40,"seoAuthor":41,"seoBaiduTongjiId":5,"seoBaiduVerify":5,"seoCanonicalEnabled":6,"seoDescription":42,"seoGoogleVerify":5,"seoKeywords":5,"seoOgImage":23,"seoRobots":5,"seoSitemapEnabled":6,"seoTitle":43,"seoTitleTemplate":44,"showHeroStats":6,"showSidebarDonations":6,"showSidebarFeedback":6,"showSidebarFollowUs":6,"showSidebarProfile":6,"showSidebarTagCloud":6,"siteDescription":42,"siteFavicon":45,"siteName":41,"siteUrl":46,"wechatQr":47},"\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790628031878385634.png","","true","enghin110@qq.com","10","https:\u002F\u002Fspace.bilibili.com\u002F470616503","https:\u002F\u002Fgithub.com\u002Fitwuge","606262780","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627647190853446.png","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627638856258082.jpg","精选 AI 教程、开源项目与实用工具，助你从入门到精通","探索人工智能的无限可能","6","7","4","3","赣ICP备2023014108号-2","5","false","\u002Fimages\u002Flogo\u002Flogo.png","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">🔒 账户密码修改成功\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">\n    你好，\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>，你的账户密码已于刚刚修改成功。\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f8fafc;border-radius:10px;margin:8px 0 4px;\">\n    \u003Ctr>\u003Ctd style=\"padding:14px 18px;font-size:13px;line-height:2;color:#475569;\">\n      账户用户名：\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>\u003Cbr>\n      账户邮箱：\u003Cstrong style=\"color:#1e293b;\">{email}\u003C\u002Fstrong>\u003Cbr>\n      修改时间：\u003Cstrong style=\"color:#1e293b;\">{change_time}\u003C\u002Fstrong>\n    \u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:16px 0 0;font-size:13px;line-height:1.8;color:#64748b;\">\n    如果这是你本人的操作，请忽略本邮件；\u003Cstrong style=\"color:#dc2626;\">如果不是你本人操作，说明账户密码可能已泄露\u003C\u002Fstrong>，\n    请立即使用「忘记密码」功能重置密码，并通过页脚联系邮箱告知站长。\n  \u003C\u002Fp>\n  \n  \u003Cp style=\"text-align:center;margin:28px 0 8px;\">\n    \u003Ca href=\"{site_url}\" style=\"display:inline-block;padding:12px 36px;background:#3b82f6;color:#ffffff;font-size:15px;font-weight:bold;text-decoration:none;border-radius:8px;\">进入{site_name}\u003C\u002Fa>\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】你的账户密码已修改","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">注册邮箱验证码\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">欢迎注册 \u003Cstrong>{site_name}\u003C\u002Fstrong>！感谢你的加入，请使用下方验证码完成邮箱验证：\u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:22px 0;\">\n        \u003Cspan style=\"font-size:32px;font-weight:bold;letter-spacing:10px;color:#3b82f6;font-family:Consolas,Menlo,monospace;\">{code}\u003C\u002Fspan>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:12px 0 0;font-size:13px;color:#64748b;\">\n    验证码 \u003Cstrong style=\"color:#dc2626;\">{expire} 分钟\u003C\u002Fstrong> 内有效，为保障账户安全，请勿向他人泄露。\n  \u003C\u002Fp>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:20px 0 0;font-size:12px;line-height:1.8;color:#94a3b8;\">\n    如果这不是你本人的操作，请忽略本邮件，你的账户安全不会受到影响。\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】注册验证码","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 16px;font-size:20px;color:#1e293b;\">找回密码验证码\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">你正在找回账户密码，请使用下方验证码完成重置操作：\u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:22px 0;\">\n        \u003Cspan style=\"font-size:32px;font-weight:bold;letter-spacing:10px;color:#3b82f6;font-family:Consolas,Menlo,monospace;\">{code}\u003C\u002Fspan>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:12px 0 0;font-size:13px;color:#64748b;\">\n    验证码 \u003Cstrong style=\"color:#dc2626;\">{expire} 分钟\u003C\u002Fstrong> 内有效，为保障账户安全，请勿向他人泄露。\n  \u003C\u002Fp>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:20px 0 0;font-size:12px;line-height:1.8;color:#94a3b8;\">\n    如果这不是你本人的操作，请忽略本邮件，你的账户安全不会受到影响。\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】找回密码验证码","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n\u003Chead>\u003Cmeta charset=\"UTF-8\">\u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\u003C\u002Fhead>\n\u003Cbody style=\"margin:0;padding:24px 0;background:#f1f5f9;font-family:'Microsoft YaHei','PingFang SC',Helvetica,Arial,sans-serif;\">\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f1f5f9;\">\n    \u003Ctr>\n      \u003Ctd align=\"center\" style=\"padding:0 16px;\">\n        \u003Ctable role=\"presentation\" width=\"600\" cellpadding=\"0\" cellspacing=\"0\" style=\"max-width:600px;width:100%;\">\n          \u003C!-- 品牌头部 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#3b82f6;border-radius:12px 12px 0 0;padding:20px 28px;\">\n              \u003Cspan style=\"font-size:18px;font-weight:bold;color:#ffffff;\">\u003Ca href=\"{site_url}\" style=\"color:#ffffff;text-decoration:none;\">{site_name}\u003C\u002Fa>\u003C\u002Fspan>\n              \u003Cspan style=\"float:right;font-size:12px;color:#dbeafe;line-height:26px;\">{site_description}\u003C\u002Fspan>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 正文卡片 -->\n          \u003Ctr>\n            \u003Ctd style=\"background:#ffffff;padding:32px 28px;border-radius:0 0 12px 12px;box-shadow:0 2px 8px rgba(15,23,42,0.06);\">\n              \n  \u003Ch2 style=\"margin:0 0 4px;font-size:20px;color:#1e293b;\">🎉 欢迎加入 {site_name}！\u003Cspan style=\"display:inline-block;margin-left:8px;padding:2px 8px;background:#dcfce7;color:#15803d;font-size:12px;border-radius:10px;vertical-align:middle;\">邮箱已验证\u003C\u002Fspan>\u003C\u002Fh2>\n  \u003Cp style=\"margin:0 0 16px;font-size:14px;line-height:1.8;color:#475569;\">\n    你好，\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>，你的账户已注册成功。\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"background:#f8fafc;border-radius:10px;margin:8px 0 4px;\">\n    \u003Ctr>\u003Ctd style=\"padding:14px 18px;font-size:13px;line-height:2;color:#475569;\">\n      账户用户名：\u003Cstrong style=\"color:#1e293b;\">{username}\u003C\u002Fstrong>\u003Cbr>\n      注册邮箱：\u003Cstrong style=\"color:#1e293b;\">{email}\u003C\u002Fstrong>\u003Cbr>\n      注册奖励：\u003Cstrong style=\"color:#dc2626;\">+{register_points} 积分\u003C\u002Fstrong>已发放\n    \u003C\u002Ftd>\u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Chr style=\"border:none;border-top:1px solid #e2e8f0;margin:24px 0;\">\n  \n  \u003Cp style=\"margin:0 0 12px;font-size:14px;line-height:1.8;color:#475569;\">\n    这里是 \u003Cstrong style=\"color:#1e293b;\">{site_name}\u003C\u002Fstrong>，{site_description}\n  \u003C\u002Fp>\n  \u003Ctable role=\"presentation\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin:8px 0 4px;\">\n    \u003Ctr>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#eff6ff;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">📚\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#1e40af;margin-top:4px;\">精选教程\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">从入门到实战\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"33%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#ecfdf5;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🚀\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#065f46;margin-top:4px;\">开源项目\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">精选可部署方案\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n      \u003Ctd width=\"34%\" valign=\"top\" style=\"padding:6px;\">\n        \u003Cdiv style=\"background:#fff7ed;border-radius:8px;padding:14px 10px;text-align:center;\">\n          \u003Cdiv style=\"font-size:15px;\">🧰\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:13px;font-weight:bold;color:#9a3412;margin-top:4px;\">在线工具\u003C\u002Fdiv>\n          \u003Cdiv style=\"font-size:12px;color:#64748b;margin-top:2px;\">即开即用提效\u003C\u002Fdiv>\n        \u003C\u002Fdiv>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n  \u003Cp style=\"margin:16px 0 0;font-size:14px;line-height:1.8;color:#475569;\">登录后你可以：\u003C\u002Fp>\n  \u003Cul style=\"margin:8px 0 0;padding-left:22px;font-size:14px;line-height:2;color:#475569;\">\n    \u003Cli>浏览、收藏优质内容与实用工具\u003C\u002Fli>\n    \u003Cli>投稿教程与项目，审核通过后获得积分奖励\u003C\u002Fli>\n    \u003Cli>参与评论、打分，与其他用户交流\u003C\u002Fli>\n    \u003Cli>通过签到、投稿、互动持续累积积分与等级\u003C\u002Fli>\n  \u003C\u002Ful>\n  \n  \u003Cp style=\"text-align:center;margin:28px 0 8px;\">\n    \u003Ca href=\"{site_url}\" style=\"display:inline-block;padding:12px 36px;background:#3b82f6;color:#ffffff;font-size:15px;font-weight:bold;text-decoration:none;border-radius:8px;\">进入{site_name}\u003C\u002Fa>\n  \u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n          \u003C!-- 页脚 -->\n          \u003Ctr>\n            \u003Ctd align=\"center\" style=\"padding:20px 16px 0;\">\n              \n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">联系邮箱：\u003Ca href=\"mailto:{contact_email}\" style=\"color:#64748b;text-decoration:none;\">{contact_email}\u003C\u002Fa>\u003C\u002Fp>\n              \u003Cp style=\"margin:6px 0 0;font-size:12px;color:#94a3b8;\">此邮件由系统自动发送，请勿直接回复 · © {year} {site_name}\u003C\u002Fp>\n            \u003C\u002Ftd>\n          \u003C\u002Ftr>\n        \u003C\u002Ftable>\n      \u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftable>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>","【{site_name}】欢迎加入{site_name}，账户注册成功","7111479@qq.com","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790627623420492239.jpg","全栈开发者，专注 AI 应用与效率工具","武哥","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790629453503799753.png","热门爆款","精选项目","精选专题","精选工具","AI导航工具站","精选优质 AI 教程、AI 工具与开源项目，助力开发者快速上手人工智能","AI导航工具站 - AI 教程 · AI 项目 · AI 工具","%s - AI导航工具站","\u002Fimages\u002Flogo\u002Ffavicon.ico","https:\u002F\u002Fwuge.fun","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790628026196296604.png",{"items":49,"pagination":105,"tag":108},[50,66,79,92],{"id":51,"name":52,"slug":53,"description":54,"detailContent":55,"coverImage":56,"repoUrl":57,"homepageUrl":5,"starCount":58,"forkCount":58,"likeCount":58,"tagList":59,"status":63,"isFeatured":63,"createdAt":64,"updatedAt":64,"isLiked":65,"isFavored":65,"userRating":58},20,"RAGFlow","ragflow","InfiniFlow 开源的深度文档理解 RAG 引擎，复杂表格 \u002F 扫描件解析效果突出。","## RAGFlow\n\nInfiniFlow 开源的深度文档理解 RAG 引擎，复杂表格 \u002F 扫描件解析效果突出。\n\n**开源地址**：[https:\u002F\u002Fgithub.com\u002Finfiniflow\u002Fragflow](https:\u002F\u002Fgithub.com\u002Finfiniflow\u002Fragflow)\n","\u002Fimages\u002Fcovers\u002Fprojects\u002Fragflow.png","https:\u002F\u002Fgithub.com\u002Finfiniflow\u002Fragflow",0,[60,61,62],"RAG","文档解析","国产开源",1,"2026-09-29T04:25:30.163690754+08:00",false,{"id":67,"name":68,"slug":69,"description":70,"detailContent":71,"coverImage":72,"repoUrl":73,"homepageUrl":74,"starCount":58,"forkCount":58,"likeCount":58,"tagList":75,"status":63,"isFeatured":63,"createdAt":78,"updatedAt":78,"isLiked":65,"isFavored":65,"userRating":58},11,"LangChain","langchain","最流行的 LLM 应用开发框架，链式调用、工具调用、记忆与 RAG 组件齐备。","## LangChain\n\n最流行的 LLM 应用开发框架，链式调用、工具调用、记忆与 RAG 组件齐备。\n\n**开源地址**：[https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain)\n","\u002Fimages\u002Fcovers\u002Fprojects\u002Flangchain.png","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain","https:\u002F\u002Fpython.langchain.com",[76,60,77],"Agent","应用框架","2026-09-29T04:25:30.100125843+08:00",{"id":80,"name":81,"slug":82,"description":83,"detailContent":84,"coverImage":85,"repoUrl":86,"homepageUrl":87,"starCount":58,"forkCount":58,"likeCount":58,"tagList":88,"status":63,"isFeatured":58,"createdAt":91,"updatedAt":91,"isLiked":65,"isFavored":65,"userRating":58},19,"Haystack","haystack","deepset 开源的生产级搜索问答与 RAG 框架，管道式架构、企业落地案例多。","## Haystack\n\ndeepset 开源的生产级搜索问答与 RAG 框架，管道式架构、企业落地案例多。\n\n**开源地址**：[https:\u002F\u002Fgithub.com\u002Fdeepset-ai\u002Fhaystack](https:\u002F\u002Fgithub.com\u002Fdeepset-ai\u002Fhaystack)\n","\u002Fimages\u002Fcovers\u002Fprojects\u002Fhaystack.png","https:\u002F\u002Fgithub.com\u002Fdeepset-ai\u002Fhaystack","https:\u002F\u002Fhaystack.deepset.ai",[60,89,90],"问答系统","生产级","2026-09-29T04:25:30.155817404+08:00",{"id":93,"name":94,"slug":95,"description":96,"detailContent":97,"coverImage":98,"repoUrl":99,"homepageUrl":100,"starCount":58,"forkCount":58,"likeCount":58,"tagList":101,"status":63,"isFeatured":58,"createdAt":104,"updatedAt":104,"isLiked":65,"isFavored":65,"userRating":58},13,"LlamaIndex","llamaindex","面向私有数据的 LLM 数据框架，文档加载、索引、检索增强生成能力完善。","## LlamaIndex\n\n面向私有数据的 LLM 数据框架，文档加载、索引、检索增强生成能力完善。\n\n**开源地址**：[https:\u002F\u002Fgithub.com\u002Frun-llama\u002Fllama_index](https:\u002F\u002Fgithub.com\u002Frun-llama\u002Fllama_index)\n","\u002Fimages\u002Fcovers\u002Fprojects\u002Fllamaindex.png","https:\u002F\u002Fgithub.com\u002Frun-llama\u002Fllama_index","https:\u002F\u002Fwww.llamaindex.ai",[60,102,103],"数据框架","知识库","2026-09-29T04:25:30.11518823+08:00",{"page":63,"pageSize":106,"total":107,"totalPages":63},12,4,{"id":109,"name":60,"slug":110,"color":111,"postCount":58,"createdAt":112},25,"rag","#e2e8f0","2026-09-29T04:25:30.487589815+08:00",[114,121],{"id":115,"name":116,"url":117,"logo":118,"description":116,"sortOrder":58,"status":63,"createdAt":119,"updatedAt":120},2,"哔哩哔哩","https:\u002F\u002Fwww.bilibili.com\u002F","\\images\\social\\bilibili.png","0001-01-01T00:00:00Z","2026-09-29T04:44:41.867019475+08:00",{"id":63,"name":122,"url":123,"logo":124,"description":122,"sortOrder":58,"status":63,"createdAt":125,"updatedAt":125},"GitHub","https:\u002F\u002Fgithub.com","\\images\\social\\github.png","2026-09-29T04:32:39.65740234+08:00",{"items":127,"pagination":170},[128],{"id":129,"title":130,"slug":131,"summary":132,"content":133,"coverImage":134,"categoryId":107,"authorId":63,"viewCount":58,"likeCount":58,"commentCount":58,"isTop":58,"isRecommend":58,"status":63,"rejectReason":5,"publishedAt":135,"createdAt":136,"updatedAt":137,"category":138,"author":143,"tags":151},6,"RAG 实战：从零搭建一个本地知识库问答系统","rag-knowledge-base","大模型不知道你的私有文档怎么办？用 RAG 技术把本地文档喂给 AI。从原理到代码，手把手用 Python + LangChain 搭建一个可运行的知识库问答系统。","## 为什么需要 RAG\n\n大模型有两个天然的短板：\n\n1. **知识截止**：训练数据有截止日期，之后的事它不知道\n2. **不懂私有信息**：你公司的内部文档、你的产品手册，它从没见过\n\n把全部文档塞进提示词？不行——一份几百页的手册远超上下文窗口限制，而且费用爆炸。\n\n**RAG（检索增强生成）** 的思路很朴素：**先从文档库里找出相关的几段，再让 AI 基于这几段内容回答**。相当于开卷考试——AI 不需要背下整本书，只要会查资料就行。\n\n## RAG 工作原理拆解\n\n整个系统分两个阶段：\n\n**入库阶段（离线做一次）**：\n\n```text\n文档 → 切分成小块 → 每块算一个向量（Embedding）→ 存进向量数据库\n```\n\n**问答阶段（每次提问）**：\n\n```text\n用户问题 → 算问题的向量 → 在向量库里找最相似的几个文档块\n→ 把「问题 + 找到的文档块」一起发给大模型 → 生成回答\n```\n\n核心概念只有三个：\n\n- **Embedding（向量嵌入）**：把一段文字变成一串数字（如 1536 维的向量），语义相近的文字向量距离也近。「猫」和「猫咪」的向量很近，「猫」和「汽车」很远\n- **向量数据库**：专门存向量并支持「找最相似」查询的数据库，轻量级的有 Chroma、FAISS\n- **检索召回**：根据问题找出最相关的 top-k 个文档块（一般取 3-5 个）\n\n## 环境准备\n\n```bash\npip install langchain langchain-community langchain-text-splitters \\\n    chromadb sentence-transformers openai\n```\n\n说明：\n\n- `sentence-transformers`：本地跑 Embedding，免费且不用调 API\n- `chromadb`：轻量向量数据库，数据存本地文件，零配置\n- `openai`：调用大模型（可换成 DeepSeek 等兼容接口，下文以 DeepSeek 为例，便宜）\n\n## 完整代码（约 60 行，可直接运行）\n\n### 第一步：文档入库\n\n```python\n# build_kb.py —— 把 docs\u002F 目录下的所有 txt\u002Fmd 文档存入向量库\nfrom pathlib import Path\n\nfrom langchain_community.vectorstores import Chroma\nfrom langchain_community.embeddings import HuggingFaceEmbeddings\nfrom langchain_text_splitters import RecursiveCharacterTextSplitter\n\n# 1. 读取本地文档\ndocs_dir = Path(\"docs\")  # 把你的 txt\u002Fmd 文件放这个目录\ntexts, metadatas = [], []\nfor f in docs_dir.rglob(\"*\"):\n    if f.suffix in (\".txt\", \".md\"):\n        texts.append(f.read_text(encoding=\"utf-8\"))\n        metadatas.append({\"source\": f.name})\n\n# 2. 切分文档：每块约 500 字，块间重叠 50 字防止切断语义\nsplitter = RecursiveCharacterTextSplitter(\n    chunk_size=500, chunk_overlap=50, separators=[\"\\n\\n\", \"\\n\", \"。\", \"！\", \"？\"]\n)\nall_chunks = []\nfor text, meta in zip(texts, metadatas):\n    for chunk in splitter.split_text(text):\n        all_chunks.append((chunk, meta))\n\n# 3. 加载本地 Embedding 模型（首次运行自动下载，约 400MB）\nembeddings = HuggingFaceEmbeddings(model_name=\"BAAI\u002Fbge-small-zh-v1.5\")\n\n# 4. 写入向量数据库（持久化到 .\u002Fchroma_db 目录）\ndb = Chroma(\n    collection_name=\"my_kb\",\n    embedding_function=embeddings,\n    persist_directory=\".\u002Fchroma_db\",\n)\ndb.add_texts(\n    texts=[c for c, _ in all_chunks],\n    metadatas=[m for _, m in all_chunks],\n)\nprint(f\"入库完成，共 {len(all_chunks)} 个文档块\")\n```\n\n运行一次即可，之后问答不需要重新入库。\n\n### 第二步：问答\n\n```python\n# ask.py —— 基于知识库回答问题\nfrom openai import OpenAI\nfrom langchain_community.vectorstores import Chroma\nfrom langchain_community.embeddings import HuggingFaceEmbeddings\n\n# 加载已有的向量库\nembeddings = HuggingFaceEmbeddings(model_name=\"BAAI\u002Fbge-small-zh-v1.5\")\ndb = Chroma(\n    collection_name=\"my_kb\",\n    embedding_function=embeddings,\n    persist_directory=\".\u002Fchroma_db\",\n)\n\n# DeepSeek 的兼容 OpenAI 接口（换成你自己的 key）\nclient = OpenAI(\n    api_key=\"sk-你的key\",\n    base_url=\"https:\u002F\u002Fapi.deepseek.com\",\n)\n\ndef ask(question: str) -> str:\n    # 1. 检索：找最相关的 4 个文档块\n    docs = db.similarity_search(question, k=4)\n    context = \"\\n\\n\".join(\n        f\"【来源：{d.metadata.get('source', '未知')}】\\n{d.page_content}\"\n        for d in docs\n    )\n\n    # 2. 组装提示词：把检索结果作为参考资料\n    prompt = f\"\"\"请仅根据下面的参考资料回答问题。\n如果资料里没有相关信息，直接回答「知识库中没有相关内容」，不要编造。\n\n【参考资料】\n{context}\n\n【问题】{question}\n\n回答时请注明信息来源文件名。\"\"\"\n\n    # 3. 调用大模型生成回答\n    resp = client.chat.completions.create(\n        model=\"deepseek-chat\",\n        messages=[{\"role\": \"user\", \"content\": prompt}],\n        temperature=0.1,  # 低温减少发挥，让答案更贴资料\n    )\n    return resp.choices[0].message.content\n\nif __name__ == \"__main__\":\n    while True:\n        q = input(\"\\n请输入问题（q 退出）：\").strip()\n        if q.lower() == \"q\":\n            break\n        print(\"\\n\" + ask(q))\n```\n\n## 实测效果\n\n把本站的 40 篇 AI 工具介绍文档放进 `docs\u002F` 目录入库后：\n\n- 问「有哪些免费的 AI 绘画工具？」→ 回答准确列出免费工具并注明来源文件\n- 问「Midjourney 多少钱一个月？」→ 从文档里找到价格信息作答\n- 问「怎么申请高新技术企业认定？」→ 如实回答「知识库中没有相关内容」——这正是我们要的效果，**宁可说不知道，也不许瞎编**\n\n## 调优方向（效果不满意时看这里）\n\n**检索不准** → 调切分策略：`chunk_size` 太小会切断语义，太大会稀释相关性，500 字左右通常合适；也可以换更强的 Embedding 模型（如 `bge-large-zh-v1.5`）。\n\n**回答啰嗦\u002F跑题** → 调提示词：强调「仅根据参考资料」；把 `temperature` 降到 0。\n\n**召回的内容不全** → 把 `k=4` 调大到 6-8，注意别超过模型上下文。\n\n**想支持 PDF\u002FWord** → 用 `langchain-community` 的文档加载器：\n\n```python\nfrom langchain_community.document_loaders import PyPDFLoader, Docx2txtLoader\n\ndocs = PyPDFLoader(\"手册.pdf\").load()        # 加载 PDF\ndocs = Docx2txtLoader(\"文档.docx\").load()    # 加载 Word\n```\n\n## 生产环境还需要什么\n\n上面的 60 行代码是「能跑的 demo」，真正上线还要考虑：\n\n- **权限隔离**：不同用户只能检索自己有权限的文档（按 metadata 过滤）\n- **增量更新**：文档变更后只更新对应块，不要全量重建\n- **混合检索**：向量检索 + 关键词检索（BM25）融合，兼顾语义和精确匹配\n- **评估体系**：准备一批标准问答对，量化每次调优的效果\n\n但对个人知识库、小团队内部问答场景，本文这套方案已经够用。把代码跑起来，喂给它你的第一批文档吧。\n","\u002Fstatic\u002Fuploads\u002Fimages\u002F2026\u002F09\u002F29\u002F1790635573941737564.png","2026-09-29T06:46:36.332298489+08:00","2026-09-29T06:46:13.941901418+08:00","2026-09-29T06:46:36.332355916+08:00",{"id":107,"name":139,"slug":140,"description":5,"icon":141,"sortOrder":107,"postCount":58,"parentId":58,"createdAt":142,"updatedAt":142},"机器学习","machine-learning","i-ri-bar-chart-box-line","2026-09-29T04:25:29.69293374+08:00",{"id":63,"username":144,"email":32,"phone":5,"nickname":145,"avatarUrl":146,"bio":5,"role":63,"status":63,"points":58,"lastLoginAt":147,"loginCount":148,"createdAt":149,"updatedAt":150},"wuge","站长","\u002Fstatic\u002Fuploads\u002Favatars\u002F2026\u002F09\u002F29\u002F1790630804049538805.jpg","2026-09-29T05:22:12.192245111+08:00",3,"2026-09-29T04:25:29.170055083+08:00","2026-09-29T05:26:46.960829427+08:00",[152,156,157,160,165],{"id":129,"name":153,"slug":154,"color":111,"postCount":58,"createdAt":155},"Python","python","2026-09-29T04:25:30.347030306+08:00",{"id":109,"name":60,"slug":110,"color":111,"postCount":58,"createdAt":112},{"id":158,"name":68,"slug":69,"color":111,"postCount":58,"createdAt":159},101,"2026-09-29T06:46:13.916898801+08:00",{"id":161,"name":162,"slug":163,"color":111,"postCount":58,"createdAt":164},102,"向量数据库","xiang-liang-shu-ju-ku","2026-09-29T06:46:13.925847319+08:00",{"id":166,"name":167,"slug":168,"color":111,"postCount":58,"createdAt":169},103,"Embedding","embedding","2026-09-29T06:46:13.931530378+08:00",{"page":63,"pageSize":106,"total":63,"totalPages":63},[172,177,182,187,192,197,202,207,212,217,222,226,231,236,241,246,251,256,261,266,271,272,277,282,287,292,296,301,306,311],{"id":173,"name":174,"slug":175,"color":111,"postCount":58,"createdAt":176},150,"AI","ai","2026-09-29T06:55:38.743861502+08:00",{"id":178,"name":179,"slug":180,"color":111,"postCount":58,"createdAt":181},53,"AI 绘画","ai-hui-hua","2026-09-29T04:25:30.70107663+08:00",{"id":183,"name":184,"slug":185,"color":111,"postCount":58,"createdAt":186},94,"AIGC","aigc","2026-09-29T06:46:13.817043541+08:00",{"id":188,"name":189,"slug":190,"color":111,"postCount":58,"createdAt":191},81,"AI入门","ai-ru-men","2026-09-29T06:46:13.646321088+08:00",{"id":193,"name":194,"slug":195,"color":111,"postCount":58,"createdAt":196},113,"AI写作","ai-xie-zuo","2026-09-29T06:46:14.098797917+08:00",{"id":198,"name":199,"slug":200,"color":111,"postCount":58,"createdAt":201},95,"AI工具","ai-gong-ju","2026-09-29T06:46:13.849105815+08:00",{"id":203,"name":204,"slug":205,"color":111,"postCount":58,"createdAt":206},87,"AI技巧","ai-ji-qiao","2026-09-29T06:46:13.717351439+08:00",{"id":208,"name":209,"slug":210,"color":111,"postCount":58,"createdAt":211},92,"AI绘画","ai-hui-hua-2","2026-09-29T06:46:13.800506851+08:00",{"id":213,"name":214,"slug":215,"color":111,"postCount":58,"createdAt":216},88,"AI编程","ai-bian-cheng","2026-09-29T06:46:13.748934007+08:00",{"id":218,"name":219,"slug":220,"color":111,"postCount":58,"createdAt":221},104,"API","api","2026-09-29T06:46:13.964167454+08:00",{"id":223,"name":76,"slug":224,"color":111,"postCount":58,"createdAt":225},24,"agent","2026-09-29T04:25:30.481917452+08:00",{"id":227,"name":228,"slug":229,"color":111,"postCount":58,"createdAt":230},15,"Apache-2.0","apache-2-0","2026-09-29T04:25:30.413130076+08:00",{"id":232,"name":233,"slug":234,"color":111,"postCount":58,"createdAt":235},124,"BeautifulSoup","beautifulsoup","2026-09-29T06:55:38.372320794+08:00",{"id":237,"name":238,"slug":239,"color":111,"postCount":58,"createdAt":240},71,"C++","c","2026-09-29T04:25:30.832723566+08:00",{"id":242,"name":243,"slug":244,"color":111,"postCount":58,"createdAt":245},9,"C\u002FC++","c-c","2026-09-29T04:25:30.367438818+08:00",{"id":247,"name":248,"slug":249,"color":111,"postCount":58,"createdAt":250},8,"CPU 推理","cpu-tui-li","2026-09-29T04:25:30.360161464+08:00",{"id":252,"name":253,"slug":254,"color":111,"postCount":58,"createdAt":255},82,"ChatGPT","chatgpt","2026-09-29T06:46:13.65246271+08:00",{"id":257,"name":258,"slug":259,"color":111,"postCount":58,"createdAt":260},43,"ChatGPT 界面","chatgpt-jie-mian","2026-09-29T04:25:30.631791206+08:00",{"id":262,"name":263,"slug":264,"color":111,"postCount":58,"createdAt":265},109,"Coze","coze","2026-09-29T06:46:14.04772698+08:00",{"id":267,"name":268,"slug":269,"color":111,"postCount":58,"createdAt":270},89,"DeepSeek","deepseek","2026-09-29T06:46:13.756746391+08:00",{"id":166,"name":167,"slug":168,"color":111,"postCount":58,"createdAt":169},{"id":273,"name":274,"slug":275,"color":111,"postCount":58,"createdAt":276},139,"Excel","excel","2026-09-29T06:55:38.596869557+08:00",{"id":278,"name":279,"slug":280,"color":111,"postCount":58,"createdAt":281},132,"FastAPI","fastapi","2026-09-29T06:55:38.496902061+08:00",{"id":283,"name":284,"slug":285,"color":111,"postCount":58,"createdAt":286},107,"Fine-tuning","fine-tuning","2026-09-29T06:46:14.010861283+08:00",{"id":288,"name":289,"slug":290,"color":111,"postCount":58,"createdAt":291},97,"Gamma","gamma","2026-09-29T06:46:13.863615311+08:00",{"id":148,"name":293,"slug":294,"color":111,"postCount":58,"createdAt":295},"Go","go","2026-09-29T04:25:30.324360969+08:00",{"id":297,"name":298,"slug":299,"color":111,"postCount":58,"createdAt":300},98,"Kimi","kimi","2026-09-29T06:46:13.871065157+08:00",{"id":302,"name":303,"slug":304,"color":111,"postCount":58,"createdAt":305},7,"LLM","llm","2026-09-29T04:25:30.353458642+08:00",{"id":307,"name":308,"slug":309,"color":111,"postCount":58,"createdAt":310},31,"LLMOps","llmops","2026-09-29T04:25:30.534990482+08:00",{"id":158,"name":68,"slug":69,"color":111,"postCount":58,"createdAt":159},[313],{"id":63,"userId":314,"donorName":35,"amount":315,"message":316,"paymentMethod":317,"isAnonymous":58,"status":63,"createdAt":318},null,128,"加油","wechat","2026-09-29T04:45:44+08:00",{"materials":320},[],{"materials":322},[],{"materials":324},[]]