使用中专API与Telegram进行交互:TaoToken统一Key接入Telethon的配置与验证
1. 为什么 Telethon 直连总在鉴权环节卡住Telegram 的 API 本身并不复杂真正让人头疼的是「鉴权链路」和「请求转发」这两件事。Telethon 作为 Python 生态里最成熟的 Telegram 客户端库封装了 MTProto 协议你只需要 api_id、api_hash、手机号就能跑起来。但实际落地时很多人会卡在几个地方一是本地网络到 Telegram 服务器的链路不稳定握手阶段就超时二是多个项目共用一套凭证Key 散落在各个脚本里改一次要翻半天三是团队协作时谁用了哪个 Key、额度还剩多少完全没数。我试过把 api_id/api_hash 硬编码在代码里结果换环境就要重新改一遍后来改成环境变量又发现不同机器上的配置格式不统一。更麻烦的是Telethon 默认走的是 Telegram 官方 DC 地址如果你的运行环境出口 IP 被风控或者需要统一管理调用凭证直连就会变得很脆弱。这时候「统一 Key 接入」的思路就派上用场了。TaoToken 提供的是一套统一的 API 通道你可以把它理解成一个「凭证中转层」Telethon 不再直接拿原始 api_id/api_hash 去连 Telegram而是通过一个统一的 Base URL 和 Key 来完成鉴权和请求转发。这样做的好处是凭证集中管理换环境只改环境变量不用动业务代码同时请求走统一通道链路更可控。这篇文章聚焦的场景很具体用 Telethon 对接 Telegram API 时如何通过 TaoToken 的统一 Key/API 通道完成鉴权与请求转发。我会给出可复制的环境变量与 Base URL 配置片段并用一条 get_me 调用验证连通性和返回结构。适合已经拿到 Telegram api_id/api_hash、想让调用链路更规范的中小团队也适合个人开发者想把多个脚本的凭证统一起来。需要先说明一点Telethon 本身是直连 Telegram 的库它并不原生支持「自定义 Base URL」这种 HTTP 代理式的转发。所以这里的「统一 Key 接入」并不是把 Telethon 的 MTProto 流量整个塞进一个 HTTP 代理而是通过 TaoToken 的 API 通道来管理凭证和转发请求。实际配置时你需要区分两种模式一种是 Telethon 直连 TaoToken 管理凭证元数据另一种是通过 TaoToken 的 API 端点做请求转发。下面我会把两种都讲清楚你按自己的场景选。2. TaoToken 前置准备Key、Base URL 与环境变量在写代码之前先把 TaoToken 这边的准备工作做完。你需要三样东西API Key、Base URL、以及要调用的模型或通道标识。这三样凑齐了后面 Telethon 的配置才有地方填。第一步是拿 Key。打开 TaoToken 的控制台进入 API Keys 页面创建一个新的 Key。创建的时候建议按项目命名比如telethon-bot-prod这样后面排查问题时能一眼看出是哪个项目在用。Key 创建后只显示一次复制下来存到安全的地方不要直接写进代码仓库。第二步是确认 Base URL。TaoToken 的 API 入口是https://taotoken.net/api这个地址在配置里会作为统一通道的根地址。注意这里不要加多余的路径后面拼接具体端点时再补。第三步是确定你要用的通道或模型标识。Telegram 场景下你可能是用某个模型来做消息摘要、自动回复也可能是纯粹用 TaoToken 做请求转发。不管哪种你都需要一个明确的标识符比如claude-3-5-sonnet或者你自定义的通道名。这个标识符会在请求体里出现。把这三样东西整理成环境变量是让配置可复制、可迁移的关键。我习惯用.env文件管理配合python-dotenv加载。下面是一个可以直接复制的.env模板# TaoToken 统一通道配置 TAOTOKEN_API_KEYsk-你的实际Key TAOTOKEN_BASE_URLhttps://taotoken.net/api TAOTOKEN_MODELclaude-3-5-sonnet # Telegram 原始凭证Telethon 直连时需要 TG_API_ID12345678 TG_API_HASHabcdef1234567890abcdef1234567890 TG_PHONE8613800138000 TG_SESSIONtelethon_session这里要提醒一句TG_API_HASH是 Telegram 官方给你的保密凭证不要提交到公开仓库也不要在日志里打印。TaoToken 的 Key 同理建议用.gitignore把.env排除掉。如果你是在团队里协作可以把.env.example提交到仓库里面只放占位符真实值由每个人本地填写。这样新人拉下代码后复制一份.env.example改成.env填上自己的 Key 就能跑。环境变量准备好之后安装依赖。Telethon 和 dotenv 是必须的pip install telethon python-dotenv如果你还要通过 TaoToken 的 API 端点做 HTTP 请求转发再装一个httpx或requestspip install httpx到这里前置准备就完成了。接下来进入代码配置环节。3. 可复制配置Telethon 客户端与 TaoToken 通道对接这一节是核心我会给出完整的配置片段包括 Telethon 客户端的初始化、TaoToken 通道的接入方式以及一个settings风格的配置结构。你可以直接复制到自己的项目里改。先看 Telethon 客户端的初始化。Telethon 的TelegramClient构造函数接受session、api_id、api_hash三个核心参数还支持proxy参数用于走代理。但如前所述Telethon 的 proxy 是 SOCKS/HTTP 代理不是我们要的统一 Key 通道。所以这里分两种写法。写法一Telethon 直连 TaoToken 管理凭证元数据这种模式下Telethon 仍然直连 Telegram但 api_id/api_hash 从 TaoToken 统一配置中心读取或者由 TaoToken 下发的凭证。代码里通过环境变量注入import os import asyncio from dotenv import load_dotenv from telethon import TelegramClient load_dotenv() API_ID int(os.getenv(TG_API_ID)) API_HASH os.getenv(TG_API_HASH) PHONE os.getenv(TG_PHONE) SESSION os.getenv(TG_SESSION, telethon_session) TAOTOKEN_KEY os.getenv(TAOTOKEN_API_KEY) TAOTOKEN_BASE os.getenv(TAOTOKEN_BASE_URL) TAOTOKEN_MODEL os.getenv(TAOTOKEN_MODEL) client TelegramClient(SESSION, API_ID, API_HASH)写法二通过 TaoToken API 端点做请求转发这种模式下你不直接用 Telethon 连 Telegram而是把要发送的消息内容通过 TaoToken 的 API 端点转发。Telethon 负责读取消息TaoToken 负责处理或转发。配置片段如下import os import httpx from dotenv import load_dotenv load_dotenv() TAOTOKEN_KEY os.getenv(TAOTOKEN_API_KEY) TAOTOKEN_BASE os.getenv(TAOTOKEN_BASE_URL) TAOTOKEN_MODEL os.getenv(TAOTOKEN_MODEL) def build_headers(): return { Authorization: fBearer {TAOTOKEN_KEY}, Content-Type: application/json, } def build_payload(prompt: str): return { model: TAOTOKEN_MODEL, messages: [ {role: user, content: prompt} ], } async def forward_to_taotoken(prompt: str): url f{TAOTOKEN_BASE}/v1/chat/completions async with httpx.AsyncClient(timeout30) as http: resp await http.post( url, headersbuild_headers(), jsonbuild_payload(prompt), ) resp.raise_for_status() return resp.json()如果你用的是settings.toml或config.json管理配置可以这样写。先看 TOML 版本[taotoken] api_key sk-你的实际Key base_url https://taotoken.net/api model claude-3-5-sonnet [telegram] api_id 12345678 api_hash abcdef1234567890abcdef1234567890 phone 8613800138000 session telethon_session再看 JSON 版本适合 Node 或前端项目复用{ taotoken: { api_key: sk-你的实际Key, base_url: https://taotoken.net/api, model: claude-3-5-sonnet }, telegram: { api_id: 12345678, api_hash: abcdef1234567890abcdef1234567890, phone: 8613800138000, session: telethon_session } }这里有个关键点Base URL 的路径拼接。TaoToken 的根地址是https://taotoken.net/api具体端点比如 chat completions 是/v1/chat/completions拼起来就是https://taotoken.net/api/v1/chat/completions。不要重复写/api也不要在根地址末尾加斜杠否则会出现双斜杠导致 404。如果你用的是 Claude Code 或类似的编码工具配置方式类似把 Base URL 和 Key 填进对应的 settings 文件即可。Cline MCP 场景下需要在 MCP 配置里指定baseUrl和apiKeyModel ID 填TAOTOKEN_MODEL的值。Codex 的auth.json里则是填api_key和base_url两个字段。这三件套——Base URL、Key、Model ID——在任何接入场景下都是必须的缺一个都会报鉴权失败。配置写好后建议先做一次静态检查确认环境变量都加载成功Base URL 没有多余斜杠Key 没有前后空格。这些细节看起来小但实际排障时经常是罪魁祸首。4. 验证请求用 get_me 确认连通性与返回结构配置写完下一步是验证。Telethon 里最直接的验证方式是get_me()它会返回当前登录账号的信息。如果这一步能跑通说明鉴权链路是通的。先看 Telethon 直连模式的验证代码import asyncio from telethon import TelegramClient import os from dotenv import load_dotenv load_dotenv() API_ID int(os.getenv(TG_API_ID)) API_HASH os.getenv(TG_API_HASH) PHONE os.getenv(TG_PHONE) SESSION os.getenv(TG_SESSION, telethon_session) async def main(): client TelegramClient(SESSION, API_ID, API_HASH) await client.start(phonePHONE) me await client.get_me() print(id:, me.id) print(username:, me.username) print(first_name:, me.first_name) print(phone:, me.phone) await client.disconnect() if __name__ __main__: asyncio.run(main())第一次运行时Telegram 会向你的手机号发送验证码在终端里输入即可。登录成功后session 文件会保存下来后续运行不需要重复验证。返回结构大概是这样id: 123456789 username: your_username first_name: Your phone: 8613800138000如果你走的是 TaoToken 通道转发模式验证方式换成调用 TaoToken 的 API 端点确认 Key 和 Base URL 有效import asyncio import httpx import os from dotenv import load_dotenv load_dotenv() TAOTOKEN_KEY os.getenv(TAOTOKEN_API_KEY) TAOTOKEN_BASE os.getenv(TAOTOKEN_BASE_URL) TAOTOKEN_MODEL os.getenv(TAOTOKEN_MODEL) async def verify_taotoken(): url f{TAOTOKEN_BASE}/v1/chat/completions headers { Authorization: fBearer {TAOTOKEN_KEY}, Content-Type: application/json, } payload { model: TAOTOKEN_MODEL, messages: [{role: user, content: ping}], max_tokens: 10, } async with httpx.AsyncClient(timeout30) as http: resp await http.post(url, headersheaders, jsonpayload) print(status:, resp.status_code) data resp.json() print(choices:, data.get(choices)) print(usage:, data.get(usage)) if __name__ __main__: asyncio.run(verify_taotoken())成功时你会看到status: 200choices里有一条回复usage里有 token 计数。如果返回 401说明 Key 有问题如果返回 404多半是 Base URL 拼接错了如果超时检查网络出口。把两个验证结合起来一个完整的「读取消息 转发处理」流程是这样的import asyncio import httpx from telethon import TelegramClient import os from dotenv import load_dotenv load_dotenv() API_ID int(os.getenv(TG_API_ID)) API_HASH os.getenv(TG_API_HASH) PHONE os.getenv(TG_PHONE) SESSION os.getenv(TG_SESSION, telethon_session) TAOTOKEN_KEY os.getenv(TAOTOKEN_API_KEY) TAOTOKEN_BASE os.getenv(TAOTOKEN_BASE_URL) TAOTOKEN_MODEL os.getenv(TAOTOKEN_MODEL) async def process_message(text: str): url f{TAOTOKEN_BASE}/v1/chat/completions headers { Authorization: fBearer {TAOTOKEN_KEY}, Content-Type: application/json, } payload { model: TAOTOKEN_MODEL, messages: [{role: user, content: text}], } async with httpx.AsyncClient(timeout30) as http: resp await http.post(url, headersheaders, jsonpayload) resp.raise_for_status() return resp.json()[choices][0][message][content] async def main(): client TelegramClient(SESSION, API_ID, API_HASH) await client.start(phonePHONE) me await client.get_me() print(logged in as:, me.username) async for message in client.iter_messages(your_channel, limit3): if message.text: print(原始消息:, message.text[:50]) reply await process_message(message.text) print(处理结果:, reply[:50]) await client.disconnect() if __name__ __main__: asyncio.run(main())这段代码先验证登录再读取频道消息然后把消息内容转发给 TaoToken 处理。跑通它说明整条链路是通的。5. 常见报错排查401、local proxy failed、reading choices、OAuth实际跑的时候报错是难免的。这一节我把几个高频错误列出来对照着排查。401 Unauthorized这是最常见的鉴权错误。原因通常有三个Key 写错了、Key 前后有空格、Key 已经失效。排查方法是先打印出实际使用的 Key 前几位和后几位确认没有多余字符。然后去 TaoToken 控制台确认这个 Key 还在有效期内。如果用的是环境变量检查.env文件有没有被正确加载load_dotenv()有没有在读取变量之前调用。local proxy failed这个报错通常出现在 Telethon 配置了 proxy 参数但代理不可用的时候。如果你没有用代理就不要传proxy参数。如果你确实需要走代理确认代理地址和端口正确且代理服务在运行。注意TaoToken 的统一通道不是通过 Telethon 的 proxy 参数实现的不要把两者混在一起配。reading choices 相关报错当你调用 TaoToken 的 chat completions 端点时如果返回结构里没有choices字段或者choices是空的就会在data[choices][0]这里抛异常。排查方法是先把完整的resp.json()打印出来看看实际返回了什么。常见原因是模型标识写错了或者请求体格式不对。确认model字段的值和 TaoToken 控制台里的一致messages是数组且每条消息有role和content。OAuth 相关报错如果你在 Claude Code 或类似工具里配置 TaoToken可能会遇到 OAuth 流程的报错。这类工具有时会走 OAuth 授权而不是简单的 API Key。排查时确认你填的是 API Key 而不是 OAuth tokenBase URL 填的是https://taotoken.net/api。如果工具要求填 Model ID确保填的是 TaoToken 支持的模型标识。超时错误Telegram 的 MTProto 握手对网络延迟比较敏感。如果get_me()经常超时检查运行环境的出口网络是否稳定。可以适当增加 Telethon 的超时参数client TelegramClient( SESSION, API_ID, API_HASH, timeout30, connection_retries5, )session 文件冲突如果你在多个进程里同时用同一个 session 文件会出现database is locked之类的错误。解决办法是每个进程用独立的 session 名或者用StringSession把 session 存在内存里。StringSession 的用法from telethon.sessions import StringSession client TelegramClient(StringSession(), API_ID, API_HASH)登录后把client.session.save()的结果存到环境变量里下次直接用它初始化。Base URL 双斜杠这个错误很隐蔽。如果你把 Base URL 写成https://taotoken.net/api/再拼/v1/chat/completions就会变成https://taotoken.net/api//v1/chat/completions有些服务端会返回 404。解决办法是 Base URL 末尾不加斜杠拼接时手动加。把这几类错误对照着排查大部分问题都能定位到。如果还是不行把完整的请求 URL、请求头去掉 Key、请求体和响应体打印出来逐项核对。6. 把统一 Key 接入用起来从验证到长期编码验证跑通之后接下来就是把它用起来。这里分两个方向一个是短期的验证和调试一个是长期的编码和 Agent 场景。短期验证阶段你可以直接用模型对话功能来测试 TaoToken 通道是否稳定。打开模型对话页面选一个模型发几条消息看看响应速度和返回质量。这一步不需要写代码适合快速确认通道可用性。如果你在调试 Telethon 的消息处理逻辑可以先用模型对话确认 TaoToken 那边的返回格式再回到代码里对接。长期编码和 Agent 场景建议用 Coding Plan。这类场景的特点是调用频繁、需要稳定的额度、对延迟敏感。Coding Plan 提供的是包月或包量的额度适合持续运行的机器人或自动化脚本。配置方式和前面一样Base URL 填https://taotoken.net/apiKey 填你的 API KeyModel ID 填你选的模型。三件套齐了就能在 Claude Code、Cline MCP、Codex 这些工具里直接用。如果你在团队里推广这套方案建议把配置模板化。把.env.example、settings.toml模板、验证脚本一起放进仓库新人拉下来改几个值就能跑。这样能省掉大量「为什么我这里跑不通」的沟通成本。最后说一个实用技巧把get_me()的验证做成一个健康检查脚本每次部署后自动跑一次。如果返回的 username 和预期一致说明鉴权链路正常如果报错直接看错误类型定位问题。这个脚本不需要复杂十几行代码就够但能帮你省下很多排查时间。接入文档里有更详细的端点和参数说明遇到不确定的字段可以去查。API Keys 页面可以管理你的 Key包括创建、禁用、查看用量。模型对话页面适合快速验证模型可用性。Coding Plan 适合长期运行的编码和 Agent 任务。按你的场景选对应的入口就行。

