Zurück zum Ranking

proma-ai/Proma

TypeScriptproma.cool/download

Proma brings a seamless general-purpose Agent experience to your workflow. Built for 100× professionals and the proactive Agent era, it supports Claude and Pi runtimes, Feishu group chats, and any LLM provider.

agentagent-sdkagentschatbotchatgptclaudegeminillm
Sterne-Wachstum
Sterne
1.6k
Forks
201
Wochenwachstum
Issues
95
5001k1.5k
Jan. 26März 26Mai 26Juli 26
Artefaktenpmnpm install proma
README

Proma

Proma 是一个本地优先的 AI 桌面应用,把多模型 Chat、通用 Agent、工作区、Skills、MCP、远程机器人和记忆能力放在同一个开源客户端里。

它不是只面向闲聊的聊天框,而是一个可以长期沉淀个人工作流的 Agent 工作台:简单问题用 Chat,复杂任务交给 Agent,数据和配置尽量留在本地。

Proma 海报

English README | 新手教程 | 下载开源版 | 下载商业版

最新思考 | 2026 Q2–Q3勇敢地解决真实的问题 — Proactive · 个人注意力 · 团队协作 | 往期思考:2026 Q1

现在能做什么

  • Chat 模式:多模型对话、附件解析、图片输入、Markdown / Mermaid / KaTeX / 代码高亮、并排对话、系统提示词、上下文管理。
  • Agent 模式:内置 Claude Agent SDK 与 Pi Agent SDK 两套运行时;支持工作区隔离、权限模式、文件操作、长任务流式输出、计划确认和用户追问。Claude 是默认内核,Pi 可在实验性设置中开启。
  • 协作与任务:复杂任务可拆分为可追踪的协作子 Agent / Task,并在消息流中展示调用过程和结果。
  • Skills & MCP:每个工作区可以独立配置 Skills、MCP Server 和工作区文件,适合沉淀可复用能力。
  • 远程机器人:支持飞书 / Lark 机器人桥接,并已提供钉钉、微信桥接入口,用手机或群聊触发本机 Agent 工作流。
  • 记忆与工具:Chat 和 Agent 可共享记忆能力,并支持联网搜索、内置 Chat 工具、Agent 推荐等辅助能力。
  • 本地优先:会话、工作区、附件、配置、Skills 等默认存储在 ~/.proma/,使用 JSON / JSONL 文件组织,不依赖本地数据库。
  • 桌面体验:自动更新、代理设置、文件预览、全局快捷键、快速任务窗口、语音输入、亮色 / 暗色 / 跟随系统主题。

快速开始

下载安装

GitHub Releases 下载开源版本,提供 macOS Apple Silicon、macOS Intel 和 Windows 安装包。

如果你希望开箱即用、减少 API 配置成本,也可以使用 Proma 商业版。商业版和开源版并行运行,主要区别是商业版提供内置渠道和订阅方案。

首次配置

  1. 打开 Proma,先完成环境检查。Agent 模式依赖本机基础环境,尤其是 Git、Node.js / Bun 以及可用的 Shell。
  2. 进入 设置 > 渠道,添加至少一个 AI 供应商渠道,填写 Base URL、API Key 和模型列表。
  3. Chat 模式可以使用 OpenAI、Anthropic、Google 或 OpenAI 兼容协议的渠道。
  4. 默认的 Claude Agent Runtime 需要 Anthropic 或 Anthropic 兼容协议渠道,例如 Anthropic、DeepSeek、Kimi API、Kimi Coding Plan。
  5. Agent 输入框下方可直接切换 Claude / Pi 内核;Pi 可使用任意已启用的模型渠道。
  6. 进入 设置 > Agent,选择默认 Agent 渠道、模型和工作区。
  7. 如需记忆、联网搜索、飞书 / 钉钉 / 微信桥接,在设置页对应 Tab 中继续配置。

模式选择

Chat 适合

  • 日常问答、解释、翻译、润色、轻量代码讨论。
  • 读取附件内容后做总结、改写、比较。
  • 使用联网搜索或记忆工具增强一次性对话。
  • 同时对比多个模型输出,或用不同系统提示词做探索。

