Последняя активность 1 day ago

更新 Vibe Coding CLI 工具

README.md Исходник

Vibe-Coding

一键安装和配置 Vibe-Coding CLI 工具集合

功能说明

本脚本用于自动化安装和配置多种 AI 编码相关的 CLI 工具,包括:

NPM 包

包名 说明
@openai/codex OpenAI CLI
@tencent-ai/codebuddy-code 腾讯 CodeBuddy CLI
@kilocode/cli Kilo Code CLI
@anthropic-ai/claude-code Claude Code CLI
opencode-ai OpenCode CLI
@vegamo/deepcode-cli Deep Code CLI
reasonix DeepSeek 原生的终端 AI 编程代理
@mariozechner/pi-coding-agent Pi
langcli-com Langcli

规范工具

工具 安装方式
@fission-ai/openspec NPM 全局安装
spec-kit UV 工具安装

二进制工具

工具 安装 URL
Kiro CLI https://cli.kiro.dev/install
Antigravity CLI https://antigravity.google/cli/install.sh
AtomCode CLI https://raw.atomgit.com/atomgit_atomcode/atomcode/raw/main/scripts/install.sh
Mimo Code CLI https://mimo.xiaomi.com/install

使用方法

直接运行

chmod +x vibe-coding.sh
./vibe-coding.sh

使用 bash 运行

bash vibe-coding.sh

前置要求

  • Node.jsnpm(用于安装 npm 包)
  • Pythonuv(用于安装 spec-kit)
  • curl(用于下载二进制工具)
  • bash shell

注意事项

  1. 部分安装命令会使用代理加速下载(通过 fx4.cn/x
  2. 安装过程中部分命令会静默执行(> /dev/null 2>&1),请检查日志输出

脚本说明

日志函数

  • log() - 蓝色粗体信息提示
  • warn() - 黄色警告提示
  • error() - 红色错误提示
  • success() - 绿色成功提示
  • sep() - 紫色分隔线

安装函数

  • npm_packages() - 安装所有 npm 包
  • spec() - 安装规范相关工具
  • binary_list() - 下载并安装二进制工具
  • fix_tools() - 修复和配置已安装工具

作者

Jetsung Chan [email protected]

版本

  • 当前版本: 0.1.1
  • 更新日期: 2026-04-04
vibe-coding.sh Исходник
1#!/usr/bin/env bash
2#============================================================
3# File: vibe-coding.sh
4# Description: 安装和配置 vibe-coding CLI 工具
5# Author: Jetsung Chan <[email protected]>
6# Version: 0.1.0
7# UpdatedAt: 2026-01-21
8#============================================================
9
10log() {
11 # 蓝色粗体
12 printf "\033[1;34m[INFO]\033[0m %s\n" "$*" >&2
13}
14
15warn() {
16 # 黄色
17 printf "\033[1;33m[WARN]\033[0m %s\n" "$*" >&2
18}
19
20error() {
21 # 红色
22 printf "\033[1;31m[ERROR]\033[0m %s\n" "$*" >&2
23}
24
25success() {
26 printf "\033[1;32m[SUCCESS]\033[0m %s\n" "$*" >&2
27}
28
29sep() {
30 printf "\033[1;35m========== %s ==========\033[0m\n" "$*" >&2
31}
32
33check_command() {
34 local cmd="$1"
35 local name="$2"
36
37 if ! command -v "$cmd" &> /dev/null; then
38 error "$name is not installed. Please install $name first."
39 exit 1
40 fi
41}
42
43check_in_china() {
44 if [[ -n "${CN:-}" ]]; then
45 return 0 # 手动指定
46 fi
47 if [[ "$(curl -s -m 3 -o /dev/null -w "%{http_code}" https://www.google.com)" == "000" ]]; then
48 return 0 # 中国网络
49 fi
50 return 1 # 非中国网络
51}
52
53npm_packages() {
54 check_command "npm" "npm"
55
56 packages=(
57 "@openai/codex"
58 "@tencent-ai/codebuddy-code"
59 "@kilocode/cli"
60 "@anthropic-ai/claude-code"
61 "opencode-ai"
62 "@vegamo/deepcode-cli"
63 "reasonix"
64 "langcli-com"
65 "@atomgit.com/atomcode"
66 )
67
68 echo
69 for pkg in "${packages[@]}"; do
70 sep "Installing $pkg"
71 log "npm install -g \"$pkg\""
72 npm install -g "$pkg"
73 success "$pkg"
74 done
75
76 packages=(
77 "@mariozechner/pi-coding-agent"
78 )
79
80 echo
81 for pkg in "${packages[@]}"; do
82 sep "Installing $pkg"
83 log "npm install -g --ignore-scripts \"$pkg\""
84 npm install -g --ignore-scripts "$pkg"
85 success "$pkg"
86 done
87}
88
89spec() {
90 check_command "npm" "npm"
91 check_command "uv" "uv"
92
93 echo
94 sep "Installing @fission-ai/openspec"
95 log "npm install -g @fission-ai/openspec"
96 npm install -g @fission-ai/openspec
97 success "@fission-ai/openspec"
98
99 sep "Installing spec-kit"
100 log "uv tool install specify-cli --from git+https://github.com/github/spec-kit.git"
101 uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
102 success "spec-kit"
103}
104
105binary_list() {
106 urls=(
107 "https://antigravity.google/cli/install.sh"
108 "https://mimo.xiaomi.com/install"
109 )
110
111 echo
112 for url in "${urls[@]}"; do
113 echo
114 sep "$url"
115 if [[ -n "${IS_CHINA:-}" ]]; then
116 log "curl -fsSL fx4.cn/x | bash -s -- \"$url\" | bash > /dev/null 2>&1"
117 curl -fsSL fx4.cn/x | bash -s -- "$url" | bash > /dev/null 2>&1
118 else
119 log "curl -fsSL \"$url\" | bash"
120 curl -fsSL "$url" | bash
121 fi
122 done
123
124 # no proxy
125 urls=(
126 "https://cli.kiro.dev/install"
127 "https://raw.atomgit.com/atomgit_atomcode/atomcode/raw/main/scripts/install.sh"
128 )
129
130 echo
131 for url in "${urls[@]}"; do
132 echo
133 sep "$url"
134 curl -fsSL "$url" | bash > /dev/null 2>&1
135 log "curl -fsSL \"$url\" | bash > /dev/null 2>&1"
136 done
137}
138
139fix_tools_claude() {
140 set -- ~/.claude/downloads/claude-*-linux-x64
141 if [ -f "$1" ]; then
142 if "$1" --version 2>/dev/null | grep -q "Claude"; then
143 mv "$1" ~/.local/bin/claude
144 fi
145 echo
146 success "$(claude --version)"
147 fi
148}
149
150fix_tools() {
151 fix_tools_claude
152}
153
154main() {
155 if check_in_china; then
156 IS_CHINA=1
157 fi
158 npm_packages
159 spec
160 binary_list
161 fix_tools
162}
163
164main "$@"
165