A组 CLI增强: - DiffRenderer: 彩色diff渲染(行号/stat摘要/unified格式) - /hooks: 查看已注册Hook列表 - /review: AI代码审查(支持--staged/文件路径) - /stats: 会话使用统计(tokens/费用/API调用/运行时长) - /branch: 对话分支管理(save/load/list/delete) - /rewind: 回退对话历史 - /tag: 对话位置标签 - /security-review: AI安全审查 B组 任务系统: - TaskManager: 后台任务管理(线程安全/自动执行/手动管理) - TaskCreate/TaskGet/TaskList/TaskUpdate 4个工具 - ConfigTool: 配置读写工具 C组 MCP协议: - McpClient: MCP客户端(JSON-RPC 2.0/工具发现/资源读取) - McpTransport: 传输层接口 - StdioTransport: StdIO传输实现(子进程/异步读写) - McpManager: 多MCP服务器管理(配置加载/生命周期) - McpToolBridge: MCP工具桥接为本地Tool - /mcp: MCP服务器管理命令 D组 插件系统: - Plugin接口 + PluginContext + PluginManager - JAR插件加载(ClassLoader隔离/Manifest读取) - OutputStylePlugin: 内置输出样式插件 - /plugin: 插件管理命令 集成: AppConfig注册全部18工具+28命令 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
package com.claudecode.mcp;
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
/**
|
|
* MCP 传输层接口 —— 抽象不同的通信方式(StdIO / SSE / HTTP)。
|
|
* <p>
|
|
* MCP 协议底层基于 JSON-RPC 2.0,传输层负责将 JSON-RPC 消息
|
|
* 发送给 MCP 服务器并接收响应。不同传输实现(如 StdIO 子进程、
|
|
* HTTP+SSE 远程连接)均通过此接口统一暴露。
|
|
*
|
|
* @see StdioTransport
|
|
*/
|
|
public interface McpTransport extends AutoCloseable {
|
|
|
|
/**
|
|
* 发送 JSON-RPC 请求并等待响应。
|
|
* <p>
|
|
* 实现应根据请求中的 {@code id} 字段将响应与请求关联。
|
|
*
|
|
* @param jsonRpcRequest 完整的 JSON-RPC 2.0 请求字符串
|
|
* @return 服务器返回的 JSON-RPC 响应节点
|
|
* @throws McpException 通信异常或超时
|
|
*/
|
|
JsonNode sendRequest(String jsonRpcRequest) throws McpException;
|
|
|
|
/**
|
|
* 发送 JSON-RPC 通知(无需响应)。
|
|
* <p>
|
|
* 通知消息不包含 {@code id} 字段,服务器无需回复。
|
|
*
|
|
* @param jsonRpcNotification 完整的 JSON-RPC 2.0 通知字符串
|
|
* @throws McpException 通信异常
|
|
*/
|
|
void sendNotification(String jsonRpcNotification) throws McpException;
|
|
|
|
/**
|
|
* 传输层是否已连接且可用。
|
|
*
|
|
* @return 如果底层连接仍然活跃则返回 {@code true}
|
|
*/
|
|
boolean isConnected();
|
|
}
|