mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-08-28 05:40:33 +02:00
Add files via upload
This commit is contained in:
+4
-3
@@ -272,10 +272,11 @@ security:
|
|||||||
# MCP (Model Context Protocol) 用于工具注册和调用
|
# MCP (Model Context Protocol) 用于工具注册和调用
|
||||||
mcp:
|
mcp:
|
||||||
enabled: false # 是否启用 MCP 服务器(http模式)
|
enabled: false # 是否启用 MCP 服务器(http模式)
|
||||||
host: 0.0.0.0 # MCP 服务器监听地址
|
host: 127.0.0.1 # MCP 服务器监听地址;需要远程访问时再显式修改并配置网络层访问控制
|
||||||
port: 8081 # MCP 服务器端口
|
port: 8081 # MCP 服务器端口
|
||||||
auth_header: "X-MCP-Token" # 鉴权:请求需携带该 header 且值与 auth_header_value 一致方可调用。留空表示不鉴权
|
auth_header: "X-MCP-Token" # 可选的全局服务凭证 Header;普通调用请使用用户 Authorization: Bearer Token
|
||||||
auth_header_value: "" # 鉴权密钥值(与 auth_header 配合使用,建议使用随机字符串)
|
auth_header_value: "" # 全局服务凭证值,仅 allow_global_access=true 时生效
|
||||||
|
allow_global_access: false # 高风险兼容模式:静态密钥映射为全局服务身份;默认请使用用户 Bearer Token
|
||||||
# 外部 MCP 配置
|
# 外部 MCP 配置
|
||||||
external_mcp:
|
external_mcp:
|
||||||
servers: {}
|
servers: {}
|
||||||
|
|||||||
@@ -4375,15 +4375,6 @@ html[data-theme="dark"] .user-menu-dropdown {
|
|||||||
border-bottom: 1px solid var(--border-color);
|
border-bottom: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-brand-logo {
|
|
||||||
width: 56px;
|
|
||||||
height: 56px;
|
|
||||||
margin: 0 auto 16px;
|
|
||||||
border-radius: 14px;
|
|
||||||
box-shadow: 0 6px 20px rgba(0, 102, 255, 0.2);
|
|
||||||
object-fit: cover;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-title {
|
.login-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -96,12 +96,9 @@ async function loadToken() {
|
|||||||
// 加载OpenAPI规范
|
// 加载OpenAPI规范
|
||||||
async function loadAPISpec() {
|
async function loadAPISpec() {
|
||||||
try {
|
try {
|
||||||
let url = '/api/openapi/spec';
|
const url = '/api/openapi/spec';
|
||||||
if (currentToken) {
|
const headers = currentToken ? { 'Authorization': `Bearer ${currentToken}` } : {};
|
||||||
url += '?token=' + encodeURIComponent(currentToken);
|
const response = await fetch(url, { headers });
|
||||||
}
|
|
||||||
|
|
||||||
const response = await fetch(url);
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
if (response.status === 401) {
|
if (response.status === 401) {
|
||||||
showError(_t('apiDocs.errorLoginRequired'));
|
showError(_t('apiDocs.errorLoginRequired'));
|
||||||
|
|||||||
@@ -32,7 +32,6 @@
|
|||||||
<div id="login-overlay" class="login-overlay" style="display: none;">
|
<div id="login-overlay" class="login-overlay" style="display: none;">
|
||||||
<div class="login-card">
|
<div class="login-card">
|
||||||
<div class="login-brand">
|
<div class="login-brand">
|
||||||
<img src="/static/logo.png" alt="" class="login-brand-logo" width="56" height="56">
|
|
||||||
<h2 class="login-title">
|
<h2 class="login-title">
|
||||||
<span data-i18n="login.titlePrefix">登录</span>
|
<span data-i18n="login.titlePrefix">登录</span>
|
||||||
<span class="brand-wordmark brand-wordmark--sm" aria-label="CyberStrikeAI">
|
<span class="brand-wordmark brand-wordmark--sm" aria-label="CyberStrikeAI">
|
||||||
|
|||||||
Reference in New Issue
Block a user