feat: 将插件 stdin 协议定为 v1,并按声明注入凭据
进程外插件改为只读环境变量和自身配置,避免读宿主 appsettings;宿主按 plugin.json 声明注入 LLM / OpenWeather 等凭据。
This commit is contained in:
@@ -354,7 +354,7 @@ JSON 使用 camelCase。静态站点来自 `wwwroot`。
|
||||
|
||||
### 必备文件
|
||||
|
||||
- `plugin.json`:id、启动命令、凭据声明、inputs、outputs
|
||||
- `plugin.json`:id、protocolVersion、启动命令、凭据声明、inputs、outputs
|
||||
- `README.md`:给人看的说明
|
||||
- 可执行文件:由 `launch.command` + `launch.args` **原样**启动,宿主不替你拼路径
|
||||
|
||||
@@ -375,6 +375,7 @@ JSON 使用 camelCase。静态站点来自 `wwwroot`。
|
||||
|
||||
```json
|
||||
{
|
||||
"protocolVersion": 1,
|
||||
"inputs": { "filePath": "Data/cities.txt" },
|
||||
"credentials": {
|
||||
"llm": {
|
||||
@@ -395,12 +396,14 @@ JSON 使用 camelCase。静态站点来自 `wwwroot`。
|
||||
|
||||
### 凭据注入
|
||||
|
||||
与 n8n / Dify 类似:Key 只在宿主。运行插件时会:
|
||||
与 n8n / Dify 类似:Key 只在宿主。只注入 `plugin.json` 声明过的凭据。运行插件时会:
|
||||
|
||||
1. 写入环境变量 `OPENAI_ENDPOINT` / `OPENAI_API_KEY` / `OPENAI_CHAT_MODEL`
|
||||
1. 按 type 写入环境变量(LLM 为 `OPENAI_*`,OpenWeather 为 `OPENWEATHER_API_KEY`)
|
||||
2. 在 stdin JSON 的 `credentials` 里再传一份
|
||||
|
||||
插件目录可选 `.env` 作为第三方自带模型的默认环境;节点选中的宿主凭据会覆盖同名变量。**不要把 `.env` 提交进仓库。**
|
||||
JSON Schema:[docs/plugin-protocol-v1.schema.json](docs/plugin-protocol-v1.schema.json)。`plugin.json` 的 `protocolVersion` 缺省视为 1;大于 1 的清单会被扫描拒绝。
|
||||
|
||||
插件目录可选 `.env` 作为第三方自带模型的默认环境;节点选中的宿主凭据会覆盖同名变量。**不要把 `.env` 提交进仓库。** 非秘密配置放在插件自己的 `appsettings.json`,不要读宿主 exe 目录。
|
||||
|
||||
更细的输入输出说明:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user