mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-14 21:02:49 +00:00
Merge commit 'e3ce3bcfbe1d251c791fddbf2627b35669bdd2df' into pro
This commit is contained in:
commit
236b57864b
@ -271,7 +271,10 @@ class SystemController extends AbstractController
|
||||
'wenxin_secret',
|
||||
'wenxin_model',
|
||||
'qianwen_key',
|
||||
'qianwen_model'
|
||||
'qianwen_model',
|
||||
'gemini_key',
|
||||
'gemini_model',
|
||||
'gemini_agency',
|
||||
];
|
||||
|
||||
if ($type == 'save') {
|
||||
@ -311,11 +314,18 @@ class SystemController extends AbstractController
|
||||
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'text', ['text' => "设置成功"], $botUser->userid, true, false, true);
|
||||
}
|
||||
}
|
||||
if ($backup['gemini_key'] != $setting['gemini_key']) {
|
||||
$botUser = User::botGetOrCreate('ai-gemini');
|
||||
if ($botUser && $dialog = WebSocketDialog::checkUserDialog($botUser, $user->userid)) {
|
||||
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'text', ['text' => "设置成功"], $botUser->userid, true, false, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
$setting['openai_model'] = $setting['openai_model'] ?: 'gpt-3.5-turbo';
|
||||
$setting['wenxin_model'] = $setting['wenxin_model'] ?: 'eb-instant';
|
||||
$setting['qianwen_model'] = $setting['qianwen_model'] ?: 'qwen-v1';
|
||||
$setting['gemini_model'] = $setting['gemini_model'] ?: 'gemini-1.0-pro';
|
||||
if (env("SYSTEM_SETTING") == 'disabled') {
|
||||
foreach ($keys as $item) {
|
||||
if (strlen($setting[$item]) > 12) {
|
||||
|
||||
@ -57,6 +57,7 @@ class UserBot extends AbstractModel
|
||||
'ai-claude' => 'Claude',
|
||||
'ai-wenxin' => '文心一言',
|
||||
'ai-qianwen' => '通义千问',
|
||||
'ai-gemini' => 'Gemini',
|
||||
'bot-manager' => '机器人管理',
|
||||
'meeting-alert' => '会议通知',
|
||||
'okr-alert' => 'OKR提醒',
|
||||
@ -117,6 +118,7 @@ class UserBot extends AbstractModel
|
||||
'ai-openai@bot.system',
|
||||
'ai-claude@bot.system',
|
||||
'ai-wenxin@bot.system',
|
||||
'ai-gemini@bot.system',
|
||||
'ai-qianwen@bot.system' => [
|
||||
[
|
||||
'key' => '%3A.clear',
|
||||
|
||||
@ -438,6 +438,23 @@ class BotReceiveMsgTask extends AbstractTask
|
||||
$error = 'The client version is low (required version ≥ v0.29.12).';
|
||||
}
|
||||
break;
|
||||
// Gemini 机器人
|
||||
case 'ai-gemini@bot.system':
|
||||
$setting = Base::setting('aibotSetting');
|
||||
$webhookUrl = "{$serverUrl}/ai/gemini/send";
|
||||
$extras = [
|
||||
'gemini_key' => $setting['gemini_key'],
|
||||
'gemini_model' => $setting['gemini_model'],
|
||||
'gemini_agency' => $setting['gemini_agency'],
|
||||
'server_url' => $serverUrl,
|
||||
];
|
||||
if (empty($extras['gemini_key'])) {
|
||||
$error = 'Robot disabled.';
|
||||
} elseif (in_array($this->client['platform'], ['win', 'mac', 'web'])
|
||||
&& !Base::judgeClientVersion("0.29.11", $this->client['version'])) {
|
||||
$error = 'The client version is low (required version ≥ v0.29.12).';
|
||||
}
|
||||
break;
|
||||
// 其他机器人
|
||||
default:
|
||||
$userBot = UserBot::whereBotId($botUser->userid)->first();
|
||||
|
||||
@ -170,7 +170,7 @@ services:
|
||||
|
||||
ai:
|
||||
container_name: "dootask-ai-${APP_ID}"
|
||||
image: "kuaifan/dooai:0.1.2"
|
||||
image: "kuaifan/dooai:0.1.4"
|
||||
networks:
|
||||
extnetwork:
|
||||
ipv4_address: "${APP_IPPR}.12"
|
||||
|
||||
BIN
public/images/avatar/default_gemini.png
Normal file
BIN
public/images/avatar/default_gemini.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
@ -88,6 +88,11 @@
|
||||
<SystemAibot type="Qianwen" v-if="aibotTabAction == 'qianwen'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
<TabPane label="Gemini" name="gemini">
|
||||
<div class="aibot-warp">
|
||||
<SystemAibot type="Gemini" v-if="aibotTabAction == 'gemini'" />
|
||||
</div>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</div>
|
||||
</div>
|
||||
@ -255,7 +260,7 @@ export default {
|
||||
{
|
||||
value: "wenxin",
|
||||
label: "Wenxin",
|
||||
src: $A.apiUrl('../avatar/Wenxin.png'),
|
||||
src: $A.apiUrl('../avatar/%E6%96%87%E5%BF%83.png'),
|
||||
desc: this.$L('我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。')
|
||||
},
|
||||
{
|
||||
@ -264,6 +269,12 @@ export default {
|
||||
src: $A.apiUrl('../avatar/%E9%80%9A%E4%B9%89%E5%8D%83%E9%97%AE.png'),
|
||||
desc: this.$L('我是达摩院自主研发的超大规模语言模型,能够回答问题、创作文字,还能表达观点、撰写代码。')
|
||||
},
|
||||
{
|
||||
value: "gemini",
|
||||
label: "Gemini",
|
||||
src: $A.apiUrl('../images/avatar/default_gemini.png'),
|
||||
desc: this.$L('我是一个由 Google 训练的大型语言模型,旨在帮助人们并回答他们的问题。')
|
||||
},
|
||||
],
|
||||
aibotTabAction: "opanai",
|
||||
aibotShow: false,
|
||||
|
||||
@ -73,6 +73,26 @@
|
||||
</FormItem>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block-setting-box" v-if="type=='all' || type=='Gemini'">
|
||||
<h3>Gemini</h3>
|
||||
<div class="form-box">
|
||||
<FormItem label="API Key" prop="gemini_key">
|
||||
<Input :maxlength="255" v-model="formData.gemini_key" type="password" placeholder="API Key"/>
|
||||
<div class="form-tip">{{$L('获取方式')}} <a href="https://ai.google.dev/tutorials/setup?hl=zh-cn" target="_blank">https://ai.google.dev/tutorials/setup?hl=zh-cn</a></div>
|
||||
</FormItem>
|
||||
<FormItem :label="$L('模型')" prop="gemini_model">
|
||||
<Select v-model="formData.gemini_model" placement="top">
|
||||
<Option value="gemini-1.0-pro">gemini-1.0-pro</Option>
|
||||
<!-- <Option value="gemini-pro-vision">gemini-pro-vision</Option> -->
|
||||
</Select>
|
||||
<div class="form-tip">{{$L('查看说明')}} <a href="https://ai.google.dev/models?hl=zh-cn" target="_blank">https://ai.google.dev/models?hl=zh-cn</a></div>
|
||||
</FormItem>
|
||||
<FormItem :label="$L('使用代理')" prop="gemini_agency">
|
||||
<Input :maxlength="500" v-model="formData.gemini_agency" :placeholder="$L('支持 http 或 socks 代理')"/>
|
||||
<div class="form-tip">{{$L('例如:http://proxy.com 或 socks5://proxy.com')}}</div>
|
||||
</FormItem>
|
||||
</div>
|
||||
</div>
|
||||
</Form>
|
||||
<div class="setting-footer">
|
||||
<Button :loading="loadIng > 0" type="primary" @click="submitForm">{{ $L('提交') }}</Button>
|
||||
|
||||
BIN
resources/assets/statics/public/images/avatar/default_gemini.png
Normal file
BIN
resources/assets/statics/public/images/avatar/default_gemini.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
Loading…
x
Reference in New Issue
Block a user