ui: add browser get_info tool (#27251)
* ui: add browser get_info tool * format * nits * Update tools/ui/src/lib/stores/tools.svelte.ts Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com> --------- Co-authored-by: Aleksander Grygier <aleksander.grygier@gmail.com>
This commit is contained in:
co-authored by
Aleksander Grygier
parent
d83f72d463
commit
7077abbe14
@@ -0,0 +1,36 @@
|
||||
import { CLI_FLAGS } from './cli-flags.constants';
|
||||
import { BuiltInTool, JsonSchemaType, ToolCallType } from '$lib/enums';
|
||||
import type { OpenAIToolDefinition } from '$lib/types';
|
||||
|
||||
export const BROWSER_INFO_TOOL_NAME = BuiltInTool.GET_INFO;
|
||||
|
||||
/** UA token to OS name, first match wins - Android and iOS UAs also carry the Linux / Mac OS X tokens */
|
||||
export const BROWSER_INFO_OS_UA_PATTERNS: readonly [RegExp, string][] = [
|
||||
[/Windows NT/, 'Windows'],
|
||||
[/Android/, 'Android'],
|
||||
[/iPhone|iPad|iPod/, 'iOS'],
|
||||
[/CrOS/, 'ChromeOS'],
|
||||
[/Mac OS X/, 'macOS'],
|
||||
[/Linux/, 'Linux']
|
||||
];
|
||||
|
||||
export const BROWSER_INFO_OS_UNKNOWN = 'unknown';
|
||||
|
||||
/** Sent to the model as the `note` field of the tool result, next to the OS name */
|
||||
export const BROWSER_INFO_NOTE = `This environment is browser-only, it cannot read or modify local files, and it cannot run shell commands. To get local file access, tell user to launch llama-server with the ${CLI_FLAGS.AGENT} argument.`;
|
||||
|
||||
export function buildBrowserInfoToolDefinition(): OpenAIToolDefinition {
|
||||
return {
|
||||
function: {
|
||||
description:
|
||||
'Get runtime info (OS name), may call when user asks about local files or shell commands',
|
||||
name: BROWSER_INFO_TOOL_NAME,
|
||||
parameters: {
|
||||
properties: {},
|
||||
required: [],
|
||||
type: JsonSchemaType.OBJECT
|
||||
}
|
||||
},
|
||||
type: ToolCallType.FUNCTION
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
export const CLI_FLAGS = {
|
||||
AGENT: '--agent',
|
||||
API_KEY: '--api-key',
|
||||
MCP_PROXY: '--ui-mcp-proxy',
|
||||
SLOTS: '--slots',
|
||||
|
||||
@@ -59,3 +59,4 @@ export * from './uri-template.constants';
|
||||
export * from './url.constants';
|
||||
export * from './working-directory.constants';
|
||||
export * from './read-media';
|
||||
export * from './browser-info';
|
||||
|
||||
Reference in New Issue
Block a user