SideNbr is an open-source Chrome Manifest V3 side panel that embeds the official web UIs of Perplexity, ChatGPT, DeepSeek, Grok, and your own sites — while you browse any page.
Local shell only · No AI API keys · No chat proxy · MIT
中文 · GitHub · Releases · Install guide
Keep researching or coding on the main page, and keep AI chats one shortcut away in Chrome’s side panel — without pasting API keys or routing traffic through a third-party backend.
| You get | SideNbr does not |
|---|---|
| Official web UIs in an iframe | Proxy or store your chats |
| 1–4 tabs (built-in + custom) | Require API keys |
| Toolbar order you control | Read cross-origin chat DOM |
| Settings as a full tab + live updates | Ship a Chrome Web Store binary |
- Open Releases
- Download
SideNbr-x.y.z.zip - Unzip →
chrome://extensions→ Developer mode → Load unpacked
Update: remove the old SideNbr first, or overwrite the same folder and click Reload. Loading a new folder creates a second extension (does not replace). See docs/DOWNLOAD.md.
Open-source only — not submitted to the Chrome Web Store.
- Wake shortcut — open / close the panel (
Option+A/Alt+Asuggested; remappable in Chrome) - Provider switch — Perplexity · ChatGPT · DeepSeek · Grok with brand icons (mono icons adapt to dark mode)
- Keep-alive switch — opened providers stay mounted so sessions warm across tab switches
- Refresh / Open official site toolbar actions
- Update badge — settings gear shows a red
1when a newer GitHub Release exists
- 1–4 enabled services total (built-in and/or custom)
- Custom services — name,
httpsURL, emoji or brand icon; auto-enable when under the limit - Drag-to-reorder toolbar order (persisted)
- Live sync — toggles / customs apply without reloading the extension
Sidebar navigation:
| Nav | Content |
|---|---|
| Appearance & language | Light / dark / system · EN / ZH / system |
| AI services | Toolbar order · built-in toggles · custom services |
| Lab | Keep sessions warm in a background host window |
| Shortcuts | View binding · open Chrome shortcut settings |
| About | Version · check GitHub Releases · repo link · extension details |
Toasts for update results and enable-limit hints; purple active controls in dark mode.
- Single full open-source zip with Declarative Net Request frame-compatibility rules for side-panel iframes
- GitHub Actions builds
SideNbr-<version>.zipon eachv*tag
Requires Node 20+ and Chrome 114+.
git clone https://github.com/VicZhang6/SideNbr.git
cd SideNbr
npm install
npm run build # → dist/chrome://extensions→ Developer mode- Load unpacked → select
dist/ - Pin the icon; check
chrome://extensions/shortcuts
| Platform | Suggested default |
|---|---|
| macOS | Option + A |
| Windows / Linux | Alt + A |
Effective binding is whatever Chrome shows (may be empty if another extension claimed the combo). The toolbar icon also toggles the panel.
┌──────────────────────────────────────────┐
│ Chrome Side Panel (extension-local) │
│ React shell · switch · toolbar │
│ ┌────────────────────────────────────┐ │
│ │ iframe → official HTTPS UI │ │
│ │ + optional custom sites │ │
│ └────────────────────────────────────┘ │
│ optional: session-host window (Lab) │
└──────────────────────────────────────────┘
side_panel.default_pathmust be a local extension page (Chrome rule).- The shell loads allowlisted / user-granted HTTPS URLs in iframes.
- Scripts cannot read cross-origin iframe chat content — by design.
- Logins and subscriptions stay with each provider.
Privacy-first: no first-party backend, no chat logging, no analytics SDK.
npm install
npm run build # TypeScript + Vite → dist/
npm run check-build # verify package
npm run pack # zip → artifacts/SideNbr-<version>.zip
npm run typecheck| Script | Purpose |
|---|---|
npm run build |
Production dist/ |
npm run check-build |
Validate dist/ |
npm run pack |
Build + zip |
node scripts/generate-icons.mjs |
PNG icons from source |
| Layer | Stack |
|---|---|
| UI | React 18, TypeScript, Vite |
| Extension | Chrome MV3, Side Panel, DNR, chrome.storage |
| Icons | lucide-react; brand marks from Lobe Icons |
| Motion | PowerGlitch (loading hint) |
SideNbr/
├─ public/ # manifest, icons, frame-bypass DNR rules
├─ scripts/ # check-build, package-dist, generate-icons
├─ src/ # side panel, settings tab, session-host, background
├─ sidepanel.html
├─ settings.html
├─ session-host.html
├─ docs/DOWNLOAD.md
├─ PRIVACY.md
├─ CONTRIBUTING.md
└─ README.md
- Does not read, store, or transmit conversation content from embedded AIs
- AI traffic stays between your browser and each provider
- Only lightweight prefs in
chrome.storage.local(enabled list, order, theme, locale, customs, …) - No ad IDs, no third-party analytics SDK
Full draft: PRIVACY.md.
SideNbr is not an official product of OpenAI, Perplexity, DeepSeek, xAI, or any other provider, and is not affiliated with or endorsed by them. Names and marks are used only to describe embedded services. Use of those services is subject to their own terms and privacy policies.
Issues and PRs welcome — see CONTRIBUTING.md.
- One open-source package path (no store-safe / private split)
- Stay privacy-first: no chat proxy, no conversation harvesting
- Small PRs with motivation + how you tested
Open-source used in this project (runtime):
| Project | Role | License |
|---|---|---|
| React | UI | MIT |
| Lobe Icons | Brand marks (vendored SVG; not the full npm package) | MIT |
Lucide (lucide-react) |
Toolbar / settings icons | ISC |
| PowerGlitch | Loading text effect | MIT |
Build tools (not shipped in the zip): Vite, TypeScript, and related tooling.
- LINUX DO — A new ideal community
MIT © 2026 VicZhang6
Repository: https://github.com/VicZhang6/SideNbr
SideNbr 是开源的 Chrome Manifest V3 侧边栏扩展:浏览任意网页时,用快捷键打开 Side Panel,通过 iframe 嵌入 Perplexity、ChatGPT、DeepSeek、Grok 官方页面,以及你自己的站点。
仅本地外壳。无需 API Key,不代理聊天流量。 MIT 许可。
更新: 先移除旧版 SideNbr,或覆盖同一目录后点重新加载。解压到新文件夹再「加载已解压」会并存两个扩展,详见 docs/DOWNLOAD.md。
主页面继续写代码 / 查资料,AI 对话一键在侧栏打开——不用填 Key、也不用把流量交给第三方后端。
侧栏
- 唤醒快捷键(默认建议 Option+A / Alt+A,可在 Chrome 中改)
- 多服务切换 + 品牌图标(深色模式下 mono 图标自动反色)
- 切换保活:已打开的 iframe 不销毁
- 刷新 / 打开官网
- 有新 GitHub Release 时,设置按钮显示角标
自定义与排序
- 最多同时启用 1–4 个服务(内置 + 自定义)
- 自定义:名称、URL、emoji / 品牌图标
- 拖拽调整工具栏顺序
- 设置更改后侧栏热更新,无需重载扩展
设置页(独立标签 + 左侧导航)
| 导航 | 内容 |
|---|---|
| 外观与语言 | 浅色 / 深色 / 跟随系统 · 中 / 英 / 跟随系统 |
| AI 服务 | 工具栏排序 · 预设开关 · 自定义服务 |
| 实验室 | 后台保持会话 |
| 快捷键 | 查看绑定 · 打开 Chrome 快捷键设置 |
| 关于 | 版本号 · 检查更新 · 开源仓库 · 扩展详情 |
Toast 提示更新结果与「最多 4 个」等限制;深色模式激活色为品牌紫。
分发
- 单一开源完整包(含侧栏嵌入用的 DNR 规则)
- 打
v*标签后 Actions 自动上传SideNbr-<version>.zip - 不上架 Chrome 网上应用店
git clone https://github.com/VicZhang6/SideNbr.git
cd SideNbr
npm install
npm run build # → dist/chrome://extensions → 开发者模式 → 加载已解压的扩展程序 → 选择 dist/。
侧栏必须是扩展包内的本地页;iframe 加载官方 / 自定义 HTTPS 页面。扩展脚本无法读取跨域对话内容。账号登录使用你在各官网自己的会话。
不读取、不存储、不传输各 AI 对话内容;仅 chrome.storage.local 保存轻量偏好。详见 PRIVACY.md。
SideNbr 不是 OpenAI / Perplexity / DeepSeek / xAI 等官方产品,也未获其背书。第三方名称仅用于描述嵌入目标。
运行时用到的开源项目:
| 项目 | 用途 | 许可 |
|---|---|---|
| React | 界面 | MIT |
| Lobe Icons | 品牌图标(本地 SVG 内嵌,未整包引入) | MIT |
Lucide(lucide-react) |
工具栏 / 设置图标 | ISC |
| PowerGlitch | 加载文案动效 | MIT |
构建工具(不随安装包分发):Vite、TypeScript 等。
- LINUX DO — A new ideal community
欢迎 Issue / PR,见 CONTRIBUTING.md。