Repository navigation
Conversation
Add Cursor CLI discovery, native ACP runtime, desktop and mobile selection, session lifecycle integration, model catalog, tests, and explicit limitations. Refs makecindy#1027 Inspired by the ACP transport and process-group handling in makecindy#2386. Signed-off-by: Ken <9398ljlj@gmail.com>
9398-haha
marked this pull request as ready for review
October 8, 2026 14:30
|
Comments Outside DiffThese findings could not be posted inline.
|
Contributor
|
本 PR 命中维护者确认门(产品 / UI 变更、审查规则文档变更、技术架构调整三类触发),已开维护者确认讨论:#5621 请维护者直接在 PR 上 Approve 表示确认通过;需要作者修改则 Request Changes 并写明需要调整的内容。 |
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Preserve Cursor identity with the mobile remote mark and clear lint diagnostics in touched files. Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com>
Signed-off-by: 9398-haha <9398ljlj@gmail.com> Co-authored-by: Ken <9398ljlj@gmail.com>
Merge makecindy/cindy main@7c4ba33e0. Keep Cursor model group labels together with the new provider-group usage strings. Signed-off-by: 9398-haha <9398ljlj@gmail.com> Co-authored-by: Ken <9398ljlj@gmail.com>
Merge makecindy/cindy main@451599c72. No content conflicts. Keep Cursor native ACP behavior together with upstream agent app update, mobile markdown links, and IM background result delivery. Signed-off-by: 9398-haha <9398ljlj@gmail.com> Co-authored-by: Ken <9398ljlj@gmail.com>
Merge makecindy/cindy main@cf61957a9. Keep Cursor agent kinds together with Codex reset credits and the remote agent device id. Signed-off-by: 9398-haha <9398ljlj@gmail.com> Co-authored-by: Ken <9398ljlj@gmail.com>
Merge makecindy/cindy main@9b200f938. No content conflicts. Keep Cursor native ACP behavior together with upstream remote work preview, mobile bubble border, merged PR icon color, voice-end keyboard, and command-output history indexing. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Ken <9398ljlj@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
同步上游 main(2026-10-11;提交
b8ab6b8b8)makecindy/cindymain@9b200f938merge 进feat/cursor-native-acp-1027。上一轮已推送的同步是main@cf61957a9(合并提交13c667099)。方式是 merge,没有改写历史。GitHub 上这个 PR 的 base 已是9b200f938,head 是b8ab6b8b8,mergeable=MERGEABLE,mergeStateStatus=BLOCKED。BLOCKED来自awaiting-discussion、必需 CI 和维护者批准,不是冲突。本地pnpm check:dco通过(相对upstream/main:15 个提交已签名,9 个 merge 豁免)。没有新开 PR,没有请审,也没有改 draft 状态。303370439、c33b0130c、037a54080、fff8e6bb3(perf(device-link): 远程运行中工作组改由电脑端下发最近 5 行并就地更新 #5786 远程运行中工作组最近 5 行活动)、17a83d52c(fix(mobile): 普通任务用户气泡改用伙伴模式的浅色边框 #5787 普通任务用户气泡改用浅色边框)、0404f30e0(fix(mobile): 已合并 PR 图标改用焦点蓝,语义对齐桌面 #5789 已合并 PR 图标改用焦点蓝)、f9274e609(fix(mobile): 回复任务时语音结束不再自动弹出键盘 #5790 回复任务时语音结束不再自动弹出键盘)、9b200f938(perf(history): 命令产物推断改为命令级一次性索引,切换伙伴不再被超长命令阻塞主进程 #5506 命令产物推断改为命令级一次性索引)。dispatch.ts与dispatchSendSafety.test.ts:Cursor 模型选择能力投影留下,同时接入上游的运行中工作组补丁。messages.ts与makerChatStore.ts:cursoragent kind 留下,同时接入历史正文戳与workLines。sessions/[sessionId].tsx:跨引擎列表仍含 Cursor,协同表单仍传permissionModes;语音结束只在点输入框时聚焦(fix(mobile): 回复任务时语音结束不再自动弹出键盘 #5790)。DeviceLinkContext.tsx与mobileMakerTransport.ts:仍声明cursor-model-picker-v1;历史读取带workLines,并消费maker:history-work-patch。MessageRenderer.tsx:Cursor 任务标签留下;普通用户气泡边框改为colors.border(fix(mobile): 普通任务用户气泡改用伙伴模式的浅色边框 #5787),折叠工作组可显示主机下发的最近活动行。protocol-compatibility.md:Cursor 手机模型选择一节留下,并写入上游的运行中工作组单行活动说明。design-inventory.md:设置行仍包含CursorProviderSetup.tsx,上游台账更新一并留下。pnpm check:design-inventory通过(52 个 surface)。cursorGroups与供应商组文案键仍都在。Cursor workers require a local workspace仍在:SSH、远程 Agent 位置、远程供应商或组把 Worker 改放到另一台电脑时,不提供 Cursor。手机 fix(mobile): 新建任务不再显示写死的 Sonnet 4.6,模型落定前不能创建 #5706(模型未落定不能创建)这次没有改到,行为未改写。@cindy/maker-shared:historyWorkLines13 项、historyView57 项、historyViewLoading5 项,共 75 项通过。composerNativeVoiceSelection4、composerRichInputHtml13、composerRichInputLifecycle16、messageActionDesktopFirst16、prStatusVisual2、sessionComposerDesktopFirst5、themeColorsFreeze3、mobileHistoryRender24,共 83 项通过。Mobiletsc --noEmit通过。dispatchSendSafety87、historyWorkPatch11、historyViewPush9、historyViewOutline10、historyViewReader41、workGroupBlockLivePreview21、commandOutputPaths.scan8,共 187 项通过。awaiting-discussion)和必需 CI 仍待维护者放行。本地测试不替代这些门禁。没有新增请审评论。这次改了什么
摘要
安装并登录官方 Cursor CLI 后,可在 Cindy 新建和续接 Cursor 原生任务,使用账号实际提供的模型、思考档位和 Fast,并使用 Cindy 的计划反馈、审批和停止入口。
设置 → 模型供应商现在提供 Cursor 添加与安装/登录指引。CLI 已安装但模型发现失败时仍保留入口,允许重试;读取模型后显示正确的 Cursor 引擎说明和连接状态,不创建假的 OAuth 连接。模型选择器保留原生 Auto 与 Cursor Models / Other Models 分组,旧任务的
cursor-default继续作为默认路由兼容,不新增占位模型。Cursor 支持默认权限、自动审批和完全访问;新建、恢复、切换引擎、协同创建与手机控制保留受支持的选择。审批热切换、取消和过期结果通过同一授权边界处理。
变更类型
feat新功能fix缺陷修复docs/test/chore文档、测试或工程维护范围
main@9b200f938(合并提交b8ab6b8b8)。此前已推送main@cf61957a9(合并提交13c667099)和main@6393978d0(合并提交da68e678f,11 处内容冲突)。更早的main@f78ba734d跨设备 Worker 与手机表单冲突,以及main@a76050239的设置、新建任务、模型档位及文档冲突也已保留。Cursor Worker 仍只在本机工作区运行,跨设备入口不提供 Cursor。手机保留 fix(mobile): 新建任务不再显示写死的 Sonnet 4.6,模型落定前不能创建 #5706 的行为:模型未落定时不能创建,不恢复写死的默认型号。模型列表工具保留两种 gateway 折扣路由识别,同时把 Cursor 的不透明原生 ID 与 gateway 路由分开,并带上按位置列出模型。UI 变化
docs/design-rules/DESIGN.md§2 Color Palette & Roles、§4 Select & Dropdown / Dialog & Modal、§10 Light / Dark Dual-Mode Delivery Gate、§11 Voice & Content。复用现有设置面板、模型列表、权限菜单、确认弹窗与语义颜色。414ceeb5d的设置页实测显示 Cursor、10 个模型、已连接及「仅支持 Cursor」,点击刷新后仍正常。浅色/深色已目检并重新截图,验证结束后恢复原来的「跟随系统」显示模式。权限截图来自先前08f5b720c试用验证;手机验收仍单列待完成。怎么验证的
再次同步最新主线(2026-10-11;提交
da68e678f)main@6393978d0(feat(bots): implement independent teammate Todo workflows #5765 teammate todos,以及自上一轮main@f78ba734d起的供应商组、协同 Worker 远程位置等 94 个提交)。方式是 merge,没有改写历史。orcaWorkerCreationService.ts:保留 Cursor 仅本机工作区,同时接入上游的 Agent 位置解析和供应商组跟随。SSH、Lead 的 Agent 在别的电脑、运行设备、远程供应商,或组把 Worker 改放到另一台电脑时,仍拒绝并返回Cursor workers require a local workspace。模型选择同时保留「同一位置才继承 Lead 模型」和 Cursor 原生目录首项。register.ts:Cursor 模型目录导入与 teammate Todo dispatch 同时保留。listAvailableModels采用上游的位置 / 供应商组目录;本机仍列出已注册的 Cursor,跨设备位置和 SSH Lead 不列 Cursor。list_available_models.ts:保留 Cursor 原生 ID(tier 固定 standard,不把codex/前缀当成 gateway 折扣)以及上游的agent_device_id/ locations。UnifiedModelPanel.tsx:分组标题同时使用供应商组标题和 Cursor Models / Other Models。CreateWorkerPopover.tsx:保留 Cursor 能力与权限,并接入远程供应商档位记忆。SSH、运行设备、远程供应商或 Lead Agent 在别的电脑时,面板不提供 Cursor。common.json:cursorGroups与供应商组文案键同时保留。zh-TW 自动合并,两边都在。useSessionOrcaCollab.ts与手机测试:保留 Cursor 权限档位收敛,以及远程供应商模型不按被控电脑目录收敛。运行设备或 Lead Agent 在别的电脑时不提供 Cursor。新建任务页「模型未落定不能创建」的 fix(mobile): 新建任务不再显示写死的 Sonnet 4.6,模型落定前不能创建 #5706 路径不在冲突里,未改写。@cindy/mcpslistAvailableModelsTool.test.ts:8 项通过。useOrcaWorkerForm.test.tsx:36 项通过;Mobiletsc --noEmit通过。orcaWorkerCreationService.test.ts384 项、CreateWorkerPopover.test.tsx64 项、remoteAgentSetModelWiring.test.ts7 项、modelSelectorProviderGroupLabel.test.tsx4 项通过。unifiedModelPanelRendering.test.tsx单独复跑 162 项通过。与上述文件放在同一次 vitest 进程时有 1 项 Cursor 滑杆查询失败,单独复跑通过,按测试隔离记录,没有改断言。mergeable=true、mergeable_state=blocked(冲突已解除;仍受讨论标签、必需 CI 和维护者批准约束)。没有新的请审评论。上一轮同步(2026-10-10;提交
b05e122c5)main@f78ba734d的跨设备 Worker、移动端入口及数据库 migration,解决 5 处内容冲突。Cursor Worker 保持仅在本机工作区运行;跨设备 Worker 入口不提供 Cursor。手机端同时保留权限档位与设备选择,新旧设备切换时按执行电脑重新读取 Agent、模型和权限。db:validate(126 个 migration)、设计台账、术语和开发文档检查通过。术语检查有既有 18 处待裁决提示,无新增违规。cursor-providers试用窗口已按新提交冷启动,DESKTOP_DEV_VERDICT=ready;desktop:whoami --all显示运行源码为b05e122c5,实际窗口截图确认主界面已加载。此次未重新进入供应商页截图;下方图片均标有其来源提交,不作为新版本的供应商页视觉证据。iPhone 实机验收仍未完成。首轮相关验证(2026-10-10)
本次相关回归去重 6,510 项,按 package 统计,不与此前运行记录相加:
初跑有两个默认超时和两个 Desktop 测试文件的本地依赖读取异常。按 lockfile 的版本与 SHA-512 校验恢复本 checkout 的
protobufjs@7.6.5后,失败文件在原断言和原超时下复跑全部通过;最终 Desktop 类型检查遇到的@types/plist@3.0.5读取挂起也按相同校验恢复,完整检查重跑通过;没有删除、跳过或弱化测试。表格统计包含复跑闭环并去除重复用例,不能视作一次整仓 CI 全绿。a76050239的供应商组显示更新后,补跑设置页/添加入口/供应商组组件回归和 Desktop 完整类型检查,结果通过。试用窗口恢复(同步前提交
e54d4750a)ctime变化时,macOS 文件监听仍对大量未改内容的源码发出change,触发连续预构建和页面重载,开发进程资源占用持续上升。XDT_DESKTOP_DEV_WATCH_POLLING=1时启用的 macOS 轮询监听,覆盖 Desktop main 与 renderer;启动脚本透传该开关并为此模式留足启动等待时间。默认监听方式及 Windows 行为不变。cursor-providers试用窗口,返回DESKTOP_DEV_VERDICT=ready;desktop:whoami --all核对运行源码为e54d4750a,实际窗口已显示完整 Cindy 界面。启动脚本 76 项测试、开发文档 10 项测试、Desktop 完整类型检查及git diff --check通过;本提交 DCO 检查通过。真实 CLI 与既有手工证据
2026.08.11-e8db854:真实已登录账号、独立临时 Git 工程。确认原生目录 10 项、短多轮、文件操作、关闭后加载同一任务、取消完成,以及实际原生进程访问合成 loopback HTTP MCP。测试结束后进程和桥接均清理。reject-once;自动审批经合成审核委托返回allow-once;完全访问直接返回allow-once。这证明协议分流,不是在线审核模型质量评估。旧机器人审查逐项核对
modes.currentModeId初始化,再判断是否切换;ACP/Cursor 回归通过whenStopped仅在退出后完成;生命周期回归通过机器人原审查对应旧提交
07c6df02。其中 5 条代码审查 thread 已按上述修复与回归依据标记 resolved;本表不替代维护者对最新提交的正式复审。未完成与证据边界
devicectl不可用;未构建、安装或发布手机新包/热更,没有新的手机 Light/Dark 实机证据。Beta 0.1.11 缺少 Cursor 的既有反馈不能用源码测试替代闭环。debugPkg is not a function),按 lockfile 的 SHA-512 校验恢复playwright-core@1.60.0后,原版模块导入通过,未修改依赖版本或项目 lockfile。desktop:whoami核对。设置截图来自414ceeb5d,17d55e560只更新两张截图;e54d4750a只修复开发试用窗口的监听和启动脚本,未修改产品 UI。旧权限截图与本轮设置截图的来源分别标注。da68e678f合入main@6393978d0。最新状态见文首:b8ab6b8b8已推送,合入main@9b200f938,GitHub 为mergeable=MERGEABLE、mergeStateStatus=BLOCKED。上一轮提交b05e122c5的 client-ci 与 pr-design-basis 仍为当时的action_required。新提交的远端 CI 需维护者放行后才会跑,本地检查不替代这些合并门禁。没有新增请审评论。风险
风险分类
行为边界与维护者确认
allow_always;计划批准和问题回答始终明确交互。自动审核不可用时提示并回退到确认卡。cursor-model-picker-v1。没有恢复保证时不删除历史,退出未确认时不释放目录/MCP 所有权。提交前检查