Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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].