非常想自己来设计一个agent,通过学习langchain也具备了一些知识和能力。但是还是感觉没有办法做到尽善尽美,所以这个系列开始对于已经开源的一些优秀的agent来做一个回顾和学习,看看人家的逻辑链是如何实现的,以及对于一些决策性比较薄弱的是怎么来做使用提示词来,提高和规范对于弱小ai的受用性。

 获取源码

源码地址:https://github.com/anthropics/claude-code.git

架构解析:

一、整体架构:

anthropics/claude-code
  ├── 📄 发布与文档层
  │   ├── README.md          — 项目介绍、安装指南
  │   ├── CHANGELOG.md       — 版本发布日志 (最新 v2.1.150)
  │   └── feed.xml           — Atom 订阅源,供 RSS 阅读器订阅更新
  │
  ├── 🧩 官方插件层 (13 个插件)
  │   └── plugins/
  │       ├── agent-sdk-dev/          — Agent SDK 开发工具包
  │       ├── claude-opus-4-5-migration/ — 模型迁移工具
  │       ├── code-review/            — 自动化 PR 代码审查
  │       ├── commit-commands/        — Git 工作流自动化
  │       ├── explanatory-output-style/ — 教育性输出风格
  │       ├── feature-dev/            — 7 阶段特性开发流程
  │       ├── frontend-design/        — 前端设计质量提升
  │       ├── hookify/                — 自定义 Hooks 规则引擎
  │       ├── learning-output-style/  — 交互式学习模式
  │       ├── plugin-dev/             — 插件开发工具包
  │       ├── pr-review-toolkit/      — PR 审查工具集
  │       ├── ralph-wiggum/           — 自主迭代循环
  │       └── security-guidance/      — 安全提醒 Hook
  │
  ├── 🤖 GitHub Issue 自动化层
  │   ├── .github/workflows/          — 12 个 CI/CD 工作流
  │   ├── scripts/                    — 自动化脚本 (TypeScript/Bash)
  │   └── .claude/commands/           — Claude Code 自定义命令
  │
  ├── 📋 企业部署与示例层
  │   ├── examples/
  │   │   ├── settings/               — 安全策略配置示例 (lax/strict/sandbox)
  │   │   ├── mdm/                    — MDM 部署模板 (Jamf/Intune/Group Policy)
  │   │   └── hooks/                  — Hook 示例
  │   └── .devcontainer/              — VS Code Dev Container 配置
  │
  └── 🏪 插件市场
      └── .claude-plugin/marketplace.json — 13 个官方插件的注册清单
 

二、核心流程:GitHub Issue 自动化生命周期

  这是本项目最核心的自动化流程,完全由 Claude Code Action 驱动:

  Issue 创建
      │
      ├─→ [claude-issue-triage.yml] 触发
      │       │
      │       ├── Claude Opus 4.6 执行 /triage-issue 命令
      │       ├── 分析 Issue 内容,自动打标签
      │       │   ├── 类型: bug / enhancement / question / invalid / duplicate
      │       │   ├── 平台: 自动识别
      │       │   └── 生命周期: needs-repro / needs-info
      │       └── 通过 ./scripts/edit-issue-labels.sh 写入标签
      │
      ├─→ [claude-dedupe-issues.yml] 触发 (并行)
      │       │
      │       ├── Claude Sonnet 4.5 执行 /dedupe 命令
      │       ├── 5 个并行 Agent 搜索重复 Issue
      │       ├── 过滤误判后通过 comment-on-duplicates.sh 留言
      │       └── 统计事件上报 Statsig
      │
      ├─→ [issue-lifecycle-comment.yml] 触发 (标签事件)
      │       │
      │       └── 对生命周期标签 (needs-repro/info/stale/autoclose)
      │           自动留言提醒,告知用户关闭倒计时
      │
      ├─→ [auto-close-duplicates.yml] (每日定时 9am UTC)
      │       │
      │       └── 自动关闭标记为 duplicate 的 Issue
      │
      ├─→ [sweep.yml] (每日定时)
      │       │
      │       └── Bun 脚本扫描所有 Open Issue
      │           ├── 超过 14 天无活动 → 标记 stale
      │           ├── stale 超过 14 天 → 标记 autoclose
      │           └── autoclose 超时 → 关闭 Issue
      │           (有 👍 >= 10 的 Issue 豁免)
      │
      └─→ [lock-closed-issues.yml] (每日定时 2pm UTC)
              │
              └── 关闭超 7 天的 Issue → 锁定评论

  关键设计点

  - Claude Code Action 是核心引擎,工作流通过 anthropics/claude-code-action@v1 调用 Claude 来执行智能任务
  - Workload Identity Federation (OIDC) 认证,无需存储静态 API Key
  - ./scripts/gh.sh 是一个安全沙箱包装器,严格限制允许的 gh 子命令和参数,防止注入
  - CLAUDE_CODE_SCRIPT_CAPS 环境变量控制脚本的能力等级
  - Issue 使用 @claude 在评论中召唤 Claude Code bot
 

