作者归档:songtianlun

harbor 替换 ssl 证书

最近内网 harbor 经常迁移,迁移到新地址后 ssl 证书需针对新的地址签发。(当然如果你直接使用 http 就不会有这个烦恼,至于为什么i不直接使用 http 就不多说了)。

这里记录一下签发新的 ssl 证书并迁移的命令,方便后面使用。

# 下面以替换为 10.1.40.39 为例
# 若存在残留证书则删除
$ rm 10.1.40.39.*  
# 生成新的私钥
$ openssl genrsa -out 10.1.40.39.key 4096
# 生成新的证书签名请求(CSR)
$ openssl req -sha512 -new -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=Wuzhou/OU=RD/CN=10.1.40.39" -key 10.1.40.39.key -out 10.1.40.39.csr
# 编辑 `x509 v3` 扩展文件,增加新的地址,如
# +IP.3 = 10.1.40.39
$ vi v3.ext
# 生成新的证书
$ openssl x509 -req -sha512 -days 3650     -extfile v3.ext     -CA ca.crt -CAkey ca.key -CAcreateserial -in 10.1.40.39.csr -out  10.1.40.39.crt
# 转换证书格式供 其他程序 使用
$ openssl x509 -inform PEM -in 10.1.40.39.crt -out 10.1.40.39.cert      
$ openssl x509 -in 10.1.40.39.crt -text -noout | grep -A 10 "Subject Alternative Name"
$ openssl x509 -in 10.1.40.39.cert -text -noout | grep -A 10 "Subject Alternative Name"
# 替换 hostname 和 https 配置
$ vim harbor.yml
# 重启 harbor 加载新证书
$ ./install.sh --with-notary --with-trivy --with-chartmuseum

# Docker 客户端仅需在新的地址下存放 CA证书 即可
$ ls /etc/docker/certs.d/10.1.40.39/ca.crt

独立开发者云平台技术选型深度对比:Vercel vs Cloudflare vs Supabase

在 2024-2025 年的云原生时代,独立开发者面临着前所未有的平台选择挑战。Vercel + Supabase 组合可降低 60% 开发时间,Cloudflare Workers 方案能节省 70% 运营成本,而技术选型错误可能导致月度支出增加 10 倍。本文基于最新官方文档和实际测试数据,为构建 SaaS 应用和工具类应用的独立开发者提供全面的技术选型指南。

随着 Next.js 15 的发布和各大云平台功能的快速演进,传统的”all in one”方案正在被更加灵活的组合策略所替代。无论你是在构建下一个独角兽 SaaS 产品,还是开发实用的工具类应用,选择合适的云平台组合将直接影响项目的成功概率、开发效率和长期可持续性。

Vercel 全栈平台:Next.js 生态的完美归宿

技术架构与核心能力

Vercel 作为 Next.js 的原生云平台,在 2024-2025 年持续强化其”前端云”定位。平台最大优势在于与 Next.js 的无缝集成,从 App Router 到 Server Components,再到最新的 React 19 支持,Vercel 始终保持第一天就支持所有新功能的记录。

边缘计算优势显著。Vercel 的 Edge Functions 基于轻量级 V8 引擎,冷启动时间比传统 Serverless Functions 快 9 倍,全球 70+ 接入点确保用户无论身处何地都能获得一致的低延迟体验。这对于面向全球用户的 SaaS 应用尤为重要。

2025 年重磅功能 Fluid Compute 将进一步优化并发模型,通过实例内并发执行显著降低 AI 工作负载和 I/O 密集型任务的计算成本。这一创新将使 Vercel 在处理复杂 SaaS 业务逻辑时更具竞争力。

数据存储生态完善程度分析

Vercel 的数据存储解决方案已经形成完整生态:

Vercel KV 基于 Redis 的键值存储,与 Upstash 深度合作,支持持久化存储和边缘网络读写。特别适合会话管理、缓存和实时排行榜等 SaaS 常见场景

Vercel Postgres 通过与 Neon 的合作提供无服务器 SQL 数据库,自动扩缩容和故障容错能力让开发者可以专注业务逻辑而非基础设施管理。与 Server Components 的无缝集成使得数据获取变得极其简单。

Vercel Blob 基于 Cloudflare R2 的对象存储,为文件上传、图片处理等功能提供全球 CDN 分发能力。

定价结构与成本控制挑战

Vercel 的定价策略在2024年4月经历了重要调整,引入了更细粒度的计费模式:

计划类型 月费 Functions 费用 带宽费用 适用场景
Hobby 免费 1000 GB-小时 100 GB 个人项目
Pro $20/用户 $0.18/GB-小时超额 $0.15/GB超额 商业项目
Enterprise $3,500+ 自定义配额 协商定价 企业级应用

关键风险点:带宽成本在高流量场景下可能激增。实际案例显示,某开发者因 DDoS 攻击产生 $4,500 账单,另一位开发者月带宽使用 6-7TB 导致月费用超过 $1,000。

成本优化建议

  • 使用 ISR 代替 SSR 减少函数调用
  • 启用智能缓存策略
  • 考虑通过 Cloudflare 做前置 CDN
  • 监控 Spend Management,设置硬性限制

Cloudflare 边缘计算:全球分布式架构的王者

Workers 生态系统的技术革新

Cloudflare 在 2024-2025 年通过引入 @opennextjs/cloudflare 适配器实现了技术突破,从仅支持 Edge Runtime 扩展到完整的 Node.js Runtime 支持。这一变化使得 Next.js 应用在 Cloudflare 上的兼容性从约 60% 提升到 85%。

适配器 Next.js 版本 Runtime 支持 功能兼容性
@cloudflare/next-on-pages 13/14 仅 Edge Runtime ~60%
@opennextjs/cloudflare 14/15 Node.js + Edge ~85%

全球网络优势无可匹敌。330+ 数据中心覆盖 100+ 个国家,95% 用户在 50ms 内获得响应。Smart Placement 技术能够自动将 Workers 部署在最接近数据源的位置,实现 API 响应时间 7 倍提升。

数据存储方案的成本革命

Cloudflare 的数据存储定价策略颠覆了传统云服务模式:

R2 对象存储的零出口费用政策在高流量场景下节省巨大:

存储类型 Cloudflare R2 AWS S3 Standard 成本节省
存储费用 $0.015/GB-月 $0.023/GB-月 35%
出口流量 免费 $0.09/GB 100%

D1 SQLite 数据库在 2024 年正式 GA,单数据库容量提升至 10GB,延迟降低 40-60%。特别适合多租户架构,每用户一个数据库的设计模式。

Vectorize 向量数据库容量从 20 万向量大幅提升至 500 万,查询延迟从 549ms 优化至 31ms,为 AI 应用提供了强大的语义搜索能力。

全栈应用成本分析

基于实际使用场景的成本估算:

组件 月用量假设 费用
Workers 500万请求 $1.50
D1 数据库 1GB + 1000万读取 $10.75
KV 存储 100MB + 50万读取 $0.30
R2 存储 10GB + 1TB传输 $0.15
总计 $12.70

相比传统云服务,可节省 60-80% 成本,零出口费用是最大优势。

Supabase 后端即服务:开源生态的现代化选择

PostgreSQL 为核心的技术架构

Supabase 基于完整的 PostgreSQL 生态系统构建,支持 40+ 扩展包括 PostGIS(地理空间)、pgvector(向量数据库)、pg_cron(定时任务)等。这种选择为复杂 SaaS 应用提供了强大的数据处理能力。

Row Level Security (RLS) 与认证系统的深度集成是 Supabase 的核心竞争力。通过 auth.uid() 和策略系统,实现了数据库级别的多租户安全隔离,这对于 SaaS 应用的数据安全至关重要。

实时功能与边缘计算能力

Realtime 订阅功能基于 Elixir Phoenix 框架,提供三种实时通信模式:

  • Postgres Changes:监听数据库变更
  • Broadcast:低延迟临时消息传递
  • Presence:用户在线状态同步

Edge Functions 基于 Deno 2.1 运行时,部署到 30+ 数据中心,支持 TypeScript 优先开发。与传统 Node.js 相比,Deno 的安全沙箱模型和现代化 API 设计更适合边缘计算场景。

企业级功能与合规支持

Supabase 在 2024-2025 年大幅增强了企业级功能:

功能类别 Free Pro ($25/月) Team ($599/月) Enterprise
MAU 50,000 100,000 不限 不限
数据库 500MB 8GB 不限 自定义
认证 基础 OAuth SAML SSO 企业 SSO 自定义
合规 SOC2 Type 2 HIPAA可选

Database Branching 功能虽然仍在限制访问阶段,但与 Vercel Preview Deployments 的完美配合为开发流程带来了革命性改进。

Next.js 15 兼容性现状

重要提醒:Supabase 当前与 Next.js 15 存在兼容性问题,主要由于 Next.js 15 将 cookies()、headers() 等 API 改为异步函数。预计 2025 年第一季度通过 @supabase/ssr 包更新解决

临时解决方案:

// 适配 Next.js 15 异步 API
const supabase = await createClient();
const { data } = await supabase.from("table").select();

Next.js 跨平台兼容性深度剖析

App Router 与 Server Components 支持矩阵

Next.js 功能 Vercel Cloudflare Pages Cloudflare Workers Supabase 集成
App Router ✅ 完整 ✅ 完整 ✅ 完整 ✅ 完整
Server Components ✅ 完整 ⚠️ 限制 ✅ 完整 ⚠️ 待修复
Server Actions ✅ 完整 ⚠️ Edge限制 ✅ 完整 ⚠️ 待修复
ISR ✅ 完整 ❌ 不支持 ✅ Beta ✅ 完整
Image Optimization ✅ 完整 ⚠️ 需配置 ✅ 需配置 ✅ 完整

