大语言模型+接口自动化:从数据生成到失败分析
1. 这个项目到底在解决什么问题先说我观察到的普遍现象。不少团队把接口自动化做成用例仓库一开始靠录制工具快速堆出几百条脚本跑起来绿油油一片看着很舒心。但上线两个月后就开始变味接口字段一调整十几个用例跟着挂测试数据散落在代码里改起来顾此失彼断言写得太死返回 JSON 里多出一个字段、顺序变一下就能误报真正出问题时人还得一头扎进日志和请求报文里手工定位。维护成本慢慢超过手工测试自动化反而成了包袱。我在这篇文章里想聊的不是又一个 Pytest 教程也不是教你怎么装 Allure而是把这三个东西放在一起玩大语言模型负责动脑子Pytest 负责跑腿Allure 负责把结果讲清楚。这套组合落地之后接口自动化从我理解的角度看已经从机械化执行变成了半智能化决策。实际解决的问题主要有四个测试数据不再靠人肉构造LLM 根据接口 Schema 和业务描述批量生成边界值、异常值、组合场景。测试用例的编写成本显著下降LLM 先把接口契约翻译成参数化用例骨架人只需要审核和微调。断言从逐字段比较升级为语义理解针对推荐结果、提示文案、排序合理性这类传统上很难写断言的场景有了新解法。失败分析从翻日志猜原因变成自动汇总上下文并给出根因建议直接写进 Allure 报告里。这篇文章适合什么人看如果你们团队已经有 Pytest 接口测试基础但觉得用例维护成本高、数据构造麻烦、失败定位慢那这套思路能直接参考如果你是刚接触接口自动化的新人也能从第 3 节的环境搭建开始照做只是 LLM 部分建议先在有经验的人带领下接入。2. 整体架构大语言模型在测试链路里该当什么角色先说结论LLM 在这个架构里是建议者不是执行者。很多人一听说要把大模型接入测试第一反应是让模型直接写测试用例、直接跑断言恨不得测试框架都被模型接管。我不建议这么干原因后面会详细讲核心就一条模型输出有不确定性而测试框架需要确定性。你总不能今天跑 Assertion A 通过、明天跑同一份代码因为模型解释偏了结果失败。我的做法是把整个链路拆成四条静态分析链路读取 OpenAPI / Swagger 或接口文档交给 LLM 提炼出接口的字段、必填项、边界约束、业务规则转成机器可读的 Schema。数据准备链路LLM 按 Schema 和业务要求生成测试数据集经过格式校验后落到本地缓存目录测试运行时直接从缓存取数。执行与报告链路Pytest 负责用例发现、参数化、前置后置、Hook 回调Allure 负责测试结果聚合和可视化。智能分析链路测试失败时Pytest 通过 Hook 把请求参数、响应正文、错误堆栈、步骤日志组装成上下文交给 LLM 输出失败原因、影响范围和修复建议再注入到 Allure 报告里。这样做的好处是职责清晰。Pytest 和 Allure 干的是它们最擅长的事LLM 只出现在需要理解语义和生成内容的环节。而且每条链路之间都有校验闸口LLM 输出的 JSON 要先做类型校验才能进数据缓存LLM 生成的用例必须先过 Pytest 的收集阶段语法错误直接被框架挡住LLM 的语义判断会和传统硬断言做交叉验证防止误判。用一句话概括整体设计确定性能力留在代码里非确定性能力交给模型然后在两者之间用一层协议转换器粘起来。这样既拿到了模型的灵活性又不至于让测试结果变得不可复现。3. 环境准备与基础框架搭建先把基础环境说清楚。我使用的版本组合是Python 3.11、Pytest 7.4、allure-pytest 2.13.2、httpx 0.27。之所以用 httpx 而不是 requests主要是为了后续支持异步接口调用和更精细的超时控制后面并发执行、调用 LLM 的场景会用到如果你们团队对 requests 特别熟也不是不能用只是需要自己做一层超时和连接池管理。依赖文件 requirements.txt 大致如下pytest7.4.4 allure-pytest2.13.2 httpx0.27.2 pydantic2.7.4 openai1.40.0 deepmerge2.0项目目录结构我按角色拆分保证谁改哪里一眼清楚auto_api/ ├── api/ │ ├── client.py # HTTP 客户端封装统一超时、重试、日志 │ └── schema.py # 从 OpenAPI 解析出的接口定义 ├── core/ │ ├── llm_client.py # 大模型调用封装 │ ├── data_factory.py # 测试数据生成与缓存 │ └── assertion_engine.py# 断言引擎普通断言 语义断言 ├── testcases/ │ ├── test_order.py │ └── test_payment.py ├── data/ │ └── generated/ # LLM 生成的测试数据缓存 ├── report/ ├── conftest.py ├── pytest.ini └── requirements.txtpytest.ini 里我放了基础配置[pytest] addopts -vs --alluredirreport/allure-results --clean-alluredir testpaths testcases log_cli trueAllure 这边只需要保证 allure-pytest 插件安装了然后命令行把报告结果目录指到 report/allure-results。跑完测试后执行allure serve report/allure-results就能起一个本地服务看报告。api/client.py是接口请求的底座我会在初始化时设置默认超时和重试策略import httpx class ApiClient: def __init__(self, base_url: str): self._client httpx.Client( base_urlbase_url, timeouthttpx.Timeout(10.0, connect3.0), headers{Content-Type: application/json}, ) def post(self, path: str, **kwargs): resp self._client.post(path, **kwargs) self._log_request(resp) return resp这里有个细节容易忽略很多接口自动化项目不记录“请求时刻的完整参数”导致失败后没法复现。我在_log_request里会把方法、路径、请求头、请求体、响应状态码、响应体全部写进结构化日志并且关联到 Allure 的 attachment后面失败分析才有素材。环境就位后核心问题来了大模型怎么接入4. 核心实现把大语言模型嵌入测试全流程4.1 接口测试数据的智能生成借助大模型生成测试数据最忌讳的做法是让模型自由发挥。给我生成几条订单接口的测试数据这种 Prompt 得到的往往是风格随意、字段名对不上、类型混乱的文本拿来做参数化必然翻车。我的落地方式是先把接口定义转成 JSON Schema再把 Schema 和业务约束一起拼进 Prompt。假设订单创建接口的 Schema 长这样{ type: object, properties: { user_id: {type: integer, minimum: 1}, items: { type: array, minItems: 1, items: { type: object, properties: { sku: {type: string}, quantity: {type: integer, minimum: 1} }, required: [sku, quantity] } }, coupon_code: {type: [string, null]}, shipping_address: {type: string, maxLength: 200} }, required: [user_id, items, shipping_address] }然后我把这个 Schema 交给模型要求它输出测试数据import json from core.llm_client import llm_complete def gen_test_data(schema: dict, case_count: int 6) - list[dict]: prompt f 请根据下面的 JSON Schema 生成 {case_count} 条接口测试数据。 Schema 如下 {json.dumps(schema, ensure_asciiFalse)} 要求 1. 覆盖正常值、边界值最小值/最大值/空值、超长字符串、非法类型。 2. 每条数据都要有 case_id 和 expected_status 字段分别表示用例编号和预期 HTTP 状态码。 3. 数据内容必须符合 Schema 定义不能出现字段名和类型错误。 4. 只输出 JSON 数组不要输出任何解释文字不要使用 Markdown 代码块。 raw llm_complete(prompt) data json.loads(strip_code_block(raw)) # 强制校验 for item in data: validate_by_schema(item, schema) return data这里有几个实操要点都是踩坑换来的strip_code_block必须写。很多模型喜欢在回答外面包 json不剥掉直接json.loads会抛异常。校验不能省。模型即使被告知符合 Schema实际输出也可能把quantity写成字符串把必填字段漏掉。我用 Pydantic 做一层校验校验失败的记录直接丢弃并告警而不是让脏数据进入测试。生成结果要缓存。LLM 调用一次少说几百毫秒如果每个用例每次运行都现场生成整个测试会慢得没法用。我把生成结果写到data/generated/order_data.json测试运行前先看缓存存在就直接加载不存在才调用模型。为什么要求模型输出expected_status因为许多接口测试数据的价值不仅在于能请求更在于我预期它返回什么。user_id 为负数、数量为 0这类用例预期状态码是 4xx若不加这个字段用例生成后还要人工补充断言预期效率反而打折。4.2 基于接口契约自动生成 pytest 用例数据有了用例怎么生成我不主张用 LLM 一次性生成一大段测试代码那是把模型的不确定性直接暴露在 pytest 的收集阶段很容易得到语法错误或逻辑混乱的脚本。更稳的做法是先用合同定义好测试骨架然后让 LLM 只填充参数化数据。Pytest 提供了pytest_generate_tests钩子就非常适合这个场景。比如订单测试文件里只写一份测试函数import allure import pytest from core.data_factory import load_generated_data from core.assertion_engine import assert_basic_order allure.title(订单创建接口-参数化用例) pytest.mark.parametrize(case, load_generated_data(order)) def test_create_order(case, api_client): resp api_client.post(/api/v1/order, jsoncase[payload]) allure.attach(resp.text, 响应报文, allure.attachment_type.TEXT) assert resp.status_code case[expected_status] if case[expected_status] 200: assert_basic_order(resp.json())这套写法的最大好处是业务人员只需要维护data/generated/order_data.json测试函数代码几乎不动。接口字段变更时重新跑一次数据生成脚本即可不需要在代码里改几十处。为了在 Allure 报告里能一眼看出哪条数据挂了我还会给参数化用例加上可读 IDpytest.mark.parametrize(case, load_generated_data(order), idslambda c: c[case_id])这样报告中显示的用例名就不再是test_create_order[case0]这种毫无信息量的形式而是test_create_order[正常购买-200]这类一目了然的名字。关于让 LLM 直接生成整个测试文件这件事我的经验是不是不行但要控制应用范围。如果只是让模型根据接口文档生成请求路径 请求参数 基本断言效果还行但只要涉及复杂业务前置状态、数据库比对、多接口串联模型生成的东西基本都要大改。所以我在项目里只让它生成参数化数据和用例描述测试函数结构仍然由人来把控。4.3 语义断言哪些能用、哪些坚决不用我见识过不少人把 LLM 接到断言里的第一反应是以后不用写断言了把响应丢给模型让它判断对不对。这个想法很诱人但直接落地产出的往往是一堆今天过、明天挂、原因玄学的用例。我总结了 LLM 断言的适用边界按风险分三档低风险响应文案是否符合预期、推荐列表是否包含某类商品、排序是否符合业务直觉。传统代码很难写适合用 LLM 做语义判断。中风险错误提示信息是否匹配用户场景、返回字段含义是否与业务描述一致。可以做半自动判断但要结合规则兜底。高风险金额计算、库存扣减、订单状态流转、数据一致性。绝对不要用 LLM必须走代码硬断言。举个例子一个推荐接口返回下面这段 JSON{ code: 0, data: { items: [ {product_id: 101, title: 轻量跑步鞋, tags: [运动, 新品]}, {product_id: 205, title: 速干T恤, tags: [运动]} ] } }如果测试目标是推荐结果应该与用户近期浏览的运动品类相关且不能出现用户已购买的商品 888传统断言会这样写titles [item[title] for item in data[items]] assert 运动 in tags_set assert product_id_list.count(888) 0没毛病但可维护性差接口返回结构调整就得改。如果接入语义断言代码就变成from core.assertion_engine import llm_assert def test_recommend_related_to_user(api_client): resp api_client.post(/api/v1/recommend, json{user_id: 1024}) result llm_assert( resp_jsonresp.json(), expected推荐商品应与运动品类相关并且不包含用户已购商品宽松判断不要因为标签缺失就判失败 ) assert result.passed, result.reasonllm_assert内部会构造 Prompt把响应 JSON 和期望描述一起发给模型让它返回 PASS 或 FAIL 并附原因。这样写的优势在对模糊需求的测试上特别明显推荐结果合理与否本来就不是靠一条硬规则能说清的。但我必须强调我在高风险场景里从不启用语义断言。金额少算 1 分钱这种事模型可能因为上下文理解偏差直接给你 PASS。测试系统是质量防线不能把最该守住的底线交给概率。另外提一个稳定性技巧LLM 语义断言的结果要记录原始模型输入、输出和最终判定。一旦出现误判能回溯到是 Prompt 写得不好还是模型抽风方便调优。不要只记录一个二值结果。4.4 失败自动定位把 Allure 报告和 LLM 连起来这个模块是我个人认为整个方案里性价比最高的因为它后台跑不直接影响用例稳定性但省下来的人工排障时间非常可观。Pytest 有一个经典的 Hook 叫pytest_runtest_makereport可以在每个测试用例结束后拿到结果。我在里面加了失败上下文收集器import allure import pytest from core.llm_client import llm_complete pytest.hookimpl(tryfirstTrue) def pytest_runtest_makereport(item, call): if call.when call and call.excinfo is not None: context { test_name: item.nodeid, request_info: item.funcargs.get(api_client, {}).last_request, response_info: item.funcargs.get(api_client, {}).last_response, error: str(call.excinfo.value), log_tail: get_recent_log(100), } prompt f 这是接口自动化测试失败现场 {json.dumps(context, ensure_asciiFalse, indent2)} 请帮我判断 1. 最可能的原因。 2. 是接口 bug、测试数据问题还是断言过严 3. 给出修复建议。 analysis llm_complete(prompt) allure.dynamic.description(f大模型失败分析\n{analysis})这样 Allure 报告里就会在失败用例的描述区域看到一份智能故障分析而不是只有一行干巴巴的 AssertionError。对于回归几百条用例的团队来说按报告优先级排序先处理那些模型标记为疑似接口 bug的用例效率会高很多。当然上下文收集器的质量决定分析质量。如果你只是把异常信息丢给模型它最多告诉你断言失败因为响应不符合预期这种废话没有价值。一定要把请求参数、响应正文、日志尾部都组装进去模型才有推理依据。另外提醒一点不要把敏感的 Token、密钥、生产用户信息拼进 Prompt。我一般会先在收集器里做脱敏把手机号、身份证、登录凭证替换成占位符再发送。5. 实操过程从零跑通一个接口的智能化测试光讲理论不够我用一个完整的模拟场景把这条路走一遍。假设现在要测试一个订单创建接口路径是POST /api/v1/order核心字段有 user_id、items、coupon_code、shipping_address创建成功后返回订单号、总金额、费用明细和预计发货时间。第一步定义接口 Schema 和测试数据模板。我把 Schema 放在项目的api/schema/order_schema.json里然后运行一个小脚本调用gen_test_data函数生成 8 条测试数据并缓存。大概会得到这样的数据[ { case_id: 正常购买-200, payload: { user_id: 1001, items: [{sku: SKU001, quantity: 2}], coupon_code: null, shipping_address: 某市某区某路1号 }, expected_status: 200 }, { case_id: 非法用户ID-400, payload: { user_id: -1, items: [{sku: SKU001, quantity: 1}], shipping_address: 某市某区某路1号 }, expected_status: 400 }, { case_id: 空商品列表-400, payload: { user_id: 1001, items: [], shipping_address: 某市某区某路1号 }, expected_status: 400 }, { case_id: 超长地址-400, payload: { user_id: 1001, items: [{sku: SKU001, quantity: 1}], shipping_address: 某 超长地址 * 50 }, expected_status: 400 } ]第二步编写测试用例文件。沿用前文的test_create_order骨架再补上一个语义断言场景比如金额字段与费用明细的加总一致这种硬性校验走代码而返回的预计发货时间在合理范围内走 LLM 语义判断。第三步运行测试。pytest testcases/test_order.py --alluredirreport/allure-results --clean-alluredir跑完以后执行allure serve report/allure-results浏览器里就会打开 Allure 报告。能看到每个参数化用例的执行状态、请求响应附件、日志以及失败用例上的 LLM 分析说明。实际跑下来我发现最舒服的工作流是数据生成脚本在每天凌晨批量执行一次用例运行时完全走缓存这样 LLM 调用不会拖慢白天回归的速度。测试人员在上班后看 Allure 报告直接按失败分析给出的优先级排序处理问题。这里还有一个让报告更好用的技巧在用例里加上步骤描述让 Allure 的 Behavior 维度能按业务模块聚合。我通常在conftest.py里给阶段打上标签with allure.step(准备测试数据): ... with allure.step(调用订单创建接口): ... with allure.step(校验业务规则): ...这样报告不只是给你看的也是给业务同事和开发看的遇到问题时他们能自己读懂技术栈。6. 常见问题与排查技巧在实际落地的时候我刚说完的部分处处藏着坑。我把最常见的几个问题和对应的排查经验整理成一张速查表现象根因处理方法LLM 返回的 JSON 解析失败模型输出带了 Markdown 或解释文字写strip_code_block并对解析失败的请求重试一次测试数据不符合 Schema模型理解偏差把字符串写到整型字段用 Pydantic 严格校验丢弃脏数据并记录告警调用 LLM 超时模型响应慢或接口并发超限设置连接超时 3s、总超时 30s配合指数退避重试测试执行速度太慢每个用例都现场调 LLM测试数据提前预生成运行时只读缓存语义断言偶发失败模型判断漂移高风险断言改用代码硬校验中风险只做辅助判定失败分析废话连篇上下文信息不足收集器补充请求体、响应体、日志尾部报告里没有附件忘记调 Allure attach在请求封装里统一 attach不要下沉到用例层接口字段变更是连锁故障数据缓存过期为缓存文件加 Schema 版本号变更时自动失效关于超时和重试我给 LLM 客户端的标准配置是连接超时 3 秒总超时 30 秒遇到连接错误或限流时按 1 秒、2 秒、4 秒退避重试最多 3 次。因为模型服务偶尔会有毛刺不重试容易误报重试太猛又会拖慢整体效率。另外一个容易被忽视的问题是模型 API 并发限制。你如果跑几十个并行用例每个用例都在失败分析阶段调一次 LLM很快会被限流。我建议把 LLM 调用统一收敛到一个带信号量的异步池里限制并发数为 8超出就排队。控制好这条通道整套系统的稳定性会提升一个档次。再分享一个排查数据生成阶段的实用方法LLM 生成的结果在落缓存之前我会先只跑一次gen_test_data并打印到控制台人工扫一眼。不要直接全部塞进测试框架否则你都不知道哪些失败是接口真的有问题哪些是数据模板本身写得离谱。7. 个人经验与最后的建议这套大模型 Pytest Allure的方案我在实际落地时的顺序和大家想象的可能不太一样。我没有一上来就大改造只先在失败分析模块里接入了 LLM。这一步不碰测试主链路用例怎么跑还怎么跑只是把失败上下文组装起来丢给模型让它在 Allure 报告里写一段分析。团队成员用了两周后发现报障流转效率明显提高才开始给我提需求能不能顺手把数据生成也做了然后我才逐步扩展到数据生成和语义断言。这么做的原因很简单测试框架的最核心要求是可信。如果你第一天就把模型塞进断言逻辑一旦出现一两例误判团队对整套系统的信任度就会迅速下降后面再解释这是模型问题不是被测系统问题就晚了。先做低风险增强做出效果再逐步扩大边界这是我在实践中体会到的最稳妥的演进路径。最后给想动手的人三个建议第一LLM 生成的一切都必须有校验层。数据要过 Schema 校验用例要过 Pytest 收集断言要和代码规则交叉验证。模型只负责出主意代码负责把关。第二Prompt 里明确输出格式比你的想象力更重要。一定要在结尾强调只输出 JSON 数组不要解释不要 Markdown并在代码侧做容错否则解析失败会浪费你大量时间。第三监控 LLM 调用本身。记录每次调用的耗时、token 消耗、重试次数、失败率。模型服务也是外部依赖它的抖动会直接影响测试链路不监控你连故障都说不清楚。这套方案做到最后我的直观感受是接口自动化不再是一个写完就放那的静态脚本集而是一套能自己生成数据、自己给出断言依据、自己分析失败原因的动态系统。真正上线之后团队里最开心的是那些每天要盯回归结果的测试同学因为他们终于不用在几百条失败里翻来翻去猜原因了。

