|
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: | |
| 1. Probes port 25417 for an existing DevTools instance | |
| 2. If found, connects as a WebSocket client | |
| 3. If not, starts a new DevTools server and connects to it | |
| 4. 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 | |
| ```bash | |
| # 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 | |
| ``` | |