From 063e8eec3405b7c8f26c3f94c240f456472c0bc2 Mon Sep 17 00:00:00 2001
From: fukui <146505187+wzfukui@users.noreply.github.com>
Date: Thu, 10 Apr 2025 09:35:38 +0800
Subject: [PATCH] Add extension refine reader. (#260)
---
README.md | 7 ++
README_cn.md | 8 +++
README_ja.md | 5 ++
docs/refinereader/README.md | 63 ++++++++++++++++
docs/refinereader/README_cn.md | 67 ++++++++++++++++++
docs/refinereader/assets/refinereader-128.png | Bin 0 -> 36500 bytes
.../assets/refinereader-preview-1.png | Bin 0 -> 428445 bytes
.../assets/refinereader-preview-2.png | Bin 0 -> 335868 bytes
.../assets/refinereader-preview-3.jpg | Bin 0 -> 258450 bytes
9 files changed, 150 insertions(+)
create mode 100644 docs/refinereader/README.md
create mode 100644 docs/refinereader/README_cn.md
create mode 100644 docs/refinereader/assets/refinereader-128.png
create mode 100644 docs/refinereader/assets/refinereader-preview-1.png
create mode 100644 docs/refinereader/assets/refinereader-preview-2.png
create mode 100644 docs/refinereader/assets/refinereader-preview-3.jpg
diff --git a/README.md b/README.md
index 6f249e5..7624bf6 100644
--- a/README.md
+++ b/README.md
@@ -691,6 +691,12 @@ The purpose is to build infrastructure in the field of large models, through the
RssFlow |
An intelligent RSS reader browser extension with AI-powered RSS summarization and multi-dimensional feed views. Supports DeepSeek model configuration for enhanced content understanding. |
+
+
+ |
+ Refine Reader |
+ A Chrome extension that uses AI (DeepSeek, OpenAI, etc.) to help you quickly understand and summarize articles. |
+
|
DeepChat |
@@ -723,6 +729,7 @@ The purpose is to build infrastructure in the field of large models, through the
+
^ Back to Contents ^
### VS Code Extensions
diff --git a/README_cn.md b/README_cn.md
index da9d54f..fb07f5f 100644
--- a/README_cn.md
+++ b/README_cn.md
@@ -606,6 +606,14 @@
Docky AI |
Docky AI 是一款功能强大的浏览器插件,允许您通过侧边栏与多个 AI 模型进行实时对话。它支持多模型同时交流,并能协助您阅读网页、写作、翻译和创作图片 |
+
+ |
+ Refine Reader |
+ 一款基于 AI (DeepSeek、OpenAI等) 的智能阅读助手,致力于帮助用户快速理解和提炼文章精华,支持阅读互动。 |
+
+
+
+
^ 返回目录 ^
diff --git a/README_ja.md b/README_ja.md
index e2f640e..e54260b 100644
--- a/README_ja.md
+++ b/README_ja.md
@@ -506,6 +506,11 @@ DeepSeek API を人気のソフトウェアに統合します。API キーを取
RssFlow |
AIを活用したRSS要約と多次元フィードビューを備えたインテリジェントなRSSリーダーブラウザ拡張機能。コンテンツ理解を強化するためのDeepSeekモデル設定をサポートしています。 |
+
+ |
+ Refine Reader |
+ AI(DeepSeek、OpenAI等)を使用して記事を素早く理解し要約するためのChrome拡張機能。 |
+
|
DeepChat |
diff --git a/docs/refinereader/README.md b/docs/refinereader/README.md
new file mode 100644
index 0000000..e44764f
--- /dev/null
+++ b/docs/refinereader/README.md
@@ -0,0 +1,63 @@
+# Refine Reader (Chrome Extension)
+
+
+
+
+
+
+ An AI-powered intelligent reading assistant dedicated to helping users quickly understand and extract article essentials, with interactive reading support.
+
+
+## ✨ Key Features
+
+- 🤖 **AI Smart Summary**: One-click generation of core viewpoints, key arguments, and crucial conclusions
+- 🌏 **Multi-language Support**: Supports Simplified Chinese, Traditional Chinese, English, Japanese, and Korean
+- 🎨 **Theme Switching**: Multiple elegant themes including Chinese Ink and Spring Vibes
+- 💬 **Reading Interaction**: Supports multi-turn dialogue based on article content
+- ⚡️ **Quick Inquiry**: Built-in question templates for instant professional insights
+
+## 🛠️ Supported AI Models
+
+- OpenAI (GPT-4/3.5)
+- Tongyi Qianwen
+- DeepSeek
+- Claude
+- Ollama (Local Deployment)
+- More integrations coming soon
+
+## 🚀 Quick Start
+
+1. Install Refine Reader extension from Chrome Web Store
+2. Click the extension icon to enter settings and configure AI model
+3. Open any article page and click "AI Smart Summary"
+4. Enjoy the intelligent reading experience!
+
+## 🎯 Use Cases
+
+- 📚 Quickly grasp key points of long articles
+- 📝 Generate professional article analysis
+- 🗣️ Obtain multi-perspective interpretations
+- 📢 One-click content sharing generation
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 🔒 Privacy Protection
+
+- All configuration information stored locally only
+- API keys securely encrypted
+- No collection of personal user information
+
+## 👨💻 Developer
+
+- GitHub: [wzfukui/refinereader](https://github.com/wzfukui/refinereader)
+- Website: [https://refinereader.cuihuaer.com](https://refinereader.cuihuaer.com)
diff --git a/docs/refinereader/README_cn.md b/docs/refinereader/README_cn.md
new file mode 100644
index 0000000..09f633f
--- /dev/null
+++ b/docs/refinereader/README_cn.md
@@ -0,0 +1,67 @@
+# 萃花阅读 (Refine Reader, Chrome扩展)
+
+
+
+
+
+
+ 一款基于 AI 的智能阅读助手,致力于帮助用户快速理解和提炼文章精华,支持阅读互动。
+
+
+
+## ✨ 主要功能
+
+- 🤖 **AI 智能总结**:一键生成文章核心观点、重要论据和关键结论
+- 🌏 **多语言支持**:支持中文简体、中文繁体、英文、日文、韩文
+- 🎨 **主题切换**:内置水墨中文、春意盎然等多种精美主题
+- 💬 **阅读互动**:支持基于文章内容的多轮对话
+- ⚡️ **快速提问**:内置多种提问模板,一键生成专业见解
+
+## 🛠️ 支持的 AI 模型
+
+- OpenAI (GPT-4/3.5)
+- 通义千问
+- DeepSeek
+- Claude
+- Ollama (本地部署)
+- 更多集成中
+
+## 🚀 快速开始
+
+1. 在 Chrome 商店安装萃花阅读扩展
+2. 点击扩展图标,进入设置页面配置 AI 模型
+3. 打开任意文章页面,点击"AI智能总结"
+4. 享受智能阅读体验!
+
+## 🎯 使用场景
+
+- 📚 快速掌握长文章重点
+- 📝 生成专业的文章分析
+- 🗣️ 获取多角度的解读见解
+- 📢 一键生成分享内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## 🔒 隐私保护
+
+- 所有配置信息仅存储在本地
+- API 密钥安全加密存储
+- 不收集任何用户个人信息
+
+
+## 👨💻 开发者
+
+- GitHub:[wzfukui/refinereader](https://github.com/wzfukui/refinereader)
+- 网站:[https://refinereader.cuihuaer.com](https://refinereader.cuihuaer.com)
+
diff --git a/docs/refinereader/assets/refinereader-128.png b/docs/refinereader/assets/refinereader-128.png
new file mode 100644
index 0000000000000000000000000000000000000000..1bdc2d3bbf180fce17230e2f673c03562243ce37
GIT binary patch
literal 36500
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