进程外插件改为只读环境变量和自身配置,避免读宿主 appsettings;宿主按 plugin.json 声明注入 LLM / OpenWeather 等凭据。
FileCity 插件
独立进程。宿主只读取本目录的 plugin.json,按 launch 原样启动,不会替你拼命令。
protocolVersion 为 1。LLM 只从环境变量读取(宿主注入),不读宿主 appsettings.json。
输入 / 输出
字段名必须和 plugin.json 以及 Program.cs 里读写的 JSON 键一致。
- 输入
filePath - 输出
hasValidCities、cities、reason、raw
凭据
不要把 API Key 写进 plugin.json 或流程图。本插件声明需要 openai-compatible 凭据。运行时宿主会:
- 把选中的凭据写入本进程环境变量
OPENAI_ENDPOINT/OPENAI_API_KEY/OPENAI_CHAT_MODEL - 通过 stdin JSON 的
credentials.llm再传一份
可选:在本目录放 .env 作为插件自己的默认环境(适合第三方自带模型)。节点上选中的宿主凭据会覆盖 .env 里的同名变量。
协议
stdin:
{
"protocolVersion": 1,
"inputs": { "filePath": "Data/cities.txt" },
"credentials": {
"llm": { "id": "llm-default", "type": "openai-compatible", "endpoint": "...", "apiKey": "...", "model": "..." }
}
}
stdout:单个 JSON 对象,字段等于 outputs。日志请写 stderr。