Files
Hermit/include/cst_ext.h
T
WHC 7d3ec9fcb9
ci / linux (clang) (push) Canceled after 0s
ci / linux (gcc) (push) Canceled after 0s
ci / sanitizers (push) Canceled after 0s
ci / musl (push) Canceled after 0s
ci / macos (push) Canceled after 0s
Extensions: skills, plugins, MCP, sub-agents; configurable keys
- Skills (SKILL.md discovery, skill tool, /skills /skill)
- plugin.json exec tools with permission prompts, timeouts and workspace trust (/plugins)
- MCP stdio client: JSON-RPC initialize/tools/list/tools/call, mcp__server__tool, /mcp and sidebar status
- task tool with general/explore/plan and .agent/agents/*.md roles, parallel read-only runs, cancel propagation, /agents
- Keymap with Ctrl+X leader, keybinds.json overrides and /keys panel
- Collapsed thinking, throttled streaming Markdown, leaner tool output, parallel read-only tools
- Spawn: close-on-exec pipes and a process-wide fork lock
- Tests for keymap, skills, plugins, MCP, sub-agents, shell compaction; docs/plugins.md
2026-10-05 14:55:31 +08:00

32 lines
852 B
C

#ifndef CST_EXT_H
#define CST_EXT_H
/* Startup / reload of everything that adds tools at runtime: the skill
* tool, plugin exec tools and MCP servers. */
#include "cst_agent.h"
#include <stddef.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Load for cfg's workspace (no-op for `--tools minimal`). One-line summary
* in report, e.g. "2 skills · 1 plugin (3 tools) · mcp 1/2". */
void cst_extensions_load(const cst_agent_config_t *cfg, char *report,
size_t report_sz);
/* Summary of the last load (empty when nothing was found). */
const char *cst_extensions_report(void);
/* Headless: wait for MCP handshakes, then note servers that failed. */
void cst_extensions_wait(FILE *log);
/* Drop plugin/MCP tools and stop MCP servers. */
void cst_extensions_unload(void);
#ifdef __cplusplus
}
#endif
#endif