|
Download packages/devtools/GEMINI.md from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 3.08 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/devtools/GEMINI.md
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/devtools/GEMINI.md
-
curl -L -o GEMINI.md https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/devtools/GEMINI.md
3.08 kB
Gemini CLI DevTools
Integrated Developer Tools for Gemini CLI, providing a Chrome DevTools-like
interface for Network and Console inspection. Launched automatically when the
general.devtools setting is enabled.
Features
- Network Inspector: Real-time request/response logging with streaming chunks and duration tracking
- Console Inspector: Real-time console log viewing (log/warn/error/debug/info)
- Session Management: Multiple CLI session support with live connection status
- Import/Export: Import JSONL log files, export current session logs
How It Works
When general.devtools is enabled, the CLI's devtoolsService automatically:
- Probes port 25417 for an existing DevTools instance
- If found, connects as a WebSocket client
- If not, starts a new DevTools server and connects to it
- If another instance races for the port, the loser connects to the winner
No environment variables needed for normal use.
Architecture
gemini.tsx / nonInteractiveCli.ts
β (dynamic import)
βΌ
devtoolsService.ts β orchestration + DevTools lifecycle
β (imports)
βΌ
activityLogger.ts β pure logging (capture, file, WebSocket transport)
β (events)
βΌ
DevTools server (:25417) β this package (HTTP + WebSocket + SSE)
β (SSE /events)
βΌ
DevTools UI (React) β client/ compiled by esbuild
Environment Variables
| Variable | Description |
|---|---|
GEMINI_CLI_ACTIVITY_LOG_TARGET |
File path for JSONL mode (optional, fallback) |
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/ws |
WebSocket | Log ingestion from CLI sessions (register, network, console) |
/events |
SSE | Pushes snapshot on connect, then incremental network/console/session events |
/api/trigger-debugger |
POST | Triggers the Node.js debugger for a specific CLI session via WebSocket |
Development
# Build everything (client + server)
npm run build
# Rebuild client only after UI changes
npm run build:client
Project Structure
packages/devtools/
βββ src/
β βββ index.ts # DevTools server (HTTP, WebSocket, SSE)
βββ client/
β βββ index.html
β βββ src/
β βββ main.tsx # React entry
β βββ App.tsx # DevTools UI
β βββ hooks.ts # Data fetching hooks
βββ esbuild.client.js # Client build script
βββ dist/ # Build output
βββ src/index.js # Compiled server
βββ client/ # Bundled client assets