ysansan98/ant-chat
ysansan98/ant-chat has 48 GitHub stars and 14 forks. Star changes are not measured yet. Last checked 2026-11-12 12:07 UTC. Last push 2026-11-12.
基于electron 和 ant-design-x 的 AI 对话客户端
Crecimiento de estrellas medido
- in 24h
- Actualización retrasada
- in 7 days
- Actualización retrasada
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
OriginalAnt Chat 是什么
Ant Chat 不是只调用模型的聊天壳。它把对话、工作区、文件工具、命令执行、MCP 服务、技能和记忆放在同一个本地运行时里,让 AI 可以围绕一个真实项目持续工作。
项目采用 TypeScript Monorepo:
- 桌面端使用 Electron,适合直接访问本机文件、命令和系统能力。
- Web 端运行在浏览器里,通过本地服务访问同一套运行时和数据。
- 核心能力沉在 packages 中,桌面端和 Web 端共享应用运行时、Agent Runtime、数据层和 UI 组件。
当前版本仍处于 alpha 阶段,适合本地使用、开发验证和功能迭代。
核心能力
- 多模型接入:支持 OpenAI、Anthropic Claude、Google Gemini、DeepSeek,以及兼容 OpenAI API 格式的自定义服务商。
- 工作区对话:对话归属到工作区,可切换工作区、搜索文件、引用上下文并管理历史会话。
- Agent 工具:内置文件读取、目录浏览、glob、grep、文件写入、精确编辑、Shell 命令和可选浏览器工具。
- 权限策略:提供 strict、hybrid、full_managed 三种模式;文件和命令操作会按工作区范围与策略决定是否审批。
- MCP 扩展:支持配置、连接、断开 MCP Server,并暴露可用工具给 Agent 使用。
- 技能系统:支持安装、启用、禁用、删除技能,并可重建技能索引。
- 记忆系统:管理 SOUL、USER、MEMORY 等记忆文件,支持回滚身份记忆。
- npm 产品包:
ant-chat同时提供 Agent Runtime、Web UI、RPC API、SSE 和控制 CLI。
运行方式
| 方式 | 入口 | 适合场景 |
|---|---|---|
| 桌面端 | pnpm dev / Releases 安装包 |
日常使用、本机项目协作、需要 Electron 能力 |
| Web 开发 | pnpm dev:web |
调试浏览器端 UI 和本地服务集成 |
| npm 产品包 | npx ant-chat |
启动本地 Agent Runtime、Web UI、RPC、SSE 和控制 CLI |
Web 端必须搭配本地服务运行。服务默认监听 http://127.0.0.1:3456,数据保存在 ~/.ant-chat。
npx ant-chat
ant-chat start --port 8080
ant-chat --host --port 8080
ant-chat settings show --json
ant-chat settings、provider、mcp 和 automation 只连接已有 Runtime,不会隐式启动第二个服务。
--data-dir 可以覆盖默认的 ~/.ant-chat,也可以使用 ANT_CHAT_DATA_ROOT。同一数据目录只允许一个 Runtime 实例。
开发环境默认与生产隔离:pnpm dev / pnpm dev:web 会自动设置 ANT_CHAT_ENV=development,
数据目录使用 ~/.ant-chat-dev,Keychain service 使用 ant-chat-dev,与生产的 ~/.ant-chat 和 ant-chat 互不共享。
这样避免 dev(无签名 Electron 二进制)与 prod(打包签名应用)这两个签名不同的可执行文件
读写同一批 Keychain 条目时,反复触发 macOS 钥匙串授权弹窗。CLI 需要开发隔离时可手动设置 ANT_CHAT_ENV=development。
--host 会监听 0.0.0.0。当前 HTTP Web UI、RPC 和 SSE 没有鉴权,只能用于可信局域网或受控网络,禁止直接暴露到公网。
快速开始
环境要求:
- Node.js 22+
- pnpm 11+
- Python 3.x,用于编译
better-sqlite3等原生依赖
git clone https://github.com/ysansan98/ant-chat.git
cd ant-chat
pnpm install
启动桌面端:
pnpm dev
启动 Web 端和本地服务:
pnpm dev:web
启动后,在应用设置中添加服务商、API Key 和模型,再选择工作区开始对话。
开发
常用命令:
pnpm dev # 启动 Electron 桌面端
pnpm dev:web # 启动 Web 端和本地服务
pnpm type-check # TypeScript 项目检查
pnpm lint # ESLint 检查
pnpm test:unit # Vitest 单元测试
pnpm check # type-check + lint + test:unit
pnpm build # 构建 packages 和桌面端
pnpm build:mac # 打包 macOS 应用
pnpm build:win # 打包 Windows 应用
pnpm rebuild:node # 重建原生依赖
提交前请运行:
pnpm check
项目结构
ant-chat/
├── apps/
│ ├── desktop/ # Electron 桌面应用
│ │ └── src/
│ │ ├── main/ # 主进程、IPC、应用生命周期
│ │ ├── preload/ # preload bridge
│ │ └── renderer/ # 复用 Web 端渲染代码
│ ├── web/ # 浏览器端 UI
│ └── website/ # 项目官网
├── packages/
│ ├── backend/ # 后端运行时、Agent、数据、MCP 和 RPC handlers
│ ├── ant-chat/ # npm 产品包、Web 本地服务、RPC API、事件流和 CLI
│ ├── control-client/ # Desktop 与 npm 产品共用的控制面客户端
│ ├── shared/ # 共享类型、schema、常量
│ └── ui/ # shadcn/ui 组件和 Kami 主题
└── docs/ # 设计、计划和项目文档
技术栈
- Electron、React 19、Vite、TypeScript
- Vercel AI SDK
- Zustand、Drizzle ORM、Better-SQLite3
- shadcn/ui、TailwindCSS、Kami 纸感主题
- Vitest、ESLint、simple-git-hooks、electron-builder
贡献
欢迎提交 Issue 和 Pull Request。请保持变更范围小、行为明确,并在涉及功能变化时同步更新文档。
版本与发布流程见 版本与发布指南。
提交建议:
- 使用 Conventional Commits 风格,例如
feat: add workspace search。 - UI 变更附截图或录屏。
- 配置、数据结构或运行方式变化需要写清楚迁移影响。
- 版本发布相关变更使用 Changesets:
pnpm changeset。
代码签名策略
Windows 安装包计划使用 SignPath Foundation 进行代码签名:
Free code signing provided by SignPath.io, certificate by SignPath Foundation
- 提交者、维护者和评审者:由 ant-chat 仓库维护团队负责源代码和构建配置。
- 签名批准者:由仓库所有者或维护者在 SignPath 中逐次审批发布签名请求。
- 隐私:This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
签名只覆盖本仓库源代码构建的 Ant Chat 发布产物,不签名第三方软件或外部二进制文件。
macOS 安装说明
当前 macOS 安装包未签名或公证,首次打开可能被 Gatekeeper 拦截,提示“无法验证开发者”或“应用已损坏”。两种方式解除:
- 在“访达”中右键点击 Ant Chat,选择“打开”,并在弹窗中确认;
- 或清除下载隔离标记:
sudo xattr -rd com.apple.quarantine "/Applications/Ant Chat.app"
清除后即可正常打开。请只从 GitHub Releases 下载安装包,不要使用来源不明的副本。
许可证
致谢
Explorar proyectos relacionados
freeCodeCamp/freeCodeCamp
Base de código abierto y plan de estudios de freeCodeCamp.org. Aprende matemáticas, programación y ciencias de la computación gratis.
459,070 estrellasdonnemartin/system-design-primer
Aprende a diseñar sistemas a gran escala y prepárate para la entrevista de diseño de sistemas. Incluye fichas de Anki.
377,735 estrellasreact/react
La biblioteca para interfaces de usuario web y nativas.
252,565 estrellasvuejs/vue
Este es el repositorio de Vue 2. Para Vue 3, visita https://github.com/vuejs/core
212,527 estrellas