# nikou-node **Repository Path**: vangelisx/nikou-node ## Basic Information - **Project Name**: nikou-node - **Description**: 妮蔻 部署脚本,test - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-08-08 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Nikou CLI 安装与使用指南 Nikou CLI 提供 `oc / nb / am / nb-init / project-info / sonar / fbd` 等一系列发布与运维脚本,推荐使用远程脚本一键安装并自动初始化。 ## 一键安装并初始化(推荐,非 npm) macOS / Linux: ```bash curl -fsSL https://gitee.com/vangelisx/nikou-node/raw/main/bin/install.sh | sh ``` Windows PowerShell: ```powershell powershell -ExecutionPolicy Bypass -Command "iwr https://gitee.com/vangelisx/nikou-node/raw/main/bin/install.ps1 -UseBasicParsing | iex" ``` 1 安装脚本会自动检测 Node.js、拉取最新 `bin/init.js`、完成更新与链接,并在安装结束后自动执行 `nb-init` 交互初始化。完成后可直接运行以下命令: ```bash oc -h nb -h am -h nacos-config -h nb-init project-info path cc list sonar -h fbd ``` > **提示**:后续若需重新配置,可单独运行 `nb-init`。如需只安装不自动初始化,可先设置环境变量 `NIKOU_SKIP_AUTO_NB_INIT=true` 再执行安装命令。 ## 升级 / 卸载 - 升级到最新版本:重新执行上面的安装命令即可(会自动 `git pull` 最新代码)。 - 卸载 CLI:删除本地项目目录(默认 `~/nikou-node`)并移除全局链接: - `npm uninstall -g nikou-node`(若曾通过 npm 安装) - 或手动清理 `/usr/local/bin` 下的命令链接。 升级后如需刷新 OPS 配置,可再次执行 `nb-init`。 `nb-init` 也会同步维护 Codex 的 hst-mcp 配置: - 首次初始化时自动写入 `~/.codex/config.toml` - 已存在旧版 `[mcp_servers.hst]` 时,会自动升级为最新配置 - 最新配置固定使用 `hst-mcp/src/server.js`,并写入 `startup_timeout_ms = 20000` ## 开发者调试 若需要在本地调试源码,可继续使用传统方式: 1. 拉取仓库并安装依赖 ```bash git clone https://gitee.com/vangelisx/nikou-node.git cd nikou-node npm install ``` 2. 赋予入口脚本执行权限并进行本地调试 ```bash chmod +x router.js node router.js nb --help ``` 3. 如需手动全局链接,可执行: ```bash sudo ln -sf $(pwd)/router.js /usr/local/bin/oc sudo ln -sf $(pwd)/router.js /usr/local/bin/nb sudo ln -sf $(pwd)/router.js /usr/local/bin/am sudo ln -sf $(pwd)/router.js /usr/local/bin/nb-init sudo ln -sf $(pwd)/router.js /usr/local/bin/nacos-config sudo ln -sf $(pwd)/router.js /usr/local/bin/sonar sudo ln -sf $(pwd)/router.js /usr/local/bin/codex-cc sudo ln -sf $(pwd)/router.js /usr/local/bin/app-log sudo ln -sf $(pwd)/router.js /usr/local/bin/fbd sudo ln -sf $(pwd)/router.js /usr/local/bin/app-config sudo ln -sf $(pwd)/router.js /usr/local/bin/vops sudo ln -sf $(pwd)/router.js /usr/local/bin/xxl sudo ln -sf $(pwd)/router.js /usr/local/bin/ai-hook ``` ## 常见问题 - `am` 命令需要在 PATH 中可执行,若通过全局 Hook 调用可直接使用 `/usr/local/bin/am` 等绝对路径。 - 如果在 push 时希望在 `am` 失败后中断,可在 pre-push 钩子中增加 `am || exit 1`。 - `project-info pull` 在 npm 全局安装模式下不会直接修改 npm 包,若需升级请执行 `npm update -g nikou-node`。 ## 代理配置(全局生效) 当公司网络或本机需要通过代理访问内网服务时,可通过环境变量让 CLI 全部请求走代理(支持 HTTP 与 SOCKS): macOS / Linux: ```bash export NIKOU_PROXY=http://127.0.0.1:7897 # 或 SOCKS5 export NIKOU_PROXY=socks5://127.0.0.1:7897 ``` Windows PowerShell: ```powershell $env:NIKOU_PROXY="http://127.0.0.1:7897" # 或 SOCKS5 $env:NIKOU_PROXY="socks5://127.0.0.1:7897" ``` 如需长期生效,请将 `NIKOU_PROXY=...` 写入 `~/.zshrc` / `~/.bashrc` 或 Windows 用户环境变量。 也可使用 `HTTPS_PROXY / HTTP_PROXY / ALL_PROXY` 作为兼容配置。 ## VPN DNS 直连(可选,默认关闭) 当系统 DNS 缓存与 VPN 内网解析不一致时(浏览器可访问但 CLI 返回 403),可开启“VPN DNS 直连”模式,让 CLI 对公司域名使用 VPN 的 DNS 服务器解析,避免被公网解析劫持。 macOS / Linux: ```bash # 强制开启 VPN DNS 直连(默认关闭) export NIKOU_FORCE_VPN=1 # 可选:指定 VPN DNS 服务器(默认尝试自动发现) export NIKOU_DNS=192.168.90.183 # 可选:补充公司域名后缀(逗号分隔) export NIKOU_DNS_DOMAINS="vbkrhk.com,vbkr.com,hszq8.com,hstong.com,hszq.com.cn,hashkeydev.com" ``` Windows PowerShell: ```powershell $env:NIKOU_FORCE_VPN="1" $env:NIKOU_DNS="192.168.90.183" $env:NIKOU_DNS_DOMAINS="vbkrhk.com,vbkr.com,hszq8.com,hstong.com,hszq.com.cn,hashkeydev.com" ``` 如需长期生效,请将上述环境变量写入 `~/.zshrc` / `~/.bashrc` 或 Windows 用户环境变量。 ## cc 命令(Claude 快捷配置) `cc` 用于快速切换 Claude 所需的环境变量,并自动启动 Claude 客户端: - `cc add <名称> `:写入配置,存储在 `~/.cc/settings.json`,名称不可重复。 - `cc list`:查看所有可用配置,Token 仅显示部分内容方便确认。 - `cc <名称> [Claude 参数]`:以指定配置设置 `ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN` 后立即执行 `Claude` 命令。 示例: ## app-config 命令(查询/修改配置) `app-config` 用于查询并交互式修改 OPS 后台的 app-config 配置(当前仅支持修改 `cvalue`)。 - 查询(默认 feature,默认取前 10 条): - `app-config` - `app-config CRM_SETTLEMENT_SWITCH` - 指定环境: - `app-config -f `:feature - `app-config -u `:uat - `app-config -d `:daily(会映射到 uat) - 修改规则: - `cvalue` 为 JSON:进入系统编辑器(默认 `vi`;可通过 `VISUAL/EDITOR` 指定如 `code --wait`),保存后自动压缩成单行再提交 - `cvalue` 非 JSON:控制台单行输入并提交 - 查询输出会展示 `状态(正常/禁用)`,并对状态做颜色区分 ## 安装方式 1. macOS / Linux ``` curl -fsSL https://gitee.com/vangelisx/nikou-node/raw/main/bin/install.sh | sh ``` 2. Windows PowerShell ``` powershell -ExecutionPolicy Bypass -Command "iwr https://gitee.com/vangelisx/nikou-node/raw/main/bin/install.ps1 -UseBasicParsing | iex" ``` 3. 兼容 node -e(Node.js 18+) ``` node -e "(async()=>{const fs=require('node:fs');const os=require('node:os');const path=require('node:path');const {pathToFileURL}=require('node:url');const p=path.join(os.tmpdir(),'nikou-init-'+Date.now()+'.mjs');try{const r=await fetch('https://gitee.com/vangelisx/nikou-node/raw/main/bin/init.js');if(r.status>=400) throw new Error('HTTP '+r.status);fs.writeFileSync(p,await r.text(),'utf8');const m=await import(pathToFileURL(p).href);await (m.init||m.default)();}catch(e){console.error(e);process.exit(1);}finally{try{fs.unlinkSync(p);}catch{}}})();" ```