AI心理支持系统开发:大语言模型在青少年心理健康领域的应用实践
1. 项目背景与核心概念AI在心理健康领域的融合与挑战近期OpenAI与美国心理学会APA宣布合作共同探索和推进人工智能在青少年心理健康领域的应用。这一事件标志着AI技术正从通用领域向高度专业化、高敏感度的垂直领域深度渗透。对于开发者、产品经理以及关注AI应用落地的从业者而言这不仅是一个行业新闻更是一个重要的技术风向标。它揭示了如何将前沿的大语言模型LLM能力安全、合规、有效地应用于教育、医疗辅助等严肃场景。在传统的技术开发中我们往往关注模型的精度、响应速度和成本。然而当技术触及“心理健康”这类领域时评估维度发生了根本性转变。安全性、伦理性、合规性成为了比“效果”更优先的考量。本次合作的核心正是试图在技术创新与社会责任之间建立一座桥梁为AI for Good科技向善提供一个可参考的范式。为什么开发者需要关注技术边界拓展它展示了LLM的应用场景远不止聊天、编程和内容生成而是可以深入到需要极高专业度和信任度的服务中。工程化新要求开发此类应用对数据隐私如HIPAA/GDPR合规、内容安全过滤、风险干预机制提出了前所未有的高要求。提示词工程专业化与青少年对话的AI其系统提示词System Prompt的设计需要融合发展心理学、心理咨询伦理而不仅仅是完成任务。评估体系变革如何量化一个AI心理辅助工具的“有效性”传统的准确率、召回率可能不再适用需要引入新的评估指标。2. 环境准备与核心组件思考虽然本次合作的具体技术栈未公开但基于构建一个类似的、用于青少年心理健康支持的AI对话应用原型我们可以推导出所需的技术环境和核心组件。这不同于一般的Web应用需要格外注重安全与合规层。2.1 基础运行环境与框架后端框架Python的FastAPI或Node.js的Express用于构建稳健的API服务便于整合认证、日志和监控。AI模型接口OpenAI API如GPT-4或开源大模型如Llama 3、Qwen的本地化部署。考虑到数据隐私对敏感信息处理需谨慎评估云端API的风险。数据库PostgreSQL或MySQL用于存储非对话的用户元数据、日志注意对话内容本身是否存储、如何加密存储需严格遵循法律。缓存Redis用于管理用户会话状态、频率限制和临时数据。2.2 关键合规与安全组件认证与授权OAuth 2.0 / JWT确保用户身份安全。对于未成年人可能需要关联监护人账户。内容安全层必须在将用户输入发送给LLM之前和将LLM输出返回给用户之前必须经过多层内容过滤。敏感词过滤自定义词库过滤暴力、自残、欺凌等有害词汇。情感极端值检测识别出表达极度抑郁、焦虑的语句触发人工预警流程。第二重LLM审核使用一个轻量级、专门训练的模型对主模型的输入和输出进行安全性复核。日志与审计所有交互必须被安全地日志记录用于问题回溯、模型优化和合规审计日志需脱敏。限流与防滥用严格API调用频率限制防止恶意刷接口或DoS攻击。版本说明以下示例将基于Python生态使用openaiPython包版本1.0.0进行演示。请注意生产环境需选择特定版本并锁定依赖。3. 核心架构与安全流程拆解一个安全的青少年心理健康AI应用其核心架构必须是“管道式”的而非简单的“用户-模型”直连。下图展示了核心的数据流与安全拦截点用户输入 - [前端安全校验] - [后端API] - [内容安全过滤层] - [大语言模型] - [输出安全过滤层] - [危机评估层] - [返回前端] | | [日志审计] [人工预警触发]3.1 系统提示词System Prompt设计这是应用的“灵魂”它定义了AI的角色、边界和对话风格。一个专业的提示词远比一个强大的模型更重要。# 这是一个高度简化的系统提示词示例实际应用需要由心理学专家共同打磨 mental_health_system_prompt 你是一个名为“心灵伙伴”的AI助手专门为青少年提供情感支持和心理健康知识科普。你的核心原则是 1. **角色与边界**你是支持性的伙伴而非专业治疗师。你不能提供诊断、治疗方案或药物建议。 2. **安全第一**对话中严禁鼓励、美化自残、暴力或非法行为。如果用户提及此类内容你必须表达关切并建议其立即联系可信赖的成年人、学校心理老师或拨打心理援助热线例如12355。 3. **积极引导**以共情、开放和非评判的态度回应用户。帮助用户识别和表达情绪提供基于认知行为疗法CBT原则的简单思考框架如“情境-想法-感受-行为”链条。 4. **知识科普**可以解释常见的心理现象如焦虑、压力、介绍健康的应对机制如正念呼吸、运动。 5. **转介机制**当用户的问题超出你的能力范围或涉及严重危机时必须清晰、坚定地建议其寻求专业人工帮助。 请用温暖、平实、符合青少年认知水平的语言进行交流。每次回复应力求简洁聚焦于一个核心点。 3.2 内容安全过滤层实现这是保障安全的核心技术屏障。我们实现一个简单的双层过滤示例。import re from typing import Tuple, Optional class SafetyFilter: def __init__(self): # 示例敏感词库实际应用中需由安全专家和心理学家共同维护 self.harmful_keywords [ r自杀, r自残, r不想活了, r杀死, r欺凌, r虐待, # 可添加更多模式... ] self.high_risk_phrases [ r我打算.*(结束|死), r没有人关心我, r一切都完了, # 可添加更多模式... ] self.compiled_harmful [re.compile(kw, re.IGNORECASE) for kw in self.harmful_keywords] self.compiled_high_risk [re.compile(phrase, re.IGNORECASE) for phrase in self.high_risk_phrases] def filter_input(self, user_input: str) - Tuple[bool, Optional[str], Optional[str]]: 过滤用户输入。 返回: (是否允许通过, 过滤原因/标签, 清洗后的文本可选) # 检查高危短语触发即时干预 for pattern in self.compiled_high_risk: if pattern.search(user_input): return False, HIGH_RISK_INPUT, None # 触发人工预警 # 检查有害关键词可能进行内容替换或阻断 found_keywords [] for pattern in self.compiled_harmful: if pattern.search(user_input): found_keywords.append(pattern.pattern) if found_keywords: # 策略1直接阻断并返回标准关怀信息 # return False, CONTAINS_HARMFUL_CONTENT, None # 策略2替换敏感词后通过需谨慎评估 cleaned_text user_input for kw in set(found_keywords): cleaned_text re.sub(re.compile(kw, re.IGNORECASE), [相关内容已过滤], cleaned_text) return True, FILTERED, cleaned_text return True, None, user_input # 安全通过 def filter_output(self, ai_output: str) - Tuple[bool, Optional[str]]: 过滤AI输出确保回复本身是安全、负责任的。 # 检查AI是否给出了危险建议如具体自残方法 dangerous_advice_patterns [r你应该.*(伤害|尝试), r试试.*刀片] # 示例 for pattern in dangerous_advice_patterns: if re.search(pattern, ai_output, re.IGNORECASE): return False, DANGEROUS_ADVICE # 确保AI没有越界扮演医生 if re.search(r诊断你为|处方|服用.*药, ai_output): return False, MEDICAL_CLAIM return True, None4. 完整实战案例构建一个简易的安全对话API我们将构建一个FastAPI应用集成上述安全过滤层并与OpenAI API或兼容API进行交互。4.1 项目结构teen_mental_health_chatbot/ ├── app/ │ ├── __init__.py │ ├── main.py # FastAPI应用入口 │ ├── safety_filter.py # 安全过滤类 │ ├── config.py # 配置文件 │ └── routers/ │ └── chat.py # 聊天路由 ├── requirements.txt └── .env.example4.2 依赖文件 (requirements.txt)fastapi0.104.1 uvicorn[standard]0.24.0 openai1.3.0 python-dotenv1.0.0 pydantic-settings2.1.04.3 配置与模型客户端 (app/config.py)from pydantic_settings import BaseSettings from openai import OpenAI class Settings(BaseSettings): openai_api_key: str openai_base_url: str https://api.openai.com/v1 # 可替换为其他兼容端点 ai_model: str gpt-4-turbo-preview # 或 gpt-3.5-turbo system_prompt: str # 将从文件或环境变量读取长文本 class Config: env_file .env settings Settings() # 初始化OpenAI客户端 client OpenAI(api_keysettings.openai_api_key, base_urlsettings.base_url)4.4 主应用与路由 (app/main.py app/routers/chat.py)# app/main.py from fastapi import FastAPI from app.routers import chat app FastAPI(title青少年心理健康支持API, version0.1.0) app.include_router(chat.router, prefix/api/v1) app.get(/) def read_root(): return {message: 青少年心理健康支持API服务运行中。}# app/routers/chat.py from fastapi import APIRouter, HTTPException, Depends from pydantic import BaseModel from typing import List, Optional import logging from app.safety_filter import SafetyFilter from app.config import client, settings, system_prompt router APIRouter() safety_filter SafetyFilter() logger logging.getLogger(__name__) # 请求/响应模型 class ChatMessage(BaseModel): role: str # user or assistant content: str class ChatRequest(BaseModel): messages: List[ChatMessage] # 历史对话 user_id: str # 用于日志和频率限制 class ChatResponse(BaseModel): message: ChatMessage safety_status: Optional[str] None # 例如 FILTERED, BLOCKED requires_human_intervention: bool False router.post(/chat, response_modelChatResponse) async def chat_endpoint(request: ChatRequest): 处理用户聊天请求。 1. 安全检查用户输入 2. 调用AI模型 3. 安全检查AI输出 4. 记录日志并返回 user_input request.messages[-1].content if request.messages else # 1. 输入安全过滤 is_safe_input, filter_reason, cleaned_input safety_filter.filter_input(user_input) if not is_safe_input: logger.warning(f用户 {request.user_id} 输入被阻断。原因: {filter_reason}, 内容: {user_input[:50]}...) if filter_reason HIGH_RISK_INPUT: # 触发高危预警记录到待处理队列并返回固定关怀信息 # alert_system.queue_alert(request.user_id, user_input) return ChatResponse( messageChatMessage( roleassistant, content我听到你正在经历非常痛苦的时刻这非常重要。请立即联系你信任的成年人、老师或拨打心理援助热线12355。你并不孤单有人愿意帮助你。 ), safety_statusBLOCKED_HIGH_RISK, requires_human_interventionTrue ) raise HTTPException(status_code400, detail输入内容包含不适信息。) # 准备发送给AI的消息历史 messages_for_ai [{role: system, content: system_prompt}] # 如果输入被清洗过使用清洗后的版本 final_user_input cleaned_input if cleaned_input else user_input for msg in request.messages[:-1]: # 历史消息 messages_for_ai.append({role: msg.role, content: msg.content}) messages_for_ai.append({role: user, content: final_user_input}) try: # 2. 调用AI模型 response client.chat.completions.create( modelsettings.ai_model, messagesmessages_for_ai, temperature0.7, # 较低的温度使回复更稳定 max_tokens500 ) ai_raw_output response.choices[0].message.content # 3. 输出安全过滤 is_safe_output, output_filter_reason safety_filter.filter_output(ai_raw_output) if not is_safe_output: logger.error(fAI模型输出了不安全内容。原因: {output_filter_reason}, 输出: {ai_raw_output[:100]}...) # 启用备用回复策略 ai_raw_output 抱歉我还在学习中暂时无法处理这个问题。如果你需要帮助请务必联系专业的人工服务。 output_filter_reason REPLACED_DUE_TO_SAFETY # 4. 记录交互日志注意实际生产环境需脱敏并合规存储 logger.info(fChat completed for user {request.user_id}. Input filtered: {filter_reason}, Output filtered: {output_filter_reason}) return ChatResponse( messageChatMessage(roleassistant, contentai_raw_output), safety_statusfilter_reason or output_filter_reason, requires_human_intervention(filter_reason HIGH_RISK_INPUT) ) except Exception as e: logger.exception(f调用AI API时发生错误: {e}) raise HTTPException(status_code500, detail服务暂时不可用请稍后再试。)4.5 运行与验证在项目根目录创建.env文件填入你的API密钥OPENAI_API_KEYsk-your-api-key-here # AI_MODELgpt-3.5-turbo # SYSTEM_PROMPT_PATH./prompts/system_prompt.txt安装依赖并启动服务pip install -r requirements.txt uvicorn app.main:app --reload --host 0.0.0.0 --port 8000使用curl或 Postman 测试APIcurl -X POST http://localhost:8000/api/v1/chat \ -H Content-Type: application/json \ -d { user_id: test_user_123, messages: [ {role: user, content: 最近学习压力好大晚上总是睡不着我该怎么办} ] }安全测试尝试输入包含敏感词的句子观察API的响应是否符合过滤规则。5. 常见问题与排查思路在开发和部署此类应用时你会遇到一些典型问题。问题现象可能原因排查思路与解决方案API返回“输入内容包含不适信息”1. 用户输入触发安全过滤规则。2. 正则表达式过滤过于严格误伤正常表达。1. 检查日志中的filter_reason。2. 审查敏感词库区分“高危短语”和“一般敏感词”对后者可考虑替换而非阻断。3. 引入更精细的NLP情感分析模型替代简单的关键词匹配。AI回复内容空洞、模板化1. 系统提示词限制过强。2. 温度temperature参数设置过低。3. 模型本身能力限制。1. 与心理学专家迭代优化提示词在安全前提下增加灵活性。2. 适当调高temperature(如0.8-0.9)但需加强输出过滤。3. 考虑使用能力更强的模型如GPT-4或对回复进行后处理润色。服务响应延迟高1. 内容安全过滤逻辑复杂。2. AI模型API调用慢。3. 网络延迟。1. 优化过滤算法对高频词使用布隆过滤器或Trie树。2. 为AI调用设置合理的超时时间并实现异步调用。3. 考虑对AI响应进行缓存需谨慎避免缓存个性化建议。如何应对未知的有害内容规则列表无法覆盖所有情况。1.建立反馈循环设立用户“举报回复”功能。2.使用AI审核AI用另一个专门训练的安全模型对输入输出进行二次评分。3.定期更新规则库根据日志和反馈持续迭代安全策略。法律与合规风险数据隐私、未成年人保护、医疗建议边界。1.咨询法律顾问确保符合当地法律如COPPA, GDPR。2.数据最小化尽可能不存储完整对话记录如需存储必须加密且明确告知。3.清晰的免责声明在应用显著位置声明AI的辅助性质不替代专业医疗建议。6. 最佳实践与工程建议构建一个真正可用、可靠、可信的青少年心理健康AI应用远不止实现一个API。以下是从工程和产品角度的一些深度建议6.1 分层安全架构不要依赖单一安全措施。构建一个从外到内的多层防御体系前端层输入框进行基础的长度和格式校验。网关层实施速率限制、IP黑名单、请求签名验证。业务逻辑层本文实现的内容安全过滤、情感分析。模型层使用经过安全对齐训练Safety Alignment的模型并在推理时使用安全参数如OpenAI的moderationAPI。人工层建立7x24小时的人工监控和预警响应机制对高风险对话进行即时干预。6.2 可解释性与审计追踪会话标识为每段对话生成唯一ID关联所有日志。决策日志不仅记录对话内容还要记录安全过滤的触发原因、模型调用的参数和消耗的token数。版本控制对系统提示词、敏感词库、模型版本进行严格的版本管理任何变更都可追溯、可回滚。6.3 性能与成本优化缓存策略对于常见的科普性问题如“什么是焦虑”可以缓存标准化的AI回复减少模型调用。模型路由根据问题复杂度路由到不同成本的模型。简单问候和情绪识别可用轻量模型复杂倾诉再用大模型。异步处理将日志记录、预警通知等非实时任务放入消息队列如RabbitMQ, Redis Streams异步处理提升API响应速度。6.4 持续评估与迭代A/B测试对不同的提示词版本、交互流程进行小范围A/B测试用数据评估哪种方式更能让用户感到被支持且安全。专家评估定期邀请心理学家、社会工作者对AI的回复进行盲审打分。用户反馈建立温和的用户反馈机制例如在对话结束后询问“这次对话对你有帮助吗”并收集非结构化的文本反馈。6.5 伦理与产品设计避免成瘾设计上应鼓励适度使用例如设置每日对话次数上限或在一段深度对话后建议用户休息。明确转介当对话触及严重议题时AI必须清晰、多次地建议寻求人工帮助并提供具体的、本地化的资源链接如热线电话、学校心理咨询中心位置。监护人协同探索适合的监护人通知机制需在合法合规前提下例如当系统多次检测到高危信号时向绑定的监护人发送一条模糊的关怀提醒而非具体对话内容鼓励其与孩子沟通。OpenAI与APA的合作为AI在敏感领域的应用树立了一个重要的路标。它告诉我们技术的前沿不仅是追求更高的智能更是追求更深的责任。作为开发者我们拥有构建工具的能力同时也肩负着评估其影响、设计其安全边界的责任。通过本文介绍的技术方案、安全策略和最佳实践希望能为你探索AI for Good这一广阔领域提供一个坚实的起点。真正的挑战不在于让AI理解人类的情感而在于我们如何用人类的智慧与关怀去驾驭这项强大的技术。

