项目介绍
一款具备自主规划、编码调试与上线部署能力的本地 AI 智能体 IDE。像机灵的水獭🦦,作为你的队友全程参与项目构建。
项目详情

Adnify
中文 | English | 日本語 | 한국어 | Español | Français | Deutsch | Português (Brasil) | Русский
Connect AI to Your Code.
面向直接执行与可审查多任务编排的 AI 原生工程工作台。







Adnify 将代码编辑、AI 执行、素材生成和浏览器验证放进同一个桌面工作区。使用 Agent Mode 直接分析和实现,或使用 Plan Mode 澄清需求、审查任务图、按依赖执行并验收结果;跨窗口管理命令和后台服务,通过系统通知或自己的 Webhook 接收工具获取任务结果。

🏆 荣誉奖杯:鸣谢墙
"Adnify 的每一行代码,都有大家投喂的能量注入!" ⚡️
感谢以下慷慨的支持者,你们提供的咖啡、奶茶和能量饮料是 Adnify 进化最强劲的动力!
排名不分先后,信息如有错误或遗漏,请及时联系作者
| 支持者 | 投喂方式 | 荣誉称号 | 日期 | 留言 |
|---|---|---|---|---|
| okay. | 🧋 奶茶 | 快乐源泉注入者 | 2026-03-07 | 一杯快乐水,代码没 Bug!✨ |
| 唐先生 | ☕ 咖啡 | 专注燃料赞助者 | 2026-04-17 | 一杯咖啡,续航下一次构建。 |
| 。 | 可乐 | 夏日冰可乐 | 2026-07-21 | 一杯冰可乐,续航下一次构建。 |
| *寒 | ☕ 咖啡 | 咖啡动力赞助者 | 2026-07-27 | 一杯美式,代码写不停! ✨ |
联系与交流
欢迎加入交流群,一起讨论 Adnify 的使用和开发!
| 微信群 | QQ 群 | 作者微信 |
|---|---|---|
![]() | ![]() | ![]() |
| 扫码加入微信群 | QQ群号: 1076926858 | 微信号: adnaan_worker |
💡 如有问题或建议,也可以直接在 Gitee Issues 或Github Issues 提交
目录
🏗 架构设计