相关新闻

TensorFlow 2.0实战:用Fashion-MNIST跑通第一个深度学习项目

TensorFlow 2.0实战:用Fashion-MNIST跑通第一个深度学习项目

1. 这部分到底要解决什么问题:用TensorFlow 2.0把第一个完整项目跑通Python 深度学习速成课的第四部分,我们把重心从TensorFlow 2.0的理论讲解切到分步实战。简单说,这一篇就是专门给“已经看过不少基础教程、但还没完完整整跑通过一个深度学…

2026/10/14 21:32:19 阅读更多 →
SX126x驱动源码解析:从命令接口到移植实战指南

SX126x驱动源码解析:从命令接口到移植实战指南

简介:这是新一代LoRa芯片SX126x系列的驱动源码,覆盖SX1261、SX1262、SX1268,面向嵌入式开发与物联网应用开发者,可解决从底层初始化、数据收发到LoRaWAN协议对接的驱动移植与调优问题。源码包含初始化、数据收发、状态管理与错误处…

2026/10/14 21:32:19 阅读更多 →
多库协同构建影评情感分析系统:从文本清洗到模型融合

多库协同构建影评情感分析系统:从文本清洗到模型融合

1. 整体架构设计:为什么把四个库装进一个项目里先交代一下背景。这个系列走到第四篇,前面几回分别介绍了Scikit-Learn做传统机器学习的基本流程、NLTK做文本处理的基础操作、NeuroLab和Keras各自搭神经网络的套路。但说实话,分开学是一回事&a…

