6 篇文章带有标签 “context-management”

Claude Code 源代码分析

创建 CLAUDE.md

这样它会将项目的规范、构建命令和架构要点记录下来,后续对话中它会自动参考这个文件,不再需要你重复解释背景。有利于后续的代码分析、调试和功能开发。

运行 /init 命令

/init - 自动分析该项目并生成 CLAUDE.md
我已为该仓库成功创建了CLAUDE.md文件。以下是文件包含的内容:

### CLAUDE.md 内容概要
1. **概述** - 包含项目统计信息(约1884个文件、51.2万行代码、40+工具、80+命令)的项目说明,以及法律免责声明。

2. **命令** - 构建与开发相关命令:
    - `npm run prepare-src` - 准备源码
    - `npm run build` - 使用esbuild构建
    - `npm run check` - 执行类型检查
    - `npm start` - 运行编译后的命令行工具

3. **高层架构**:
    - src/query.ts中的核心智能体循环模式
    - 核心目录(入口点、命令行、命令、工具、组件、服务、状态、工具函数)
    - 关键文件及其用途
// ...

CLAUDE.md

本文件用于指导 Claude Code(claude.ai/code)处理此代码仓库中的代码。

概述

本仓库包含 Claude Code v2.1.

OpenClaw - 智能体

网关架构 (Gateway Architecture)

概述

  • 一个长期的网关 (Gateway) 进程拥有所有消息传输表面(WhatsApp 通过 Baileys,Telegram 通过 grammY,Slack,Discord,Signal,iMessage,WebChat)。
  • 控制平面客户端(macOS 应用、CLI、Web UI、自动化脚本)通过 WebSocket 连接到网关,绑定在配置的主机上(默认 127.0.0.1:18789)。
  • 节点 (Nodes)(macOS/iOS/Android/无头设备)也通过 WebSocket 连接,但需声明 role: node 并包含明确的能力/命令。
  • 每台主机对应一个网关;它是唯一开启 WhatsApp 会话的地方。
  • 画布主机 (Canvas host)(默认 18793)用于提供代理可编辑的 HTML 和 A2UI。

组件与流程

网关 (Gateway) (守护进程)

  • 维护提供商连接。
  • 公开类型化的 WS API(请求、响应、服务器推送事件)。
  • 根据 JSON Schema 验证入站数据帧。
  • 触发事件,如 agentchatpresencehealthheartbeatcron

客户端 (Client) (Mac 应用 / CLI / Web 管理)

  • 每个客户端一条 WS 连接。
  • 发送请求 (healthstatussendagentsystem-presence)。
  • 订阅事件 (tickagentpresenceshutdown)。

使用 Claude Agent SDK 构建智能体

Claude Agent SDK 是 Anthropic 发布的、用于在 Claude Code 基础上构建强大智能体(agents)的工具集合。该 SDK 最初是作为 Claude Code SDK(一个智能编码解决方案)发布的,旨在支持 Anthropic 内部的开发者效率。由于 Claude Code 已经超越了编码工具的范畴,被用于深度研究、视频制作和笔记记录等无数非编码应用,因此该工具被更名为 Claude Agent SDK,以反映其更广泛的愿景。

一、核心设计原则:赋予 Claude 计算机能力

Claude Agent SDK 的关键设计原则是让 Claude 拥有程序员日常使用的相同工具。这意味着 Claude 必须能够:在代码库中查找文件、编写和编辑文件、运行代码、调试、以及迭代执行这些操作直到成功。

通过允许 Claude 访问用户计算机(经由终端),并赋予其运行 bash 命令、编辑文件、创建文件和搜索文件的能力,它能够有效执行非编码任务,如:阅读 CSV 文件、搜索网络、构建可视化、解释指标等数字工作,从而创建出具有通用目的的智能体。

二、构建的新型智能体

赋予 Claude 计算机能力解锁了许多以前效率不高的智能体类型。SDK 提供了用于自动化任何工作流程的原语,开发者可以构建:

Cline 概览 - Cline 扩展架构和开发指南

Cline 扩展架构和开发指南

项目概述

Cline 是一个 VSCode 扩展,通过核心扩展后端和基于 React 的 webview 前端的组合提供 AI 辅助功能。该扩展使用 TypeScript 构建,遵循模块化架构模式。

