cc-agents 银发动漫角色图标

桌面首发 · Lumi / Vesper / Mira

Three minds.
One better decision.

四个页签,一个窗口:对话、轨迹、群聊、评测。Lumi 动手做,Vesper 逐条核验她的主张有没有真凭实据,Mira 把她的方案讲成人话。

下载 macOS .dmg Apple Silicon · v0.1.0 · 58MB 在 GitHub 查看
01
工作台

左边挑项目,中间说需求,右边开着终端

四块地方各干各的:左栏挑项目、翻历史会话,中间跟 Lumi 说需求,右栏是终端面板。输入框上方那行实时写着分支、轮次 / 步数、首 token 延迟和 tok/s,下面一条是 ctx 占用。

对话页:左栏项目与会话、中间 Lumi、右栏终端、底部实时状态条

Lumi 在中间

空状态就说了一句话:把想法交给 Lumi,她会理解项目、动手实现,并把结果留在这里。

状态条就在输入框上沿

git:(分支) · 第几轮第几步 · LLM 耗时 · 首 token 平均 · tok/s · 缓存命中,全挤在一行里。

左栏挑项目、翻历史

每个 space 底下挂着当前分支(cc-agents_desktop / software-engineering),再往下是全部历史会话,点一条就回去。

对话页 — 左栏项目与会话 · 中间 Lumi · 右栏终端 · 底部实时状态条

02
群聊

两位参谋,点名才开口

群聊页就两张角色卡:Vesper 是审计官,逐条核验主张有没有真凭实据;Mira 是翻译官,把方案讲成人话。每轮还挂着一条「审阅对象」——Round 1 就是你刚说的那句。两位不跟着主线自动跑,只在你点名时开口;群聊输入口现在也还没开放,发送是灰的。

Vesper · 审计官 Mira · 翻译官 每轮一个审阅对象
群聊页:Vesper 与 Mira 两张角色卡,以及本轮的审阅对象

群聊 — 两张角色卡 + 每轮的审阅对象;未点名不出声

03
轨迹

你一句话,它做了 8 个工具调用

轨迹页把一轮摊开给你看:Turn 1 下面从 #1 排到 #9,第一行是你的原话,其余全是 glob、grep、read_file 这类工具调用,参数直接写在行里,右边跟着单次耗时。顶上还能切 Duration / Turns / Calls 三种视图,看时间花在哪、工具调了多少次。

按轮展开 工具调用带参数 单次耗时可见
轨迹页:Turn 1 下 1 条用户消息与 8 条工具调用,带参数与耗时

轨迹 — Turn 1:1 条用户消息 + 8 条工具调用,逐行带参数与耗时

04
终端与浏览器

右侧是个真终端,还能再开浏览器

右侧面板是个真终端:「+」菜单里就两项——终端和 Browser,Browser 每个标签各自 start / stop 一个 browser session。终端归项目不归会话,切走再回来它还在。你自己的命令、外部的 CLI agent 都跑在这一个面板里;状态行那几个数字(模型、ctx、CLAUDE.md、MCP、hooks)是终端里那个 CLI 自己报的,不是 cc-agents 的功能。

「+」里就两项:终端 / Browser 终端归项目不归会话 多标签 · 可分屏
右侧终端面板:「+」菜单可选终端或 Browser

终端面板 — 「+」里开终端或 Browser;多标签,且终端归项目不归会话

05
Plan 模式

拿不准的,直接给你出选择题

Plan 模式下 Lumi 不猜。她会甩出一张提问卡:先把事实摆清楚,再列几个选项,每个选项后面跟着代价,还标出推荐哪个。回车选定,↑↓ 换选项。右栏顺手把结论落成待办清单,0/4 的进度一路跟着走。

选项式提问 每题带代价与推荐 结论落成待办 0/4
Plan 模式的选项式提问卡,与右栏待办 0/4

PLAN 模式 — 提问卡(选项 · 代价 · 推荐)+右栏待办清单

06
记忆库

每条记忆,都写着它为什么会被用上

顶上写着 42 条 · 常驻 0,能按类型(用户 / 项目 / Agent)和状态(在用 / 暂不用 / 历史)筛。点开任意一条,右边是核心内容,下面「检索提示」写清它会不会参与全局检索、依据是什么。觉得不对,就地编辑、钉选常驻、移至暂不用,或者确认仍有效、直接删掉。

