Files
ST-Amily2-Chat-Optimisation/assets/rule-config-panel.html
Jenkins CI 2c3072a3d8 release: v2.2.2 [2026-05-27 11:10:55]
### 新功能
- **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+)
2026-05-27 11:10:55 +08:00

85 lines
4.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>