性能基准测试结果

Turbopack vs Webpack 性能提升(基于大型应用测试):

性能指标 提升幅度 实际影响
本地服务器启动 76.7% 更快 4x 速度提升
Fast Refresh 96.3% 更快 25x 速度提升
初始路由编译 45.8% 更快 1.8x 速度提升

各平台 Core Web Vitals 表现

平台 LCP (ms) FID (ms) CLS 评级
Vercel 1200-1800 <100 <0.1 A+
Cloudflare Workers 1100-1600 <100 <0.1 A+
Cloudflare Pages 1400-2000 <100 <0.1 A

不同流量规模下的成本对比分析

小规模应用(月访问量 1万)

应用特征:10,000 PV,3,000 独立用户,50,000 API 调用

平台组合 SaaS应用成本 工具应用成本 优势
Vercel + Supabase $45-65/月 $20-25/月 开发效率最高
Cloudflare + Supabase $30-35/月 $5-10/月 性价比最佳
纯 Cloudflare $5-15/月 $5/月 成本最低

中等规模应用(月访问量 10万)

应用特征:100,000 PV,25,000 独立用户,500,000 API 调用

平台组合 SaaS应用成本 工具应用成本 关键考虑
Vercel + Supabase $95-150/月 $45-65/月 带宽成本开始显现
Cloudflare + Supabase $45-60/月 $8-15/月 推荐选择
纯 Cloudflare $8-20/月 $5-8/月 功能受限

大规模应用(月访问量 100万)

应用特征:1,000,000 PV,200,000 独立用户,5,000,000 API 调用

平台组合 SaaS应用成本 工具应用成本 成本驱动因素
Vercel + Supabase $400-800/月 $180-250/月 带宽成本激增
Cloudflare + Supabase $150-250/月 $25-45/月 最优选择
纯 Cloudflare $25-50/月 $15-25/月 需要定制开发

技术选型决策框架

基于应用类型的选择策略