Agent 适合

  • 修改、创建、整理本地文件。
  • 调研、编写报告、处理多步骤任务。
  • 使用 MCP、Skills、Shell、Git、项目文件等外部上下文。
  • 需要权限确认、计划模式、后台任务或远程机器人持续跟进的工作。

简单说:只需要回答时用 Chat,需要行动和交付结果时用 Agent。

截图

Chat 快速分析

用 Chat 处理轻量但真实的分析任务:整理读者关注点、生成对比表,并把首屏文案快速定稿。

Proma Chat 快速分析

Agent 工作台

Agent 在工作区里读取文件、推进任务、输出表格化结论,并把可复用文件保留在右侧工作区面板中。

Proma Agent 工作台

Skills

每个工作区都可以沉淀专属 Skills。截图中的 feedback-synthesis 用于把用户反馈、访谈记录和 issue 聚合成主题、证据与优先级建议。

Proma 工作区 Skills

Skills & MCP

同一个工作区可以管理 stdio / HTTP MCP Server,按需启用或关闭,让 Agent 在不同项目里获得不同的外部上下文。

Proma MCP 配置

流式语音输入(支持全局输入)

Proma 支持豆包的流式语音输入功能,并且支持在 Proma 内使用和 Proma 外部使用:

  • Proma 内部使用:Ctrl + ` 触发识别,再次按下结束自动输入到 Proma 内对应的输入框
  • Proma 外部使用:Ctrl + ` 触发识别,再次按下结束自动输入到当前的光标所在处,如无光标则默认写入到剪贴板

Proma 语音输入

Agent 运行时与模型渠道

Proma 的 Agent 模式提供两套可切换的内核:

  • Claude Agent Runtime(默认):基于 @anthropic-ai/claude-agent-sdk,使用 Anthropic Messages API 或兼容端点。
  • Pi Agent Runtime:基于 @earendil-works/pi-coding-agentpi-agent-corepi-ai,将 Proma 的已启用渠道动态注册为 Pi provider;支持 OpenAI Chat Completions / Responses、Google Generative AI、Anthropic Messages 及其兼容端点。
渠道类型 Chat Claude Agent Pi Agent
Anthropic / Anthropic 兼容 支持 支持 支持
DeepSeek、Kimi API / Coding Plan、智谱 Coding Plan、MiniMax、小米 MiMo 等 Anthropic 协议渠道 支持 支持 支持
OpenAI、OpenAI Responses、Google、智谱 AI、豆包、通义千问 支持 暂不支持 支持
OpenAI 兼容自定义端点 支持 暂不支持 支持
ChatGPT 订阅(Codex OAuth) 支持 支持

Pi Runtime 可在每个 Agent 会话的输入框下方直接切换;切换会开启新的底层 SDK 会话,但不会删除 Proma 中已保存的消息。Pi 会桥接工作区 Skills、用户 MCP Server,以及 Proma 内置的 Automation / Collaboration 工具;不同模型供应商对工具调用、推理和上下文长度的支持仍可能不同。

Kimi Coding Plan 用户须知:Proma 已获得 Kimi 官方白名单支持,使用 Proma 连接 Kimi Coding Plan 不会触发第三方客户端封号策略,可放心使用。

本地数据

Proma 采用本地文件存储,方便备份、迁移和排查问题。

~/.proma/
├── channels.json
├── conversations.json
├── conversations/
│   └── {conversation-id}.jsonl
├── agent-sessions.json
├── agent-sessions/
│   └── {session-id}.jsonl
├── agent-workspaces/
│   └── {workspace-slug}/
│       ├── workspace-files/
│       ├── mcp.json
│       └── skills/
├── attachments/
├── user-profile.json
├── settings.json
└── sdk-config/

API Key 会通过 Electron safeStorage 加密后写入 channels.json。Proma 不使用本地数据库,核心数据结构以 JSON 配置和 JSONL 追加日志为主。

开发

Proma 是 Bun workspace monorepo。

