尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Saina Helm community node for n8n
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Ask Saina Helm a question using three required fields:
• Context: the text or facts to evaluate, including values from earlier nodes.
• Question: what you want to know.
• Answers: at least two labels, one per line or comma-separated. No descriptions or JSON required. Use one label per line when labels contain commas.
For example, provide your support request as Context, ask “Which team should handle this?”, and enter Billing, Technical support, Other as Answers. The default selects one answer. Read the selected label at saina.answers.answer.selection.查看完整 README ↗Saina is the decision layer for software systems. Saina builds specialist AI decision models and the developer platform around them. Developers use Saina to turn model predictions into versioned decision endpoints, observe how those decisions perform in production, turn failures into test cases, and improve their models or policies without breaking existing behavior. Saina works with open models and external inference providers, so teams can use their own infrastructure. Saina makes the decisions; n8n workflows execute them.
Two nodes, a shared API-key or OAuth2 credential.
Create a Saina API credential with the API base URL and an account API key from Studio. Self-hosted services that do not authenticate can leave the key empty. The credential test calls GET /v1/studio/discovery.
In Saina Decision (version 3) or Saina Trace, choose Authentication → OAuth2 and create a Saina OAuth2 API credential. The API-key option remains the default for existing workflows.
Register your n8n installation once, using the exact OAuth Redirect URL shown in the credential dialog:
curl --fail-with-body https://api.saina.run/v1/mcp-oauth/register \
-H 'Content-Type: application/json' \
-d '{"client_name":"Saina for n8n","redirect_uris":["https://YOUR-N8N-HOST/rest/oauth2-credential/callback"],"token_endpoint_auth_method":"client_secret_post","grant_types":["authorization_code","refresh_token"]}'
Paste the returned client_id and client_secret into the credential, then click Connect my account. Sign in as the Saina account owner and approve write access to run decisions, log traces, and report outcomes. Read access supports discovery and reading decisions only. Store the client secret in n8n credentials, never in workflows. For local n8n, HTTP callbacks are allowed on localhost; otherwise use HTTPS. For another OAuth-enabled Saina server, change both the registration origin and API Base URL.
n8n handles PKCE (S256), encrypted credential storage, and refresh tokens through its built-in OAuth2 credential. Saina uses rotating refresh tokens; revoke the connection in Studio to disconnect it. Running a configured Decision workflow authorizes its inference calls, including provider billing.
OAuth calls the Saina MCP endpoint (/v1/mcp), because these tokens cannot call REST routes. Trace writes require the server tools log_traces and report_decision_outcome. Self-hosted services without OAuth can continue to use the API-key credential with an empty key. Node versions 1 and 2 retain API-key authentication.
The node mirrors the Studio playground. Dropdowns are filled from the account through the credential, so new models and endpoints appear without a package update.
key: description per line) or Rate on a Scale (one level per line, lowest first). Each question can abstain: Yes / No through No and Yes cutoffs, Choose One through a minimum probability. An abstained question sends the item to Fallback.The result is in saina: decision_id, status, answers keyed by question, endpoint and endpoint_version. Provider payloads are not copied into the item. In Endpoint mode the decision is recorded in Studio, so a later Saina Trace node can report its outcome.
Model modes call POST /v1/studio/playground/test with an ad hoc definition. Endpoint mode calls POST /v1/studio/endpoints/{name}/decide. Both send X-Saina-Client: n8n.
The API key needs playground:rw for model modes, endpoints:rw for Endpoint mode, and endpoints:r plus providers:r to fill the dropdowns. Dropdown entries for sections the key cannot read are left out; you can still type a name as an expression.
Existing workflows keep working. Node versions 1 and 2 still use the Saina Helm API credential and POST /v1/ask with their original fields; see the previous README sections in git history for those. New nodes are version 3.
POST /v1/studio/business-outcomes with the decision ID (defaults to {{ $json.saina.decision_id }}), a stable event ID (defaults to the execution and item), outcome values as {"field": {"type": "boolean|number|string|duration|currency", "value": ...}}, and an optional question ID. Needs business-outcomes:rw.schema_version 1.0 envelope to POST /v1/traces with a task name, inputs, optional outcome, metadata, optional endpoint name and a UUID trace ID (generated when empty, so retries are idempotent). Needs traces:rw.GET /v1/studio/decisions/{id}. Needs decisions:r.The response is placed in saina. Errors stop the workflow unless Continue on Fail is set; raw request errors are never copied into the output.
Requires Node 22+ and n8n with n8n-workflow 2.x. This package is not verified by n8n. Source is available under the MIT license.
git clone https://github.com/run-saina/n8n-nodes.git
cd n8n-nodes
npm ci
npm test
npm pack
# On the n8n host, install this tarball into the custom/community nodes directory:
cd ~/.n8n/nodes
npm install /absolute/path/run-saina-n8n-nodes-saina-0.3.1.tgz
# Restart n8n using your normal deployment/service command.
Use HTTPS outside a trusted local network. Never put the key in a node expression or exported workflow. The nodes disable redirects to avoid forwarding credentials elsewhere. One request is made per input item, in order; retries are left to n8n settings.
Import one of workflows/*.json. Every template is inactive, starts with a Manual
Trigger, and ends in no-op action slots. Select credentials, test the sample,
replace the input with your real trigger, then connect your real actions. The
templates use node version 2 and the Saina Helm API credential.
support-routing.json: billing / technical / other, with uncertainty fallback.model-escalation.json: current model / larger model / clarification.invoice-review.json: human review / continue processing.http-request-portable.json: standard HTTP Request + IF nodes; no custom package.For the HTTP template set Header Auth to Authorization: Bearer YOUR_KEY using
n8n credentials. API/network errors stop this template; configure n8n's error
output if you want those to route to review. Do not treat a failed request as an
accepted decision. n8n Cloud users can start with this template; no claim of
community-node verification or Cloud installability is made.
Tune abstention cutoffs against representative held-out cases. The values in examples are configuration examples, not validated settings. For a draft decision, use the Manual Trigger workflow and inspect both outputs before connecting production actions. No emails, payments, or external updates are performed by these templates.
Run npm ci, npm run lint, npm test, and npm run scan. Use npm run dev to load the nodes in a local n8n instance. Run python3 generate-workflows.py to regenerate examples.
The package calls the Saina API directly and does not bundle a model or SDK. A self-hosted
Studio service exposes the same /v1/studio/... and /v1/traces routes.
The npm package is @run-saina/n8n-nodes-saina, owned by the run-saina organization. The GitHub Actions Publish workflow builds, tests, and scans before uploading a staged release with provenance. Its NPM_TOKEN repository secret needs read/write access to the @run-saina scope; bypassing 2FA is not required.
To release, run Publish on main with operation stage, then approve the version in npm's Staged Packages page using your security key. Until approval, the staged version is not installable; npm may show a 0.0.0-stage placeholder for a new package. After approval, run Publish with operation verify to scan the exact published version. Do not rerun staging for a version already staged or published.
Tokenless publishing can be configured in npm package settings using GitHub owner run-saina, repository n8n-nodes, and workflow filename publish.yml. The workflow supports OIDC. Remove the bootstrap token once trusted publishing is working.
After publishing, run npx @n8n/scan-community-package @run-saina/n8n-nodes-saina and submit through the n8n Creator Portal. Publication does not imply n8n verification. Eligibility of the Selected/Fallback outputs requires n8n review.
MIT. See LICENSE.
For integration support and developer enquiries, email [email protected].