讲师中心 微信公众号
AI工具推荐 视频效率加速

download-guard

Polar Sponsor
爱发电 赞助
.NET 9.0

AI Agent 下载守护(仅 Windows)。在执行以下操作时自动激活:下载、安装、git clone、pip install、npm install -g、pnpm add -g、bun install -g、conda install……

下载 Guard v5.4

功能概述

下载 Guard v5.4是一项面向实际任务的技能,主要用于Core Rules. 透明:每一次下载都告诉用户文件去向,如果环境是他的话.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Download Guard v5.4

下载位置透明 · 文件好管理 · 减少 C 盘垃圾 · 路径不可用时宁可阻止也不走 C 盘

Platform: Windows(PowerShell 5.1+)

核心规则

  1. 透明性:每次下载均明确告知用户文件将存至何处,并同步反馈当前环境健康状态
  2. 可管理性:日志自动清理;路径变更遵循预设规则,不弹出随机确认提示
  3. 零垃圾:C 盘防护机制、缓存扫描、日志自动归档
  4. 无静默回退:若 DOWNLOAD_ROOT 不可用,则强制阻断——绝不静默降级至 C: 盘

触发规则

必须触发

  • curl / wget / Invoke-WebRequest / requests.get / urllib.request
  • npm install -g(不包含无 -g 参数的本地 npm install)
  • pnpm add -g(v5.4)
  • bun install -g(v5.4)
  • pip install(不包含处于激活 venv 中的安装——需先检查 VIRTUAL_ENV 环境变量)
  • uv pip install(v5.4 —— 同样适用 venv 规则)
  • conda install / conda create / conda env update
  • cargo install(v5.4 —— 默认安装至 ~/.cargo/bin)
  • go install(v5.4 —— 默认安装至 $GOPATH/bin)
  • git clone
  • huggingface-cli download / modelscope download / ollama pull
  • docker pull
  • winget install / choco install / scoop install

不触发

  • 编写源码文件(如 .py、.js、.ts、.json、.md 等)
  • 读取 / 搜索 / grep 类操作
  • 本地 npm install(仅写入当前工作目录下的 node_modules)
  • pip install -e .(可编辑安装)
  • 文件大小 < 1MB(配置文件、临时文件等)
  • 位于 EXEMPT_PATHS 列表中的路径

执行协议

步骤 0 —— 读取配置 + 校验

$configPath = "$env:USERPROFILE.workbuddyskillsdownload-guardconfig.md"
$content = Get-Content $configPath -Raw -ErrorAction SilentlyContinue
$setupDone  = $content -match "SETUP_DONE:s*true"
$downloadRoot = if ($content -match "DOWNLOAD_ROOT:s*(.+)") { $Matches[1].Trim() } else { "" }

若 SETUP_DONE != true 或 DOWNLOAD_ROOT 为空 → 执行首次配置流程。

配置完整性校验(v5.4):读取后立即验证:

  • DOWNLOAD_ROOT 值非空,且以盘符开头(例如 D:、F:)
  • SETUP_DONE 的值为 true 或 false(不可损坏或非法)
  • 若配置疑似损坏 → 向用户发出警告,并引导其重新配置

步骤 1 —— 路径类型判定

命令 类型 动作
curl / wget / git clone / 模型下载 C(安全) 进入步骤 2
pip install(非 venv) B2 检查 site-packages 实际路径
pip install --user(v5.4) B2+ 若 site-packages 位于 C: 盘则告警,并建议使用 venv
npm install -g / pnpm add -g B1 检查 prefix、PATH 及路径中是否含空格
cargo install / go install(v5.4) B3 检查二进制目录是否已加入 PATH
修改 npm prefix / conda envs B 运行 PATH 关联性检查

类型 A = 缓存(可安全迁移);类型 B = 安装目录(必须与 PATH 同步);类型 C = 文件存储(安全)。
详细说明见 reference.md

步骤 2 —— 重复文件检查

下载前,检查目标文件是否已在 DOWNLOAD_ROOT 中存在:

$today = Get-Date -Format "yyyy-MM-dd"
$existing = Get-ChildItem "$downloadRoot$today" -Recurse -Filter "*$FileNamePart*" -ErrorAction SilentlyContinue

若发现匹配项 → 提示用户:"⚠️ 类似文件已存在:{path}({size})。是否重新下载?[y/N]"