相关新闻

Win32 API从零创建窗口:C语言实现Windows GUI程序骨架

Win32 API从零创建窗口:C语言实现Windows GUI程序骨架

1. 从“黑框框”到“白窗口”:为什么第一个窗口如此重要? 如果你是从C语言的控制台程序,或者从Python、Java的命令行应用开始接触编程的,那么“Windows程序设计”对你来说,可能意味着一个全新的世界。长久以来&#xf…

2026/10/13 10:49:02 阅读更多 →
IMU数据预处理——滤波、补偿和对齐

IMU数据预处理——滤波、补偿和对齐

上篇详细讲了IMU的误差模型——零偏、零偏不稳定性、随机游走、尺度因子误差、温度漂移,以及Allan方差分析和校准方法。搞清楚了误差从哪来,这篇讲怎么在实际代码中处理这些误差。面试时候被问"IMU数据怎么预处理",很多人只会说&qu…

2026/10/14 4:49:33 阅读更多 →
Windows系统kernelbase.dll错误修复全指南

Windows系统kernelbase.dll错误修复全指南

1. 理解kernelbase.dll的重要性kernelbase.dll是Windows操作系统中的核心动态链接库文件,属于Windows API的一部分。这个文件位于C:\Windows\System32目录下,主要负责处理应用程序与操作系统内核之间的基础通信。当这个文件丢失或损坏时,会导…