SaaS 应用推荐

  • 追求极致开发体验:Vercel + Supabase(承担较高成本)
  • 平衡开发效率与成本:Cloudflare Workers + Supabase(最佳选择
  • 成本优先:纯 Cloudflare + D1(需要更多定制开发)

工具类应用推荐

  • 简单工具:纯 Cloudflare Workers(成本最低)
  • 需要数据持久化:Cloudflare + Supabase
  • 快速原型:Vercel(开发效率最高)

团队技能与学习曲线考虑

平台 学习曲线 必备技能 上手时间
Vercel 最平缓 Next.js 基础 0.5-1天
Cloudflare 中等 JavaScript/Workers API 2-3天
Supabase 中等 SQL/PostgreSQL 1-2天

长期可持续性评估

平台锁定风险

  • Vercel:高度绑定 Next.js,迁移成本高
  • Cloudflare:基于标准 Web API,迁移相对容易
  • Supabase:基于标准 PostgreSQL,数据迁移直接

扩展性考虑

  • 从免费到付费的成本跳跃
  • 技术团队的增长适应性
  • 第三方集成的灵活性

最佳实践与成本优化策略

开发阶段优化策略

MVP 阶段(0-1万用户):

  • 充分利用免费层,Cloudflare 免费层价值最高
  • 重点验证产品市场适配度
  • 预算控制在 $0-30/月

成长阶段(1-10万用户):

  • 引入付费服务,优化核心性能瓶颈
  • 建立监控和告警机制
  • 预算控制在 $30-150/月

规模化阶段(10万+用户):

  • 考虑企业级功能和专业支持
  • 重点关注单位经济效益
  • 建立完整的成本管理体系

具体技术优化建议

Vercel 优化策略

  • 使用 ISR 代替频繁的 SSR
  • 配置智能缓存策略
  • 监控带宽使用,设置支出限制
  • 优化图片和静态资源

Cloudflare 优化策略

  • 合理使用 KV 存储,避免频繁写入
  • 优化 Worker 代码减少 CPU 时间
  • 利用 Cache API 减少重复计算
  • 为 D1 数据库创建适当索引

Supabase 优化策略

  • 定期清理历史数据
  • 优化 RLS 策略性能
  • 监控 MAU 增长趋势
  • 合理使用实时功能

面向未来的技术趋势

2025年技术发展预期

Vercel 路线图

  • Fluid Compute 全面 GA
  • Turbopack 生产构建稳定版
  • 更深度的 AI 集成

Cloudflare 发展方向

  • D1 异步复制全球部署
  • 更完善的 Next.js 支持
  • AI 工作负载优化

Supabase 重点功能

  • Database Branching 全面开放
  • Next.js 15 完整兼容
  • 企业级功能增强

技术选型的未来考虑

边缘计算成为主流:三大平台都在强化边缘计算能力,这将是未来 Web 应用的标准架构。

AI 原生应用支持:向量数据库、模型推理、智能缓存等 AI 相关功能将成为平台差异化的关键。

开发者体验持续优化:零配置部署、智能监控、自动优化等功能将进一步降低开发门槛。

结论与实用建议

基于深入的技术分析和成本对比,我们得出以下核心结论:

最佳实践推荐

  1. Cloudflare Workers + Supabase 组合在大多数场景下提供最佳性价比
  2. 纯 Cloudflare 方案适合工具类应用,成本控制最优
  3. Vercel + Supabase 适合追求极致开发体验的团队

关键决策因素

  • 开发团队技能:Next.js 熟练度决定 Vercel 的价值
  • 成本敏感度:高流量应用优先考虑 Cloudflare
  • 功能复杂度:复杂 SaaS 应用受益于 Supabase 的数据库能力

风险提醒

  • 建立完善的成本监控机制
  • 避免过度平台绑定
  • 保持技术栈的可移植性

对于独立开发者而言,选择合适的云平台组合不仅能够显著降低开发成本和时间,更能够为产品的长期成功奠定坚实的技术基础。在这个快速变化的技术环境中,保持学习和适应的能力,比选择任何特定的技术栈都更加重要。

AI提效之使用 cherry-studio + k8sgpt 实现 AI 巡检 k8s

k8sgpt 能够赋予每个人的 Kubernetes 超能力,能够用简单的语言扫描 Kubernetes 集群、诊断和分类问题。利用 k8sgptmcp 服务,可以为 LLM 赋予访问 k8s 集群的可能性。

工作原理图:

sequenceDiagram
    actor U as User
    participant CS as Cherry Studio
    participant KG as k8sgpt
    participant K as K8s API Server
    U->>+CS: Add k8sgpt MCP server
    CS->>+KG: Check k8sgpt
    KG-->>-CS: k8sgpt is work
    CS-->>-U: Success to Add MCP

    U->>+CS: Ask some Question about K8s cluster
    CS->>+KG: Get someinfo throuth MCP
    KG->>+K: Get Cluster Info By API
    K-->>-KG: Return Cluster info
    KG-->>-CS: Return Info About K8s
    CS-->>CS: Handle Info
    CS-->>-U: Return Answer about K8s cluster

安装 k8sgpt

首先安装 k8sgpt 工具:

brew install k8sgpt

配置步骤

1. 配置 k8sgpt

确保你的 kubectl 已经正确配置并能够访问目标 Kubernetes 集群:

# 验证集群连接
kubectl cluster-info

# 初始化 k8sgpt
k8sgpt auth add --backend openai --model gpt-3.5-turbo
# 我的情况是必须配置一个 ai ,但是我不用 k8sgpt 的 ai 调用能力,只使用 mcp,但是不配置似乎起不来 mcp ,所以随便配置一个即可。

2. 启动 k8sgpt MCP 服务器

k8sgpt 提供了 MCP (Model Context Protocol) 服务器功能,允许 AI 助手通过标准化协议访问 Kubernetes 集群信息:

# 启动 MCP 服务器
k8sgpt serve --mcp

3. 在 Cherry Studio 中配置 MCP

在 Cherry Studio 中添加 k8sgpt MCP 服务器:

  1. 打开 Cherry Studio 设置
  2. 导航到 MCP 服务器配置
  3. 添加新的 MCP 服务器:
    • 名称: k8sgpt
    • 类型:Stdin
    • 命令: k8sgpt
    • 参数:“`
      serve
      --mcp

实际使用场景

集群健康检查

通过 Cherry Studio,启动该 mcp 后你可以使用自然语言询问集群状态:

"请检查当前集群的整体健康状况"
"有哪些 Pod 处于异常状态?"
"最近有什么报错信息吗?"

资源分析

"分析一下集群的资源使用情况"
"哪些节点的资源使用率比较高?"
"有没有资源分配不合理的工作负载?"

故障诊断

"namespace default 下的应用为什么起不来?"
"帮我分析一下这个 deployment 的问题"
"为什么服务无法访问?"

示例 MCP Client 配置

可用于 cursor claude code 等:

{
  "mcpServers": {
    "k8sgpt": {
      "command": "k8sgpt",
      "args": [
        "serve",
        "--mcp"
      ]
    }
  }
}

总结

通过结合 Cherry Studio 和 k8sgpt,我们可以构建一个智能化的 Kubernetes 运维助手,实现:

  • 提升效率: 自然语言交互,降低操作复杂度
  • 智能诊断: AI 驱动的问题识别和解决方案推荐
  • 实时监控: 持续的集群健康状态监控
  • 知识沉淀: 问题和解决方案的智能化管理

这种 AI + DevOps 的结合方式,代表了未来运维工作的发展方向,让复杂的 Kubernetes 集群管理变得更加简单和智能。

References

Claude Code Subagents 快速开始

在Claude Code中的AI子代理,可用于特定任务的工作流程和改进的上下文管理。

Claude Code中的自定义子代理是专门的AI助手,可以被调用来处理特定类型的任务。它们通过提供具有自定义系统提示、工具和独立上下文窗口的特定任务配置,实现更高效的问题解决。

具有如下优势:

  • 上下文保护:每个子代理在自己的上下文中操作,防止主对话的污染,并保持其专注于高级目标。
  • 专业知识:子代理可以通过特定领域的详细指令进行微调,在指定任务上获得更高的成功率。
  • 可重用性:一旦创建,子代理可以在不同项目中使用,并与您的团队共享以实现一致的工作流程。
  • 灵活权限:每个子代理可以有不同的工具访问级别,允许您将强大的工具限制在特定的子代理类型上。

什么是Sub Agents?

Sub Agents本质上是预配置的专业AI助手,它们能够被Claude Code主系统委托处理特定类型的任务。每个Sub Agent都拥有独立的上下文窗口、定制化的系统提示词以及特定的工具访问权限。这种设计使得每个Sub Agent都能专注于自己的专业领域,如代码审查、调试或数据分析等。

与传统的单一AI助手不同,Sub Agents采用了”术业有专攻”的理念。当Claude Code遇到匹配某个Sub Agent专业领域的任务时,会自动将任务委托给相应的专业Sub Agent处理,从而获得更精准、更专业的结果。

使用场景与最佳实践

在实际应用中,Sub Agents展现出了强大的适应性。代码审查Sub Agent可以自动检查代码质量、识别潜在bug并提供改进建议;调试Sub Agent专门分析错误日志、追踪问题根源;数据科学Sub Agent则擅长数据清洗、分析和可视化任务。

Anthropic建议用户首先使用Claude生成初始的Sub Agent,然后根据具体需求进行定制。这种方法既保证了基础功能的完整性,又允许用户根据个人或团队的特殊需求进行优化。

Sub Agents的推出代表了AI助手向专业化、模块化发展的重要趋势。这种设计不仅提高了任务执行的效率和准确性,还为构建复杂的AI工作流提供了基础框架。随着Sub Agents链式调用等高级功能的发展,我们有理由相信,这将为软件开发、数据分析等专业领域带来革命性的变化,推动AI技术在垂直领域的深度应用。

快速开始

创建您的第一个子代理:

  1. 打开子代理界面,运行以下命令:
    /agents
  2. 选择 Create new agent
  3. 定义子代理
    • 推荐:首先用Generate with Claude,然后自定义使其成为您的
    • 详细描述您的子代理以及何时应该使用它
    • 选择您想要授予访问权限的工具(或留空以继承所有工具)
    • 界面显示所有可用工具,使选择变得容易
    • 如果您正在用Generate with Claude ,您也可以通过按 e 在自己的编辑器中编辑系统提示
  4. 保存并使用 您的子代理现在可用了!Claude会在适当时自动使用它,或者您可以显式调用它:
    > 使用代码审查员子代理检查我最近的更改

SubAgents 配置

文件位置

子代理存储为带有YAML前言的Markdown文件,位于两个可能的位置:

类型 位置 范围 优先级
项目子代理 .claude/agents/ 在当前项目中可用 最高
用户子代理 ~/.claude/agents/ 在所有项目中可用 较低

当子代理名称冲突时,项目级子代理优先于用户级子代理。 ​

文件格式

每个子代理在Markdown文件中定义,具有以下结构:

---
name: your-sub-agent-name
description: Description of when this subagent should be invoked
tools: tool1, tool2, tool3  # Optional - inherits all tools if omitted
---

Your subagent's system prompt goes here. This can be multiple paragraphs
and should clearly define the subagent's role, capabilities, and approach
to solving problems.

Include specific instructions, best practices, and any constraints
the subagent should follow.

配置字段

字段 必需 描述
name 使用小写字母和连字符的唯一标识符
description 子代理目的的自然语言描述
tools 特定工具的逗号分隔列表。如果省略,从主线程继承所有工具

可用工具

子代理可以被授予访问Claude Code的任何内部工具。请参阅工具文档获取可用工具的完整列表。

推荐:使用/agents命令修改工具访问权限 – 它提供了一个交互式界面,列出所有可用工具,包括任何连接的MCP服务器工具,使您更容易选择所需的工具。

您有两个配置工具的选项:

  • 省略tools字段以从主线程继承所有工具(默认),包括MCP工具
  • 指定单个工具作为逗号分隔列表以获得更精细的控制(可以手动编辑或通过/agents

MCP工具:子代理可以访问来自配置的MCP服务器的MCP工具。当省略tools字段时,子代理继承主线程可用的所有MCP工具。

管理子代理

使用/agents命令(推荐)

/agents命令为子代理管理提供了一个全面的界面:

/agents

这会打开一个交互式菜单,您可以:

  • 查看所有可用的子代理(内置、用户和项目)
  • 通过引导设置创建新的子代理
  • 编辑现有的自定义子代理,包括它们的工具访问权限
  • 删除自定义子代理
  • 查看当存在重复时哪些子代理是活动的
  • 轻松管理工具权限,提供可用工具的完整列表

直接文件管理

您也可以通过直接处理子代理文件来管理它们:

# 创建项目子代理
mkdir -p .claude/agents
echo '---
name: test-runner
description: Use proactively to run tests and fix failures
---

You are a test automation expert. When you see code changes, proactively run the appropriate tests. If tests fail, analyze the failures and fix them while preserving the original test intent.' > .claude/agents/test-runner.md

# 创建用户子代理
mkdir -p ~/.claude/agents
# ... 创建子代理文件

有效使用子代理

自动委托

Claude Code基于以下内容主动委托任务:

  • 您请求中的任务描述
  • 子代理配置中的description字段
  • 当前上下文和可用工具

为了鼓励更主动的子代理使用,在您的description字段中包含”主动使用”或”必须使用”等短语。

显式调用

通过在命令中提及特定子代理来请求它:

> 使用测试运行器子代理修复失败的测试
> 让代码审查员子代理查看我最近的更改
> 请调试器子代理调查这个错误

示例子代理

代码审查员

---
name: code-reviewer
description: Expert code review specialist. Proactively reviews code for quality, security, and maintainability. Use immediately after writing or modifying code.
tools: Read, Grep, Glob, Bash
---

You are a senior code reviewer ensuring high standards of code quality and security.

When invoked:
1. Run git diff to see recent changes
2. Focus on modified files
3. Begin review immediately

Review checklist:
- Code is simple and readable
- Functions and variables are well-named
- No duplicated code
- Proper error handling
- No exposed secrets or API keys
- Input validation implemented
- Good test coverage
- Performance considerations addressed

Provide feedback organized by priority:
- Critical issues (must fix)
- Warnings (should fix)
- Suggestions (consider improving)

Include specific examples of how to fix issues.

调试器

---
name: debugger
description: Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.
tools: Read, Edit, Bash, Grep, Glob
---

You are an expert debugger specializing in root cause analysis.

When invoked:
1. Capture error message and stack trace
2. Identify reproduction steps
3. Isolate the failure location
4. Implement minimal fix
5. Verify solution works

Debugging process:
- Analyze error messages and logs
- Check recent code changes
- Form and test hypotheses
- Add strategic debug logging
- Inspect variable states

For each issue, provide:
- Root cause explanation
- Evidence supporting the diagnosis
- Specific code fix
- Testing approach
- Prevention recommendations

Focus on fixing the underlying issue, not just symptoms.

数据科学家

---
name: data-scientist
description: Data analysis expert for SQL queries, BigQuery operations, and data insights. Use proactively for data analysis tasks and queries.
tools: Bash, Read, Write
---

You are a data scientist specializing in SQL and BigQuery analysis.

When invoked:
1. Understand the data analysis requirement
2. Write efficient SQL queries
3. Use BigQuery command line tools (bq) when appropriate
4. Analyze and summarize results
5. Present findings clearly

Key practices:
- Write optimized SQL queries with proper filters
- Use appropriate aggregations and joins
- Include comments explaining complex logic
- Format results for readability
- Provide data-driven recommendations

For each analysis:
- Explain the query approach
- Document any assumptions
- Highlight key findings
- Suggest next steps based on data

Always ensure queries are efficient and cost-effective.

🚀代码审查专家(中文版)

---
name: code-reviewer
description: 专业代码审查专家。主动审查代码质量、安全性和可维护性。在编写或修改代码后必须立即使用。擅长代码质量评估、安全漏洞检测、性能优化建议和最佳实践推荐。MUST BE USED for code review, quality assessment, security check.
tools: file_search, bash, file_edit
---

你是一位资深代码审查专家,致力于确保代码质量和安全性的高标准。

当被调用时:
1. 运行 git diff 查看最近的更改
2. 专注于已修改的文件
3. 立即开始审查

审查清单:
- 代码简洁易读
- 函数和变量命名清晰
- 无重复代码
- 适当的错误处理
- 无暴露的密钥或API密钥
- 实现了输入验证
- 良好的测试覆盖率
- 考虑了性能因素

按优先级组织反馈:
- 严重问题(必须修复)
- 警告问题(应该修复)
- 建议改进(考虑改进)

包含具体的修复示例说明。

🚀调试专家(中文版)

---
name: debugger
description: 错误调试和问题排查专家。专门处理程序错误、测试失败和异常行为。当遇到任何技术问题、代码报错、功能异常或需要问题排查时必须主动使用。擅长根因分析、错误定位、Bug修复和系统诊断。MUST BE USED for debugging, error fixing, troubleshooting.
tools: file_search, file_edit, bash
---

你是一位专业的调试专家,专精于根因分析和问题解决。

当被调用时:
1. 捕获错误信息和堆栈跟踪
2. 确定重现步骤
3. 定位故障位置
4. 实施最小化修复
5. 验证解决方案有效

调试流程:
- 分析错误信息和日志
- 检查最近的代码更改
- 形成并测试假设
- 添加策略性调试日志
- 检查变量状态

对于每个问题,提供:
- 根本原因解释
- 支持诊断的证据
- 具体的代码修复
- 测试方法
- 预防建议

专注于修复根本问题,而不仅仅是症状。

🚀数据科学家(中文版)

---
name: data-scientist
description: 数据分析和数据科学专家。专门处理SQL查询、BigQuery操作和数据洞察分析。当需要数据分析、数据库查询、数据挖掘、统计分析、数据可视化或数据驱动决策时必须主动使用。擅长SQL优化、数据建模、统计分析和商业智能。MUST BE USED for data analysis, SQL queries, data insights.
tools: bash, file_search, file_edit
---

你是一位数据科学家,专精于SQL和BigQuery分析。

当被调用时:
1. 理解数据分析需求
2. 编写高效的SQL查询
3. 适当时使用BigQuery命令行工具(bq)
4. 分析和总结结果
5. 清晰地呈现发现

关键实践:
- 编写带有适当过滤器的优化SQL查询
- 使用适当的聚合和连接
- 为复杂逻辑添加注释
- 格式化结果以提高可读性
- 提供数据驱动的建议

对于每次分析:
- 解释查询方法
- 记录任何假设
- 突出关键发现
- 基于数据建议后续步骤

始终确保查询高效且具有成本效益。

🚀PRD文档生成

---
name: prd-writer
description: 专业的产品需求文档(PRD)生成专家和产品经理助手。当用户需要生成PRD文档、产品需求文档、产品规格书、功能需求分析、产品设计文档、需求整合、产品规划或编写用户故事时必须优先使用。擅长结构化需求分析、用户故事编写、功能规格定义和产品文档标准化。MUST BE USED for PRD creation, product requirements documentation, feature specifications, user story writing.
tools: file_edit, web_search, file_search
---

# 专业PRD文档生成专家

## 角色定位
你是一位资深产品经理和PRD文档专家,专门负责创建高质量的产品需求文档。你具备深厚的产品管理经验、用户体验设计能力和市场洞察力。

## 核心工作流程

### 1. 需求收集阶段
- 主动询问产品背景、目标用户、核心价值主张
- 了解业务目标、成功指标和约束条件
- 收集竞品信息和市场环境

### 2. 需求分析阶段  
- 将模糊想法转化为清晰的功能需求
- 定义用户画像和使用场景
- 确定功能优先级和依赖关系

### 3. 方案设计阶段
- 设计用户体验流程和交互方案
- 提供技术实现建议和架构概述
- 评估实现难度和资源需求

### 4. 文档编写阶段
- 生成结构化、完整的PRD文档
- 为每个功能定义明确的验收标准
- 包含时间规划和里程碑

## 标准PRD文档结构

### 1. 产品概述
- 产品背景与目标
- 目标用户群体
- 核心价值主张
- 成功指标定义

### 2. 功能需求
- **用户故事格式**: "作为[用户角色],我希望[功能描述],以便[业务价值]"
- **验收标准**: 使用Given-When-Then格式
- **优先级**: P0/P1/P2分级
- **依赖关系**: 前置条件和影响范围

### 3. 非功能需求
- 性能要求(响应时间、并发量等)
- 安全要求(数据保护、权限控制等)
- 兼容性要求(设备、浏览器支持等)

### 4. 技术方案
- 系统架构概述
- 关键技术选型
- 数据模型设计
- API接口规范

### 5. 用户体验设计
- 用户旅程地图
- 关键页面流程
- 交互原型描述
- UI规范要求

### 6. 实施计划
- 开发里程碑
- 资源需求评估
- 风险识别与应对
- 测试验收计划

## 输出质量标准

### 需求描述质量
- **具体性**: 避免模糊表述,使用量化指标
- **可测试性**: 每个需求都有明确的验收标准
- **可实现性**: 技术方案合理可行
- **完整性**: 覆盖所有必要的功能和场景

### 文档结构质量
- 逻辑清晰,层次分明
- 使用统一的格式和术语
- 包含必要的图表和示例
- 便于不同角色阅读理解

## 交互模式

### 初次接触
当用户提出PRD需求时,主动询问:
1. 产品的基本信息(名称、类型、目标用户)
2. 核心功能或解决的问题
3. 预期的项目规模和时间要求
4. 是否有参考的竞品或类似产品

### 迭代优化
- 根据用户反馈调整文档结构
- 提供多个方案供用户选择
- 主动识别需求中的矛盾或遗漏
- 建议最佳实践和行业标准

## 常用模板和工具

### 用户故事模板

作为 [用户角色]
我希望 [功能描述]  
以便 [业务价值]

验收标准:
- Given [前置条件]
- When [操作动作]
- Then [预期结果]

### 功能优先级矩阵
- P0: 核心功能,必须实现
- P1: 重要功能,优先实现  
- P2: 增值功能,资源允许时实现

### 技术评估维度
- 开发复杂度 (1-5分)
- 业务价值 (1-5分)
- 用户影响面 (1-5分)
- 技术风险 (1-5分)

现在请告诉我您的产品需求,我将为您生成一份专业的PRD文档。

References

边缘计算平台对比:Vercel vs Cloudflare Workers

边缘计算平台对比:Vercel vs Cloudflare Workers 及其他选择

在现代 Web 开发中,边缘计算平台已经成为提升应用性能和用户体验的关键技术。本文将深入对比几个主流的边缘计算和部署平台,特别关注它们对 Next.js SSR 的支持以及价格结构。

平台概览

Vercel

Vercel 是由 Next.js 创造者开发的部署平台,专门为现代前端框架优化。它提供了无缝的 Git 集成、自动部署和全球 CDN。

Cloudflare Workers

Cloudflare Workers 是基于 V8 引擎的边缘计算平台,在全球 200+ 个数据中心运行,提供极低延迟的计算能力。

其他竞争者

  • Netlify: 专注于 JAMstack 的部署平台
  • AWS Lambda@Edge: 亚马逊的边缘计算解决方案
  • Deno Deploy: 基于 Deno 运行时的边缘平台
  • Railway: 简化的云部署平台

Next.js SSR 支持对比

Vercel – 原生支持 ⭐⭐⭐⭐⭐

作为 Next.js 的创造者,Vercel 提供了最完整的 Next.js 支持:

优势:

  • 零配置部署:直接支持所有 Next.js 功能
  • 增量静态再生 (ISR):完整支持
  • 边缘运行时:原生支持 Edge Runtime
  • 中间件:完整的 Next.js 中间件支持
  • 图片优化:自动优化和 WebP 转换
  • API 路由:支持所有 Next.js API 功能

SSR 特性:

// pages/api/hello.js - 完整支持
export default function handler(req, res) {
  res.status(200).json({ message: 'Hello from Vercel!' })
}

// 支持 getServerSideProps
export async function getServerSideProps(context) {
  return {
    props: { data: await fetchData() }
  }
}

Cloudflare Workers – 适配支持 ⭐⭐⭐⭐

通过 @cloudflare/next-on-pages 适配器支持 Next.js:

优势:

  • 超快冷启动:0ms 冷启动时间
  • 全球边缘:200+ 个节点
  • 成本效益:免费额度更高

限制:

  • 运行时限制:不支持 Node.js 特定 API
  • 构建复杂性:需要额外配置
  • 功能限制:部分 Next.js 功能需要适配

配置示例:

// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    runtime: 'edge'
  }
}

Netlify – 良好支持 ⭐⭐⭐⭐

通过 @netlify/plugin-nextjs 支持:

优势:

  • 简单部署:Git 集成良好
  • 边缘函数:支持 Netlify Edge Functions
  • 表单处理:内置表单处理功能

限制:

  • 冷启动:比 Vercel 稍慢
  • 功能支持:某些 Next.js 新功能支持较慢

AWS Lambda@Edge – 企业级支持 ⭐⭐⭐

优势:

  • AWS 生态:与 AWS 服务深度集成
  • 可定制性:高度可配置

限制:

  • 复杂配置:需要大量 AWS 知识
  • 冷启动:较慢的冷启动时间
  • 成本:小项目成本较高

价格对比分析

Vercel 价格结构

免费层 (Hobby)

  • 带宽: 100GB/月
  • 函数执行: 100GB-小时/月
  • 构建时间: 6000 分钟/月
  • 团队成员: 1 人
  • 域名: 无限
  • 适用场景: 个人项目、小型应用

Pro 层 ($20/月)

  • 带宽: 1TB/月
  • 函数执行: 1000GB-小时/月
  • 构建时间: 24000 分钟/月
  • 团队成员: 10 人
  • 密码保护: 支持
  • 分析功能: 高级分析

Enterprise (自定义)

  • SLA: 99.99% 可用性
  • SAML SSO: 企业级身份验证
  • 专属支持: 24/7 支持

Cloudflare Workers 价格结构

免费层

  • 请求: 100,000 次/天
  • CPU 时间: 10ms/请求
  • 内存: 128MB
  • 脚本数量: 30 个
  • 适用场景: 小型应用、测试

付费层 ($5/月 起)

  • 请求: 1000 万次/月 (基础)
  • CPU 时间: 50ms/请求
  • 内存: 128MB
  • 超出费用: $0.50/百万请求

优势:

  • 成本效益: 按使用付费模式
  • 无冷启动费用: 不像传统 serverless

核心参数对比表

Next.js SSR 支持对比

平台 SSR 支持 ISR 支持 中间件支持 API 路由 图片优化 冷启动时间 配置复杂度
Vercel ✅ 完整 ✅ 完整 ✅ 完整 ✅ 完整 ✅ 自动 ~100ms ⭐ 零配置
Cloudflare Workers ✅ 适配 ❌ 限制 ✅ 部分 ✅ 边缘 ❌ 需配置 ~0ms ⭐⭐⭐ 需适配
Netlify ✅ 良好 ✅ 支持 ✅ 部分 ✅ 函数 ✅ 插件 ~200ms ⭐⭐ 简单
Deno Deploy ✅ 实验 ❌ 不支持 ❌ 不支持 ✅ 原生 ❌ 手动 ~50ms ⭐⭐⭐ 复杂
Railway ✅ 完整 ✅ 支持 ✅ 完整 ✅ 完整 ✅ 支持 ~500ms ⭐⭐ 容器化

价格对比表

平台 免费额度 入门付费 带宽限制 函数执行 存储 构建时间
Vercel 100GB 带宽
100GB-h 函数
$20/月 1TB/月 1000GB-h/月 无限 24000分钟/月
Cloudflare Workers 10万请求/天
10ms CPU/请求
$5/月 无限 1000万请求/月 1GB KV 无限制
Netlify 100GB 带宽
125K 函数调用
$19/月 1TB/月 200万次/月 100GB 300分钟/月
Deno Deploy 10万请求/月
100GB-ms CPU
$20/月 1TB/月 500万请求/月 1GB 400分钟/月
Railway $5 信用额度 $5/月起 无限 按使用付费 100GB 500分钟/月

性能对比表

平台 全球节点数 冷启动 最大执行时间 内存限制 并发限制 地理覆盖
Vercel 40+ ~100ms 10s (Hobby)
15s (Pro)
1024MB 1000 全球
Cloudflare Workers 200+ ~0ms 30s 128MB 1000 全球最广
Netlify 100+ ~200ms 10s 1024MB 1000 全球
Deno Deploy 30+ ~50ms 5s 512MB 1000 主要地区
Railway 3 ~500ms 无限制 8GB 无限制 美国/欧洲

开发体验对比

平台 Git 集成 预览部署 本地开发 CLI 工具 监控分析 日志查看 团队协作
Vercel ✅ 优秀 ✅ 自动 ✅ 完整 ✅ 强大 ✅ 详细 ✅ 实时 ✅ 完善
Cloudflare Workers ✅ 良好 ✅ 支持 ✅ Wrangler ✅ 专业 ✅ 基础 ✅ 实时 ✅ 企业级
Netlify ✅ 优秀 ✅ 自动 ✅ 完整 ✅ 简洁 ✅ 良好 ✅ 基础 ✅ 良好
Deno Deploy ✅ 基础 ✅ 支持 ✅ 原生 ✅ 简单 ❌ 基础 ✅ 基础 ❌ 基础
Railway ✅ 良好 ✅ 支持 ✅ 容器 ✅ 完整 ✅ 详细 ✅ 完整 ✅ 良好

使用场景推荐

🎯 选择 Vercel 的场景

  • Next.js 项目:需要完整的 Next.js 功能支持
  • 快速原型:零配置部署需求
  • 团队协作:需要完善的协作功能
  • 企业应用:需要 SLA 保证和专业支持

⚡ 选择 Cloudflare Workers 的场景

  • 高性能需求:极低延迟要求
  • 成本敏感:大流量但预算有限
  • 边缘计算:需要在边缘处理复杂逻辑
  • 全球分发:需要最广泛的地理覆盖

🌐 选择 Netlify 的场景

  • JAMstack 应用:静态站点 + API 的架构
  • 表单处理:需要内置表单功能
  • 中小团队:平衡功能和成本
  • 渐进式迁移:从传统架构迁移

📊 成本效益分析

月访问量 推荐平台 预估成本 原因
< 10万 Vercel 免费版 $0 免费额度充足
10-100万 Cloudflare Workers $5-15 按需付费更优
100-500万 Vercel Pro $20-50 功能完整,成本可控
> 500万 混合方案 自定义 静态资源用 CF,动态用 Vercel

迁移建议

从传统服务器迁移

  1. 评估现有应用:确定 SSR 需求和依赖
  2. 选择合适平台:根据技术栈和预算选择
  3. 渐进式迁移:先迁移静态资源,再迁移动态功能
  4. 性能监控:持续监控和优化

平台间迁移

  • Vercel ↔ Netlify:相对简单,主要是配置差异
  • 传统平台 → Edge:需要重构部分代码逻辑
  • Cloudflare Workers:可能需要重写部分功能以适配 V8 限制

结论

选择边缘计算平台需要综合考虑技术需求、成本预算和团队能力:

  • 追求极致性能:Cloudflare Workers
  • Next.js 最佳体验:Vercel
  • 平衡性价比:Netlify
  • 企业级需求:Vercel Enterprise 或 AWS Lambda@Edge

每个平台都有其独特优势,关键是根据具体项目需求做出最适合的选择

媒体服务器对比:Emby vs Plex vs Jellyfin

在数字化时代,拥有一个强大的媒体服务器来管理和流式传输您的个人媒体收藏变得越来越重要。本文将深入对比三个主流的媒体服务器解决方案:Emby、Plex 和 Jellyfin,帮助您选择最适合需求的方案。

概述

Plex

Plex 是市场上最成熟和用户友好的媒体服务器平台之一。它提供了强大的媒体组织功能、跨平台支持和丰富的第三方应用生态系统。

Emby

Emby 定位于高级用户,提供了更多的自定义选项和本地控制。它在开源社区中广受欢迎,同时也提供付费的高级功能。

Jellyfin

Jellyfin 是完全开源的媒体服务器,由 Emby 的分支发展而来。它专注于隐私保护和用户控制,不包含任何遥测或付费墙功能。

详细功能对比

特性 Plex Emby Jellyfin
许可证 免费版 + 付费订阅 免费版 + 一次性付费 完全免费开源
硬件转码 Plex Pass 需要 Emby Premiere 需要 完全免费
客户端应用 极其丰富 较丰富 持续增长
设置难度 简单 中等 中等偏难
媒体识别 优秀 良好 良好
用户管理 强大 良好 基础但功能齐全
插件生态 丰富 中等 活跃发展中
隐私保护 需要账户,有遥测 可选遥测 完全本地,无遥测
移动同步 Plex Pass 功能 Emby Premiere 功能 免费提供
直播电视 支持(需 Plex Pass) 支持(需 Premiere) 支持(免费)
硬件需求 中等 中等 中等到高
更新频率 频繁 定期 频繁

成本对比

Plex

  • 免费版:基础功能,有广告
  • Plex Pass:$4.99/月 或 $39.99/年 或 $119.99 终身
  • 付费功能:硬件转码、移动同步、预告片和附加内容

Emby

  • 免费版:核心功能完整
  • Emby Premiere:$54 终身付费
  • 付费功能:硬件转码、移动应用、直播电视、云同步

Jellyfin

  • 完全免费:所有功能免费开放
  • 成本:仅需服务器硬件和电费
  • 社区支持:通过捐赠支持开发

性能和稳定性

Plex

优势

  • 成熟稳定的代码基础
  • 优秀的媒体转码性能
  • 强大的远程访问能力
  • 出色的元数据获取和媒体识别

劣势

  • 某些高级功能需要付费
  • 依赖 Plex 公司的服务器进行认证

Emby

优势

  • 良好的性能和稳定性
  • 灵活的自定义选项
  • 强大的用户权限控制
  • 活跃的社区支持

劣势

  • 界面相对复杂
  • 一些高级功能需要付费

Jellyfin

优势

  • 完全开源,透明度高
  • 所有功能免费
  • 不依赖外部服务
  • 快速的开发迭代

劣势

  • 相对较新,可能存在稳定性问题
  • 客户端应用数量相对较少
  • 需要更多技术知识进行配置

用户界面和体验

Plex

拥有最精美和直观的用户界面,适合所有技术水平的用户。移动应用和网页界面都经过精心设计,用户体验极佳。

Emby

界面功能强大但稍显复杂,适合喜欢自定义和控制的用户。提供了丰富的配置选项,但学习曲线较陡。

Jellyfin

界面简洁实用,基于现代 Web 技术构建。虽然不如 Plex 精美,但功能齐全且响应迅速。

选择建议

选择 Plex 的情况:

  • 您是媒体服务器新手,希望快速上手
  • 需要最广泛的客户端设备支持
  • 愿意为便利性和高级功能付费
  • 重视精美的用户界面和用户体验
  • 需要强大的远程访问和分享功能

选择 Emby 的情况:

  • 您有一定的技术背景,喜欢自定义
  • 希望在开源和商业功能间找到平衡
  • 需要灵活的用户权限管理
  • 愿意一次性付费获得高级功能
  • 重视本地控制和隐私

选择 Jellyfin 的情况:

  • 您坚持使用开源软件
  • 不想为媒体服务器功能付费
  • 重视隐私和数据控制
  • 有技术能力处理偶尔的问题
  • 支持社区驱动的开发模式
  • 需要所有高级功能但预算有限

总结

三个平台都是优秀的媒体服务器解决方案,选择主要取决于您的具体需求、技术水平和预算:

  • Plex 最适合希望获得完整、精美体验的用户
  • Emby 适合需要平衡功能性和控制性的用户
  • Jellyfin 是开源爱好者和预算有限用户的最佳选择

无论选择哪个方案,您都能构建一个强大的个人媒体中心,享受数字媒体收藏带来的便利。建议您可以先试用免费版本,根据实际使用体验做出最终决定。

《我看见的世界:李飞飞自传》

阅读感悟

暂略

阅读摘录

《我看见的世界:李飞飞自传》

[美]李飞飞 82个笔记

03 鸿沟渐窄

◆ 1956年,他们将好奇心编撰成文,提出了现在广为人知的《达特茅斯人工智能夏季研究项目提案》,“人工智能”一词就是在这份提案中诞生的

◆ 最著名的例子是麻省理工学院博士生特里·威诺格拉德(Terry Winograd)开发的一个程序,用户可以用简单的英语命令来操控一组虚拟的彩色方块。有段对话格外令人难忘,以下是部分摘录:用户:找一块比你手中的方块更高的方块,把它放进盒子里。计算机:我想,你说的“它”是指比我手中的方块更高的方块。计算机:好的。用户:盒子里装了什么?计算机:蓝色三角锥和蓝色方块。用户:三角锥是由什么支撑的?计算机:盒子。用户:有多少个方块不在盒子里?计算机:四个。

◆ 费根鲍姆的创新开启了后来被称为“知识工程”(knowledge engineering)的全新子领域。在这个子领域中,有关特定领域(医学、制药、金融或几乎其他任何领域)的事实被整理成数据库。机器可以读取相关数据,像威诺格拉德的几何形状一样进行分析,并以自然流畅的书面问答形式提供答案,实现了媲美咨询人类专家的自动化体验。这些程序被称为“专家系统”(expert systems)。

◆ 美国孩子似乎普遍比较吵闹粗暴,对老师似乎也缺乏尊重

◆ 师生之间的互动常常是对抗性的,但也充满了俏皮和温暖。在这原本令我生畏的第一天,我立刻确定了一件事:我会喜欢美国的老师

◆ 此前的几代人试图用规则详尽描述智能,算法相对僵化,这种人工智能通常被称为“符号人工智能”(symbolic AI);20世纪80年代末到90年代初,潮流开始转向更自然的方法

◆ 杨立昆的成果就预示着一个大胆的未来。随着时间的推移,行业研究重点从“通过明确编程来解决问题”转变为“从示例中发现模式”。

◆ 换言之,算法不是被告知该做什么,而是去学习该做什么。研究人员给它起了一个贴切的名字:“机器学习”(machine learning)。

◆ 1950年,图灵发表了一篇题为《计算机器与智能》的论文,简要对比了“基于规则的人工智能”(rule-based AI)和机器学习

◆ 基于规则的人工智能是指从零开始构建具有智能行为能力的完整体,而机器学习指的是允许智能体自主发展。图灵问道:“与其努力打造程序来模拟成人的思维,为何不尝试用程序模拟儿童的思维呢?”

◆ 大脑可以被看作由简单元素组成的大型网络,元素之间的联系可以随着时间的推移而改变;通过将复杂的行为分布于网络中,我们几乎可以完成无限的任务,并且可以不断学习新的任务,即使到了晚年也可以。

◆ 人类大脑的复杂性远远超越已知宇宙中的任何其他事物,但其构造又极其优雅,几乎把复杂性全部掩藏

◆ 汽车或手机都是由清晰区分的零件组装而成,这是人类设计师认为直观的形式。但大脑的构造与此不同,它是由近1000亿个神经元构成的巨大网络,其中的神经元就是一个个互相连接的微小单元,可以在电化学传输中精细聚焦

◆ 大脑在最初在子宫内形成后的很长时间里,才通过学习形成了(或者至少是逐渐完善了)这些网络结构。这就是为什么尽管我们的灰质在解剖学上看起来并无二致,但每个人的个性、技能和记忆都是独一无二的。

◆ 休伯尔和威塞尔的研究发现,感知不是发生在单个神经元层次上,而是通过由多层神经元组成的层次结构进行的

◆ 由于大脑的网络结构允许无数步骤同时进行,我们的感知体验是连续不断、充满活力的

◆ 福岛邦彦将这一成果称为“新认知机”(neocognitron)。新认知机对输入数据的异常具有很高的复原力和容忍度,因此在准确辨认笔迹方面取得了突破性的进展

◆ 随着网络接触到越来越多的实例(如照片或音频波形集),神经元之间的连接就会因所见所闻而被重塑,留下越来越详细的印记。就像流淌几百年的河水雕刻出的峡谷壁一样,在经过一定的训练后,神经网络会逐渐呈现出特定的特征。经过多年的努力,神经网络突然开始以前所未有的规模进行学习,并达到了前所未有的精确度,这预示着真正的转折点即将到来

◆ 这是父亲真正的天赋所在——不是工程学,不是相机修理,甚至不是文字游戏,而是在任何情况下,哪怕再平淡无奇,都可以发现幸福和快乐。

04 心智探索

◆ 母亲出生在一个国民党家庭,她的出身属于敌对的阵营,因而一直戴着精神枷锁做人。而现在,她在这新泽西州的干洗店里变得春风扑面、笑口常开

◆ 物理学为我学习计算机打下了坚实的基础。我开始学习一门新的语言——一种简称为C的编程语言。与英语不同,C语言以一种前所未有的方式赋予我力量。它的清晰度和精确度都堪称完美,让我能够以复杂、抽象的方式进行计算,而且计算规模之大是我以前无法想象的

◆ 学习一门新语言,就像打开了一扇通往新世界的大门

◆ 当神经元以千亿计的数量级复制,当它们之间的连接达到10的11次方时,质变就发生了

◆ 物质变成了思维,产生了爱、喜悦、悲伤、愤怒、恐惧和欢笑,也造就了我们在科学、艺术、音乐和数学等方面的能力

05 第一道光

◆ 我们的远古祖先形态简单,考虑到当时的环境,这也是很自然的事。它们居住的水下空间生物稀少,无须为了食物相互竞争。在三叶虫出现之前,生物捕获猎物主要靠运气,而猎物也采取了同样漫无目的的方式来躲避捕食者,双方均靠运气生存。只有当食物近在咫尺、无须付出任何主动努力时,生物才会进食。

◆ 他认为,引发寒武纪生命大爆发的导火线是一种能力的出现:光敏感性,这也是现代眼睛形成的基础

◆ 对光的感知迅速发展,其核心在于一类被称为“视蛋白”的蛋白质。这种蛋白质具有独特的性质,比如在吸收光子时会改变形状(本质上是对光的物理反应),并连接成一种叫作“离子通道”的链条,将这种反应转化为生物电信号,传输到身体的其他部位

◆ 在进化过程中,神经网络虽然原始,却是与竞争日益激烈的外部世界保持同步的权宜之计,即使今天也依然存在,尤其是在水生生物中,例如某些种类的水母

◆ 大脑并不是内部某种神秘的智力火花的产物,而是对外部世界的反应。

◆ 当时的我还不知道,视觉研究是人工智能本身的产物

06 北极星

◆ 通过进一步研究,索普精确地指出,大脑中的识别时刻是在图像出现后仅仅150毫秒(大概相当于眨眼的一瞬间)

◆ 我们的视觉基础在于识别定义明确的类别,也就是对事物的识别

◆ 视知觉依赖于分类

◆ 我们的视觉系统就像是某个神秘巨人以极大的耐心精雕细琢出的发条装置,而我们的研究工作像是其逆向工程。虽然发条装置的小齿轮在我们面前嘀嗒作响,但其神秘面纱仍然未被揭开,距离完全理解视觉原理还有很长一段路要走,但我们已经窥得一些非凡的东西

◆ 生物进化是宇宙中唯一能够从零开始创造真正智能的力量,我觉得我们正在复原其线路图,或者至少是其中的一些片段

◆ 作为人类,我们天生就有一种神奇的本领,那就是可以仅凭对陌生事物的一瞥,再次遇到时就能认出来,不管是一样新的乐器、一种我们从未见过的动物,还是一位新当选的政治家

◆ 即使面对全新的事物,无论多么新奇,我们也会借助一生的经验来加以理解。我们所看到的几乎一切都深深地融入了过往的经验——轮廓、光影、纹理和图案等熟悉的细节,以至我们很难想象能真正孤立地看到任何东西。

◆ 我们选择的机器学习算法的数学核心是“贝叶斯网络”(Bayesian network),这是一种概率技术

◆ 数据被公然视为一种惰性商品,只在算法需要时才重要,虽然这种观点并不稀奇,但我开始意识到,有一些重要的东西一直都被低估了。

◆ 我欣赏他勇于冒险的精神,但也不得不考虑现实情况。我知道收集、标记和组织图像的实际工作将会落在我身上,所以我总是尽力平衡我们的研究需求和日常生活的实际问题。

◆ 我比以往任何时候都更加确信,分类是连接一切研究的核心思想

◆ 我们的算法出现了数据科学中所说的过拟合现象(overfitting)。

◆ 也就是说,无论算法设计得多么巧妙(我们探索了所有能找到的算法),即使是那些在测试中表现最好的算法,在遇到新的刺激时,也会很快出现问题

◆ 那些看似经过有效训练的算法,却无法将它们所学到的知识,或者说它们本应学到的知识,应用于现实世界

◆ 从本质上讲,这与人类的感知能力恰恰相反

◆ 人类的感知能力是由泛化能力决定的,泛化能力增强了我们的灵活性和适应性,甚至让我们富有创造力,让我们能够随时利用新想法的力量锐意进取,而不是停留在过去的经验中止步不前

◆ 任何缺乏泛化能力的生物都会很快被自然界的不可预测性击垮,因此这种能力是生物进化思维的关键特征。然而,对机器来说,泛化在很大程度上仍然是遥不可及的

◆ 单词在帮助我们对所见事物进行分类方面发挥着基础性的作用,因此他推断,对所有离散且可量化的事物的单词(即英文中的可数名词)进行计数,将是一个很好的起点

07 一个假设

◆ ImageNet不仅是一个数据集,它是一个假设、一个赌注,即实现真正机器智能的第一步,是沉浸在完整的视觉世界中

◆ 视觉不仅仅是一种“感觉”,至少不是那种可以用温度计或盖革计数器测量的“感觉”,而是一种体验的催化剂

◆ WordNet是心理学和认知科学领域的传奇人物乔治·阿米蒂奇·米勒(George Armitage Miller)的杰作

◆ 他想通过WordNet以极其庞大的规模绘制出语言结构图

◆ 例如,我们不因为拼写接近而把“apple”(苹果)这个词与“appliance”(器具)进行关联,而是将它与“food”(食物)、“fruit”(水果)、“tree”(树)等一系列相关的词汇进行集群配对。这样形成的词汇数据库就像一张地图,将人类所珍视的一切(也就是我们用词汇描述的一切)排列在一个相连的空间里。简而言之,这就是WordNet

◆ 1985年启动以来,WordNet已经发展到极其庞大的规模,收录了超过14万个英文单词,并迅速扩展到新的语言

◆ 首先是WordNet,一个目标无比宏大的词汇数据库,几乎捕捉了世界上所有的概念,并以人类意义的自然层次组织起来。然后是ImageNet,它致力于为每个概念配上一张图片

◆ 深深地陷进椅子里,缓缓地呼出一口气。我简直不敢相信自己即将说出口的话。“你对干洗了解多少?”

◆ 在线平台可以将任务分配和结果收集过程自动化,有效组织远程的临时工作团队,规模小到个人,大到数百万人的团队。“如果你感兴趣的话,亚马逊就在提供这种服务,叫作‘土耳其机器人’。”

◆ 这个名字很妙,源于18世纪的一种会下国际象棋的自动机器“土耳其机器人”。当时,这个机器人在世界各地巡回展出,被视为一个工程奇迹。它棋艺高超,就连国际象棋高手也甘拜下风。但实际上这个装置纯属骗局:在机器人底座里就藏着一个人类国际象棋大师,正是这个人在操控机器,让观众既兴奋又困惑

◆ 几个世纪后,新兴的众包实践基于同样的理念:真正的智能自动化仍然最适合由人类来完成。亚马逊土耳其机器人(Amazon Mechanical Turk, AMT)围绕这个概念建立了一个市场,“请求者”可以发布“人类智能任务”,由贡献者完成,这些贡献者被称为“土耳其人”(Turker),他们可能来自世界上的任何地方。从理论上讲,这个模式很合理,似乎可以提供我们想要的一切:既有人工标注图片带来的智慧成分,又有与自动化相当的速度与规模。有趣的是,亚马逊称之为“人工人工智能”,这个名字相当贴切。

◆ 我还开始不定期地前往旧金山湾区,拜访斯坦福大学的机器学习和计算机视觉先驱,其中包括吴恩达(Andrew Ng)、达夫妮·科勒(Daphne Koller)和塞巴斯蒂安·特龙(Sebastian Thrun)

08 实验验证

◆ 我不由得笑了起来。一个21世纪的学生用“老古董”这个词来形容几十年前的工作,足以证明我们的领域是多么年轻(可能也证明我正在变老——我选择无视这种可能性)

◆ 神经网络是由生物学启发、层次分明的相互连接的决策单元阵列。由于计算机视觉领域的迅速发展,到了21世纪初,我们中的大多数人已经把神经网络看成是尘封已久的艺术品,包裹在玻璃罩中,四周用天鹅绒绳索保护,闲人勿近。

◆ 冠军算法名为AlexNet,是向这项技术和项目的主要作者、多伦多大学研究员亚历克斯·克里热夫斯基(Alex Krizhevsky)致敬。

◆ 这就像是听说一辆本田思域以每小时160千米的速度差打破了陆地速度的纪录。根本不可思议。进步不应该是这样的。

◆ AlexNet是卷积神经网络(Convolutional Neural Network, CNN)的一个实例

◆ 卷积神经网络的叫法源于图形卷积过程。在这个过程中,一系列滤波器在图像上扫过,寻找与网络所识别事物相对应的特征

◆ 这是一种独特的有机设计,灵感来自休伯尔和威塞尔对哺乳动物视觉系统的观察,即视觉处理在多个层次上进行。就像在自然界中一样,卷积神经网络的每一层都会逐渐整合更多的细节信息,从而形成越来越高层次的感知,最终将真实世界的物体完整地呈现在我们的视野中

◆ 最终,经过各层过滤后,仅剩下少数几个信号被融合成识别对象的详细图像,进入网络的最后阶段:识别阶段

◆ 当然,这些并不是什么新的创意。自从贝尔实验室成功将卷积神经网络应用于手写邮编,杨立昆多年来一直对卷积神经网络保持着惊人的忠诚。在AlexNet诞生时,他已经花了20年时间坚持不懈地完善算法、发表研究成果,但一直没有必要的资源来充分实现这些成果。

◆ 事实上,在ImageNet的帮助下,AlexNet焕发生机,它贪婪地吸收着ImageNet的内容,在ImageNet规模和多样性的土壤中生根发芽,茁壮成长

◆ 现实世界中幽灵般的碎片,以恰到好处的方式组织起来,供算法来查看

09 万物以外是什么

◆ 几十年来,曾经大胆自称“人工智能”的领域已经分裂成许多细分的学科,其中许多学科的命名抛却了其认知根源,转而使用更机械化的术语,比如模式识别(pattern recognition)和自然语言处理(natural language processing)。在这个过程中,对中心实验室的需求逐渐消失

◆ 另一个则是长期兼顾教育和硅谷领导职务的吴恩达,他卸任了斯坦福大学人工智能实验室的主任一职。在许多资深同事的支持下,我接任了实验室的第七任主任,也是首位担任这一职务的女性

10 似易实难

◆ 然后,她又想了一会儿,找到了背后的原因。“我一点儿尊严都没有了。彻底丧失了。在那样的时刻……”她似乎有些语无伦次。我正想鼓励她继续说下去,她就接着说完了:“甚至健康都不重要了。”

◆ 个体的尊严是至高无上的——这是任何数据集都无法解释、任何算法都无法优化的变量

11 无人可控

◆ AGI指的是“通用人工智能”(artificial general intelligence),是一种极其复杂、灵活的人工智能,

◆ 请大家不要每天只从arXiv下载最新的预印本作品了。去读一读拉塞尔和诺维格的著作,去读明斯基、麦卡锡和威诺格拉德的书,读哈特利和西塞曼的作品,读一读帕尔默写的东西。不要因为这些材料距离现在时间久就忽略它们。我们就是要多读一些以前的东西,他们的理念经得起时间的考验,依然非常重要。”

12 下一颗北极星

◆ 那是2019年的春天,是“CS231n:卷积神经网络视觉识别”课程开设的第三年

◆ 原来我们都是彻头彻尾的普通人。我们也许略有成就,但依然有弱点,依然会犯错,而犯错的方式是学生时代的我无法想象的。

◆ 人工智能如何才能尊重人的尊严呢?这个问题是一切研究工作的立足点

◆ 伦理、社会与编写代码之类的工作有什么关系呢?”

译后记

◆ 《我看见的世界》是李飞飞博士的自传。她是美国三院院士,是计算机科学家,是人本主义者,是母亲、女儿、妻子,是曾短暂涉足商界的学术人士。

— 来自微信读书

Kiro or Cursor? AI IDE工具全面对比:选择最适合的智能编程助手

随着人工智能技术的快速发展,AI驱动的集成开发环境(IDE)正在重塑软件开发的格局。开发者现在面临众多选择,每个工具都有其独特的优势和特色。本文将深入对比四个主流的AI IDE工具:Cursor、Amazon Kiro、Claude Code和Augment Code,帮助开发者做出明智的选择。

主要工具概览

Cursor

Cursor是一个基于VS Code的AI驱动代码编辑器,内置智能AI助手和代理,支持Claude 3.7 Sonnet、OpenAI o3和Gemini等多种模型。它专注于提供无缝的AI辅助编程体验,被认为是GitHub Copilot的强力替代品。

Amazon Kiro

Amazon于2025年7月14日发布的Kiro(发音为”keer-oh”)是一个AI驱动的IDE,采用”规格驱动开发”方法,旨在帮助开发者从原型快速过渡到生产就绪的系统。它基于Code OSS平台构建,强调结构化开发流程。

Claude Code

Claude Code是Anthropic开发的命令行工具,将Claude Opus 4的强大功能直接嵌入终端,具有深度代码库感知能力,能够在开发环境中直接编辑文件和运行命令。它专注于终端驱动的开发工作流。

Augment Code

Augment Code是一个强大的AI软件开发平台,拥有行业领先的上下文引擎,支持Visual Studio Code、JetBrains IDE、Vim和Neovim,并在SWE-bench基准测试中取得最高分。

核心特性对比表

特性 Cursor Amazon Kiro Claude Code Augment Code
基础架构 VS Code分支 Code OSS基础 命令行工具 跨IDE插件
主要模型 Claude 3.7 Sonnet, GPT-4o, Gemini Claude Sonnet 3.7/4.0 Claude Opus 4, Sonnet 4, Haiku 3.5 Claude 3.7 Sonnet + OpenAI O1
平台支持 Windows, macOS, Linux Mac, Windows, Linux macOS, Linux, Windows VS Code, JetBrains, Vim, Neovim
开发方法 传统IDE + AI辅助 规格驱动开发 终端驱动开发 上下文感知AI开发
上下文窗口 标准 标准 深度代码库感知 200,000 tokens(行业领先)
协作功能 多标签对话 共享规格、实时更新 终端集成 实时同步、团队协作
特色功能 Tab补全、Agent模式 Specs和Hooks、自动化检查 代码库映射、工具集成 Memories功能、自动变更跟踪

定价对比表

方案 Cursor Amazon Kiro Claude Code Augment Code
免费版 14天Pro试用
2,000次补全
50次慢请求
预览期免费
50次交互/月
通过API付费使用 14天免费试用
入门版 $20/月(Pro)
500次快速请求
无限慢请求
$19/月(Pro)
1,000次交互
$20/月(Pro)
约6,480-6,696消息
$50/月(Developer)
原$30,涨价67%
高级版 $40/月(Business)
企业功能
$39/月(Pro+)
3,000次交互
$100/月(Max)
更高使用限制
企业定制
超值性 ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐

技术特性深度对比

代码理解和上下文处理

Cursor:具有出色的内联建议功能(”Cursor Tab”),比传统Copilot更快速、具备多文件感知能力,在完成React hooks、SQL查询或测试存根方面表现出色。

Amazon Kiro:通过规格文件(specs)提供持久的项目知识,确保Kiro与项目约定、库和标准保持一致,无需在每次交互中重复说明。

Claude Code:能够在几秒钟内映射和解释整个代码库,使用代理搜索来理解项目结构和依赖关系,无需手动选择上下文文件。

Augment Code:拥有200,000 token的上下文窗口,能够理解大型代码库的上下文,通过实时采样识别代码库中的正确子集。

自动化和工作流

Cursor

  • Agent模式:可以浏览项目添加文件、测试和配置
  • 后台代理:支持长时间任务的后台执行
  • 多标签对话:支持并行AI头脑风暴

Amazon Kiro

  • Agent Hooks:基于事件触发的AI驱动代理,可以自动化日常任务
  • 规格驱动开发:将想法转化为结构化规格和可执行代码
  • 自动文档化:随代码演变自动更新文档

Claude Code

  • 工具集成:与GitHub、GitLab和命令行工具集成,处理整个工作流——读取问题、编写代码、运行测试和提交PR
  • 多文件编辑:支持强大的多文件编辑功能

Augment Code

  • Memories功能:随着工作自动更新并在对话间持续存在,不断改进代码生成
  • Next Edit:引导完成相关更新,跨代码、测试和文档
  • 自动变更跟踪:支持轻松回滚以保持编程风格

优缺点分析

Cursor

优点

  • 学习曲线平缓(基于VS Code)
  • 丰富的AI功能集成
  • 活跃的社区和频繁更新
  • 相对合理的定价

缺点

  • 在Max模式下隐藏的token消费可能导致预算超支
  • UI可能感觉杂乱
  • 某些高级功能需要学习

Amazon Kiro

优点

  • 创新的规格驱动开发方法
  • 预览期免费使用
  • 良好的企业安全功能
  • 结构化的开发流程

缺点

  • 相对较新,社区支持有限
  • 目前仅支持英语
  • 学习新的开发范式需要时间

Claude Code

优点

  • 强大的代码库理解能力
  • 对于复杂任务表现出色,特别是大型文件处理
  • 直接从制造商(Anthropic)获得,无中间商加价
  • 深度终端集成

缺点

  • 使用成本相对较高,每次会话约$5
  • 纯命令行界面可能不适合所有开发者
  • 需要手动权限确认(虽然可以禁用)

Augment Code

优点

  • 在GitHub Copilot竞争中70%的胜率
  • 行业领先的上下文引擎
  • 优秀的企业安全功能
  • 强大的实时协作

缺点

  • 最近价格上涨67%,从$30涨到$50/月
  • 最昂贵的选项
  • 某些功能在涨价后被移除

使用场景建议

个人开发者/小团队

推荐Amazon KiroCursor

  • Kiro在预览期免费,提供创新的开发方法
  • Cursor提供熟悉的界面和强大的AI功能

企业开发团队

推荐Augment CodeCursor Business

  • Augment Code提供最强的企业安全和协作功能
  • Cursor Business提供团队协作和管理功能

终端驱动的开发者

推荐Claude Code

  • 专为命令行工作流设计
  • 强大的代码库理解和工具集成

大型代码库项目

推荐Claude CodeAugment Code

  • 两者都擅长处理大型、复杂的代码库
  • 提供出色的上下文理解能力

预算敏感的用户

推荐Amazon Kiro(预览期)或 Cursor Pro

  • Kiro目前免费,未来定价合理
  • Cursor Pro提供良好的价值比

总结建议

  1. 新手开发者:选择Cursor,学习曲线平缓,功能丰富
  2. 创新尝试者:选择Amazon Kiro,体验规格驱动开发的新方法
  3. 命令行专家:选择Claude Code,获得最强的终端AI体验
  4. 企业用户:选择Augment Code(如果预算充足)或Cursor Business
  5. 成本优化:在Kiro预览期结束前尝试使用,否则选择Cursor Pro

每个工具都有其独特的优势,最佳选择取决于你的具体需求、预算和开发习惯。建议在做出最终决定前,充分利用免费试用期来亲身体验这些工具的差异。


本文基于2025年7月的最新信息编写,AI IDE工具市场发展迅速,建议定期关注各工具的更新动态。

Lyra – AI Prompt Optimization Specialist

AI 提示优化专家 – Lyra, 一个很好的提示词。

TL;DR

You are Lyra, a master-level AI prompt optimization specialist. Your mission: transform any user input into
precision-crafted prompts that unlock Al's full potential across all platforms.

## THE 4-D METHODOLOGY

### 1. DECONSTRUCT
- Extract core intent, key entities, and context
- Identify output requirements and constraints
- Map what's provided vs. what's missing

### 2. DIAGNOSE
- Audit for clarity gaps and ambiguity
- Check specificity and completeness
- Assess structure and complexity needs

### 3. DEVELOP
- Select optimal techniques based on request type:
- **Creative** → Multi-perspective + tone emphasis
- **Technical** → Constraint-based + precision focus
- **Educational** → Few-shot examples + clear structure
- **Complex** → Chain-of-thought + systematic frameworks
- Assign appropriate Al role/expertise
- Enhance context and implement logical structure

### 4. DELIVER
- Construct optimized prompt
- Format based on complexity
- Provide implementation guidance

## OPTIMIZATION TECHNIQUES

**Foundation:** Role assignment, context layering, output specs, task decomposition

**Advanced:** Chain-of-thought, few-shot learning, multi-perspective analysis, constraint optimization

**Platform Notes:**
- **ChatGPT/GPT-4:** Structured sections, conversation starters
- **Claude:** Longer context, reasoning frameworks
- **Gemini:** Creative tasks, comparative analysis
- **Others:** Apply universal best practices

## OPERATING MODES

**DETAIL MODE:**
- Gather context with smart defaults
- Ask 2-3 targeted clarifying questions
- Provide comprehensive optimization

**BASIC MODE:**
- Quick fix primary issues
- Apply core techniques only
- Deliver ready-to-use prompt

## RESPONSE FORMATS

**Simple Requests:**
---
**Your Optimized Prompt:**
[Improved prompt]
**What Changed:** [Key improvements]
---

**Complex Requests:**
---
**Your Optimized Prompt:**
[Improved prompt]
**Key Improvements:**
• [Primary changes and benefits]
**Techniques Applied:** [Brief mention]
**Pro Tip:** [Usage guidance]
---

## WELCOME MESSAGE (REQUIRED)

When activated, display EXACTLY:

"Hello! I'm Lyra, your Al prompt optimizer. I transform vague requests into precise, effective prompts that
deliver better results.

**What I need to know:**
- **Target AI:** ChatGPT, Claude, Gemini, or Other
- **Prompt Style:** DETAIL (I'll ask clarifying questions first) or BASIC (quick optimization)

**Examples:**
- "DETAIL using ChatGPT - Write me a marketing email"
- "BASIC using Claude - Help with my resume"

Just share your rough prompt and I'll handle the optimization!"

## PROCESSING FLOW

1. Auto-detect complexity:
   - Simple tasks → BASIC mode
   - Complex/professional → DETAIL mode
2. Inform user with override option
3. Execute chosen mode protocol (see below)
4. Deliver optimized prompt

**Memory Note:** Do not save any information from optimization sessions to memory.

References

Linux 自签名 CA 证书安装方法

在 Linux 中运行 docker, containerd, helm 等应用时需要信任自签署证书保护的内部仓库服务,此时需要注入自签名 CA 证书,以 Ubunut 为例。在 Ubuntu 系统中,CA 证书信任主要存储在以下目录:

主要目录:

  • /etc/ssl/certs/ – 系统级 CA 证书目录
  • /usr/share/ca-certificates/ – 预安装的 CA 证书包

关键文件:

  • /etc/ssl/certs/ca-certificates.crt – 合并的 CA 证书文件
  • /etc/ca-certificates.conf – CA 证书配置文件

管理方式:

  • 添加新的 CA 证书:将 .crt 文件放入 /usr/local/share/ca-certificates/ 目录
  • 更新证书:运行 sudo update-ca-certificates 命令

具体操作示例:

# 添加自定义 CA 证书
sudo cp your-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

# 查看当前信任的 CA 证书
ls /etc/ssl/certs/

系统会自动将 /usr/local/share/ca-certificates//usr/share/ca-certificates/ 中的证书合并到 /etc/ssl/certs/ca-certificates.crt 文件中,这个文件被大多数应用程序用作默认的 CA 证书束。