This commit is contained in:
Timothy Jaeryang Baek
2026-09-19 17:33:41 -04:00
parent 67adde3193
commit f6922a4c42
2 changed files with 11 additions and 7 deletions
+2 -6
View File
@@ -3063,15 +3063,11 @@ async def process_chat_payload(request, form_data, user, metadata, model):
}
if terminal_id and terminal_capability:
from open_webui.utils.terminals import get_terminal_agents_md
from open_webui.utils.terminals import add_terminal_agents_md, get_terminal_agents_md
agents_md = await get_terminal_agents_md(request, user, metadata, extra_params)
if agents_md:
form_data['messages'] = add_or_update_system_message(
agents_md,
form_data['messages'],
append=True,
)
form_data['messages'] = add_terminal_agents_md(form_data['messages'], agents_md)
if mcp_clients:
metadata['mcp_clients'] = mcp_clients
+9 -1
View File
@@ -230,12 +230,20 @@ async def get_terminal_agents_md(request, user, metadata: dict, extra_params: di
if len(content.encode('utf-8')) > MAX_AGENTS_MD_BYTES:
log.warning('Skipping terminal AGENTS.md: exceeds %s bytes', MAX_AGENTS_MD_BYTES)
return None
return f'# AGENTS.md instructions for {home}\n\n<INSTRUCTIONS>\n{content}\n</INSTRUCTIONS>'
return f'# AGENTS.md\n\n{content}'
except Exception as e:
log.debug('Failed to load terminal AGENTS.md (%s)', type(e).__name__)
return None
def add_terminal_agents_md(messages: list[dict], agents_md: str) -> list[dict]:
"""Place file instructions before user requests without changing their content."""
for index, message in enumerate(messages):
if message.get('role') == 'user':
return [*messages[:index], {'role': 'user', 'content': agents_md}, *messages[index:]]
return messages
async def get_terminal_skill(
request, user, metadata: dict, skill_name: str, extra_params: dict | None = None
) -> dict | None: