展示HN:Emdash – 开源的代理开发环境
Show HN: Emdash – Open-source agentic development environment

原始链接: https://github.com/generalaction/emdash

## Emdash:使用AI代理进行并行编码 Emdash 是一款工具,旨在通过并行运行多个 AI 编码代理来加速功能开发。它支持超过 21 个 CLI 代理(如 Claude Code、Qwen 和 Codex),并使用 Git 工作树来隔离工作。 主要功能包括:直接从 Linear、GitHub 或 Jira 分配任务;通过 SSH 实现无缝远程开发;以及采用与提供商无关的设计,方便集成新的代理。 Emdash 优先考虑数据隐私 – 应用程序数据存储在本地 SQLite 数据库中,遥测数据是可选的。但请记住,代码和提示*会*发送到所选 AI 提供商的服务器,并受其数据策略约束。 它需要标准的 文件系统/Git 权限以及所选代理的网络访问权限。GitHub CLI 仅用于特定的 GitHub 集成。欢迎贡献和新的提供商集成!

## Emdash:一种代理开发环境 Emdash 是一款新的开源桌面应用程序,旨在通过并行使用多个编码代理(如 Claude Code、Codex 和 Gemini)来简化开发工作流程。它由其创始人创建,以解决他们自身遇到的开发挑战,允许开发者在隔离的 git 工作树中运行代理,本地或通过 SSH 远程运行。 其核心思想是集中终端并加速任务启动——通过预分配工作树和直接生成 shell 来实现亚秒级的启动时间。它目前支持 21 个代理 CLI,优先考虑本地 CLI 访问以实现完整的功能和提供商无关性。 除了编排之外,Emdash 还集成了开发任务,例如查看差异、提交更改、打开 PR 以及管理来自 Linear、GitHub 和 Jira 等平台的问题。开发者正在寻求有关当前编码代理设置的反馈,特别是关于多代理工作流程和状态管理。 Emdash 适用于 macOS、Linux 和 Windows,可以通过 Homebrew 安装。该项目采用 MIT 许可,并托管在 GitHub 上:[https://github.com/generalaction/emdash](https://github.com/generalaction/emdash)。
相关文章

原文
Emdash banner

Run multiple coding agents in parallel

Emdash lets you develop and test multiple features with multiple agents in parallel. It’s provider-agnostic (supports 15+ CLI agents, such as Claude Code, Qwen Code, Amp, and Codex) and runs each agent in its own Git worktree to keep changes clean; Hand off Linear, GitHub, or Jira tickets to an agent and review diffs side-by-side.

Develop on remote servers via SSH

Connect to remote machines via SSH/SFTP to work with remote codebases. Emdash supports SSH agent and key authentication, with secure credential storage in your OS keychain. Run agents on remote projects using the same parallel workflow as local development. Learn more

Homebrew

macOS users can also: brew install --cask emdash

Latest Releases (macOS • Windows • Linux)

Emdash product

Providers banner

Emdash currently supports twenty-one CLI providers and we are adding new providers regularly. If you miss one, let us know or create a PR.

Emdash allows you to pass tickets straight from Linear, GitHub, or Jira to your coding agent.

Tool Status Authentication
Linear ✅ Supported Connect with a Linear API key.
Jira ✅ Supported Provide your site URL, email, and Atlassian API token.
GitHub Issues ✅ Supported Authenticate via GitHub CLI (gh auth login).

Contributions welcome! See the Contributing Guide to get started, and join our Discord to discuss.

What telemetry do you collect and can I disable it?

We send anonymous, allow‑listed events (app start/close, feature usage names, app/platform versions) to PostHog.
We do not send code, file paths, repo names, prompts, or PII.

Disable telemetry:

  • In the app: Settings → General → Privacy & Telemetry (toggle off)
  • Or via env var before launch:

Full details: see docs/telemetry.md.

Where is my data stored?

App data is local‑first. We store app state in a local SQLite database:

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

Privacy Note: While Emdash itself stores data locally, when you use any coding agent (Claude Code, Codex, Qwen, etc.), your code and prompts are sent to that provider's cloud API servers for processing. Each provider has their own data handling and retention policies.

You can reset the local DB by deleting it (quit the app first). The file is recreated on next launch.

Do I need GitHub CLI?

Only if you want GitHub features (open PRs from Emdash, fetch repo info, GitHub Issues integration).
Install & sign in:

If you don’t use GitHub features, you can skip installing gh.

How do I add a new provider?

Emdash is provider‑agnostic and built to add CLIs quickly.

  • Open a PR following the Contributing Guide (CONTRIBUTING.md).
  • Include: provider name, how it’s invoked (CLI command), auth notes, and minimal setup steps.
  • We’ll add it to the Integrations matrix and wire up provider selection in the UI.

If you’re unsure where to start, open an issue with the CLI’s link and typical commands.

I hit a native‑module crash (sqlite3 / node‑pty / keytar). What’s the fast fix?

This usually happens after switching Node/Electron versions.

  1. Rebuild native modules:
  1. If that fails, clean and reinstall:

(Resets node_modules, reinstalls, and re‑builds Electron native deps.)

What permissions does Emdash need?
  • Filesystem/Git: to read/write your repo and create Git worktrees for isolation.
  • Network: only for provider CLIs you choose to use (e.g., Codex, Claude) and optional GitHub actions.
  • Local DB: to store your app state in SQLite on your machine.

Emdash itself does not send your code or chats to any servers. Third‑party CLIs may transmit data per their policies.

Can I work with remote projects over SSH?

Yes! Emdash supports remote development via SSH.

Setup:

  1. Go to Settings → SSH Connections and add your server details
  2. Choose authentication: SSH agent (recommended), private key, or password
  3. Add a remote project and specify the path on the server

Requirements:

  • SSH access to the remote server
  • Git installed on the remote server
  • For agent auth: SSH agent running with your key loaded (ssh-add -l)

See docs/ssh-setup.md for detailed setup instructions and docs/ssh-architecture.md for technical details.

Follow @rabanspiegel Follow @arnestrickmann

联系我们 contact @ memedata.com