← all repositories
proma-ai/Proma

A desktop AI that actually touches your files

Proma wraps Claude Agent SDK into an Electron app that can chat, plan, and modify local files—then bridges it to Feishu or WeChat so your coworkers can trigger it too.

Proma
Velocity · 7d
+9.6
★ / day
Trend
steady
star history

What it does

Proma is a local-first Electron desktop app that combines multi-model chat with a general-purpose Agent mode. Chat handles quick questions and comparisons across models; Agent mode uses the Claude Agent SDK to read, write, and organize files inside isolated workspaces. Everything—conversations, workspaces, skills, attachments—lives in ~/.proma/ as plain JSON and JSONL, with API keys encrypted via Electron’s safeStorage.

The interesting bit

The bridge to group-chat apps is the unusual part. Proma runs a local Feishu/Lark bot (with hooks for DingTalk and WeChat) so colleagues can ping an Agent that executes on your machine. The Agent also supports MCP servers and per-workspace Skills, meaning the same bot can wear different tool belts for different projects.

Key highlights

  • Dual modes: Chat for answers, Agent for file operations and multi-step tasks with permission prompts.
  • SubAgent decomposition: Complex tasks spawn child agents; the UI streams their calls and results.
  • MCP + Skills: Each workspace configures its own MCP servers and reusable skill definitions.
  • Remote triggers: Feishu bot is functional; DingTalk and WeChat bridges are stubbed in the codebase.
  • Voice input: Global hotkey (Ctrl + `) pipes streaming speech-to-text into Proma or the active cursor.
  • Wide model support: Chat works with OpenAI, Anthropic, Google, and compatible endpoints; Agent requires Anthropic protocol or compatible proxies (DeepSeek, Kimi, Zhipu, MiniMax, Doubao, Qwen).
  • Bun monorepo: Shared packages for types, provider adapters, and UI components; Electron 39 + Vite + esbuild.

Caveats

  • Agent mode does not support OpenAI or Google models yet; you need an Anthropic-compatible endpoint.
  • The Feishu bridge is implemented, but DingTalk and WeChat bridges appear to be entry points only—check before relying on them.
  • Native SDK binaries complicate cross-platform builds; the README warns that packaging the Claude Agent SDK requires careful external and optionalDependencies handling.

Verdict

Worth a look if you want a single desktop client that can both chat casually and run file-modifying agents, especially if your team lives in Feishu. Skip it if you need Agent mode with OpenAI models today, or if you dislike configuring API base URLs and shell environments by hand.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.