Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2023-03-20 15:56:41 +08:00
commit 851bf488c2
4 changed files with 83 additions and 2 deletions

View file

@ -78,7 +78,7 @@ Cloud services require a paid subscription.
* [SiYuan development plan and progress](https://github.com/orgs/siyuan-note/projects/1)
* [SiYuan changelog](CHANGELOG.md)
## 🛠️ Download Setup
## 🚀 Download Setup
It is recommended to give priority to installing through the application market on the desktop and mobile, so that you can upgrade the version with one click in the future.
@ -149,6 +149,10 @@ We release insider preview before major updates, please visit [https://github.co
* [Discord](https://discord.com/invite/bzfCBwMzdP) A community built by enthusiastic users
* [Awesome SiYuan](https://github.com/siyuan-note/awesome) Resources organized by enthusiastic users
## 🛠️ Development Guide
See [Development Guide](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md).
## ❓ FAQ
### Is SiYuan right for me? Or how should I choose note-taking software?

View file

@ -80,7 +80,7 @@
* [思源笔记开发计划和进度](https://github.com/orgs/siyuan-note/projects/1)
* [思源笔记版本变更和公告](https://ld246.com/tag/siyuan-announcement)
## 🛠️ 下载安装
## 🚀 下载安装
桌面端和移动端建议优先考虑通过应用市场安装,这样以后升级版本时可以一键更新。
@ -154,6 +154,10 @@
* [用户社区汇总](https://ld246.com/article/1640266171309) 由热心用户建立的社区
* [Awesome SiYuan](https://github.com/siyuan-note/awesome) 由热心用户整理的资源
## 🛠️ 开发指南
见:[开发指南](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING_zh_CN.md)。
## ❓ 常见问题和解答
### 听说思源笔记会通过用户电脑挖矿?

67
kernel/conf/ai.go Normal file
View file

@ -0,0 +1,67 @@
// SiYuan - Build Your Eternal Digital Garden
// Copyright (c) 2020-present, b3log.org
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package conf
import (
"os"
"strconv"
)
type AI struct {
OpenAI *OpenAI `json:"openAI"`
}
type OpenAI struct {
APIKey string `json:"apiKey"`
APITimeout int `json:"apiTimeout"`
APIProxy string `json:"apiProxy"`
APIMaxTokens int `json:"apiMaxTokens"`
APIBaseURL string `json:"apiBaseURL"`
}
func NewAI() *AI {
openAI := &OpenAI{
APITimeout: 30,
APIBaseURL: "https://api.openai.com/v1",
}
openAI.APIKey = os.Getenv("SIYUAN_OPENAI_API_KEY")
if timeout := os.Getenv("SIYUAN_OPENAI_API_TIMEOUT"); "" != timeout {
timeoutInt, err := strconv.Atoi(timeout)
if nil == err {
openAI.APITimeout = timeoutInt
}
}
if proxy := os.Getenv("SIYUAN_OPENAI_API_PROXY"); "" != proxy {
openAI.APIProxy = proxy
}
if maxTokens := os.Getenv("SIYUAN_OPENAI_API_MAX_TOKENS"); "" != maxTokens {
maxTokensInt, err := strconv.Atoi(maxTokens)
if nil == err {
openAI.APIMaxTokens = maxTokensInt
}
}
if baseURL := os.Getenv("SIYUAN_OPENAI_API_BASE_URL"); "" != baseURL {
openAI.APIBaseURL = baseURL
}
return &AI{OpenAI: openAI}
}

View file

@ -70,6 +70,7 @@ type AppConf struct {
Sync *conf.Sync `json:"sync"` // 同步配置
Search *conf.Search `json:"search"` // 搜索配置
Flashcard *conf.Flashcard `json:"flashcard"` // 闪卡配置
AI *conf.AI `json:"ai"` // 人工智能配置
Stat *conf.Stat `json:"stat"` // 统计
Api *conf.API `json:"api"` // API
Repo *conf.Repo `json:"repo"` // 数据仓库
@ -318,6 +319,11 @@ func InitConf() {
Conf.Flashcard = conf.NewFlashcard()
}
// TODO 支持应用内配置人工智能 https://github.com/siyuan-note/siyuan/issues/7714
//if nil == Conf.AI {
// Conf.AI = conf.NewAI()
//}
Conf.ReadOnly = util.ReadOnly
if "" != util.AccessAuthCode {