架构概述

定义

  • 核心扩展:src 文件夹内的所有内容,按模块化组件组织
  • 核心扩展状态:由 index.ts 中的 Controller 类管理,作为扩展状态的唯一真实来源。它管理多种类型的持久存储(全局状态、工作区状态和密钥),处理状态在核心扩展和 webview 组件之间的分发,并协调多个扩展实例之间的状态。这包括管理 API 配置、任务历史、设置和 MCP 配置。
  • Webview:webview-ui 内的所有内容。所有用户可见的 react 或视图以及用户交互组件
  • Webview 状态:由 ExtensionStateContext.tsx 中的 ExtensionStateContext 管理,通过上下文提供者模式为 React 组件提供对扩展状态的访问。它维护 UI 组件的本地状态,通过消息事件处理实时更新,管理部分消息更新,并提供状态修改方法。上下文包括扩展版本、消息、任务历史、主题、API 配置、MCP 服务器、市场目录和工作区文件路径。它通过 VSCode 的消息传递系统与核心扩展同步,并通过自定义钩子(useExtensionState)提供类型安全的状态访问。

Cline Mentions 功能指南

Cline 提及功能指南

概述

提及功能是一个强大的功能,允许你在与 Cline 的对话中使用"@"符号引用各种资源。这包括文件内容、目录结构、网页 URL、VSCode 诊断信息、终端输出、Git 更改状态等 - 所有这些都可以轻松地整合到你的对话中。

通过使用此功能,Cline 可以获得更准确的上下文,为你的任务提供更相关的帮助。

基本语法

提及总是以"@"符号开始,后跟你想要引用的资源的路径或标识符:

@resource_identifier

你可以在用户消息中的任何位置放置提及,Cline 将自动检索引用的内容。

支持的提及类型

1. 文件引用

要引用文件内容,使用 @/ 后跟项目中的相对路径:

@/path/to/file.js

示例:

请分析 @/src/components/Button.tsx 中的实现

在这个例子中,Cline 自动检索 Button.tsx 的内容并用它来执行分析。

2. 目录引用

要引用目录内容,使用 @/ 后跟目录的相对路径,以斜杠结尾:

@/path/to/directory/

示例:

@/src/components/ 目录中有哪些组件?

在这个例子中,Cline 检索组件目录及其内容的列表。

3. URL 引用

要引用网页内容,使用 @ 后跟 URL:

@https://example.com

示例: 请解析来自 @https://api.

Cline 的记忆库(Cline's Memory Bank)

Cline 的记忆库

我是 Cline,一位专业的软件工程师,我有一个独特的特点:我的记忆在每个会话之间都会完全重置。这不是一个限制 - 这正是驱使我维护完美文档的动力。每次重置后,我完全依赖我的记忆库来理解项目并有效地继续工作。我必须在每个任务开始时阅读所有记忆库文件 - 这不是可选的。

记忆库结构

记忆库由必需的核心文件和可选的上下文文件组成,均为 Markdown 格式。文件之间以清晰的层次结构构建:

核心文件(必需)

  1. projectbrief.md
    • 塑造所有其他文件的基础文档
    • 如果不存在则在项目开始时创建
    • 定义核心需求和目标
    • 项目范围的真实来源
  1. productContext.md
    • 为什么存在这个项目
    • 解决什么问题
    • 应该如何工作
    • 用户体验目标
  1. activeContext.md
    • 当前工作重点
    • 最近的变更
    • 下一步计划
    • 活跃的决策和考虑因素
  1. systemPatterns.md
    • 系统架构
    • 关键技术决策
    • 使用的设计模式
    • 组件关系
  1. techContext.md
    • 使用的技术
    • 开发环境设置
    • 技术约束
    • 依赖关系
  1. progress.md
    • 已完成的功能
    • 待构建的内容
    • 当前状态
    • 已知问题

附加上下文

当需要组织以下内容时,在 memory-bank/ 中创建额外的文件/文件夹:

  • 复杂功能文档
  • 集成规范
  • API 文档
  • 测试策略
  • 部署流程

核心工作流程

计划模式

执行模式

文档更新

记忆库在以下情况下更新: 发现新的项目模式 实施重