proma-v2/
├── packages/
│   ├── shared/     # 共享类型、IPC 常量、配置、工具函数
│   ├── core/       # Provider Adapter、SSE、代码高亮
│   └── ui/         # 共享 React UI 组件
└── apps/
    └── electron/   # Electron 桌面应用

当前主要包版本:

版本 职责
@proma/electron 0.15.0 Electron 桌面应用
@proma/shared 0.1.42 共享类型、IPC 常量、配置和工具
@proma/core 0.2.15 Provider Adapter、SSE、Shiki 高亮
@proma/ui 0.1.9 共享 React UI 组件

常用命令:

# 安装依赖
bun install

# 开发模式:自动启动 Vite + Electron + 热重载
bun run dev

# 构建 Electron 应用
bun run electron:build

# 构建并运行
bun run electron:start

# 类型检查
bun run typecheck

# 测试
bun test

Electron 子应用内也提供更细的脚本:

cd apps/electron

bun run dev:vite
bun run dev:electron
bun run build:main
bun run build:preload
bun run build:renderer
bun run dist:fast

技术栈

层级 技术
运行时 Bun
桌面框架 Electron 39
前端 React 18 + TypeScript
状态管理 Jotai
样式 Tailwind CSS + Radix UI
富文本输入 TipTap
Markdown / 图表 / 公式 React Markdown + Beautiful Mermaid + KaTeX
代码高亮 Shiki
构建 Vite + esbuild
分发 electron-builder
Agent Runtime Claude: @anthropic-ai/claude-agent-sdk@0.3.201;Pi: @earendil-works/pi-* @0.80.3

架构概览

Proma 的核心通信路径是:

shared 类型和 IPC 常量
  -> main/ipc.ts 注册处理器
  -> preload/index.ts 暴露 window.electronAPI
  -> renderer Jotai atoms 和 React 组件调用

主进程服务集中在 apps/electron/src/main/lib/

  • agent-orchestrator.ts:Agent 编排、运行时路由、环境变量、SDK 调用、事件流、错误处理。
  • adapters/claude-agent-adapter.ts / adapters/pi-agent-adapter.ts:Claude 与 Pi 运行时适配;runtime-routing-agent-adapter.ts 依据会话内核路由。
  • agent-session-manager.ts:Agent 会话索引和 JSONL 消息持久化。
  • agent-workspace-manager.ts:工作区、MCP、Skills 和工作区文件管理。
  • chat-service.ts:Chat 流式调用、Provider Adapter、工具活动。
  • conversation-manager.ts:Chat 会话索引和消息存储。
  • channel-manager.ts:渠道 CRUD、API Key 加密、连接测试、模型获取。
  • feishu-bridge.ts / dingtalk-bridge.ts / wechat-bridge.ts:远程机器人桥接。
  • chat-tool-*document-parser.tsworkspace-watcher.ts:工具、文档解析和文件监听。

渲染进程以 Jotai 管理状态,关键 atoms 位于 apps/electron/src/renderer/atoms/。Agent IPC 监听器在应用顶层全局挂载,避免切换页面时丢失流式事件、权限请求或后台任务状态。

打包注意事项

Claude 与 Pi 运行时都在主进程中作为 esbuild external 依赖运行。apps/electron 的打包脚本会在 electron-builder 前执行 bun run sync:runtime-deps,把下列依赖及其运行时闭包复制到应用目录:

  • @anthropic-ai/claude-agent-sdk(包含按平台分发的 Claude native binary)
  • @earendil-works/pi-coding-agentpi-agent-corepi-ai
  • Pi 运行时所需的原生模块和 pdfjs-dist

修改打包配置时,请确认:

  • build:main / watch:main 仍将两套 Agent SDK 标记为 external。
  • scripts/sync-runtime-deps.ts 的 external runtime 清单与实际依赖一致。
  • electron-builder.yml 保留 Claude binary 与 Pi native addon 的 asarUnpack 规则。
  • 在目标平台测试 bun run dist:fast 后,分别验证 Claude 与 Pi(若已启用)可以启动、调用工具和恢复会话。

