feat!: Huge update - Link another CLI (such as gemini directly from with Claude Code / Codex). https://github.com/BeehiveInnovations/zen-mcp-server/issues/208

Zen now allows you to define `roles` for an external CLI and delegate work to another CLI via the new `clink` tool (short for `CLI + Link`). Gemini, for instance, offers 1000 free requests a day - this means you can save on tokens and your weekly limits within Claude Code by delegating work to another entirely capable CLI agent!

Define your own system prompts as `roles` and make another CLI do anything you'd like. Like the current tool you're connected to, the other CLI has complete access to your files and the current context. This also works incredibly well with Zen's `conversation continuity`.
This commit is contained in:
Fahad
2025-10-05 10:40:44 +04:00
parent 0d46976a8a
commit a2ccb48e9a
21 changed files with 1387 additions and 0 deletions

27
clink/parsers/base.py Normal file
View File

@@ -0,0 +1,27 @@
"""Parser interfaces for clink runner outputs."""
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
@dataclass
class ParsedCLIResponse:
"""Result of parsing CLI stdout/stderr."""
content: str
metadata: dict[str, Any]
class ParserError(RuntimeError):
"""Raised when CLI output cannot be parsed into a structured response."""
class BaseParser:
"""Base interface for CLI output parsers."""
name: str = "base"
def parse(self, stdout: str, stderr: str) -> ParsedCLIResponse:
raise NotImplementedError("Parsers must implement parse()")