Cline 全景指南:同一套 Agent 引擎驱动 CLI、IDE 插件与 SDK 的开源编码代理
Cline 是一个以「一个 Agent 引擎、多个运行形态」为架构核心的开源编码代理:同一个共享核心同时驱动终端 CLI、VS Code/JetBrains 扩展、Web 任务看板(Kanban),以及供第三方集成的 Node.js SDK。本篇基于仓库根目录 README.md 的完整产品脉络展开,结合 package.json、apps/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.13 与 node >= 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.ts 与 apps/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.ts 与 normalizeAutoApproveArgs 规范化处理。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.mdx 与 docs/customization/skills.mdx。
核心能力五:不锁定任何单一模型供应商
Cline 不绑定单一 AI 供应商,可按工作流自由选择模型:
| Provider | 可用模型 |
|---|---|
| Anthropic | Claude Opus、Sonnet、Haiku |
| OpenAI | GPT 系列 |
| 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.ts 与 apps/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.ts:enableTeamsForPrompt 会设置 config.enableAgentTeams = true 并在未指定时生成团队名;交互式会话中还支持 /team <任务描述> 命令,rewriteTeamPrompt 会将其改写为「spawn a team of agents for the following task: ...」的标准提示块。多 Agent 团队指南见 docs/cli/agent-teams.mdx 与 docs/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.ts 的 stdinHasPipedInput() 中实现(区分 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.json 与 apps/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/ 目录中的分主题文档继续扩展。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0627
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00