# 变量

Source: https://openflow.run/zh-cn/docs/concepts/variables/
Language: zh-CN
Product version: 0.1.0-beta.77

将账号配置与工作流定义分开保存。

变量是账号名下具有名称的 JSON 值。工作流只保存变量引用，部署端按工作流所有者的身份读取实际值。

## 绑定变量

对于支持变量来源的节点，可以通过公开输入接口绑定变量：

```json
{
  "op": "input.set",
  "node": "NODE_REFERENCE",
  "input": "region",
  "source": { "kind": "variable", "name": "support_region" }
}
```

变量应创建在工作流所属的同一账号下。拥有管理权限，并不代表可以读取其他账号的变量。

## 执行快照

部署端为已接收的执行范围固定解析后的配置。更新变量会影响后续操作，不会改写已经接收的运行或 Agent 继续执行时的输入。

变量值与修订版本、普通公开运行输入事件分开保存。但代码仍可主动返回、记录或发送读取到的值，需要检查下游节点如何使用它。

## 分享工作流

导入和导出会移除结构化的变量绑定，但不会扫描代码、提示词或业务 JSON 中嵌入的值。直接写进去的令牌，导出后仍会保留。

外部应用凭据应通过相应的账号连接或受支持的认证绑定配置，避免把秘密写进代码正文。详见[能力与权限](https://openflow.run/zh-cn/docs/design/permissions/index.md)。

## 资料来源

*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#deployment-configuration-and-execution-snapshots)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#2-variable)
