feat: add support for ChatGPT, Grok, Gemini, and OpenWebUI

Extend Silent Send to intercept API requests on all major AI chat
services. Each service has different API shapes:

- ChatGPT: /backend-api/conversation with content.parts arrays
- Grok: GraphQL + /2/grok/add_response with message field
- Gemini: form-encoded f.req with nested arrays (+ generateContent)
- OpenWebUI: /api/chat and /ollama/api/chat (self-hosted)

All services share the same substitution pipeline. Manifests updated
for both Chrome and Firefox with host_permissions for all domains.
OpenWebUI supported via localhost/127.0.0.1 for self-hosted instances.

https://claude.ai/code/session_01Dvgwe7XMoSxnWXkih8p1Cw
This commit is contained in:
Claude
2026-03-26 00:27:07 +00:00
parent 34f1131c23
commit 6e3249b8ff
6 changed files with 220 additions and 50 deletions
+29 -4
View File
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "Silent Send",
"version": "0.1.0",
"version": "0.2.0",
"description": "Intercepts personal info and substitutes it with user-defined replacements before sending to AI services.",
"browser_specific_settings": {
"gecko": {
@@ -15,7 +15,14 @@
"scripting"
],
"host_permissions": [
"https://claude.ai/*"
"https://claude.ai/*",
"https://chatgpt.com/*",
"https://chat.openai.com/*",
"https://grok.x.ai/*",
"https://x.com/i/grok*",
"https://gemini.google.com/*",
"http://localhost/*",
"http://127.0.0.1/*"
],
"background": {
"scripts": ["src/background/service-worker.js"],
@@ -23,7 +30,16 @@
},
"content_scripts": [
{
"matches": ["https://claude.ai/*"],
"matches": [
"https://claude.ai/*",
"https://chatgpt.com/*",
"https://chat.openai.com/*",
"https://grok.x.ai/*",
"https://x.com/i/grok*",
"https://gemini.google.com/*",
"http://localhost/*",
"http://127.0.0.1/*"
],
"js": ["src/content/injector.js"],
"css": ["src/content/content.css"],
"run_at": "document_start",
@@ -50,7 +66,16 @@
"web_accessible_resources": [
{
"resources": ["src/content/content.js"],
"matches": ["https://claude.ai/*"]
"matches": [
"https://claude.ai/*",
"https://chatgpt.com/*",
"https://chat.openai.com/*",
"https://grok.x.ai/*",
"https://x.com/*",
"https://gemini.google.com/*",
"http://localhost/*",
"http://127.0.0.1/*"
]
}
]
}