ruvnet/ruflo
What It Calls
키 없이 되는 범위: 텍스트 생성(gemini, openai, openrouter): 키가 없으면 오류로 멈추는 분기가 있습니다. 외부 API (api.pinata.cloud): 키가 없으면 오류로 멈추는 분기가 있습니다. 텍스트 생성·이미지 생성·임베딩(Google Gemini API): 키가 없으면 이 호출을 건너뜁니다. 그 밖의 행은 아래 표에 있습니다.
| 기능 | 공급자 | 구분 | 기본 설정 | 대체 경로 |
|---|---|---|---|---|
| 텍스트 생성 | gemini, openai, openrouter | 키 필요 | generativelanguage.googleapis.com, api.openai.com 외 1개 |
없음 |
| 외부 API (api.pinata.cloud) | api.pinata.cloud | 기본 호출 | api.pinata.cloud |
없음 |
| @ruflo/x-gateway — 외부 API (relay.ruv.io)별도 배포 단위: @ruflo/x-gateway | relay.ruv.io | 미확정 | relay.ruv.io |
없음 |
| @ruflo/ai-team-service — 외부 API (team.ruv.io)별도 배포 단위: @ruflo/ai-team-service | team.ruv.io | 미확정 | team.ruv.io |
없음 |
| 텍스트 생성·이미지 생성·임베딩 | Google Gemini API | 선택 사항 | generativelanguage.googleapis.com |
키 없으면 건너뜀 (GOOGLE_API_KEY), 다른 공급자 선택 |
| 텍스트 생성·이미지 생성·음성 인식·음성 합성·임베딩 | OpenAI | 선택 사항 | api.openai.com |
키 없으면 건너뜀 (GOOGLE_API_KEY), 다른 공급자 선택 |
| 텍스트 생성 | OpenRouter | 선택 사항 | openrouter.ai |
키 없으면 건너뜀 (GOOGLE_API_KEY), 다른 공급자 선택 |
| @ruflo/x-gateway — 외부 API (x.ruv.io)별도 배포 단위: @ruflo/x-gateway | x.ruv.io | 선택 사항 | x.ruv.io |
키 없으면 건너뜀 (OPENAI_APPS_CHALLENGE) |
| API | 인증 | 코드 근거 | 요금 | 가격 페이지 | 확인일 |
|---|---|---|---|---|---|
| api.pinata.cloud | 자격증명 확인 필요 | v3/@claude-flow/cli/cloud-functions/publish-registry/index.js:66코드가 api.pinata.cloud 외부 API를 호출하며, 이때 요청 헤더에 API 키를 포함합니다. |
요금 정보 없음 | - | - |
| relay.ruv.io | 자격증명 확인 필요 | plugins/ruflo-x-gateway/src/server.mjs:197호출 파일에 해석하지 못한 import 가 있습니다 |
요금 정보 없음 | - | - |
| team.ruv.io | 자격증명 확인 필요 | plugins/ruflo-ai-team/src/server.mjs:133호출 파일에 해석하지 못한 import 가 있습니다 |
요금 정보 없음 | - | - |
| Google Gemini API | 사용자 키 필요 | ruflo/src/mcp-bridge/index.js:1061기본적으로 Google Gemini API를 사용하며, 키가 없는 경우 해당 호출을 건너뜁니다. 다른 공급자를 선택할 수도 있습니다. |
무료 등급 있음 | 가격 페이지 | 2026-10-05 |
| OpenAI | 사용자 키 필요 | ruflo/src/mcp-bridge/index.js:1060기본적으로 OpenAI를 사용하며, 키가 없는 경우 해당 호출을 건너뜁니다. 다른 공급자를 선택할 수도 있습니다. |
유료 | 가격 페이지 | 2026-10-05 |
| OpenRouter | 사용자 키 필요 | ruflo/src/mcp-bridge/index.js:1062기본적으로 OpenRouter를 사용하며, 키가 없는 경우 해당 호출을 건너뜁니다. 다른 공급자를 선택할 수도 있습니다. |
무료 등급 있음 | 가격 페이지 | 2026-10-05 |
| x.ruv.io | 자격증명 확인 필요 | plugins/ruflo-x-gateway/src/server.mjs:386기본적으로 x.ruv.io를 사용하며, OPENAI_APPS_CHALLENGE 설정이 없으면 해당 호출을 건너뜁니다. |
요금 정보 없음 | - | - |
외부로 나가는 데이터: 프롬프트 텍스트 · 확인 불가 4곳
네트워크로 받아 오는 것: 패키지 저장소 (npm registry)
점검 범위: 부분 점검 — 400/7,328 파일 · 트리 잘림 없음 · 서브모듈 없음 · 해석 못 한 import 경로 992개
다음 행동
배지 미리보기
[](https://whatitcalls.reactiveworks.dev/ko/ruvnet/ruflo)
README 에서는 「external API · used」 로 보입니다.
이 분석이 도움이 됐나요?
신선도 상세
- 커밋 시각
- 2026-10-07 08:05 UTC
- 점검 시각
- 2026-10-07 12:06 UTC
- 마지막 HEAD 확인
- 2026-10-07 12:05 UTC ·
9fa701a(점검 커밋과 같음) - 읽기 깊이
- 기본 점검 (400개 · 8MB 까지)
- 스캐너·판정 규칙
scan-5+verdict-4- 요금 카탈로그
- 판 2
- 정정 리비전
- 0
- 요약
- 모델 ollama-cloud/gemma4:31b-cloud · 일부 규칙 문장
외부 전송 상세
- 확인됨 프롬프트 텍스트가 Google Gemini API, relay.ruv.io, OpenAI, OpenRouter로 전송됩니다.
plugins/ruflo-x-gateway/src/server.mjs:197plugins/ruflo-x-gateway/src/server.mjs:263plugins/ruflo-x-gateway/src/server.mjs:338 - 추정 프롬프트 텍스트가 외부로 전송될 가능성이 있습니다.
plugins/ruflo-chatgpt-federation/src/server.mjs:123plugins/ruflo-chatgpt-federation/src/server.mjs:131 - 확인 불가 보내는 내용을 코드에서 찾지 못한 공급자: gemini, openai, openrouter, api.pinata.cloud, team.ruv.io, x.ruv.io
README 주장 ↔ 코드 차이2
API 키 불필요
🔒 Zero-trust federation Remote agents start untrusted. Identity proven via mTLS + ed25519 challenge-response. No API keys, no shared secrets.README.md:353
README에는 API 키가 필요 없다고 명시되어 있으나, 실제 코드에서는 텍스트 생성 및 외부 API(api.pinata.cloud) 이용을 위해 Gemini, OpenAI, OpenRouter, Pinata 키가 필요합니다. ruflo/src/ruvocal/mcp-bridge/index.js:667 ruflo/src/mcp-bridge/index.js:1060
로컬
verify.mjs loads @noble/ed25519 via createRequire . With pnpm's default isolated node-linker, transitive deps don't hoist to the workspace root unless a workspadocs/validation/README.md:224
README에는 로컬에서 실행된다고 명시되어 있으나, 실제 코드에서는 텍스트 생성 및 외부 API 이용을 위해 Gemini, OpenAI, OpenRouter, Pinata 호출이 필요합니다. ruflo/src/ruvocal/mcp-bridge/index.js:667 ruflo/src/mcp-bridge/index.js:1060
코드 인용
원문은 저장하지 않습니다. 코드는 점검 커밋에 고정된 GitHub 링크로 보여 주고, 저장된 인용은 근거당 최대 3줄 · 파일당 최대 6줄입니다.
출처: ruvnet/ruflo · 커밋 9fa701a · ruflo/src/ruvocal/mcp-bridge/index.js
출처: ruvnet/ruflo · 커밋 9fa701a · v3/@claude-flow/cli/cloud-functions/publish-registry/index.js
점검 범위 상세
파일 수
- 전체 파일
- 7,328
- 점검한 파일
- 400 (5%)
매니페스트
읽지 못한 우선 파일 113개
v3/@claude-flow/codex/src/templates/index.tsv3/@claude-flow/codex/src/validators/index.tsv3/@claude-flow/codex/src/worktrees/index.tsv3/@claude-flow/hooks/src/daemons/index.tsv3/@claude-flow/hooks/src/executor/index.ts
외 108개
package.jsonruflo/package.jsonplugins/ruflo-ai-team/package.jsonplugins/ruflo-arena/package.jsonplugins/ruflo-chatgpt-federation/package.jsonplugins/ruflo-graph-intelligence/package.json
외 24개
해석 못 한 import 경로 (992개)
pathToFileURL(cliPath).hrefbin/cli.js:11toImportURL(join(cliBase, 'bin', 'cli.js'))ruflo/bin/ruflo.js:58toImportURL(join(cliBase, 'dist', 'src', 'index.js'))ruflo/bin/ruflo.js:61pathToFileURL(join(cliDir, 'node_modules', pkgName, 'dist/index.js')).hrefscripts/check-metaharness-pins.mjs:233../dist/src/mcp-client.jsv3/@claude-flow/cli/bin/cli.js:166
읽지 않은 파일 961 · 없는 파일 19 · 동적 import 6 · 읽지 않은 진입점 6
제외한 파일
.md2,079.json395.sh202.svelte85.yaml83.svg75
외 25개
- 점검 안 한 외부 코드
- 없음
- 잘림·상한
- 파일 수 상한
- 따라가지 않은 심볼릭 링크
- 4
정정 이력
아직 정정 이력이 없습니다.