Skip to main content

Native Tools

OpenHuman comes with a built-in suite of native tools, ready to use out of the box without additional configuration.

File Operations

file_read

Read file contents:

const content = await client.tools.execute('file_read', {
path: './src/index.js',
});

file_write

Write to a file:

await client.tools.execute('file_write', {
path: './new-file.js',
content: 'console.log("hello");',
});

edit_file

Precisely replace file contents:

await client.tools.execute('edit_file', {
path: './src/index.js',
oldString: 'const old = true;',
newString: 'const new = false;',
});

Search files by pattern:

const files = await client.tools.execute('glob_search', {
pattern: '**/*.js',
});

Git Operations

git_operations

Execute Git operations:

await client.tools.execute('git_operations', {
command: 'status',
});

Supported commands: status, log, diff, blame, branch

Development Tools

run_linter

Run project linter:

const result = await client.tools.execute('run_linter', {
fix: false,
});

run_tests

Run tests:

const result = await client.tools.execute('run_tests', {
pattern: 'tests/**/*.test.js',
});

Web Tools

http_request

Send HTTP requests:

const response = await client.tools.execute('http_request', {
url: 'https://api.example.com/data',
method: 'GET',
});

Search the web:

const results = await client.tools.execute('web_search', {
query: 'OpenHuman AI latest news',
max_results: 5,
});

web_scraper

Scrape web page content:

const content = await client.tools.execute('web_scraper', {
url: 'https://example.com/article',
});

System Tools

bash

Execute shell commands:

await client.tools.execute('bash', {
command: 'ls -la',
});

process_list

List running processes:

const processes = await client.tools.execute('process_list', {});

Memory Tools

memory_recall

Retrieve memories:

const memories = await client.tools.execute('memory_recall', {
query: 'user preferences',
});

memory_store

Store memories:

await client.tools.execute('memory_store', {
content: 'User prefers minimalist design',
tags: ['preference'],
});

Next Steps