别再把整页 HTML 丢给大模型了:用 TaoToken 给 Codex skill 做正文提取的配置清单
1. 整页 HTML 直塞大模型token 到底浪费在哪先说一个我反复遇到的场景你写了个采集脚本把网页requests.get()拿到的 HTML 原封不动塞进 prompt让模型做摘要或者入库 RAG。跑几条还行一上量就发现两个问题同时冒出来——账单涨得比预期快摘要质量还不稳定。原因不复杂。一个典型资讯页head里的 meta、外链 CSS、埋点脚本、内联 JSON 配置加上导航栏、面包屑、侧边推荐、评论区、登录弹窗、footer 版权信息这些加起来经常占整页字符数的 70% 到 90%。真正读者想看的正文可能就两三千字。你把整页丢进去模型要先读完这一大坨噪声才有机会碰到正文。这里有个容易被忽略的点噪声不只是浪费 token它会主动干扰结果。导航栏里全是短链接文本评论区是大量口语化短句相关推荐标题和正文主题高度相似但内容无关。做摘要时模型可能把推荐位标题当成正文观点做 RAG 切块时这些噪声块会被向量化入库检索时被召回直接污染答案。我试过同一个页面清洗前检索命中率明显低于清洗后差距不是一点半点。所以正文提取不是锦上添花它是 AI 数据处理链路里该前置的一步。这篇要讲的是怎么用 Codex skill 把这一步做成可复制的配置从整页 HTML 到干净正文中间需要哪些参数、怎么接 TaoToken 的统一通道、怎么验证提取前后 token 消耗和正文完整度。适合正在做 AI 摘要、RAG 入库、爬虫清洗、Agent 自动处理网页的人。核心检索词先摆出来HTML 正文提取工具、Codex skill 配置、TaoToken 统一 Key 接入。下面按问题—前置—配置—验证—排障—收尾的顺序走每一步都给可复制的命令和片段。2. TaoToken 前置统一 Key 与 API 通道怎么准备在配 Codex skill 之前先把模型调用这条链路理顺。Codex skill 本身负责把 HTML 洗成正文但如果你还想在同一个流程里做摘要、打标、入库就需要一个稳定的模型调用入口。TaoToken 在这里的角色是统一通道一个 Key、一个 Base URL兼容 OpenAI 风格的接口Codex、Cline、Claude Code 这类工具都能接。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册后在控制台生成 API Key。API 地址是 https://taotoken.net/api 注意这个地址不带任何查询参数配置时直接填这个。你需要准备三样东西我把它叫三件套后面所有配置都围绕它配置项值说明Base URLhttps://taotoken.net/api所有请求的前缀不要加斜杠结尾API Key控制台生成形如sk-开头只显示一次及时保存Model ID按需选择摘要/提取用通用对话模型即可拿 Key 的路径登录后进控制台找到 API Keys 页面新建。如果你用的是 Claude Code 这类需要 Anthropic 兼容格式的工具TaoToken 也提供了对应的接入文档路径在文档页里能查到。这里不展开注册流程重点放在配置本身。有一点要提醒不要把 Key 硬编码进脚本提交到 Git。用环境变量或者本地.env后面配置片段里我会用TAOTOKEN_API_KEY这个变量名。前置准备做完你手上应该有一个能用的 Key 和一个 Base URL。接下来进入 Codex skill 的实际配置。3. 可复制配置Codex skill 正文提取的 settings 片段这一节是重点给的是能直接抄的配置。Codex skill 的正文提取工具核心逻辑是先拿到尽量完整的 DOM移除明显噪声节点script、style、nav、header、footer、aside、form、隐藏节点、广告、评论、分享区再从article、main、rolemain、正文命名节点里生成候选容器按文本长度、段落数、标点密度、链接密度、噪声命名打分选最高分节点最后清理重复文本和空白输出 text / markdown / json。先装依赖。工具提供了安装脚本bash install.sh如果要处理动态渲染页面比如内容靠 JS 加载的站点加上浏览器渲染能力bash install.sh --with-browser这一步会装 Playwright / Chromium。装完先跑官方示例确认环境没问题python3 scripts/extract_html_main.py examples/messy_article.html --format markdown从本地 HTML 文件提取python3 scripts/extract_html_main.py input.html --format markdown从 URL 直接提取python3 scripts/extract_html_main.py https://example.com/article --format markdown如果你已经知道目标站点的正文容器比如.article-body手动指定 selector 能大幅提升准确率python3 scripts/extract_html_main.py input.html --selector .article-body --format markdown工具支持 selector 缓存同一个域名第二次跑会复用上次的 selector省去重复判断。现在把模型调用接进来。Codex skill 的配置文件通常放在项目根目录我用一个settings.json来统一管理 Base URL、Key 和 Model ID。路径按你实际项目结构调整内容如下{ model_provider: { base_url: https://taotoken.net/api, api_key_env: TAOTOKEN_API_KEY, model_id: gpt-4o-mini }, extract: { input_format: html, output_format: markdown, selector_cache: true, remove_noise: [script, style, nav, header, footer, aside, form], min_text_length: 200, link_density_threshold: 0.3 } }如果你用的是 TOML 风格的配置部分 Codex 版本支持等价写法[model_provider] base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEY model_id gpt-4o-mini [extract] input_format html output_format markdown selector_cache true min_text_length 200 link_density_threshold 0.3环境变量这样设export TAOTOKEN_API_KEYsk-你的keyWindows PowerShell$env:TAOTOKEN_API_KEYsk-你的key配置里几个参数值得解释。min_text_length是候选正文的最小文本长度低于这个值的节点直接淘汰防止把一句广告当正文。link_density_threshold是链接密度阈值噪声区通常链接密度高超过阈值就判为噪声。selector_cache打开后同一站点第二次提取会快很多。如果你用 Cline 或 Claude Code 做后续处理它们的 MCP 配置里同样填这三件套Base URL 用https://taotoken.net/apiKey 用环境变量注入Model ID 按需选。Claude Code 的接入文档在 TaoToken 文档页有专门章节路径是 doc 下的 ClaudeCodeAnthropic 部分。配置写完先别急着上量下一节做验证。4. 验证请求比对提取前后 token 消耗与正文完整度配置对不对跑一次就知道。我建议用同一个样例页面做前后对比这样数据才有说服力。第一步准备一个脏页面。随便找个资讯站的文章页保存成messy_article.html或者直接用 URL。先看整页 HTML 的字符数wc -c messy_article.html假设输出是 180000也就是约 18 万字符。粗略按 4 字符 1 token 估算整页丢给模型大约 45000 token。第二步跑提取python3 scripts/extract_html_main.py messy_article.html --format markdown clean.md wc -c clean.md假设输出 6000 字符约 1500 token。这一进一出token 消耗降到原来的 3% 左右。当然具体比例看页面导航和脚本越多的页面压缩比越夸张。第三步验证正文完整度。这一步不能只看字符数要看内容有没有丢。打开clean.md检查三件事正文首段在不在、正文末段在不在、中间有没有被误删的段落。我一般会抽三到五个关键句用 grep 确认grep -c 正文里的某个关键句 clean.md返回 1 说明在返回 0 说明被误删了需要调min_text_length或加手动 selector。第四步把清洗后的正文送进模型做摘要和整页直塞的结果对比。用 TaoToken 的模型对话入口快速验证路径在模型对话页。请求示例curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o-mini, messages: [ {role: user, content: 请用三句话总结以下正文\n\n$(cat clean.md)} ] }对比两次摘要整页直塞的那次摘要里经常混进相关推荐点击查看更多这类噪声清洗后的那次摘要聚焦在正文观点上。这就是正文提取的价值——不是省了多少钱是结果干净了。验证通过后你可以把这条链路固化成脚本批量处理。长期跑编码和 Agent 任务的话Coding Plan 比按量更划算路径在 coding-plan 页。5. 常见报错排查401、local proxy failed、reading choices、OAuth配置和验证过程中报错基本集中在这几类。我按真实遇到的顺序列出来对照着查。401 Unauthorized。最常见九成是 Key 没生效。检查三处环境变量名是否和配置里的api_key_env一致Key 有没有多余空格或换行Base URL 是不是写成了https://taotoken.net/api/结尾多了斜杠。用 curl 直接测一下curl https://taotoken.net/api/models \ -H Authorization: Bearer $TAOTOKEN_API_KEY返回模型列表说明 Key 和地址都对。返回 401 就回去重新生成 Key。local proxy failed。这个报错通常出现在工具尝试走本地代理但代理没起来的时候。检查你的环境变量里有没有残留的HTTP_PROXY/HTTPS_PROXY设置有的话先清掉unset HTTP_PROXY HTTPS_PROXY然后重跑。如果工具配置里写了代理地址确认那个地址是通的。注意不要配置任何非法的网络通道正常直连即可。reading choices 相关报错。这类报错一般是响应体解析失败常见原因是模型返回了非预期格式或者请求被中途截断。检查两点model_id是否拼写正确请求体里messages的 JSON 是否合法。用python3 -m json.tool校验一下你的请求体。OAuth 相关报错。如果你用的是 Claude Code 这类带 OAuth 流程的工具报错通常出在 token 刷新环节。确认接入文档里的回调地址和你的本地端口一致路径在 doc 下的 ClaudeCodeAnthropic 章节。OAuth 走不通时可以先用 API Key 直连方式验证模型通道是否正常再回头调 OAuth。提取结果为空或只有标题。这不是模型报错是提取逻辑没命中。先加--selector手动指定正文容器如果不知道 selector用浏览器开发者工具看一下正文所在的 class。再不行调低min_text_length或者检查页面是不是动态渲染的——动态页面需要--with-browser。selector 缓存导致结果错乱。同一域名换了页面结构缓存里的旧 selector 可能失效。清掉缓存目录重跑或者临时关掉selector_cache。排查完这些链路基本就稳了。最后说下怎么把这条链路用顺。6. 把正文提取接进你的 AI 数据链路配置跑通之后真正省事的是把它固化下来。我的做法是写一个批处理脚本遍历 URL 列表逐个提取、清洗、送模型打标最后入库。提取这一步用 Codex skill模型调用统一走 TaoToken 的通道Key 从环境变量读不写死在代码里。几个实用技巧。第一selector 缓存对固定站点效果很好但站点改版后要记得清缓存。第二min_text_length不要设太高否则短正文比如快讯会被误杀我一般设在 150 到 200 之间。第三批量处理时加个失败重试网络抖动导致的提取失败重跑一次通常就好。第四提取后的 markdown 建议保留一份原始 HTML 的哈希方便追溯。如果你还在做 RAG正文提取这一步做完切块质量会明显不一样。噪声块少了检索召回的准确率自然上来。这条链路我跑了一段时间最大的感受是与其在 prompt 里反复叮嘱模型忽略导航和广告不如在数据进模型之前就把它们清掉。前置清洗比后置纠偏便宜得多也稳得多。需要 Key 和接入文档的话从 API Keys 页生成接入细节看文档页想先验证模型效果用模型对话页快速试长期跑编码和 Agent 任务Coding Plan 更合适。链路搭起来剩下的就是按你的业务场景调参数了。