NEW
新增记忆
右上角「+」,手写一条长期规则
PIN
钉选常驻
钉上就每轮都在上下文里(截图时常驻 0)
SHELVE
移到暂不用
不参与检索但留着,随时捞得回来
DELETE
确认仍有效 / 删除
一条续期,一条清掉,都从详情页走
记忆库:42 条记忆按类型与状态分栏,详情页含检索提示与操作按钮

记忆库 — 42 条 · 按类型与状态分栏 · 详情写明检索依据

07
收件箱

AI 有话要跟你说,就发这儿

收件箱收的是 AI 主动发来的消息,右上角标着还有几条待处理——截图时是 0,所以整页空着:AI 还没有给你发消息呢。左边列消息,右边看详情,底下那句「查看详情不会消费消息」是给你的定心丸:点开不会消耗什么。

待处理角标 左列消息,右看详情 查看详情不消费
收件箱:待处理 0 的空态与右侧详情占位

收件箱 — 待处理 0 的空态:AI 还没有给你发消息呢

08
Git

diff 摆在这儿,还能问 AI

Git 面板第一行就把分支说清楚:feat/ckx-redis → origin/feat/ckx-redis (dirty)。左边切仓库、翻 HISTORY,提交按 hash、标题、作者、时间排;右边是选中那次提交的 diff,+1 -1 直接标在文件名上,行级高亮。旁边那个 AI 页签,就是用来问「这次改动为什么这么写」的。

Git 面板:分支与远端、提交历史、行级 diff 与 AI 页签

Git — 分支与远端 · 提交历史 · 行级 diff · AI 页签

09
设置 · 模型

Lumi 用哪个模型,自己填

两张卡:Lumi 一张,spawn_agent 子 agent 一张。API Key、模型名、provider、auth、max tokens、base URL 都能手填——截图里就是 openai 兼容的 opencode.ai zen 端点。子 agent 默认继承 Lumi 的模型和凭据,只改模型名。也能直接导入现成的 settings.json,落到全局 ~/.cc-agents/settings.json。

设置 · 模型:Lumi 与 spawn_agent 的 API Key、模型、provider 与 base URL

设置 · 模型 — Lumi 与 spawn_agent 各一张卡;密钥只写本地

10
设置 · 上下文

后台跑什么,开关都在这页

这页管的是后台:并发会话数(默认 3,切会话不会打断后台工作);动态 Memory 检索——BM25 加本地向量,允许 Lumi 按需去翻没钉选的记忆;记忆整理——后台整理默认关着,得先去模型页开后台模型,卫生检查默认每 6 小时一次;还有云端记忆——选一个本机 SSH Host 连到远端 cc-agents-cloud,向量检索、网页搜索、文档解析走这条隧道,记忆分类和卫生检查仍留在本机。

设置 · 上下文:并发会话、动态 Memory 检索、记忆整理与云端记忆

设置 · 上下文 — 并发会话 · 动态 Memory 检索 · 记忆整理 · 云端记忆(SSH)

11
评测

九段流水线,一次评完

评测页是一条九段的流水线:评测编排器 → 场景注入器 →(Runtime + Agent、全链路追踪)→(状态快照器、LLM-as-judge)→ 断言引擎 → 报告聚合器 → 综合结论。每个节点自己报状态,右栏是编排器的事件流。本机就能跑,顶上那行写着 npm run eval -- serve --local-sandbox。左栏管用例和历史 run,跑完生成报告。

九段流水线 LLM-as-judge --local-sandbox 本机跑
评测页:九段评测流水线节点与右侧事件流

评测 — 九段节点从编排器到综合结论,截图时全在 idle

12
Claude Code 协作

一块说得清的活,派给终端里的 Claude Code

Lumi 判断某块实现边界清楚,就把任务派进右侧那个终端。中间层是 tmux——自建 socket(-L ccagents),不碰你自己的 tmux server;写入走 send-keys,读屏走 capture-pane。完成信号不靠猜屏幕:它给 Claude Code 注入一个 Stop hook(--settings 是合并,不是替换)去写 marker 文件,再读 hook 回给它的 transcript,只取最后一条 assistant 文本。

