mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
* Update CLAUDE.md to clarify pull request workflow and enhance documentation - Added a note to emphasize the importance of opening pull requests against the upstream repository instead of a fork's default remote, ensuring better collaboration and code management. - Improved the overall clarity of the Git workflow section, contributing to a more streamlined development process. * Refactor REPL session handling and remove deprecated chat methods - Removed the `repl_session_chat` functionality from the schema and related files, streamlining the REPL session management. - Introduced a new `start_chat` method in the web channel provider for handling chat interactions, enhancing the chat system's architecture. - Updated socket handling to improve event emission with alias support, ensuring better communication across the application. - Enhanced error handling and logging for chat operations, providing clearer feedback during interactions. - Consolidated chat-related logic into the new web channel module, improving maintainability and organization. * Refactor apiClient to improve token management and eliminate circular dependencies - Renamed `_getToken` to `authTokenGetterRef` for clarity and to avoid clashing with transpiled private method names. - Updated the `setStoreForApiClient` function to use the new `authTokenGetterRef` variable, ensuring the `apiClient` remains free of direct imports from `store/index`. - Enhanced the `ApiClient` class by renaming the `getToken` method to `resolveAuthToken`, improving readability and consistency in token retrieval logic. - Adjusted comments in `apiClient.ts` and `store/index.ts` to reflect the changes and clarify the purpose of the lazy store accessor. * Enhance API client integration with store for improved token management - Introduced `setStoreForApiClient` in `main.tsx` to bind the Redux store's auth token for API requests, ensuring seamless token access. - Updated comments in `apiClient.ts` to clarify the lazy token accessor's purpose and prevent circular dependencies. - Removed the previous direct call to `setStoreForApiClient` from `store/index.ts`, centralizing the setup in `main.tsx` for better organization. - Enhanced test setup to include the new store binding, ensuring consistent token retrieval during testing. * Refactor web channel event handling and enhance chat functionality - Updated `WebChatSseEvent` structure to include new fields: `tool_name`, `skill_id`, `args`, `output`, `success`, and `round`, improving the granularity of event data. - Refactored event emission logic in `emit_web_chat_event` to utilize the new fields, ensuring more informative payloads for tool calls and results. - Enhanced the `start_chat` and `cancel_chat` functions to accommodate the new event structure, improving chat session management. - Introduced a new function `publish_tool_events_from_history` to streamline the emission of tool call and result events from chat history, enhancing the overall chat experience. * Refactor web channel integration and enhance controller management - Updated references from the deprecated `web_channel` module to the new `channels::providers::web` structure, improving code organization and maintainability. - Refactored the `build_registered_controllers` and `build_declared_controller_schemas` functions to utilize the new web channel controller methods, ensuring consistency across the application. - Removed the obsolete `web_channel` module and its associated files, streamlining the codebase and enhancing clarity in the channel management system. - Introduced new functions for managing web channel events and schemas, improving the overall architecture of the web channel integration. * Refactor main.tsx and test setup for improved organization - Reordered imports in `main.tsx` to enhance clarity and maintainability, ensuring that `setStoreForApiClient` is called with the correct store reference. - Removed unnecessary whitespace in `setup.ts`, streamlining the test setup file for better readability. * Fix service gate false blocking when service is running * Support soft-pass daemon gate and harden macOS service detection * Extend list-files fallback trigger phrases in agent loop * Replace list-files fallback with tool-call repair retry * Log full system prompt and drop tool-call repair flow
1915 lines
54 KiB
JSON
1915 lines
54 KiB
JSON
{
|
|
"methods": [
|
|
{
|
|
"description": "Liveness probe for the core JSON-RPC server.",
|
|
"function": "ping",
|
|
"inputs": [],
|
|
"method": "core.ping",
|
|
"namespace": "core",
|
|
"outputs": [
|
|
{
|
|
"comment": "Always true when the server is reachable.",
|
|
"name": "ok",
|
|
"required": true,
|
|
"ty": "Bool"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Lists all JSON-RPC methods and their input/output schemas.",
|
|
"function": "rpc_schema_dump",
|
|
"inputs": [],
|
|
"method": "core.rpc_schema_dump",
|
|
"namespace": "core",
|
|
"outputs": [
|
|
{
|
|
"comment": "All JSON-RPC method schemas available to clients.",
|
|
"name": "methods",
|
|
"required": true,
|
|
"ty": {
|
|
"Array": {
|
|
"Object": {
|
|
"fields": [
|
|
{
|
|
"comment": "Fully-qualified JSON-RPC method name.",
|
|
"name": "method",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Method namespace.",
|
|
"name": "namespace",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Method function name within the namespace.",
|
|
"name": "function",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Human-readable method description.",
|
|
"name": "description",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Ordered list of accepted input fields.",
|
|
"name": "inputs",
|
|
"required": true,
|
|
"ty": { "Array": { "Ref": "FieldSchema" } }
|
|
},
|
|
{
|
|
"comment": "Ordered list of output fields.",
|
|
"name": "outputs",
|
|
"required": true,
|
|
"ty": { "Array": { "Ref": "FieldSchema" } }
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Returns the core binary version.",
|
|
"function": "version",
|
|
"inputs": [],
|
|
"method": "core.version",
|
|
"namespace": "core",
|
|
"outputs": [
|
|
{
|
|
"comment": "Semantic version string for the running core binary.",
|
|
"name": "version",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Run one-shot agent chat with optional model overrides.",
|
|
"function": "chat",
|
|
"inputs": [
|
|
{ "comment": "User message.", "name": "message", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.agent_chat",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{ "comment": "Agent response payload.", "name": "response", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Run one-shot lightweight provider chat.",
|
|
"function": "chat_simple",
|
|
"inputs": [
|
|
{ "comment": "User message.", "name": "message", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.agent_chat_simple",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{ "comment": "Agent response payload.", "name": "response", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Terminate REPL session.",
|
|
"function": "repl_session_end",
|
|
"inputs": [
|
|
{ "comment": "REPL session id.", "name": "session_id", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.agent_repl_session_end",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{ "comment": "Session end result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Clear REPL session history.",
|
|
"function": "repl_session_reset",
|
|
"inputs": [
|
|
{ "comment": "REPL session id.", "name": "session_id", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.agent_repl_session_reset",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{ "comment": "Session reset result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Create a persistent REPL agent session.",
|
|
"function": "repl_session_start",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional session id.",
|
|
"name": "session_id",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.agent_repl_session_start",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{ "comment": "Session creation result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Return core runtime URL and status for agent calls.",
|
|
"function": "server_status",
|
|
"inputs": [],
|
|
"method": "openhuman.agent_server_status",
|
|
"namespace": "agent",
|
|
"outputs": [
|
|
{
|
|
"comment": "Agent server status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Remove stored app session credentials.",
|
|
"function": "clear_session",
|
|
"inputs": [],
|
|
"method": "openhuman.auth_clear_session",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Session clear result payload.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Consume login handoff token and return session JWT.",
|
|
"function": "consume_login_token",
|
|
"inputs": [
|
|
{
|
|
"comment": "One-time login token.",
|
|
"name": "loginToken",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.auth_consume_login_token",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Consumed login token result.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Read stored app session token.",
|
|
"function": "get_session_token",
|
|
"inputs": [],
|
|
"method": "openhuman.auth_get_session_token",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{ "comment": "Session token payload.", "name": "token", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Get current auth/session state.",
|
|
"function": "get_state",
|
|
"inputs": [],
|
|
"method": "openhuman.auth_get_state",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Current auth state response.",
|
|
"name": "state",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "List stored provider credentials.",
|
|
"function": "list_provider_credentials",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional provider filter.",
|
|
"name": "provider",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.auth_list_provider_credentials",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Listed provider credentials.",
|
|
"name": "profiles",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Create OAuth connect URL for provider.",
|
|
"function": "oauth_connect",
|
|
"inputs": [
|
|
{ "comment": "Provider id.", "name": "provider", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional skill id.",
|
|
"name": "skillId",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional OAuth response type.",
|
|
"name": "responseType",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.auth_oauth_connect",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{ "comment": "OAuth connect payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Fetch integration handoff tokens.",
|
|
"function": "oauth_fetch_integration_tokens",
|
|
"inputs": [
|
|
{ "comment": "Integration id.", "name": "integrationId", "required": true, "ty": "String" },
|
|
{ "comment": "Encryption key.", "name": "key", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.auth_oauth_fetch_integration_tokens",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Integration tokens handoff payload.",
|
|
"name": "tokens",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "List OAuth integrations for current session.",
|
|
"function": "oauth_list_integrations",
|
|
"inputs": [],
|
|
"method": "openhuman.auth_oauth_list_integrations",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "OAuth integration list.",
|
|
"name": "integrations",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Revoke OAuth integration.",
|
|
"function": "oauth_revoke_integration",
|
|
"inputs": [
|
|
{ "comment": "Integration id.", "name": "integrationId", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.auth_oauth_revoke_integration",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Integration revoke result.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Remove provider credentials for a profile.",
|
|
"function": "remove_provider_credentials",
|
|
"inputs": [
|
|
{ "comment": "Provider id.", "name": "provider", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional profile name.",
|
|
"name": "profile",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.auth_remove_provider_credentials",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Provider credential removal result.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Store provider credentials for a profile.",
|
|
"function": "store_provider_credentials",
|
|
"inputs": [
|
|
{ "comment": "Provider id.", "name": "provider", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional profile name.",
|
|
"name": "profile",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Provider access token.",
|
|
"name": "token",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Additional credential fields.",
|
|
"name": "fields",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
},
|
|
{
|
|
"comment": "Whether to set profile as active.",
|
|
"name": "setActive",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.auth_store_provider_credentials",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Stored provider profile summary.",
|
|
"name": "profile",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Store and validate app session JWT.",
|
|
"function": "store_session",
|
|
"inputs": [
|
|
{ "comment": "Session JWT token.", "name": "token", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional user id hint.",
|
|
"name": "user_id",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
},
|
|
{
|
|
"comment": "Optional user payload.",
|
|
"name": "user",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
}
|
|
],
|
|
"method": "openhuman.auth_store_session",
|
|
"namespace": "auth",
|
|
"outputs": [
|
|
{
|
|
"comment": "Stored auth profile summary.",
|
|
"name": "profile",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Accept and apply current or provided autocomplete suggestion.",
|
|
"function": "accept",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional explicit suggestion value to apply.",
|
|
"name": "suggestion",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.autocomplete_accept",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Suggestion acceptance result.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteAcceptResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Compute current suggestion for provided or captured context.",
|
|
"function": "current",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional explicit context to score suggestions against.",
|
|
"name": "context",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.autocomplete_current",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Current suggestion payload.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteCurrentResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Inspect focused element and text context used by autocomplete.",
|
|
"function": "debug_focus",
|
|
"inputs": [],
|
|
"method": "openhuman.autocomplete_debug_focus",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Focused context diagnostics.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteDebugFocusResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update autocomplete style configuration fields.",
|
|
"function": "set_style",
|
|
"inputs": [
|
|
{
|
|
"comment": "Enable or disable autocomplete.",
|
|
"name": "enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
},
|
|
{
|
|
"comment": "Debounce interval override in milliseconds.",
|
|
"name": "debounce_ms",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
},
|
|
{
|
|
"comment": "Maximum suggestion length in characters.",
|
|
"name": "max_chars",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
},
|
|
{
|
|
"comment": "Named style preset.",
|
|
"name": "style_preset",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Custom style instructions.",
|
|
"name": "style_instructions",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Style examples used for prompt shaping.",
|
|
"name": "style_examples",
|
|
"required": false,
|
|
"ty": { "Option": { "Array": "String" } }
|
|
},
|
|
{
|
|
"comment": "App allow/deny override list.",
|
|
"name": "disabled_apps",
|
|
"required": false,
|
|
"ty": { "Option": { "Array": "String" } }
|
|
},
|
|
{
|
|
"comment": "Whether tab key applies suggestion.",
|
|
"name": "accept_with_tab",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.autocomplete_set_style",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated autocomplete style config.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteSetStyleResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Start autocomplete engine with optional debounce override.",
|
|
"function": "start",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional debounce interval in milliseconds.",
|
|
"name": "debounce_ms",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.autocomplete_start",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Whether the engine started.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteStartResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Read autocomplete engine status and latest suggestion metadata.",
|
|
"function": "status",
|
|
"inputs": [],
|
|
"method": "openhuman.autocomplete_status",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Current runtime status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Stop autocomplete engine and optionally record stop reason.",
|
|
"function": "stop",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional reason for stopping.",
|
|
"name": "reason",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.autocomplete_stop",
|
|
"namespace": "autocomplete",
|
|
"outputs": [
|
|
{
|
|
"comment": "Whether the engine stopped.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": { "Ref": "AutocompleteStopResult" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Return agent server runtime URL and status.",
|
|
"function": "agent_server_status",
|
|
"inputs": [],
|
|
"method": "openhuman.config_agent_server_status",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Agent server status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Read persisted config snapshot and resolved paths.",
|
|
"function": "get",
|
|
"inputs": [],
|
|
"method": "openhuman.config_get",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Config snapshot with workspace and config paths.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Read environment-driven runtime flags.",
|
|
"function": "get_runtime_flags",
|
|
"inputs": [],
|
|
"method": "openhuman.config_get_runtime_flags",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Runtime flag state.",
|
|
"name": "flags",
|
|
"required": true,
|
|
"ty": { "Ref": "RuntimeFlagsOut" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Set OPENHUMAN_BROWSER_ALLOW_ALL runtime flag.",
|
|
"function": "set_browser_allow_all",
|
|
"inputs": [
|
|
{
|
|
"comment": "Whether to enable browser allow-all mode.",
|
|
"name": "enabled",
|
|
"required": true,
|
|
"ty": "Bool"
|
|
}
|
|
],
|
|
"method": "openhuman.config_set_browser_allow_all",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated runtime flag state.",
|
|
"name": "flags",
|
|
"required": true,
|
|
"ty": { "Ref": "RuntimeFlagsOut" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update browser automation settings.",
|
|
"function": "update_browser_settings",
|
|
"inputs": [
|
|
{
|
|
"comment": "Enable browser integration.",
|
|
"name": "enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_browser_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update memory backend and embedding settings.",
|
|
"function": "update_memory_settings",
|
|
"inputs": [
|
|
{
|
|
"comment": "Memory backend identifier.",
|
|
"name": "backend",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Enable auto-save.",
|
|
"name": "auto_save",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
},
|
|
{
|
|
"comment": "Embedding provider identifier.",
|
|
"name": "embedding_provider",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Embedding model identifier.",
|
|
"name": "embedding_model",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Embedding dimensions.",
|
|
"name": "embedding_dimensions",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_memory_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update model and API connection settings.",
|
|
"function": "update_model_settings",
|
|
"inputs": [
|
|
{
|
|
"comment": "Provider API key.",
|
|
"name": "api_key",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Backend API URL.",
|
|
"name": "api_url",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Default model id.",
|
|
"name": "default_model",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Default model temperature.",
|
|
"name": "default_temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_model_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update runtime execution strategy settings.",
|
|
"function": "update_runtime_settings",
|
|
"inputs": [
|
|
{
|
|
"comment": "Runtime kind.",
|
|
"name": "kind",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Enable reasoning mode.",
|
|
"name": "reasoning_enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_runtime_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Update screen intelligence runtime settings.",
|
|
"function": "update_screen_intelligence_settings",
|
|
"inputs": [
|
|
{
|
|
"comment": "Enable screen intelligence.",
|
|
"name": "enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
},
|
|
{
|
|
"comment": "Capture policy mode.",
|
|
"name": "capture_policy",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Policy mode override.",
|
|
"name": "policy_mode",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Baseline capture FPS.",
|
|
"name": "baseline_fps",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
},
|
|
{
|
|
"comment": "Enable vision analysis.",
|
|
"name": "vision_enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
},
|
|
{
|
|
"comment": "Enable autocomplete integration.",
|
|
"name": "autocomplete_enabled",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
},
|
|
{
|
|
"comment": "Allowed app list.",
|
|
"name": "allowlist",
|
|
"required": false,
|
|
"ty": { "Option": { "Array": "String" } }
|
|
},
|
|
{
|
|
"comment": "Denied app list.",
|
|
"name": "denylist",
|
|
"required": false,
|
|
"ty": { "Option": { "Array": "String" } }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_screen_intelligence_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Replace tunnel settings with provided config payload.",
|
|
"function": "update_tunnel_settings",
|
|
"inputs": [
|
|
{ "comment": "Tunnel provider id.", "name": "provider", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Cloudflare tunnel settings.",
|
|
"name": "cloudflare",
|
|
"required": false,
|
|
"ty": { "Option": { "Ref": "CloudflareTunnelConfig" } }
|
|
},
|
|
{
|
|
"comment": "Tailscale tunnel settings.",
|
|
"name": "tailscale",
|
|
"required": false,
|
|
"ty": { "Option": { "Ref": "TailscaleTunnelConfig" } }
|
|
},
|
|
{
|
|
"comment": "ngrok tunnel settings.",
|
|
"name": "ngrok",
|
|
"required": false,
|
|
"ty": { "Option": { "Ref": "NgrokTunnelConfig" } }
|
|
},
|
|
{
|
|
"comment": "Custom tunnel settings.",
|
|
"name": "custom",
|
|
"required": false,
|
|
"ty": { "Option": { "Ref": "CustomTunnelConfig" } }
|
|
}
|
|
],
|
|
"method": "openhuman.config_update_tunnel_settings",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated config snapshot.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Check if onboarding flag file exists in workspace.",
|
|
"function": "workspace_onboarding_flag_exists",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional onboarding flag name override.",
|
|
"name": "flag_name",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.config_workspace_onboarding_flag_exists",
|
|
"namespace": "config",
|
|
"outputs": [
|
|
{
|
|
"comment": "True when the flag file is present.",
|
|
"name": "exists",
|
|
"required": true,
|
|
"ty": "Bool"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "List all configured cron jobs ordered by next run.",
|
|
"function": "list",
|
|
"inputs": [],
|
|
"method": "openhuman.cron_list",
|
|
"namespace": "cron",
|
|
"outputs": [
|
|
{
|
|
"comment": "Cron jobs currently stored in the workspace.",
|
|
"name": "jobs",
|
|
"required": true,
|
|
"ty": { "Array": { "Ref": "CronJob" } }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Remove a cron job by id.",
|
|
"function": "remove",
|
|
"inputs": [
|
|
{
|
|
"comment": "Identifier of the cron job to remove.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.cron_remove",
|
|
"namespace": "cron",
|
|
"outputs": [
|
|
{
|
|
"comment": "Removal result payload.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": {
|
|
"Object": {
|
|
"fields": [
|
|
{
|
|
"comment": "Identifier that was requested for removal.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "True when the job was removed.",
|
|
"name": "removed",
|
|
"required": true,
|
|
"ty": "Bool"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Run a cron job immediately and record run metadata.",
|
|
"function": "run",
|
|
"inputs": [
|
|
{
|
|
"comment": "Identifier of the cron job to execute immediately.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.cron_run",
|
|
"namespace": "cron",
|
|
"outputs": [
|
|
{
|
|
"comment": "Immediate execution result payload.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": {
|
|
"Object": {
|
|
"fields": [
|
|
{
|
|
"comment": "Executed cron job identifier.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Execution status.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Enum": { "variants": ["ok", "error"] } }
|
|
},
|
|
{
|
|
"comment": "Execution duration in milliseconds.",
|
|
"name": "duration_ms",
|
|
"required": true,
|
|
"ty": "I64"
|
|
},
|
|
{
|
|
"comment": "Captured command output (possibly truncated).",
|
|
"name": "output",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Read historical run records for one cron job.",
|
|
"function": "runs",
|
|
"inputs": [
|
|
{
|
|
"comment": "Identifier of the cron job whose history to read.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Maximum number of records to return; defaults to 20.",
|
|
"name": "limit",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.cron_runs",
|
|
"namespace": "cron",
|
|
"outputs": [
|
|
{
|
|
"comment": "Ordered cron run history entries.",
|
|
"name": "runs",
|
|
"required": true,
|
|
"ty": { "Array": { "Ref": "CronRun" } }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Apply a partial patch to an existing cron job.",
|
|
"function": "update",
|
|
"inputs": [
|
|
{
|
|
"comment": "Identifier of the cron job to update.",
|
|
"name": "job_id",
|
|
"required": true,
|
|
"ty": "String"
|
|
},
|
|
{
|
|
"comment": "Partial update payload with the fields to mutate.",
|
|
"name": "patch",
|
|
"required": true,
|
|
"ty": { "Ref": "CronJobPatch" }
|
|
}
|
|
],
|
|
"method": "openhuman.cron_update",
|
|
"namespace": "cron",
|
|
"outputs": [
|
|
{
|
|
"comment": "Updated cron job after applying the patch.",
|
|
"name": "job",
|
|
"required": true,
|
|
"ty": { "Ref": "CronJob" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Decrypt a previously encrypted secret payload.",
|
|
"function": "secret",
|
|
"inputs": [
|
|
{
|
|
"comment": "Encrypted secret payload to decrypt.",
|
|
"name": "ciphertext",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.decrypt_secret",
|
|
"namespace": "decrypt",
|
|
"outputs": [
|
|
{
|
|
"comment": "Decrypted plaintext secret.",
|
|
"name": "plaintext",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Probe provider model availability and auth status.",
|
|
"function": "models",
|
|
"inputs": [
|
|
{
|
|
"comment": "Reuse cached provider metadata when available.",
|
|
"name": "use_cache",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.doctor_models",
|
|
"namespace": "doctor",
|
|
"outputs": [
|
|
{
|
|
"comment": "Model probe summary grouped by provider.",
|
|
"name": "report",
|
|
"required": true,
|
|
"ty": { "Ref": "ModelProbeReport" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Run diagnostics for workspace and runtime configuration.",
|
|
"function": "report",
|
|
"inputs": [],
|
|
"method": "openhuman.doctor_report",
|
|
"namespace": "doctor",
|
|
"outputs": [
|
|
{
|
|
"comment": "Aggregated diagnostics report.",
|
|
"name": "report",
|
|
"required": true,
|
|
"ty": { "Ref": "DoctorReport" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Encrypt a plaintext secret using local secret storage.",
|
|
"function": "secret",
|
|
"inputs": [
|
|
{
|
|
"comment": "Plaintext value to encrypt.",
|
|
"name": "plaintext",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.encrypt_secret",
|
|
"namespace": "encrypt",
|
|
"outputs": [
|
|
{
|
|
"comment": "Encrypted secret payload.",
|
|
"name": "ciphertext",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Return process and component health snapshot.",
|
|
"function": "snapshot",
|
|
"inputs": [],
|
|
"method": "openhuman.health_snapshot",
|
|
"namespace": "health",
|
|
"outputs": [
|
|
{
|
|
"comment": "Serialized health snapshot payload.",
|
|
"name": "snapshot",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Run one-shot agent chat with optional model overrides.",
|
|
"function": "agent_chat",
|
|
"inputs": [
|
|
{ "comment": "User message.", "name": "message", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_agent_chat",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Agent response payload.", "name": "response", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Run one-shot lightweight provider chat.",
|
|
"function": "agent_chat_simple",
|
|
"inputs": [
|
|
{ "comment": "User message.", "name": "message", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_agent_chat_simple",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Agent response payload.", "name": "response", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Terminate REPL session.",
|
|
"function": "agent_repl_session_end",
|
|
"inputs": [
|
|
{ "comment": "REPL session id.", "name": "session_id", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.local_ai_agent_repl_session_end",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Session end result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Clear REPL session history.",
|
|
"function": "agent_repl_session_reset",
|
|
"inputs": [
|
|
{ "comment": "REPL session id.", "name": "session_id", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.local_ai_agent_repl_session_reset",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Session reset result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Create a persistent REPL agent session.",
|
|
"function": "agent_repl_session_start",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional session id.",
|
|
"name": "session_id",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional model override.",
|
|
"name": "model_override",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional temperature override.",
|
|
"name": "temperature",
|
|
"required": false,
|
|
"ty": { "Option": "F64" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_agent_repl_session_start",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Session creation result.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Get local AI asset installation status.",
|
|
"function": "assets_status",
|
|
"inputs": [],
|
|
"method": "openhuman.local_ai_assets_status",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Assets status payload.", "name": "status", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Trigger local AI model download bootstrap.",
|
|
"function": "download",
|
|
"inputs": [
|
|
{
|
|
"comment": "Reset state before download.",
|
|
"name": "force",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_download",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Local AI status payload.", "name": "status", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Trigger full local AI asset download.",
|
|
"function": "download_all_assets",
|
|
"inputs": [
|
|
{
|
|
"comment": "Reset state before download.",
|
|
"name": "force",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_download_all_assets",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{
|
|
"comment": "Download progress payload.",
|
|
"name": "progress",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Trigger download for one local AI asset capability.",
|
|
"function": "download_asset",
|
|
"inputs": [
|
|
{
|
|
"comment": "Asset capability id.",
|
|
"name": "capability",
|
|
"required": true,
|
|
"ty": "String"
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_download_asset",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Assets status payload.", "name": "status", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Get local AI download progress.",
|
|
"function": "downloads_progress",
|
|
"inputs": [],
|
|
"method": "openhuman.local_ai_downloads_progress",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{
|
|
"comment": "Download progress payload.",
|
|
"name": "progress",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Generate embeddings for text inputs.",
|
|
"function": "embed",
|
|
"inputs": [
|
|
{
|
|
"comment": "Texts to embed.",
|
|
"name": "inputs",
|
|
"required": true,
|
|
"ty": { "Array": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_embed",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{
|
|
"comment": "Embedding result payload.",
|
|
"name": "embedding",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Run direct local AI prompt.",
|
|
"function": "prompt",
|
|
"inputs": [
|
|
{ "comment": "Prompt text.", "name": "prompt", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional max output tokens.",
|
|
"name": "max_tokens",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
},
|
|
{
|
|
"comment": "Disable thinking mode.",
|
|
"name": "no_think",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_prompt",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Prompt output text.", "name": "output", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Read local AI service status.",
|
|
"function": "status",
|
|
"inputs": [],
|
|
"method": "openhuman.local_ai_status",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Local AI status payload.", "name": "status", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Suggest questions for provided context.",
|
|
"function": "suggest_questions",
|
|
"inputs": [
|
|
{
|
|
"comment": "Context text.",
|
|
"name": "context",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "Alternative context as lines.",
|
|
"name": "lines",
|
|
"required": false,
|
|
"ty": { "Option": { "Array": "String" } }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_suggest_questions",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{
|
|
"comment": "Suggested questions payload.",
|
|
"name": "suggestions",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Summarize text with local AI model.",
|
|
"function": "summarize",
|
|
"inputs": [
|
|
{ "comment": "Input text.", "name": "text", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional max output tokens.",
|
|
"name": "max_tokens",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_summarize",
|
|
"namespace": "local_ai",
|
|
"outputs": [{ "comment": "Summary text.", "name": "summary", "required": true, "ty": "Json" }]
|
|
},
|
|
{
|
|
"description": "Transcribe audio from file path.",
|
|
"function": "transcribe",
|
|
"inputs": [
|
|
{ "comment": "Input audio path.", "name": "audio_path", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.local_ai_transcribe",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Transcription payload.", "name": "speech", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Transcribe audio from raw bytes.",
|
|
"function": "transcribe_bytes",
|
|
"inputs": [
|
|
{ "comment": "Raw audio bytes.", "name": "audio_bytes", "required": true, "ty": "Bytes" },
|
|
{
|
|
"comment": "Optional audio extension.",
|
|
"name": "extension",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_transcribe_bytes",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Transcription payload.", "name": "speech", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Synthesize speech from text.",
|
|
"function": "tts",
|
|
"inputs": [
|
|
{ "comment": "Input text.", "name": "text", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Optional output path.",
|
|
"name": "output_path",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_tts",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "TTS result payload.", "name": "tts", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Run multimodal local AI prompt with image refs.",
|
|
"function": "vision_prompt",
|
|
"inputs": [
|
|
{ "comment": "Prompt text.", "name": "prompt", "required": true, "ty": "String" },
|
|
{
|
|
"comment": "Image references to include.",
|
|
"name": "image_refs",
|
|
"required": true,
|
|
"ty": { "Array": "String" }
|
|
},
|
|
{
|
|
"comment": "Optional max output tokens.",
|
|
"name": "max_tokens",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.local_ai_vision_prompt",
|
|
"namespace": "local_ai",
|
|
"outputs": [
|
|
{ "comment": "Prompt output text.", "name": "output", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Migrate OpenClaw memory into current workspace.",
|
|
"function": "openclaw",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional source workspace path override.",
|
|
"name": "source_workspace",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
},
|
|
{
|
|
"comment": "When true, report migration plan only.",
|
|
"name": "dry_run",
|
|
"required": false,
|
|
"ty": { "Option": "Bool" }
|
|
}
|
|
],
|
|
"method": "openhuman.migrate_openclaw",
|
|
"namespace": "migrate",
|
|
"outputs": [
|
|
{
|
|
"comment": "Migration report and stats.",
|
|
"name": "report",
|
|
"required": true,
|
|
"ty": { "Ref": "MigrationReport" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Capture screenshot and return image ref.",
|
|
"function": "capture_image_ref",
|
|
"inputs": [],
|
|
"method": "openhuman.screen_intelligence_capture_image_ref",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{
|
|
"comment": "Capture image_ref payload.",
|
|
"name": "capture",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Trigger immediate screen capture.",
|
|
"function": "capture_now",
|
|
"inputs": [],
|
|
"method": "openhuman.screen_intelligence_capture_now",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{ "comment": "Capture result payload.", "name": "capture", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Perform input action through accessibility automation.",
|
|
"function": "input_action",
|
|
"inputs": [
|
|
{
|
|
"comment": "Input action payload.",
|
|
"name": "action",
|
|
"required": true,
|
|
"ty": { "Ref": "InputActionParams" }
|
|
}
|
|
],
|
|
"method": "openhuman.screen_intelligence_input_action",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{
|
|
"comment": "Input action result payload.",
|
|
"name": "result",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Request one accessibility permission.",
|
|
"function": "request_permission",
|
|
"inputs": [
|
|
{ "comment": "Permission name.", "name": "permission", "required": true, "ty": "String" }
|
|
],
|
|
"method": "openhuman.screen_intelligence_request_permission",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{
|
|
"comment": "Permission status payload.",
|
|
"name": "permissions",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Request required accessibility permissions.",
|
|
"function": "request_permissions",
|
|
"inputs": [],
|
|
"method": "openhuman.screen_intelligence_request_permissions",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{
|
|
"comment": "Permission status payload.",
|
|
"name": "permissions",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Start screen intelligence session.",
|
|
"function": "start_session",
|
|
"inputs": [
|
|
{
|
|
"comment": "Capture interval in milliseconds.",
|
|
"name": "sample_interval_ms",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
},
|
|
{
|
|
"comment": "Capture policy mode.",
|
|
"name": "capture_policy",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.screen_intelligence_start_session",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{ "comment": "Session status payload.", "name": "session", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Read screen intelligence accessibility status.",
|
|
"function": "status",
|
|
"inputs": [],
|
|
"method": "openhuman.screen_intelligence_status",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{
|
|
"comment": "Accessibility status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": "Json"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Stop screen intelligence session.",
|
|
"function": "stop_session",
|
|
"inputs": [
|
|
{
|
|
"comment": "Optional stop reason.",
|
|
"name": "reason",
|
|
"required": false,
|
|
"ty": { "Option": "String" }
|
|
}
|
|
],
|
|
"method": "openhuman.screen_intelligence_stop_session",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{ "comment": "Session status payload.", "name": "session", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Flush stored vision summaries.",
|
|
"function": "vision_flush",
|
|
"inputs": [],
|
|
"method": "openhuman.screen_intelligence_vision_flush",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{ "comment": "Vision flush payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Read recent vision summaries.",
|
|
"function": "vision_recent",
|
|
"inputs": [
|
|
{
|
|
"comment": "Maximum number of summaries.",
|
|
"name": "limit",
|
|
"required": false,
|
|
"ty": { "Option": "U64" }
|
|
}
|
|
],
|
|
"method": "openhuman.screen_intelligence_vision_recent",
|
|
"namespace": "screen_intelligence",
|
|
"outputs": [
|
|
{ "comment": "Vision recent payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Manage desktop service lifecycle.",
|
|
"function": "install",
|
|
"inputs": [],
|
|
"method": "openhuman.service_install",
|
|
"namespace": "service",
|
|
"outputs": [
|
|
{
|
|
"comment": "Service status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "ServiceStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Manage desktop service lifecycle.",
|
|
"function": "start",
|
|
"inputs": [],
|
|
"method": "openhuman.service_start",
|
|
"namespace": "service",
|
|
"outputs": [
|
|
{
|
|
"comment": "Service status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "ServiceStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Manage desktop service lifecycle.",
|
|
"function": "status",
|
|
"inputs": [],
|
|
"method": "openhuman.service_status",
|
|
"namespace": "service",
|
|
"outputs": [
|
|
{
|
|
"comment": "Service status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "ServiceStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Manage desktop service lifecycle.",
|
|
"function": "stop",
|
|
"inputs": [],
|
|
"method": "openhuman.service_stop",
|
|
"namespace": "service",
|
|
"outputs": [
|
|
{
|
|
"comment": "Service status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "ServiceStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Manage desktop service lifecycle.",
|
|
"function": "uninstall",
|
|
"inputs": [],
|
|
"method": "openhuman.service_uninstall",
|
|
"namespace": "service",
|
|
"outputs": [
|
|
{
|
|
"comment": "Service status payload.",
|
|
"name": "status",
|
|
"required": true,
|
|
"ty": { "Ref": "ServiceStatus" }
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Skill runtime socket manager bridge.",
|
|
"function": "connect",
|
|
"inputs": [
|
|
{
|
|
"comment": "Socket request payload.",
|
|
"name": "payload",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
}
|
|
],
|
|
"method": "openhuman.socket_connect",
|
|
"namespace": "socket",
|
|
"outputs": [
|
|
{ "comment": "Socket response payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Skill runtime socket manager bridge.",
|
|
"function": "disconnect",
|
|
"inputs": [
|
|
{
|
|
"comment": "Socket request payload.",
|
|
"name": "payload",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
}
|
|
],
|
|
"method": "openhuman.socket_disconnect",
|
|
"namespace": "socket",
|
|
"outputs": [
|
|
{ "comment": "Socket response payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Skill runtime socket manager bridge.",
|
|
"function": "emit",
|
|
"inputs": [
|
|
{
|
|
"comment": "Socket request payload.",
|
|
"name": "payload",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
}
|
|
],
|
|
"method": "openhuman.socket_emit",
|
|
"namespace": "socket",
|
|
"outputs": [
|
|
{ "comment": "Socket response payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
},
|
|
{
|
|
"description": "Skill runtime socket manager bridge.",
|
|
"function": "state",
|
|
"inputs": [
|
|
{
|
|
"comment": "Socket request payload.",
|
|
"name": "payload",
|
|
"required": false,
|
|
"ty": { "Option": "Json" }
|
|
}
|
|
],
|
|
"method": "openhuman.socket_state",
|
|
"namespace": "socket",
|
|
"outputs": [
|
|
{ "comment": "Socket response payload.", "name": "result", "required": true, "ty": "Json" }
|
|
]
|
|
}
|
|
]
|
|
}
|