相关新闻

离线语音交互实战:LD3320识别+JQ8900-TF播报搭建语音控制装置

离线语音交互实战:LD3320识别+JQ8900-TF播报搭建语音控制装置

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

2026/10/17 2:19:34 阅读更多 →
Koa模板引擎选型指南:Pug与Nunjucks深度对比实战

Koa模板引擎选型指南:Pug与Nunjucks深度对比实战

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

2026/10/17 2:19:34 阅读更多 →
deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥区别?用TaoToken统一Key实测各尺寸调用差异

deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥区别?用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/17 2:19:34 阅读更多 →

最新新闻

AI Agent核心原理与LangChain集成实战指南

AI Agent核心原理与LangChain集成实战指南

很抱歉,这个标题对应的内容我无法为你撰写成 CSDN 技术博客。原因是它不满足我生成内容的前提条件:没有技术材料可支撑。你只提供了一个标题,没有项目正文、技术描述、代码或实践场景。没有技术事实,就无法写出可落地、有信息增量…

2026/10/17 2:58:42 阅读更多 →
VS2010+CEF3 90.6.0:MFC窗口嵌入浏览器与JS双向通信实战

VS2010+CEF3 90.6.0:MFC窗口嵌入浏览器与JS双向通信实战

简介:这份资源面向使用VS2010进行Windows桌面开发的C程序员,解决在MFC应用程序中嵌入CEF3浏览器内核并实现JavaScript与C双向交互的问题。内容围绕CEF3 90.6.0版本展开,涵盖MFC项目创建、CEF库引用配置、CEFRenderWidgetHost子类封装、CEF与M…