tmux 中间层 Stop hook 判完成 单向派发 · 没有追问通道
右侧终端里的 Claude Code 会话:状态行报模型、Context 与 bypass permissions

派发卡片在右栏 Spawn 页

显示状态、任务原文、tmux 会话名和这一轮的产出;一个项目共用一个 tmux 会话。

「看终端」跳过去接手

点一下切到 Terminal 页,开出 tmux -L ccagents attach ——那就是个真 pane,你可以直接在里面打字。

启动命令可配,默认 claude

设置里有 claude / claude-oc / claude-ds 三个预设;命令不对或没登录,pane 会自己退出,提示你去改。

你拿到的是摘要,不是全程

默认 10 分钟超时,产出超过 8000 字取尾部;中间过程只在对话的工具结果里,卡片只画最近一轮。

CLAUDE CODE 协作 — 派过去 · 看终端 · 取回这一轮

13
自建云端

向量、网页搜索、文档解析,放到你自己的 Linux 上

设置里只填一个 SSH Host:从 ~/.ssh/config 扫出来挑,或者手填 host / user / port / IdentityFile,私钥不落地。桌面端用 BatchMode 连过去探 /health——必须回 service: cc-agents-cloud;再确认 /api/v1/link 的 handshake 是 ssh-tunnel,通了才建本地端口转发。不填公网地址,也不填云端 API Key,key 从对端 /opt/cc-agents-cloud/.env 里读。

没连云端也照样写代码:读改文件、终端、grep、代码库搜索、记忆分类和卫生检查都在本机,只有网页搜索和文档解析会不可用,记忆检索退成 BM25 关键词。

EMBED
向量检索
query 和 passage 文本发到 /api/v1/embed,本机不再下载或跑 E5
SEARCH
网页搜索
云端抓 Bing 结果页并抽正文,桌面不装抓页依赖
PARSE
文档解析
PDF / Word / Excel / PPT / 扫描件转 Markdown;密钥在桌面填,建连后推给服务器
SYNC
记忆同步
本地写入立刻落盘并标 dirty,去抖后推送;数据源可选本地优先或云端优先

部署 — Docker 包装到 /opt/cc-agents-cloud(2GB 内存起);路径别改,客户端要读它的 .env,也别把 8080 开到公网

14
更多开关

后台模型、技能、压缩水位

设置页里剩下的这些都不是装饰:后台模型是记忆分类、卫生检查、冲突检测的总闸(key 留空就用内置的);技能分三层加载,用到才取;压缩水位管的是「什么时候才值得压」。

后台模型(分类器)

记忆分类、卫生检查、冲突检测共用它。可选 gpt-4o-mini、claude-haiku-4-5、MiniMax-M2.5、deepseek-v4-flash;关掉会弹二次确认。

技能:三层渐进加载

先只看到技能列表,要用才读它的 SOP,再需要才取脚本和参考——不整份塞进每一轮,轮末自动卸掉。内置技能只能开关不能删,自己的技能放项目的 .cc-agents/skills/。

压缩水位:82% / 40,000 tokens

输入到模型窗口的 82% 才开始判断要不要压;预计释放不到 40,000 tokens 就不压,免得白白重建 prompt cache。

界面与可观测性

中英双语、六种字体,Day / Night 在侧栏底部;打开 Tracker 会记录完整 I/O 与指标,本地 127.0.0.1:7778 就能看。

15
开始使用

现在,就能用上

下载 macOS 安装包,拖进 Applications,就绪。

下载 macOS .dmg Apple Silicon · 当前版本 v0.1.0
给开发者的技术细节
01 — 自建云端(可选)

Docker 包

放到你的 Linux(2GB 即可)。解压后 sudo ./scripts/install.sh,再在 Desktop 里连上。

下载 cc-agents-cloud-docker.tgz
02 — 源码(可选)

从源码启动

需要 Node.js ≥ 22.19。标题栏出现 live 后再发消息。

$npm install && npm run desktop
03 — 配置

导入或编辑 settings.json

设置页支持「打开即用」导入;也可手改 ~/.cc-agents/settings.json。

还在用终端 TUI? → CLI 介绍页