Adnify

陆伍
1小时前发布 /正在检测是否收录...
广告 广告 广告 广告 广告 广告 广告 广告 广告 广告

项目介绍

一款具备自主规划、编码调试与上线部署能力的本地 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 IssuesGithub 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 风格标签页、面包屑导航

alt text
alt text
alt text
alt text

🤖 两套目标明确的 AI 工作流

Adnify 只保留两种工作模式。原有独立 Chat 模式已合并进 Agent,提问、分析和实现共享同一条上下文链路,不再需要先判断“该聊天还是该执行”。

  • Agent Mode 🤖 — 直接执行

    • 在同一任务线程中完成项目问答、代码检索、文件修改、命令运行、资料查询和结果验证。
    • 工具权限、检查点、诊断、循环检测和异常恢复,让自动执行过程始终可观察、可审批、可回退。
    • 渐进式上下文压缩与摘要/Handoff 机制,支持持续推进长周期任务。
  • Plan Mode 🧠 — 先审查,再执行

    • 四阶段工作台覆盖 需求确认 → 计划审查 → 执行中心 → 结果验收
    • Planner 生成带依赖关系、预期产物、优先级、角色/模型分配以及串并行策略的任务图。
    • 执行前自动检查依赖环、缺失前置任务和并行写冲突。
    • 每个任务在基于统一 Agent 内核的隔离 Worker 线程中运行;可查看实时进度、进入子任务线程、处理审批、暂停/恢复执行、要求调整并最终验收。

Plan Mode

🧰 Agent 工具与上下文

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

Agent 工具

🎬 素材生成与素材库

  • 接入自己的服务:在「设置 → 扩展 → 素材能力」中连接图片、视频、音频或文件的 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 修改代码前显示差异对比,支持接受/拒绝每个修改
  • 内置调试面板: 为已支持的调试适配器提供断点、变量、调用栈、调试控制台和启动配置

text

🔍 强大的搜索与工具

  • 快速打开 (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 实时预览、图片预览
    • 文件树拖拽、右键菜单
  • 代码大纲: 显示文件符号结构(函数、类、变量),快速导航
  • 问题面板: 实时诊断显示错误和警告,支持一键跳转

text

🔐 安全与其他特性

安全特性

  • 工作区隔离、敏感路径保护(.ssh, .aws, .gnupg 等)
  • 带权限审批的命令执行与 Shell 注入检测
  • 工作区外文件需要显式授权
  • Webview 导航保护与最小化 Electron IPC 能力暴露

多窗口与工作区

  • 支持多窗口同时打开不同项目
  • 多工作区管理,快速切换工作区
  • 工作区状态自动保存和恢复
  • 支持 monorepo 多根工作区

其他特性

  • 命令面板 (Ctrl+Shift+P),快速访问所有功能
  • SQLite 任务线程历史,支持检查点、分支、Plan 历史和异常恢复
  • Token 统计,实时显示消耗
  • 完整中英文支持,自动检测系统语言
  • 自定义快捷键,支持 VSCode 风格快捷键
  • 引导向导,新手友好
  • Tree-sitter 解析 20+ 语言,精确代码分析
  • 自动更新,静默下载新版本

🚀 快速开始

环境要求

工具版本说明
Node.js24.x 中的 24.19.0+^24.19.0仓库基线钉在 .nvmrc.node-version,Node 22 与 25+ 不在支持的引擎版本范围内。
pnpm11.22.0(精确)packageManager / engines.pnpm 完全一致,使用 corepack enable 启用 Corepack。
Git较新版本即可
Python可选仅在需要从源码编译原生模块时需要

package.jsonenginespackageManager 声明了所需版本,preinstallscripts/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/应用内 Logoapp.png 用于深色场景,app-light.png 用于浅色场景
public/brand/icons/系统/平台图标Windows .ico、macOS .icns、Linux .png 与多尺寸图标输出
public/brand/ip/AI 助手与 IP 形象包含优化后的 WebP 素材,可用于 README、欢迎页与聊天助手形象
public/brand/welcome/欢迎页视觉dark.webplight.webp 分别服务深色/浅色主题

图标资源由 public/brand/logos/*.png 生成。替换 Logo 后可运行:

pnpm assets:icons

更多资源说明见 public/brand/README.md


📖 功能详解

配置 AI 模型

  1. 点击左下角设置图标或按 Ctrl+,
  2. 在 Provider 选项卡选择 AI 服务商并输入 API Key
  3. 选择模型并保存

支持 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

  1. 需求确认:描述目标并回答必要的澄清问题,Adnify 会整理出包含范围与验收标准的结构化需求。
  2. 计划审查:检查任务图、依赖关系、预期产物、并发策略以及每个任务的角色/模型配置;结构检查会在执行前暴露不安全的计划。
  3. 执行中心:批准计划后,在实时 TaskBoard 中跟踪各个隔离任务线程;按需处理工具审批或暂停/恢复执行。
  4. 结果验收:检查汇总结果及失败任务状态,确认完成或要求继续调整。

Plan Mode

⚡ Skills 系统使用

Skills 是让 AI 获得特定领域(如特定框架优化、复杂测试编写等)专业能力的指令包。

  1. 浏览与安装:

    • 打开设置 → Skills 选项卡。
    • 搜索市场: 点击"搜索市场",在 skills.sh 寻找社区贡献的技能。
    • GitHub 安装: 输入包含 SKILL.md 的 GitHub 仓库地址直接克隆。
    • 手动创建: 为当前项目创建专属技能,编辑生成的 SKILL.md 即可。
    • 使用已有本地 Skill: 在设置页打开项目或全局 Skills 目录,将已有 Skill 文件夹放入后刷新 Skills 列表即可识别。
  2. 生效方式:

    • 启用的技能会自动注入 AI 提示词(System Prompt)。
    • 当任务触及技能相关领域时,AI 将自动遵循技能包中的专家指令。
  3. 管理:

    • 你可以随时在设置中启用/禁用特定技能,或点击"文件夹"图标直接编辑技能源码。
    • 可识别的本地 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全局搜索
AIEnter发送指令
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" /}

喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
OωO
取消
广告