feat: per-conversation project binding + action-tool consent gate
- Conversations bind to a project on creation; RAG scopes to the conversation's project, not the global setting. - Action tools (web_search/fetch_url/remember) are withheld unless allow_action_tools is enabled (off by default). Settings toggle. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,7 @@ const DEFAULTS = {
|
||||
num_ctx: 0, // context window in tokens; 0 = model default
|
||||
rag_top_k: 3, // document chunks injected into chat
|
||||
rag_min_score: 0.6, // min cosine similarity for a chunk to count
|
||||
allow_action_tools: false, // consent gate for web/fetch/memory-write tools
|
||||
system_prompt: "",
|
||||
timeout: 120,
|
||||
gpu_offload: -1, // -1 = Auto; 0–100 = percent of layers forced onto the GPU
|
||||
@@ -241,6 +242,22 @@ export function Settings() {
|
||||
similarity each must clear. Higher relevance = fewer, tighter matches.
|
||||
</div>
|
||||
|
||||
<div style={{ marginTop: "1.25rem" }}>
|
||||
<label style={{ display: "flex", alignItems: "center", gap: "0.6rem", cursor: "pointer" }}>
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={form.allow_action_tools}
|
||||
onChange={e => update("allow_action_tools", e.target.checked)}
|
||||
/>
|
||||
<span style={labelStyle}>Allow action tools</span>
|
||||
</label>
|
||||
<div style={{ fontSize: "0.72rem", color: form.allow_action_tools ? "#c9a227" : "#555", marginTop: "0.2rem" }}>
|
||||
Lets playbooks run tools that act: web search, fetching a URL, and writing
|
||||
to memory. Off by default — a playbook can list them, but they only fire
|
||||
when this is on.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{ marginTop: "1.25rem" }}>
|
||||
<label style={labelStyle}>
|
||||
GPU Offload
|
||||
|
||||
Reference in New Issue
Block a user