Skip to content

Commit 8a4afa3

Browse files
feat: add anonymous usage telemetry via @vscode/extension-telemetry
- Add TelemetryService wrapping @vscode/extension-telemetry (Application Insights) - Track: extension activation, server start/stop/error, commands, tunnel events - No PII collected: prompts, file paths, API keys, IPs are never sent - Error categorization strips message content, reports type only - Automatically respects vscode telemetry.telemetryLevel — zero data sent if user opts out - Update README to accurately disclose telemetry (replaces false 'no telemetry' claims) - Mark @microsoft/applicationinsights-* as esbuild externals for correct bundling
1 parent 1c88630 commit 8a4afa3

11 files changed

Lines changed: 136459 additions & 379 deletions

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ response = client.chat.completions.create(
9999
)
100100
```
101101

102-
> 🔒 **Your data stays local.** This extension runs entirely on your machine — no third-party servers, no telemetry, no data collection. The full source code is available on [GitHub](https://github.com/suhaibbinyounis/github-copilot-api-vscode) for you to audit.
102+
> 🔒 **Your prompts stay private.** All AI requests are processed entirely on your machine through VS Code's Copilot extension — your prompts and API keys never leave your machine. The extension collects anonymous, aggregate usage metrics (server start/stop events, command usage, error types) to help improve reliability. This telemetry is **fully optional** and respects your VS Code `telemetry.telemetryLevel` setting — set it to `off` to disable all data collection. The full source code is available on [GitHub](https://github.com/suhaibbinyounis/github-copilot-api-vscode) for you to audit.
103103
104104
---
105105

@@ -271,8 +271,8 @@ For advanced options (TLS, IP allowlisting, audit logging), see [CONTRIBUTING.md
271271
This project is **100% free and open-source** under the [MIT License](LICENSE).
272272

273273
- 🔍 **Full source code** available on [GitHub](https://github.com/suhaibbinyounis/github-copilot-api-vscode)
274-
- 🚫 **No telemetry** — zero data collection, no analytics, no tracking
275-
- 🔒 **Runs locally** — your prompts and API keys never leave your machine
274+
- 📊 **Anonymous telemetry** — collects aggregate extension health metrics only (no prompts, no file paths, no PII). Respects your VS Code `telemetry.telemetryLevel` setting — disable via `"telemetry.telemetryLevel": "off"` in VS Code settings.
275+
- 🔒 **Prompts stay local** — your AI requests and API keys never leave your machine
276276
- ✅ **Community-driven** — contributions welcome via [CONTRIBUTING.md](CONTRIBUTING.md)
277277
- 🛡️ **Security** — report vulnerabilities via [SECURITY.md](SECURITY.md)
278278

dist/extension.js

Lines changed: 75272 additions & 367 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/extension.js.map

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

esbuild.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async function main() {
3535
sourcesContent: false,
3636
platform: 'node',
3737
outfile: 'dist/extension.js',
38-
external: ['vscode'],
38+
external: ['vscode', '@microsoft/applicationinsights-*'],
3939
logLevel: 'silent',
4040
// Performance optimizations
4141
treeShaking: true,

package-lock.json

Lines changed: 124 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "GitHub Copilot API Gateway",
44
"description": "Free & open-source universal API Gateway for all VS Code language models. Auto-discovers GitHub Copilot, Gemini, Ollama & any AI extension — exposing them via local OpenAI, Anthropic, Google & Llama compatible APIs. One endpoint, every model. Use with Cursor, LangChain, Agents & more.",
55
"icon": "media/icon.png",
6-
"version": "2.12.4",
6+
"version": "2.12.5",
77
"author": {
88
"name": "Suhaib Bin Younis",
99
"email": "vscode@suhaib.in",
@@ -85,6 +85,7 @@
8585
},
8686
"dependencies": {
8787
"@modelcontextprotocol/sdk": "^1.29.0",
88+
"@vscode/extension-telemetry": "^1.5.1",
8889
"cloudflared": "^0.7.1",
8990
"selfsigned": "^5.5.0",
9091
"ws": "^8.20.0"

0 commit comments

Comments
 (0)