步骤 3 —— 路径可用性 + 尺寸感知 + 空间检查

  1. 确定下载子目录(默认结构):

    DOWNLOAD_ROOTYYYY-MM-DD{sanitized-task-name}
    

    {sanitized-task-name} 命名规则:

    • 采用任务描述或包名,转为小写,空格替换为短横线(-)
    • 最长 40 字符,禁止特殊字符
    • 若无明确任务名,统一使用 general
    • 示例:F:AI-Downloads2026-05-26install-pandas
  2. 执行 scripts/check-space.ps1 —— 新增以下能力:

    • 盘符存在性检查(若盘符缺失 → 退出码 2 = BLOCK,不回退至 C:)
    • 路径可写性测试(创建并删除临时文件)
    • 若下载目录不存在则自动创建
    • 任一检查失败 → 立即阻断,并输出清晰错误信息
  3. 若已知下载尺寸(模型卡片、包元数据等):

    • 对比目标磁盘剩余空间
    • 若下载体积 > 剩余空间的 50% → 提示:"本次下载({X}GB)将占用 {drive}: 盘 {Y}% 可用空间"
    • 若下载体积 > 剩余空间 → 阻断
  4. 向用户输出摘要:

[DOWNLOAD GUARD] 准备下载
文件     : {filename}
大小     : {known size / unknown}
写入至   : {DOWNLOAD_ROOT}{YYYY-MM-DD}{task-name}
目标盘   : {X} GB 可用  [{OK/WARN/BLOCK}]
C 盘     : {X} GB 可用  [{OK/WARN}]
路径可用 : [{OK / DRIVE_MISSING / NOT_WRITABLE}]
继续执行...
check-space 退出码 含义 动作
0 正常或仅警告 继续执行
1 剩余空间不足 阻断,建议清理磁盘
2(v5.4) 路径不可用 阻断 —— 绝不回退至 C:

步骤 4 —— 下载完成后:校验 + 记录 + 通知

  1. 校验下载文件是否落于预期路径:

    Test-Path "{expected_path}"
    (Get-Item "{expected_path}").Length
    
  2. 执行 scripts/log-download.ps1(含自动清理逻辑)

  3. 向用户输出完成摘要:

[DOWNLOAD GUARD] 完成
文件   : {filename}  ({size})
位置   : {full path}
已记录 : download-log.md

若校验失败 → 提示:"⚠️ 下载文件未在预期路径找到,请手动核查。"

配置保护机制(v5.4)

当 Agent 向 config.md 写入内容时,必须满足:

  1. 回读校验:写入后立即重读文件,确认 DOWNLOAD_ROOT 与 SETUP_DONE 字段存在且合法
  2. 禁止分段写入:必须一次性完整写入整个文件,不得追加或局部更新关键字段
  3. 变更前备份:修改 DOWNLOAD_ROOT 前,须将旧值作为注释保留:
    # PREVIOUS: DOWNLOAD_ROOT: E:old-path
    DOWNLOAD_ROOT: F:new-path
    
  4. 配置损坏处理:Agent 需主动识别损坏情形(如缺失必填字段、DOWNLOAD_ROOT 为空、SETUP_DONE 非 true/false),并提示用户重新配置

首次配置流程(SETUP_DONE: false)

步骤 0 —— 扫描磁盘 + 推荐最优选项

Get-PSDrive -PSProvider FileSystem |
  Where-Object { $_.Free -gt 0 } |
  Sort-Object Free -Descending |
  ForEach-Object {
    $tag = if ($_.Name -eq "C") { " [SYSTEM - NOT recommended]" } else { "" }
    "  {0}:  {1} GB free{2}" -f $_.Name, [math]::Round($_.Free/1GB,1), $tag
  }

向用户展示结果,并高亮推荐默认选项(最大非 C 盘):

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Download Guard · 首次配置
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

磁盘扫描结果:

  F:  132 GB 可用  ← 推荐(空间最大)
  E:   97 GB 可用
  D:   39 GB 可用
  C:   58 GB 可用  [系统盘 - 不推荐]

推荐:F:AI-Downloads
确认?或输入其他路径:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

步骤 1 —— 用户确认,Agent 写入配置

  1. 标准化输入(仅输入盘符 → 补全为 {letter}:AI-Downloads;输入完整路径 → 原样采用)
  2. 接受前验证路径可写性(v5.4)
  3. 若目录不存在则自动创建
  4. 写入 config.md:SETUP_DONE: false → true,DOWNLOAD_ROOT: → 用户所选路径
  5. 回读校验配置是否正确写入(v5.4)
  6. 执行 scan-tool-cache.ps1
  7. 若发现 C 盘缓存,提示迁移

