快速开始
按当前 release 仓库真实存在的 server 与 terminal-ui 链路启动 SecBot。
本文档介绍当前 release 分支支持的完整运行方式:SecBot Desktop 桌面客户端、Terminal UI 终端交互、独立后端服务以及自动化基准测试。
0. 桌面版安装(最推荐的用户界面)
对于大多数日常安全测试与交互场景,推荐直接下载安装 SecBot Desktop 桌面版:
- 前往 GitHub Releases(标签形如
desktop-app-v*); - 根据您的操作系统下载对应安装包:
- macOS Apple Silicon:
.dmg - Windows x64:
.exe(NSIS 安装包) - Ubuntu / Linux x64:
.deb或.AppImage
- macOS Apple Silicon:
- 安装并启动后,设置面板内可直观切换模型后端、调节主题与查验系统状态。
亦可下载免环境依赖的 TUI 独立自包含压缩包(
secbot-tui-<version>-<platform>.tar.gz),解压后直接执行./secbot即可运行。
1. 源码运行环境要求
- Node.js
>= 24 - npm
>= 10 - 真实终端 TTY(运行 Ink TUI 时需要;Windows 推荐 Windows Terminal / PowerShell)
- Docker & Docker Compose(运行靶场基准测试时需要)
- 可选:Ollama(仅在使用本地模型时需要)
2. 配置模型
在仓库根目录创建 .env。当前仓库没有 .env.example,下面是最小示例。
使用 DeepSeek:
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-your-api-key
DEEPSEEK_MODEL=deepseek-chat使用 Ollama:
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3.2
OLLAMA_EMBEDDING_MODEL=nomic-embed-text说明:
- TUI 里可以通过
/model修改 provider、API Key、Base URL 和模型。 - 通过 TUI 保存的配置会写入 SQLite /
config.yaml,后续启动会优先使用已保存配置。
3. 从源码启动完整 TUI
git clone https://github.com/iammm0/secbot.git
cd secbot
npm install
npm run start:stacknpm run start:stack 会先构建后端,再启动 terminal-ui。TUI 默认使用 spawn 模式,也就是在本地自动拉起一个 NestJS 后端子进程,并通过 /api/chat 的 SSE 流展示规划、推理、工具执行和最终报告。
也可以直接运行:
npm startnpm start 只启动已经构建好的后端;如果你想进入 TUI,优先使用 npm run start:stack 或 npm run start:tui。
4. 只启动后端 API
适合 API 调试、自动化脚本或把 TUI 连接到已有服务。
npm run dev或构建后运行:
npm run build
node server/dist/main.js默认地址:
- Base URL:
http://127.0.0.1:8000 - 健康检查:
GET /health - 系统信息:
GET /api/system/info
当前后端没有注册 Swagger UI,因此不要依赖 /docs 页面。
5. 单独启动 terminal-ui
默认 terminal-ui 会自行启动本地后端子进程:
npm run build
npm run start:tui如果后端已经在运行,并且你只想让 TUI 连接已有服务,请使用 service 模式:
SECBOT_TUI_BACKEND=service SECBOT_API_URL=http://127.0.0.1:8000 npm run start:tui也可以在 terminal-ui/ 目录中直接运行:
cd terminal-ui
npm install
npm run tui6. 从 GitHub Releases 安装
从 GitHub Releases 下载 .tgz(当前 v2.0.0-b2)。包内元数据名称为 @opensec/secbot,但不会发布到 npmjs。
npm install -g ./opensec-secbot-2.0.0-b2.tgz
secbot或一次性运行:
npx ./opensec-secbot-2.0.0-b2.tgz后端专用入口:
secbot-server7. 常见命令
npm run build # 构建 server/dist
npm run build:terminal-ui # 构建 terminal-ui/dist
npm run typecheck # TypeScript 类型检查
npm test # 运行 vitest 自动化测试
npm run start:stack # 构建并进入 TUI
npm run start:tui # 启动 TUI
npm run bench:standard # 运行 15 项标准权威基准测试 (Pass@1 评测)8. 常见问题
8.1 TUI 没有进入全屏界面
Ink 需要真实 TTY。请在系统终端中运行,不要在没有 TTY 的 IDE 子进程里直接启动。Windows 下可以使用:
.\scripts\start-cli.ps1或双击 scripts/start-cli.bat。
8.2 TUI 提示找不到后端构建
默认 spawn 模式需要 server/dist/main.js。先在仓库根目录执行:
npm run build8.3 service 模式连接失败
确认后端已启动,并检查:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/api/system/info如果后端不在本机或端口不是 8000,请同步修改 SECBOT_API_URL。
8.4 Ollama 连接失败
请确认:
- Ollama 服务已启动。
OLLAMA_BASE_URL指向正确地址。OLLAMA_MODEL指定的模型已存在,或可由 Ollama 拉取。
更详细说明见 OLLAMA_SETUP.md。