仰望星辰工作室

gitcat

gitcat/ webroot/templates/admin_ai.html 3.5 KB · 64 行 原始文件
1{{define "content"}}
2{{template "adminnav" (dict "Tab" "ai")}}
3<div class="pagehead">
4 <h1>AI 接入</h1>
5 <p class="muted">接入任意 OpenAI 兼容接口(OpenAI、DeepSeek、通义、本地 Ollama 等),成员每次推送后自动生成「What's New」更新说明。</p>
6</div>
7
8<div class="split">
9 <div class="col-main">
10 <div class="card">
11 <form method="post" action="/admin/ai" autocomplete="off">
12 <input type="hidden" name="csrf" value="{{.CSRF}}">
13 <label class="check"><input type="checkbox" name="ai_enabled" {{if .Data.Enabled}}checked{{end}}><span>启用 AI 自动更新说明<em>关闭后仍会显示根据提交信息生成的简要说明</em></span></label>
14 <label class="field">
15 <span>接口地址(Base URL)</span>
16 <input type="text" name="ai_base_url" value="{{.Data.BaseURL}}" placeholder="https://api.openai.com/v1">
17 <em class="field-hint">可填到 /v1 为止,例如 https://api.deepseek.com/v1;也可直接填写完整的 /chat/completions 地址。</em>
18 </label>
19 <div class="grid-2">
20 <label class="field"><span>模型名称</span><input type="text" name="ai_model" value="{{.Data.Model}}" placeholder="gpt-4o-mini / deepseek-chat"></label>
21 <label class="field">
22 <span>说明语言</span>
23 <select name="ai_language">
24 <option value="zh" {{if ne .Data.Language "en"}}selected{{end}}>简体中文</option>
25 <option value="en" {{if eq .Data.Language "en"}}selected{{end}}>English</option>
26 </select>
27 </label>
28 </div>
29 <label class="field">
30 <span>API Key</span>
31 <input type="password" name="ai_api_key" placeholder="{{if .Data.HasKey}}已保存,留空则保持不变{{else}}sk-...{{end}}" autocomplete="new-password">
32 {{if .Data.HasKey}}<em class="field-hint">当前已配置密钥。</em>{{end}}
33 </label>
34 {{if .Data.HasKey}}<label class="check"><input type="checkbox" name="clear_key"><span>清除已保存的密钥</span></label>{{end}}
35 <div class="row-actions">
36 <button class="btn btn-primary" type="submit">保存设置</button>
37 <button class="btn btn-ghost" type="submit" name="action" value="test">保存并测试连接</button>
38 </div>
39 </form>
40 </div>
41 </div>
42
43 <aside class="col-side">
44 <div class="card tip-card">
45 <h3>它是如何工作的</h3>
46 <ol class="steps">
47 <li><span class="step">1</span><div>成员 <code class="csha">git push</code> 到 gitcat。</div></li>
48 <li><span class="step">2</span><div>服务端记录本次推送的提交与变更统计。</div></li>
49 <li><span class="step">3</span><div>调用你在上面配置的模型,生成 1-3 条面向访客的更新说明。</div></li>
50 <li><span class="step">4</span><div>说明展示在项目主页与「动态」页面,并标注是 AI 生成。</div></li>
51 </ol>
52 <p class="hint">若接口不可用,gitcat 会自动降级为基于提交信息的简要说明,不影响推送。</p>
53 </div>
54 <div class="card about">
55 <h3>常见服务示例</h3>
56 <ul class="kv">
57 <li><span>OpenAI</span><code class="csha">https://api.openai.com/v1</code></li>
58 <li><span>DeepSeek</span><code class="csha">https://api.deepseek.com/v1</code></li>
59 <li><span>Ollama 本地</span><code class="csha">http://127.0.0.1:11434/v1</code></li>
60 </ul>
61 </div>
62 </aside>
63</div>
64{{end}}