首页
/ Cline 全景指南:同一套 Agent 引擎驱动 CLI、IDE 插件与 SDK 的开源编码代理

Cline 全景指南:同一套 Agent 引擎驱动 CLI、IDE 插件与 SDK 的开源编码代理

2026-09-06 12:59:41作者:袁立春Spencer

Cline 是一个以「一个 Agent 引擎、多个运行形态」为架构核心的开源编码代理:同一个共享核心同时驱动终端 CLI、VS Code/JetBrains 扩展、Web 任务看板(Kanban),以及供第三方集成的 Node.js SDK。本篇基于仓库根目录 README.md 的完整产品脉络展开,结合 package.jsonapps/cli/src/main.ts 等源码,带你完整掌握 Cline 的安装方式、六大核心能力(代码编辑、命令执行、Plan/Act、Rules/Skills、插件/MCP 扩展、多 Agent 协作与定时任务)以及 CI/CD 无头自动化用法。

产品形态与安装方式

README 将 Cline 划分为四个产品入口加一个 SDK,均通过 npm 安装或直接安装插件获得:

形态 说明 安装方式 源码位置
CLI 终端交互聊天或完全无头(headless)运行,面向 CI/CD 与脚本 npm i -g cline apps/cli/
Kanban 基于 Web 的看板,并行运行多个 Agent,每张卡片独享 worktree、自动提交与依赖链 npm i -g kanban 独立仓库(本仓库中 CLI 侧提供 cline kanban 命令入口,见 apps/cli/src/commands/kanban.ts
VS Code 扩展 编辑器内 AI 编码助手:创建文件、执行命令、浏览网页,全部工具带人工审批 从 VS Marketplace 安装 仓库根目录(迁移中)
JetBrains 插件 同一体验移植到 IntelliJ IDEA、PyCharm、WebStorm、GoLand 等 JetBrains 全家桶 从 JetBrains Marketplace 安装 当前未开源
SDK Node.js 编程式 Agent API 与扩展导出 npm install @cline/sdk sdk/

仓库本身是一个 Bun workspaces monorepo,根 package.json 声明了 sdk/packages/*apps/* 等 workspace,并固定了运行环境:engines 要求 bun 1.3.13node >= 22。CLI 包 apps/cli/package.json 中定义了可执行入口 "bin": { "cline": "src/index.ts" },这解释了为什么 npm i -g cline 之后可以直接用 cline 命令启动。

从源码结构看,整个产品的分层是清晰的:sdk/packages/core 提供共享 Agent 核心,CLI 通过 @cline/core(workspace 依赖)与 @cline/shared 复用同一套能力;apps/cli/src/index.ts 作为进程入口处理信号转发(SIGINT/SIGTERM 转给活跃运行时)、致命错误兜底与 hub 守护进程认领,随后动态加载 apps/cli/src/main.ts 中的 runCli() 完成命令路由。官方文档站点源码位于 docs/,覆盖 SDK、CLI 参考、Provider 配置、核心工作流等目录,可作为深入阅读的入口。

核心能力一:跨项目代码编辑与检查点回滚

Cline 会读取项目结构、理解文件间关系,并对整个代码库做协调式修改。工作过程中它实时监控 linter 与编译器错误,在你看到问题之前就修复缺失的 import、类型不匹配和语法错误。在 VS Code 与 JetBrains 中,每次编辑都以 diff 形式呈现,可审阅、修改或撤销;所有变更由检查点(checkpoint)追踪,便于整体撤销 Agent 的工作。

CLI 侧的检查点行为由 apps/cli/src/runtime/defaults.ts 中的 CLI_DEFAULT_CHECKPOINT_CONFIG 提供默认配置,并在 apps/cli/src/main.ts 启动流程中被装配进运行时——这说明「检查点回滚」并非 IDE 专属能力,而是共享核心之上的默认策略。相关文档见 docs/core-workflows/checkpoints.mdx

核心能力二:实时执行 Bash 命令

Cline 直接在终端执行命令并实时观察输出:安装依赖、跑构建脚本、执行测试、部署应用、管理数据库。对于 dev server 这类长时运行进程,Cline 会保持后台工作,并在新输出出现时做出反应——编译错误、测试失败、服务崩溃都能被即时捕获。

对应实现位于共享核心的工具层(sdk/packages/core),CLI 通过 apps/cli/src/runtime/tools.tsapps/cli/src/runtime/tool-policies.ts 决定哪些工具对当前会话可用、哪些需要审批。工具全量清单可参考 docs/tools-reference/all-cline-tools.mdx

核心能力三:Plan 与 Act 双模式

在 Plan 模式下,Cline 探索代码库、提出澄清性问题并给出策略;达成一致后切换到 Act 模式执行计划。每一次文件编辑与终端命令都需要你的批准,保证你对实际变更保持控制;也可以打开 auto-approve 让 Cline 自主运行。

CLI 将这一模式暴露为启动参数,apps/cli/src/utils/startup-settings.ts 中的 resolveStartupMode 负责解析;auto-approve 参数则由 apps/cli/src/utils/approval.tsnormalizeAutoApproveArgs 规范化处理。IDE 侧的模式切换行为说明见 docs/core-workflows/plan-and-act.mdx,自动审批配置见 docs/features/auto-approve.mdx

核心能力四:Rules 与 Skills

.clinerules 文件中定义项目级规则,指导 Cline 在你的代码库中如何工作:编码规范、架构约定、部署流程、测试要求。规则会被 CLI、VS Code 扩展与 JetBrains 插件自动拾取;Skills 则让模型在需要时按需加载特定规则。

CLI 侧对 Skills 提供了一等命令支持:cline skill 直接转发到开源 skills CLI(npx skills),apps/cli/src/main.ts 中的命令定义给出了完整用法示例:

cline skill add <owner/repo>        # 将 skill 加入 Cline
cline skill install <owner/repo>    # add 的别名
cline skill list                    # 列出已安装 skills
cline skill remove                   # 移除已安装 skills

规则与技能的详细说明分别见 docs/customization/cline-rules.mdxdocs/customization/skills.mdx

核心能力五:不锁定任何单一模型供应商

Cline 不绑定单一 AI 供应商,可按工作流自由选择模型:

Provider 可用模型
Anthropic Claude Opus、Sonnet、Haiku
OpenAI GPT 系列
Google Gemini 系列
OpenRouter 200+ 模型,任意供应商
Vercel AI Gateway 通过单一网关路由到多个供应商
AWS Bedrock Claude、Llama 等
Azure / GCP Vertex 所有托管模型
Cerebras / Groq 快速推理模型
Ollama / LM Studio 在本机运行本地模型
任意 OpenAI 兼容 API 自托管或第三方端点

CLI 通过 cline auth 子命令完成供应商认证与默认模型配置,apps/cli/src/main.ts 中该命令的选项声明印证了完整参数集:

cline auth [provider]
  -p, --provider <id>            Provider ID
  -k, --apikey <key>            API key
  -m, --modelid <id>             模型 ID
  -b, --baseurl <url>           Base URL
  --azure-api-version <version> Azure API 版本
  --config <dir>                配置目录
  -c, --cwd <path>              工作目录

此外 --data-dir <dir> 选项可在 ~/.cline 之外使用隔离的本地状态(即沙箱模式)。各供应商的具体配置指南见 docs/provider-config/(含 Anthropic、OpenAI、OpenRouter、AWS Bedrock、Ollama 本地模型等),本地模型运行见 docs/running-models-locally/overview.mdx

核心能力六:插件与 MCP 扩展

README 给出了插件体系的两种扩展路径:一是通过 SDK 的插件系统以编程方式注册工具与生命周期钩子(用于日志、审计、策略执行或领域能力);二是接入 MCP Server 连接数据库、查询 API、管理云基础设施。

SDK 插件示例(README 原文):

import { Agent, createTool } from "@cline/sdk"

const deployTool = createTool({
  name: "deploy",
  description: "Deploy the current branch to staging.",
  inputSchema: { type: "object", properties: { env: { type: "string" } }, required: ["env"] },
  execute: async (input) => {
    // your deployment logic
  },
})

const agent = new Agent({ tools: [deployTool], /* ... */ })