步骤 2 —— 输出状态卡片

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Download Guard · 环境就绪
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  下载目录 : {DOWNLOAD_ROOT}
  可用空间 : {X} GB  [{OK/WARN}]
  路径可写 : {YES/NO}
  C 盘     : {X} GB  [{OK/WARN}]

  npm cache  : {path}  [{OK/WARN}]
  pip cache  : {path}  [{OK/WARN}]
  npm prefix : {path}  [IN PATH: {YES/NO}]

  日志 : ~/.workbuddy/download-log.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如有 [WARN],说"帮我修复"即可。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

透明性规则

单次下载 —— 下载前:通知

单次下载 —— 下载后:校验 + 记录 + 通知

(参见上方“执行协议”中的步骤 2–4)

每日首次触发 —— 环境简报

每日首次触发时,输出环境简报。实现方式:

# 在临时文件中记录上次报告日期
$lastReportFile = "$env:TEMPdownload-guard-last-report.txt"
$today = Get-Date -Format "yyyy-MM-dd"
$lastReport = if (Test-Path $lastReportFile) { Get-Content $lastReportFile -Raw } else { "" }
if ($lastReport -ne $today) {
    # 今日首次触发 —— 展示环境简报
    Set-Content -Path $lastReportFile -Value $today -Force
    # ... 输出简报 ...
}

简报格式:

[DOWNLOAD GUARD] 今日首次 · 环境快报
下载目录   : {DOWNLOAD_ROOT}  ({X} GB 可用)
路径可用   : {OK / DRIVE_MISSING / NOT_WRITABLE}
C 盘       : {X} GB 可用  [{OK/WARN}]
工具缓存   : {all OK / N items on C: [WARN]}
日志条数   : {N} 条

若路径不可用 → 立即提示用户更新配置或重连磁盘。

路径询问策略

场景 动作
首次配置 必须询问
日常下载 不询问,仅通知
目标磁盘剩余空间 < MIN_FREE_GB 必须通知 —— 建议切换路径
DOWNLOAD_ROOT 所在磁盘缺失(v5.4) 必须通知 —— 阻断直至修复
DOWNLOAD_ROOT 不可写(v5.4) 必须通知 —— 阻断直至修复
发现 C 盘缓存 必须通知 —— 提供迁移选项
新磁盘接入 可选通知
用户询问 “下载到哪?” 响应 —— 显示当前配置

规则:仅在环境发生变更时主动提示;日常操作一律仅通知。
规则(v5.4):路径不可用 = 永远阻断,绝不静默回退至 C:。

日志清理规则

条件 动作
日志条目超过 LOG_RETENTION_DAYS 天 自动归档
归档文件总大小超过 LOG_ARCHIVE_MAX_MB 删除最旧的归档
日志文件体积 > 5MB 触发归档轮转

归档命名格式:~/.workbuddy/download-log-archive-{YYYY-MM-DD}.md

设置 LOG_RETENTION_DAYS: 0 可禁用自动清理。

自然语言指令支持

用户输入 动作
"下载了什么" / "下载日志" / "download log" 显示最近 20 条日志
"缓存在哪" / "扫描缓存" / "scan cache" 执行 scan-tool-cache.ps1
"迁移缓存" / "migrate cache" 执行 migrate-cache.ps1
"磁盘空间" / "disk space" 执行 check-space.ps1
"刚才下的在哪" / "where's my download" 显示最新日志条目的完整路径
"下载到哪" / "根目录在哪" 显示 DOWNLOAD_ROOT 当前值
"npm 用不了" / "command not found" 检查 npm prefix 是否已加入 PATH
"帮我修复" / "fix warnings" 自动修复所有 [WARN] 项
"修改下载目录" / "change download dir" 更新 config.md 中的 DOWNLOAD_ROOT
"清理日志" / "clean log" 触发日志归档清理
"检查路径" / "check path"(v5.4) 验证 DOWNLOAD_ROOT 是否存在、可写、所在磁盘健康
"重置配置" / "reset config"(v5.4) 设 SETUP_DONE: false,重启首次配置流程
"download guard version" / "下载版本"(v5.4) 显示当前版本号:5.4.0
"卸载 download guard" / "uninstall download guard" 显示清理说明(日志文件、归档、配置等)

详细参考文档

关于路径类型定义、PATH 修复模板、配置参数、脚本说明及已知限制的完整信息,请查阅 reference.md。

目录

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn