Local-first Chinese AI Agent CLI workbench with MCP support, tool orchestration, and workflow runtime
Qling provides 4 tools with minimal descriptions and incomplete schemas. Tool names are action-oriented (write, bash, read, search) but descriptions are extremely brief (10-30 chars), falling well below the 50-200 char baseline for LLM-optimized descriptions. Input schemas are present but lack detail: parameters have type and description fields, but no enums, ranges, or format constraints. No output schemas are documented. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. The bash and write tools pose significant security risks with no validation, sanitization, or permission gates visible in the provided code. Tool composition is reasonable (each does one thing), but descriptions are too terse for reliable LLM selection.
Execute bash shell commands
Read file contents
Search for files or content
Write or create files with content
Descriptions critically short (10-30 chars vs 50-200 baseline). LLMs cannot reliably select tools or understand when to use write vs bash vs read. Descriptions must explain WHAT, WHEN, and any prerequisites.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields. Every tool must declare its return type and structure.
bash tool accepts arbitrary shell commands with no validation, sanitization, or permission gates. Vulnerable to command injection and privilege escalation. Requires approval gate, input validation, and audit logging.
write tool has no dry-run, confirmation, or rollback mechanism. Irreversible file modifications require a confirm_before_execute pattern to prevent catastrophic agent errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error handling guidance. Tools return raw errors with no recovery hints. Errors must categorize as retryable/user-fixable/fatal and suggest next steps (e.g., 'File not found. Try search() first.').