CLI 侧对插件与 MCP 都有子命令管理:cline plugin install/uninstall 支持从官方关键词、npm、git、URL 或本地路径安装插件(安装到 .cline/plugins),cline mcp 在 TTY 下打开交互式向导,cline mcp install <name> 可非交互添加服务器,支持 --transport(stdio / sse / http / streamable-http)与 --header 选项。实现分别见 apps/cli/src/commands/plugin.tsapps/cli/src/commands/mcp.ts。可运行的插件与 MCP 示例集合在 sdk/examples/plugins/,MCP 概念见 docs/mcp/mcp-overview.mdx,SDK 插件开发指南见 docs/sdk/guides/writing-plugins.mdx

核心能力七:多 Agent 团队

协调多个 Agent 协同完成复杂任务:协调者 Agent 将工作拆分为子任务并委派给各专项 Agent,每个 Agent 拥有自己的工具与上下文;团队状态跨会话持久化,可随时续作。

cline --team-name auth-sprint "Plan and implement user authentication with tests"

从源码看,--team-name 对应的团队状态开关在 apps/cli/src/utils/team-command.tsenableTeamsForPrompt 会设置 config.enableAgentTeams = true 并在未指定时生成团队名;交互式会话中还支持 /team <任务描述> 命令,rewriteTeamPrompt 会将其改写为「spawn a team of agents for the following task: ...」的标准提示块。多 Agent 团队指南见 docs/cli/agent-teams.mdxdocs/sdk/guides/multi-agent-teams.mdx

