Async

x-man-gitApache-2.0更新放缓

一款原生体验的 AI 编程桌面工作台,把对话、任务规划、Agent 执行和项目导航整合到同一个界面里,可以当作 Cursor 的替代品。

IDE, A native-feeling AI coding workspace that blends chat, planning, agent execution, and project navigation into a unified desktop experience.

v0.0.45发布于 2026-05-19 02:55 UTC476star77fork同步于 2026-11-07 07:32 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/ZYKJShadow/Async.git
cd Async
npm install
npm run desktop
硬件要求按 README 说明

README 未说明硬件要求,仅列出 Node.js >= 18、npm >= 9、Git 作为前置条件

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 Electron 的开源 AI 原生桌面 IDE,把 Agent、编辑器、Git 和终端整合到一个工作区

一款原生体验的 AI 编程桌面工作台,把对话、任务规划、Agent 执行和项目导航整合到同一个界面里,可以当作 Cursor 的替代品。

核心能力

  • Agent 循环按 Think→Plan→Execute→Observe 执行,工具参数以流式卡片展示
  • 提供 Agent、Plan、Ask、Debug 四种 Composer 模式,敏感操作需审批
  • Team 模式支持 Lead 规划、专家执行、Reviewer 验证的多智能体协作
  • 支持 Anthropic、OpenAI、Gemini 及 Ollama、vLLM 等 OpenAI 兼容端点
  • 内置 Git 状态、diff、暂存、提交、推送与 xterm.js 终端

容易踩的坑

