Web-Check 全能 OSINT 网站分析工具技术分析一、概述1. 项目背景Web-Check 是由开发者 Lissy93（Alicia Sykes）创建的开源 OSINT（Open Source Intelligence，开源情报）工具。该项目旨在为安全研究人员、渗透测试人员、网站运维人员提供一个综合性的网站分析平台，通过单一界面获取目标网站的全方位技术情报。A. 项目定位类型：All-in-one OSINT 工具许可证：MIT 开源许可目标用户：安全研究人员、渗透测试人员、红队成员、网站管理员、系统运维人员B. 核心价值传统网站分析通常需要使用多个独立工具分别查询 DNS、SSL、服务器信息等，Web-Check 将这些功能整合到统一平台，大幅提升分析效率。2. 关键数据A. 项目热度GitHub Stars：30.2kGitHub Forks：2.4k贡献者：29 人支持者：GitHub Sponsors 平台活跃B. 技术栈TypeScript：65.5%JavaScript：18.5%Astro：11.7%SCSS：2.1%HTML：1.1%Dockerfile：0.6%C. 部署方式在线 Demo：https://web-check.as93.net官方网站：https://web-check.xyzDocker 镜像：支持一键部署云平台：Netlify、Vercel 一键部署二、核心功能1. 功能模块概览Web-Check 集成了 20+ 个检测模块，涵盖网站分析的各个维度。以下是核心功能分类：A. 基础信息收集IP 信息：获取目标 IP 地址、地理位置、ISP 信息DNS 记录：解析 A、AAAA、MX、TXT、CNAME 等各类 DNS 记录Whois 查询：域名注册信息、注册人、注册时间等域名信息：域名年龄、注册商、DNS 服务器B. 安全分析SSL 证书链：SSL/TLS 证书详细信息、颁发机构、有效期安全配置：HTTP 安全头、CSP、HSTS 等配置检测防火墙检测：识别 WAF、防火墙规则恶意软件检测：检查域名是否被列入黑名单C. 服务器分析服务器位置：物理位置推断开放端口：常用端口扫描Traceroute：路由跳数追踪关联主机名：同服务器托管的其他域名（需 Shodan API）D. 技术栈识别Tech Stack：识别前端框架、后端技术、CMS、服务器软件HTTP 头：响应头分析、服务器指纹识别Cookie：Cookie 设置分析爬虫规则：robots.txt、sitemap.xml 解析E. 内容分析页面地图：网站结构可视化关联页面：内外链分析社交媒体标签：Open Graph、Twitter Card 等元标签截图：网页截图获取F. 性能与质量网站性能：加载时间、资源大小质量指标：Lighthouse 分数（需 Google API）碳足迹：估算网站碳排放G. 高级功能重定向链：追踪 HTTP 重定向路径TLS 密码套件：支持的加密套件分析TLS 安全配置：TLS 版本、协议配置TLS 握手模拟：模拟连接过程DNS 安全扩展：DNSSEC 记录查询历史存档：Wayback Machine 历史记录全球排名：网站流量排名估算封锁检测：检测是否被防火墙封锁邮箱配置：SPF、DMARC、DKIM 记录2. 系统架构graph TB User[用户] --> WebUI[Web 界面] WebUI --> API[API 服务] API --> DNS[DNS 查询模块] API --> SSL[SSL 分析模块] API --> Server[服务器探测模块] API --> Scanner[爬虫与分析模块] API --> External[外部 API 集成] DNS --> Response[(分析结果)] SSL --> Response Server --> Response Scanner --> Response External --> Response Response --> WebUI External -.Shodan/Google/WhoAPI.-> ExternalAPI[第三方服务]3. 数据流向sequenceDiagram participant U as 用户 participant W as Web UI participant A as API 层 participant M as 分析模块 participant E as 外部服务 U->>W: 输入目标域名 W->>A: 发起分析请求 A->>M: 调用多个检测模块 M->>E: 查询外部 API（可选） E-->>M: 返回增强数据 M-->>A: 返回模块结果 A-->>W: 汇总分析数据 W-->>U: 展示分析报告三、技术实现1. 前端架构框架：Astro（静态站点生成器）UI 组件：Svelte（响应式组件）样式：SCSS构建工具：Vite2. 后端架构运行时：Node.jsAPI 框架：Express.js（API 路由）服务端渲染：Astro SSR语言：TypeScript3. 部署架构容器化：Docker 支持无服务器：Netlify Functions、Vercel Functions自托管：Node.js 服务器、server.js 入口4. 关键技术点并发请求处理：多模块并行查询缓存机制：减少重复查询速率限制：防止 API 滥用CORS 配置：跨域资源共享超时控制：防止长时间挂起四、部署方案1. 在线使用访问官方 Demo：https://web-check.as93.net2. Docker 部署（推荐）docker run -p 3000:3000 lissy93/web-check3. 云平台一键部署Netlify：点击页面按钮一键部署Vercel：点击页面按钮一键部署4. 源码部署git clone https://github.com/Lissy93/web-check.git cd web-check yarn install yarn build yarn serve五、配置选项1. 环境变量配置A. API 密钥（可选）环境变量用途获取地址GOOGLE_CLOUD_API_KEY网站质量指标Google Cloud ConsoleREACT_APP_SHODAN_API_KEY关联主机名查询ShodanREACT_APP_WHO_API_KEY增强 Whois 查询WhoAPIB. 系统配置环境变量默认值说明PORT3000API 服务端口API_ENABLE_RATE_LIMITtrue是否启用速率限制API_TIMEOUT_LIMIT10000API 请求超时（毫秒）API_CORS_ORIGIN-CORS 允许的源CHROME_PATH/usr/bin/chromiumChromium 可执行文件路径DISABLE_GUIfalse是否禁用 GUI 仅提供 APIREACT_APP_API_ENDPOINT/apiAPI 端点地址2. 功能依赖Chromium：页面截图、动态内容分析traceroute：路由追踪dns：DNS 查询工具六、应用场景1. 安全研究漏洞挖掘前的信息收集攻击面分析安全配置审计2. 渗透测试目标侦察资产发现关联域名分析3. 红队演练开源情报收集社会工程学信息收集物理位置推断4. 网站运维安全配置检查性能优化参考技术栈升级规划七、优势与局限1. 优势功能全面：20+ 检测模块一站式解决方案开源免费：MIT 许可证，完全开源易于部署：支持多种部署方式，Docker 一键启动用户友好：Web 界面直观，无需命令行操作可扩展：模块化设计，易于添加新功能社区活跃：持续更新，30k+ stars2. 局限部分功能需外部 API：高级功能需要配置第三方 API 密钥被动探测：不进行主动漏洞扫描速率限制：部分查询有频率限制资源消耗：并发查询可能消耗较多资源依赖网络环境：部分地区可能无法访问部分服务八、与其他工具对比1. vs. Shodan特性Web-CheckShodan成本开源免费付费（有限免费额度）功能综合分析专注于网络设备/服务部署可自托管仅在线服务范围网站/域名全网设备2. vs. SecurityTrails特性Web-CheckSecurityTrails成本开源免费付费历史数据有限完整历史记录API 限制无有严格限制部署可自托管仅在线服务3. vs. Recon-ng特性Web-CheckRecon-ng界面Web GUI命令行易用性高需学习成本模块固定模块可扩展模块自动化较弱强大的自动化能力九、最佳实践1. 使用建议合法使用：仅用于授权测试和教育目的API 密钥保护：使用环境变量管理密钥，不要提交到代码仓库速率控制：合理配置速率限制，避免被封禁结果验证：交叉验证多个信息源2. 部署建议内网部署：敏感场景建议内网私有部署反向代理：生产环境建议使用 Nginx 作为反向代理HTTPS：启用 HTTPS 加密传输访问控制：配置身份验证机制十、社区与生态1. 项目链接GitHub：https://github.com/Lissy93/web-check官网：https://web-check.xyzDemo：https://web-check.as93.net镜像（Codeberg）：https://codeberg.org/alicia/web-check2. 贡献指南欢迎 Pull Request遵循 Contributor Convent 行为准则GitHub Issues 用于 Bug 报告和功能建议3. 赞助作者通过 GitHub Sponsors 接受赞助，用于覆盖云服务成本（约 25 美元/月）。十一、总结Web-Check 是一个功能全面、易于部署的开源 OSINT 工具，通过整合 20+ 个网站分析模块，为安全研究人员和运维人员提供了高效的一站式解决方案。其模块化架构、多种部署方式和活跃的社区支持，使其成为网站安全分析和信息收集的理想选择。对于需要进行网站侦察、安全审计或技术栈分析的用户来说，Web-Check 提供了强大的功能和灵活的部署选项，无论是通过在线 Demo 快速体验，还是通过 Docker 私有部署，都能满足不同场景的需求。参考资料Web-Check GitHub 仓库 - 官方仓库Web-Check 官方网站 - 项目官网推家一款全能的网站OSINT分析工具 - 腾讯云 - 腾讯云技术文章（2025年4月）Web-Check：一款全能的开源OSINT网站分析工具 - CSDN - CSDN 技术文章（2025年12月）Linux系统之部署web-check网站分析工具 - 阿里云 - 阿里云部署教程
httpx HTTP 多用途探测工具技术分析一、概述1. 简介httpx 是由 ProjectDiscovery 团队开发的一款快速且多用途的 HTTP 工具包，它允许使用 retryablehttp 库运行多种探测。该工具设计用于在增加线程数量的同时保持结果可靠性。2. 核心特点A. 技术优势简单且模块化的代码库，易于贡献快速且完全可配置的标志以探测多个元素支持多种基于 HTTP 的探测智能的 HTTPS 到 HTTP 自动回退机制支持 hosts、URL 和 CIDR 作为输入处理边界情况，包括重试、退避等，以应对 WAF（Web 应用防火墙）B. 应用场景网络资产发现安全测试和渗透测试Bug 赏金狩猎OSINT（开源情报）收集管道化批量处理二、支持的探测类型httpx 提供了丰富的探测选项，默认启用的探测包括：探测类型默认启用描述URL是目标 URLTitle是页面标题Status Code是HTTP 状态码Content Length是响应内容长度TLS Certificate是TLS 证书信息CSP Header是内容安全策略头Line Count是响应行数Word Count是响应词数Location Header是重定向位置Web Server是Web 服务器信息Web Socket是WebSocket 支持Response Time是响应时间Request Method是请求方法Body Hash是响应体哈希Header Hash是响应头哈希URL Scheme是URL 方案（http/https）可选探测类型：IP：主机 IP 地址CNAME：CNAME 记录Raw HTTP：原始 HTTP 响应HTTP2：HTTP/2 支持HTTP Pipeline：HTTP 管道支持Virtual host：虚拟主机探测Paths：路径探测Ports：端口探测Favicon Hash：网站图标哈希Probe Status：探测状态Redirect chain：重定向链JARM Hash：JARM 指纹哈希ASN：自治系统号CDN：CDN/WAF 检测三、安装与配置1. 系统要求httpx 需要 Go >= 1.24.0 版本才能成功安装。2. 安装方法go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest3. Docker 方式docker pull projectdiscovery/httpx4. 配置文件默认配置文件路径：$HOME/.config/httpx/config.yaml四、核心架构1. 工作原理graph TB A[输入源] --> B{输入类型} B -->|hosts| C[DNS解析] B -->|URLs| D[URL标准化] B -->|CIDR| E[IP枚举] C --> F[目标队列] D --> F E --> F F --> G[线程池 默认50线程] G --> H[HTTP探测引擎] H --> I{探测类型} I -->|默认| J[基本探测] I -->|可选| K[高级探测] J --> L[结果收集] K --> L L --> M{输出格式} M -->|JSON| N[JSONL输出] M -->|CSV| O[CSV输出] M -->|标准| P[终端输出] H -->|WAF检测| Q[重试/退避] Q --> H2. 探测流程sequenceDiagram participant C as 客户端 participant H as httpx participant T as 目标服务器 participant WAF as WAF/防火墙 C->>H: 提供目标列表 H->>H: 解析和标准化输入 H->>T: HTTPS 探测 alt HTTPS 成功 T-->>H: HTTPS 响应 H->>H: 执行探测 else HTTPS 失败 H->>T: HTTP 回退探测 alt HTTP 成功 T-->>H: HTTP 响应 H->>H: 执行探测 else HTTP 失败 H->>H: 重试/退避 H->>WAF: WAF 绕过处理 end end H-->>C: 返回探测结果五、使用方法1. 基本用法# 显示帮助 httpx -h # 探测单个目标 httpx -u https://example.com # 探测多个目标 httpx -u https://example.com -u https://example.org # 从文件读取目标 httpx -l targets.txt2. 输出控制# JSON 格式输出 httpx -l targets.txt -json -o results.json # CSV 格式输出 httpx -l targets.txt -csv -o results.csv # 仅输出状态码 httpx -l targets.txt -status-code # 输出多个探测字段 httpx -l targets.txt -status-code -title -server -tech-detect3. 高级探测# 探测自定义端口 httpx -l targets.txt -ports http:8080,https:8443 # 探测虚拟主机 httpx -l targets.txt -vhost # 截图功能 httpx -l targets.txt -screenshot # TLS 指纹探测 httpx -l targets.txt -tls-grab -jarm4. 匹配与过滤# 匹配特定状态码 httpx -l targets.txt -mc 200,301,302 # 匹配特定字符串 httpx -l targets.txt -ms "admin" -ms "login" # 匹配特定响应时间 httpx -l targets.txt -mrt "< 1" # 过滤重复响应 httpx -l targets.txt -filter-duplicates # DSL 条件过滤 httpx -l targets.txt -fdc "status_code==200 && content_length>1000"5. 认证支持httpx 支持基于域名的认证，通过密钥文件配置：# secrets.yaml id: example-auth info: name: Example Auth Config static: - type: Header domains: - api.example.com headers: - key: X-API-Key value: secret-key-here - type: BasicAuth domains-regex: - ".*\\.internal\\.com$" username: admin password: secret使用方式：httpx -l targets.txt -sf secrets.yaml支持的认证类型：BasicAuth：基本认证BearerToken：Bearer 令牌Header：自定义请求头Cookie：Cookie 认证Query：查询参数认证六、作为库使用httpx 可以作为 Go 库使用：package main import ( "context" "fmt" "log" "github.com/projectdiscovery/httpx/internal/httpx" "github.com/projectdiscovery/httpx/runner" ) func main() { // 创建选项 options := httpx.Options{ Methods: []string{"GET", "POST"}, StatusCode: true, Title: true, Server: true, } // 验证选项 if err := options.Validate(); err != nil { log.Fatal(err) } // 创建 runner r, err := runner.New(&runner.Options{ Options: options, Output: os.Stdout, }) if err != nil { log.Fatal(err) } defer r.Close() // 执行探测 if err := r.RunEnumeration(context.Background(), []string{"https://example.com"}); err != nil { log.Fatal(err) } }七、性能优化1. 并发控制# 设置线程数（默认 50） httpx -l targets.txt -threads 100 # 设置速率限制（默认 150 req/s） httpx -l targets.txt -rate-limit 200 # 设置每分钟速率限制 httpx -l targets.txt -rate-limit-minute 100002. 超时与重试# 设置超时时间（默认 10 秒） httpx -l targets.txt -timeout 5 # 设置重试次数 httpx -l targets.txt -retries 3 # 设置请求延迟 httpx -l targets.txt -delay 100ms3. 优化选项# 禁用回退，探测两种协议 httpx -l targets.txt -no-fallback # 禁用自动 CDN 检测 httpx -l targets.txt -cdn false # 限制响应大小 httpx -l targets.txt -response-size-to-read 1048576八、典型应用场景1. 资产发现# 子域名存活探测 cat subdomains.txt | httpx -silent -status-code -title # IP 段 HTTP 服务发现 echo "192.168.1.0/24" | httpx -ports 80,443,80802. 安全测试# 查找敏感页面 httpx -l urls.txt -path admin,login,wp-admin -status-code -mc 200 # 技术栈识别 httpx -l targets.txt -tech-detect -json # 截图收集 httpx -l targets.txt -screenshot -store-response-dir screenshots3. Bug 赏金狩猎# 探测未授权端点 httpx -l targets.txt -paths common-paths.txt -status-code -mc 200,403 # 查找信息泄露 httpx -l targets.txt -ms "Error" -ms "Exception" -ms "Warning"4. 批量处理# 管道模式 cat targets.txt | httpx -stream | grep "200" # 组合其他工具 subfinder -d example.com | httpx -silent -title | nuclei九、注意事项1. 免责声明本项目处于活跃开发中，预期会有破坏性更改更新前请查看变更日志该工具主要设计为独立 CLI 工具，作为服务运行可能存在安全风险2. 特定标志使用以下标志应用于特定用例，不应与其他探测默认运行：-ports：端口探测-path：路径探测-vhost：虚拟主机探测-screenshot：截图-csp-probe：CSP 域名探测-tls-probe：TLS 域名探测-favicon：Favicon 哈希-http2：HTTP/2 探测-pipeline：HTTP 管道-tls-impersonate：TLS 伪装3. 输入模式支持 Burp Suite XML 导出：-l burp-export.xml -im burp自定义解析器支持多种协议：doh、tcp、udp格式：protocol:resolver:port（如 udp:127.0.0.1:53）十、社区与生态1. 项目数据Stars：9.4kForks：1k贡献者：100+使用者：256 个项目最新版本：v1.7.4（2025 年 12 月）2. 技术栈Go 61.7%HTML 37.9%其他 0.4%3. 相关工具retryablehttp-go：底层 HTTP 客户端库nuclei：漏洞扫描工具subfinder：子域名发现工具参考资料httpx GitHub 仓库httpx 官方文档ProjectDiscovery 团队
Claude Code 2.0 完整指南与技术分析一、概述1. 简介A. 是什么Claude Code 是 Anthropic 官方推出的 CLI 工具，将 Claude 大语言模型的能力集成到命令行环境中。它不仅是一个编码助手，更是一个通用智能代理，可用于数据分析、文档处理、系统操作等多种任务。B. 为什么学提升编码效率：通过智能代理自动化完成重复性编码任务更快的反馈循环：Opus 4.5 模型速度和协作能力显著提升掌握前沿工具：Claude Code 已成为 CLI 编码产品的标杆，其他工具如 Codex、OpenCode 等都深受其影响技能可迁移：学习 Claude Code 的经验可直接应用到其他 AI 编码工具C. 学完能做什么熟练使用子代理进行代码库探索和任务执行理解并应用上下文工程技术优化 AI 代理性能创建自定义命令、钩子和技能以扩展 Claude Code 功能掌握 MCP 服务器集成实现外部工具连接2. 前置知识A. 必备技能基本 Linux/macOS 命令行操作了解软件开发生命周期对大语言模型基本概念的理解B. 推荐知识熟悉至少一种编程语言了解 Git 版本控制具备系统设计基础概念二、核心概念1. 基本术语上下文窗口（Context Window）：LLM 能够一次性查看和处理的最大令牌数量，类似于模型的工作记忆工具调用（Tool Calling）：LLM 执行特定操作的能力，如读取文件、搜索网络、运行命令等智能代理（Agent）：能够主动运行工具以实现目标的 LLM 系统上下文工程（Context Engineering）：在有限的上下文窗口中优化信息配置，以实现模型期望行为的技术2. 工作原理graph TB A[用户输入] --> B[主代理 Claude] B --> C{任务分析} C -->|简单任务| D[直接执行] C -->|复杂任务| E[Task Tool] E --> F[子代理 Explore] E --> G[子代理 Plan] E --> H[子代理 General-purpose] F --> I[工具调用 Glob/Grep/Read] G --> J[生成实施计划] H --> K[多步骤任务执行] I --> L[返回结果] J --> L K --> L L --> B B --> M[输出结果]三、Claude Code 2.0 新特性1. 生活质量改进A. 语法高亮2.0.71 版本引入的语法高亮功能显著提升了代码审查体验。高对比度的文本和粗体字重使代码差异更易阅读。B. 提示系统在模型思考过程中显示实用提示，帮助用户发现隐藏功能。虽然部分提示可能不适用于所有场景，但整体上提供了有价值的学习机会。C. 反馈 UI优雅的非侵入式反馈系统，允许用户通过数字键快速响应（1：差，2：一般，3：好）或按 0 忽略。D. 检查点功能Esc + Esc 或 /rewind 命令允许回滚到特定检查点，类似于 Cursor 的功能。可以同时回滚代码和对话。2. 核心功能增强A. 超级思考模式对于复杂任务，可以使用 /ultrathink 让 Opus 4.5 进行更严谨的推理，适用于解释复杂概念或自我审查代码变更。B. 提示建议（2.0.73）新增的提示建议功能预测相当准确，能够根据当前上下文提供相关的后续操作建议。C. 提示历史搜索Ctrl + R 可以搜索提示历史，类似终端的反向搜索功能，可跨项目全局对话搜索。D. 模糊文件搜索（2.0.72）文件建议速度提升 3 倍，支持模糊搜索。E. LSP 支持通过插件支持 LSP（语言服务器协议），提供更强大的代码智能感知。四、子代理系统1. 子代理类型Claude Code 提供多种预定义子代理，每个代理都有特定的用途和工具集。子代理类型用途可用工具上下文继承general-purpose复杂问题和多步骤任务全部工具是Explore快速代码库探索Glob、Grep、Read、有限 Bash否Plan软件架构设计和实施规划全部工具是claude-code-guideClaude Code 文档查询Glob、Grep、Read、WebFetch、WebSearch是statusline-setup状态栏配置Read、Edit是2. Explore 代理详解Explore 代理是只读文件搜索专家，专门用于快速浏览代码库。A. 核心特性严格只读模式：禁止创建、修改或删除文件高效文件查找：使用 glob 模式进行广泛文件匹配强大搜索能力：使用正则表达式搜索文件内容并行工具调用：通过并行 grep 和读取文件提高效率B. 使用场景快速定位文件：如查找所有 TypeScript React 组件代码关键词搜索：如查找 API 端点定义代码库问题回答：如解释特定功能如何工作C. 调用方式"Launch explore agent with Sonnet 4.5"可以指定使用 Sonnet 而非默认的 Haiku 模型。3. Task Tool 架构sequenceDiagram participant U as 用户 participant M as 主代理 participant T as Task Tool participant S as 子代理 participant FS as 文件系统 U->>M: 任务请求 M->>M: 分析任务复杂度 M->>T: 调用 Task Tool Note over T: 指定参数: - description - prompt - subagent_type - model (可选) T->>S: 启动子代理 S->>FS: 执行工具调用 FS-->>S: 返回结果 S-->>T: 完成并返回消息 T-->>M: 返回子代理输出 M-->>U: 呈现结果A. 关键参数description（必需）：任务简短描述，3-5 个词prompt（必需）：代理要执行的任务subagent_type（必需）：专用代理类型model（可选）：sonnet、opus 或 haiku，默认继承父模型run_in_background（可选）：设置为 true 在后台运行resume（可选）：从前一次调用恢复的代理 ID五、上下文工程1. 上下文窗口与令牌消耗A. 令牌消耗机制智能代理在执行任务时会进行大量工具调用，每个工具调用及其结果都会被添加到上下文窗口中。这是因为 LLM 是无状态的，它们在上下文窗口之外没有记忆。示例上下文窗口消耗：用户："为我的咖啡店制作一个着陆页" Assistant: [tool_call: web_search("现代咖啡店着陆页设计")] Tool result: [10 个结果，包含片段和 URL] ← ~1.5K 令牌 Assistant: [tool_call: read_file("brand-guidelines.pdf")] Tool result: [提取的文本、颜色、字体] ← ~4K 令牌 Assistant: [tool_call: create_file("landing-page.html")] Tool result: [成功，140 行] ← ~50 令牌 Assistant: [tool_call: edit_file("landing-page.html")] Tool result: [diff: 添加了主图和菜单部分] ← ~300 令牌 总计：单个任务约 6K+ 令牌。所有内容保留在上下文中。B. 上下文退化问题随着每个新令牌的引入，LLM 的上下文检索性能会下降。可以将上下文视为有限的"注意力预算"，这是注意力机制本身的结果。不同模型的上下文窗口：GPT-5.2：400K 输入令牌Opus 4.5：200K 输入令牌Gemini 3 Pro：1M 输入令牌经验法则：有效上下文窗口大约是标称值的 50-60% 或更少。2. 上下文工程技术A. 通过重复注入操纵注意力Manus 在其上下文工程博客中分享了这一技术：如果您使用过 Manus，您可能注意到了一个奇怪的现象：在处理复杂任务时，它倾向于创建一个 todo.md 文件，并在任务进行时逐步更新它，检查已完成的条目。这不仅仅是可爱的行为，这是操纵注意力的刻意机制。Manus 中的典型任务平均需要约 50 次工具调用。这是一个很长的循环，由于 Manus 依赖 LLM 进行决策，因此容易偏离主题或忘记早期目标，尤其是在长上下文或复杂任务中。通过不断重写待办事项列表，Manus 将其总体目标背诵到上下文的末尾。这将全局计划推入模型最近的注意力范围，避免了"迷失在中间"的问题，并减少了目标不一致。Claude Code 也有类似功能。当您使用 TodoWrite 工具时，模型会跟踪任务进度，这有助于保持对总体目标的关注。B. 系统提醒机制Claude Code 通过在用户消息和工具结果中插入 标签来定期注入目标。graph LR A[用户消息] --> B[注入系统提醒] B --> C[添加上下文信息] C --> D[模型处理] E[工具结果] --> B D --> F[助手响应] F --> G[添加系统提醒] G --> H[返回给用户]六、扩展功能1. 自定义命令A. 命令类型项目级命令：存储在 .claude/commands/全局命令：存储在 ~/.claude/commands/B. 创建方式当您发现自己重复编写某些提示，且指令可以静态/精确时，创建自定义命令是个好主意。示例：/handoff 命令用于在上下文窗口变满时开始新对话，让 Claude 编写当前会话的摘要。C. 命令执行机制当您输入命令时，该提示会被追加到当前对话/上下文中，主代理开始执行任务。2. MCP 服务器A. 什么是 MCPMCP（Model Context Protocol）服务器是可以在本地机器或远程互联网上托管的服务器。它们可以暴露文件系统、工具和集成（如 CRM、Google Drive 等）。本质上是模型连接外部工具和服务的一种方式。B. 连接方式需要 MCP 客户端（Claude）作为主机MCP 客户端调用协议进行连接连接后，MCP 客户端暴露服务器提供的工具、资源和提示C. 令牌消耗问题工具定义会被提前加载到主机的上下文窗口中，导致上下文膨胀。更多 MCP 服务器意味着更多工具定义。D. MCP 代码执行建议通过代码 API 而非工具调用定义来暴露功能，并为 Claude 提供具有文件系统的沙盒执行环境。然后让它编写代码来进行工具调用。3. 技能与插件A. 技能（Skills）技能是包含 SKILL.md 文件、其他可引用文件和代码脚本的文件夹，用于执行某些用户定义的任务。SKILL.md 包含元数据，LLM 通过这些元数据了解可用的技能（元数据被添加到系统提示中）。如果 Claude 认为技能相关，它会执行工具调用以读取技能内容并下载领域专业知识。技能的优势：按需加载，不需要将所有信息写入系统提示特别适用于不确定是否始终需要这些指令的情况B. 插件插件是一种打包机制，将技能、斜杠命令、子代理、钩子和 MCP 服务器捆绑到一个可分发的单元中。通过 /plugins 安装使用命名空间避免冲突（如 /my-plugin:hello）便于跨项目和团队共享功能示例：流行的 frontend-design 插件实际上就是一个技能。4. 钩子（Hooks）钩子允许您观察代理循环生命周期中某个阶段的开始或结束，并在之前或之后运行 bash 脚本来更改代理循环。A. 可用钩子Stop：Claude 完成响应后运行UserPromptSubmit：用户提交提示后、Claude 处理前运行B. 使用场景示例 1：当 Claude 停止响应时播放动漫通知声音示例 2：通过 Stop 钩子在 Claude 完成当前任务后运行"Do more"提示，保持 Claude 运行数小时C. 组合应用将钩子、技能和提醒结合使用可以创建强大的自定义工作流。七、实用工作流程1. 作者的工作流A. 设置以 Claude Code 作为主要驱动Codex 用于审查和困难任务Cursor 用于阅读代码和手动编辑很少使用 Plan ModeB. 探索和执行通过提出大量问题探索代码库澄清需求，理解在哪里/如何/为什么进行更改使用 /ultrathink 并询问需要哪些更改如果看起来正常，开始执行并密切监控更改C. "丢弃初稿"方法对于困难的新功能：理解需要哪些更改创建新分支并让 Claude 端到端编写功能将其输出与心理模型进行比较根据第一次迭代学到的内容运行另一次迭代2. 代码审查对于代码审查和查找 bug，GPT-5.2-Codex 更为优越。只需使用 /review。它能够：发现 bug 并提及严重性（P1、P2）不太可能报告假阳性在处理令人困惑的更改时比 Claude 更可靠Claude 用于执行，GPT/o 系列模型用于审查/bug，这种动态已经相当稳定。3. 背景代理使用背景进程功能对于调试或监控日志输出非常有用。模型通常会自动决定将进程放入后台，但您也可以明确告诉它这样做。八、最佳实践1. 上下文管理A. 何时进行压缩或开始新对话当总上下文使用率达到 60% 时（如果正在构建复杂内容）不要在对话进行到一半时开始复杂任务B. 上下文工程目标插入最相关的上下文减少上下文膨胀/不相关上下文提供少量且不冲突的指令通过提醒和运行时注入使工具调用更好地工作2. 子代理使用策略A. 何时使用子代理搜索关键词或文件且不确定在前几次尝试中能否找到正确匹配需要快速浏览代码库以查找文件模式需要为任务规划实施策略B. 何时避免使用子代理想要读取特定文件路径时（使用 Read 或 Glob）搜索特定类定义时（使用 Glob）在特定文件或 2-3 个文件集合中搜索代码时（使用 Read）3. 技能和插件管理A. 保持技能文件简洁Anthropic 建议将 skill.md 保持在 500 行以下，可以考虑：将指令分成单独的技能文件结合钩子使用减少 CLAUDE.md 大小B. 插件命名空间使用命名空间避免冲突，格式为 /plugin-name:command九、与其他工具对比1. Claude Code vs Codex特性Claude CodeCodex子代理支持不支持速度更快较慢协作能力优秀一般意图检测更好可能忽略指令上下文窗口200K400KUI 可读性高对比度文本较细文本，难以阅读详尽程度符合预期更简洁2. 为什么选择 Opus 4.5A. 优势更快的速度和更快的反馈循环更好的沟通者和结对程序员更好的意图检测能力优秀的写作能力具有个性，被一些人认为有"灵魂"B. 与 GPT-5.1/Codex 的对比在代码生成能力上大致相当，但 Opus 4.5 的速度和协作性使其成为更好的日常驱动程序。十、总结1. 关键要点A. 掌握基础理解上下文窗口和令牌消耗机制熟练使用预定义子代理学会创建自定义命令B. 进阶应用应用上下文工程技术优化性能利用技能和插件扩展功能使用钩子自动化工作流程C. 持续学习定期查看更新日志尝试新功能和模型参与社区讨论2. 未来展望A. 预期改进RL 训练改进通过新注意力架构提高长上下文有效性更高吞吐量的模型更少幻觉的模型B. 潜在突破o1/o3 级别的推理突破持续学习领域的进展3. 行动建议如果您觉得这篇文章有用，请今天尝试一个新功能。祝您构建愉快！参考资料A Guide to Claude Code 2.0 and getting better at using coding agentsBuilding Effective Agents - AnthropicEffective Context Engineering for AI Agents - AnthropicCode Execution with MCP - AnthropicClaude Code ChangelogContext Rot - ChromaWhat Actually Is Claude Code's Plan Mode? - Armin Ronacherawesome-claude-code
dog 命令行 DNS 客户端技术分析一、概述1. 简介A. 是什么dog 是一个用 Rust 编写的命令行 DNS 客户端工具，类似于传统的 dig 工具，但提供了更现代的用户体验和更强大的功能。B. 为什么值得关注彩色输出让 DNS 查询结果更易读支持标准的命令行参数语法，学习曲线更平缓支持 DNS-over-TLS 和 DNS-over-HTTPS 加密查询协议可以输出 JSON 格式，便于与其他工具集成使用 Rust 编写，性能优异且内存安全C. 能做什么查询各类 DNS 记录（A、MX、NS、TXT 等）指定自定义 DNS 服务器进行查询通过 UDP、TCP、TLS 或 HTTPS 协议进行查询以彩色或 JSON 格式输出结果测量 DNS 响应时间二、核心特性1. 基本功能dog 提供了完整的 DNS 查询功能，支持所有常见的记录类型和网络类。2. 协议支持graph LR subgraph 传统协议 UDP[UDP] TCP[TCP] end subgraph 加密协议 DoT[DNS-over-TLS] DoH[DNS-over-HTTPS] end Client[dog客户端] --> UDP Client --> TCP Client --> DoT Client --> DoH UDP --> Server[DNS服务器] TCP --> Server DoT --> Secure[安全DNS解析] DoH --> Secure3. 输出格式默认彩色输出：易于阅读，自动高亮重要信息JSON 输出：便于脚本处理和与其他工具集成短格式：仅显示第一个结果三、安装方式1. 包管理器安装根据不同平台，可通过以下方式安装：Arch Linux：dog 包macOS Homebrew：dog formulaNixOS：dogdns 包2. 预编译二进制从 GitHub Releases 页面下载适用于 Windows、macOS 和 Linux 的预编译二进制文件。3. 从源码编译graph TD A[获取源码] --> B{选择编译选项} B -->|完整功能| C[cargo build] B -->|最小体积| D[cargo build --no-default-features] C --> E[编译完成] D --> E E --> F[复制到 PATH]前置要求：Rust 编译器 1.45.0 或更高版本推荐使用 rustup 安装 Rust编译命令：cargo build cargo test发布版本编译：cargo build --release # 或使用 just just build-release编译后的二进制文件位于 target/release 目录，建议复制到 /usr/local/bin 等 PATH 目录。四、功能特性开关dog 提供三个 Cargo 功能开关，默认全部启用：1. with_idna启用国际化域名支持，允许查询非 ASCII 字符的域名。2. with_tls启用 DNS-over-TLS 支持，通过 TLS 加密 DNS 查询。3. with_https启用 DNS-over-HTTPS 支持，通过 HTTPS 加密 DNS 查询（依赖 with_tls）。示例：仅保留 IDNA 支持，禁用 TLS 和 HTTPScargo build --no-default-features --features=with_idna可通过 --version 参数查看已禁用的功能列表。五、命令行参数1. 查询选项：人类可读的主机名、名称服务器、类型或类-q, --query=HOST：要查询的主机名或域名-t, --type=TYPE：DNS 记录类型（A、MX、NS 等）-n, --nameserver=ADDR：发送数据包的名称服务器地址--class=CLASS：DNS 记录的网络类（IN、CH、HS）2. 发送选项--edns=SETTING：是否选择使用 EDNS（disable、hide、show）--txid=NUMBER：将事务 ID 设置为特定值-Z=TWEAKS：设置不常见的协议级调整3. 协议选项-U, --udp：使用 UDP 上的 DNS 协议-T, --tcp：使用 TCP 上的 DNS 协议-S, --tls：使用 DNS-over-TLS 协议-H, --https：使用 DNS-over-HTTPS 协议4. 输出选项-1, --short：短模式，仅显示第一个结果-J, --json：以 JSON 格式显示输出--color, --colour=WHEN：何时为输出着色（always、automatic、never）--seconds：不格式化持续时间，以秒显示--time：打印响应到达所需时间六、使用示例1. 基本查询dog example.net使用默认设置查询域名。2. 查询特定记录类型dog example.net MX查询 MX（邮件交换）记录。3. 指定 DNS 服务器dog example.net MX @1.1.1.1使用指定的 DNS 服务器（如 Cloudflare 的 1.1.1.1）进行查询。4. 使用 TCP 协议dog example.net MX @1.1.1.1 -T使用 TCP 而非 UDP 进行查询。5. 使用显式参数dog -q example.net -t MX -n 1.1.1.1 -T使用显式参数进行与上述相同的查询。6. DNS-over-TLS 查询dog example.com -S @1.1.1.1通过 TLS 加密通道查询 DNS。7. DNS-over-HTTPS 查询dog example.com -H @1.1.1.1通过 HTTPS 加密通道查询 DNS。8. JSON 输出dog example.net -J以 JSON 格式输出结果，便于脚本处理。七、容器化部署1. 构建镜像docker build -t dog .2. 运行容器docker run -it --rm dog3. 创建别名alias dog="docker run -it --rm dog"创建别名后可直接使用 dog 命令。八、项目信息1. 开发语言Rust 96.7%Shell 1.9%PowerShell 1.3%Dockerfile 0.1%2. 项目统计GitHub Stars：6.6kForks：205Contributors：17License：European Union Public Licence (EUPL-1.2)3. 相关工具just：命令运行器，用于开发任务管理Specsheet：用于端到端集成测试九、技术分析1. 架构设计graph TB subgraph CLI层 Args[参数解析] end subgraph DNS核心 DNS库[dns库] Transport[dns-transport] end subgraph 协议层 UDP[UDP实现] TCP[TCP实现] TLS[TLS实现] HTTPS[HTTPS实现] end Args --> DNS库 DNS库 --> Transport Transport --> UDP Transport --> TCP Transport --> TLS Transport --> HTTPS UDP --> Network[网络层] TCP --> Network TLS --> Network HTTPS --> Network2. 模块组成dns：核心 DNS 协议实现dns-transport：可插拔的 DNS 传输层，支持不同 TLS 实现completions：Shell 自动补全脚本xtests：端到端集成测试3. 设计优势模块化架构：传输层与核心逻辑分离功能可配置：通过 Cargo features 按需编译跨平台支持：Windows、macOS、Linux 全覆盖完善的测试：集成测试覆盖真实 DNS 查询十、应用场景1. DNS 故障排查彩色输出让问题一目了然，响应时间测量帮助定位性能瓶颈。2. 安全 DNS 查询支持 DoT 和 DoH，防止 DNS 查询被窃听或篡改。3. 自动化脚本JSON 输出便于与其他工具集成，适合自动化运维场景。4. 学习和教学清晰的输出和标准的命令行参数，是学习 DNS 协议的好工具。参考资料dog 官方网站dog GitHub 仓库
Mole Mac 系统深度清理优化工具技术分析一、新闻概述1. 标题Mole：一款集成的 Mac 系统清理与优化工具2. 发布时间2025 年 1 月 17 日3. 来源GitHub 开源仓库二、核心内容1. 事件摘要A. 主要内容Mole 是一款专为 macOS 设计的开源命令行工具，整合了 CleanMyMac、AppCleaner、DaisyDisk 和 iStat Menus 的核心功能，提供系统清理、应用卸载、磁盘分析和实时监控等一站式解决方案。B. 核心亮点单一二进制文件，无外部依赖深度清理可释放数十 GB 空间智能应用卸载彻底清除残留文件实时系统状态监控完全开源，MIT 许可证2. 关键信息A. 版本信息当前版本：V1.22.1（Fortified）GitHub Stars：29.7k+Forks：786贡献者：39 人B. 技术栈主要语言：Shell（82.2%）、Go（17.7%）平台支持：macOS（主要）、Windows（实验性）安装方式：Homebrew、脚本安装C. 项目地址https://github.com/tw93/Mole三、详细报道1. 主要功能A. 深度系统清理Mole 的核心清理功能可扫描并删除以下类型文件：用户应用缓存浏览器缓存（Chrome、Safari、Firefox）开发工具缓存（Xcode、Node.js、npm）系统日志和临时文件应用特定缓存（Spotify、Dropbox、Slack）废纸篓内容根据官方展示，单次清理可释放高达 95.5GB 的磁盘空间。B. 智能应用卸载传统应用卸载仅删除应用程序包，而 Mole 的智能卸载功能会：移除应用程序本身清理 Launch Agents 和 Launch Daemons删除 Application Support 文件清除缓存文件移除偏好设置文件清理日志、WebKit 存储和 Cookies删除扩展和插件官方示例显示卸载 Photoshop 2024 清理了 52 个相关文件，释放 12.8GB 空间。C. 系统优化系统优化功能执行以下维护任务：重建系统数据库并清除缓存重置网络服务刷新 Finder 和 Dock清理诊断和崩溃日志删除交换文件并重启动态分页器重建启动服务和 Spotlight 索引D. 磁盘空间分析可视化磁盘使用情况，支持：按目录大小排序显示文件最后修改时间交互式导航（支持方向键和 Vim 绑定）快速打开、显示、删除文件定位大文件E. 实时系统监控提供实时系统健康仪表板，包括：CPU 使用率和核心负载内存使用情况（已用、总计、可用）磁盘使用率和读写速度电池状态和健康度网络上传下载速度进程资源占用排名系统健康评分（基于 CPU、内存、磁盘、温度和 I/O 负载）F. 项目构建产物清理针对开发者的清理功能，扫描并删除：node_modules（Node.js 项目）target（Rust 项目）build、dist（通用构建目录）venv（Python 虚拟环境）支持自定义扫描路径，默认扫描 ~/Projects、~/GitHub、~/dev 等目录。G. 安装包清理查找并删除散落在以下位置的安装文件：下载文件夹桌面Homebrew 缓存iCloud邮件附件每个文件都标记来源位置，便于用户识别。2. 技术架构A. 架构设计graph TB User[用户] --> CLI[命令行接口 mo] CLI --> Clean[深度清理模块] CLI --> Uninstall[应用卸载模块] CLI --> Optimize[系统优化模块] CLI --> Analyze[磁盘分析模块] CLI --> Status[实时监控模块] CLI --> Purge[项目清理模块] CLI --> Installer[安装包清理模块] Clean --> Cache[缓存扫描器] Clean --> Browser[浏览器清理器] Clean --> Logs[日志清理器] Uninstall --> AppScanner[应用扫描器] Uninstall --> RemnantScanner[残留文件扫描器] Analyze --> FileWalker[文件遍历器] Analyze --> SizeCalculator[大小计算器] Analyze --> Visualizer[可视化渲染器] Status --> CPUMonitor[CPU 监控] Status --> MemMonitor[内存监控] Status --> DiskMonitor[磁盘监控] Status --> NetMonitor[网络监控] Cache --> System[macOS 系统接口] Browser --> System Logs --> System AppScanner --> System RemnantScanner --> System CPUMonitor --> System MemMonitor --> System DiskMonitor --> System NetMonitor --> SystemB. 命令结构Mole 采用统一的命令结构：mo <command> [options]核心命令包括：命令功能关键选项mo交互式菜单无clean深度清理--dry-run, --whitelist, --debuguninstall应用卸载无optimize系统优化--dry-run, --whitelist, --debuganalyze磁盘分析无status系统监控无purge项目清理--pathsinstaller安装包清理无touchidTouch ID 配置无completionShell 补全无update更新工具无remove卸载工具无C. 安全机制Mole 内置严格的安全保护措施：干运行模式（--dry-run）：预览清理计划而不实际执行白名单机制（--whitelist）：保护特定路径不被清理调试模式（--debug）：显示详细的操作日志和文件信息风险等级标识：标注文件删除风险级别最近项目保护：7 天内的项目默认不选3. 技术细节A. 清理算法Mole 的清理算法采用分层扫描策略：graph TD A[开始扫描] --> B{扫描类型} B -->|缓存清理| C[遍历标准缓存路径] B -->|应用卸载| D[定位应用包] B -->|项目清理| E[扫描项目目录] C --> F[计算文件大小] D --> G[查找关联文件] E --> H[匹配构建产物模式] F --> I{是否在白名单} G --> I H --> I I -->|是| J[跳过] I -->|否| K[标记待删除] J --> L{还有文件} K --> L L -->|是| B L -->|否| M[生成清理报告] M --> N{干运行模式} N -->|是| O[显示预览] N -->|否| P[执行删除] O --> Q[结束] P --> QB. 残留文件检测应用卸载模块通过以下机制检测残留文件：Bundle ID 反向查找：通过应用包的 Bundle ID 查找相关 plist 文件路径模式匹配：搜索 ~/Library、/Library 下的应用相关目录Launch Agents/Daemons 扫描：查找与应用相关的启动代理文件名模糊匹配：通过应用名查找相关文件C. 系统优化原理系统优化模块执行的操作及其原理：操作技术原理预期效果重建系统数据库执行 update_dyld_shared_cache加速应用启动清除缓存删除 ~/Library/Caches 和系统缓存释放磁盘空间重置网络服务执行 networksetup -setnewnetworksettings修复网络问题刷新 Finder 和 Dockkillall Finder Dock重启界面进程清理日志删除 ~/Library/Logs 和系统日志释放空间删除交换文件rm /private/var/vm/swapfile*释放 RAM 占用重建 Spotlightmdutil -E /重建搜索索引D. 监控指标采集实时监控模块通过以下方式采集数据：CPU：使用 top 命令或 host_statistics 系统调用内存：读取 vm_statistics 数据磁盘：使用 IOKit 框架获取 I/O 统计网络：通过 sysctl 接口获取网络接口统计温度：通过 IOKit 读取传感器数据电池：使用 IOKit 的 IOPMPowerSource 类4. 数据与事实A. 清理效果统计根据官方展示：单次清理释放空间：95.5GB用户应用缓存：45.2GB（47.3%）浏览器缓存：10.5GB（11.0%）开发工具缓存：23.3GB（24.4%）系统日志和临时文件：3.8GB（4.0%）应用特定缓存：8.4GB（8.8%）废纸篓：12.3GB（12.9%）B. 应用卸载案例Photoshop 2024 卸载数据：应用大小：4.2GB清理文件数：52 个清理位置：12 处总释放空间：12.8GBC. 社区数据GitHub Stars：29,721Forks：786贡献者：39 人最新版本：V1.22.1 Fortified发布频率：平均每 1-2 周一个版本开发语言：Shell（82.2%）、Go（17.7%）D. 性能指标安装包大小：约 5-10MB（单一二进制）内存占用：约 20-50MB（监控模式）启动时间：< 1 秒扫描速度：约 1-2 GB/s（取决于磁盘类型）四、影响分析1. 行业影响A. 市场定位Mole 填补了开源 macOS 清理工具的空白，与商业软件形成差异化竞争：软件价格开源核心优势Mole免费是无依赖、轻量级CleanMyMac X$34.95/年否功能全面、UI 精美DaisyDisk$9.99否可视化优秀AppCleaner免费是卸载功能专精B. 技术趋势命令行工具复兴：开发者偏好高效、可脚本化的工具单一二进制趋势：减少依赖、简化部署隐私保护意识提升：开源软件的透明性受到青睐2. 用户影响A. 目标用户群体核心用户：开发者（需要清理构建产物和开发工具缓存）技术爱好者（偏好命令行工具）预算敏感用户（不愿购买商业软件）次要用户：普通用户（通过 Homebrew 发现并安装）系统管理员（用于批量维护）B. 使用门槛优势：安装简单：一行命令即可完成无需学习曲线：交互式菜单直观安全保障：干运行模式避免误操作劣势：命令行界面：非技术用户可能畏惧英文界面：对非英语用户不友好无图形界面：无法可视化操作过程C. 迁移成本从商业软件迁移到 Mole：学习成本：低（命令结构清晰）数据迁移：无需（独立工具）功能对比：核心功能覆盖，高级功能缺失3. 技术趋势A. 开源工具崛起开源软件质量提升，可替代商业软件社区驱动开发，功能迭代快速透明度增强信任，安全性可审计B. DevOps 工具链整合Mole 可集成到 CI/CD 流程支持脚本化批量操作适合服务器和工作站自动化维护C. 跨平台扩展Windows 分支已启动（实验性）可能扩展到 Linux 平台统一工具链降低学习成本五、各方反应1. 官方回应开发者 Tw93 积极维护项目，保持频繁更新：平均每 1-2 周发布新版本及时响应社区反馈欢迎贡献和 Pull Request2. 业内评价A. 专家观点正评价：单一二进制设计优秀，无依赖部署方便建议：增强图形界面，降低使用门槛关注：长期维护可持续性B. 社区反馈正面评价：释放空间效果显著命令行效率高完全免费且开源负面反馈：iTerm2 兼容性问题（官方已确认）缺少图形界面部分功能不如商业软件完善C. 用户反馈从社区截图可见，用户普遍认为 Mole 有效释放了大量磁盘空间，界面简洁清晰。六、相关链接1. 官方资源GitHub 仓库：https://github.com/tw93/Mole发布页面：https://github.com/tw93/Mole/releases贡献指南：https://github.com/tw93/Mole/blob/main/CONTRIBUTING.md安全审计：https://github.com/tw93/Mole/blob/main/SECURITY_AUDIT.md2. 安装方式Homebrew：brew install mole脚本安装：curl -fsSL https://raw.githubusercontent.com/tw93/mole/main/install.sh | bash3. 相关工具CleanMyMac X：https://macpaw.com/cleanmymacDaisyDisk：https://daisydiskapp.comAppCleaner：https://freemacsoft.net/appcleaner七、技术深度分析1. 代码架构分析A. 项目结构Mole/ ├── bin/ # 可执行文件 ├── cmd/ # Go 命令实现 ├── lib/ # 核心库代码 ├── scripts/ # 辅助脚本 ├── tests/ # 测试文件 ├── install.sh # 安装脚本 ├── Makefile # 构建配置 ├── go.mod/go.sum # Go 依赖管理 └── SECURITY_AUDIT.md # 安全审计报告B. 技术选型Shell 脚本（82.2%）：用于系统级操作和文件管理macOS 系统调用和命令行工具集成快速原型开发和迭代Go 语言（17.7%）：核心逻辑实现跨平台支持能力性能关键路径优化2. 安全机制深度分析A. 白名单机制白名单配置文件：~/.config/mole/whitelist# 用户保护的缓存路径 - ~/Library/Caches/MyApp - ~/Projects/CurrentWork/node_modulesB. 干运行实现干运行模式通过以下方式实现：扫描阶段正常执行计算删除计划生成详细报告跳过实际删除操作显示风险等级和文件详情C. 安全审计报告项目提供完整的安全审计文档（SECURITY_AUDIT.md），涵盖：文件删除操作安全性用户权限检查路径遍历防护命令注入防护符号链接处理3. 与竞品技术对比A. CleanMyMac X维度MoleCleanMyMac X技术栈Shell + GoObjective-C/Swift安装方式Homebrew/脚本DMG 安装包启动速度< 1 秒3-5 秒内存占用20-50MB100-200MB价格免费$34.95/年开源是否B. DaisyDisk维度MoleDaisyDisk可视化终端文本图形化扇形图清理能力全功能仅分析自动化支持脚本手动操作价格免费$9.99C. AppCleaner维度MoleAppCleaner卸载能力深度清理智能查找系统清理支持不支持命令行原生图形界面价格免费免费八、使用场景分析1. 典型使用场景A. 开发者工作流# 1. 开发前清理环境 mo clean --dry-run # 预览清理计划 mo clean # 执行清理 # 2. 项目切换时清理旧构建产物 mo purge --paths # 配置扫描路径 mo purge # 清理构建产物 # 3. 监控系统资源 mo status # 查看系统状态B. 系统维护# 每周例行维护 mo optimize # 系统优化 mo clean # 清理缓存 mo installer # 清理安装包C. 应用卸载# 卸载不需要的应用 mo uninstall # 选择应用 -> 确认 -> 彻底清理2. CI/CD 集成Mole 可集成到自动化流程：# .github/workflows/cleanup.yml name: Cleanup Build Artifacts on: [schedule] jobs: cleanup: runs-on: macos-latest steps: - name: Install Mole run: brew install mole - name: Clean old artifacts run: mo purge --paths ${{ github.workspace }}九、未来发展方向1. 短期计划增强 Windows 分支稳定性改进 iTerm2 兼容性添加更多语言支持优化扫描算法性能2. 长期愿景开发图形界面版本扩展到 Linux 平台云端数据同步功能企业级管理功能十、总结与建议1. 适用人群强烈推荐：开发者和技术爱好者需要定期清理 Mac 的用户预算有限但需要专业工具的用户谨慎使用：非技术背景用户（存在误操作风险）对图形界面有强依赖的用户2. 使用建议首次使用：始终先用 --dry-run 预览定期维护：建议每周运行一次清理和优化白名单配置：将重要项目添加到白名单备份重要数据：虽然工具安全，但备份总是明智的关注更新：定期更新到最新版本获取功能改进3. 项目评价Mole 是一款优秀的开源 macOS 清理工具，具有以下特点：优势：功能全面，一站式解决方案单一二进制，部署简单完全免费且开源社区活跃，迭代迅速安全机制完善不足：命令行界面存在使用门槛缺少图形化版本文档和社区支持相对有限部分终端兼容性问题总体而言，Mole 为技术用户提供了一个高效、安全、免费的 Mac 系统维护解决方案，是商业软件的有力替代品。参考资料Mole GitHub RepositoryMole ReleasesCleanMyMac X Official WebsiteDaisyDisk Official WebsiteAppCleaner Official Website
ConvertX 文件转换工具使用指南一、概述1. 简介A. 是什么ConvertX 是一个自托管的在线文件转换工具，支持超过 1000 种不同的文件格式转换。该项目使用 TypeScript、Bun 和 Elysia 框架开发，提供完整的 Web 界面和 RESTful API。B. 为什么使用完全自主可控，数据无需上传到第三方服务支持格式极其丰富，覆盖图片、视频、文档、3D 模型等多种类型支持批量处理，提高工作效率可部署在本地或私有云环境中C. 适用场景企业内部文件格式统一转换个人隐私敏感文件处理需要离线环境下的格式转换批量文件处理需求2. 支持的转换格式A. 图片格式（约 700+ 种）常用格式：JPG、PNG、GIF、WebP、SVG、HEIF专业格式：JPEG XL、TIFF、BMP、ICO矢量格式：SVG（通过 Inkscape、resvg）转换工具：ImageMagick、GraphicsMagick、Vips、libjxl、libheif、Potrace、VTracerB. 视频格式（约 671 种）输入格式：约 472 种（通过 FFmpeg）输出格式：约 199 种支持硬件加速（如 VAAPI）C. 文档格式（约 200+ 种）办公文档：通过 LibreOffice 支持 41 种输入、22 种输出电子书：通过 Calibre 支持 26 种输入、19 种输出标记文档：通过 Pandoc 支持 43 种输入、65 种输出Markdown：通过 Markitdown 支持 6 种输入格式D. 其他格式3D 资产：通过 Assimp 支持 77 种输入、23 种输出邮件格式：Outlook msg 文件转换联系人：VCF 转 CSV数据文件：通过 Dasel 转换LaTeX 文档：通过 XeLaTeX、dvisvgm 转换二、部署方式1. 系统要求Docker 或 Docker Compose至少 1GB 可用磁盘空间推荐 2GB 以上内存2. 使用 Docker Compose 部署创建 docker-compose.yml 文件：services: convertx: image: ghcr.io/c4illin/convertx container_name: convertx restart: unless-stopped ports: - "3000:3000" environment: - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # - HTTP_ALLOWED=true volumes: - ./data:/app/data启动服务：docker-compose up -d3. 使用 Docker 部署docker run -d \ -p 3000:3000 \ -v ./data:/app/data \ -e JWT_SECRET=your-secret-key \ --name convertx \ --restart unless-stopped \ ghcr.io/c4illin/convertx4. 访问服务部署完成后，在浏览器中访问 http://localhost:3000首次访问时需要注册账户，这将是管理员账户。建议不要将未配置的服务公开暴露。5. 数据目录权限如果遇到无法打开数据库文件的错误，运行：chown -R $USER:$USER ./data三、系统架构1. 工作原理graph TB User[用户] -->|上传文件| Web[Web 界面] Web -->|转发请求| API[Elysia API] API -->|验证身份| JWT[JWT 认证] JWT -->|通过| Converter[转换引擎] Converter -->|调用| FFmpeg[FFmpeg 视频] Converter -->|调用| ImageMagick[ImageMagick 图片] Converter -->|调用| LibreOffice[LibreOffice 文档] Converter -->|调用| Calibre[Calibre 电子书] Converter -->|调用| Other[其他转换器] Converter -->|返回| Storage[(存储)] Storage -->|下载| Web Web -->|下载文件| User2. 核心组件A. Web 前端基于 TypeScript 和 Bun 开发的响应式 Web 界面，提供文件上传、转换历史查看等功能。B. API 服务基于 Elysia 框架构建的高性能 API 服务，处理文件上传、转换请求、用户认证等。C. 转换引擎集成多种专业转换工具：FFmpeg：视频和音频处理ImageMagick/GraphicsMagick：通用图像处理LibreOffice：办公文档转换Calibre：电子书格式转换Pandoc：文档标记语言转换Inkscape：矢量图形处理D. 存储层使用 SQLite 数据库存储用户配置和转换历史，转换后的文件存储在本地文件系统。四、配置说明1. 环境变量变量名默认值说明JWT_SECRETrandomUUID()JWT 签名密钥，建议设置ACCOUNT_REGISTRATIONfalse是否允许用户注册HTTP_ALLOWEDfalse是否允许 HTTP 连接（仅限本地）ALLOW_UNAUTHENTICATEDfalse是否允许未认证用户使用（仅限本地）AUTO_DELETE_EVERY_N_HOURS24自动删除 n 小时前的文件，0 表示禁用WEBROOT空Web 根路径，如设置为 /convert 则访问 example.com/convert/FFMPEG_ARGS空FFmpeg 输入参数，如 -hwaccel vaapiFFMPEG_OUTPUT_ARGS空FFmpeg 输出参数，如 -preset veryfastHIDE_HISTORYfalse是否隐藏历史记录页面LANGUAGEen日期格式语言（BCP 47 语言标签）UNAUTHENTICATED_USER_SHARINGfalse未认证用户是否共享转换历史MAX_CONVERT_PROCESS0最大并发转换进程数，0 表示无限制2. 反向代理配置Nginx 配置示例location /convert/ { proxy_pass http://localhost:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 文件上传大小限制 client_max_body_size 100M; # 超时设置 proxy_read_timeout 300s; proxy_connect_timeout 300s; }设置环境变量 WEBROOT=/convert 以配合反向代理使用。五、使用指南1. 用户注册首次访问时，需要创建第一个账户（管理员账户）：打开 http://localhost:3000点击注册按钮输入用户名、密码完成注册默认情况下，后续用户无法自行注册，需要管理员在环境变量中设置 ACCOUNT_REGISTRATION=true。2. 文件转换基本转换流程登录系统点击上传区域或拖拽文件选择目标格式点击转换按钮等待转换完成下载转换后的文件批量转换支持同时上传多个文件进行批量转换，提高处理效率。3. 转换历史系统会记录所有转换历史，包括：原始文件名目标格式转换时间转换状态可通过历史页面重新下载之前转换的文件。4. 硬件加速对于视频转换，可启用硬件加速以提高性能：# Intel/AMD GPU FFMPEG_ARGS=-hwaccel vaapi # NVIDIA GPU FFMPEG_ARGS=-hwaccel cuda FFMPEG_OUTPUT_ARGS=-preset veryfast六、Docker 镜像说明1. 镜像标签标签说明推荐用途latest最新稳定版本生产环境main最新开发版本测试新功能2. 镜像来源# GitHub Container Registry ghcr.io/c4illin/convertx ghcr.io/c4illin/convertx:main # Docker Hub c4illin/convertx c4illin/convertx:main推荐使用 ghcr.io/c4illin/convertx（latest 标签）。七、常见问题1. 登录问题问题：无法登录确保通过 localhost 或 HTTPS 访问服务，或设置 HTTP_ALLOWED=true。2. 文件上传问题问题：文件上传失败检查 Nginx 的 client_max_body_size 设置，确保允许上传大文件。3. 转换失败问题：某些格式无法转换检查源文件是否损坏确认该格式在支持的转换列表中查看容器日志排查问题4. 性能优化问题：转换速度慢启用硬件加速（FFMPEG_ARGS）增加 MAX_CONVERT_PROCESS 限制确保磁盘 I/O 性能充足八、安全建议1. 部署安全不要将未配置的服务暴露到公网设置强密码作为 JWT_SECRET使用 HTTPS 部署限制账户注册功能2. 数据安全定期备份 data 目录配置自动删除过期文件敏感文件转换后及时删除3. 访问控制使用反向代理添加额外认证层配置防火墙规则限制访问定期审查用户账户九、扩展与定制1. 添加新的转换器ConvertX 采用模块化设计，可以方便地添加新的转换器：Fork 项目仓库在 issues 中查看转换器请求提交 Pull Request2. 开发环境搭建# 安装 Bun 和 Git # 克隆仓库 git clone https://github.com/C4illin/ConvertX.git cd ConvertX # 安装依赖 bun install # 启动开发服务器 bun run dev十、参考资料ConvertX GitHub 仓库
btop++ 资源监控工具技术分析一、概述1. 项目简介btop++ 是一款功能强大的系统资源监控工具，采用 C++23 编写，是 bashtop 和 bpytop 的继任者。该项目完全重写，摆脱了外部依赖，提供高效、美观的终端界面监控系统资源使用情况。A. 核心特性游戏风格的菜单系统，易于使用完整的鼠标支持，所有按键均可点击快速响应的 UI，支持进程选择和排序详细的进程统计信息和过滤功能树形进程视图和信号发送功能多主题支持和自定义预设B. 技术栈编程语言：C++23（79.1%）、C（18.9%）构建系统：Makefile、CMake许可证：Apache 2.0GitHub Stars：29.5k+，Forks：890+2. 背景与发展btop++ 的诞生源于对 bashtop 和 bpytop 的重构需求。原项目依赖 Python 和 Bash，存在性能瓶颈和跨平台兼容性问题。作者 aristocratos 决定使用 C++ 完全重写，实现零外部依赖的目标。graph LR A[bashtop] -->|功能需求| B[bpytop] B -->|性能/跨平台问题| C[btop++] C -->|C++23重构| D[零外部依赖]3. 跨平台支持Linux：完整支持，包括 GPU 监控macOS：支持 x86_64 和 ARM64（Apple Silicon）FreeBSD：完整支持NetBSD：自 v1.4.0 起支持OpenBSD：自 v1.3.0 起支持二、系统架构1. 总体设计btop++ 采用模块化架构设计，核心组件包括：graph TB subgraph UI层 A[主界面] B[菜单系统] C[绘制引擎] end subgraph 采集层 D[CPU采集器] E[内存采集器] F[磁盘采集器] G[网络采集器] H[进程采集器] I[GPU采集器] end subgraph 平台层 J[Linux适配] K[macOS适配] L[BSD适配] end A --> D A --> E A --> F A --> G A --> H A --> I D --> J E --> J F --> J G --> J H --> J I --> J D --> K E --> K F --> K G --> K H --> K D --> L E --> L F --> L G --> L H --> L2. 组件说明A. 绘制引擎支持 24-bit 真彩色支持通过 Unicode Braille 字符绘制高分辨率图形TTY 模式下自动降级到 16 色和 ASCII 图形终端同步输出减少闪烁B. 数据采集器CPU 采集器：多核心使用率、频率、温度、功耗内存采集器：物理内存、交换空间、ZFS ARC 统计磁盘采集器：IO 速率、活动时间、挂载点信息网络采集器：上下行速率、自适应缩放进程采集器：CPU/内存使用、线程数、用户信息GPU 采集器：使用率、功耗、时钟频率（NVIDIA、AMD、Intel）C. 平台适配层Linux：通过 /proc、/sys 文件系统采集数据macOS：通过 libproc、sysctl 等系统 APIBSD 系列：通过 sysctl、kvm 等接口三、GPU 监控技术1. 架构设计btop++ 的 GPU 监控采用动态库加载机制，避免静态链接问题：graph LR A[btop++] -->|动态加载| B[NVIDIA ML] A -->|动态加载| C[ROCm SMI] A -->|SYSFS读取| D[Intel GPU] B -->|NVIDIA驱动| E[NVIDIA GPU] C -->|AMD驱动| F[AMD GPU] D -->|i915驱动| G[Intel iGPU]2. 实现细节A. NVIDIA GPU 支持依赖：nvidia-ml 动态库（随驱动安装）监控指标：GPU 使用率、功耗、时钟频率兼容性：闭源和开源驱动均已验证B. AMD GPU 支持依赖：rocm_smi_lib静态链接选项：RSMI_STATIC=true源码要求：lib/rocm_smi_lib 目录C. Intel GPU 支持数据来源：SYSFS 接口权限要求：需要 setcap 或 setuid监控指标：使用率、功耗、时钟频率3. 编译配置# 启用 GPU 支持（x86_64 Linux 默认启用） make GPU_SUPPORT=true # 禁用 GPU 支持 make GPU_SUPPORT=false # 静态链接 ROCm SMI（AMD） make RSMI_STATIC=true四、编译与安装1. 编译器要求GCC 14+ 或 Clang 19+支持 C++23 特性2. Linux 编译A. 使用 Make# 安装依赖 sudo apt install coreutils sed git build-essential lowdown # 克隆仓库 git clone https://github.com/aristocratos/btop.git cd btop # 编译 make # 安装 sudo make install # 设置权限（Intel GPU 和 CPU 功耗监控必需） sudo make setcapB. 使用 CMake# 配置 cmake -B build -G Ninja # 构建 cmake --build build # 安装 cmake --install build3. macOS 编译# 安装依赖 brew install coreutils make gcc@15 lowdown # 编译 gmake # 安装 sudo gmake install # 设置 suid 位（推荐） sudo gmake setuid4. 编译选项选项说明VERBOSE=true显示完整编译/链接命令STATIC=true静态编译GPU_SUPPORT=true/false启用/禁用 GPU 支持RSMI_STATIC=true静态链接 ROCm SMIADDFLAGS=-march=native针对本机优化五、配置与定制1. 配置文件位置系统主题：/usr/local/share/btop/themes 或 /usr/share/btop/themes用户配置：$XDG_CONFIG_HOME/btop 或 ~/.config/btop主题目录：$XDG_CONFIG_HOME/btop/themes2. 主要配置选项A. 显示设置color_theme = "Default" truecolor = true force_tty = false rounded_corners = trueB. 图表设置graph_symbol = "braille" # braille、block、tty presets = "cpu:1:default,proc:0:default"C. 进程设置proc_sorting = "cpu lazy" proc_tree = false proc_colors = true proc_gradient = true3. 主题系统btop++ 兼容 bpytop 和 bashtop 的主题格式，支持自定义颜色方案：# 进程列表横幅属性 proc_pause_bg: 暂停状态背景色 proc_follow_bg: 跟随状态背景色 followed_bg: 跟踪进程背景色六、技术特点分析1. 性能优化A. 零依赖设计完全使用标准库实现无需 Python 或运行时环境静态编译减少部署复杂度B. 高效渲染终端同步输出序列差异化刷新减少绘制开销Unicode Braille 字符提供高分辨率图形2. 跨平台兼容性A. 平台检测// 编译时平台检测 #if defined(__linux__) // Linux 特定实现 #elif defined(__APPLE__) // macOS 特定实现 #elif defined(__FreeBSD__) // FreeBSD 特定实现 #endifB. 统一接口数据采集器抽象层平台特定实现隔离配置文件格式跨平台一致3. GPU 监控架构A. 动态库加载策略运行时检测 GPU 驱动按需加载动态库避免静态链接兼容性问题B. 权限管理setcap：推荐方式，细粒度权限控制setuid：传统方式，完全 root 权限Intel GPU 特殊处理：SYSFS 读取权限七、使用场景1. 系统监控实时查看 CPU、内存、磁盘、网络使用情况监控进程资源消耗系统温度和功耗监控2. 性能调优识别资源瓶颈追踪高资源消耗进程分析历史数据趋势3. 服务器管理远程监控服务器资源无图形界面环境下的系统监控轻量级监控解决方案八、命令行参数-c, --config <file> # 指定配置文件 -d, --debug # 调试模式 -f, --filter <filter> # 设置进程过滤器 -l, --low-color # 禁用真彩色 -p, --preset <id> # 启动预设（0-9） -t, --tty # 强制 TTY 模式 -u, --update <ms> # 设置更新间隔九、项目生态1. 贡献者141+ 贡献者活跃的社区维护定期版本发布（当前 v1.4.6）2. 相关项目btop4win：Windows 移植版本bashtop：原始 Bash 版本bpytop：Python 版本3. 分发渠道GitHub ReleasesHomebrew（macOS/Linux）各 Linux 发行版软件仓库Snap 商店十、总结btop++ 作为一款现代化的系统资源监控工具，通过 C++23 重写实现了零依赖、高性能、跨平台的设计目标。其模块化架构、动态 GPU 监控支持和丰富的定制选项，使其成为终端环境下系统监控的优秀选择。项目的成功展示了现代 C++ 在系统工具开发中的优势：无需运行时环境、编译优化、底层系统访问能力。同时，其活跃的社区和持续的迭代保证了工具的稳定性和功能扩展性。参考资料btop++ GitHub Repository