Skip to content

lovstudio/yoda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,249 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yoda 封面图

Yoda

面向 Agentic Coding 的多智能体桌面编排器。
在隔离的 git worktree 中并行运行多个编码代理,支持本地项目和 SSH 远程项目。


为什么选择 Yoda

现代编码代理已经足够强大,但同时管理多个代理很快会变得混乱:终端越来越多,分支互相冲突,任务上下文也容易丢失。Yoda 的核心目标很直接:让多个编码代理并行工作,同时保持隔离、可审查、可合并。

每个任务都会创建独立的 git worktree,可以在本地执行,也可以在 SSH 远程机器上执行。代理只在自己的工作区里改代码,你可以并行派发任务、查看 diff、介入会话、运行检查、归档或合并,而不需要在一堆终端和分支之间来回切换。

Yoda 不绑定单一模型或厂商。Claude Code、Codex、OpenCode、Gemini、Amp、Cursor、Copilot 等编码代理 CLI 都可以在同一套编排模型下运行。Linear、GitHub、Jira 等任务也可以直接进入会话,CI/CD 状态会在侧边栏中展示,让“任务 -> 代理 -> 审查 -> 发布”的流程集中在一个桌面应用里。

亮点

  • 并行 worktree:每个任务运行在独立的 git worktree 中,多个代理可以同时工作,不会踩到主工作区。
  • 提供商无关:带上你已经在用的编码代理 CLI,按任务选择 Claude Code、Codex、OpenCode、Gemini、Amp、Cursor、Copilot、Cline、Goose、Kimi、Qwen 等。
  • SSH 远程开发:添加远程机器后,可以挂载远程项目,并用和本地一致的流程运行代理。
  • 从任务到会话:Linear、Jira、GitHub Issues、GitLab、Forgejo、Plain 的 ticket 可以直接作为新会话提示词。
  • CI/CD 可见:在 diff 旁边查看 GitHub Actions 和构建状态,必要时直接重新派发代理。
  • 审查与归档:把任务标记为待审查,执行归档前命令,然后归档或合并。
  • 内置 MCP:按项目配置 Model Context Protocol servers,供支持 MCP 的代理共享使用。
  • 本地优先:应用状态保存在本地 SQLite 数据库中。Yoda 自身不会上传你的代码。
  • 跨平台:提供 macOS Apple Silicon、macOS Intel、Windows 和 Linux 桌面安装包。

安装

安装包发布在 GitHub Releases,支持 macOS、Windows 和 Linux。

平台 下载
macOS Apple Silicon DMG · Intel DMG · Apple Silicon ZIP · Intel ZIP
Windows MSI 安装包 · EXE 安装包
Linux AppImage · Debian package · RPM package

Homebrew 提醒:brew install --cask yoda 当前会解析到一个无关且已禁用的 Homebrew cask。在 LovStudio 官方 cask 发布前,请使用上面的 GitHub Releases 安装包。

全部版本 · 更新日志

SSH 远程开发

Yoda 可以通过 SSH/SFTP 连接远程机器,让你在远程代码库上工作,同时保留本地应用里的任务、终端、diff 和归档流程。认证支持 SSH agent、私钥和密码,凭据存储在操作系统钥匙串中。

更多实现细节见 远程开发说明

提供商

编码代理

Yoda 的提供商系统是可扩展的。如果你使用的 CLI 还不在列表里,可以 提交 issue 或发 PR。

提供商 安装方式
Amp npm install -g @sourcegraph/amp@latest
Auggie npm install -g @augmentcode/auggie
Autohand Code npm install -g autohand-cli
Charm Crush npm install -g @charmland/crush
Claude Code curl -fsSL https://claude.ai/install.sh | bash
Cline npm install -g cline
Codebuff npm install -g codebuff
Codex npm install -g @openai/codex
Continue npm i -g @continuedev/cli
Cursor curl https://cursor.com/install -fsS | bash
Devin curl -fsSL https://cli.devin.ai/install.sh | bash
Droid (Factory) curl -fsSL https://app.factory.ai/cli | sh
Gemini npm install -g @google/gemini-cli
GitHub Copilot npm install -g @github/copilot
Goose curl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
Kilocode npm install -g @kilocode/cli
Kimi uv tool install kimi-cli
Kiro (AWS) curl -fsSL https://cli.kiro.dev/install | bash
Letta npm install -g @letta-ai/letta-code
Mistral Vibe curl -LsSf https://mistral.ai/vibe/install.sh | bash
OpenCode npm install -g opencode-ai
Pi npm install -g @mariozechner/pi-coding-agent
Qwen Code npm install -g @qwen-code/qwen-code
Rovo Dev acli rovodev auth login

任务系统