2026/10/13 14:07:30 阅读更多 →

最新新闻

跨界资源整合:内容与资本的战略合作模式

跨界资源整合:内容与资本的战略合作模式

1. 战略合作背景解析启明社与安盛投资的这次战略合作,本质上是一次典型的跨界资源整合案例。启明社作为内容创作领域的头部机构,拥有强大的IP孵化能力和粉丝基础;而安盛投资则是金融投资领域的专业机构,在资本运作和商业资源方面具…

2026/10/14 14:27:40 阅读更多 →
SpringBoot+Vue3疾病防控系统开发实战

SpringBoot+Vue3疾病防控系统开发实战

1. 项目概述与核心价值这个基于SpringBoot2Vue3MyBatis-PlusMySQL8.0技术栈的疾病防控综合系统,是我去年带队为某三甲医院开发的实战项目。系统上线后日均处理2000条疫情数据,成功将基层医疗机构的数据上报效率提升47%。不同于简单的CRUD管理系统&#x…

2026/10/14 14:27:40 阅读更多 →
贪心算法实战:跳跃游戏问题解析与优化

贪心算法实战:跳跃游戏问题解析与优化

1. 问题背景与核心挑战跳跃游戏是算法面试中的经典题型,考察对贪心算法的理解和应用能力。题目描述如下:给定一个非负整数数组nums,数组中的每个元素代表在该位置可以跳跃的最大长度。初始位于数组的第一个位置,判断是否能够到达最…