相关新闻

Chapter 06:Skills 进阶 - SKILL.md 编写指南与 TaoToken 统一 Key 接入实践

Chapter 06:Skills 进阶 - SKILL.md 编写指南与 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/15 20:35:11 阅读更多 →
SimQN安装与环境搭建教程:5分钟从pip快速安装到Cython加速的完整指南

SimQN安装与环境搭建教程:5分钟从pip快速安装到Cython加速的完整指南

【免费下载链接】SimQN A network-layer simulator for the quantum network investigation 项目地址: https://gitcode.com/gh_mirrors/sim/SimQN 点击查看 免费下载 SimQN 是一款面向量子网络研究的网络层模拟器(Python 库),支…

2026/10/15 20:35:11 阅读更多 →
华为OBS Java SDK 3.20.3生产集成指南:高并发、大文件、断点续传

华为OBS Java SDK 3.20.3生产集成指南:高并发、大文件、断点续传

简介:本资源是华为云对象存储服务(OBS)官方Java SDK的完整开发包esdk-obs-java-3.20.3.zip,面向Java后端开发者、云原生应用构建者及需要对接华为OBS进行文件上传下载、桶管理、权限控制等核心操作的技术人员。压缩包共766个文件&…

2026/10/15 20:34:11 阅读更多 →