三、插件系统架构

  plugin-name/
  ├── .claude-plugin/
  │   └── plugin.json        ← 插件元数据 (name, version, author, category)
  ├── commands/               ← 自定义斜杠命令 (.md 文件 + frontmatter)
  │   └── my-command.md       ← allowed-tools, description, argument-hint
  ├── agents/                 ← 专用 Agent 定义
  │   └── my-agent.md         ← 子代理的系统提示
  ├── skills/                 ← Agent Skills (可共享的能力包)
  │   └── my-skill/
  │       ├── SKILL.md
  │       ├── references/     ← 参考资料
  │       ├── examples/       ← 示例
  │       └── scripts/        ← 辅助脚本
  ├── hooks/                  ← 事件钩子
  │   ├── hooks.json          ← 钩子配置 (事件->脚本映射)
  │   └── *.py                ← 钩子处理脚本 (stdin JSON → stdout JSON)
  └── README.md
 

插件类型:

  Hookify 规则引擎 (hookify 插件)

  最复杂的插件,实现了一个 Python 规则引擎:
  - 用户通过 Markdown 文件定义规则 (.claude/hookify.*.local.md)
  - config_loader.py 解析规则配置
  - rule_engine.py 评估规则 — 支持 regex_match / contains / equals / starts_with / ends_with 操作符
  - Hook 脚本 (pretooluse.py, posttooluse.py, stop.py, userpromptsubmit.py) 拦截对应事件
  - 支持 block (阻止) 和 warn (警告) 两种动作
 

四、技术栈

  ┌──────────────────┬─────────────────────────────────────┐
  │       组件       │                技术                 │
  ├──────────────────┼─────────────────────────────────────┤
  │ CI/CD            │ GitHub Actions                      │
  ├──────────────────┼─────────────────────────────────────┤
  │ Issue 自动化脚本 │ TypeScript (Bun 运行时)             │
  ├──────────────────┼─────────────────────────────────────┤
  │ Hook 脚本        │ Python 3 / Bash                     │
  ├──────────────────┼─────────────────────────────────────┤
  │ 插件命令/代理    │ Markdown + YAML frontmatter         │
  ├──────────────────┼─────────────────────────────────────┤
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ API 认证         │ Workload Identity Federation (OIDC) │
  ├──────────────────┼─────────────────────────────────────┤
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ API 认证         │ Workload Identity Federation (OIDC) │
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ API 认证         │ Workload Identity Federation (OIDC) │
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ API 认证         │ Workload Identity Federation (OIDC) │
  ├──────────────────┼─────────────────────────────────────┤
  │ CI/CD            │ GitHub Actions                      │
  ├──────────────────┼─────────────────────────────────────┤
  │ Issue 自动化脚本 │ TypeScript (Bun 运行时)             │
  ├──────────────────┼─────────────────────────────────────┤
  │ Hook 脚本        │ Python 3 / Bash                     │
  ├──────────────────┼─────────────────────────────────────┤
  │ 插件命令/代理    │ Markdown + YAML frontmatter         │
  ├──────────────────┼─────────────────────────────────────┤
  │ Dev Container    │ Docker + VS Code                    │
  ├──────────────────┼─────────────────────────────────────┤
  │ API 认证         │ Workload Identity Federation (OIDC) │
  ├──────────────────┼─────────────────────────────────────┤
  │ 统计分析         │ Statsig                             │
  └──────────────────┴─────────────────────────────────────┘

 1. 自动化 Issue 管理 — 从 triage → 去重 → 生命周期 → 自动关闭,全由 Claude 驱动
  2. 丰富的官方插件生态 — 13 个插件覆盖代码审查、安全、工作流、学习等场景
 

---------------------------------------------------------------真人分割线-----------------------------------

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