diff --git a/README.md b/README.md index 5b830ed..a81f427 100644 --- a/README.md +++ b/README.md @@ -9,35 +9,123 @@ ## Feature -- Support for loading any URL and system tray -- Theme Mode (Light/Dark) -- Multiple Languages -- Prompt Management -- AI Batch Questioning -- ... +Introducing Noi: an AI-enhanced, customizable browser designed to streamline your digital experience: + +- **Browser**: Noi not only includes curated AI websites but also allows the addition of any URL, providing a tailored browsing experience ([Noi Configs](./configs)). +- **Prompts Management**: Offers robust customization options including the addition, synchronization, batch tagging, and removal of prompts. +- **Noi Ask**: Enables sending batch messages to multiple AI chats, streamlining the process of interacting with various AI services simultaneously ([Noi Extensions](./extensions)). Entries made via Noi Ask are stored locally, ensuring easy access for future review or bookmarking. +- **Themes**: `Light`/`Dark`/`System`/`Monochromatic`/`Frosted Texture` +- **Noi Cache Mode**: Noi reimagines interaction without the traditional concept of browser tabs. In this mode, links accessed via the sidebar are cached for quick swapping (accessible via `Menu -> Settings -> Noi Cache Mode`). +- **Cookie Data Isolation**: Supports the use of multiple accounts on the same website, catering to diverse user requirements. +- **Discover More**: There are numerous details waiting for your discovery... ## Install [🕒 History versions...](https://github.com/lencx/Noi/releases) - **macOS** - - [⬇️ x64](https://github.com/lencx/Noi/releases/download/v0.3.0/Noi_macos_0.3.0.dmg) - - [⬇️ arm64](https://github.com/lencx/Noi/releases/download/v0.3.0/Noi_macos_0.3.0-arm64.dmg) + - [⬇️ x64](https://github.com/lencx/Noi/releases/download/v0.4.0/Noi_macos_0.4.0.dmg) + - [⬇️ arm64](https://github.com/lencx/Noi/releases/download/v0.4.0/Noi_macos_0.4.0-arm64.dmg) - **Windows** - - [⬇️ x64](https://github.com/lencx/Noi/releases/download/v0.3.0/Noi-win32-x64-0.3.0-setup.exe) + - [⬇️ x64](https://github.com/lencx/Noi/releases/download/v0.4.0/Noi-win32-x64-0.4.0-setup.exe) - **Linux** - - [⬇️ AppImage](https://github.com/lencx/Noi/releases/download/v0.3.0/Noi_linux_0.3.0.AppImage) - - [⬇️ amd64.deb](https://github.com/lencx/Noi/releases/download/v0.3.0/noi_linux_amd64_0.3.0.deb) + - [⬇️ AppImage](https://github.com/lencx/Noi/releases/download/v0.4.0/Noi_linux_0.4.0.AppImage) + - [⬇️ amd64.deb](https://github.com/lencx/Noi/releases/download/v0.4.0/noi_linux_amd64_0.4.0.deb) |Preview|Preview| |---|---| -|![theme-dark](./website/static/readme/noi-theme-dark.jpg)|![noi-settings](./website/static/readme/noi-settings.jpg)| -|![settings-prompts](./website/static/readme/noi-prompt.jpg)|![batch-ask](./website/static/readme/noi-prompt-use.jpg)| +|![theme-dark-1](./website/static/readme/noi-theme-dark-1.png)|![theme-dark-2](./website/static/readme/noi-theme-dark-2.png)| +|![theme-light-1](./website/static/readme/noi-theme-light-1.png)|![theme-light-2](./website/static/readme/noi-theme-light-2.png)| +|![noi-settings](./website/static/readme/noi-settings.png)|![noi-prompts](./website/static/readme/noi-prompts.png)| ---- +## Noi Configs + +[📁 configs](./configs) + +### Noi Mode + +To set up a custom sync link, follow the steps below: + +- **Step 1**: Open the settings (on macOS: `cmd`+`,`, on Windows: `ctrl`+`,`) +- **Step 2**: Edit the URL in `Mode Sync` +- **Step 3** or **Step 4**: Click the `sync` button to start synchronizing data + +> [!NOTE] +> The `custom url` will not be overwritten. If you wish to use your own URL as a data source, please refer to the data format in `noi.mode.json`. + +![Mode Sync](./website/static/configs/noi-mode-sync.png) + +#### Sync URL + +- [AI](./noi.mode.json): Popular AI websites and communities (e.g., ChatGPT, Bard, Claude, Poe, etc.). + + ```bash + https://raw.githubusercontent.com/lencx/Noi/main/configs/noi.mode.json + ``` + +- [AI(内陆版)](./noi.mode.cn.json): 主流 AI 及国内 AI(如:通义千问、扣子、豆包、智谱清言、讯飞星火、文心一言等)。 + + ```bash + https://raw.githubusercontent.com/lencx/Noi/main/configs/noi.mode.cn.json + ``` + +#### noi.mode.json + +Here is a detailed description of some fields: + +- `name`: Name (optional, has no significance) +- `version`: Version change +- `sync`: URL information (optional, has no significance) +- `modes[]`: + - `id`: A unique identifier (use a random string; do not use formats like `noi:xxx` or `noi@xxx` as these are reserved for internal use within Noi) + - `parent`: The parent folder this item belongs to (supports nesting) + - `text`: Name + - `url`: Link + - `dir`: Whether it is a folder, default is `false` + +### Proxy + +Learn more: [electronjs/docs](https://www.electronjs.org/docs/latest/api/session#sessetproxyconfig) + +- `proxyRules`: Rules indicating which proxies to use. +- `proxyBypassRules`: Rules indicating which URLs should bypass the proxy settings. + +## Noi Extensions + +[📁 extensions](./extensions) + +Note that Noi does not support the full range of Chrome extensions APIs. See Supported Extensions APIs for more details on what is supported. + +Learn more: [electronjs/doc](https://www.electronjs.org/docs/latest/api/extensions) + + +| Name | Version | Description | +| --- | --- | --- | +| [@noi/ask](https://github.com/lencx/Noi/tree/main/extensions/noi-ask) | 0.1.7 | The best assistant for batch asking and quick typing of prompts. | +| [@noi/ask-custom](https://github.com/lencx/Noi/tree/main/extensions/noi-ask-custom) | 0.1.0 | The best assistant for batch asking and quick typing of prompts. | +| [@noi/export-chatgpt](https://github.com/lencx/Noi/tree/main/extensions/noi-export-chatgpt) | 0.1.0 | ChatGPT chat history export, supports PDF, Image, and Markdown formats. | +| [@noi/reset](https://github.com/lencx/Noi/tree/main/extensions/noi-reset) | 0.1.0 | Reset certain website styles to enhance compatibility with Noi. | + [![Star History Chart](https://api.star-history.com/svg?repos=lencx/Noi&type=Timeline)](https://star-history.com/#lencx/Noi&Timeline) +# Noi Languages + +[📁 locales](./locales) + +- `en`: English +- `zh`: 简体中文 +- `zh_Hant`: 繁體中文 +- `ja`: 日本語 +- `ko`: 한국어 +- `fr`: Français +- `es`: Español +- `pt`: Português +- `ru`: Русский +- `de`: Deutsch +- `it`: Italiano +- `tr`: Türkçe + ## FAQ ### macOS @@ -50,12 +138,6 @@ xattr -cr /Applications/Noi.app ![mac-install-error](./website/static/readme/mac-install-error.jpg) -## TODO - -- Notes -- Toolset -- Plugin system - ## 中国用户 > [!NOTE] diff --git a/configs/noi.conf.json b/configs/noi.conf.json new file mode 100644 index 0000000..6d23836 --- /dev/null +++ b/configs/noi.conf.json @@ -0,0 +1,33 @@ +{ + "language": "en", + "theme": "dark", + "stay_on_top": false, + "sidebar_fixed": true, + "tray": true, + "x_quit": true, + "theme_monochromatic": false, + "theme_frosted_texture": true, + "ask_prompt": false, + "ask_prompt_size": "middle", + "proxy_rules": "", + "proxy_bypass_rules": "", + "proxy_rules_enable": false, + "proxy_bypass_rules_enable": false, + "prompt_type": "prompt", + "prompt_favorite": false, + "prompt_log_max": 300, + "prompt_log_archive_max": 1000, + "prompt_favorite_max": 300, + "prompt_favorite_archive_max": 1000, + "view_prompt_edit": false, + "view_prompt_type": "prompt", + "view_prompt_favorite": false, + "noi_cache_mode": false, + "shortcut_prompt_send": "CmdOrCtrl+Enter", + "shortcut_prompt_up": "Up", + "shortcut_prompt_down": "Down", + "global_shortcut": "CmdOrCtrl+Shift+N", + "global_shortcut_tray": "CmdOrCtrl+Shift+M", + "global_shortcut_prompt": "CmdOrCtrl+Alt+P", + "mode_sync": "https://raw.githubusercontent.com/lencx/Noi/main/configs/noi.mode.json" +} \ No newline at end of file diff --git a/configs/user.mode.json b/configs/user.mode.json new file mode 100644 index 0000000..f0edda0 --- /dev/null +++ b/configs/user.mode.json @@ -0,0 +1,15 @@ +{ + "name": "Noi User Mode", + "mode_main": "noi://about", + "mode_tray": "https://chat.openai.com", + "mode_partition": "", + "ua_main": "", + "ua_tray": "", + "noi_ask": [ + "noi:chatgpt", + "noi:claude", + "noi:gemini", + "noi:poe" + ], + "modes": [] +} \ No newline at end of file diff --git a/extensions/README.md b/extensions/README.md index 43e6727..816bdab 100644 --- a/extensions/README.md +++ b/extensions/README.md @@ -12,5 +12,5 @@ Learn more: [electronjs/doc](https://www.electronjs.org/docs/latest/api/extensio | [@noi/ask](https://github.com/lencx/Noi/tree/main/extensions/noi-ask) | 0.1.7 | The best assistant for batch asking and quick typing of prompts. | | [@noi/ask-custom](https://github.com/lencx/Noi/tree/main/extensions/noi-ask-custom) | 0.1.0 | The best assistant for batch asking and quick typing of prompts. | | [@noi/export-chatgpt](https://github.com/lencx/Noi/tree/main/extensions/noi-export-chatgpt) | 0.1.0 | ChatGPT chat history export, supports PDF, Image, and Markdown formats. | -| [@noi/reset](https://github.com/lencx/Noi/tree/main/extensions/noi-reset) | 0.1.0 | Reset certain website styles to enhance compatibility with Noi. | +| [@noi/reset](https://github.com/lencx/Noi/tree/main/extensions/noi-reset) | 0.1.1 | Reset certain website styles to enhance compatibility with Noi. | \ No newline at end of file diff --git a/extensions/noi-reset/main.js b/extensions/noi-reset/darg.js similarity index 100% rename from extensions/noi-reset/main.js rename to extensions/noi-reset/darg.js diff --git a/extensions/noi-reset/manifest.json b/extensions/noi-reset/manifest.json index 38c90d5..29c9213 100644 --- a/extensions/noi-reset/manifest.json +++ b/extensions/noi-reset/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "@noi/reset", - "version": "0.1.0", + "version": "0.1.1", "homepage": "https://github.com/lencx/Noi/tree/main/extensions/noi-reset", "description": "Reset certain website styles to enhance compatibility with Noi.", "content_scripts": [ @@ -9,7 +9,15 @@ "matches": [ "https://vscode.dev/*" ], - "js": ["main.js"], + "js": ["darg.js"], + "run_at": "document_end", + "world": "MAIN" + }, + { + "matches": [ + "" + ], + "js": ["scrollbar.js"], "run_at": "document_end", "world": "MAIN" } diff --git a/extensions/noi-reset/scrollbar.js b/extensions/noi-reset/scrollbar.js new file mode 100644 index 0000000..e9a86b6 --- /dev/null +++ b/extensions/noi-reset/scrollbar.js @@ -0,0 +1,25 @@ +if (navigator.platform.toUpperCase().indexOf('MAC') < 0) { + const style = document.createElement('style'); + style.innerHTML = ` + html { + --noi-scrollbarBG: rgba(250, 250, 250, 0.1); + --noi-thumbBG: #d8d8d8; + } + ::-webkit-scrollbar { + width: 8px; + height: 8px; + } + ::-webkit-scrollbar-corner { + background-color: transparent; + } + ::-webkit-scrollbar-track { + background: var(--noi-scrollbarBG); + border-radius: 2px; + } + ::-webkit-scrollbar-thumb { + border-radius: 2px; + background-color: var(--noi-thumbBG); + } + `; + document.head.appendChild(style); +} diff --git a/extensions/noi.extensions.json b/extensions/noi.extensions.json index 6f87d5c..c86e115 100644 --- a/extensions/noi.extensions.json +++ b/extensions/noi.extensions.json @@ -29,7 +29,7 @@ { "name": "@noi/reset", "description": "Reset certain website styles to enhance compatibility with Noi.", - "version": "0.1.0", + "version": "0.1.1", "url": "https://github.com/lencx/Noi/tree/main/extensions/noi-reset", "dirname": "noi-reset", "disabled": false diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index beedd1e..c50d164 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -43,10 +43,12 @@ export default function Home(): JSX.Element {

