37 归档分页
370 留言互动
4 核心专题

通意千应如何“读懂“你的文件?一文拆解多模态上传全链路

通意千应在 Spring Boot + Vue.js 架构下实现了完整的多模态附件上传链路。前端提供文件选择、类型/大小/数量校验及图片预览;后端通过统一的上传 API 完成用户鉴权、批量限制、文件存储路径生成(UUID + 日期分层)并调用 FileParseService 对 PDF、Word、Excel、PPT、TXT、图片等七类文件进行文本提取。提取结果与元数据一起写入 MyBatis 管理的 chat_file 表,并同步上传至七牛云 OSS,实现 CDN 加速和双路径访问。系统采用分层结构、预解析策略、事务一致性和多策略解析模式,确保上传安全、高效且支持 AI 多模态交互。

通意千应语音播放(TTS)技术方案

通意千应 TTS 方案面向 AI 对话、智能客服等实时流式语音交互,采用“异步分段合成 + 流式预加载 + 语义级文本分割”三大核心策略。通过首段优先合成、后段后台预加载,实现首段即播、无感延迟;基于标点层级的三级智能分句(句末 > 逗号 > 强制截断),保证语义完整且避免生硬断句;采用本地 Caffeine 与 Redis 组合缓存,防止重复合成与资源浪费。系统架构采用 Vue3 前端配合 HTML5/Web Audio 音频引擎,后端 Spring Boot + Java 17 负责文本分段、Token 管理和调用百度云 TTS 接口,提供播放/暂停/切换会话等控制并具备合成失败自动重试、降级等异常自愈能力。整体实现兼顾低延迟、流畅衔接和高可用,适用于大模型实时语音输出场景。

一次OOM排查实录

日志在运行时被硬截断,排查后发现是 Linux OOM Killer 将进程强制 kill,根因是 2 GB 服务器同时运行 3 个未限制堆大小的 Spring Boot 项目、MySQL 8.0 和监控组件,JVM 默认占用近 3 GB,MySQL 参数又消耗数百 MB,且没有 Swap 作为缓冲。通过为每个 JVM 设置‑Xms/‑Xmx(如 512 M、256 M),调小 MySQL 的 innodb_buffer_pool、max_connections、关闭 performance_schema 并添加 2 GB swap,内存使用降至安全范围,进程不再被 OOM Killer 杀死。经验教训是:小内存机器必须限制 JVM、精简 MySQL 配置并配置 swap,长期方案是迁移数据库或升级机器。

通意千应 - 你的专属AI助手

通意千应是面向企业和个人的AI对话平台,由召田最帅boy独立研发,采用Spring Boot+Vue 前后端分离架构,集成ChatGPT、DeepSeek、Qwen、Llama、Kimi、Gemma、Nemotron 等多模型,并支持模型切换、流式输出、Markdown渲染、代码高亮、深度思考与网络搜索增强。系统基于Spring Security、JWT、MySQL 与 Redis 实现安全认证、会话管理和缓存,加上Thymeleaf 分享页实现免登录链接分享。平台提供完整的用户、会话、消息管理及统计功能,管理员可通过后台仪表盘进行用户、会话、数据安全等运营管理。整体实现一站式、可扩展且安全的企业级AI助手解决方案。

文章解锁功能安全漏洞修复技术记录

博客文章解锁功能原本依赖本地存储 `blog_global_unlocked`,导致用户可通过浏览器 DevTools 修改键值绕过关注公众号的验证码验证,破坏付费与引流策略。为根除此漏洞,方案将关键验证迁移至服务器端,采用 Spring Boot REST 接口配合 Redis 保存解锁状态和一次性令牌,使用多层客户端标识(Cookie、请求头、IP+User‑Agent 指纹)生成唯一 `clientId`。前端通过 Fetch 与服务器查询解锁状态、获取令牌并在页面加载时决定是否解锁;拦截器统一注入 `clientId` 并写入长期 Cookie。令牌采用 MD5(clientId+timestamp+UUID) 生成,具滑动过期和防篡改校验。整体实现保持用户体验流畅,同时实现服务器可控、不可伪造、可追踪的安全解锁机制。

微信公众号API+Redis实现内容访问控制

实现基于微信公众号验证码的文章解锁功能:未关注用户仅能阅读文章前1/3,底部“查看全文”引导关注;关注后发送关键词“博客”即获6位数字验证码,验证码存入Redis(5 分钟有效、单次使用),前端通过 CSS max‑height 与渐变遮罩实现内容截断。用户验证成功后在浏览器 LocalStorage 标记全局解锁状态,实现全站解锁。后端采用 Spring Boot 提供验证码生成/验证 API 与微信消息处理接口,配合 Redis 保存验证码,整体架构为 浏览器 ↔ Spring Boot ↔ Redis ←→ 微信服务器。实现步骤包括 Redis 配置、验证码服务实现、微信接入及前端交互逻辑。

博客文章“部分展示+验证解锁”实现

本文介绍在博客中实现“部分展示+验证解锁”阅读限制的完整方案。通过自动计算文章高度,仅显示前1/3并加底部虚化遮罩,配合“查看全文”按钮触发验证弹窗。用户扫码关注公众号、发送关键词获取验证码,校验成功后在本地存储全局解锁标识,文章平滑展开并显示成功动画。实现核心包括HTML结构划分、CSS变量控制截断高度与过渡、JS负责高度计算、锁定/解锁逻辑及验证码校验。文中还提供响应式布局、全局解锁持久化及后续优化建议,如后端API动态验证码、微信自动回复、有效期控制、数据统计和A/B测试等。

使用Java写简单的网络DDos攻击(仅用于学习)

本文解析一段使用Java线程池和URLConnection实现的简易“DDoS”示例代码,指出其无限循环创建线程池、线程爆炸、资源泄漏、无超时等设计缺陷,强调运行会耗尽本机及目标服务器资源。文中重点警示未经授权的攻击违背《刑法》《网络安全法》并可能承担刑事责任,倡导在合法授权下进行压力测试。最后提供正确的并发请求写法、超时设置、连接复用及使用专业工具等改进建议,呼吁技术向建设性方向发展。

输入QQ号自动获取昵称

实现了在博客评论和回复框输入QQ号后自动获取昵称、头像并填充的功能。采用 uapis.cn 提供的 QQ 信息接口,使用正则校验和 jQuery AJAX 异步请求,失焦时触发。经过多接口对比后选定该稳定接口,并在友情链接/留言板和文章详情页完成集成。实现了前端格式验证、错误日志、跨域支持,并提出缓存、加载提示、备用接口及后端代理等优化建议。该功能简化了评论流程,显著提升用户体验。