操作设置
 
TUI安装程序,用于设置完整的AI编码环境——安装工具、部署点文件和配置 主控程序 服务器。
_
___ _ __ ___ ___| |_ _ _ _ __
/ _ \| '_ \ / __|/ _ \ __| | | | '_ \
| (_) | |_) | \__ \ __/ |_| |_| | |_) |
\___/| .__/ |___/\___|\__|\__,_| .__/
|_| |_|快速开始
# Install
curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | sh
# Run (interactive TUI)
op-setup
# Or preview what it would do first
op-setup --dry-run
# Or run headless (CI/scripts)
op-setup --no-interactive --profile full它做什么
op setup是一个Go二进制文件,它从头开始设置你的AI编码环境。选择一个安装配置文件,它将处理其余部分——具有同等效力,包括备份和回滚。
设置配置文件
| 简介 | 它的作用 |
|---|---|
| 完整设置 | 安装工具+部署点文件+配置MCP服务器 |
| 仅限MCP服务器 | 仅在AI工具配置文件中配置MCP服务器 |
| 仅点文件 | 仅部署代理、技能、脚本和nvim配置 |
支持的AI工具
| 工具 | 配置文件 | 格式 |
|---|---|---|
| 克劳德代码 | ~/.claude/settings.json | JSON(mcpServers) |
| OpenCode | ~/.config/opencode/opencode.json | JSON(mcp) |
| 食品法典委员会 | ~/.codex/config.toml | 汤姆([mcp_servers.X]) |
| Gemini CLI | ~/.gemini/settings.json | JSON(mcpServers) |
可用的MCP服务器
| 组件 | 类型 | 描述 |
|---|---|---|
| Engram | 本地 | 持久跨会话内存 |
| 上下文模式 | 本地 | 上下文优化(约98%的使用率降低) |
| 剧作家 | 本地 | 通过MCP实现浏览器自动化 |
| GitHub MCP | 远程 | 通过Copilot MCP访问GitHub API |
| Context7 | 远程 | 最新的框架文档 |
工具安装程序(完整设置配置文件)
| 工具 | 安装方法 |
|---|---|
| OpenCode | npm install -g opencode |
| 工程师 | go install github.com/Gentleman-Programming/engram/cmd/engram@latest |
| 上下文模式 | npm install -g context-mode |
| 剧作家 | npx playwright install --with-deps chromium |
嵌入式点文件(完整设置/仅点文件配置文件)
部署OpenCode代理、技能、脚本、插件和Neovim配置 ~/.config/.
安装
一个衬垫(推荐)
curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | sh自动检测OS/arch。安装到 /usr/local/bin/.用覆盖 INSTALL_DIR:
curl -sSL https://raw.githubusercontent.com/MiguelAguiarDEV/op-setup/main/install.sh | INSTALL_DIR=~/.local/bin sh来自GitHub发布
从以下网址下载适用于您平台的二进制文件 发布.
来源
go install github.com/MiguelAguiarDEV/op-setup/cmd/op-setup@latest本地建设
git clone https://github.com/MiguelAguiarDEV/op-setup.git
cd op-setup
make build
./op-setup用法
互动(TUI)
op-setup # Full TUI flow
op-setup --dry-run # Preview without changes
op-setup --profile mcp-only # Pre-select profile非交互式(无头)
op-setup --no-interactive --profile full --dry-run # Preview full setup
op-setup --no-interactive --profile full # Execute full setup
op-setup --no-interactive --profile mcp-only # Only configure MCP servers
op-setup --no-interactive --profile dotfiles-only # Only deploy dotfilesCLI标志
| 标志 | 描述 |
|---|---|
--dry-run | 显示不执行会发生什么 |
--profile | 设置配置文件: full, mcp-only, dotfiles-only |
--no-interactive | 在没有TUI的情况下无头运行(需要 --profile) |
TUI流量
TUI指导您完成:
- 配置文件选择 --选择“完全设置”、“仅MCP”或“仅点文件”
- 检测 --扫描已安装的AI工具(仅Dotfiles跳过)
- 代理商选择 --选择要配置的工具(仅对Dotfiles跳过)
- 组件选择 --选择要安装的MCP服务器(仅对Dotfiles跳过)
- 审查 --申请前确认选择
- 安装 --执行带有实时进度的4阶段管道
幂等
多次运行操作设置是安全的。它合并新条目,而不覆盖现有的配置键。如果已存在具有相同配置的MCP服务器条目,则跳过该条目。点文件在覆盖之前会被备份。
备份
在修改任何配置文件或点文件之前,op安装程序会在中创建一个带时间戳的备份快照 ~/.op-setup/backups/。每个快照包括:
- 所有原始配置文件的副本
- A.
manifest.json描述备份的内容 - 保留原始文件权限
如果任何阶段中途失败,管道将使用备份自动回滚所有更改。
建筑
cmd/op-setup/ Entry point
internal/
model/ Core domain types (AgentID, ComponentID, InstallerID, SetupProfile)
adapter/ Adapter interface + registry
claude/ Claude Code adapter
opencode/ OpenCode adapter (+ PostInject for plugin array)
codex/ Codex adapter
gemini/ Gemini CLI adapter
component/ MCP server catalog + resolver
installer/ Tool installers (detect/install/rollback)
dotfiles/ Embedded dotfiles (go:embed) + deployer
embed/ 18 embedded config files
config/ Atomic file writes, JSON merger, TOML merger
backup/ Timestamped snapshots + restore from manifest
pipeline/ Prepare→Install→Deploy→Apply orchestration with rollback
steps/ BackupStep, ValidateStep, InjectStep
tui/ Bubbletea TUI
screens/ 8 screen renderers (Kanagawa theme)
styles/ Shared lipgloss styles
app/ Wires registry + installer registry + TUI管道阶段
| 阶段 | 描述 |
|---|---|
| 准备 | 验证依赖关系+备份现有配置 |
| 安装 | 安装工具(OpenCode、Engram、上下文模式、剧作家) |
| 部署 | 将嵌入式点文件部署到 ~/.config/ |
| 应用 | 将MCP服务器配置注入AI工具配置文件 |
每个阶段都是可选的——活动配置文件决定了运行哪些阶段。如果任何阶段失败,则所有阶段中所有成功的步骤都将回滚。
设计原则
- 适配器模式 --添加新的AI工具需要一个子包+注册表项
- 通过结构体字段进行DI --所有可注射用于测试的外部依赖关系
- Idempotent合并 --JSON和TOML合并-写入前检查
- 原子写入 --temp文件+重命名可防止崩溃时的部分写入
- 修改前备份 --每次配置/点文件更改都是可逆的
- 具有回滚功能的管道 --如果任何步骤失败,则撤消之前的所有步骤
- 配置文件感知路由 --TUI流量适应所选配置文件
发展
make test # Run all tests with -race
make test-cover # Generate coverage report
make lint # go vet
make build # Build binary
make clean # Remove artifacts测试方法
- 标准库
testing只有(没有作证) - 表驱动测试
t.Run t.TempDir()用于文件系统测试(无模拟)- 通过结构体字段进行依赖注入的DI
- 默认情况下启用种族检测器
- 每个包裹的覆盖率目标≥85%
许可证
麻省理工学院