2026/10/14 14:27:40 阅读更多 →
IP102害虫数据集转YOLO格式:4400张子集训练实践

IP102害虫数据集转YOLO格式:4400张子集训练实践

做智慧农业害虫检测的朋友,应该都绕不开IP102这个数据集——102类农作物害虫、数万张图片,光看规模确实诱人。但真正下载下来用过的人都知道,原始标注格式是XML/JSON结构,直接扔给YOLO训练是不可能的,还得自己写脚本做…

2026/10/14 14:27:40 阅读更多 →
SpringBoot+Vue3全栈图书管理系统开发实战

SpringBoot+Vue3全栈图书管理系统开发实战

1. 项目概述:全栈图书管理系统的技术选型与价值 这套基于SpringBoot2Vue3MyBatis-PlusMySQL8.0的图书管理系统源码,是当前企业级应用开发的典型技术组合方案。作为前后端分离架构的实战案例,它完整实现了图书的增删改查、分类管理、借阅归还等…

2026/10/14 14:27:40 阅读更多 →
Vue3图片查看器:鼠标为中心缩放与拖拽实现详解

Vue3图片查看器:鼠标为中心缩放与拖拽实现详解

图片查看功能在后台系统、编辑器、图库工具里太常用了,但很多人做的时候都栽在同一个坑上:缩放是缩了,但中心点永远在左上角,鼠标滚轮一滚,图片直接跑偏;想拖拽吧,又和文字选中等浏览器默认行为…

2026/10/14 14:26:39 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →