Model rules: who a chat's model may bring into a conversation
Rules read from the main model decide who it is offered as a crowd member, a friend and on its roster; any-to-any with denies by default, or none-to-none with allows. The crowd picker names what it holds back and why, and a model held back only by a person's own rule -- or by anything, with the new rules.override -- can still be added by hand. Another data group is now a deny that an explicit rule opens. Admin -> Model rules and a card in Settings, each with a matrix drawn by the enforcing function. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -185,6 +185,37 @@
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{#
|
||||
Who your models may talk to. Anybody may narrow the instance's rules
|
||||
for themselves; widening them takes `rules.override`, and the text
|
||||
below says which of the two this person has, so a rule that does
|
||||
nothing is not a mystery.
|
||||
#}
|
||||
<div class="card">
|
||||
<h2 class="card__title">{{ t("Who your models may talk to") }}</h2>
|
||||
<p class="card__lede">
|
||||
{% if talk_override %}
|
||||
{{ t("Your rules and your setting win over the instance's, for you. You can also add any model to a crowd by hand.") }}
|
||||
{% else %}
|
||||
{{ t("Your rules can only narrow the instance's. A model your own rule holds back can still be added to a crowd by hand; one the instance holds back cannot.") }}
|
||||
{% endif %}
|
||||
</p>
|
||||
<form method="post" action="/api/preferences/talk-mode" class="row"
|
||||
style="gap: var(--sp-2); margin-bottom: var(--sp-4)">
|
||||
<label class="visually-hidden" for="talk-mode">{{ t("Your starting point") }}</label>
|
||||
<select class="select" id="talk-mode" name="mode" style="flex: 1; min-width: 0">
|
||||
<option value="" {{ 'selected' if not talk_mode }}>{{ t("Follow the instance") }}</option>
|
||||
<option value="open" {{ 'selected' if talk_mode == 'open' }}>{{ t("Any model may talk to any other") }}</option>
|
||||
<option value="closed" {{ 'selected' if talk_mode == 'closed' }}>{{ t("No model may talk to another") }}</option>
|
||||
</select>
|
||||
<button class="btn" type="submit">{{ t("Save") }}</button>
|
||||
</form>
|
||||
{% set rules_action = "/api/preferences/talk-rules" %}
|
||||
{% set rules = talk_rules %}
|
||||
{% set matrix = talk_matrix %}
|
||||
{% set matrix_models = talk_matrix_models %}
|
||||
{% include "partials/_talk_rules.html" %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{# --- Appearance --- #}
|
||||
|
||||
Reference in New Issue
Block a user