2026/10/17 2:58:42 阅读更多 →
大模型安全测试实战:从红队模拟到供应链防护

大模型安全测试实战:从红队模拟到供应链防护

最近 AI 社区传开一个颇为戏剧性的安全测试话题:A社疑似故意让 Opus 模型进入“黑化”状态,让它模拟攻击者去“入侵”Hugging Face 平台,最后抱抱脸只留下一句“?”。消息本身没有完整的官方披露,但真正值得讨论的并不…

2026/10/17 2:58:42 阅读更多 →
AI Agent 管理为何是份全职工作:从 Demo 到生产的工程挑战

AI Agent 管理为何是份全职工作:从 Demo 到生产的工程挑战

“AI Agent 部署之后,才能真正看清它的复杂度:环境搭建只是开始,持续运行、权限管理、上下文维护、模型选型和成本控制才是真正的职业消耗。”从业者对 AI Agent 的热情,往往停留在一个漂亮的 Demo 上:一个能回答文档问…

2026/10/17 2:58:42 阅读更多 →
编译原理实验避坑:PL/0扩展ELSE语句的词法、语法与代码生成全解析

编译原理实验避坑:PL/0扩展ELSE语句的词法、语法与代码生成全解析

简介:这份资源是面向高校计算机专业学生的编译原理课程实验配套资料,以经典教学型编译程序PL/0为改造对象,帮助学习者在词法分析、语法分析与语义处理三个环节上完成从理论到代码的落地。实验要求对PL/0进行多项扩充:新增ELSE、FO…

2026/10/17 2:58:42 阅读更多 →
基于Qt与C++的中国象棋人机对战实现与搜索优化

基于Qt与C++的中国象棋人机对战实现与搜索优化

简介:用Qt/C开发的中国象棋人机对战项目,是一份面向Qt初、中级开发者及高校课程设计的完整代码示例。项目实现了完整对弈流程:棋盘矩阵建模、各棋子走法与吃子规则校验、鼠标交互、胜负判断,并采用alpha-beta剪枝搜索和局面评估函…

2026/10/17 2:57:42 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →