mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-02-04 14:41:47 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
d3a4053f28
11 changed files with 113 additions and 40 deletions
|
|
@ -6,33 +6,35 @@ export const ai = {
|
|||
let responsiveHTML = "";
|
||||
/// #if MOBILE
|
||||
responsiveHTML = `<div class="b3-label">
|
||||
${window.siyuan.languages.apiProvider}
|
||||
<div class="b3-label__text">
|
||||
${window.siyuan.languages.apiProviderTip}
|
||||
</div>
|
||||
<div class="b3-label__text fn__flex config__item" style="padding: 4px 0 4px 4px;">
|
||||
<select id="apiProvider" class="b3-select">
|
||||
<option value="OpenAI" ${window.siyuan.config.ai.openAI.apiProvider === "OpenAI" ? "selected" : ""}>OpenAI</option>
|
||||
<option value="Azure" ${window.siyuan.config.ai.openAI.apiProvider === "Azure" ? "selected" : ""}>Azure</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
${window.siyuan.languages.apiTimeout}
|
||||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__flex-center fn__block" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiTimeoutTip}</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
${window.siyuan.languages.apiModel}
|
||||
<div class="b3-label__text">
|
||||
${window.siyuan.languages.apiModelTip}
|
||||
</div>
|
||||
<div class="b3-label__text fn__flex config__item" style="padding: 4px 0 4px 4px;">
|
||||
<select id="apiModel" class="b3-select">
|
||||
<option value="gpt-4" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4" ? "selected" : ""}>gpt-4</option>
|
||||
<option value="gpt-4-32k" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4-32k" ? "selected" : ""}>gpt-4-32k</option>
|
||||
<option value="gpt-4-1106-preview" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4-1106-preview" ? "selected" : ""}>gpt-4-1106-preview</option>
|
||||
<option value="gpt-3.5-turbo" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo" ? "selected" : ""}>gpt-3.5-turbo</option>
|
||||
<option value="gpt-3.5-turbo-16k" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-16k" ? "selected" : ""}>gpt-3.5-turbo-16k</option>
|
||||
<option value="gpt-3.5-turbo-1106" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-1106" ? "selected" : ""}>gpt-3.5-turbo-1106</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
${window.siyuan.languages.apiMaxTokens}
|
||||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__flex-center fn__block" type="number" step="1" min="0" id="apiMaxTokens" value="${window.siyuan.config.ai.openAI.apiMaxTokens}"/>
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiMaxTokensTip}</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
${window.siyuan.languages.apiModel}
|
||||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__block" id="apiModel" value="${window.siyuan.config.ai.openAI.apiModel}"/>
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiModelTip}</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
${window.siyuan.languages.apiKey}
|
||||
<div class="fn__hr"></div>
|
||||
|
|
@ -50,9 +52,26 @@ export const ai = {
|
|||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__block" id="apiBaseURL" value="${window.siyuan.config.ai.openAI.apiBaseURL}"/>
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiBaseURLTip}</div>
|
||||
</div>
|
||||
<div class="b3-label">
|
||||
User-Agent
|
||||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__block" id="apiUserAgent" value="${window.siyuan.config.ai.openAI.apiUserAgent}"/>
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiUserAgentTip}</div>
|
||||
</div>`;
|
||||
/// #else
|
||||
responsiveHTML = `<div class="fn__flex b3-label">
|
||||
responsiveHTML = `<div class="fn__flex b3-label config__item">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.apiProvider}
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiProviderTip}</div>
|
||||
</div>
|
||||
<span class="fn__space"></span>
|
||||
<select id="apiProvider" class="b3-select fn__flex-center fn__size200">
|
||||
<option value="OpenAI" ${window.siyuan.config.ai.openAI.apiProvider === "OpenAI" ? "selected" : ""}>OpenAI</option>
|
||||
<option value="Azure" ${window.siyuan.config.ai.openAI.apiProvider === "Azure" ? "selected" : ""}>Azure</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fn__flex b3-label">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.apiTimeout}
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiTimeoutTip}</div>
|
||||
|
|
@ -60,21 +79,6 @@ export const ai = {
|
|||
<span class="fn__space"></span>
|
||||
<input class="b3-text-field fn__flex-center fn__size200" type="number" step="1" min="5" max="600" id="apiTimeout" value="${window.siyuan.config.ai.openAI.apiTimeout}"/>
|
||||
</div>
|
||||
<div class="fn__flex b3-label config__item">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.apiModel}
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiModelTip}</div>
|
||||
</div>
|
||||
<span class="fn__space"></span>
|
||||
<select id="apiModel" class="b3-select fn__flex-center fn__size200">
|
||||
<option value="gpt-4" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4" ? "selected" : ""}>gpt-4</option>
|
||||
<option value="gpt-4-32k" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4-32k" ? "selected" : ""}>gpt-4-32k</option>
|
||||
<option value="gpt-4-1106-preview" ${window.siyuan.config.ai.openAI.apiModel === "gpt-4-1106-preview" ? "selected" : ""}>gpt-4-1106-preview</option>
|
||||
<option value="gpt-3.5-turbo" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo" ? "selected" : ""}>gpt-3.5-turbo</option>
|
||||
<option value="gpt-3.5-turbo-16k" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-16k" ? "selected" : ""}>gpt-3.5-turbo-16k</option>
|
||||
<option value="gpt-3.5-turbo-1106" ${window.siyuan.config.ai.openAI.apiModel === "gpt-3.5-turbo-1106" ? "selected" : ""}>gpt-3.5-turbo-1106</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="fn__flex b3-label">
|
||||
<div class="fn__flex-1">
|
||||
${window.siyuan.languages.apiMaxTokens}
|
||||
|
|
@ -83,6 +87,14 @@ export const ai = {
|
|||
<span class="fn__space"></span>
|
||||
<input class="b3-text-field fn__flex-center fn__size200" type="number" step="1" min="0" id="apiMaxTokens" value="${window.siyuan.config.ai.openAI.apiMaxTokens}"/>
|
||||
</div>
|
||||
<div class="fn__flex b3-label">
|
||||
<div class="fn__block">
|
||||
${window.siyuan.languages.apiModel}
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiModelTip}</div>
|
||||
<div class="fn__hr"></div>
|
||||
<input class="b3-text-field fn__block" id="apiModel" value="${window.siyuan.config.ai.openAI.apiModel}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fn__flex b3-label">
|
||||
<div class="fn__block">
|
||||
${window.siyuan.languages.apiKey}
|
||||
|
|
@ -106,6 +118,14 @@ export const ai = {
|
|||
<span class="fn__hr"></span>
|
||||
<input class="b3-text-field fn__block" id="apiBaseURL" value="${window.siyuan.config.ai.openAI.apiBaseURL}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fn__flex b3-label">
|
||||
<div class="fn__block">
|
||||
User-Agent
|
||||
<div class="b3-label__text">${window.siyuan.languages.apiUserAgentTip}</div>
|
||||
<span class="fn__hr"></span>
|
||||
<input class="b3-text-field fn__block" id="apiUserAgent" value="${window.siyuan.config.ai.openAI.apiUserAgent}"/>
|
||||
</div>
|
||||
</div>`;
|
||||
/// #endif
|
||||
return `<div class="fn__flex-column" style="height: 100%">
|
||||
|
|
@ -124,6 +144,7 @@ export const ai = {
|
|||
item.addEventListener("change", () => {
|
||||
fetchPost("/api/setting/setAI", {
|
||||
openAI: {
|
||||
apiUserAgent: (ai.element.querySelector("#apiUserAgent") as HTMLInputElement).value,
|
||||
apiBaseURL: (ai.element.querySelector("#apiBaseURL") as HTMLInputElement).value,
|
||||
apiKey: (ai.element.querySelector("#apiKey") as HTMLInputElement).value,
|
||||
apiModel: (ai.element.querySelector("#apiModel") as HTMLSelectElement).value,
|
||||
|
|
|
|||
2
app/src/types/index.d.ts
vendored
2
app/src/types/index.d.ts
vendored
|
|
@ -722,6 +722,8 @@ interface IConfig {
|
|||
}
|
||||
ai: {
|
||||
openAI: {
|
||||
apiProvider: string // OpenAI, Azure
|
||||
apiUserAgent: string
|
||||
apiBaseURL: string
|
||||
apiKey: string
|
||||
apiModel: string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue