Levon's Blog

微信: L6241425

1. 核心概念

1.1 什么是跨域

你一定见过这个报错:

1
2
Access to XMLHttpRequest at 'https://api.com/data'
from origin 'https://app.com' has been blocked by CORS policy

Postman 能调通,浏览器就不行——问题不在接口,而在浏览器的同源策略(Same-Origin Policy, SOP)。

跨域指的是:网页脚本试图访问与自身协议(scheme)、域名(host)、端口(port)任一不同的资源时,浏览器对这次访问施加的限制。

请求已经发出去了,服务端也已经处理并返回了响应。浏览器拦截的是响应——它不让 JS 读取返回的数据。

类比理解:你住在封闭小区,保安(浏览器)规定只有本小区(同源)的快递可以签收。外面的快递员(跨域请求)想送货进来,必须由物业(服务端)提前开好通行证(CORS 响应头),保安验证通过才放行。

阅读全文 »

1. 什么是 CRDT

1.1 核心定义

CRDT(Conflict-free Replicated Data Type,无冲突复制数据类型)是一种数据结构,允许多个副本独立、并发修改,无需中央协调即可自动合并到一致状态。

它围绕一个核心问题展开:多副本之间如何高效、正确地传播和合并变更?

阅读全文 »

MacBook 作为本地开发服务器或家庭服务器时,需要解决两个核心问题:防止系统休眠和远程访问。

1. 防止系统休眠

MacBook 默认在空闲时进入睡眠状态,这会中断服务运行。以下是两种解决方案:

1.1 系统设置

「系统设置 → 电池 → 选项」:开启当显示器关闭时,防止 Mac 自动进入睡眠。

1.2 Amphetamine(推荐)

Amphetamine 是一款 App Store 免费工具,提供更灵活的控制:

  1. 关闭「显示器关闭允许系统睡眠」选项
  2. 开启「无限期会话」
  3. 最好开一个触发器:接通电源后,永远不休眠
阅读全文 »

Claude Agent SDK 是 Claude Code 的可编程库,支持 Python 和 TypeScript。本文演示 query() 和 ClaudeSDKClient 两种使用方式。

阅读全文 »

1. Armbian 简介

Armbian 不是独立的 Linux 发行版,而是基于 Debian/Ubuntu 构建的镜像框架,为 ARM 开发板提供优化的内核和设备树支持。

为什么不直接刷 Ubuntu?RK3566 等 ARM 盒子没有 PC 的标准启动方式(UEFI/ACPI),启动依赖 U-Boot + 设备树/驱动。通用 Ubuntu Server ARM64 镜像缺乏底层适配,直接写盘大概率无法启动或缺少网卡/USB 驱动。

Armbian 提供 Ubuntu flavor(Noble/Jammy 等),用户态是 Ubuntu apt 生态,底层由 Armbian 负责适配。若目标是稳定运行 Docker,推荐 Debian 12。

启动方式对比:

  • TF 卡启动:系统在 TF 卡上,不能拔出
  • eMMC 启动:系统在内置 eMMC,TF 卡可拔出(插 TF 优先从 TF 启动)
阅读全文 »

Clawdbot 不仅仅是一个 AI 聊天机器人,它是一个本地运行的智能代理网关。与其将 AI 限制在对话框中,Clawdbot 旨在打通模型与物理设备的 “ 最后一公里 “,将 LLM 的推理能力转化为系统级的执行力。

它通过标准化的协议连接消息渠道(Telegram/Slack)、本地工具(CLI/Browser)和上下文记忆,构建了一个完全私有化、可扩展的 AI 操作系统。

1. 核心架构:从对话到执行

传统的 AI 交互往往止步于文本输出,而 Clawdbot 建立了一套完整的 “ 感知 - 决策 - 执行 “ 闭环:

  • 全渠道接入:统一管理 Telegram, WhatsApp, Discord, Slack, iMessage 等即时通讯工具。
  • 系统级控制:直接调用 shell 命令、执行脚本、操作浏览器。
  • 持久化记忆:基于本地文件系统的上下文管理(AGENTS.md, SOUL.md)。

下面是 Clawdbot 的系统交互逻辑:

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#4F46E5', 'primaryTextColor': '#fff', 'primaryBorderColor': '#3730A3', 'lineColor': '#6366F1'}}}%%
flowchart LR
    User(["用户 (User)"])

    subgraph Channels ["消息接入层"]
        TG["Telegram"]
        Discord["Discord"]
        Slack["Slack"]
    end

    subgraph Core ["Clawdbot 核心引擎"]
        Gateway["网关服务"]
        Planner["任务规划"]
        Memory[("本地记忆库")]
    end

    subgraph Actions ["执行层"]
        Shell["系统命令"]
        Browser["浏览器自动化"]
        Cron["定时任务"]
    end

    User --> Channels
    Channels --> Gateway
    Gateway <--> Memory
    Gateway --> Planner
    Planner --> Actions

    classDef primary fill:#4F46E5,stroke:#3730A3,color:#fff
    classDef success fill:#10B981,stroke:#059669,color:#fff
    classDef channel fill:#06B6D4,stroke:#0891B2,color:#fff

    class Core primary
    class Actions success
    class Channels channel
阅读全文 »

1. Agent 与 Subagent 核心概念

1.1 概念对比

维度Agent(主代理)Subagent(子代理)
定义自主感知、决策、执行的 AI 实体被主代理调用的专业化功能模块
职责处理复杂任务,负责全局规划与最终交付聚焦特定领域,降低主代理复杂度
执行模式感知 → 规划 → 执行 → 反思(完整循环)接收指令 → 执行 → 返回结果
阅读全文 »

1. Context7:文档 RAG 引擎

Context7 是基于 MCP 的开发者文档检索引擎,解决 LLM 的 知识截断 问题。

sequenceDiagram
    participant User
    participant IDE as Cursor
    participant C7 as Context7
    participant Docs as 官方文档

    User->>IDE: "Upstash Redis 怎么用?"
    IDE->>C7: search_docs("Upstash Redis")
    C7->>Docs: 获取最新文档
    Docs-->>C7: 返回 Markdown
    C7-->>IDE: 注入上下文
    IDE-->>User: 生成准确代码

核心特性:

  • 实时上下文:摒弃过时的模型权重知识,实时获取官方文档
  • 版本锚定:支持指定版本(如 Next.js v14),避免 API 错误
  • IDE 集成:自然语言触发(use context7
阅读全文 »

MCP 是 Anthropic 推出的开放协议,为 LLM 提供了一套标准化的 “ 感知与行动 “ 接口。其核心价值在于:将 AI 从 “ 对话孤岛 “ 升级为可操作真实世界的智能体。

flowchart LR
    subgraph Host["Host (Cursor/Claude)"]
        LLM[LLM]
        Client[MCP Client]
    end
    subgraph Servers["MCP Servers"]
        S1[GitHub Server]
        S2[Search Server]
        S3[Browser Server]
    end
    LLM <--> Client
    Client <-->|JSON-RPC 2.0| S1
    Client <-->|JSON-RPC 2.0| S2
    Client <-->|JSON-RPC 2.0| S3
阅读全文 »

深入解析 AI Prompt 的工作原理,阐述提示词工程的核心要素,并在 Fine-tuning 与 Prompting 之间建立清晰的认知边界。

阅读全文 »
0%