makecindy / makecindy/cindy

原生接入 Cursor Agent CLI(ACP),作为第三种 Agent Harness

Open
#1,027 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: 匿名
**客户端版本**: 0.1.21

---

## 使用场景

我有 Cursor 订阅以及 AUTO 等模型额度,但更喜欢 Cindy 提供的会话管理、工程文件浏览、Memory、移动端接管等体验。

希望能够在 Cindy 中像选择 Claude Code 或 Codex 一样,直接选择 Cursor Agent 并进行连续的多轮对话,而不是通过 Skill 或命令行包装器让 Claude/Codex 转发任务。后者会损失原生的流式交互、会话状态、工具调用与权限确认体验。

## 诉求

将 Cursor Agent CLI 作为 Cindy 的第三种原生 Agent Harness:

1. 在新建会话和 Agent 切换入口中增加 Cursor Agent。
2. 支持使用 Cursor 账号登录,并使用 Cursor CLI 提供的模型及默认路由,包括可用时的 AUTO 模型。
3. 支持原生多轮对话与持久会话,而非单次 CLI 调用。
4. 支持流式输出、工具调用、文件修改、权限确认、任务取消以及错误状态展示。
5. 支持在 Claude Code、Codex、Cursor Agent 之间切换,并尽可能延续 Cindy 当前的上下文切换体验。
6. 保留 Cindy 的工作目录、文件浏览、会话管理、Memory、协同及移动端接管能力。

## 建议方案

Cursor Agent CLI 已提供官方 ACP(Agent Client Protocol)服务模式:

- 启动方式:`cursor-agent.exe acp`(或 `agent acp`)
- 传输方式:stdio
- 协议:JSON-RPC 2.0
- 支持 `session/new`、`session/load`、`session/prompt`
- 通过 `session/update` 推送流式事件
- 通过 `session/request_permission` 处理权限确认
- 支持 `session/cancel` 取消任务

建议在 Cindy 的 Agent/Harness 抽象层新增 ACP Adapter,将 ACP 的会话、内容流、工具事件、权限请求和取消事件映射到 Cindy 现有 UI 与会话模型。

可以先实现最小可用版本:

1. 检测并启动本机 Cursor Agent CLI。
2. 引导用户完成 Cursor 登录。
3. 创建、加载并持久化 ACP session。
4. 展示文本流、工具调用和权限确认。
5. 将当前工程目录作为 Cursor Agent 的工作目录。
6. 在模型选择器中展示 ACP/CLI 实际提供的模型或默认路由。

官方文档:

- Cursor ACP:https://cursor.com/docs/cli/acp
- Cursor CLI:https://cursor.com/docs/cli/overview
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

Start by reading Cindy’s Agent/Harness abstraction layer and the existing Claude Code and Codex integrations, then review the linked Cursor ACP and CLI documentation. A complete change would detect and launch the CLI, persist ACP sessions, map streaming, tool, permission, cancellation, and error events, and expose Cursor alongside the existing agents.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, typescript
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.