最新新闻

MySQL零基础入门:从安装到增删改查实战教程

MySQL零基础入门:从安装到增删改查实战教程

写这篇教程的初衷很简单——我见过太多人一上来就啃官方文档,结果被术语劝退;也见过不少人背了一堆命令,却连数据库都没装好。MySQL作为最流行的开源关系型数据库,它其实没有传说中那么难,难的是没人告诉你第一步该干嘛…

2026/10/15 21:18:29 阅读更多 →
让AI Agent写出正确代码:自我验证闭环实战指南

让AI Agent写出正确代码:自我验证闭环实战指南

过去大半年,我一直在折腾 AI Agent 写真实业务代码。最头疼的不是它写不出来,而是它写出来的东西你不敢信:代码结构完整、命名也规范、注释还齐,结果一跑测试,边界条件炸了一地。后来听到一位在开发者工具领域深耕多年…

2026/10/15 21:18:29 阅读更多 →
大麦抢票脚本怎么用:Python 自动化抢票从登录到下单的完整指南

大麦抢票脚本怎么用:Python 自动化抢票从登录到下单的完整指南

大麦抢票脚本怎么用:Python 自动化抢票从登录到下单的完整指南 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 想让热门演出大麦抢票不再拼手速,靠的不…

2026/10/15 21:18:29 阅读更多 →
LoRA:大语言模型的低秩适应