2026/10/14 21:32:19 阅读更多 →

最新新闻

Win10下VS2019编译的OSG 3.6.5+OSGEarth 3.1双版本库配置指南

Win10下VS2019编译的OSG 3.6.5+OSGEarth 3.1双版本库配置指南

简介:面向Windows 10平台C三维图形开发者的预编译依赖包,基于Visual Studio 2019完整构建OpenSceneGraph 3.6.5与OSGEarth 3.1,解决自行编译耗时长、依赖配置繁琐的问题,适合三维GIS、仿真可视化与虚拟训练等桌面应用开发&#xf…

2026/10/14 22:20:44 阅读更多 →
依存句法解析实战:从词间关系构建信息抽取语义骨架

依存句法解析实战:从词间关系构建信息抽取语义骨架

1. 先搞清楚依存句法解析到底在解一个什么题前阵子接到一个需求:从几万条客服工单里自动提取"某设备坏了之后由谁负责维修"这类三元组。我第一反应是上实体识别加正则匹配,毕竟句式看着挺固定。真正跑通一轮之后才发现,问题远没有这…

2026/10/14 22:20:44 阅读更多 →
外包驻场生存指南:从“不要随便吃零食”看职场边界感

外包驻场生存指南:从“不要随便吃零食”看职场边界感

