Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
851bf488c2
4 changed files with 83 additions and 2 deletions
|
@ -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?
|
||||
|
|
|
@ -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
67
kernel/conf/ai.go
Normal 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}
|
||||
}
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue