Local intelligent agent powered by MLX with tool orchestration, vision analysis, and multi-modal capabilities
Liagent OS has 12 tools with minimal schema documentation and weak descriptions. Tool names are action-oriented (web_search, python_exec, shell_exec) but descriptions are extremely brief (10-30 chars), far below the 194-char baseline for production tools. Input schemas are present but lack depth: most parameters have only a type and minimal description. No output schemas are documented. Error handling is present in tool_executor.py (build_tool_degrade_observation) but degradation messages are generic fallbacks, not actionable recovery guidance. Critical security issues: python_exec and shell_exec expose arbitrary code execution without validation, confirmation, or permission gates. No parameter constraints (enums, ranges, patterns) are visible. Tool composition is reasonable (separate tools for distinct actions) but parameter naming lacks consistency (some use 'path', others 'url'). Overall, this reads as an early-stage agent framework prioritizing breadth over production-grade tool quality.
Control a web browser
Analyze and describe an image
List directory contents
Execute Python code
Read file contents
Run test suite
Capture a screenshot of the current screen
Execute shell commands
Descriptions critically short (10-15 chars vs 194-char baseline). Examples: 'Capture a screenshot of the current screen' (42 chars) is the longest; most are 10-30 chars. LLMs cannot determine when/why to select tools without context.
No output schemas documented. Agents cannot plan downstream calls or extract required fields. Tool responses are unstructured, forcing LLMs to parse free-text output.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | <=2025-11-25 | v2 |
Get stock price information
Fetch content from a URL
Search the web for information
Write content to a file
Arbitrary code execution tools (python_exec, shell_exec) lack confirmation, dry-run, or permission gates. No validation of input. Agents can execute destructive commands without safeguards.
Parameter descriptions missing or trivial. 'code' param in python_exec has description 'Python code to execute' (28 chars), no guidance on size limits, timeout, or safety constraints. Baseline is 72 chars.
No input validation constraints visible (enums, ranges, patterns). Free-form string parameters invite hallucinated values. E.g., 'query' in web_search has no length limit or format guidance.