mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 10:25:51 +00:00
### 新功能 - **Function Call 填表模式**:在填表设置中新增独立开关,启用后支持通过 OpenAI 兼容接口(DeepSeek / OpenRouter / 各类中转等)直接返回结构化操作列表,绕过 `<Amily2Edit>` 文本解析路径,填表更稳定 - 遇到不支持 `tool_choice` 的接口时自动降级重试 - 对思考模型注入强制调用指令,防止绕过工具直接输出文本 - 全部走 ST 后端代理,修复 CSP 拦截直连外部 URL 的问题 - **主界面新增提示词链编辑器入口**,同时调换了记忆管理与角色世界书的按钮位置 - **规则中心**新增"自动排除用户楼层"选项 ### 修复 - 提示词链按钮点击无响应(改为事件委托方式绑定) - 拖拽组件微抖误触发(加 5px 移动阈值过滤) - 填表检查窗若干问题修复;翰林院(批量回填)修复;防抖逻辑落地 - 角色世界书入口添加使用警告弹窗(强制 10 秒倒计时),提示该功能长期未维护 - ApiProfile `fakeStream` 字段保存丢失问题 - 正文优化默认改为关闭状态 - NGMS / NCCS API 配置槽位标签修正(NGMS→总结,NCCS→填表) - API Profile 面板选择逻辑统一重构,修复多处旧字段覆盖新配置的问题 - 世界书控制参数兼容性修复(排除递归、插入位置、扫描深度等,适配 ST 1.17.0+)
85 lines
4.5 KiB
HTML
85 lines
4.5 KiB
HTML
<div class="settings-group" id="amily2_rule_config_panel_root">
|
||
<fieldset class="settings-group">
|
||
<legend><i class="fas fa-list-check"></i> 规则配置中心</legend>
|
||
<div class="amily2-rule-layout">
|
||
<div class="amily2-rule-sidebar">
|
||
<div style="display:flex; gap:8px; margin-bottom:10px;">
|
||
<button id="amily2_rule_profile_new" class="menu_button small_button amily2-vbtn"><span class="vbtn-icon"><i class="fas fa-plus"></i></span><span class="vbtn-label">新建</span></button>
|
||
</div>
|
||
<div id="amily2_rule_profile_list" style="display:flex; flex-direction:column; gap:8px;"></div>
|
||
</div>
|
||
<div class="amily2-rule-main">
|
||
<div class="amily2_settings_block">
|
||
<label for="amily2_rule_profile_name">配置名称</label>
|
||
<input id="amily2_rule_profile_name" class="text_pole" type="text" placeholder="例如:通用提取规则">
|
||
</div>
|
||
<div class="amily2_settings_block" style="margin-top:10px;">
|
||
<label><input id="amily2_rule_profile_tag_toggle" type="checkbox"> 启用标签提取</label>
|
||
</div>
|
||
<div class="amily2_settings_block" style="margin-top:10px;">
|
||
<label><input id="amily2_rule_profile_exclude_user" type="checkbox"> 自动排除用户楼层</label>
|
||
<small class="notes" style="display:block; margin-top:4px;">勾选后,使用此规则时将自动跳过用户发送的消息楼层,不纳入总结/提取内容。</small>
|
||
</div>
|
||
<div id="amily2_rule_profile_tags_wrap" class="amily2_settings_block" style="display:none; margin-top:10px;">
|
||
<label for="amily2_rule_profile_tags">标签列表</label>
|
||
<textarea id="amily2_rule_profile_tags" class="text_pole" rows="3" placeholder="例如:content,details,summary"></textarea>
|
||
</div>
|
||
<div class="amily2_settings_block" style="margin-top:10px;">
|
||
<label>排除规则</label>
|
||
<div id="amily2_rule_profile_rules" style="display:flex; flex-direction:column; gap:8px; margin:8px 0;"></div>
|
||
<button id="amily2_rule_profile_add_rule" class="menu_button small_button amily2-vbtn"><span class="vbtn-icon"><i class="fas fa-plus"></i></span><span class="vbtn-label">添加规则</span></button>
|
||
</div>
|
||
<div class="amily2-rule-actions">
|
||
<button id="amily2_rule_profile_save" class="menu_button menu_button_primary amily2-vbtn"><span class="vbtn-icon"><i class="fas fa-save"></i></span><span class="vbtn-label">保存</span></button>
|
||
<button id="amily2_rule_profile_delete" class="menu_button danger amily2-vbtn"><span class="vbtn-icon"><i class="fas fa-trash-alt"></i></span><span class="vbtn-label">删除</span></button>
|
||
<button id="amily2_back_to_main_from_rule_config" class="menu_button amily2-vbtn"><span class="vbtn-icon"><i class="fas fa-arrow-left"></i></span><span class="vbtn-label">返回</span></button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<style>
|
||
#amily2_rule_config_panel .amily2-rule-row,
|
||
#amily2_rule_config_panel_root .amily2-rule-row {
|
||
display: grid;
|
||
grid-template-columns: 1fr 1fr auto;
|
||
gap: 8px;
|
||
align-items: center;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-layout {
|
||
display: flex;
|
||
gap: 16px;
|
||
align-items: flex-start;
|
||
flex-wrap: wrap;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-sidebar {
|
||
width: 260px;
|
||
flex-shrink: 0;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-main {
|
||
flex: 1;
|
||
min-width: 0;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-actions {
|
||
display: flex;
|
||
gap: 8px;
|
||
margin-top: 16px;
|
||
flex-wrap: wrap;
|
||
}
|
||
@media (max-width: 768px) {
|
||
#amily2_rule_config_panel_root .amily2-rule-sidebar {
|
||
width: 100%;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-actions > .amily2-vbtn {
|
||
flex: 1 1 calc(33.333% - 8px);
|
||
min-width: 72px;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-row {
|
||
grid-template-columns: 1fr 1fr !important;
|
||
}
|
||
#amily2_rule_config_panel_root .amily2-rule-row > :last-child {
|
||
grid-column: 1 / -1;
|
||
}
|
||
}
|
||
</style>
|