- 博客(122)
- 收藏
- 关注
原创 Transformer核心组件功能对照表
摘要: Transformer模型通过模块化设计实现高效序列处理。输入/输出嵌入层将词语转化为向量,位置编码加入顺序信息。编码器通过多头注意力捕捉全局依赖,解码器使用掩码注意力实现自回归生成。编解码注意力层建立输入输出语义对齐,残差连接和层归一化优化训练稳定性。前馈网络增强特征表达能力,最终线性层和Softmax输出概率分布。各组件协同工作,解决了传统RNN的长程依赖问题,支持并行计算,成为NLP领域的基础架构。
2026-01-31 13:19:20
350
原创 网格搜索后准确率反而下降原因解释
摘要: 网格搜索后模型准确率下降可能源于:(1)参数范围不合理(如大学习率+少迭代易过拟合);(2)验证集划分随机性导致误判;(3)默认参数本身已较优;(4)单一评估指标(如准确率)掩盖真实性能;(5)网格搜索过拟合验证集。建议调整参数范围(如小学习率+多迭代)、采用交叉验证、增加参数维度或改用随机搜索。该现象说明调参需结合数据特性,盲目网格搜索可能适得其反。(149字)
2026-01-28 10:43:52
259
原创 第二个弱学习器的预测值由来解释说明
这是因为在平方损失下,均值能让该节点内的平方误差最小,是最优的输出值。CART回归树的叶节点输出,是该节点内所有样本目标值的。在上一轮构建第2个弱学习器时,我们找到了最优切分点。这就是表格里预测值列。
2026-01-28 10:29:03
89
原创 第二个弱学习器的目标值变成了残差-证明讲解
GBDT的核心在于通过迭代修正残差来提升模型精度。每一轮训练新的弱学习器时,目标值都是上一轮的残差(预测误差)。具体来说,第1轮拟合初始预测与真实值的残差,第2轮则拟合第1轮预测与残差之间的误差,以此类推。这种梯度下降式的迭代方式,让后续模型专注于修正前序模型的不足,通过逐步叠加弱学习器的预测结果逼近真实值。例如第2棵树会针对第1棵树的残差进行优化,使整体预测更准确。这种残差修正机制正是GBDT实现精准预测的关键所在。
2026-01-28 10:26:00
342
原创 GBDT 算法中构建第一个弱学习器(CART 回归树)-计算示例
GBDT算法通过构建CART回归树来逐步修正预测误差。首先计算初始预测值(目标值的均值7.31)和残差(真实值-预测值)。然后寻找最优切分点(6.5)将样本分为两组,分别计算两组残差均值(-1.07和1.60)作为修正值。该弱学习器通过调整初始预测值(对前6个样本减1.07,后4个样本加1.60)来减少误差,体现了GBDT通过迭代逐步优化预测的核心机制。
2026-01-28 10:20:56
405
原创 平方的损失函数近似于残差证明
平方损失函数的负梯度等于残差是梯度提升树(GBDT)的核心原理。对于单个样本$(x_i,y_i)$,平方损失$L=(y_i-f(x_i))^2$的偏导数为$-2(y_i-f(x_i))$,其负梯度即为残差$y_i-f(x_i)$(忽略常数因子)。这说明在使用平方损失时,GBDT与传统残差提升树等价,都通过拟合残差进行优化。而对于非平方损失函数,负梯度与残差不同,这正是GBDT能够泛化到其他损失函数的关键所在。
2026-01-28 10:02:57
732
原创 随机森林样本权重的计算-弱学习器
摘要:本文介绍了AdaBoost算法中样本权重更新的核心公式和计算步骤。公式中,$D_t(x)$表示样本权重,$a_t$为模型权重,通过指数规则调整预测正确/错误样本的权重(乘以$e^{-a_t}$或$e^{a_t}$),并用归一化因子$Z_t$保证权重总和为1。计算步骤包括初始等权重分配、计算$Z_t$和更新权重。举例展示了3个样本的权重更新过程:预测错误的样本权重增加,正确的减少,最终归一化。该机制使后续模型更关注错误样本,提升分类性能。
2026-01-27 22:38:56
707
原创 信息熵、条件熵、信息增益
摘要:信息熵(H(Y))衡量随机变量的不确定性,熵值越高不确定性越大。条件熵(H(Y|X))表示已知特征X后Y的剩余不确定性,是各子集熵的加权平均。信息增益(IG(Y,X))是熵与条件熵的差值,反映特征X对Y的区分能力,值越大区分效果越好。三者关系为:信息增益=信息熵-条件熵。但信息增益会偏向多取值特征,需用信息增益比修正。例如,"天气"特征的信息增益为0.247,表明能减少0.247比特的不确定性。
2026-01-27 19:30:00
596
原创 信息增益计算例子
可以把“目标值是A还是B”的不确定性,从1比特降低到0.541比特,减少了约0.46比特的不确定性。这个信息增益(≈0.46)表示:通过特征。组共4个样本:A(3), B(1)✅ 这和图里第一步的结果完全一致。组共2个样本:B(2)
2026-01-27 15:28:54
600
原创 Git常用命令和SSH传输大文件的解决方案
本文总结了Git常用命令和SSH传输大文件的解决方案。基础命令部分涵盖了初始化仓库、提交、分支管理、撤销操作等常用指令。SSH传输部分详细介绍了密钥生成、添加代理、GitHub公钥配置、连接测试等步骤,并提供了权限问题排查方法。对于历史提交中包含大文件的情况,文章推荐了四种解决方案:使用BFG工具清理历史、git filter-branch命令、重新初始化仓库以及检查历史大文件的方法。最后提供了最简单的干净分支创建方案,帮助用户高效管理Git仓库。
2026-01-24 16:51:54
677
原创 第10课:从零构建生产级AI Agent服务技术方案 - 学习笔记_10
本文系统讲解了构建生产级AI Agent服务的技术方案,包含完整架构设计、技术选型、实施步骤和评测优化全流程。核心架构包括ReAct Agent、记忆管理、工具调用、人工审查等模块;技术选型需考虑存储方案(PostgreSQL/Redis)和模型选择(1.5B-7B小模型);实施步骤涵盖需求分析、数据AI化、模型微调、系统开发与集成;评测需关注功能、性能、效果三大指标。文章强调生产级服务需具备高可用性、持续监控和优化能力,为开发者提供了一套完整的AI Agent服务构建方法论。(149字)
2026-01-13 23:34:35
475
原创 第9课:LangMem SDK高效实现长期记忆管理 - 学习笔记_9
📝 摘要:本课重点讲解LangMem SDK实现长期记忆管理的核心要点: 模型能力是基础 - 规划/观察/执行依赖模型自身能力而非Agent框架 垂直领域模型优势 - 通用模型效果有限,需通过微调训练专业模型 生产环境选择 - 推荐1.5B-7B小模型本地部署,兼顾性能与安全 AI应用边界 - 应聚焦增强现有系统而非完全重构,明确AI能做/不能做的范围 开发者能力 - 需掌握微调技术、数据AI化、系统集成等完整知识体系 关键结论:模型微调是AI应用落地的核心能力,需结合业务场景训练垂直模型,同时清晰界定A
2026-01-13 23:34:00
432
原创 第8课:LangGraph Memory管理机制与实现方案 - 学习笔记_8
本文介绍了LangGraph中的Memory管理机制与实现方案,重点包括:1)长期记忆的向量化存储和多种处理方案(提取、总结、图形化);2)生产级AI Agent服务的核心能力(ReAct Agent、记忆存储、工具调用等),特别强调Redis的高吞吐和TTL优势;3)多智能体系统的协作模式(单Agent、网络式、门面模式等);4)AI应用开发的Workflow和Agent两条路线;5)MCP Server在跨系统工具调用中的作用。文章总结了关键概念并提供了思考题,帮助理解生产级AI系统的构建要点。
2026-01-13 23:33:22
424
原创 第7课:管理长期记忆的关键架构决策 - 学习笔记_7
本文总结了管理长期记忆的关键架构决策,重点包括: thread_id必须动态生成(类似session_id),不能写死,确保每个会话独立 使用user_id作为长期记忆标识,实现跨会话记忆共享 通过store.put()存储和store.search()检索用户偏好 区分短期记忆(thread_id级别)和长期记忆(user_id级别) 合理设计存储时机和数据结构,实现个性化服务 核心目标是建立"让AI更懂你"的记忆系统,通过动态ID生成和分层存储机制,既保持会话独立性,又能共享长期记忆
2026-01-13 23:32:17
586
原创 第6课:如何管理短期记忆和长期记忆 - 学习笔记_6
本课讲解了如何管理短期记忆和长期记忆的实践方法。短期记忆通过Checkpointer机制实现,自动加载对话历史并放入上下文;长期记忆使用Store类存储用户偏好等跨会话信息。两种存储可选用PostgreSQL或Redis,Redis适合高并发场景并支持数据过期策略。关键区别在于:短期记忆基于thread_id存储当前会话数据,长期记忆基于user_id存储跨会话信息。通过语义检索和信息压缩可优化历史消息处理,实现"让AI更懂你"的智能对话体验。
2026-01-13 23:31:37
595
原创 第5课:短期记忆与长期记忆原理 - 学习笔记_5
课程摘要:短期与长期记忆原理 📌 核心概念: 短期记忆基于thread_id存储对话历史,自动加载上下文 长期记忆通过user_id存储跨会话数据,实现个性化服务 ⚙️ 关键技术: 消息修剪:按条数/Token量控制上下文长度 工具调用:自动执行预订等操作并记录结果 存储方案:PostgreSQL/Redis实现不同场景需求 🔍 关键区别: 短期记忆维护会话连贯性(如对话历史),长期记忆保存用户偏好(如酒店选择标准),两者通过不同ID标识隔离。 🛠️ 生产建议: 动态生成thread_id,高并发场景
2026-01-13 23:30:58
614
原创 第4课:为什么记忆能力如此重要 - 学习笔记_4
📝 课程摘要 本课深入讲解了大语言模型的记忆能力重要性及实现方式: 1️⃣ 记忆的必要性: 大模型本质是无状态的(stateless),无法记住历史对话 添加记忆能力可使AI更聪明、个性化,避免重复提问 2️⃣ 记忆类型对比: 短期记忆:类似RAM,仅当前会话有效 长期记忆:类似硬盘,跨会话持久保存 3️⃣ 技术实现: 通过LangGraph的Checkpoint机制实现 必须使用数据库持久化(PostgreSQL/Redis/MongoDB) 演示了线程级别记忆的加载机制 4️⃣ 生产建议: 推荐使用容
2026-01-13 23:30:22
794
原创 第3课:构建AI代理系统面临的挑战 - 学习笔记_3
AI代理系统长期记忆设计的四大关键决策 构建AI代理系统时,长期记忆架构是核心挑战,涉及四个关键决策: 记忆类型选择:根据应用场景选择语义记忆(如商品关系)、情景记忆(用户偏好)或过程记忆(操作流程) 存储方式:采用总结、向量化、提取或图形化等技术存储和更新记忆 检索机制:考虑检索速度、准确性和相关性,采用向量检索或混合策略 记忆衰减:通过修剪机制过滤无用信息,防止内存膨胀,提升系统性能 这些决策直接影响AI系统的效能和用户体验,需根据具体业务需求权衡设计。
2026-01-13 23:29:21
557
原创 第2课:深度剖析AI Agent核心模块 - 学习笔记_2
AI Agent核心模块学习摘要 AI Agent系统以大语言模型为核心,包含三大关键组件: 规划模块:负责意图识别和任务分解,包含子目标拆解和反思改进功能,能优化任务执行过程。 记忆模块: 短期记忆:存储当前对话上下文 长期记忆:跨会话保留信息(分语义/情景/过程记忆) 工具调用:突破语言模型静态知识的限制,获取实时数据。三模块协同工作:规划→记忆→工具调用→结果输出,构成智能体完整工作流。(148字)
2026-01-13 23:28:38
722
原创 第1课:AI Agent是什么 - 学习笔记_1
AI Agent学习笔记摘要 核心概念:AI Agent是利用大语言模型推理能力,自主规划、观察和执行以实现目标的智能系统。区别于固定流程的Workflow,Agent具备自主决策能力。 发展背景: 传统AI:小规模判别式模型 现代AI:通用大语言模型 最新趋势:带记忆功能的世界模型(如Gemini) 关键特性: 依赖大模型推理能力 具备规划、观察、执行三大核心功能 目标导向型系统 应用场景:适用于需要自主决策的自动化任务,将显著提升生产效率并推动市场变革。
2026-01-12 17:23:28
664
原创 宝塔搭建自己的网站_解析域名_多个网站
本文简要介绍了搭建云服务器的两个关键步骤:首先购买腾讯云服务器(新用户享免费1个月),选择CentOS镜像并安装宝塔面板;其次购买域名(推荐宝塔9.9元/年),将服务器IP解析到域名。文中提供了具体操作链接和安装命令,包括宝塔面板的一键安装脚本,并强调需要配置Docker等必要软件。通过图文展示了域名解析的操作界面,帮助用户完成服务器与域名的绑定。
2026-01-08 21:06:03
376
原创 百战商城搜索功能云开发改造总结_百战_4
本文总结了百战商城搜索功能云开发改造过程。通过将搜索功能从HTTP请求迁移到云开发,实现了热门搜索数据从云数据库获取,以及通过云函数实现商品模糊查询。改造内容包括数据库准备、云函数创建、前端调用优化等,解决了搜索结果为空、数据序列化等问题,并提供了性能优化建议。最终验证了热门搜索显示、关键词跳转、模糊查询等功能正常运作,实现了数据管理规范化、代码结构优化和开发效率提升。
2026-01-07 15:08:14
433
原创 百战商城商品数据云函数化改造总结_百战_3
本文总结了百战商城商品数据云函数化改造过程。核心目标是将商品数据从本地迁移到云开发数据库。实施步骤包括:准备商品数据并导入云数据库,创建分页查询云函数,改造前端调用方式为云函数请求,优化数据处理逻辑(合并数据、空数据提示、页码管理)。关键注意事项包括云函数部署、数据格式一致性等。改造后实现了分页加载效果,为后续功能扩展奠定了基础,如添加搜索、分类筛选等功能。
2026-01-07 14:17:13
273
原创 微信小程序云开发数据迁移 - 轮播图模块_百战_2
本文详细介绍了微信小程序轮播图模块从传统API迁移到云开发的完整流程。主要内容包括:1) 分析原有数据结构和渲染逻辑;2) 分步骤实现图片上传、数据库创建和前端代码改造;3) 对比新旧数据格式差异;4) 提供迁移注意事项和调试技巧;5) 列举常见问题解决方案。通过迁移,开发者可获得无需服务器、自动CDN加速等优势,并规划了商品列表等后续模块的迁移计划。文章为小程序开发者提供了云开发迁移的实用指导。
2026-01-07 13:38:48
487
原创 微信小程序云开发迁移项目_百战_1
本文详细介绍了将传统小程序项目迁移至微信云开发环境的完整流程。内容包括:创建云开发项目、复制原有代码、解决依赖问题、配置云环境等关键步骤,特别强调App.js配置合并和UI组件处理。文章对比了传统开发与云开发的优势,并列出后续数据迁移计划。最后总结了课程收获,包括环境搭建、代码迁移和依赖配置,为后续使用云数据库和云函数打下基础。全文约150字,涵盖迁移全过程的核心要点。
2026-01-07 11:50:11
1063
1
原创 小程序云函数全面总结笔记_5
本文全面总结了微信小程序云函数的使用方法,主要内容包括: 基础概念:云函数定义、特点及与本地函数的区别对比表 创建流程:从环境配置到生成目录结构的完整步骤 代码结构:核心模板和参数说明(event、context、cloud对象) 调用方式:小程序端调用方法(回调/Promise风格)和结果获取 参数处理:多种类型参数传递、接收和验证技巧 调试方法:本地调试、控制台输出和断点调试技巧 部署更新:三种部署方式及版本管理说明 环境配置:多环境初始化和管理方法 文章提供了丰富的代码示例和实用表格,涵盖了云函数开发
2026-01-07 10:43:23
1304
原创 小程序云数据库综合操作_4
小程序云数据库操作总结 本文总结了小程序云数据库的综合操作方法,包括项目结构组织、CRUD操作实现和用户体验优化技巧。 核心内容 项目结构: 全局初始化数据库对象,避免重复创建 使用常量存储常用文档ID CRUD操作: 查询:支持单条、多条和全部数据获取 添加:使用add方法并自动生成ID 删除:分离确认和执行逻辑,提供详细错误反馈 用户体验: 加载状态管理(showLoading/hideLoading) 操作反馈提示(Toast/Modal) 条件渲染优化数据展示 详细的错误码映射处理 最佳实践 将数据
2026-01-07 10:06:00
571
原创 小程序云数据库增加操作_3
小程序云数据库添加操作总结 核心方法:使用db.collection('集合名').add()添加数据,传入data对象包含各字段值。添加成功返回包含自动生成_id的对象。 实现流程: 按钮触发添加函数 调用add()方法提交数据 通过返回的errMsg判断成功状态 成功后重新调用getData()刷新列表 注意事项: 相同内容可重复添加(_id不同) 需确保字段名与集合结构一致 建议添加后显示Toast提示并重新加载数据 优化建议: 添加加载状态提示 错误处理显示友好提示 图片地址需为有效URL
2026-01-07 09:36:25
452
原创 小程序云数据库查询操作_2
本文总结了小程序云数据库的查询操作方法,主要包括数据导入导出和多种查询方式。数据导入导出可在云开发控制台操作,支持JSON和CSV格式。查询操作包含获取单条记录(通过ID)、条件查询(单条件和多条件)以及获取集合数据(需注意20条限制)。重点介绍了嵌套字段查询的两种写法,并提供了完整示例代码。文章还强调了查询限制和性能优化建议,包括使用limit控制返回条数、避免全表扫描等。最后总结了常见问题解决方案和核心知识点,帮助开发者高效使用云数据库查询功能。
2026-01-06 22:38:13
953
原创 小程序访问云数据库_1
这篇课程笔记总结了小程序访问云数据库的关键知识点:1)环境配置方法,包括初始化云开发环境;2)数据库访问核心步骤,从初始化到查询数据;3)多环境数据库访问技巧;4)常见问题与调试建议。笔记提供了清晰的代码示例和API速查表,特别强调了环境ID配置和权限设置的重要性,适合开发者快速掌握小程序与云数据库的交互方法。
2026-01-06 22:13:57
458
原创 神经网络基础知识及三种损失函数计算方法
本文系统介绍了神经网络中的关键概念和损失函数计算方法。主要内容包括:1)三种损失函数(最小二乘法、极大似然估计、交叉熵)的原理与应用;2)信息论基础概念(信息量、熵、KL散度)及其在模型比较中的作用;3)神经网络核心组件(隐藏层、激活函数、注意力机制)的工作原理;4)空间变换与维度处理的数学原理(线性变换、词嵌入、Word2Vec)。重点阐述了如何通过损失函数优化模型参数,以及不同神经网络结构(CNN、RNN、Transformer)的特征处理方式。文章通过数学公式和图示,深入浅出地解释了神经网络从基础理论
2026-01-05 09:49:19
1051
原创 Dvwa靶场搭建_错误汇总
本文介绍了网站安全基础知识和DVWA靶场搭建方法。主要内容包括: 网站安全概述:解释了为何网站成为主要攻击目标,并介绍了OWASP组织及其TOP 10安全报告 常见漏洞类型:详细列举了SQL注入、命令执行、文件上传等9种主要漏洞及其危害 DVWA靶场介绍:说明这个专门设计的漏洞练习平台的功能和价值 详细搭建步骤:提供从环境准备到最终配置的完整指南,包括PHPStudy安装、DVWA部署、数据库配置等关键环节 常见问题解决:针对数据库连接、CSRF令牌错误等问题提供解决方案 安全级别说明:解释Low到Impo
2025-12-31 19:19:25
1338
原创 网安基础_1_补充_网络安全渗透测试学习笔记
网络安全渗透测试学习摘要 Metasploit框架是开源渗透测试工具,包含Exploit、Payload等五大模块。通过永恒之蓝漏洞实战演示标准化攻击流程:搜索模块→配置参数→执行攻击→获取Meterpreter会话。后渗透阶段涵盖信息收集、文件操作、权限提升等关键命令,并介绍木马生成与免杀技巧。笔记强调实验室环境隔离操作,提供故障排查方案及学习路径规划,同时警示必须遵守法律规范,仅限授权测试使用。包含流程图解、命令速查表和环境配置清单,适合分阶段学习渗透测试技术。(149字)
2025-12-31 15:16:33
1426
原创 网安基础_2_Metasploit 生成远控木马
本文介绍了Metasploit框架中msfvenom工具的使用方法,用于生成针对不同操作系统的远控木马。主要内容包括:渗透测试中木马作为漏洞利用的替代方案;msfvenom命令结构解析;Windows、Linux等系统的载荷示例;木马生成与监听设置的具体操作步骤;以及安全注意事项和防御措施。强调该技术仅限授权测试使用,需遵守法律法规,并提供了基础防御建议。全文150字。
2025-12-31 15:05:35
499
原创 网安基础_1_Metasploit Framework (MSF)
本文系统总结了Metasploit框架(MSF)和永恒之蓝漏洞(MS17-010)的攻防技术。主要内容包括:MSF框架的模块化结构(Exploit、Payload等)与合法使用边界;利用永恒之蓝攻击Windows 7的标准化流程,涵盖环境准备、模块配置与执行;Meterpreter后渗透操作指南,包括信息收集、文件操作、监控截取等功能;msfvenom木马生成方法及常见问题排查。强调技术应仅用于授权测试,提供从入门到进阶的学习路径建议,旨在帮助安全人员掌握防御性安全测试能力。所有操作必须在隔离虚拟环境中进行
2025-12-31 14:15:40
1052
原创 github_upload,上传项目
摘要:本文介绍了Git常见操作指南,包括取消代理设置、分支重命名、文件提交、远程仓库连接等基础操作。同时提供了合并分支、SSH连接问题解决、下载其他分支等进阶操作的方法。文章还整理了多个常见问题的解决方案链接,如代理设置错误、SSH连接超时等,并给出了详细的命令行操作示例,帮助用户快速解决Git使用过程中遇到的各种问题。
2025-12-31 09:42:53
394
原创 OCR学习笔记,调用免费百度api
本文介绍了使用百度云OCR文字识别API的完整流程:1)在百度云控制台创建OCR应用并获取API密钥;2)查看API文档选择返回坐标的POST请求方式;3)通过Postman或在线调试获取access_token;4)提供Python示例代码实现实时摄像头文字识别,包含模糊匹配和坐标显示功能;5)提醒注意免费额度限制及付费标准。整个过程涵盖了从API申请到实际应用的关键步骤,适合快速实现OCR功能开发。
2025-12-31 09:38:36
638
2
原创 离线OCR笔记及代码
本文介绍了使用Python和Tesseract-OCR实现实时文字识别的完整流程。主要内容包括:1)下载安装Tesseract-OCR并配置环境变量;2)安装Python依赖库Pillow和pytesseract;3)安装中文语言包;4)提供完整的代码实现,包含图像预处理、文字识别、匹配特定关键词(如"微积分")并标注位置信息等功能。代码通过摄像头实时捕获画面,显示识别结果及置信度,并计算处理帧率。最终效果图展示了文字识别和标注的具体应用场景。
2025-12-31 09:31:09
819
原创 kail Linux文件操作与压缩解压命令总结
本文总结了Kali Linux中常用的文件操作和压缩解压命令。主要内容包括:文件创建(touch)、查看(cat)、写入(echo)、删除(rm);目录操作(mkdir/rmdir);多种压缩格式操作(bzip2/gzip/rar/tar等),详细说明了每种格式的压缩解压命令及参数含义。特别强调了不同压缩格式对应的命令差异,并提供了常用查看命令(ls/pwd/clear)。文章最后提醒用户谨慎使用rm -rf命令,避免误删重要文件。这些基础命令是Linux系统管理的关键技能,建议多加练习掌握。
2025-12-30 09:33:12
289
原创 OpenCV图像拼接实践笔记(第四部分):图像变换、平移与最终拼接
本文介绍了使用OpenCV实现图像拼接的完整流程,重点讲解了第四部分:图像变换、平移对齐与最终拼接。内容包括核心数学原理(齐次坐标与变换矩阵)、完整代码实现步骤(获取图像尺寸、变换角点、计算边界、创建平移矩阵、透视变换等),以及优化版本包含融合功能。通过详细的代码注释和数学公式,展示了如何将两幅图像精确对齐并拼接成全景图,解决了坐标转换、边界计算等关键技术问题。
2025-12-29 10:03:15
894
本文介绍了使用OpenCV实现图像拼接的核心步骤,重点讲解了图像变换与拼接的实现方法 主要内容包括:1) 完整的四步拼接流程;2) 基于单应性矩阵H的图像变换函数stitch-images()的设计
2025-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