说实话,我第一次听到“你是外包,不要随便吃零食”这句话时,是有点想笑的。但笑完之后仔细琢磨,才发现这句话几乎把职场里最微妙、最不方便摆上台面的那一层潜规则给挑明了。它不是一句简单的吐槽,不是一个段子&#xf…

2026/10/14 22:20:44 阅读更多 →
Windows下ipmitool 1.8.19实战:带外管理与批量运维指南

Windows下ipmitool 1.8.19实战:带外管理与批量运维指南

简介:IPMITool 1.8.19 for Windows 是一款面向企业 IT 运维人员与服务器管理员的命令行工具,用于通过 IPMI 协议在本地或远程监控、管理兼容服务器硬件。它独立于操作系统运行,可在系统崩溃或无法启动时完成电源控制、硬件诊断与固件维护&…

2026/10/14 22:20:44 阅读更多 →
SAP MDG主数据治理实战:从架构到配置的避坑指南

SAP MDG主数据治理实战:从架构到配置的避坑指南

简介:《SAP MDG Overview》是一份面向 SAP 顾问、数据治理人员及企业架构师的官方介绍性资料,系统讲解 SAP Master Data Governance 9.0 的集中式治理框架,明确合并与批量处理能力不在本次介绍范围,源自2016年6月的产品概览文档。…

2026/10/14 22:20:44 阅读更多 →
用可观测数据优化工作节奏:KeyStats从指标设计到落地实践

用可观测数据优化工作节奏:KeyStats从指标设计到落地实践

你可能也遇到过这种状态:从早忙到晚,手头同时压着四五件事,中间不断被消息提醒打断,到了晚上复盘时却想不起来今天到底做成了什么。为了摆脱这种被动忙碌,我在自己负责的一个模拟项目X里完整试用了一套方法&#xff0c…

2026/10/14 22:19:43 阅读更多 →

日新闻

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/14 16:30:29 阅读更多 →
影刀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 阅读更多 →