需要自行准备模型 API Key(BYOK),README 未提供内置模型;IM 机器人集成需在 Settings → Bots 中单独配置各平台凭据;README 未说明默认端口等运行参数

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.0.45
  1. v0.0.45最新正式版2026-05-19 · 2026-05-19 02:55 UTC

    What's Changed

    Full Changelog: https://github.com/ZYKJShadow/Async/compare/v0.0.44...v0.0.45

  2. v0.0.442026-05-01 · 2026-05-01 10:29 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/ZYKJShadow/Async/compare/v0.0.43...v0.0.44

  3. v0.0.432026-05-01 · 2026-05-01 02:53 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/ZYKJShadow/Async/compare/v0.0.42...v0.0.43

  4. v0.0.422026-04-28 · 2026-04-28 15:53 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/ZYKJShadow/Async/compare/v0.0.41...v0.0.42

  5. v0.0.412026-04-28 · 2026-04-28 09:00 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/ZYKJShadow/Async/compare/v0.0.40...v0.0.41

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Async IDE


    What is Async IDE?

    Async IDE is an AI-native desktop shell built from scratch on Electron + React + Monaco. It is not a VS Code fork — the entire codebase is intentionally lean, fully transparent, and hackable.

    The central idea is simple: the agent is the center of gravity, not a chat panel bolted onto the side of an editor. Everything — workspace access, tool execution, diff review, terminal operations — revolves around a transparent Think → Plan → Execute → Observe loop that you can see, steer, and interrupt at any time.

    • Apache 2.0 • BYOK for models • Local-first by default

    Highlights

    • Agent-first loop — Autonomous multi-round tool execution with streaming parameter cards (Read, Write, Edit, Glob, Grep, Shell, etc.) and approval gates for sensitive operations.
    • Four Composer modes — Agent (full auto), Plan (review first, then run), Ask (read-only Q&A), and Debug (systematic troubleshooting).
    • Team mode — Multi-agent collaboration with Lead planning, specialist execution, reviewer verification, and plan-approval workflows.
    • Multi-model, multi-provider — Anthropic, OpenAI, Gemini, plus any OpenAI-compatible endpoint (Ollama, vLLM, self-hosted). Auto model selection included.
    • Git-native — Status, diff, staging, commit, and push integrated into the UI; agent-driven changes stay in sync with your real repo.
    • IM bot bridge — Wire Telegram, Slack, Discord, and Feishu (Lark) into the same Agent / Team toolchain as the desktop app, with per-integration model, workspace, and allowlist config.
    • Built-in tools — Browser automation (with custom headers / fingerprint), LSP-powered editor intelligence, MCP server support, file index & symbol search, and an all-in-one terminal shared between user and agent.
    • Local & private — Threads, settings, and plans live on your machine. No cloud lock-in.

    Screenshots

    Agent Layout

    Model Settings

    Appearance Color Palette

    Mac Codex Theme

    Browser Tool Invocation (customizable request headers)

    Multi-Agent Collaborative Expert Group

    Control the App via External Chat Bots

    All-in-One Terminal (commands invokable by Agents and bots)


    Core Features

    Autonomous Agent Loop

    • Streaming tool parameters with trajectory cards for clear execution visibility.
    • Plan and Agent dual modes: review the plan first, or let the agent run directly.
    • Approval gates for shell commands and file writes.
    • Editor context sync so agent edits can focus on the relevant file and line range.
    • Support for nested sub-agents, background execution, and timeline-style activity rendering.

    Multi-Model Support

    • Built-in adapters for Anthropic, OpenAI, and Gemini.
    • Support for OpenAI-compatible endpoints like Ollama, vLLM, aggregators, or self-hosted services.
    • Streaming thinking blocks on supported models.
    • Auto mode to automatically pick the best available model.

    Developer Experience

    • Monaco editor with multi-tab support, syntax highlighting, and diff review flows.
    • Git integration: status, diff, staging, commit, and push all available from the UI.
    • xterm.js terminal: for both user commands and observing agent shell operations.
    • Composer with @ file mentions, rich segments, and persistent threads.
    • Quick Open palette (Ctrl/Cmd+P) and keyboard-first navigation.
    • Built-in i18n support for English and Simplified Chinese.
    • Support for local disk skills, workspace config merge, and tool approval controls.

    IM / Bot Integrations

    Async can act as the host for coding agents on external chat surfaces, not only inside the Electron UI.

    • Platforms — Telegram, Slack, Discord, and Feishu (Lark) via dedicated adapters under main-src/bots/platforms/.
    • Same runtime — Inbound messages run through botRuntime: normal threads use agentLoop, while Team mode uses the same teamOrchestrator path as the desktop Composer, including worker streaming and tool status where applicable.
    • Per integration — Enable/disable, display name, default model, default Composer mode (agent / ask / plan / team), workspace root(s), optional allowlists for chats and users, and an extra system prompt on top of project rules.
    • Connectivity — Optional HTTP proxy URL per platform when vendor APIs must go through a corporate proxy.
    • Feishu — App credentials, optional encryption, streaming interactive cards for long-running replies, and session hygiene when integration settings change.
    • Configuration UI — Managed from Settings → Bots (SettingsBotsPanel.tsx).

    For a deeper module-level walkthrough, see the maintainer-oriented notes under docs/llm-wiki/.


    Technical Architecture

    ┌─────────────────────────────────────────────────────────┐
    │                    Renderer Process                    │
    │  React + Vite  │  Monaco Editor  │  xterm.js Terminal  │
    │  Composer / Chat / Plan / Agent UI                     │
    └──────────────────────────┬──────────────────────────────┘
                               │  contextBridge (IPC)
    ┌──────────────────────────▼──────────────────────────────┐
    │                      Main Process                      │
    │  agentLoop.ts  │  toolExecutor.ts  │  LLM Adapters     │
    │  gitService    │  threadStore      │  settingsStore    │
    │  workspace     │  LSP session      │  PTY terminal     │
    └─────────────────────────────────────────────────────────┘
    

    Tech Stack

    TechnologyVersionPurpose
    React^19.2.4UI framework
    Electron41.1.0Desktop app shell
    Vite^6.0.3Build tool & dev server
    TypeScript^5.9.3Type-safe development
    Monaco Editor^0.52.0Code editor component
    xterm.js^5.5.0Terminal emulator
    OpenAI SDK^4.96.0OpenAI API client
    Anthropic SDK^0.39.0Claude API client
    Google Generative AI^0.21.0Gemini API client
    MCP SDK^1.29.0Model Context Protocol
    node-pty^1.1.0PTY terminal support
    • Built from scratch on Electron + React + Monaco — not a VS Code fork. The architecture is intentionally lean: two processes (main + renderer), clear IPC boundaries, and no inherited extension ecosystem to maintain.
    • agentLoop.ts handles multi-round tool calls, partial JSON streaming, tool repair, and aborts.
    • Structured assistant messages are persisted locally and expanded to provider-native tool formats when needed.
    • Local persistence stores threads, settings, and plans as JSON / Markdown under user data.
    • gitService provides the Git layer used by the UI for status, diff, staging, commit, and push.
    • LSP integration uses TypeScript Language Server for in-editor intelligence.

    Project Structure

    Async/
    ├── main-src/                  # Bundled -> electron/main.bundle.cjs (Node / Electron main)
    │   ├── index.ts               # App entry: windows, userData, IPC registration
    │   ├── agent/                 # agentLoop.ts, toolExecutor.ts, agentTools.ts, toolApprovalGate.ts
    │   ├── llm/                   # OpenAI / Anthropic / Gemini adapters & streaming
    │   ├── lsp/                   # TypeScript LSP session
    │   ├── mcp/                   # Model Context Protocol integration
    │   ├── memdir/                # Memory directory management
    │   ├── bots/                  # IM bot controller, runtime, connectivity, platform adapters
    │   ├── ipc/register.ts        # Core IPC handlers (chat, threads, agent, plan)
    │   ├── ipc/handlers/          # Domain-specific IPC handlers (git, fs, mcp, settings, ...)
    │   ├── shell/                 # Shell command execution
    │   ├── threadStore.ts         # Persistent threads + messages (JSON)
    │   ├── settingsStore.ts       # settings.json
    │   ├── gitService.ts          # Porcelain status, diff previews, commit/push
    │   ├── workspace.ts           # Open-folder root & safe path resolution
    │   ├── workspaceFileIndex.ts  # File indexing for workspace
    │   ├── workspaceSymbolIndex.ts    # Symbol indexing
    │   └── workspaceUsageStats.ts     # Workspace usage statistics
    ├── src/                       # Vite + React renderer
    │   ├── App.tsx                # Shell layout, chat, composer modes, Git / explorer
    │   ├── AgentChatPanel.tsx     # Agent chat interface
    │   ├── AgentLeftSidebar.tsx   # Agent activity sidebar
    │   ├── AgentRightSidebar.tsx  # Agent tools and results
    │   ├── ChatComposer.tsx       # Message composer component
    │   ├── EditorMainPanel.tsx    # Monaco editor panel
    │   ├── SettingsPage.tsx       # Settings UI
    │   ├── SettingsBotsPanel.tsx  # IM bot integrations (Telegram / Slack / Discord / Feishu)
    │   ├── WorkspaceExplorer.tsx  # File explorer
    │   ├── hooks/                 # Custom React hooks
    │   ├── i18n/                  # Locale messages (en / zh-CN)
    │   └── ...                    # Agent UI, Plan review, Monaco, terminal, ...
    ├── electron/
    │   ├── main.bundle.cjs        # esbuild output (do not edit by hand)
    │   └── preload.cjs            # contextBridge -> window.asyncShell
    ├── docs/assets/               # Logo, screenshots
    ├── scripts/
    │   └── export-app-icon.mjs    # Rasterize SVG -> resources/icons/icon.png
    ├── esbuild.main.mjs           # Builds main process
    ├── vite.config.ts             # Renderer build
    └── package.json
    

    Data Storage

    Default location under Electron's userData directory:

    • async/threads.json: threads and chat messages.
    • async/settings.json: model configuration, API keys, layout, agent options, and bot integrations.
    • .async/plans/: Markdown plan documents generated in Plan mode.

    The renderer may use localStorage for lightweight UI state, but the authoritative data source for conversations is threads.json.


    Getting Started

    Prerequisites

    • Node.js >= 18
    • npm >= 9
    • Git (recommended)

    Install and Run

    git clone https://github.com/ZYKJShadow/Async.git
    cd Async
    npm install
    npm run desktop
    

    If you prefer Gitee:

    git clone https://gitee.com/shadowsocks_z/Async.git
    cd Async
    npm install
    npm run desktop
    

    Development

    npm run dev          # Dev server with hot reload
    npm run dev:debug    # Same, with DevTools open
    npm run icons        # Generate app icons from SVG
    

    Acknowledgements

    We are grateful to the open-source community and projects like Claude Code that helped demonstrate the power of agent-driven development — Async IDE builds on that momentum with its own take on transparent, local-first AI workflows.


    Community

    Have questions, ideas, or just want to chat with a community of developers?

    • Forum: linux.do — Join the discussion, share your setup, report issues, and stick around.

    License

    This project is open-sourced under the Apache License 2.0.