mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 22:30:38 +08:00
1825 lines
75 KiB
HTML
1825 lines
75 KiB
HTML
<div id="st-bme-panel-overlay">
|
||
<div id="st-bme-panel">
|
||
<div class="bme-panel-header">
|
||
<div class="bme-panel-title">
|
||
<i class="fa-solid fa-brain"></i>
|
||
<span>ST-BME 记忆图谱</span>
|
||
<span class="bme-panel-subtitle" id="bme-panel-status"
|
||
>SYSTEM_ACTIVE</span
|
||
>
|
||
</div>
|
||
<button
|
||
class="bme-fab-toggle-btn"
|
||
id="bme-fab-toggle-btn"
|
||
title="显示/隐藏悬浮球"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-circle-dot"></i>
|
||
</button>
|
||
<div class="bme-theme-picker">
|
||
<button
|
||
class="bme-theme-picker-btn"
|
||
id="bme-theme-picker-btn"
|
||
title="切换主题"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-palette"></i>
|
||
</button>
|
||
<div class="bme-theme-dropdown" id="bme-theme-dropdown">
|
||
<button class="bme-theme-option" data-theme="crimson" type="button">
|
||
<span class="bme-theme-swatch" style="background: #e94560"></span
|
||
>赤红合成
|
||
</button>
|
||
<button class="bme-theme-option" data-theme="cyan" type="button">
|
||
<span class="bme-theme-swatch" style="background: #00e5ff"></span
|
||
>霓虹青蓝
|
||
</button>
|
||
<button class="bme-theme-option" data-theme="amber" type="button">
|
||
<span class="bme-theme-swatch" style="background: #ffb300"></span
|
||
>琥珀终端
|
||
</button>
|
||
<button class="bme-theme-option" data-theme="violet" type="button">
|
||
<span class="bme-theme-swatch" style="background: #b388ff"></span
|
||
>紫雾迷离
|
||
</button>
|
||
</div>
|
||
</div>
|
||
<button
|
||
class="bme-panel-close"
|
||
id="bme-panel-close"
|
||
title="关闭"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-xmark"></i>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="bme-panel-body">
|
||
<div class="bme-panel-sidebar">
|
||
<div class="bme-tab-list">
|
||
<button class="bme-tab-btn active" data-tab="dashboard" type="button">
|
||
<i class="fa-solid fa-chart-simple"></i>
|
||
<span>总览</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="memory" type="button">
|
||
<i class="fa-solid fa-brain"></i>
|
||
<span>记忆</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="injection" type="button">
|
||
<i class="fa-solid fa-syringe"></i>
|
||
<span>注入</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="actions" type="button">
|
||
<i class="fa-solid fa-gear"></i>
|
||
<span>操作</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="config" type="button">
|
||
<i class="fa-solid fa-sliders"></i>
|
||
<span>配置</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="bme-config-sidebar" id="bme-config-sidebar">
|
||
<div class="bme-config-sidebar-header">
|
||
<div class="bme-config-sidebar-kicker">配置工作区</div>
|
||
<div class="bme-config-sidebar-title">ST-BME 设置</div>
|
||
<div class="bme-config-sidebar-help">
|
||
左侧切换配置页,右侧查看对应的完整设置表单。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-nav bme-config-nav-desktop">
|
||
<button
|
||
class="bme-config-nav-btn active"
|
||
data-config-section="api"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-plug"></i>
|
||
<span>API 配置</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="toggles"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-toggle-on"></i>
|
||
<span>功能开关</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="advanced"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-sliders"></i>
|
||
<span>详细参数</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="prompts"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-scroll"></i>
|
||
<span>任务预设</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="appearance"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-palette"></i>
|
||
<span>面板外观</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-tab-content">
|
||
<div class="bme-tab-pane active" id="bme-pane-dashboard">
|
||
<div class="bme-stats-grid">
|
||
<div class="bme-stat-card">
|
||
<div class="bme-stat-label">活跃节点</div>
|
||
<div class="bme-stat-value" id="bme-stat-nodes">0</div>
|
||
</div>
|
||
<div class="bme-stat-card">
|
||
<div class="bme-stat-label">边连接</div>
|
||
<div class="bme-stat-value" id="bme-stat-edges">0</div>
|
||
</div>
|
||
<div class="bme-stat-card">
|
||
<div class="bme-stat-label">已归档</div>
|
||
<div class="bme-stat-value" id="bme-stat-archived">0</div>
|
||
</div>
|
||
<div class="bme-stat-card">
|
||
<div class="bme-stat-label">碎片率</div>
|
||
<div class="bme-stat-value warning" id="bme-stat-frag">0%</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-card">
|
||
<div class="bme-section-header">运行状态</div>
|
||
<div class="bme-config-row">
|
||
<label>当前聊天</label>
|
||
<div class="bme-recent-meta" id="bme-status-chat-id">—</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>历史状态</label>
|
||
<div class="bme-recent-meta" id="bme-status-history">—</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>向量状态</label>
|
||
<div class="bme-recent-meta" id="bme-status-vector">—</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>最近恢复</label>
|
||
<div class="bme-recent-meta" id="bme-status-recovery">—</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>最近提取</label>
|
||
<div class="bme-recent-meta" id="bme-status-last-extract">
|
||
—
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>最近向量</label>
|
||
<div class="bme-recent-meta" id="bme-status-last-vector">—</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label>最近召回</label>
|
||
<div class="bme-recent-meta" id="bme-status-last-recall">—</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-mobile-graph-preview" id="bme-mobile-graph-area">
|
||
<canvas id="bme-mobile-graph-canvas"></canvas>
|
||
<span class="bme-mobile-graph-label">REALTIME</span>
|
||
</div>
|
||
<div
|
||
class="bme-graph-statusbar bme-mobile-graph-status"
|
||
id="bme-mobile-graph-status"
|
||
>
|
||
<span><span class="bme-status-dot"></span>NODE_SYNC_ACTIVE</span>
|
||
</div>
|
||
|
||
<div class="bme-section-header">最近提取</div>
|
||
<ul class="bme-recent-list" id="bme-recent-extract"></ul>
|
||
|
||
<div class="bme-section-header">最近召回</div>
|
||
<ul class="bme-recent-list" id="bme-recent-recall"></ul>
|
||
</div>
|
||
|
||
<div class="bme-tab-pane" id="bme-pane-memory">
|
||
<div class="bme-search-bar">
|
||
<input
|
||
type="text"
|
||
class="bme-search-input"
|
||
id="bme-memory-search"
|
||
placeholder="搜索记忆节点..."
|
||
/>
|
||
<select class="bme-filter-select" id="bme-memory-filter">
|
||
<option value="all">全部</option>
|
||
<option value="character">角色</option>
|
||
<option value="event">事件</option>
|
||
<option value="location">地点</option>
|
||
<option value="thread">线索</option>
|
||
<option value="rule">规则</option>
|
||
<option value="synopsis">概要</option>
|
||
<option value="reflection">反思</option>
|
||
</select>
|
||
</div>
|
||
<ul class="bme-memory-list" id="bme-memory-list"></ul>
|
||
</div>
|
||
|
||
<div class="bme-tab-pane" id="bme-pane-injection">
|
||
<div id="bme-injection-content"></div>
|
||
<div
|
||
class="bme-injection-token-count"
|
||
id="bme-injection-tokens"
|
||
></div>
|
||
</div>
|
||
|
||
<div class="bme-tab-pane" id="bme-pane-actions">
|
||
<div class="bme-action-groups">
|
||
<!-- 记忆操作 -->
|
||
<div class="bme-action-group">
|
||
<div class="bme-action-group-header">
|
||
<span class="bme-action-group-title">记忆操作</span>
|
||
<span class="bme-action-group-sub">调用 LLM 处理记忆节点</span>
|
||
</div>
|
||
<div class="bme-action-grid">
|
||
<button class="bme-action-btn" id="bme-act-extract" type="button">
|
||
<i class="fa-solid fa-download"></i>
|
||
<span>手动提取</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-compress" type="button">
|
||
<i class="fa-solid fa-compress"></i>
|
||
<span>手动压缩</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-synopsis" type="button">
|
||
<i class="fa-solid fa-scroll"></i>
|
||
<span>更新概要</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-evolve" type="button">
|
||
<i class="fa-solid fa-dna"></i>
|
||
<span>强制进化</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-sleep" type="button">
|
||
<i class="fa-solid fa-moon"></i>
|
||
<span>执行遗忘</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-reroll" type="button">
|
||
<i class="fa-solid fa-rotate"></i>
|
||
<span>重新提取</span>
|
||
</button>
|
||
</div>
|
||
<div class="bme-action-group-extra">
|
||
<div class="bme-config-help">
|
||
重新提取:回滚指定楼层及之后的提取结果并重做。留空则只重做最新 AI 楼。
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-reroll-floor">起始楼层</label>
|
||
<input
|
||
id="bme-reroll-floor"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="999999"
|
||
placeholder="留空 = 最新 AI 楼"
|
||
/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 向量操作 -->
|
||
<div class="bme-action-group">
|
||
<div class="bme-action-group-header">
|
||
<span class="bme-action-group-title">向量操作</span>
|
||
<span class="bme-action-group-sub">调用 Embedding API 计算节点向量</span>
|
||
</div>
|
||
<div class="bme-action-grid">
|
||
<button class="bme-action-btn" id="bme-act-vector-rebuild" type="button">
|
||
<i class="fa-solid fa-database"></i>
|
||
<span>重建向量</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-vector-range" type="button">
|
||
<i class="fa-solid fa-layer-group"></i>
|
||
<span>范围重建</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-vector-reembed" type="button">
|
||
<i class="fa-solid fa-wand-magic-sparkles"></i>
|
||
<span>直连重嵌</span>
|
||
</button>
|
||
</div>
|
||
<div class="bme-action-group-extra">
|
||
<div class="bme-config-help">
|
||
范围重建:仅重建与指定楼层范围相交的节点向量。留空时默认按整段聊天处理。
|
||
</div>
|
||
<div class="bme-action-range-row">
|
||
<div class="bme-config-row">
|
||
<label for="bme-range-start">起始楼层</label>
|
||
<input
|
||
id="bme-range-start"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="999999"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-range-end">结束楼层</label>
|
||
<input
|
||
id="bme-range-end"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="999999"
|
||
/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- 图谱管理 -->
|
||
<div class="bme-action-group">
|
||
<div class="bme-action-group-header">
|
||
<span class="bme-action-group-title">图谱管理</span>
|
||
<span class="bme-action-group-sub">导入导出与危险操作</span>
|
||
</div>
|
||
<div class="bme-action-grid">
|
||
<button class="bme-action-btn" id="bme-act-export" type="button">
|
||
<i class="fa-solid fa-file-export"></i>
|
||
<span>导出图谱</span>
|
||
</button>
|
||
<button class="bme-action-btn" id="bme-act-import" type="button">
|
||
<i class="fa-solid fa-file-import"></i>
|
||
<span>导入图谱</span>
|
||
</button>
|
||
<button class="bme-action-btn danger" id="bme-act-rebuild" type="button">
|
||
<i class="fa-solid fa-triangle-exclamation"></i>
|
||
<span>重建图谱</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-tab-pane" id="bme-pane-config">
|
||
<div class="bme-config-placeholder">
|
||
<div class="bme-config-placeholder-title">
|
||
配置已切换到右侧工作区
|
||
</div>
|
||
<div class="bme-config-placeholder-help">
|
||
左侧子导航负责切页,右侧显示完整的配置表单。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-resize-handle" id="bme-resize-handle"></div>
|
||
|
||
<div class="bme-panel-main">
|
||
<div class="bme-graph-workspace" id="bme-graph-workspace">
|
||
<div class="bme-graph-toolbar">
|
||
<div class="bme-graph-toolbar-title">
|
||
<i class="fa-solid fa-diagram-project"></i>
|
||
<span>实时图谱</span>
|
||
</div>
|
||
<div class="bme-graph-controls">
|
||
<button id="bme-graph-zoom-in" title="放大" type="button">
|
||
<i class="fa-solid fa-plus"></i>
|
||
</button>
|
||
<button id="bme-graph-zoom-out" title="缩小" type="button">
|
||
<i class="fa-solid fa-minus"></i>
|
||
</button>
|
||
<button id="bme-graph-reset" title="重置" type="button">
|
||
<i class="fa-solid fa-arrows-rotate"></i>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<canvas id="bme-graph-canvas"></canvas>
|
||
|
||
<div class="bme-graph-legend" id="bme-graph-legend"></div>
|
||
|
||
<div class="bme-graph-statusbar">
|
||
<span
|
||
><span class="bme-status-dot"></span
|
||
><span id="bme-status-text">READY</span></span
|
||
>
|
||
<span id="bme-status-meta">NODES: 0 | EDGES: 0</span>
|
||
</div>
|
||
|
||
<div class="bme-node-detail" id="bme-node-detail">
|
||
<div class="bme-node-detail-header">
|
||
<h3 id="bme-detail-title">节点详情</h3>
|
||
<button
|
||
class="bme-panel-close"
|
||
id="bme-detail-close"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-xmark"></i>
|
||
</button>
|
||
</div>
|
||
<div id="bme-detail-body"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-workspace" id="bme-config-workspace">
|
||
<div class="bme-config-workspace-header">
|
||
<div>
|
||
<div class="bme-config-workspace-kicker">配置</div>
|
||
<h2 class="bme-config-workspace-title">ST-BME 配置工作区</h2>
|
||
<p class="bme-config-workspace-desc">
|
||
在这里集中配置第二记忆模型、功能开关、细粒度参数、任务预设和面板主题。
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-nav bme-config-nav-mobile">
|
||
<button
|
||
class="bme-config-nav-btn active"
|
||
data-config-section="api"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-plug"></i>
|
||
<span>API 配置</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="toggles"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-toggle-on"></i>
|
||
<span>功能开关</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="advanced"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-sliders"></i>
|
||
<span>详细参数</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="prompts"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-scroll"></i>
|
||
<span>任务预设</span>
|
||
</button>
|
||
<button
|
||
class="bme-config-nav-btn"
|
||
data-config-section="appearance"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-palette"></i>
|
||
<span>面板外观</span>
|
||
</button>
|
||
</div>
|
||
|
||
<div class="bme-config-sections">
|
||
<section
|
||
class="bme-config-section active"
|
||
data-config-section="api"
|
||
>
|
||
<div class="bme-config-section-head">
|
||
<div class="bme-config-section-kicker">API 配置</div>
|
||
<h3 class="bme-config-section-title">模型连接与向量接入</h3>
|
||
<p class="bme-config-section-desc">
|
||
统一管理独立记忆 LLM 和 Embedding
|
||
的连接方式,保留现有后端代理与直连兜底逻辑。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="bme-config-grid bme-config-grid-2">
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">记忆 LLM</div>
|
||
<div class="bme-config-card-subtitle">
|
||
留空时复用当前聊天模型;填写后走现有代理转发到 OpenAI
|
||
兼容接口。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-llm-url">LLM API 地址</label>
|
||
<input
|
||
id="bme-setting-llm-url"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="https://api.openai.com/v1"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-llm-key">LLM API Key</label>
|
||
<input
|
||
id="bme-setting-llm-key"
|
||
class="bme-config-input"
|
||
type="password"
|
||
placeholder="sk-..."
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-llm-model">LLM 模型</label>
|
||
<input
|
||
id="bme-setting-llm-model"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="gpt-4.1-mini / qwen-max / deepseek-chat"
|
||
/>
|
||
</div>
|
||
<div class="bme-model-fetch-block">
|
||
<button
|
||
class="bme-config-secondary-btn"
|
||
id="bme-fetch-llm-models"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-rotate"></i>
|
||
<span>拉取模型</span>
|
||
</button>
|
||
<select
|
||
id="bme-select-llm-model"
|
||
class="bme-config-input bme-model-select"
|
||
style="display: none"
|
||
>
|
||
<option value="">从拉取结果中选择模型</option>
|
||
</select>
|
||
</div>
|
||
<div class="bme-config-actions">
|
||
<button
|
||
class="bme-config-test-btn"
|
||
id="bme-test-llm"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-plug"></i>
|
||
<span>测试记忆 LLM</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">Embedding</div>
|
||
<div class="bme-config-card-subtitle">
|
||
后端模式优先复用酒馆向量源,直连模式保留独立
|
||
URL/Key/Model。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-mode">向量模式</label>
|
||
<select
|
||
id="bme-setting-embed-mode"
|
||
class="bme-config-input"
|
||
>
|
||
<option value="backend">后端索引</option>
|
||
<option value="direct">直连兜底</option>
|
||
</select>
|
||
</div>
|
||
|
||
<div id="bme-embed-backend-fields">
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-backend-source"
|
||
>后端向量源</label
|
||
>
|
||
<select
|
||
id="bme-setting-embed-backend-source"
|
||
class="bme-config-input"
|
||
>
|
||
<option value="openai">OpenAI</option>
|
||
<option value="openrouter">OpenRouter</option>
|
||
<option value="cohere">Cohere</option>
|
||
<option value="mistral">Mistral</option>
|
||
<option value="electronhub">Electron Hub</option>
|
||
<option value="chutes">Chutes</option>
|
||
<option value="nanogpt">NanoGPT</option>
|
||
<option value="ollama">Ollama</option>
|
||
<option value="llamacpp">llama.cpp</option>
|
||
<option value="vllm">vLLM</option>
|
||
</select>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-backend-model"
|
||
>后端模型</label
|
||
>
|
||
<input
|
||
id="bme-setting-embed-backend-model"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="text-embedding-3-small / nomic-embed-text / BAAI/bge-m3"
|
||
/>
|
||
</div>
|
||
<div class="bme-model-fetch-block">
|
||
<button
|
||
class="bme-config-secondary-btn"
|
||
id="bme-fetch-embed-backend-models"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-rotate"></i>
|
||
<span>拉取模型</span>
|
||
</button>
|
||
<select
|
||
id="bme-select-embed-backend-model"
|
||
class="bme-config-input bme-model-select"
|
||
style="display: none"
|
||
>
|
||
<option value="">从拉取结果中选择模型</option>
|
||
</select>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-backend-url"
|
||
>后端 API 地址</label
|
||
>
|
||
<input
|
||
id="bme-setting-embed-backend-url"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="仅 Ollama / llama.cpp / vLLM 需要填写"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row inline">
|
||
<label
|
||
class="checkbox_label"
|
||
for="bme-setting-embed-auto-suffix"
|
||
>
|
||
<input
|
||
id="bme-setting-embed-auto-suffix"
|
||
type="checkbox"
|
||
/>
|
||
<span>自动补全 /embeddings 后缀</span>
|
||
</label>
|
||
</div>
|
||
<div class="bme-config-help">
|
||
如果当前页面是 HTTPS 而你填的是
|
||
HTTP,本地浏览器可能会拦截混合内容;远程部署时请优先使用
|
||
HTTPS 或宿主可访问的同源入口。
|
||
</div>
|
||
</div>
|
||
|
||
<div id="bme-embed-direct-fields">
|
||
<div class="bme-config-help">
|
||
直连模式会使用下面这组独立配置。
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-url"
|
||
>Embedding API 地址</label
|
||
>
|
||
<input
|
||
id="bme-setting-embed-url"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="https://api.openai.com/v1"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-key"
|
||
>Embedding API Key</label
|
||
>
|
||
<input
|
||
id="bme-setting-embed-key"
|
||
class="bme-config-input"
|
||
type="password"
|
||
placeholder="sk-..."
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-embed-model"
|
||
>Embedding 模型</label
|
||
>
|
||
<input
|
||
id="bme-setting-embed-model"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="text-embedding-3-small"
|
||
/>
|
||
</div>
|
||
<div class="bme-model-fetch-block">
|
||
<button
|
||
class="bme-config-secondary-btn"
|
||
id="bme-fetch-embed-direct-models"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-rotate"></i>
|
||
<span>拉取模型</span>
|
||
</button>
|
||
<select
|
||
id="bme-select-embed-direct-model"
|
||
class="bme-config-input bme-model-select"
|
||
style="display: none"
|
||
>
|
||
<option value="">从拉取结果中选择模型</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-actions">
|
||
<button
|
||
class="bme-config-test-btn"
|
||
id="bme-test-embedding"
|
||
type="button"
|
||
>
|
||
<i class="fa-solid fa-plug"></i>
|
||
<span>测试 Embedding</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<details
|
||
class="bme-config-card bme-collapsible-card"
|
||
id="bme-advanced-network-settings"
|
||
>
|
||
<summary class="bme-config-card-head bme-collapsible-summary">
|
||
<div>
|
||
<div class="bme-config-card-title">高级网络设置</div>
|
||
<div class="bme-config-card-subtitle">
|
||
默认折叠;统一控制
|
||
LLM、Embedding、后端向量与本地向量请求超时。
|
||
</div>
|
||
</div>
|
||
<span class="bme-collapsible-indicator" aria-hidden="true">
|
||
<i class="fa-solid fa-chevron-down"></i>
|
||
</span>
|
||
</summary>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-timeout-ms">统一超时(毫秒)</label>
|
||
<input
|
||
id="bme-setting-timeout-ms"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1000"
|
||
step="1000"
|
||
placeholder="300000"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-help">
|
||
默认值为 300000ms(5
|
||
分钟)。留空或填写无效值时会回退到默认值。
|
||
</div>
|
||
</details>
|
||
</section>
|
||
|
||
<section class="bme-config-section" data-config-section="toggles">
|
||
<div class="bme-config-section-head">
|
||
<div class="bme-config-section-kicker">功能开关</div>
|
||
<h3 class="bme-config-section-title">主链路与增强能力</h3>
|
||
<p class="bme-config-section-desc">
|
||
先决定哪些能力参与记忆链路,再到详细参数里微调各模块行为。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="bme-config-grid bme-config-grid-2">
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">核心能力</div>
|
||
<div class="bme-config-card-subtitle">
|
||
决定主记忆链路是否运行,以及常用的强化能力是否开启。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-toggle-list">
|
||
<label class="bme-toggle-item" for="bme-setting-enabled">
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title"
|
||
>启用 ST-BME 自动记忆</span
|
||
>
|
||
<span class="bme-toggle-desc"
|
||
>开启自动提取、图谱写入与维护。</span
|
||
>
|
||
</span>
|
||
<input id="bme-setting-enabled" type="checkbox" />
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-recall-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用生成前记忆召回</span>
|
||
<span class="bme-toggle-desc"
|
||
>在生成前检索相关记忆并注入 prompt。</span
|
||
>
|
||
</span>
|
||
<input id="bme-setting-recall-enabled" type="checkbox" />
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-consolidation-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用记忆整合</span>
|
||
<span class="bme-toggle-desc"
|
||
>去重/冲突检测 + 反向修正既有记忆 + 建立关联边。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-consolidation-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-synopsis-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用全局概要</span>
|
||
<span class="bme-toggle-desc"
|
||
>按周期生成故事级的全局总结节点。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-synopsis-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">增强能力</div>
|
||
<div class="bme-config-card-subtitle">
|
||
用于补充召回链路、压缩维护和长期叙事观察的可选模块。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-toggle-list">
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-visibility-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用认知边界</span>
|
||
<span class="bme-toggle-desc"
|
||
>限制角色只访问自己可感知的记忆。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-visibility-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-cross-recall-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用交叉检索</span>
|
||
<span class="bme-toggle-desc"
|
||
>扩展到多跳邻域和跨线索召回。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-cross-recall-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-smart-trigger-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用惊奇触发</span>
|
||
<span class="bme-toggle-desc"
|
||
>在高信息量或指定模式时提升提取敏感度。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-smart-trigger-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-sleep-cycle-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用主动遗忘</span>
|
||
<span class="bme-toggle-desc"
|
||
>周期性清理低价值节点(归档)。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-sleep-cycle-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-prob-recall-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用概率召回</span>
|
||
<span class="bme-toggle-desc"
|
||
>允许少量弱相关记忆以概率方式入围。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-prob-recall-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
<label
|
||
class="bme-toggle-item"
|
||
for="bme-setting-reflection-enabled"
|
||
>
|
||
<span class="bme-toggle-copy">
|
||
<span class="bme-toggle-title">启用反思</span>
|
||
<span class="bme-toggle-desc"
|
||
>按周期生成长期叙事反思与关注点。</span
|
||
>
|
||
</span>
|
||
<input
|
||
id="bme-setting-reflection-enabled"
|
||
type="checkbox"
|
||
/>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bme-config-section" data-config-section="advanced">
|
||
<div class="bme-config-section-head">
|
||
<div class="bme-config-section-kicker">详细参数</div>
|
||
<h3 class="bme-config-section-title">细粒度行为与评分策略</h3>
|
||
<p class="bme-config-section-desc">
|
||
这里承接旧设置页里的高级项。若对应功能关闭,参数会置灰并提示先到“功能开关”启用。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="bme-config-grid bme-config-grid-2">
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">提取</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制自动提取的频率和按轮计的上下文窗口。默认 2
|
||
轮,通常约等于向前补 4 层普通消息。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-extract-every"
|
||
>每 N 条回复提取</label
|
||
>
|
||
<input
|
||
id="bme-setting-extract-every"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="50"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-extract-context-turns"
|
||
>提取上下文轮数</label
|
||
>
|
||
<input
|
||
id="bme-setting-extract-context-turns"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="20"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="recallEnabled"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">召回与注入</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制最终注入层级。当前注入走
|
||
IN_CHAT@Depth,数值越大越靠前。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-inject-depth"
|
||
>注入深度(数值越大越靠前)</label
|
||
>
|
||
<input
|
||
id="bme-setting-inject-depth"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="9999"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card bme-stage-card"
|
||
data-guard-settings="recallEnabled"
|
||
data-stage-toggle-id="bme-setting-recall-vector-prefilter-enabled"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">向量预筛</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制是否启用向量候选检索,以及向量阶段输出的 Top-K
|
||
宽度。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-vector-prefilter-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-vector-prefilter-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用向量预筛</span>
|
||
</label>
|
||
<div class="bme-config-row bme-stage-param">
|
||
<label for="bme-setting-recall-top-k">向量预筛 Top-K</label>
|
||
<input
|
||
id="bme-setting-recall-top-k"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="100"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card bme-stage-card"
|
||
data-guard-settings="recallEnabled"
|
||
data-stage-toggle-id="bme-setting-recall-graph-diffusion-enabled"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">图扩散</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制是否沿图结构继续扩散候选,以及扩散阶段保留的候选上限。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-graph-diffusion-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-graph-diffusion-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用图扩散</span>
|
||
</label>
|
||
<div class="bme-config-row bme-stage-param">
|
||
<label for="bme-setting-recall-diffusion-top-k"
|
||
>图扩散 Top-K</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-diffusion-top-k"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="300"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="recallEnabled"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">召回增强</div>
|
||
<div class="bme-config-card-subtitle">
|
||
先调多意图、扩散回拉和时间链;更后面的候选整理与弱信号补抓收进折叠里。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-multi-intent-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-multi-intent-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用多意图拆分</span>
|
||
</label>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-multi-intent-max-segments"
|
||
>最多拆分段数</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-multi-intent-max-segments"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="8"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-teleport-alpha"
|
||
>扩散回拉强度</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-teleport-alpha"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-temporal-links-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-temporal-links-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用时间链合成边</span>
|
||
</label>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-temporal-link-strength"
|
||
>时间链强度</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-temporal-link-strength"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
<details
|
||
class="bme-config-subdetails bme-collapsible-card"
|
||
id="bme-recall-advanced-settings"
|
||
>
|
||
<summary class="bme-collapsible-summary bme-config-subdetails-summary">
|
||
<div>
|
||
<div class="bme-config-subgroup-title">更多高级项</div>
|
||
<div class="bme-config-subgroup-desc">
|
||
从 DPP 多样性去重开始,收纳共现补强和弱信号残差召回。
|
||
</div>
|
||
</div>
|
||
<span class="bme-collapsible-indicator" aria-hidden="true">
|
||
<i class="fa-solid fa-chevron-down"></i>
|
||
</span>
|
||
</summary>
|
||
<div class="bme-config-subgroup">
|
||
<div class="bme-config-subgroup-title">DPP 与共现补强</div>
|
||
<div class="bme-config-subgroup-desc">
|
||
用来减少重复候选,并在需要时轻推经常一起出现的相关节点。
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-diversity-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-diversity-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用 DPP 多样性去重</span>
|
||
</label>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-dpp-candidate-multiplier"
|
||
>DPP 候选倍率</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-dpp-candidate-multiplier"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="10"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-dpp-quality-weight"
|
||
>DPP 质量权重</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-dpp-quality-weight"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="10"
|
||
step="0.1"
|
||
/>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-cooccurrence-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-cooccurrence-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用共现补强</span>
|
||
</label>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-cooccurrence-scale"
|
||
>共现补强系数</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-cooccurrence-scale"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="10"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-cooccurrence-max-neighbors"
|
||
>每个锚点最多补强邻居</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-cooccurrence-max-neighbors"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="50"
|
||
/>
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-subgroup">
|
||
<div class="bme-config-subgroup-title">弱信号召回</div>
|
||
<div class="bme-config-subgroup-desc">
|
||
仅在直连 embedding 且本地有足够向量时使用,用于补抓被主主题压住的弱线索。
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-residual-enabled"
|
||
>
|
||
<input
|
||
id="bme-setting-recall-residual-enabled"
|
||
type="checkbox"
|
||
/>
|
||
<span>启用弱信号残差召回</span>
|
||
</label>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-residual-basis-max-nodes"
|
||
>语义基底节点上限</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-residual-basis-max-nodes"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="2"
|
||
max="64"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-nmf-topics"
|
||
>NMF 主题数</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-nmf-topics"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="2"
|
||
max="64"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-nmf-novelty-threshold"
|
||
>新颖度阈值</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-nmf-novelty-threshold"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-residual-threshold"
|
||
>残差阈值</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-residual-threshold"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="10"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-recall-residual-top-k"
|
||
>残差二次检索 Top-K</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-residual-top-k"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="20"
|
||
/>
|
||
</div>
|
||
</div>
|
||
</details>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="recallEnabled"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">混合评分</div>
|
||
<div class="bme-config-card-subtitle">
|
||
评分层始终运行;下面 3
|
||
个权重共同决定图扩散、向量相似和重要度在召回中的占比。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-graph-weight">图扩散权重</label>
|
||
<input
|
||
id="bme-setting-graph-weight"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.05"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-vector-weight">向量权重</label>
|
||
<input
|
||
id="bme-setting-vector-weight"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.05"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-importance-weight"
|
||
>重要度权重</label
|
||
>
|
||
<input
|
||
id="bme-setting-importance-weight"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="1"
|
||
step="0.05"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card bme-stage-card"
|
||
data-guard-settings="recallEnabled"
|
||
data-stage-toggle-id="bme-setting-recall-llm"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">LLM 精确召回</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制是否启用 LLM 精排,以及传给 LLM
|
||
的上下文消息数、候选池大小与最终保留上限。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<label
|
||
class="bme-inline-checkbox"
|
||
for="bme-setting-recall-llm"
|
||
>
|
||
<input id="bme-setting-recall-llm" type="checkbox" />
|
||
<span>启用 LLM 精排</span>
|
||
</label>
|
||
<div class="bme-config-row bme-stage-param">
|
||
<label for="bme-setting-recall-llm-context-messages"
|
||
>LLM 精排上下文消息数</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-llm-context-messages"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0"
|
||
max="20"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row bme-stage-param">
|
||
<label for="bme-setting-recall-llm-candidate-pool"
|
||
>LLM 精排候选池</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-llm-candidate-pool"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="100"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row bme-stage-param">
|
||
<label for="bme-setting-recall-max-nodes"
|
||
>LLM 最终选择上限</label
|
||
>
|
||
<input
|
||
id="bme-setting-recall-max-nodes"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="50"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableConsolidation"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">记忆整合</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制近邻搜索规模和冲突判定阈值。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-consolidation-neighbor-count"
|
||
>近邻数量</label
|
||
>
|
||
<input
|
||
id="bme-setting-consolidation-neighbor-count"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="20"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-consolidation-threshold"
|
||
>冲突判定阈值</label
|
||
>
|
||
<input
|
||
id="bme-setting-consolidation-threshold"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0.5"
|
||
max="0.99"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableSynopsis"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">概要</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制全局概要节点的生成周期。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-synopsis-every"
|
||
>每 N 次提取更新</label
|
||
>
|
||
<input
|
||
id="bme-setting-synopsis-every"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="100"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableSmartTrigger"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">惊奇触发</div>
|
||
<div class="bme-config-card-subtitle">
|
||
高信息量触发规则和阈值。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-trigger-patterns"
|
||
>自定义触发模式</label
|
||
>
|
||
<input
|
||
id="bme-setting-trigger-patterns"
|
||
class="bme-config-input"
|
||
type="text"
|
||
placeholder="突然,真相,秘密,背叛 或正则"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-smart-trigger-threshold"
|
||
>触发阈值</label
|
||
>
|
||
<input
|
||
id="bme-setting-smart-trigger-threshold"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="10"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableSleepCycle"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">睡眠遗忘</div>
|
||
<div class="bme-config-card-subtitle">
|
||
配置遗忘阈值和执行周期。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-forget-threshold">遗忘阈值</label>
|
||
<input
|
||
id="bme-setting-forget-threshold"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0.1"
|
||
max="1"
|
||
step="0.05"
|
||
/>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-sleep-every">每 N 次提取执行</label>
|
||
<input
|
||
id="bme-setting-sleep-every"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="200"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableProbRecall"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">概率召回</div>
|
||
<div class="bme-config-card-subtitle">
|
||
调整弱相关记忆被纳入召回的概率。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-prob-recall-chance">触发概率</label>
|
||
<input
|
||
id="bme-setting-prob-recall-chance"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="0.01"
|
||
max="0.5"
|
||
step="0.01"
|
||
/>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-config-card bme-guarded-card"
|
||
data-guard-settings="enableReflection"
|
||
>
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">反思</div>
|
||
<div class="bme-config-card-subtitle">
|
||
控制叙事反思节点的生成间隔。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-guard-note">
|
||
在“功能开关”中启用后生效。
|
||
</div>
|
||
</div>
|
||
<div class="bme-config-row">
|
||
<label for="bme-setting-reflect-every"
|
||
>每 N 次提取生成</label
|
||
>
|
||
<input
|
||
id="bme-setting-reflect-every"
|
||
class="bme-config-input"
|
||
type="number"
|
||
min="1"
|
||
max="200"
|
||
/>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="bme-config-section" data-config-section="prompts">
|
||
<div class="bme-config-section-head">
|
||
<div class="bme-config-section-kicker">任务预设</div>
|
||
<h3 class="bme-config-section-title">任务预设工作区</h3>
|
||
<p class="bme-config-section-desc">
|
||
在这里为每个任务维护独立预设,统一配置 prompt 编排、生成参数和正则规则。
|
||
</p>
|
||
</div>
|
||
<div id="bme-task-profile-workspace" class="bme-task-profile-workspace"></div>
|
||
<input
|
||
id="bme-task-profile-import"
|
||
type="file"
|
||
accept=".json,application/json"
|
||
hidden
|
||
/>
|
||
<input
|
||
id="bme-task-profile-import-all"
|
||
type="file"
|
||
accept=".json,application/json"
|
||
hidden
|
||
/>
|
||
</section>
|
||
|
||
<section
|
||
class="bme-config-section"
|
||
data-config-section="appearance"
|
||
>
|
||
<div class="bme-config-section-head">
|
||
<div class="bme-config-section-kicker">面板外观</div>
|
||
<h3 class="bme-config-section-title">主题与视觉同步</h3>
|
||
<p class="bme-config-section-desc">
|
||
这里的主题选择会和顶部调色盘快捷入口保持同步,并立即刷新图谱配色。
|
||
</p>
|
||
</div>
|
||
|
||
<div class="bme-config-card">
|
||
<div class="bme-config-card-head">
|
||
<div>
|
||
<div class="bme-config-card-title">面板主题</div>
|
||
<div class="bme-config-card-subtitle">
|
||
选择最适合当前故事氛围和阅读习惯的面板风格。
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="bme-theme-card-grid">
|
||
<button
|
||
class="bme-theme-card"
|
||
data-theme="crimson"
|
||
type="button"
|
||
>
|
||
<span
|
||
class="bme-theme-card-swatch"
|
||
style="background: #e94560"
|
||
></span>
|
||
<span class="bme-theme-card-copy">
|
||
<span class="bme-theme-card-title">赤红合成</span>
|
||
<span class="bme-theme-card-desc"
|
||
>高对比、强调变化和警示感。</span
|
||
>
|
||
</span>
|
||
<span class="bme-theme-card-check"
|
||
><i class="fa-solid fa-check"></i
|
||
></span>
|
||
</button>
|
||
<button
|
||
class="bme-theme-card"
|
||
data-theme="cyan"
|
||
type="button"
|
||
>
|
||
<span
|
||
class="bme-theme-card-swatch"
|
||
style="background: #00e5ff"
|
||
></span>
|
||
<span class="bme-theme-card-copy">
|
||
<span class="bme-theme-card-title">霓虹青蓝</span>
|
||
<span class="bme-theme-card-desc"
|
||
>更冷静的检视感,适合长时间排查。</span
|
||
>
|
||
</span>
|
||
<span class="bme-theme-card-check"
|
||
><i class="fa-solid fa-check"></i
|
||
></span>
|
||
</button>
|
||
<button
|
||
class="bme-theme-card"
|
||
data-theme="amber"
|
||
type="button"
|
||
>
|
||
<span
|
||
class="bme-theme-card-swatch"
|
||
style="background: #ffb300"
|
||
></span>
|
||
<span class="bme-theme-card-copy">
|
||
<span class="bme-theme-card-title">琥珀终端</span>
|
||
<span class="bme-theme-card-desc"
|
||
>更像复古终端,阅读层次稳定。</span
|
||
>
|
||
</span>
|
||
<span class="bme-theme-card-check"
|
||
><i class="fa-solid fa-check"></i
|
||
></span>
|
||
</button>
|
||
<button
|
||
class="bme-theme-card"
|
||
data-theme="violet"
|
||
type="button"
|
||
>
|
||
<span
|
||
class="bme-theme-card-swatch"
|
||
style="background: #b388ff"
|
||
></span>
|
||
<span class="bme-theme-card-copy">
|
||
<span class="bme-theme-card-title">紫雾迷离</span>
|
||
<span class="bme-theme-card-desc"
|
||
>更柔和的夜间质感,适合沉浸式浏览。</span
|
||
>
|
||
</span>
|
||
<span class="bme-theme-card-check"
|
||
><i class="fa-solid fa-check"></i
|
||
></span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div
|
||
class="bme-mobile-content"
|
||
id="bme-mobile-content"
|
||
style="display: none"
|
||
></div>
|
||
</div>
|
||
|
||
<div class="bme-panel-tabbar">
|
||
<button class="bme-tab-btn active" data-tab="dashboard" type="button">
|
||
<i class="fa-solid fa-chart-simple"></i>
|
||
<span>总览</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="memory" type="button">
|
||
<i class="fa-solid fa-brain"></i>
|
||
<span>记忆</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="injection" type="button">
|
||
<i class="fa-solid fa-syringe"></i>
|
||
<span>注入</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="actions" type="button">
|
||
<i class="fa-solid fa-gear"></i>
|
||
<span>操作</span>
|
||
</button>
|
||
<button class="bme-tab-btn" data-tab="config" type="button">
|
||
<i class="fa-solid fa-sliders"></i>
|
||
<span>配置</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|