🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面智能体调度台 drewnekota/cetus

DeepSeek Harnessv8.0.33
drewnekota4 天前有提交已提供中文文档扫描:含敏感能力

Cetus 是一个桌面客户端,用来审阅和管理你在用的所有 agent 的工作 —— Claude…

61.2/100
综合分
149
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add drewnekota/cetus
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
npm 包存在但缺 main/exports/bin 入口声明,源码安装也可能起不来
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包cetus @ 8.0.33
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 15:38:17

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
  • 执行外部命令来自配置/变量
    evals/general-benchmark/run.mjs:138
    const res = spawnSync(command, args, {
  • 发起网络请求
    evals/web-search/run.mjs:47
    const res = await fetch(url, { ...init, signal: ctrl.signal });
  • 发起网络请求
    src-tauri/cetus-extensions/browser-use.ts:346
    const res = await fetch(VERSION_URL, { signal: AbortSignal.timeout(2000) });
  • 执行外部命令固定命令
    src-tauri/cetus-extensions/browser-use.ts:361
    child = spawn(
  • 读取本地文件
    src-tauri/cetus-extensions/coordinator-tools.ts:60
    text = readFileSync(path, "utf8").trim();
  • 读取本地文件
    src-tauri/cetus-extensions/custom-models.ts:81
    const cfg = JSON.parse(readFileSync(path, "utf8"));
  • 读取密钥环境变量
    src-tauri/cetus-extensions/deepseek-endpoint.ts:9
    apiKey: process.env.DEEPSEEK_API_KEY,
  • 读取本地文件
    src-tauri/cetus-extensions/dictation-recall.ts:32
    return JSON.parse(await readFile(path, "utf8")) as Store;
  • 读取本地文件
    src-tauri/cetus-extensions/skill-discovery.ts:67
    if (!existsSync(root)) return out;
  • 读取本地文件
    src-tauri/cetus-extensions/skill-discovery.ts:71
    entries = readdirSync(dir, { withFileTypes: true });
  • 读取本地文件
    src-tauri/cetus-extensions/skill-discovery.ts:77
    const md = readFileSync(filePath, "utf-8");
  • 读取本地文件
    src-tauri/cetus-extensions/skill-discovery.ts:96
    isDir = statSync(child).isDirectory();
  • 发起网络请求
    src-tauri/cetus-extensions/web-search.ts:214
    const res = await fetch(url, {
  • 发起网络请求
    src-tauri/cetus-extensions/web-search.ts:236
    const res = await fetch(url, {
  • 发起网络请求
    src-tauri/cetus-extensions/web-search.ts:305
    const res = await fetch(current, {
  • 读取密钥环境变量
    src-tauri/cetus-extensions/web-search.ts:332
    const tavilyKey = process.env.TAVILY_API_KEY;
  • 读取密钥环境变量
    src-tauri/cetus-extensions/web-search.ts:333
    const exaKey = process.env.EXA_API_KEY;
  • 发起网络请求
    src-tauri/remote/app.js:54
    const r = await fetch("/api" + path, {
  • 写入剪贴板
    website/main.js:506
    `,z=document.createElement("div");z.className="demo-file-markdown";for(let[e,t]of[["h4","Morning briefing"],["h5","Today\u2019s priorities"],["p","Rev
  • 写入剪贴板
    website/src/product-demo.js:211
    try { await navigator.clipboard.writeText(files[currentFile].text); label.textContent = 'Copied'; }
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

5 张 · 点击查看大图

功能亮点

  • 定时运行智能体
  • 全局热键启动器

一个 macOS 应用,通吃 Claude Code、Codex 和你用的所有智能体运行时——定时运行、全局热键启动器、每次运行独立 git worktree、统一审查面板。

README

由 DeepSeek 最新模型翻译生成
Human in the loop is the bottleneck. Cetus 是一个桌面客户端,用来审阅和管理你在用的所有 agent 的工作 —— Claude Code、Codex、DeepSeek Harness、OpenCode、Grok Build、Kimi CLI,或内置 runtime。 官方网站 · cetus.run English · 简体中文 Cetus 操作演示 —— 唤起 agent、创建自动化任务并切换 runtime 社区 ⭐️ 给仓库点个 Star,第一时间收到新版本通知。想交流使用体验和建议,欢迎微信扫码加入群聊。 友情链接 - LINUX DO —— 有理想的新社区。 为什么做 Cetus agent 已经不是慢的那一环了。Claude Code、Codex、DeepSeek Harness 都能自己连续干一个小时。真正拖慢它们的,是它们在等的那个人:一个权限请求、一个澄清问题、一个做完了却还没人审阅的任务。 而这个人通常同时在用好几个产品:Claude Code 开一个窗口,Codex 开另一个,定时任务各自在不同的客户端里汇报结果。每切换一次都要消耗注意力;agent 在等你而你没注意到的每一分钟,它都在空转。 也有像 Superset 这样把不同 runtime 放到一起的工具,但它是 TUI。
展开完整文档(README 剩余 1 节)
Human in the loop is the bottleneck.

Cetus 是一个桌面客户端,用来审阅和管理你在用的所有 agent 的工作 —— Claude Code、Codex、DeepSeek Harness、OpenCode、Grok Build、Kimi CLI,或内置 runtime。

官方网站 · cetus.run

English · 简体中文

Cetus 操作演示 —— 唤起 agent、创建自动化任务并切换 runtime

社区

⭐️ 给仓库点个 Star,第一时间收到新版本通知。想交流使用体验和建议,欢迎微信扫码加入群聊。

友情链接

- LINUX DO —— 有理想的新社区。

为什么做 Cetus

agent 已经不是慢的那一环了。Claude Code、Codex、DeepSeek Harness 都能自己连续干一个小时。真正拖慢它们的,是它们在等的那个人:一个权限请求、一个澄清问题、一个做完了却还没人审阅的任务。

而这个人通常同时在用好几个产品:Claude Code 开一个窗口,Codex 开另一个,定时任务各自在不同的客户端里汇报结果。每切换一次都要消耗注意力;agent 在等你而你没注意到的每一分钟,它都在空转。

也有像 Superset 这样把不同 runtime 放到一起的工具,但它是 TUI。终端很适合 agent 运行,却不适合人阅读:所有内容都是等宽文字,计划、diff 和提问看起来都差不多,滚出屏幕就找不回来了。

Cetus 是为环里"人"这一侧做的:一个真正的桌面 app,让每个 agent 的工作都容易读、容易回应、容易审阅。

一个客户端,接住所有 runtime

Cetus runtime 选择器 —— Claude Code、Codex、DeepSeek Harness、OpenCode、Grok Build、Kimi CLI 都在同一个 macOS app 里

- 所有 runtime 在一个窗口里。 直接用你已经装好、登录好的 CLI。Cetus 复用它的登录、模型和工具,不用再配第二个账号。
- 在一个地方响应。 任何 runtime 的权限请求、提问和计划,都以卡片形式出现在对话里。turn 还在跑也能插话引导,或者把下一条消息排进队列。
- 在一块看板上审阅。 每个对话都是 进行中 · 待审阅 · 已完成 里的一张卡片。做完的工作会等着你,不会在终端里被滚走。
- 并行但不打架。 每个对话可以有独立的 git worktree,多个 agent 能同时改同一个仓库。

围绕同一个环做的能力

Cetus 的其它能力,都是为了缩短你在环里的那一段。

Threads:一眼看到你所有的会话

一个以工作区为单位的信息流:每发一条消息就开一个独立会话,@ 哪个 runtime 就用哪个。任意 thread 都能停靠在信息流旁边打开,跟着活动角标就能跳到下一个需要你的会话。

Cetus Threads 视图

Quick Launcher:一个快捷键,唤起任意 runtime

同时按住左右 ⌘,即可在任意 app 之上唤出 agent。Cetus 会把当前截图、前台 app、浏览器 URL 和选中文字作为可移除的 context 一起带进来,让你就地提问,不必切窗口、也不必先解释自己在看什么。

Cetus 快捷启动器演示

Automations:定时任务也回到同一个地方

把任意 prompt 变成单次或周期任务(at / every / cron / daily),可以跑在任意 runtime 上。每次运行都在新的后台对话中完成,结果落到看板上等你审阅,而不是又在另一个客户端里汇报。

Cetus 自动化任务演示

少解释一点

需要你手动交代的上下文越少,你就越快能离开这个环。

- 屏幕上下文。 Cetus 采集画面、去重,并用 Apple Vision 在本地做 OCR,agent 能回忆屏幕上出现过什么。需手动开启,提供保留时长设置和排除 app 列表。
- 会议记忆。 通话在本地转写成可搜索的笔记 —— 只存文字,不存音频。问一句"发布日期最后怎么定的?",agent 就会在本地检索会议历史。默认关闭。
- 听写。 在任何 app 里按住快捷键说话,Cetus 会把整理好的文字输入到光标所在位置。
- 持久记忆:你和 agent 都能编辑,会带进之后的对话。

还有更多

- 并行方案:一个 prompt 分出 N 个候选运行,留一个、归档其余
- Cetus Remote:可选的手机端伴侣(基于 Tailscale),离开电脑也能跟进运行、处理审批
- 电脑与浏览器控制:执行任何关键操作前都会确认,停止按钮始终可用
- 内置 runtime 支持 30+ 模型供应商,包括 Anthropic、OpenAI、Google、Bedrock、Ollama、LM Studio 和 OpenRouter

所有涉及屏幕、麦克风或其它 app 的能力都需要你手动开启,数据都留在你的 Mac 上。

立即使用

Cetus 支持 Apple Silicon Mac,同一个 app 有两个版本:

| 版本 | 下载 | 系统要求 |
| Cetus —— 最早的版本,基于 Tauri | Cetus.dmg | macOS 13+ |
| Cetus Swift(Beta)—— 原生 SwiftUI 版本,仍在打磨中 | Cetus-Swift.dmg | macOS 15+ |

两个版本都会自动更新。然后:

1. 打开 DMG,把 Cetus 拖进「应用程序」。
2. 使用内置 runtime,或选择一个已安装并登录的 claude、codex 或 dsh(DeepSeek Harness)CLI。
3. 选一个工作区,给 agent 布置第一个任务。

早期版本: Cetus 仍在快速迭代中。遇到问题或缺少某个工作流,欢迎提 issue。

许可证

MIT
预览分享卡片长什么样 ↓drewnekota/cetus
分享 · DeepSeek Harness Hub
drewnekota/cetus

Cetus 是一个桌面客户端,用来审阅和管理你在用的所有 agent 的工作 —— Claude…

回到顶部