Preview

- - - - + + + + + +

FAQ

diff --git a/website/static/configs/mode-sync.jpg b/website/static/configs/mode-sync.jpg deleted file mode 100644 index eeac54a..0000000 Binary files a/website/static/configs/mode-sync.jpg and /dev/null differ diff --git a/website/static/configs/noi-mode-sync.png b/website/static/configs/noi-mode-sync.png new file mode 100644 index 0000000..a7e8699 Binary files /dev/null and b/website/static/configs/noi-mode-sync.png differ diff --git a/website/static/readme/noi-prompt-use.jpg b/website/static/readme/noi-prompt-use.jpg deleted file mode 100644 index 3e8d1d5..0000000 Binary files a/website/static/readme/noi-prompt-use.jpg and /dev/null differ diff --git a/website/static/readme/noi-prompt.jpg b/website/static/readme/noi-prompt.jpg deleted file mode 100644 index 9e6185f..0000000 Binary files a/website/static/readme/noi-prompt.jpg and /dev/null differ diff --git a/website/static/readme/noi-prompts.png b/website/static/readme/noi-prompts.png new file mode 100644 index 0000000..9af2005 Binary files /dev/null and b/website/static/readme/noi-prompts.png differ diff --git a/website/static/readme/noi-settings.jpg b/website/static/readme/noi-settings.jpg deleted file mode 100644 index ba1f349..0000000 Binary files a/website/static/readme/noi-settings.jpg and /dev/null differ diff --git a/website/static/readme/noi-settings.png b/website/static/readme/noi-settings.png new file mode 100644 index 0000000..88001cc Binary files /dev/null and b/website/static/readme/noi-settings.png differ diff --git a/website/static/readme/noi-theme-dark-1.png b/website/static/readme/noi-theme-dark-1.png new file mode 100644 index 0000000..cf03b78 Binary files /dev/null and b/website/static/readme/noi-theme-dark-1.png differ diff --git a/website/static/readme/noi-theme-dark-2.png b/website/static/readme/noi-theme-dark-2.png new file mode 100644 index 0000000..24c75a7 Binary files /dev/null and b/website/static/readme/noi-theme-dark-2.png differ diff --git a/website/static/readme/noi-theme-dark.jpg b/website/static/readme/noi-theme-dark.jpg deleted file mode 100644 index 5a71d8b..0000000 Binary files a/website/static/readme/noi-theme-dark.jpg and /dev/null differ diff --git a/website/static/readme/noi-theme-light-1.png b/website/static/readme/noi-theme-light-1.png new file mode 100644 index 0000000..1243c13 Binary files /dev/null and b/website/static/readme/noi-theme-light-1.png differ diff --git a/website/static/readme/noi-theme-light-2.png b/website/static/readme/noi-theme-light-2.png new file mode 100644 index 0000000..4338aa3 Binary files /dev/null and b/website/static/readme/noi-theme-light-2.png differ