核心模块概览
Renderer UI
src/renderer中的 React 组件负责编辑器、Agent 交互界面、Plan 工作台、终端、本地预览以及所有面向用户的交互流程。
Agent 运行时
src/renderer/agent为 Agent 和 Plan 任务 Worker 提供统一执行内核,覆盖模型路由、上下文流转、工具策略、权限审批、预算和异常恢复。
Plan 运行时
- Plan 领域层独立管理需求、任务依赖、执行状态、产物、验收和历史记录;每个任务复用经过验证的 Agent 内核运行。
状态与会话
- 渲染侧 stores 管理 UI 状态、任务线程、检查点、分支和会话生命周期。独立会话存储进程持久化 SQLite 历史,冷热消息窗口限制界面加载的历史消息量。
前端服务
- 渲染进程中的轻量服务负责终端体验、补全、workspace/session 辅助能力, 并统一发起跨 Electron 边界的请求。
Renderer Workers
- 浏览器 workers 处理文本或 diff 等重计算任务, Monaco language workers 则把编辑器语言服务从 UI 线程中拆开。
Preload Bridge
src/main/preload.ts通过类型化的contextBridge暴露能力, 让 renderer 在不直接接触 Node 的情况下访问特权功能。
IPC Handlers
src/main/ipc/*.ts是渲染层与主进程之间的契约边界, 负责校验请求并路由到主进程能力。
共享契约
src/shared存放跨进程复用的类型、配置、工具函数以及共享错误定义。
主进程服务
src/main负责窗口与应用生命周期、文件系统和 shell 权限、命令调度、LLM 与 MCP 后端、LSP 管理、通知及独立服务的协调。
独立服务进程
- 代码索引、会话存储、素材存储和内容处理通过 Electron utility process 按需启动。同工作区的多个窗口共用索引服务,解析和 SQLite Worker 在该服务内部运行。详见进程隔离。
并发处理优势
进程隔离
- renderer 专注交互与编排, main process 通过明确的 IPC 边界承载特权操作。
后台任务分工
- renderer workers 承担界面侧计算,独立服务进程负责索引、数据库、嵌入计算和大文档解析,并统一管理启动、超时、退出和异常恢复。
运行安全
- preload bridge、共享契约和主进程安全层共同收窄能力暴露面, 让系统边界更清晰也更易审计。
✨ 核心特性
🎨 极致视觉体验
多主题支持: 内置 4 套精心设计的主题
Adnify Dark- 默认深色主题,柔和护眼Midnight- 深邃午夜蓝,专注编码Cyberpunk- 霓虹赛博朋克风格Dawn- 明亮日间主题
- 玻璃拟态设计: 全局采用毛玻璃风格,配合微妙的流光边框和动态阴影
- 沉浸式布局: 无框窗口、Chrome 风格标签页、面包屑导航




🤖 两套目标明确的 AI 工作流
Adnify 只保留两种工作模式。原有独立 Chat 模式已合并进 Agent,提问、分析和实现共享同一条上下文链路,不再需要先判断“该聊天还是该执行”。
Agent Mode 🤖 — 直接执行
- 在同一任务线程中完成项目问答、代码检索、文件修改、命令运行、资料查询和结果验证。
- 工具权限、检查点、诊断、循环检测和异常恢复,让自动执行过程始终可观察、可审批、可回退。
- 渐进式上下文压缩与摘要/Handoff 机制,支持持续推进长周期任务。
Plan Mode 🧠 — 先审查,再执行
- 四阶段工作台覆盖 需求确认 → 计划审查 → 执行中心 → 结果验收。
- Planner 生成带依赖关系、预期产物、优先级、角色/模型分配以及串并行策略的任务图。
- 执行前自动检查依赖环、缺失前置任务和并行写冲突。
- 每个任务在基于统一 Agent 内核的隔离 Worker 线程中运行;可查看实时进度、进入子任务线程、处理审批、暂停/恢复执行、要求调整并最终验收。

🧰 Agent 工具与上下文
- 工作区操作:在作用域授权和 Diff 预览保护下读取、新建、编辑、移动或删除文件。
- 代码智能:文本/正则检索、LanceDB 语义搜索,以及基于 LSP 的符号、定义、引用、悬停信息和诊断。
- 终端执行:前台/后台命令、实时输出、交互输入、任务停止以及可靠的退出码捕获。
- 研究与集成:Web 搜索、URL 读取、MCP 工具/资源/提示词和可复用 Skills。
- 智能上下文引用:通过文件名及
@codebase、@git、@terminal、@symbols、@web添加上下文,也可直接拖入文件或目录。 - 模型自由切换:支持 OpenAI、Anthropic、Google、DeepSeek、Ollama 及 OpenAI 兼容服务,并提供推理等级和厂商参数控制。

🎬 素材生成与素材库
- 接入自己的服务:在「设置 → 扩展 → 素材能力」中连接图片、视频、音频或文件的 HTTP JSON API,可根据接口文档生成配置草稿,也支持手动编辑与 JSON 导入。
- 在任务中生成素材:启用后的能力可由 Agent 直接调用,按服务能力传入参考图;支持同步结果和异步任务,重启后可恢复未完成任务的状态查询。
- 预览和复用结果:在会话中放大图片、切换多份结果、播放视频和音频、定位文件或导出,在素材库中浏览已保存的结果与参考图历史。
- 控制保存位置:支持全局或项目专属输出目录,下载失败可单独重试,无需重新生成;密钥使用安全存储,配置导出不包含密钥。
配置方式与接口示例见素材能力。
🌐 浏览器验证与多设备预览
- 直接验证前端修改:Agent 可打开开发预览或 HTTP(S) 页面,检查 DOM、样式、布局、控制台和网络诊断,并截图交给已配置的视觉模型分析。
- 操作真实页面:支持点击、填写表单、按键、滚动、导航和等待元素出现,将页面交互纳入验证流程。
- 检查响应式布局:切换桌面、手机和平板视图,支持横竖屏;切换时保留页面和表单内容,预览会自动缩放以适应面板。
- 项目登录态隔离:每个项目拥有独立的持久浏览器存储,同项目多窗口共享登录态,不同项目使用相同 localhost 地址也不会串用数据。
设备模拟基于 Chromium。升级到项目独立会话后,各项目预览首次使用需要重新登录。详见浏览器预览。
⚙️ 执行管理与服务托管
- 跨窗口集中查看:从终端面板或「设置 → 编辑器」打开执行管理器,查看命令、后台服务、终端会话、容量占用、等待原因和退出码。
- 管理运行与历史:取消排队、停止作业、查看或导出日志,固定保留或删除历史归档;重启应用后仍可查看已保存的输出。
- 托管开发服务:可显式托管运行中的本地后台服务,关闭所有窗口后仍通过系统托盘管理。退出 Adnify 会停止托管服务,重启只恢复日志,不自动重启服务。
- 设置资源限额:按窗口和任务配置并发、队列,以及输出、磁盘日志和历史预算;普通命令与后台服务分别计量,历史记录不占进程名额。
- 回收选定的空闲会话:将本地 Agent 终端标记为可丢弃后,才允许空闲回收;人工接管、仍被占用、状态未知或有子进程的会话会保留。
🔔 通知推送与后台任务
- 回看错过的消息:右下角常驻消息中心,分别查看编辑器提示和工作区任务事件,支持未读筛选、标记已读、查看推送状态及跳转对应任务。
- 选择需要关注的事件:使用「推荐提醒」「仅任务结果」或指定事件,接收完成、失败、等待输入、审批、Plan、索引和素材事件;系统通知支持仅后台窗口提醒,并可点击返回对应会话。
- 将结果推送到自己的工具:最多配置 5 个通用 Webhook 通道,支持事件筛选、请求头、JSON 消息模板和测试发送。推送内容为事件摘要,Webhook 配置加密保存,不随普通设置导出。
- 跟进长时间任务:在系统支持时显示任务栏或 Dock 进度,可选在任务执行期间防止自动休眠;唤醒后检查当前模型服务地址可达性与已有 MCP 连接状态。
- 定位性能问题:在「设置 → 日志与诊断」导出进程内存快照或采集 10 秒性能记录,将资源占用关联到窗口和独立服务进程。
🧩 开放的 AI 生态
- Skills:从市场或 GitHub 安装,创建项目级/全局指令包,并支持自动或显式加载。
- MCP:发现并安装 npm、PyPI、Docker/OCI、Cargo、NuGet、MCPB、HTTP、SSE 等类型的服务;按需支持热重载与 OAuth。
- 跨编辑器迁移:发现并导入 Claude Desktop/Code、Codex 和 Cursor 中兼容的 MCP、Skills 与 Rules,无需重新搭建配置。
- 项目记忆:通过带审批的写入路径保存项目约定与长期知识。
🚀 为什么选择 Adnify
- 真正受控的规划流程:Plan Mode 不是更长的提示词,而是可审查的任务图、执行前确认、实时 TaskBoard 和最终结果验收。
- 真实的任务编排:内置依赖调度、并发上限、任务级角色/模型选择、产物契约、隔离任务线程和结果汇总。
- 并发修改的 worktree 隔离:可写并行任务使用独立 Git 检出与分支,通过合并队列回收结果,并提供冲突恢复操作。详见Worktree 执行车道。
- 面向长会话的架构:四级上下文压缩、摘要/Handoff、SQLite 任务线程持久化以及冷热消息加载共同支撑长周期工作。
- 可信的终端状态:OSC 633 Shell Integration 捕获命令边界和退出码,不支持原生集成时自动降级到管道 Shell 方案。
- 从实现到页面验证:在同一任务中生成素材、修改前端并检查或操作实时预览,覆盖手机和平板布局。
- 可查看和管理的后台执行:跨窗口管理命令和托管服务、保留输出日志,并通过系统通知或 Webhook 接收完成与审批提醒。
- 高容错代码编辑:九种匹配策略应对格式漂移,配合流式 Diff、检查点和任务线程分支,使修改可审查、可恢复。
- 执行后验证:Agent 可调用 LSP 诊断与项目命令验证修改,再汇报最终结果。
📝 专业代码编辑
- Monaco Editor: VS Code 同款编辑器内核,完整的编辑器功能
- 多语言 LSP 支持: TypeScript/JavaScript、Java(需 JDK 21+)、Python、Go、Rust、C/C++、HTML/CSS/JSON、Vue、Zig、C# 等 10+ 语言
- 完整 LSP 功能: 智能补全、跳转定义、查找引用、悬停提示、代码诊断、格式化、重命名等
- 智能根目录检测: 自动识别 monorepo 子项目,为每个子项目启动独立 LSP
- AI 代码补全: 基于上下文的智能代码建议(Ghost Text),实时显示 AI 建议
- 内联编辑 (Ctrl+K): 选中代码后直接让 AI 修改,无需离开编辑器
- Diff 预览: AI 修改代码前显示差异对比,支持接受/拒绝每个修改
- 内置调试面板: 为已支持的调试适配器提供断点、变量、调用栈、调试控制台和启动配置

🔍 强大的搜索与工具
- 快速打开 (Ctrl+P): 模糊搜索快速定位文件,支持路径匹配
- 全局搜索 (Ctrl+Shift+F): 支持正则、大小写敏感、全字匹配,实时显示结果
- 语义搜索: 基于 AI Embedding 的代码库语义搜索,理解代码含义
- 混合搜索: 结合语义搜索和关键词搜索,使用 RRF 算法融合结果
集成终端:
- 基于 xterm.js + node-pty,支持多 Shell(PowerShell, CMD, Bash, Zsh)
- 支持分屏、多标签、终端复用
- Shell Integration 追踪命令边界、工作目录和退出码,并为不支持的 Shell 提供降级方案
- 🌐 远程 SSH 终端: 内置原生 SSH 客户端,直接连接远程服务器,支持密钥认证
- 支持远程文件浏览、上传/下载,以及 SSH 环境中的自动 Shell Integration
本地服务预览:
- 从终端活动中识别开发服务器地址和候选端口
- 在隔离的 Webview 标签页中打开本地应用,并通过 Local Servers 面板统一管理
- 支持 Agent 页面检查与交互、手机和平板布局,以及按项目隔离的持久会话
Git 版本控制:
- 完整的 Git 操作界面,变更管理、提交历史、Diff 视图
- 可视化分支管理、冲突解决
- 支持 Git 子命令白名单,安全可控
文件管理:
- 虚拟化渲染支持万级文件,大型项目流畅浏览
- Markdown 实时预览、图片预览
- 文件树拖拽、右键菜单
- 代码大纲: 显示文件符号结构(函数、类、变量),快速导航
- 问题面板: 实时诊断显示错误和警告,支持一键跳转

🔐 安全与其他特性
安全特性
- 工作区隔离、敏感路径保护(.ssh, .aws, .gnupg 等)
- 带权限审批的命令执行与 Shell 注入检测
- 工作区外文件需要显式授权
- Webview 导航保护与最小化 Electron IPC 能力暴露
多窗口与工作区
- 支持多窗口同时打开不同项目
- 多工作区管理,快速切换工作区
- 工作区状态自动保存和恢复
- 支持 monorepo 多根工作区
其他特性
- 命令面板 (Ctrl+Shift+P),快速访问所有功能
- SQLite 任务线程历史,支持检查点、分支、Plan 历史和异常恢复
- Token 统计,实时显示消耗
- 完整中英文支持,自动检测系统语言
- 自定义快捷键,支持 VSCode 风格快捷键
- 引导向导,新手友好
- Tree-sitter 解析 20+ 语言,精确代码分析
- 自动更新,静默下载新版本
🚀 快速开始
环境要求
| 工具 | 版本 | 说明 |
|---|---|---|
| Node.js | 24.x 中的 24.19.0+(^24.19.0) | 仓库基线钉在 .nvmrc 和 .node-version,Node 22 与 25+ 不在支持的引擎版本范围内。 |
| pnpm | 11.22.0(精确) | 与 packageManager / engines.pnpm 完全一致,使用 corepack enable 启用 Corepack。 |
| Git | 较新版本即可 | — |
| Python | 可选 | 仅在需要从源码编译原生模块时需要 |
package.json 的 engines 和 packageManager 声明了所需版本,preinstall(scripts/ensure-pnpm.js)会拦截其他包管理器。安装前请切换到仓库指定的 Node 版本和 pnpm 11.22.0。
开发环境运行
# 1. 克隆项目
git clone https://github.com/ad-naan/adnify.git
# 或:git clone https://gitee.com/adnaan/adnify.git
cd adnify
# 2. 切换到仓库钉死的 Node(任选其一)
# nvm use # 读取 .nvmrc
# fnm use # 读取 .node-version
# mise install # 读取 mise.toml
# 3. 启用 Corepack,保证 pnpm 与 packageManager 一致
corepack enable
# 4. 安装依赖
pnpm install
# 5. 启动开发服务器
pnpm dev若出现 Electron failed to install correctly,请在 Node 24.19.0+ 下删除 node_modules/electron 后重新执行 pnpm install。
打包发布
# 1. 替换品牌资源
# 统一放在 public/brand/:
# icons/ 应用图标,logos/ 应用内 Logo,ip/ IP 形象,welcome/ 欢迎/启动页素材
# 2. 构建安装包
pnpm dist
# 生成的文件位于 release/ 目录🎭 品牌素材
Adnify 的品牌资源统一收纳在 public/brand/,README 首屏、欢迎页、应用图标与 IP 形象都从这里引用,后续替换素材时不需要在多个目录里来回找。

深色 Logo

浅色 Logo
![]()
应用图标






| 目录 | 用途 | 说明 |
|---|---|---|
public/brand/logos/ | 应用内 Logo | app.png 用于深色场景,app-light.png 用于浅色场景 |
public/brand/icons/ | 系统/平台图标 | Windows .ico、macOS .icns、Linux .png 与多尺寸图标输出 |
public/brand/ip/ | AI 助手与 IP 形象 | 包含优化后的 WebP 素材,可用于 README、欢迎页与聊天助手形象 |
public/brand/welcome/ | 欢迎页视觉 | dark.webp 与 light.webp 分别服务深色/浅色主题 |
图标资源由 public/brand/logos/*.png 生成。替换 Logo 后可运行:
pnpm assets:icons更多资源说明见 public/brand/README.md。
📖 功能详解
配置 AI 模型
- 点击左下角设置图标或按
Ctrl+, - 在 Provider 选项卡选择 AI 服务商并输入 API Key
- 选择模型并保存
支持 OpenAI、Anthropic、Google、DeepSeek、Ollama 及自定义 API
选择工作模式
Agent Mode 是问答与实现的默认工作区。你可以询问项目情况、使用 @ 添加上下文或直接描述修改目标;Agent 会在同一任务线程中检查文件、调用工具、生成 Diff、运行验证并汇报结果。项目不再提供独立 Chat 模式。
Plan Mode 面向更复杂或风险更高的工作。当你希望在执行前确认需求、依赖关系、角色、模型、交付物和执行顺序时,应优先使用 Plan。
上下文引用:输入 @ 选择文件,或使用 @codebase、@git、@terminal、@symbols、@web 添加特殊上下文。
内联编辑:选中代码后按 Ctrl+K,无需离开编辑器即可描述修改要求。
代码库索引
打开设置 → Index 选项卡,选择 Embedding 提供商(推荐 Jina AI),配置 API Key 后开始索引。索引完成后 AI 可使用语义搜索。
使用 Plan Mode
- 需求确认:描述目标并回答必要的澄清问题,Adnify 会整理出包含范围与验收标准的结构化需求。
- 计划审查:检查任务图、依赖关系、预期产物、并发策略以及每个任务的角色/模型配置;结构检查会在执行前暴露不安全的计划。
- 执行中心:批准计划后,在实时 TaskBoard 中跟踪各个隔离任务线程;按需处理工具审批或暂停/恢复执行。
- 结果验收:检查汇总结果及失败任务状态,确认完成或要求继续调整。

⚡ Skills 系统使用
Skills 是让 AI 获得特定领域(如特定框架优化、复杂测试编写等)专业能力的指令包。
浏览与安装:
- 打开设置 → Skills 选项卡。
- 搜索市场: 点击"搜索市场",在
skills.sh寻找社区贡献的技能。 - GitHub 安装: 输入包含
SKILL.md的 GitHub 仓库地址直接克隆。 - 手动创建: 为当前项目创建专属技能,编辑生成的
SKILL.md即可。 - 使用已有本地 Skill: 在设置页打开项目或全局 Skills 目录,将已有 Skill 文件夹放入后刷新 Skills 列表即可识别。
生效方式:
- 启用的技能会自动注入 AI 提示词(System Prompt)。
- 当任务触及技能相关领域时,AI 将自动遵循技能包中的专家指令。
管理:
- 你可以随时在设置中启用/禁用特定技能,或点击"文件夹"图标直接编辑技能源码。
- 可识别的本地 Skill 采用独立目录组织,目录内包含
SKILL.md,并可附带scripts/、templates/、data/等辅助文件。
⌨️ 快捷键
| 类别 | 快捷键 | 功能 |
|---|---|---|
| 通用 | Ctrl + P | 快速打开文件 |
Ctrl + Shift + P / F1 | 命令面板 | |
Ctrl + , | 打开设置 | |
Ctrl + L | 切换 AI 面板 | |
Ctrl + 反引号 | 切换终端 | |
Ctrl + Shift + D | 切换调试面板 | |
| 编辑器 | Ctrl + S | 保存文件 |
Ctrl + K | 内联 AI 编辑 | |
Ctrl + W | 关闭当前文件 | |
F12 | 编辑器聚焦时跳转到定义 | |
| 搜索 | Ctrl + F | 文件内搜索 |
Ctrl + Shift + F | 全局搜索 | |
| AI | Enter | 发送指令 |
Shift + Enter | 换行 | |
@ | 引用上下文 | |
/ | 斜杠命令 | |
| 调试 | F5 | 启动调试 |
F9 | 切换断点 |
工作模式:Agent 🤖(直接执行)/ Plan 🧠(审查与编排)
📂 项目结构
adnify/
├── resources/ # 图标资源
├── scripts/ # 构建脚本
├── src/
│ ├── main/ # Electron 主进程
│ │ ├── ipc/ # IPC 通信统一安全拦截层
│ │ ├── lsp/ # LSP 服务网关及生命周期治理
│ │ ├── memory/ # AI 记忆池及长期/短期上下文缓存引擎
│ │ ├── security/ # 沙盒越权拦截验证、多模态命令执行防御网
│ │ ├── indexing/ # 按工作区隔离的索引服务进程(解析、Embedding、LanceDB)
│ │ └── services/ # 核心总栈子系统
│ │ ├── agent/ # 辅控层:Agent 日志分析与拦截纠错处理
│ │ ├── debugger/# Node、VSCode 协议层深度调试模块
│ │ ├── llm/ # LLM 动态桥接分发网关 (请求构造、配置解析及跨模型流式代理)
│ │ ├── mcp/ # Model Context Protocol 后端服务挂载注册及鉴权授权模块
│ │ └── updater/ # 高可控自动静默静默更新探测与热切换模块
│ ├── renderer/ # 前端渲染进程
│ │ ├── agent/ # 客户端 AI 大脑核心驱动 (涵盖引擎队列、Tools执行及指令流)
│ │ ├── components/ # 完全解耦聚合化复用UI组件块
│ │ │ ├── editor/ # 编辑器组件
│ │ │ ├── sidebar/
...(内容过长,已截断,更多详情请访问项目地址)
## ⬇️ 下载地址 ##
{cloud title="Adnify 源码下载" type="gitee" url="https://gitee.com/adnaan/adnify/repository/archive/master.zip" /}


