add-rpc

Add new RPC commands to Wave Terminal's WshRpcInterface with request/response types.

Updated Apr 26, 2026
One-click install
npx skills add https://github.com/lihonghuacgk/waveterm --skill add-rpc-lihonghuacgk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-rpc
Source: https://github.com/lihonghuacgk/waveterm/tree/main/.kilocode/skills/add-rpc
Command: npx skills add https://github.com/lihonghuacgk/waveterm --skill add-rpc-lihonghuacgk

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Guides developers on how to add new RPC commands to Wave Terminal's RPC system, ensuring a consistent pattern for interface changes, command registration, and cross-component integration.

Core Features & Use Cases

  • Covers defining new commands in the WshRpcInterface, including request/response types and naming conventions.
  • Describes how to generate language bindings with the project task and where to implement the command (main server, Electron, frontend, remote, or terminal).
  • Provides best practices for validation, error handling, context awareness, and routing in multi-route setups.

Quick Start

Define a new RPC command in the WshRpcInterface, create input/output types, run the code generator, and implement the command in the appropriate module.

Frequently Asked Questions about add-rpc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new RPC command to Wave Terminal's server-client interface?

To add a new RPC command, define it in WshRpcInterface, create request and response types, run the code generator for bindings, and implement the command logic in the appropriate code path.

What is the WshRpcInterface used for in Wave Terminal?

The WshRpcInterface is the central RPC interface where new server-client commands are defined, including their request and response types and naming conventions for cross-component integration.

Where should I implement an RPC command in Wave Terminal's architecture?

You should implement an RPC command in the appropriate module among the main server, Electron, frontend, remote, or terminal components, depending on the command's target and routing requirements.

Do I need to manually generate language bindings for new RPC commands?

No, you do not need to manually generate language bindings; you run the project's code generation task after defining the command in WshRpcInterface to automatically create the necessary bindings.

What are the best practices for error handling when extending the RPC interface?

Best practices for extending the RPC interface include applying proper validation, consistent error handling, context awareness, and correct routing in multi-route setups during command implementation.

Can I use this RPC pattern for both main server and Electron components?

Yes, this RPC pattern supports integrating new commands across main server, Electron, frontend, remote, and terminal components by following the specified interface changes and binding generation steps.