缺少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//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/customClaude插件包装
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.] 或通过 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 用于开发设置和架构。
许可证
麻省理工学院