Yoda 可以把 ticket、issue 和支持线程直接交给编码代理。

工具 认证方式
Linear Linear API key
Jira Site URL + email + Atlassian API token
GitHub Issues OAuth,或 gh auth login
GitLab Issues GitLab URL + PAT with read_api
Forgejo Issues Forgejo URL + API token
Plain Threads Plain API key

架构

Yoda 是一个 Electron 桌面应用,主要分为三层:

  • Main process (src/main/):管理 SQLite 存储、Drizzle schema、PTY/session 编排、git worktree、SSH 隧道和 provider registry,并向 renderer 暴露类型化 RPC。
  • Renderer (src/renderer/):React + MobX UI,通过 React Query 读数据,通过 RPC 写数据,终端由 node-pty 和 xterm 前端协作呈现。
  • Shared (src/shared/):两端共享的类型、IPC contract 和编码代理 provider registry。

完整主题地图见 AGENTS.mdagents/

技术栈

  • 桌面框架:Electron、electron-vite、electron-builder
  • 前端:React、MobX、TanStack Query、Radix UI、xterm.js、Tailwind CSS
  • 主进程:TypeScript、Drizzle ORM、SQLite、node-pty、ssh2
  • 集成:GitHub、Linear、Jira、GitLab、Forgejo、Plain、MCP
  • 质量与发布:Vitest、ESLint、Prettier、Changesets、GitHub Actions

贡献

欢迎小而聚焦的 PR。开发环境、代码约定和新增 provider 的流程见 Contributing Guide。如果想讨论设计或 provider 需求,也可以加入 Discord

FAQ

Yoda 会收集哪些遥测数据?可以关闭吗?

Yoda 只发送匿名、白名单内的事件,例如应用启动/关闭、功能使用名称、应用版本和平台版本。 不会发送代码、文件路径、仓库名、提示词或个人身份信息。

关闭遥测:

  • 应用内:设置 -> 通用 -> 隐私与遥测,关闭开关
  • 或在启动前设置环境变量:TELEMETRY_ENABLED=false

事件白名单位于 src/shared/telemetry.ts

我的数据保存在哪里?

Yoda 是本地优先应用。应用状态保存在本地 SQLite 数据库:

macOS:   ~/Library/Application Support/yoda/yoda.db
Windows: %APPDATA%\yoda\yoda.db
Linux:   ~/.config/yoda/yoda.db

**隐私说明:**Yoda 自身把数据保存在本地。但当你使用 Claude Code、Codex、Qwen 等编码代理时,对应 CLI 可能会把代码和提示词发送到它自己的云服务。每个 provider 都有自己的数据处理和保留政策。

如需重置本地数据库,退出应用后删除该文件即可,下次启动会重新创建。

Yoda 如何隔离多个代理?

每个任务都会获得独立的 git worktree,位于 Yoda 管理的目录下,和你的主工作区分离。代理只会看到自己的 worktree 文件,因此多个任务可以同时修改代码而不互相覆盖。任务完成后,你可以选择合并、cherry-pick 或归档。

如何添加新的 provider?

Yoda 的 provider registry 设计为易扩展。

  • Contributing Guide 提交 PR。
  • PR 需要包含 provider 名称、CLI 调用方式、认证说明和最小设置步骤。
  • provider 信息位于 src/shared/agent-provider-registry.ts,输出分类器位于 src/main/core/conversations/impl/agent-event-classifiers/

如果不确定从哪里开始,可以先提交 issue,附上 CLI 链接和常用命令。

Yoda 需要哪些权限?
  • 文件系统 / Git:读取和写入你的仓库,并创建用于隔离的 git worktree。
  • 网络:供你选择的 provider CLI 使用,以及可选的 GitHub Actions 状态查询。
  • 本地数据库:在本机 SQLite 中保存应用状态。

Yoda 自身不会上传你的代码或会话。第三方 CLI 是否上传数据取决于各自的政策。

可以通过 SSH 处理远程项目吗?

可以。Yoda 支持 SSH 远程开发。

设置流程:

  1. 打开 设置 -> SSH 连接,添加服务器信息。
  2. 选择认证方式:SSH agent、私钥或密码。
  3. 添加远程项目,并填写服务器上的项目路径。

要求:

  • 能够 SSH 登录远程服务器
  • 远程服务器已安装 Git
  • 如果使用 SSH agent 认证,需要本地 agent 已加载密钥,可用 ssh-add -l 检查

参考 远程开发说明 获取更多细节。

Star History

Star History Chart

License

Apache-2.0 © General Action, Inc. See LICENSE.md.


Follow @lovstudio

About

Yoda — master agentic coding through precise parallel orchestration of multiple coding agents

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors