summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2025-06-16Preflight and integration npx (#1096)matt korwel
2025-06-16small fixes in telemetry docs (#1081)Jerop Kipruto
- `GOOGLE_CLOUD_PROJECT` --> `OTLP_GOOGLE_CLOUD_PROJECT` - Remove `npm run start:gcp` shorthand from docs until after improving cleanup process
2025-06-15Add a command for starting Gemini CLI with GCP telemetry (#1079)Jerop Kipruto
This command enables starting the application with GCP telemetry: ```shell npm run start:gcp ```
2025-06-16Decouple telemetry project ID configuration (#1077)Jerop Kipruto
#750 Renames project ID for telemetry from `GOOGLE_CLOUD_PROJECT` to `OTLP_GOOGLE_CLOUD_PROJECT`. This change allows for a separate Google Cloud Project to be used for telemetry data, distinct from the project used for other services like Vertex AI or Code Assist. This enhances clarity and flexibility in project configuration.
2025-06-15Add file operation telemetry (#1068)Jerop Kipruto
Introduces telemetry for file create, read, and update operations. This change adds the `gemini_cli.file.operation.count` metric, recorded by the `read-file`, `read-many-files`, and `write-file` tools. The metric includes the following attributes: - `operation` (string: `create`, `read`, `update`): The type of file operation. - `lines` (optional, Int): Number of lines in the file. - `mimetype` (optional, string): Mimetype of the file. - `extension` (optional, string): File extension of the file. Here is a stacked bar chart of file operations by extension (`js`, `ts`, `md`): ![image](https://github.com/user-attachments/assets/3e8f8ea9-6155-4186-863c-075cc47647c5) Here is a stacked bar chart of file operations by type (`create`, `read`, `update`): ![image](https://github.com/user-attachments/assets/3fcf491d-31d0-4ba8-80e6-7fd2bd9c7c27) #750 cc @allenhutchison as discussed
2025-06-15Add support for /mcp schema to show full parameter schema as JSON (#1050)Billy Biggs
Outputs a raw JSON version of the parameter names and descriptions as provided to the model, plus minor formatting adjustments to /mcp desc.
2025-06-15Add support for showing descriptions of CLI tools (#1052)Billy Biggs
Adds support for /tools desc to show the full description of tools as provided to the model.
2025-06-15Add telemetry command and refactor telemetry settings (#1060)Jerop Kipruto
#750 ### Telemetry Settings Refactors telemetry configuration to use a nested `telemetry` object in `settings.json`, for example: ```json { "telemetry": { "enabled": true, "target": "gcp" "log-prompts": "true" }, "sandbox": false } ``` The above includes - Centralized telemetry settings under a `telemetry` object in `settings.json`. - CLI flags for the `gemini` command to override all telemetry sub-settings: - `--telemetry` / `--no-telemetry` - `--telemetry-target <local|gcp>` - `--telemetry-otlp-endpoint <URL>` - `--telemetry-log-prompts` / `--no-telemetry-log-prompts` - Updates `packages/cli/src/config/config.ts` and `packages/core/src/config/config.ts` to read from the new settings structure and respect the new CLI flags. - Modifies `scripts/handle-telemetry.js`, `scripts/local_telemetry.js`, and `scripts/telemetry_utils.js` to align with the new settings structure. - Updates `docs/core/telemetry.md` to reflect the new settings structure, CLI flags, and order of precedence. - Renames `logUserPromptsEnabled` to `logPrompts` for brevity. ### `npm run telemetry` Add a new `npm run telemetry` command that uses `scripts/telemetry.js`, automates the entire process of setting up a local and GCP telemetry pipelines, including configuring the necessary settings in the `.gemini/settings.json` workspace file and installing required binaries (e.g. `otelcol-contrib`). --- ```shell $ npm run telemetry -- --target=gcp > [email protected] telemetry > node scripts/telemetry.js --target=gcp โš™๏ธ Using command-line target: gcp ๐Ÿš€ Running telemetry script for target: gcp. โœจ Starting Local Telemetry Exporter for Google Cloud โœจ โš™๏ธ Enabled telemetry in workspace settings. ๐Ÿ”ง Set telemetry OTLP endpoint to http://localhost:4317. ๐ŸŽฏ Set telemetry target to gcp. โœ… Workspace settings updated. โœ… Using Google Cloud Project ID: foo-bar ๐Ÿ”‘ Please ensure you are authenticated with Google Cloud: - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key. - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles. โœ… otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib ๐Ÿงน Cleaning up old processes and logs... โœ… Deleted old GCP collector log. ๐Ÿ“„ Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml ๐Ÿš€ Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log โณ Waiting for OTEL collector to start (PID: 17013)... โœ… OTEL collector started successfully on port 4317. โœจ Local OTEL collector for GCP is running. ๐Ÿš€ To send telemetry, run the Gemini CLI in a separate terminal window. ๐Ÿ“„ Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log ๐Ÿ“Š View your telemetry data in Google Cloud Console: - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar - Traces: https://console.cloud.google.com/traces/list?project=foo-bar Press Ctrl+C to exit. ^C ๐Ÿ‘‹ Shutting down... โš™๏ธ Disabled telemetry in workspace settings. ๐Ÿ”ง Cleared telemetry OTLP endpoint. ๐ŸŽฏ Cleared telemetry target. โœ… Workspace settings updated. ๐Ÿ›‘ Stopping otelcol-contrib (PID: 17013)... โœ… otelcol-contrib stopped. ```
2025-06-14fix: Push tool calls to absolute paths (#1055) (#1057)Keir Mierle
Make several changes to guide the model to request absolute paths, reducing frequent accidental relative path tool call failures. - Switch the parameter name: path --> absolute_path. - Update the tool definition to strongly require an absolute path. - Update the system prompt to indicate absolute paths are required. - Update the system prompt tool use examples to use absolute paths. Test case: Open GC in GC: "Locate the primary file calling genai" - Expected: Model opens files with absolute path, successfully. - Actual (pre-patch): Failure, attempts to read with relative path. - Actual (post-patch): Success, attempts to read with absolute path.
2025-06-14docs: document environment variables for cloud services (#1048)Scott Densmore
2025-06-14docs: clarify telemetry script usage (#1034)Jerop Kipruto
Updates the telemetry documentation and the GCP telemetry script to make it clearer that the Gemini CLI needs to be run in a separate terminal session after starting the collector script. This addresses potential user confusion where they might expect telemetry data to appear without actively using the CLI. #750
2025-06-14feat: Add custom URL support for the /bug command (#1017)Allen Hutchison
2025-06-14Add `/compress` command to force a compression of the context (#986)Jacob MacDonald
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-13Add GCP telemetry script (#1033)Jerop Kipruto
Adds a script - `scripts/telemetry_gcp.js` - to simplify setting up a local OpenTelemetry collector that forwards data to Google Cloud. This is a follow up to the script for local telemetry `scripts/local_telemetry.js` added in #1015. This script automates downloading necessary binaries, configuring the collector, and updating workspace settings. Also includes `scripts/telemetry_utils.js` with shared helper functions for telemetry scripts. Will refactor `scripts/local_t elemetry.js` in next steps to use this shared functionality. Updates `docs/core/telemetry.md` to include: - A new "Quick Start" section - Detailed instructions for the new GCP automated script - Reorganization of existing sections for clarity #750 --- ``` โœจ Starting Local Telemetry Exporter for Google Cloud โœจ โš™๏ธ Enabled telemetry in workspace settings. ๐Ÿ”ง Set telemetry OTLP endpoint to http://localhost:4317. โœ… Workspace settings updated. โœ… Using Google Cloud Project ID: foo-bar ๐Ÿ”‘ Please ensure you are authenticated with Google Cloud: - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key. - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles. โœ… otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib ๐Ÿงน Cleaning up old processes and logs... โœ… Deleted old GCP collector log. ๐Ÿ“„ Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml ๐Ÿš€ Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log โณ Waiting for OTEL collector to start (PID: 65145)... โœ… OTEL collector started successfully on port 4317. โœจ Local OTEL collector for GCP is running. ๐Ÿ“„ Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log ๐Ÿ“Š View your telemetry data in Google Cloud Console: - Traces: https://console.cloud.google.com/traces/list?project=foo-bar - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar Press Ctrl+C to exit. ^C ๐Ÿ‘‹ Shutting down... โš™๏ธ Disabled telemetry in workspace settings. ๐Ÿ”ง Cleared telemetry OTLP endpoint. โœ… Workspace settings updated. ๐Ÿ›‘ Stopping otelcol-contrib (PID: 65145)... โœ… otelcol-contrib stopped. ```
2025-06-13Add a local telemetry launcher (#1015)Keir Mierle
2025-06-13Improvements to web-fetch tool (#1030)Allen Hutchison
2025-06-13Fix default extension context filename and update docs (#1024)Tommaso Sciortino
2025-06-13Revert "Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set" (#1011)Jerop Kipruto
2025-06-13Edit pass of docs/cli/index.md (#999)starsandskies
Make a pass through the docs/deployment.md file to hopefully improve readability and conciseness Notably, I've proposed axing both the "Core Features" section - which feels too promotional this far down the folder hierarchy and which is somewhat repetitive to later in the page - and the "Basic Interaction" section - which is covered better, and makes more sense, in other parts of the documentation
2025-06-13Update contextFileName to support an optional list of strings (#1001)Billy Biggs
2025-06-13cleanup unused `allowBuildArtifacts` (#1010)Anas H. Sulaiman
2025-06-13cleanup unused `customIgnorePatterns` (#1009)Anas H. Sulaiman
2025-06-13Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set (#1003)Jerop Kipruto
This change simplifies telemetry setup for users who want to integrate with GCP, as they no longer need to configure a local collector or an explicit endpoint if their project is already set up in the environment. This change updates the telemetry system to automatically export traces, logs, and metrics to Google Cloud Platform (GCP) if the `GOOGLE_CLOUD_PROJECT` environment variable is set and no explicit `telemetryOtlpEndpoint` is configured by the user. Key changes: - The default `telemetryOtlpEndpoint` in `Config` is now an empty string. - The `initializeTelemetry` SDK logic now prioritizes: - User-defined `telemetryOtlpEndpoint`. - `GOOGLE_CLOUD_PROJECT` for direct GCP export. - Console exporters as a fallback. - If an invalid `telemetryOtlpEndpoint` is provided, it falls back to console exporters with a warning. #750
2025-06-13Handle telemetry in non-interactive mode (#1002)Jerop Kipruto
Changes: - Ensure proper shutdown in non-interactive mode - Ensures the initial user prompt is logged in non-interactive mode - Improve telemetry for streaming - handle chunks and input token count is now alongside other token counts in response To test: - Follow instructions in https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#google-cloud - Run CLI in non-interactive mode and observe logs/metrics in GCP Logs Explorer and Metrics Explorer #750
2025-06-12Code Assist cleanup and docs (#993)Tommaso Sciortino
2025-06-12Refactor OTEL logging for API calls (#991)Jerop Kipruto
Refactor OpenTelemetry logging for API requests, responses, and errors. Moved logging responsibility from GeminiClient to GeminiChat for more detailed logging. #750
2025-06-12GitHub MCP warning (#979)Eddie Santos
2025-06-12telemetry: include user decisions in tool call logs (#966)Jerop Kipruto
Add the user's decision (accept, reject, modify) to tool call telemetry to better understand user intent. The decision provides crucial context to the `success` metric, as a user can reject a call that would have succeeded or accept one that fails. Also prettify the arguments json. Example: ![image](https://github.com/user-attachments/assets/251cb9fc-ceaa-4cdd-929c-8de47031aca8) #750
2025-06-12Edit pass of docs/architecture.md (#971)starsandskies
2025-06-11Added note about using MCP/tools with a sandbox (#933)Mark McDonald
2025-06-11Telemetry: Improve clarity of user prompt event (#967)Jerop Kipruto
2025-06-11feat: External editor settings (#882)Leo
2025-06-11add excludeTools flag to settings.json config (#957)JingboWang1997-1
2025-06-11Extensibility: Gemini.md files (#944)matt korwel
2025-06-11feat(telemetry): expand cli configuration eventjerop
Adds the following attributes to the event: - embedding_model - api_key_enabled - code_assist_enabled - debug_mode - mcp_servers This additional data will provide more insight into user configurations.
2025-06-11feat(telemetry): Update API response in telemetryjerop
Adds the text content of the API response to the telemetry event. This provides more context for debugging and analysis without logging the entire, potentially large, response object. - Adds an optional field to the type. - Updates to include the field in the logged attributes. - Modifies the to extract the response text using and pass it to the logger. - Adds a new test file for the telemetry loggers, including tests for the function to verify the new functionality.
2025-06-11refactor(telemetry): pass config object to telemetry functionsjerop
This commit refactors the telemetry system to pass a object to various logging and metrics functions. This change centralizes configuration management within the telemetry system, making it more modular and easier to maintain. The constructor and various tool execution functions have been updated to accept the object, which is then passed down to the telemetry functions. This eliminates the need to pass individual configuration values, such as , through multiple layers of the application.
2025-06-11update token usage with typesjerop
2025-06-11update from metrics and logs prefix from gemini_code to gemini_clijerop
2025-06-10docs(telemetry): Refine OTEL Collector setup instructionsjerop
Standardizes on the distribution for local and Google Cloud setups. Restructures the guide to present Docker and standalone binary as clear, parallel options and makes the Google Cloud command more robust.
2025-06-10Allow simple extensions for registering MCPservers (#890)Tommaso Sciortino
2025-06-10update documentation for oteljerop
2025-06-10docs(telemetry): improve telemetry documentationjerop
This commit enhances the telemetry documentation with several key improvements for clarity and usability. - Adds a prominent note clarifying that telemetry is currently incompatible with sandbox mode. - Updates the example JSON configuration to explicitly include sandbox: false to prevent user confusion. - Introduces a new Configurations section with instructions to create the directory. - Adds a new step for setting necessary environment variables for the Google Cloud setup. - Makes the command for Google Cloud more portable by using the environment variable instead of a hardcoded path. - Re-numbers the steps in the Google Cloud setup guide to maintain a logical flow.
2025-06-10Fix null pointer for traces field and use the batch processor (#884)anj-s
2025-06-10restricted networking for all sandboxing methods, new seatbelt profiles, โ†ตOlcan
updated docs, fixes to sandbox build, debugging through sandbox (#891)
2025-06-09docs: add deployment documentation (#874)Brandon Keiji
2025-06-09Windows: Refactor Shell Scripts to Node.js for Cross-Platform Compatibility โ†ตmatt korwel
(#784)
2025-06-09rename shell tool more intuitively as run_shell_command (from historical โ†ตOlcan
name of execute_bash_command inherited from terminal tool) (#869)
2025-06-08Revert "Add batch editing capabilities to Edit Tool (#648)" (#857)N. Taylor Mullen
2025-06-07Bryanmorgan/add mcp description support (#825)Bryan Morgan