核心能力八:定时 Agent(Cron 调度)

以 cron 表达式运行周期性自动化:每日 PR 汇总、每周依赖检查、代码库健康报告。调度在重启后依然持久存在,独立于任何终端会话运行。

cline schedule create "PR summary" \
  --cron "0 9 * * MON-FRI" \
  --prompt "List all open PRs and their review status" \
  --workspace /path/to/repo

命令注册入口是 apps/cli/src/commands/schedule.ts,实际子命令(create 及后续管理操作)由 apps/cli/src/commands/schedule/ 目录下的 handler 提供。定时 Agent 的完整说明见 docs/cli/scheduling.mdx,可复制的 cron 任务示例(changelog 生成、每日代码审查、依赖检查等)在 sdk/examples/cron/

核心能力九:接入 Slack、Telegram、Discord 等消息平台

从任意消息平台与 Agent 对话:Telegram、Slack、Discord、Google Chat、WhatsApp 与 Linear。每个会话线程映射为一个带完整上下文的 Agent 会话,并可配置访问控制限制可交互人员。

# 连接 Telegram
cline connect telegram -k $BOT_TOKEN
# 通过 webhook 连接 Slack
cline connect slack --bot-token $SLACK_TOKEN --signing-secret $SECRET --base-url $URL
# 使用 socket mode 连接 Slack
cline connect slack --bot-token $SLACK_TOKEN --app-token $SLACK_APP_TOKEN

这一能力在依赖层得到印证:apps/cli/package.json 声明了 @chat-adapter/telegram@chat-adapter/slack@chat-adapter/discord@chat-adapter/gchat@chat-adapter/whatsapp@chat-adapter/linear 六个渠道适配器。cline connect 支持 --stop(停止所有连接)、--restart(重启某渠道连接)等管理选项;非 TTY 环境下不带参数运行会直接打印适配器清单与帮助。实现位于 apps/cli/src/commands/connect.ts,各渠道适配逻辑在 apps/cli/src/connectors/adapters/,连接向导在 apps/cli/src/wizards/connect/

核心能力十:无头 CLI 面向 CI/CD

零交互运行,用于脚本与自动化:管道输入、JSON 输出、命令串联、集成进 CI/CD 流水线。

cline "Run tests and fix any failures"
git diff origin/main | cline "Review these changes for issues"
cline --json "List all TODO comments" | jq -r 'select(.type == "agent_event" and .event.text) | .event.text'

管道输入检测在 apps/cli/src/main.tsstdinHasPipedInput() 中实现(区分 TTY、FIFO 与文件输入),因此 git diff ... | cline "..." 这类管道用法是一等公民而非巧合。无头模式用法见 docs/usage/cli-overview.mdx,端到端测试(真实启动 CLI 进程验证无头与交互路径)位于 apps/cli/src/tests/,覆盖 headless 与 interactive 场景。

仓库结构与开发约定速览

结合根 package.json 的 scripts,本仓库的日常开发工作流为:

  • bun install 安装全部 workspace 依赖;
  • bun run build:sdk 先构建 SDK 各包(core、llms、shared 等),再构建 CLI;
  • bun run types 对所有包并行执行类型检查,bun run test:unit 并行运行 SDK 各包、CLI、hub 与 VS Code 的单测;
  • 格式化与 Lint 统一使用 Biome(bun run format / bun run lint),配置见根目录 biome.jsonapps/biome.json
  • 测试基线为 Vitest,CLI 侧配置见 apps/cli/vitest.config.ts 及多套 e2e 配置。

README 的 Index 表同时列出了各产品的 CHANGELOG 位置:SDK 见 sdk/CHANGELOG.md,CLI 见 apps/cli/CHANGELOG.md,VS Code 扩展见根 CHANGELOG.md,Docs 站点源码在 docs/

贡献与许可

贡献者请先阅读 CONTRIBUTING.md,并通过 Discord 的 #contributors 频道与其他贡献者交流。项目采用 Apache 2.0 许可(© 2026 Cline Bot Inc.),见 LICENSE;安全相关问题报告流程见 SECURITY.md

小结

Cline 的设计要点是「一套引擎、四种形态」:共享核心位于 sdk/packages/core,CLI(apps/cli/)、Kanban 看板、VS Code/JetBrains 插件与 @cline/sdk 均构建在其之上,从而保证 Plan/Act 模式、检查点、MCP/插件扩展、多 Agent 团队、cron 定时任务与消息渠道连接等能力在所有形态中行为一致。读者可按「npm i -g cline 体验 CLI → 用 cline auth/--json 打通无头流程 → 用 @cline/sdk 构建自有 Agent」的路径逐步深入,并借助 docs/ 目录中的分主题文档继续扩展。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.13 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
897
5.8 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
529
593
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
915
1.83 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.58 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.35 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.01 K
515
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
547
388