LoRA:大语言模型的低秩适应

研究问题 预训练模型通常需要下游任务数据来继续训练模型,全参数微调更新全部参数:模型越大,梯度、优化器状态和任务专属模型副本的开销越高。 问题:能否只训练少量参数,获得接近全参数微调的效果,同时减少…

2026/10/15 21:18:29 阅读更多 →
华为OD机考100题含答案:从刷题到考场稳定发挥的完整指南

华为OD机考100题含答案:从刷题到考场稳定发挥的完整指南

简介:这份华为OD机考100题(含答案)docx文档,面向具备一定编程基础、正在准备华为OD机考或同类技术认证的开发者,帮助其系统熟悉机考题型与考察重点。文档精选100道经典真题,涵盖【5键键盘的输出】【N进制减…

2026/10/15 21:18:29 阅读更多 →
参考资源章节如何从“链接堆砌”变成文档导航页

参考资源章节如何从“链接堆砌”变成文档导航页

1. 第32章参考资源放在最后,却是读者最先翻的章节做技术文档这么多年,我越来越觉得“参考资源”是被误解最深的一章。大多数人以为它就是把链接堆在结尾,让读者自己去看,但实际上它决定了一本手册、一个项目文档能不能真正被人用起…

2026/10/15 21:17:27 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →