harnessed_agent/models/hermes_agent.json
2026-04-16 15:40:17 +08:00

166 lines
11 KiB
JSON

{
"hermes_memory": {
"summary": "Enhanced memory storage with intelligent filtering and user isolation",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique memory identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"target": {"type": "string", "required": true, "description": "Memory target: 'memory' or 'user'"},
"content": {"type": "text", "required": true, "description": "Memory content"},
"priority": {"type": "integer", "default": 50, "description": "Priority score (0-100) for intelligent filtering"},
"access_count": {"type": "integer", "default": 0, "description": "Number of times this memory has been accessed"},
"last_accessed": {"type": "datetime", "nullable": true, "description": "Last access timestamp for relevance ranking"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "target"],
["user_id", "priority", "last_accessed"],
["user_id", "created_at"]
],
"codes": {}
},
"hermes_skills": {
"summary": "User-isolated skills storage with full CRUD operations",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique skill identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"name": {"type": "string", "required": true, "description": "Skill name"},
"description": {"type": "text", "nullable": true, "description": "Skill description"},
"category": {"type": "string", "nullable": true, "description": "Skill category"},
"version": {"type": "string", "default": "1.0.0", "description": "Skill version"},
"content": {"type": "text", "required": true, "description": "Skill content (SKILL.md format)"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "name"],
["user_id", "category"],
["user_id", "created_at"]
],
"codes": {}
},
"hermes_sessions": {
"summary": "Session metadata with user isolation for conversation history",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique session identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"title": {"type": "string", "nullable": true, "description": "Session title"},
"preview": {"type": "text", "nullable": true, "description": "Session preview text"},
"tags": {"type": "string", "nullable": true, "description": "Comma-separated session tags"},
"started_at": {"type": "datetime", "required": true, "description": "Session start timestamp"},
"ended_at": {"type": "datetime", "nullable": true, "description": "Session end timestamp"},
"duration_seconds": {"type": "integer", "nullable": true, "description": "Session duration in seconds"}
},
"indexes": [
["user_id", "started_at"],
["user_id", "title"],
["user_id", "tags"]
],
"codes": {}
},
"hermes_remote_skills": {
"summary": "SSH remote skills configuration with deployment tracking",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique remote skill identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"name": {"type": "string", "required": true, "description": "Remote skill name"},
"host": {"type": "string", "required": true, "description": "SSH host address"},
"port": {"type": "integer", "default": 22, "description": "SSH port"},
"username": {"type": "string", "required": true, "description": "SSH username"},
"remote_path": {"type": "string", "default": "~/.skills", "description": "Remote skills directory path"},
"auth_method": {"type": "string", "default": "key", "description": "Authentication method: 'key' or 'password'"},
"ssh_key_path": {"type": "string", "nullable": true, "description": "Path to SSH private key file"},
"description": {"type": "text", "nullable": true, "description": "Remote skill description"},
"category": {"type": "string", "nullable": true, "description": "Remote skill category"},
"version": {"type": "string", "default": "1.0.0", "description": "Remote skill version"},
"enabled": {"type": "boolean", "default": true, "description": "Whether the remote skill is enabled"},
"last_deployed": {"type": "datetime", "nullable": true, "description": "Last deployment timestamp"},
"last_executed": {"type": "datetime", "nullable": true, "description": "Last execution timestamp"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "name"],
["user_id", "host", "username"],
["user_id", "enabled"],
["user_id", "created_at"]
],
"codes": {}
},
"hermes_workflows": {
"summary": "Workflow definitions with orchestration parameters",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique workflow identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"name": {"type": "string", "required": true, "description": "Workflow name"},
"description": {"type": "text", "nullable": true, "description": "Workflow description"},
"workflow_type": {"type": "string", "default": "sequential", "description": "Workflow type: sequential, parallel, or hybrid"},
"max_concurrent_tasks": {"type": "integer", "default": 3, "description": "Maximum concurrent tasks for parallel workflows"},
"timeout_seconds": {"type": "integer", "default": 1800, "description": "Workflow timeout in seconds"},
"retry_count": {"type": "integer", "default": 2, "description": "Default retry count for tasks"},
"status": {"type": "string", "default": "active", "description": "Workflow status: active, inactive, archived"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "name"],
["user_id", "workflow_type"],
["user_id", "status"],
["user_id", "created_at"]
],
"codes": {}
},
"hermes_tasks": {
"summary": "Task definitions with dependencies and execution parameters",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique task identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"workflow_id": {"type": "string", "required": true, "description": "Associated workflow ID"},
"task_name": {"type": "string", "required": true, "description": "Task name"},
"task_type": {"type": "string", "required": true, "description": "Task type: skill, tool, memory, session_search, custom"},
"skill_name": {"type": "string", "nullable": true, "description": "Skill name (for skill tasks)"},
"tool_name": {"type": "string", "nullable": true, "description": "Tool name (for tool tasks)"},
"parameters_json": {"type": "text", "nullable": true, "description": "JSON-encoded task parameters"},
"depends_on": {"type": "string", "nullable": true, "description": "ID of task this depends on"},
"parallel_group": {"type": "string", "nullable": true, "description": "Parallel group identifier for hybrid workflows"},
"timeout_seconds": {"type": "integer", "default": 300, "description": "Task timeout in seconds"},
"retry_count": {"type": "integer", "default": 2, "description": "Task-specific retry count"},
"order_index": {"type": "integer", "default": 0, "description": "Execution order index"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "workflow_id"],
["user_id", "task_type"],
["user_id", "parallel_group"],
["user_id", "order_index"],
["depends_on"]
],
"codes": {}
},
"hermes_executions": {
"summary": "Execution records with status tracking and results",
"fields": {
"id": {"type": "string", "primary_key": true, "description": "Unique execution identifier"},
"user_id": {"type": "string", "required": true, "description": "User ID for multi-user isolation"},
"workflow_id": {"type": "string", "required": true, "description": "Associated workflow ID"},
"task_id": {"type": "string", "nullable": true, "description": "Associated task ID (null for workflow executions)"},
"execution_status": {"type": "string", "default": "pending", "description": "Execution status: pending, running, completed, failed, cancelled"},
"start_time": {"type": "datetime", "nullable": true, "description": "Execution start timestamp"},
"end_time": {"type": "datetime", "nullable": true, "description": "Execution end timestamp"},
"duration_seconds": {"type": "integer", "nullable": true, "description": "Execution duration in seconds"},
"result_json": {"type": "text", "nullable": true, "description": "JSON-encoded execution result"},
"error_message": {"type": "text", "nullable": true, "description": "Error message if execution failed"},
"retry_count": {"type": "integer", "default": 0, "description": "Number of retries attempted"},
"created_at": {"type": "datetime", "required": true, "description": "Creation timestamp"},
"updated_at": {"type": "datetime", "required": true, "description": "Last update timestamp"}
},
"indexes": [
["user_id", "workflow_id"],
["user_id", "execution_status"],
["user_id", "start_time"],
["user_id", "created_at"]
],
"codes": {}
}
}