Skip to content

Commit 77d6758

Browse files
committed
feat:Added support for LuChenTech's DeepSeek API.
1 parent 118b297 commit 77d6758

11 files changed

+35
-15
lines changed

.DS_Store

0 Bytes
Binary file not shown.

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ DeepSeekAI is an unofficial browser extension powered by the [DeepSeek](https://
2626
> - [IFlytek Star](https://training.xfyun.cn/modelService) DeepSeek API
2727
> - [Baidu Cloud](https://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/list) DeepSeek API
2828
> - [Aliyun](https://bailian.console.aliyun.com/#/model-market) DeepSeek API
29+
> - [LuChenTech](https://cloud.luchentech.com/maas/modelMarket) DeepSeek API
2930
3031
## ✨ Core Features
3132

README.zh-CN.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ DeepSeekAI 是一款非官方的浏览器扩展插件,基于 [DeepSeek](https:
2626
> - [讯飞星辰](https://training.xfyun.cn/modelService) DeepSeek API
2727
> - [百度智能云](https://console.bce.baidu.com/qianfan/modelcenter/model/buildIn/list)
2828
> - [阿里云](https://bailian.console.aliyun.com/#/model-market) DeepSeek API
29+
> - [潞晨云] (https://cloud.luchentech.com/maas/modelMarket)
2930
3031
## ✨ 核心特性
3132

@@ -59,8 +60,7 @@ DeepSeekAI 是一款非官方的浏览器扩展插件,基于 [DeepSeek](https:
5960
#### 1. 应用商店安装(推荐)
6061
- [Chrome Web Store](https://chromewebstore.google.com/detail/bjjobdlpgglckcmhgmmecijpfobmcpap)
6162
- [Microsoft Edge Add-ons](https://chromewebstore.google.com/detail/deepseek-ai/bjjobdlpgglckcmhgmmecijpfobmcpap)
62-
- [其他安装地址](https://www.crxsoso.com/webstore/detail/bjjobdlpgglckcmhgmmecijpfobmcpap)(支持 Chromium 内核的浏览器如 Edge/Chrome 等)
63-
- 安装方法请参考 [这里](https://www.youxiaohou.com/zh-cn/crx.html?spm=1739204947442#edge%E6%B5%8F%E8%A7%88%E5%99%A8)
63+
- [其他安装地址](https://www.crxsoso.com/webstore/detail/bjjobdlpgglckcmhgmmecijpfobmcpap)(支持 Chromium 内核的浏览器如 Edge/Chrome 等), 安装方法请参考 [这里](https://www.youxiaohou.com/zh-cn/crx.html?spm=1739204947442#edge%E6%B5%8F%E8%A7%88%E5%99%A8)
6464

6565
#### 2. 手动安装
6666
```bash

extension.zip

302 Bytes
Binary file not shown.

src/background.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const requestControllers = new Map(); // 存储请求控制器
44
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
55
if (request.action === "getSettings") {
66
chrome.storage.sync.get(
7-
["deepseekApiKey", "volcengineApiKey", "siliconflowApiKey", "openrouterApiKey", "tencentcloudApiKey", "iflytekstarApiKey", "baiducloudApiKey", "aliyunApiKey", "language", "model", "provider", "v3model", "r1model"],
7+
["deepseekApiKey", "volcengineApiKey", "siliconflowApiKey", "openrouterApiKey", "tencentcloudApiKey", "iflytekstarApiKey", "baiducloudApiKey", "aliyunApiKey", "luchentechApiKey", "language", "model", "provider", "v3model", "r1model"],
88
(data) => {
99
sendResponse({
1010
deepseekApiKey: data.deepseekApiKey || '',
@@ -15,6 +15,7 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
1515
iflytekstarApiKey: data.iflytekstarApiKey || '',
1616
baiducloudApiKey: data.baiducloudApiKey || '',
1717
aliyunApiKey: data.aliyunApiKey || '',
18+
luchentechApiKey: data.luchentechApiKey || '',
1819
language: data.language || 'en',
1920
model: data.model || 'deepseek-chat',
2021
provider: data.provider || 'deepseek',

src/content/services/apiService.js

+3
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ export async function getAIResponse(
146146
provider === 'iflytekstar' ? settings.iflytekstarApiKey :
147147
provider === 'baiducloud' ? settings.baiducloudApiKey :
148148
provider === 'aliyun' ? settings.aliyunApiKey :
149+
provider === 'luchentech' ? settings.luchentechApiKey :
149150
settings.deepseekApiKey;
150151
const language = settings.language;
151152
const model = settings.model;
@@ -190,6 +191,8 @@ export async function getAIResponse(
190191
? 'https://qianfan.baidubce.com/v2/chat/completions'
191192
: provider === 'aliyun'
192193
? 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions'
194+
: provider === 'luchentech'
195+
? 'https://cloud.luchentech.com/api/maas/chat/completions'
193196
: 'https://api.deepseek.com/v1/chat/completions';
194197

195198
const modelName = provider === 'volcengine'

src/popup/apiKeyManager.js

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ export class ApiKeyManager {
3939
'aliyun': {
4040
url: 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions',
4141
model: settings?.model || 'deepseek-v3'
42+
},
43+
'luchentech': {
44+
url: 'https://cloud.luchentech.com/api/maas/chat/completions',
45+
model: settings?.model || 'deepseek-ai/DeepSeek-R1'
4246
}
4347
};
4448

src/popup/i18n.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export class I18nManager {
44
zh: {
55
validating: '正在验证...',
66
saveSuccess: '保存成功',
7-
apiKeyInvalid: 'API Key 无效',
7+
apiKeyInvalid: 'API密钥无效或检查当前所选模型是否可用',
88
noBalance: '暂无余额',
99
noApiKey: '请先设置 API Key',
1010
fetchError: '获取失败',
@@ -14,7 +14,7 @@ export class I18nManager {
1414
en: {
1515
validating: 'Validating...',
1616
saveSuccess: 'Saved successfully',
17-
apiKeyInvalid: 'Invalid API Key',
17+
apiKeyInvalid: 'The API key is invalid or check if the currently selected model is available.',
1818
noBalance: 'No balance',
1919
noApiKey: 'Please set API Key first',
2020
fetchError: 'Failed to fetch',

src/popup/popup.html

+1
Original file line numberDiff line numberDiff line change
@@ -897,6 +897,7 @@
897897
<option value="iflytekstar" id="iflytekstarProvider">IFlytek Star</option>
898898
<option value="baiducloud" id="baiducloudProvider">Baidu Cloud</option>
899899
<option value="aliyun" id="aliyunProvider">Aliyun</option>
900+
<option value="luchentech" id="luchentechProvider">Aliyun</option>
900901
</select>
901902
</div>
902903

src/popup/popup.js

+18-9
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ class PopupManager {
169169
'iflytekstar': 'https://training.xfyun.cn/modelService',
170170
'baiducloud': 'https://console.bce.baidu.com/iam/#/iam/apikey/create',
171171
'aliyun': 'https://bailian.console.aliyun.com/?apiKey=1#/api-key',
172+
'luchentech': 'https://cloud.luchentech.com/maas/apiKey',
172173
};
173174
apiKeyLink.href = providerUrls[provider] || providerUrls['deepseek'];
174175

@@ -189,18 +190,18 @@ class PopupManager {
189190
'siliconflow': [
190191
{ value: 'deepseek-ai/DeepSeek-V3', label: 'DeepSeek-V3' },
191192
{ value: 'deepseek-ai/DeepSeek-R1', label: 'DeepSeek-R1' },
192-
{ value: 'Pro/deepseek-ai/DeepSeek-V3', label: 'Pro DeepSeek-V3' },
193-
{ value: 'Pro/deepseek-ai/DeepSeek-R1', label: 'Pro DeepSeek-R1' },
193+
{ value: 'Pro/deepseek-ai/DeepSeek-V3', label: 'DeepSeek-V3 Pro' },
194+
{ value: 'Pro/deepseek-ai/DeepSeek-R1', label: 'DeepSeek-R1 Pro' },
194195
],
195196
'volcengine': [
196197
{ value: 'v3', label: 'DeepSeek-V3' },
197198
{ value: 'r1', label: 'DeepSeek-R1' }
198199
],
199200
'openrouter': [
200-
{ value: 'deepseek/deepseek-chat:free', label: 'DeepSeek-V3 Free' },
201-
{ value: 'deepseek/deepseek-r1:free', label: 'DeepSeek-R1 Free' },
202201
{ value: 'deepseek/deepseek-chat', label: 'DeepSeek-V3' },
203202
{ value: 'deepseek/deepseek-r1', label: 'DeepSeek-R1' },
203+
{ value: 'deepseek/deepseek-chat:free', label: 'DeepSeek-V3 Free' },
204+
{ value: 'deepseek/deepseek-r1:free', label: 'DeepSeek-R1 Free' },
204205
],
205206
'tencentcloud': [
206207
{ value: 'deepseek-v3', label: 'DeepSeek-V3' },
@@ -217,6 +218,11 @@ class PopupManager {
217218
'aliyun': [
218219
{ value: 'deepseek-v3', label: 'DeepSeek-V3' },
219220
{ value: 'deepseek-r1', label: 'DeepSeek-R1' }
221+
],
222+
'luchentech': [
223+
{ value: 'deepseek-ai/DeepSeek-R1', label: 'DeepSeek-R1' },
224+
{ value: 'VIP/deepseek-ai/DeepSeek-V3', label: 'DeepSeek-V3 VIP' },
225+
{ value: 'VIP/deepseek-ai/DeepSeek-R1', label: 'DeepSeek-R1 VIP' },
220226
]
221227
};
222228

@@ -403,7 +409,7 @@ const translations = {
403409
noApiKey: "请先设置API Key",
404410
fetchError: "查询失败",
405411
apiKeyEmpty: "请输入 API Key",
406-
apiKeyInvalid: "API Key 无效",
412+
apiKeyInvalid: "API密钥无效或检查当前所选模型是否可用",
407413
saveSuccess: "设置已保存",
408414
selectionEnabledLabel: "快捷按钮",
409415
selectionEnabledTip: "选中文本后显示快捷按钮,点击可快速打开会话窗口",
@@ -423,7 +429,8 @@ const translations = {
423429
tencentcloudProvider: "腾讯云",
424430
iflytekstarProvider: "讯飞星辰",
425431
baiducloudProvider: "百度智能云",
426-
aliyunProvider: "阿里云"
432+
aliyunProvider: "阿里云",
433+
luchentechProvider: "潞晨云"
427434
},
428435
en: {
429436
headerTitle: "DeepSeek AI",
@@ -443,7 +450,7 @@ const translations = {
443450
noApiKey: "Please set API Key first",
444451
fetchError: "Failed to fetch",
445452
apiKeyEmpty: "Please enter API Key",
446-
apiKeyInvalid: "Invalid API Key",
453+
apiKeyInvalid: "The API key is invalid or check if the currently selected model is available.",
447454
saveSuccess: "Settings saved",
448455
selectionEnabledLabel: "Quick Button",
449456
selectionEnabledTip: "Show a quick button when text is selected to open the chat window",
@@ -463,7 +470,8 @@ const translations = {
463470
tencentcloudProvider: "Tencent Cloud",
464471
iflytekstarProvider: "IFlytek Star",
465472
baiducloudProvider: "Baidu Cloud",
466-
aliyunProvider: "Aliyun"
473+
aliyunProvider: "Aliyun",
474+
luchentechProvider: "Luchentech"
467475
},
468476
};
469477

@@ -510,7 +518,8 @@ const updateContent = () => {
510518
'tencentcloudProvider': langData.tencentcloudProvider,
511519
'iflytekstarProvider': langData.iflytekstarProvider,
512520
'baiducloudProvider': langData.baiducloudProvider,
513-
'aliyunProvider': langData.aliyunProvider
521+
'aliyunProvider': langData.aliyunProvider,
522+
'luchentechProvider': langData.luchentechProvider
514523
};
515524

516525
// 批量更新DOM

src/popup/storageManager.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export class StorageManager {
22
async getSettings() {
33
return new Promise((resolve) => {
44
chrome.storage.sync.get(
5-
["deepseekApiKey", "volcengineApiKey", "siliconflowApiKey", "openrouterApiKey", "tencentcloudApiKey", "iflytekstarApiKey","baiducloudApiKey","aliyunApiKey", "language", "model", "provider", "v3model", "r1model", "selectionEnabled", "rememberWindowSize", "pinWindow"],
5+
["deepseekApiKey", "volcengineApiKey", "siliconflowApiKey", "openrouterApiKey", "tencentcloudApiKey", "iflytekstarApiKey","baiducloudApiKey","aliyunApiKey", "luchentechApiKey", "language", "model", "provider", "v3model", "r1model", "selectionEnabled", "rememberWindowSize", "pinWindow"],
66
(data) => {
77
resolve({
88
deepseekApiKey: data.deepseekApiKey || '',
@@ -13,6 +13,7 @@ export class StorageManager {
1313
iflytekstarApiKey: data.iflytekstarApiKey || '',
1414
baiducloudApiKey: data.baiducloudApiKey || '',
1515
aliyunApiKey: data.aliyunApiKey || '',
16+
luchentechApiKey: data.luchentechApiKey || '',
1617
language: data.language || 'en',
1718
model: data.model || 'deepseek-chat',
1819
provider: data.provider || 'deepseek',

0 commit comments

Comments
 (0)