【学习】Copilot CLI Session:让自主 Agent 在后台持续运行的最佳方式

1. 什么是 Copilot CLI Session

Copilot CLI Session 可以理解为:在本地后台运行的 自主 Agent 会话

它的关键特性是:

  • 使用 Copilot CLI agent harness,运行方式 独立于 VS Code 主进程
  • 即使你关闭 VS Code 窗口,Session 依然可以 继续运行
  • 适合 范围明确、上下文完整、不需要频繁交互 的任务,例如:
    • 实现一个计划中的功能
    • 批量生成多个方案
    • 执行明确的修复任务

2. VS Code 如何与 CLI Session 协作

VS Code 并不是把 CLI Session “塞进”编辑器里运行,而是通过 Copilot SDK 来对会话进行“控制与观测”:

  • 启动 / 停止 / 监控 CLI 会话
  • 在 Chat 视图中:
    • 查看状态
    • 输入指令
    • 处理权限请求
  • 支持 Slash Commands(例如 /compactskillshooks

意味着:你仍在 VS Code 中管理体验,但执行单元已经变成了一个“可后台持续运行”的 CLI Agent。


3. 隔离模式(Isolation Modes)

Copilot CLI 提供两种隔离方式,决定它“在哪个环境里改代码”。

① Worktree Isolation(推荐)

核心思路:每个 Session 创建独立 Git worktree

  • 所有修改都发生在 worktree 中,不影响主工作区
  • 每轮自动 commit,保持历史一致
  • 适合让 Agent 更安全地自主修改代码
注意:使用 Worktree 模式,需要当前项目是 Git 仓库

② Workspace Isolation

核心思路:直接在当前工作区修改文件

  • 适合你希望 立即看到变更 的场景
  • 风险更高:因为改动会直接落到当前工作的目录里

4. Copilot CLI Session 的限制

CLI Session 很强,但也有边界:

  • 无法访问 VS Code 内置工具
  • 无法使用 扩展提供的工具
  • 模型能力受 CLI 工具链限制
  • 只能访问 无需认证的本地 MCP 服务器
    • 需要认证/受保护的 MCP 服务通常不可用

因此:如果你的任务强依赖 VS Code 扩展生态(比如某些专用调试器、可视化工具、内部插件),CLI Session 可能不是最佳选择。


5. 如何创建 Copilot CLI Session

创建方式

你可以通过以下入口创建:

  • Chat 视图 → Session Target 选择 Copilot CLI
  • Chat 视图顶部 → New ChatNew Copilot CLI Session
  • 命令面板 → Chat: New Copilot CLI Session
在这里插入图片描述


在这里插入图片描述

创建流程

这些步骤:

  1. 选择隔离模式(worktree / workspace
  2. 输入 prompt(可附加上下文、选择模型、选择自定义 Agent)
  3. 在 Chat 视图中跟踪状态
  4. 支持同时创建多个 CLI Session 并行工作

6. 将本地 Session 交接给 Copilot CLI

一个非常实用的工作流:先澄清需求,再让后台执行

适用场景:

  • 你先用本地 Agent(如 Plan Agent)把需求问清楚、把计划做出来
  • 然后把任务交给 CLI Session 在后台推进

交接方式:

  • Session Target 下拉 → 选择 Copilot CLI
  • Plan Agent 的 Start ImplementationContinue in Copilot CLI

交接后会发生什么?

  • 完整对话历史与上下文会传递给 CLI Session
  • CLI Session 继续执行,VS Code 负责“可视化跟踪”

7. 在终端中使用 Copilot CLI

VS Code 提供专用的 Copilot CLI Terminal Profile

打开方式

  • Terminal 面板 → “+” 下拉 → GitHub Copilot CLI
  • 命令面板 → Chat: New Copilot CLI Session
  • 命令面板 → Terminal: Create New Terminal (With Profile)

任意终端输入 copilot

在这里插入图片描述

特性

  • 自动识别并显示 Session 到 Chat 视图
  • 可以从终端恢复 Session
  • 自动处理身份验证

8. 多仓库工作区(Multi-repo Workspace)

如果你的 VS Code 工作区包含多个仓库:

  • 启动 CLI Session 时会出现 仓库选择器
  • 选择在哪个仓库创建 worktree
  • 创建出的 worktree 会显示在 Source Control 的 Worktrees 节点中

这让 CLI Session 在 mono-repo / multi-repo 场景下仍然可控、可追踪。


9. 自定义 Agent 与 Copilot CLI(实验性)

你可以在工作区中创建自定义 Agent(persona、规则、行为),并在创建 CLI Session 时选择它。

需要启用设置:

  • github.copilot.chat.cli.customAgents.enabled

适合团队统一“执行风格”、或者在大型项目里固化一些约束(比如代码风格、提交规范、分支策略、风险提示等)。


10. 相关资源(延伸阅读)

  • Agents Overview
  • Custom Agents
  • GitHub Copilot CLI 文档

何时用本地 Agent、何时用 CLI、何时用 Cloud Agent?

下面是一份工程向的快速决策指南。

🖥️ 本地 Agent(Agent / Plan / Ask)

最适合:

  • 需要频繁交互
    例如:一步步调试、问问题、解释代码、探索 API
  • 需要即时反馈
    例如:写一段代码、生成一个函数、解释报错
  • 任务不明确,需要澄清需求
    Plan Agent 特别适合“先规划再执行”

不适合:

  • 长时间运行
  • 大规模修改
  • 需要后台执行的任务

⚙️ Copilot CLI Agent

最适合:

  • 明确、可独立执行的任务
    例如:
    • “把整个项目迁移到 TypeScript”
    • “为所有 API 添加错误处理”
    • “生成 5 个不同的 UI 方案”
  • 长时间运行的任务
    即使关闭 VS Code 也不会中断
  • 需要隔离环境的任务
    Worktree 模式让它安全修改代码,不影响主分支

不适合:

  • 需要频繁问答
  • 需要 VS Code 扩展工具(CLI 无法访问)
  • 需要访问受保护的 MCP 服务

☁️ Cloud Agent(GitHub 托管)

最适合:

  • PR 工作流(自动修复 PR、生成 PR 描述、自动 review)
  • 团队协作(能直接访问 GitHub repo / PR / issues)
  • 需要更强算力或长上下文(云端模型通常更强)

不适合:

  • 本地文件未提交到 GitHub
  • 需要访问本地环境(数据库、脚本、工具链)

一张“选择哪种 Agent”的快速决策图

 任务是否需要频繁交互? │ ┌──────────┴──────────┐ │ │ 是 否 │ │ ┌───────▼───────┐ 任务是否明确? │ 本地 Agent │ │ └───────────────┘ ┌───────┴────────┐ │ │ 否 是 │ │ ┌───────▼──────┐ 任务是否与 GitHub 交互? │ Plan Agent │ │ └───────────────┘ ┌───────┴────────┐ │ │ 否 是 │ │ ┌───────▼──────┐ ┌────▼─────┐ │ CLI Agent │ │ Cloud Agent│ └──────────────┘ └────────────┘ 

结语

Copilot CLI Session 更像是一个可以托管在本地后台的工程执行者

  • 你负责定义范围与目标
  • 它负责持续推进执行
  • worktree 隔离让它更适合“放心交给它改”

当任务足够明确时,把工作交给 CLI Session,往往能显著提升效率。

Read more

FPGA开发常用软件盘点:Vivado、Quartus、ModelSim全面对比

FPGA开发常用软件盘点:Vivado、Quartus、ModelSim全面对比

在FPGA开发过程中,EDA工具(Electronic Design Automation) 是工程师的生产力核心。不同厂商的FPGA芯片通常配套不同的开发工具,但在项目实践中,很多工程师往往会接触多种EDA软件。 本文将带你系统梳理三款FPGA开发中最常用的软件:Vivado、Quartus、ModelSim,从功能、适用场景、优缺点等多个维度进行全面对比,助你快速入门并合理选择。 一、Vivado —— Xilinx官方旗舰开发平台 1. 基本简介 Vivado是Xilinx(现为AMD)推出的综合性FPGA开发环境,主要面向7系列、UltraScale、Versal等高端FPGA器件。 它集成了综合、布局布线、时序分析、仿真、硬件调试等完整流程,是Xilinx FPGA开发的首选工具。 2. 核心功能 * RTL综合与实现:支持Verilog、VHDL和SystemVerilog,自动进行逻辑优化与布局布线。 * IP Integrator:可视化模块连接工具,适合SoC级设计。 * 仿真与调试:内置Vivado Simulator,也可外接ModelSim进行

打造你的家庭 AI 助手(四):单 OpenClaw 配置多 Agent、多 QQ、飞书机器人

打造你的家庭 AI 助手(四):单 OpenClaw 配置多 Agent、多 QQ、飞书机器人

打造你的家庭 AI 助手(四):单 OpenClaw 配置多 Agent、多 QQ、飞书机器人 引言 OpenClaw 是一个强大的智能体(Agent)编排框架,它通过统一的架构让开发者可以轻松管理多个聊天机器人,并接入不同的即时通讯平台。在实际应用中,我们往往需要同时运行多个 QQ 机器人(例如个人助手、工作助手),甚至希望同一个智能体既能处理 QQ 消息,也能响应飞书消息。 本文将详细介绍如何在一个 OpenClaw 实例中配置多通道(QQ、飞书)、多 Agent 以及多 QQ 机器人账号,实现资源的高效利用和灵活的消息路由。特别地,我们将阐明飞书通道与 QQ 通道在绑定规则上的差异,避免常见的配置错误。 核心概念回顾 * Agent(智能体):拥有独立人格、记忆和技能的对话单元。每个

ResNet18部署案例:农业无人机应用开发

ResNet18部署案例:农业无人机应用开发 1. 引言:通用物体识别在农业无人机中的价值 随着智能农业的快速发展,农业无人机已从简单的航拍工具演变为集感知、决策、执行于一体的智能终端。在作物监测、病虫害识别、土地分类等任务中,精准的通用物体识别能力成为关键支撑技术。 传统方案依赖云端API进行图像分类,存在网络延迟高、服务不稳定、隐私泄露等问题,难以满足田间实时响应需求。为此,我们引入基于 ResNet-18 的本地化部署方案——一个轻量、高效、无需联网的通用图像分类系统,专为边缘设备优化,特别适用于算力受限但对稳定性要求极高的农业无人机场景。 本项目基于 TorchVision 官方 ResNet-18 模型,预训练于 ImageNet-1000 数据集,支持千类物体与场景识别(如“玉米田”、“灌溉渠”、“拖拉机”),并集成可视化 WebUI 与 CPU 推理优化,真正实现“开箱即用”的本地 AI 能力。

华为OD机试双机位C卷-机器人活动区域(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷-机器人活动区域(Py/Java/C/C++/Js/Go)

机器人活动区域 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 现有一个[机器人],可放置于 M × N 的网格中任意位置,每个网格包含一个非负整数编号,当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可以在网格间移动。 问题: 求机器人可活动的最大范围对应的网格点数目。 说明:网格左上角坐标为 (0,0) ,右下角坐标为(m−1,n−1),机器人只能在相邻网格间上下左右移动 输入描述 第 1 行输入为 M 和 N * M 表示网格的行数 * N 表示网格的列数 之后 M 行表示网格数值,每行 N 个数值(