内容
<div align="center">
<img src="assets/nomoreide-logo.png" alt="NoMoreIDE Logo" width="120" />
# NoMoreIDE
**面向后 IDE 时代开发流程的 AI 原生终端工作台**
[](https://www.npmjs.com/package/nomoreide)
[](https://www.npmjs.com/package/nomoreide)
[](https://github.com/Rorogogogo/nomoreide/stargazers)
[](LICENSE)
[](https://nodejs.org)
[](https://modelcontextprotocol.io)
为您的编码代理和您自己提供一个**共享的本地控制界面**,用于服务、端口、日志、Git 审查、GitHub 工作流程、数据库工作和 MCP 工作流程 — 无需 IDE。
[MCP 设置](#连接您的AI代理) · [CLI 参考](#CLI) · [MCP 工具](#MCP-工具) · [架构](#架构)
</div>
---
## NoMoreIDE 是什么?
NoMoreIDE 是一个轻量级的过程管理器、Git 审查器、GitHub 工作流程界面、数据库工作台、日志聚合器和 MCP 服务器 — 所有这些都可以通过一个 `npx` 命令实现。它为 AI 编码代理(如 Claude Code、Codex CLI、Gemini CLI 等)提供了一个安全、结构化的窗口,以便访问您的运行开发环境,同时也为人类提供了终端 UI 和本地 React 网页仪表盘。
```
┌──────────────────────────────────────────────────────┐
│ 您的项目 │
│ │
│ Claude Code / Codex CLI / Gemini CLI │
│ │ │
│ MCP(stdio) │
│ │ │
│ ┌───────▼────────┐ ┌──────────────────────┐ │
│ │ NoMoreIDE MCP │◄──►│ 进程管理器 │ │
│ │ 服务器 │ │ 日志存储 │ │
│ └───────┬────────┘ │ Git 管理器 │ │
│ │ │ 配置存储 │ │
│ HTTP API └──────────────────────┘ │
│ │ │
│ ┌───────▼──────────────────────────┐ │
│ │ 网页界面 (localhost:4317) │ │
│ │ 终端界面(nomoreide tui) │ │
│ └──────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
```
---
## 连接您的 AI 代理
NoMoreIDE 作为一个**本地 stdio MCP 服务器**运行。选择您的代理 CLI 并粘贴一行命令 — 就是这样。
### Claude Code
```bash
claude mcp add --transport stdio nomoreide -- npx -y nomoreide
```
> 想要与您的整个团队共享配置?使用项目范围提交 `.mcp.json`:
>
> ```bash
> claude mcp add --transport stdio --scope project nomoreide -- npx -y nomoreide
> ```
然后在 Claude Code 中确认:
```
/mcp
```
<details>
<summary>手动配置(<code>.mcp.json</code> 或 Claude 设置)</summary>
```json
{
"mcpServers": {
"nomoreide": {
"command": "npx",
"args": ["-y", "nomoreide"]
}
}
}
```
</details>
---
### Codex CLI
```bash
codex mcp add nomoreide -- npx -y nomoreide
```
<details>
<summary>手动配置(<code>~/.codex/config.toml</code>)</summary>
```toml
[mcp_servers.nomoreide]
command = "npx"
args = ["-y", "nomoreide"]
```
</details>
然后在 Codex 中确认:
```
/mcp
```
---
### Gemini CLI
打开您的 Gemini CLI 设置文件(`~/.gemini/settings.json` 或 `gemini config` 显示的路径),并添加:
```json
{
"mcpServers": {
"nomoreide": {
"command": "npx",
"args": ["-y", "nomoreide"]
}
}
}
```
重启 Gemini CLI,然后验证:
```
/mcp
```
---
### 本地检查(任意代理)
如果您更喜欢将代理指向本地构建的二进制文件而不是发布的 npm 包:
```json
{
"mcpServers": {
"nomoreide": {
"command": "node",
"args": ["/absolute/path/to/nomoreide/dist/index.js"]
}
}
}
```
---
## 架构
```mermaid
graph TD
subgraph 代理["AI 代理(Claude / Codex / Gemini)"]
A[编码代理 CLI]
end
subgraph NoMoreIDE
MCP[MCP 服务器<br/>stdio 传输]
PM[进程管理器]
GM[Git 管理器]
LS[日志存储]
CS[配置存储<br/>nomoreide.config.json]
WS[网页服务器<br/>:4317]
TUI[终端界面]
end
subgraph 服务["您的开发服务"]
S1[后端 :3001]
S2[前端 :5173]
S3[数据库 :5432]
end
A -- MCP stdio --> MCP
MCP --> PM
MCP --> GM
MCP --> LS
MCP --> CS
PM --> S1
PM --> S2
PM --> S3
LS --> PM
WS --> PM
WS --> GM
WS --> LS
TUI --> PM
TUI --> LS
```
---
## 功能概述
| 功能 | CLI | TUI | 网页界面 | MCP |
|---|:---:|:---:|:---:|:---:|
| 启动 / 停止 / 重启服务 | ✓ | ✓ | ✓ | ✓ |
| 捆绑编排 | ✓ | | ✓ | ✓ |
| 端口冲突检测 | | | ✓ | ✓ |
| 实时日志流式传输 | ✓ | ✓ | ✓ | ✓ |
| Git 状态和差异 | ✓ | | ✓ | ✓ |
| 暂存 / 取消暂存 / 提交 | ✓ | | ✓ | ✓ |
| 分支管理 | ✓ | | ✓ | ✓ |
| GitHub PRs / 问题 / 操作 | | | ✓ | ✓ |
| 可重用的 Git/GitHub 工作流程 | | | ✓ | |
| 数据库浏览和 SQL 查询 | | | ✓ | ✓ |
| 人工批准的 SQL 写入 | | | ✓ | |
| 代理工具、钩子、插件、用法 | | | ✓ | |
| 代理环境(实时 MCP 和技能) | ✓ | | ✓ | ✓ |
| 代理配置文件(快照 / 应用 / 共享) | ✓ | | ✓ | ✓ |
| 托管配置文件注册表(发布 / 安装) | ✓ | | ✓ | ✓ |
| 安全 Git(无强制推送,无重置) | ✓ | ✓ | ✓ | ✓ |
---
## 运行界面
### MCP 服务器(默认)
```bash
nomoreide
# 或从源代码:
npm run dev
```
### 终端界面
```bash
nomoreide tui
```
### 网页仪表盘
```bash
nomoreide web
# 自定义端口:
nomoreide web --port=4320
```
网页仪表盘默认情况下可在 `http://127.0.0.1:4317` 访问。
---
## CLI
### 服务
```bash
# 注册本地服务
nomoreide add service backend \
--command "npm run dev" \
--cwd /absolute/path/to/backend \
--port 3001
# 注册 Docker Compose 服务
nomoreide add service api \
--kind docker-compose \
--cwd /absolute/path/to/infra \
--compose-file docker-compose.yml \
--compose-service api \
--port 3001
# 注册远程 SSH 服务(使用本地 SSH 配置和代理)
nomoreide add service staging-api \
--kind ssh \
--host devbox \
--cwd /srv/app \
--command "npm run dev" \
--port 3001
# 注册捆绑(有序服务组)
nomoreide add bundle full-stack db backend frontend
# 列出所有内容
nomoreide list
# 生命周期
nomoreide start backend
nomoreide stop backend
nomoreide restart backend
nomoreide start full-stack
nomoreide stop full-stack
# 日志(内存中,当前进程)
nomoreide logs backend
```
### Git
NoMoreIDE 仅公开**安全**的 Git 操作 — 没有硬重置,没有清理,没有强制推送,没有分支删除。
```bash
# 状态和差异
nomoreide git status --cwd /path/to/repo
nomoreide git diff --cwd /path/to/repo
# 暂存和提交
nomoreide git stage --cwd /path/to/repo src/index.ts README.md
nomoreide git unstage --cwd /path/to/repo src/index.ts
nomoreide git commit --cwd /path/to/repo --message "feat: add dashboard"
# 历史记录
nomoreide git log --cwd /path/to/repo
# 分支
nomoreide git branch --cwd /path/to/repo
nomoreide git fetch --cwd /path/to/repo
nomoreide git switch --cwd /path/to/repo feature/my-work
nomoreide git create-branch --cwd /path/to/repo feature/new-work
# 为网页界面注册仓库
nomoreide git add-repo app --path /path/to/repo
nomoreide git select-repo app
```
### 代理环境和配置文件
检查和管理您的编码代理的 MCP 服务器和技能(Claude Code、Codex CLI、Antigravity),并将它们捆绑到可移植的配置文件中。前身是独立的 `brainctl` 包 — 请参阅[迁移指南](docs/brainctl-migration.md)。
```bash
# 实时代理配置(只读)
nomoreide agents status # 每个代理的安装状态,MCP + 技能计数
nomoreide agents doctor # 配置健全性检查
nomoreide agents read claude # 以 JSON 格式转储一个代理的实时配置
# 配置文件:MCP 服务器 + 技能的命名绑定
nomoreide profile list
nomoreide profile snapshot claude my-setup # 捕获代理的实时配置
nomoreide profile apply my-setup codex --dry-run
nomoreide profile apply my-setup codex # 备份配置
nomoreide profile export my-setup # 凭证遮蔽的 .tar.gz
nomoreide profile import my-setup.tar.gz --as teammate-setup
# 托管注册表(通过网页界面登录,或设置 BRAINCTL_API_TOKEN)
nomoreide profile publish my-setup --slug my-setup --title "我的设置"
nomoreide profile install my-setup
```
导出和发布的软件包永远不会包含原始机密 — 类似机密的值会被遮蔽为 `${credentials.*}` 占位符,供导入者从其自己的环境中填写。
---
## MCP 工具
所有工具都以 `nomoreide_` 为前缀,可供任何连接的 MCP 客户端使用。
### 服务工具
| 工具 | 描述 |
|---|---|
| `nomoreide_list_services` | 列出所有已注册的服务和捆绑 |
| `nomoreide_register_service` | 注册新服务 |
| `nomoreide_start_service` | 启动已注册的服务 |
| `nomoreide_stop_service` | 停止正在运行的服务 |
| `nomoreide_restart_service` | 重启正在运行的服务 |
| `nomoreide_read_logs` | 读取服务的最近内存日志 |
| `nomoreide_register_bundle` | 注册服务捆绑 |
| `nomoreide_start_bundle` | 启动捆绑中的所有服务 |
| `nomoreide_stop_bundle` | 停止捆绑中的所有服务 |
| `nomoreide_status` | 整体服务器状态 |
| `nomoreide_service_context` | 为服务构建复制粘贴代理上下文数据包 |
| `nomoreide_service_health` | 计算的健康摘要(一个服务或所有服务) |
| `nomoreide_timeline` | 最近的调试时间线事件(可选按服务) |
| `nomoreide_open_ui` | 打开本地网页界面 |
| `nomoreide_close_ui` | 关闭本地网页界面 |
### Git 工具
| 工具 | 描述 |
|---|---|
| `nomoreide_git_status` | 显示工作树状态 |
| `nomoreide_git_diff` | 显示未暂存的差异 |
| `nomoreide_git_staged_diff` | 显示暂存的差异 |
| `nomoreide_git_log` | 显示最近的提交 |
| `nomoreide_git_branches` | 列出分支 |
| `nomoreide_git_fetch` | 从远程获取 |
| `nomoreide_git_switch_branch` | 切换到分支 |
| `nomoreide_git_create_branch` | 创建新分支 |
| `nomoreide_git_stage` | 暂存特定文件 |
| `nomoreide_git_unstage` | 取消暂存特定文件 |
| `nomoreide_git_commit` | 提交暂存的更改 |
| `nomoreide_git_register_repository` | 注册仓库路径 |
| `nomoreide_git_select_repository` | 选择活动仓库 |
### 数据库工具
| 工具 | 描述 |
|---|---|
| `nomoreide_list_databases` | 列出已注册的数据库连接,带有遮蔽的 URL |
| `nomoreide_db_tables` | 列出连接的表和视图 |
| `nomoreide_db_sample` | 示例行和模式元数据 |
| `nomoreide_db_query` | 运行只读 SQL 查询;写入被拒绝并提交到 Web UI SQL 控制台 |
### GitHub 工具
| 工具 | 描述 |
|---|---|
| `nomoreide_github_set_token` | 存储 GitHub令牌以访问 API |
| `nomoreide_github_list_prs` / `nomoreide_github_get_pr` | 检查拉取请求 |
| `nomoreide_github_get_pr_diff` | 获取拉取请求差异 |
| `nomoreide_github_create_pr` / `nomoreide_github_merge_pr` | 创建或合并拉取请求,显式用户意图 |
| `nomoreide_github_list_issues` / `nomoreide_github_get_issue` | 检查问题 |
| `nomoreide_github_list_issue_comments` / `nomoreide_github_add_issue_comment` | 读取或添加问题和拉取请求评论 |
| `nomoreide_github_create_issue` | 创建问题 |
| `nomoreide_github_get_commit_ci` | 检查提交检查状态 |
| `nomoreide_github_list_workflow_runs` | 列出最近的 GitHub Actions 工作流运行 |
### 代理环境和配置文件工具
| 工具 | 描述 |
|---|---|
| `nomoreide_agents_status` / `nomoreide_agents_read_configs` | 实时代理安装状态和 MCP/技能配置 |
| `nomoreide_agents_doctor` | 代理配置健全性检查 |
| `nomoreide_agents_add_mcp` / `nomoreide_agents_remove_mcp` | 添加或删除 MCP 服务器(先备份配置) |
| `nomoreide_agents_move_mcp_scope` / `nomoreide_agents_move_skill_scope` | 在代理和范围之间复制/移动 MCP 和技能 |
| `nomoreide_agents_snapshot_agent` | 备份代理的配置文件 |
| `nomoreide_profiles_list` / `get` / `create` / `update` / `delete` | 配置文件 CRUD |
| `nomoreide_profiles_snapshot` / `nomoreide_profiles_apply` | 捕获实时代理到配置文件 / 应用(干燥运行预览) |
| `nomoreide_profiles_export` / `nomoreide_profiles_import` | 凭证遮蔽的可移植存档 |
| `nomoreide_profiles_publish` / `nomoreide_profiles_install_from_registry` | 通过托管注册表共享配置文件 |
| `nomoreide_profiles_register_github` | 注册 GitHub 仓库作为注册表配置文件 |
---
## 示例配置
### 服务定义(通过 MCP)
```json
{
"name": "backend",
"command": "npm run dev",
"cwd": "/absolute/path/to/project/backend",
"port": 3001,
"env": {
"NODE_ENV": "development"
},
"description": "REST API 服务器"
}
```
### 捆绑定义(通过 MCP)
```json
{
"name": "full-stack",
"services": ["db", "backend", "frontend"]
}
```
启动整个堆栈只需一个调用:
```json
{ "name": "full-stack" }
```
---
## 安全模型
NoMoreIDE 设计为**AI 代理无需防护措施即可调用的安全性**:
- 不扫描或枚举整个文件系统
- 不杀死它未启动的进程
- 报告端口冲突而不是终止占用该端口的进程
- Git 工具省略所有破坏性操作(无 `reset --hard`、`clean`、`push --force` 或 `branch -D`)
- 数据库 MCP 工具为只读;写入被拒绝并提交到 Web UI SQL 控制台
- 数据库写入需要显式解锁、预览和提交
- GitHub 创建/评论/合并工具需要配置的令牌和显式用户意图
- 配置范围限定为 `~/.config/nomoreide/config.json`
- 日志仅写入 `.nomoreide/logs/`
---
## 开发
```bash
npm test # 运行完整的测试套件(vitest)
npm run build # 编译 TypeScript → dist/
npm run dev # 从源代码运行(tsx)
```
---
## 贡献
欢迎在 [github.com/Rorogogogo/nomoreide](https://github.com/Rorogogogo/nomoreide) 提交问题和拉取请求。
如果这个工具帮助你避免打开 VS Code,今天就考虑给它一个 ⭐ 吧。
---
<div align="center">
AGPL-3.0 + 商业 · 由 [Rorogogogo](https://github.com/Rorogogogo) 构建
</div>
## 许可证
该项目采用**双重许可**:
- 🆓 **AGPL-3.0** — 免费用于个人使用、开源分支和在兼容许可证下自行开源的项目。参见 [LICENSE](LICENSE)。
- 💼 **商业许可证** — 适用于封闭源代码产品、专有内部工具或付费/托管服务,其中 AGPL-3.0 的著作权和网络使用义务不适用。参见 [COMMERCIAL.md](COMMERCIAL.md)。
### 我需要商业许可证吗?
| 使用场景 | 许可证 |
|---|---|
| 个人使用 / 本地运行 | AGPL-3.0(免费) |
| 在 AGPL-3.0 下分叉和发布 | AGPL-3.0(免费) |
| 捆绑到封闭源代码产品 | **商业** |
| 将修改后的版本作为 SaaS 托管而非发布源代码 | **商业** |
| 内部公司工具,未开源 | **商业** |
有关商业许可证,请联系 **Robert Wang**,邮箱:**xwang.robert@gmail.com** — 参见 [COMMERCIAL.md](COMMERCIAL.md),了解申请时需要包含的内容。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器