技能|单文件应用并发与安全收尾SOP

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

来源:本次「<我的知识库>工作台」V2.1 安全与健壮性收尾(2026-09-28),五项实改全部取过证。

一句话选型结论

按资料字段整理

技能|单文件应用并发与安全收尾SOP是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_6f47e228/sop
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_6f47e228仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量6.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
技能|单文件应用并发与安全收尾SOP当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

6.5 KB
模型实际读到的说明书原文,来自技能仓库

技能|单文件应用并发与安全收尾SOP

> 来源:本次「<我的知识库>工作台」V2.1 安全与健壮性收尾(2026-09-28),五项实改全部取过证。
> 治的是同一类病:看着能用,实则撒谎、抢跑、卡死没反馈、数据被悄悄藏起来。

适用场景

单文件巨石 Web 应用(FastAPI + 内联前端)在功能齐备后做最后一轮收尾:
免登录接口的信息面、错误形状、并发占位、超时降级、被过滤文件的可见性。
不适用:已有成熟网关/鉴权体系的多服务项目。

触发词

/api/me 免登录泄露、默认密码状态外泄、错误形状不统一、detail Not Found、并发抢跑、同一个脚本跑两遍、任务占全局锁、30 分钟排队、超时 900 秒、前端一直转圈、AbortController、resToast 降级、20 篇生成文件看不见、搜不到生成文件、Minimal 信息面、任务占位原子化

操作步骤

  1. 免登录接口的最小信息面:
    - public 白名单里的接口(如 /api/me)login 必须按 Cookie 真实校验:request.cookies.get(&quot;wb_session&quot;,&quot;&quot;)==a.get(&quot;token&quot;,&quot;&quot;)。
    - 未登录只返回登录页所需的最小字段({&quot;login&quot;:false,&quot;user&quot;:&quot;&lt;作者&gt;&quot;}),不给 default_pw / has_recovery / last_login。
    - 写死 login: True 等于告诉任何本机进程"你已登录",还把是否仍在用默认密码一起泄露。

  2. 错误形状归一(全站只有一种):
    - 注册 @app.exception_handler(StarletteHTTPException)(需 from starlette.exceptions import HTTPException)。
    - 映射 401/403/404/422 → 中文,统一返回 {&quot;ok&quot;:false,&quot;error&quot;:&quot;中文&quot;,&quot;auth&quot;:code in (401,403)}。
    - 把自家缺 error 的返回补上文案(如 {&quot;ok&quot;:false,&quot;hits&quot;:[]})。

  3. 并发占位用 set 做 CAS(不要"先查 busy 再加 busy"):
    python def _claim(task): busy=_state[&quot;busy&quot;]; before=len(busy); busy.add(task) return len(busy) &gt; before
    - 三处入口共用(run_task / 自动任务 / 蒸馏任务);命中重复返回「该任务正在执行中,请稍候」。
    - 重活不能包在全局锁内(subprocess.run(timeout=1800) 若占锁,第二个任务排队干等且前端无反馈);锁只包占位,随之失效的全局锁变量要删干净(删前删后各 grep 一次)。
    - 验证:6 并发打同一任务,应只见 1 个 ok:true,其余 0.02s 返回。

  4. 超时收敛 + 前端降级:
    - _llm 类默认超时 900s → ≤180s(批处理 300s)。
    - 前端 api(u,opt,ms) 用 AbortController 做 MODEL_MS=20000 降级,不取消服务端执行(结果照样落库),返回 {ok:false,slow:true,error:&quot;本地模型仍在处理,完成后刷新可看结果&quot;}。
    - 抽 resToast(r,okMsg,ms) 统一处理 slow/成功/失败三态,替掉散落的三元判断。
    - 删除类等瞬时操作不套超时——找准句式:只改"上一行含特征串 + 向下 3 行窗口"命中的调用点(全库 6 处里通常只有 3 处该改)。

  5. 被跳过的文件别真丢(既不污染统计,又可按需可见):
    - 过滤生成/规则类文件是对的,但要在同一遍 os.walk 里顺手登记路径(只 getmtime+getsize,不读全文,零 I/O 感知)。
    - 接口多返回一个 generated 数组,页面给一个默认折叠的开关(.genbar + toggleGen)。
    - 搜索兜底:正文 0 命中时才按需读生成文件,命中带 gen:true、响应带 gen_only(实测正文 16–30ms,兜底 42–70ms)。

注意边界

  • 显示与否都不改变任何统计——开关只影响可见性,不影响计数口径。
  • 删除任何"看起来还有用"的锁/变量前必须 grep 全量引用,确认零残留。
  • 前端降级不能取消服务端正在跑的任务,否则用户以为失败了其实没跑。
  • 查询参数一律给默认值(date: str = &quot;&quot;),避免 FastAPI 缺参 422 给 SPA 吐非 JSON。

反例避雷

反例 为什么错 正确做法
/api/me 白名单里写死 login: True 任何人都能被告知"已登录",还泄露默认密码状态 按 Cookie 真实校验,未登录只给最小字段
「先查 busy 再加 busy」 API/监听/调度三方同时通过检查,同一脚本跑两遍互相覆盖 set.add 的原子性做 CAS(_claim)
把 subprocess.run(timeout=1800) 包在全局锁里 单任务占锁 30 分钟,第二个请求干等 锁只包占位,重活挪出锁
全局 replace 给所有调用加 20s 超时 误伤删除类等瞬时操作 「上一行特征 + 向下窗口」定位,只改该改的
_llm 超时 900s 不做降级 前端一直转圈无任何反馈 超时压到 ≤180s + 前端 20s 慢速提示
生成文件只过滤不登记 最近产出在页面"消失",其实还在磁盘上 同一遍 walk 里登记路径 + 折叠开关 + 搜索兜底
PAIRS 断言解包写成 for o, n, _ in PAIRS n 实为 new 串,计数永远不等,全部误报 FAIL 解包 (old, new, cnt)
必填查询参数(date: str) 前端漏传 → 422 HTML,SPA 拿到非 JSON 一律给默认值

关联

  • 知识库条目:05-技能库/技能|单文件应用并发与安全收尾SOP.md
  • 同源:~/&lt;运行时目录&gt;/skills/web-app-aesthetics-hardening(步骤 M)
  • 实证:&lt;项目根目录&gt;\改进落地报告V2.1.md、&lt;项目根目录&gt;\&lt;应用&gt;\app.py.bak_v21a
  • 相关笔记:[[技能|全要素缺陷探针法]]、[[技能|Web应用美学加固流程]]、[[技能|应用启动多线程预热与缓存法]]

版本记录

版本 日期 变更
v1.0.0 2026-09-29 首版实战固化(五项收尾 + 129 行的有证改动)

关联笔记

  • [[技能|Web应用卡顿定位与提速法]]
  • [[技能|应用启动多线程预热与缓存法]]
  • [[技能|Web应用美学加固流程]]

常见问题

5 问
答案由本站依据条目字段整理
技能|单文件应用并发与安全收尾SOP怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_6f47e228/sop。安装方式为未标注。装完刷新技能列表或重开客户端。

技能|单文件应用并发与安全收尾SOP支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

技能|单文件应用并发与安全收尾SOP权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

技能|单文件应用并发与安全收尾SOP收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

技能|单文件应用并发与安全收尾SOP用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。