AI编码能力包管理器

OmniDev是一个用于管理AI编码能力(技能、规则、提示、钩子、MCP服务器)的包管理器,支持将GitHub仓库或本地文件夹封装为版本化能力,并在多种工具中使用。

  • by frmlabz
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 Nikola-Milovic/omnidev

使用说明

缺少AI编码功能的包管理器

OmniDev是一个用于AI编码功能(技能、规则、提示、钩子、MCP服务器)的包管理器。将GitHub仓库或本地文件夹打包到版本化功能中,然后跨工具(Claude Code、Cursor、Codex、OpenCode等)使用它。

  • 包任何东西 --指向任何包含技能/规则/提示的GitHub仓库或本地文件夹,OmniDev将其包装成一种功能
  • 一个配置,所有工具 --通过配置一次 omni.toml,然后生成特定于提供程序的文件
  • 配置文件切换 --为前端、后端、规划等加载不同的功能集。
  • 全功能 --功能可以包含技能、规则、命令、子代理、钩子和MCP服务器
  • 能力本地模板 --使用gignored功能 .env 参数化MCP配置和技能内容

状态: 阿尔法 --特征稳定时可能会发生突破性变化。

快速开始

# Install
npm install -g @omnidev-ai/cli

# Initialize in your project
omnidev init

# Add a capability from GitHub
omnidev add cap my-tools --github user/repo

# Check everything is working
omnidev doctor

这创建了一个 omni.toml 配置文件和 .omni/ 目录与您的能力。

📚 阅读入门指南→

🔄 来自现有设置? 看看 迁移指南 和 迁移技能

提供商支持

功能 克劳德代码 光标 Codex OpenCode
技能 ✅ ✅ ✅ ✅
子代理 ✅ ✅ ✅ ✅
命令 ✅* ✅ ✅* ✅
钩子 ✅ ❌ ✅* ❌
规则 ✅ ✅ ✅ ✅
MCP服务器 ✅ ✅ ✅ ✅

笔记:

  • 克劳德代码和Codex命令:合并到技能中(这些提供者没有本机命令概念)
  • 子代理:用 subagents/<name>/agent.toml + prompt.md.MoniDev目前仍在读取旧版本 SUBAGENT.md / AGENT.md 在迁移过程中。
  • Codex挂钩:稳定。OmniDev写道 .codex/hooks.json 并使 features.hooks 在 .codex/config.toml
  • 食品法典委员会MCP:支持 stdio 和 http 仅传输(跳过SSE并发出警告)
  • 弃用:参见 DEPRECATIONS.md 用于计划删除的格式和功能

OmniDev能做什么?

管理能力

从GitHub或本地目录安装可重用的AI功能:

omnidev add cap obsidian --github kepano/obsidian-skills
omnidev add cap my-local --local ./capabilities/custom

Claude插件包装

OmniDev可以自动包装现有 .claude-plugin 目录作为功能。指向一个带有 .claude-plugin/ 文件夹,OmniDev处理其余部分,包括 hooks.json 解析和路径变量解析(${CLAUDE_PLUGIN_ROOT} → 绝对路径)。

切换配置文件

针对不同的上下文使用不同的功能集:

omnidev profile set frontend   # Load UI/accessibility tools
omnidev profile set backend    # Load database/API tools

添加MCP服务器

集成模型上下文协议服务器:

omnidev add mcp filesystem --command npx --args "-y @modelcontextprotocol/server-filesystem /path"

只能在中设置MCP环境变量 omni.toml 随着 env = { KEY = "value" } 在...之下 [mcps.<name>] 或通过 omnidev add mcp --env KEY=value.

统一项目说明

在中定义您的项目说明 OMNI.md OmniDev生成特定于提供商的文件(CLAUDE.md, AGENTS.md等等)自动地。

为什么选择OmniDev?

每个AI编码工具都会重新发明轮子——不同的文件夹结构(.cursor/, .claude/, .agent/),不同的配置格式,他们甚至无法就“技能”或“技能”达成一致。这使得与团队共享设置或在工具之间切换变得很痛苦。

但这不仅仅是配置位置的问题。 这也是关于背景的。 人工智能代理在专注、特定任务的环境中工作得更好。您不希望在处理UI时加载数据库工具,反之亦然。根据您的任务在钩子、代理、技能和命令的不同配置之间进行切换是冗长的,通常最终会变成手动工作或临时脚本。

Config sprawl (example)

文档

探索社区功能 omnidev功能.

示例

看看 示例/ 示例配置目录:

🤝 贡献

我们竭诚欢迎捐款! 有这么多供应商和配置组合,我们依靠您的反馈,帮助确保一切顺利运行。

  • 发现错误或问题? 打开一个问题 让我们知道!
  • 想要提交pull请求吗? 令人惊叹的!请随时提交修复和改进。
  • 考虑添加新功能? 让我们先讨论一下! 打开一个问题来提出你的想法,这样我们就可以聊天并计划最佳方法。

看 贡献.md 用于开发设置和架构。

许可证

麻省理工学院