DeepSeekAI

๐Ÿš€ DeepSeekAI - Smart Web Assistant

DeepSeekAI Logo [![Chrome Web Store](https://img.shields.io/chrome-web-store/v/bjjobdlpgglckcmhgmmecijpfobmcpap)](https://chromewebstore.google.com/detail/bjjobdlpgglckcmhgmmecijpfobmcpap) [![License](https://img.shields.io/github/license/DeepLifeStudio/DeepSeekAI)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/DeepLifeStudio/DeepSeekAI)](https://github.com/DeepLifeStudio/DeepSeekAI/stargazers) [English](/DeepSeekAI/) | [็ฎ€ไฝ“ไธญๆ–‡](/DeepSeekAI/README.zh-CN.html)

๐Ÿ“– Introduction

DeepSeekAI is an unofficial, open-source browser extension that lets you summon a private DeepSeek-powered co-pilot anywhere on the web. Highlight text, tap a quick action, or press a shortcut to open a floating chat workspace that streams answers, shows reasoning traces, and remembers your preferred layout. The project is independent from DeepSeek, and you must provide your own API key (DeepSeek or any OpenAI-compatible endpoint).

Note: This extension is a community project and is not affiliated with DeepSeek. Keys, custom endpoints, and preferences are stored only in chrome.storage.sync on your device.

๐Ÿ”Œ Supported API Providers

โœจ Feature Overview

๐Ÿช„ Inline Assistants

๐ŸชŸ Floating Workspace

๐Ÿง  Provider & Model Controls

๐Ÿ“ Rendering, Safety & UX Polishing

โŒจ๏ธ Shortcuts & Invocation Options

๐Ÿ” Privacy & Onboarding

๐Ÿ”„ How It Works

sequenceDiagram
    participant User
    participant Content as Content Script
    participant Background
    participant Provider
    User->>Content: Select text / press shortcut
    Content->>Background: chrome.runtime.sendMessage({ action: "proxyRequest" | "getSettings" })
    Background->>Provider: fetch(OpenAI-compatible endpoint)
    Provider-->>Background: SSE / JSON chunks
    Background-->>Content: streamResponse events (AbortController aware)
    Content-->>User: Renders markdown, reasoning, quick actions

๐Ÿš€ Installation & Build

2. Manual installation / development flow

# Requirements: Node.js 18+, pnpm (or npm), and a Chromium-based browser
pnpm install
pnpm run build   # outputs the production bundle into dist/
  1. Open chrome://extensions โ†’ enable Developer mode โ†’ Load unpacked โ†’ pick the dist folder.
  2. To ship a store package, run one of:
    • pnpm run build:zip โ†’ extension.zip
    • pnpm run build:chrome โ†’ chrome-submission.zip
    • pnpm run build:edge โ†’ edge-submission.zip
  3. Upload the generated ZIP to the respective store dashboards.

๐Ÿงฉ Setup & Daily Use

  1. Click the extension icon to open the popup.
  2. Choose a provider (or create a custom one with a name + base URL + default model) and paste its API key. Each provider keeps its own key and optional custom API URL.
  3. Pick or add a model. Non-DeepSeek providers require an explicit model ID; the UI will auto-prompt you to add one if missing.
  4. Configure behavior:
    • Enable/disable the selection quick-action bubble.
    • Choose automatic language detection or force a language from the dropdown (20+ locales).
    • Toggle Save Window Size, Pin Window, and Custom System Prompt.
    • Use the Shortcut Settings link to jump to Chromeโ€™s command editor.
  5. Highlight text (or open the chat via shortcut) โ†’ the quick-action bubble appears โ†’ select Chat or a template. You can also open the floating window first and paste custom prompts.
  6. While streaming, use the stop square icon to abort. Each answer ends with copy + regenerate icons; reasoning blocks collapse/expand with one click.
  7. Need a refresher? Open the in-extension usage guide or switch to the Simplified Chinese README linked at the top.

โŒจ๏ธ Shortcuts & Quick Actions

๐Ÿ—๏ธ Project Layout & Stack

.
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ manifest.json           # MV3 metadata & permissions
โ”‚   โ”œโ”€โ”€ background.js           # service worker + proxy + commands
โ”‚   โ”œโ”€โ”€ content/                # selection bubble, popup workspace, services, utils, styles
โ”‚   โ”œโ”€โ”€ popup/                  # settings UI (managers, i18n, HTML)
โ”‚   โ””โ”€โ”€ Instructions/           # onboarding guide (HTML + JS)
โ”œโ”€โ”€ dist/                       # build output (loaded during development/packaging)
โ”œโ”€โ”€ extension.zip               # generated via build:zip / build:chrome / build:edge
โ”œโ”€โ”€ webpack.config.js           # bundler config (Babel, CSS loader, copy plugin, terser)
โ”œโ”€โ”€ PRIVACY.html                # privacy policy
โ””โ”€โ”€ README*.md                  # documentation (English + ็ฎ€ไฝ“ไธญๆ–‡)

Key dependencies: interactjs, markdown-it, highlight.js, DOMPurify, katex, clipboard, perfect-scrollbar, and openai (for payload typing) plus the MV3 APIs exposed by Chrome/Edge.

๐Ÿ”’ Privacy & Security

๐Ÿค Contributing

Contributions are welcomeโ€”bug reports, documentation fixes, and feature proposals all help the community.

  1. Fork the repo and create a branch (git checkout -b feature/my-update).
  2. Install deps + build once (pnpm install && pnpm run build).
  3. Make your changes, keep them focused, and run pnpm run build again to ensure dist/ refreshes.
  4. Submit a Pull Request describing the change, affected files, and any verification notes.

๐Ÿ“„ License

This project is licensed under the MIT License - see LICENSE for details.

๐Ÿ“ฎ Contact

If this project helps you, please consider giving it a โญ๏ธ