更完整的工程约定见 AGENTS.md

贡献

欢迎修 Bug、补文档、加测试、完善体验,也欢迎围绕真实场景提交新的 Skills、MCP 配置或 Agent 工作流。

提交 PR 前建议先确认:

  • 使用 Bun 运行脚本,不混用 npm / pnpm lockfile。
  • 状态管理使用 Jotai。
  • 尽量保持本地优先,优先使用配置文件和 JSON / JSONL。
  • TypeScript 不使用 any,对象结构优先使用 interface
  • 新增 IPC 时同步修改 shared 类型、main handler、preload bridge 和 renderer 调用。
  • 影响包行为时递增对应 package 的 patch 版本。
  • 能用测试覆盖的行为尽量补上测试,尤其是共享逻辑、IPC 契约和持久化格式。

作者

Star History

Star History Chart

致谢

许可证

Proma 社区版采用 GNU Affero General Public License v3.0(AGPL-3.0) 开源,完整条款见根目录 LICENSE 文件。

个人 / 非商业使用:自由使用、修改、分发,仅需遵守 AGPL-3.0 条款。

商业使用:在完全遵守 AGPL-3.0 条款的前提下允许进行商业使用,包括但不限于:以源代码或修改后的形式分发软件、通过网络对外提供服务时必须公开完整修改源码(含网络交互层)、衍生作品须以 AGPL-3.0 继续授权。

商业授权(豁免 AGPL-3.0 义务):如果你希望将 Proma 集成到闭源产品、对外提供 SaaS 服务但不想公开衍生代码,或有其他无法满足 AGPL-3.0 条款的商业场景,请通过邮件联系获取商业许可:erlichliu@gmail.com

向本项目提交 Pull Request 即视为同意将贡献以 AGPL-3.0 及未来商业许可形式授权给项目维护者。

Ähnliche Repositories
Snailclimb/JavaGuide

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

JavaScriptnpmApache License 2.0javainterview
javaguide.cn
157.2k46.2k
langgenius/dify

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.

TypeScriptnpmOtheraigpt
dify.ai
149.7k23.6k
TauricResearch/TradingAgents

TradingAgents: Multi-Agents LLM Financial Trading Framework

PythonPyPIApache License 2.0agentfinance
arxiv.org/pdf/2412.20138
94k18.2k
OpenHands/OpenHands

🙌 OpenHands: AI-Driven Development

PythonPyPIOtheragentartificial-intelligence
openhands.dev
81.6k10.4k
lobehub/lobehub

🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.

TypeScriptnpmOtherchatgptopenai
lobehub.com
80.6k15.7k
bytedance/deer-flow

An open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of tasks that could take minutes to hours.

PythonPyPIMIT Licenseagentagentic
deerflow.tech
77.6k10.6k
dair-ai/Prompt-Engineering-Guide

🐙 Guides, papers, lessons, notebooks and resources for prompt engineering, context engineering, RAG, and AI Agents.

MDXMIT Licensedeep-learningprompt-engineering
promptingguide.ai
76.8k8.4k
hiyouga/LlamaFactory

Unified Efficient Fine-Tuning of 100+ LLMs & VLMs (ACL 2024)

PythonPyPIApache License 2.0fine-tuningllama
llamafactory.readthedocs.io
73.4k9k
shareAI-lab/learn-claude-code

Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1

PythonPyPIMIT Licenseagentclaude-code
learn.shareai.run
71.9k11.7k
FoundationAgents/MetaGPT

🌟 The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming

PythonPyPIMIT Licenseagentgpt
atoms.dev
69.5k8.9k
unslothai/unsloth

Unsloth is a local UI for training and running Gemma 4, Qwen3.6, DeepSeek, Kimi, GLM and other models.

PythonPyPIApache License 2.0fine-tuningllama
unsloth.ai/docs
68.7k6.2k
datawhalechina/hello-agents

📚 《从零开始构建智能体》——从零开始的智能体原理与实践教程

PythonPyPIOtheragenttutorial
hello-agents.datawhale.cc
67.8k8.4k