Skip to main content
목표: 글로벌 × 중국 기업을 위한 올인원 에이전트 플랫폼 구축 — 세 가지 점진적 모드를 통해 제공: Standalone(포털 어시스턴트), Copilot(호스트 시스템에 임베드), Hub(중앙 크로스시스템 오케스트레이션). 원칙: 공급자 중립적(벤더 락인 없음), 최소 추상화, 프로토콜 우선, 커넥터 우선(통합이 핵심 가치).

제품 비전

FIM One은 세 가지 점진적 배포 모드를 제공하는 올인원 에이전트 플랫폼입니다:
크로스시스템 오케스트레이션이 핵심 차별화 요소입니다. 엔터프라이즈 클라이언트는 ERP, CRM, OA, 재무, HR 등의 레거시 시스템을 보유하고 있으며, 이들이 AI를 통해 서로 통신해야 합니다: GTM 경로: Land and Expand

Known Issues

재현 가능하지만 아직 수정되지 않은 프로덕션 버그입니다. 각 항목은 증상, 의심되는 영역, 해결 방법(있는 경우)을 명시합니다. 수정이 범위 지정되고 일정이 잡히면 항목이 버전 섹션으로 이동합니다.
  • Playground 중지 및 재시도 시 일시적인 시각적 아티팩트가 표시되며, 페이지 새로고침으로 항상 해결됩니다. 세 가지 동시 렌더링 소스 — activeConversation.messages(DB 스냅샷), SSE messages 스트림, 낙관적 pendingQuery 플레이스홀더 — 가 단일 파생 상태로 축소되지 않아서, “재시도” 클릭과 쌍을 이루는 어시스턴트 응답이 도착하는 사이에 UI가 (a) 사전 스트림 창에서 동일한 쿼리를 잠깐 두 번 렌더링하거나, (b) hasLiveMessages가 true이고 스냅샷이 다시 로드되기 전에 재시도 기록에서 이전 고아 사용자 버블을 삭제하거나, (c) SSE “완료” 이벤트와 다음 selectConversation 새로고침 사이의 좁은 창에서 깜빡일 수 있습니다. 데이터는 절대 손실되지 않습니다 — 모든 사용자 메시지(중단된 재시도 포함)는 conversation.messages에 유지되고, normalize_alternating_messages를 통해 다음 LLM 호출로 전달되며, 48ba08c6 렌더링 수정에서 도입된 HistoryTurn.orphanUserContents를 통해 새로고침 후 올바르게 렌더링됩니다. 참고로, Claude의 자체 웹 UI도 유사한 버그 클래스를 보여줍니다 — 응답 중간에 중지하고 즉시 후속 쿼리를 보내면 때때로 후속 쿼리가 첫 번째 쿼리의 형제 편집 분기로 포크되기도 하고 새로운 턴으로 추가되기도 합니다 — 따라서 이는 낙관적 UI + SSE + 유지된 기록 설계의 알려진 어려운 문제이지, FIM One 특정 결함이 아닙니다. 적절한 수정을 위해서는 세 가지 렌더링 소스를 단일 파생 상태로 축소해야 하며, 더 광범위한 Playground 상태 머신 리팩터링까지 연기됩니다.

Backlog (Low Priority)

연기된 강화 — 차단하지 않음; 일치하는 시나리오가 나타날 때만 진행.
  • DAG 증거가 자체 절단 예산을 가짐, DAG_ANALYZER_TRUNCATION에서 분리되어 소스 증거가 분석기/합성 검증 전에 요약 예산으로 다시 잘리지 않음.
  • 구조 인식 증거 절단 (head+tail / 목록 및 표 유지) 긴 열거형이 상한선으로 인해 조용히 꼬리를 잃지 않고 유지됨.
  • 소스 충실도 지침을 ReAct 폴백 합성 프롬프트로 이식 전체/심각도 오류 레이블이 DAG뿐만 아니라 ReAct에서도 포착됨.

배포된 버전

v0.1 (2026-02-22) — MVP: ReAct + DAG Planner

  • ReActAgent와 도구 (calculator, python_exec, web_search)
  • DAG Planner (LLM이 의존성 그래프 생성)
  • 스트리밍 + KaTeX를 지원하는 Portal UI

v0.2 (2026-02-24) — Multi-Model + Memory

  • 재시도 / 속도 제한 / 사용량 추적
  • 네이티브 함수 호출 (JSON 전용 파싱 없음)
  • 다중 모델 지원 (fast + main LLM)
  • 메모리: WindowMemory, SummaryMemory
  • SSE 스트리밍을 지원하는 FastAPI 백엔드

v0.3 (2026-02-25) — Web Tools + MCP

  • 웹 도구 (web_search, web_fetch) via Jina/Tavily/Brave
  • 파일 작업 도구
  • MCP 클라이언트 (표준 도구 통합)
  • 도구 자동 발견 + 카테고리
  • DAG 시각화 및 클릭-스크롤
  • Docker에서 코드 실행 (--network=none)

v0.4 (2026-02-25) — Multi-Turn + Agents

  • 다중 턴 대화 (DbMemory)
  • 도구 단계 접기 UI
  • HTTP 요청 + 셸 실행 도구
  • 에이전트 관리 (생성, 구성, 게시)
  • JWT 인증
  • 에이전트별 실행 모드 + 온도 제어

v0.5 (2026-02-28) — 완전한 RAG + 기반 생성

  • 완전한 RAG 파이프라인 (embedding + vector store + FTS + RRF + reranker)
  • 기반 생성 (인용, 신뢰도 점수)
  • 지식 기반 문서 관리 (CRUD, 검색, 재시도, 스키마 마이그레이션)
  • ContextGuard + 고정 메시지 (토큰 예산 관리자)
  • DbMemory 지속성 + LLM Compact
  • DAG 재계획 (최대 3라운드)

v0.6 (2026-03-01) — Connector Platform

  • Connector CRUD: create, read, update, delete
  • ConnectorToolAdapter: converts Connector → BaseTool
  • Per-user credentials: AES-GCM encryption
  • Confirmation gate: 쓰기 작업 승인
  • Audit logging: all tool calls recorded
  • Circuit breaker: graceful degradation on failures
  • Utility tools: email_send, json_transform, template_render, text_utils
  • Embedding options: Jina, OpenAI, custom providers

v0.7 (2026-03-06) — Admin Platform + Multi-Tenant

  • Admin Platform: 사용자 관리, 역할 전환, 비밀번호 재설정, 계정 활성화/비활성화
  • 초대 전용 등록: 세 가지 모드(공개/초대/비활성화) + 초대 코드 CRUD
  • 스토리지 관리: 사용자별 디스크 사용량, 초기화, 고아 정리
  • 대화 중재: 관리자 목록/삭제 모두
  • 사용자별 강제 로그아웃: 모든 토큰 취소
  • API 상태 대시보드: 시스템 통계, 커넥터 메트릭
  • 첫 실행 설정 마법사: 안내식 관리자 계정 생성
  • 개인 센터: 사용자별 전역 지침, 언어 선호도
  • JWT 인증: 토큰 기반 SSE 인증, 대화 소유권
  • 전역 MCP 서버: 관리자 프로비저닝, 모든 세션에서 로드
  • 하위 호환성: registration_enabled → registration_mode 자동 마이그레이션

v0.7.x (2026-03-07 to 2026-03-12) — Stability + Refinements

  • 초대 코드 관리
  • 사용자별 할당량 (429 적용)
  • 구조화된 감사 로깅
  • 민감한 단어 필터링
  • 관리자 로그인 기록
  • 관리자 파일 브라우저
  • 향상된 관리자 보기 (model_name, tools, kb_ids 필드)
  • Docker Compose 배포 (단일 이미지, 명명된 볼륨)
  • OAuth 자동 감지 (window.location에서)
  • 확장 사고 / 추론 지원 (LLM_REASONING_EFFORT, LLM_REASONING_BUDGET_TOKENS) — OpenAI o-series, Gemini 2.5+, Claude
  • 관리자 도구별 활성화/비활성화 (비활성화된 도구는 런타임에 채팅에서 제외)
  • MCP 서버 관리를 Connectors 페이지로 이동
  • 이중 데이터베이스 지원: SQLite (제로 구성 기본값) + PostgreSQL (프로덕션); Docker Compose 자동 PostgreSQL 프로비저닝
  • 모델 구성 문서 페이지 (공급자별 확장 사고 설정 포함)
  • SSE Protocol v2: 실시간 답변 스트리밍 (delta_reasoning, usage 필드 포함) 및 분할 done/suggestions/title/end 이벤트; SQLite 풀 크기 5 -> 20
  • AI Builder 확장: 7개의 새로운 빌더 도구 (GetSettings, TestConnection, ImportOpenAPI for connectors; ListConnectors, AddConnector, RemoveConnector, SetModel for agents), 에이전트의 is_builder 플래그, 빌더 프롬프트 자동 새로고침, SSRF 가드
  • SSE v2 프론트엔드: 스트리밍 점 펄스 커서, DAG 재계획 라운드 스냅샷 (축소 가능한 카드), DAG 레이아웃 단계 상태에서 분리
  • AI Builder 개념 문서 페이지 (커넥터 및 에이전트 빌더 가이드 포함)
  • 조직 시스템: 역할 기반 멤버십 (소유자/관리자/멤버)을 포함한 전체 CRUD, 관리자 관리 UI
  • 3계층 리소스 가시성 (개인/조직/글로벌) — 에이전트, 커넥터, 지식 기반, MCP 서버
  • 모든 리소스 유형에 대한 게시/게시 취소 API; 게시된 에이전트에 대한 소유권 위임
  • 관리자 가시성 설정 엔드포인트 (클론-투-글로벌 대체); 통합 build_visibility_filter() 쿼리 헬퍼
  • 데이터베이스 커넥터 (Phase 1-3): PG/MySQL/Oracle/SQL Server + 중국 레거시 DB에 대한 직접 SQL 액세스; 스키마 내부 검사, AI 주석, 읽기 전용 쿼리 실행, 암호화된 자격 증명, 커넥터당 3개 도구 (list_tables, describe_table, query)
  • 평가 센터: 정량적 에이전트 품질 벤치마킹 — 테스트 데이터셋 CRUD (프롬프트 + 예상 동작 + 어설션), 평가 실행 (병렬 실행 + LLM 채점자 + 사례별 통과/실패/지연/토큰 결과), 자동 폴링을 포함한 결과 뷰어; 마이그레이션 r8t0v2x4z567
  • 3가지 모델 역할 (General/Fast/Reasoning) (계층별 env 구성 격리 포함); 빠른 모델은 더 이상 주 모델 설정을 상속하지 않음
  • 구조화된 데이터 및 아티팩트 전달을 위한 일반 문자열 단계 결과를 대체하는 StepOutput 데이터클래스
  • DAG 실행을 위한 도구 캐시 — 실행당 동일한 도구 호출 캐시 (비동기 잠금 스탬피드 방지 포함) (DAG_TOOL_CACHE)
  • 단계별 LLM 검증 (실패 시 1회 재시도) (DAG_STEP_VERIFICATION)
  • 자동 라우팅: 빠른 LLM이 쿼리를 ReAct 또는 DAG로 분류; /api/auto 엔드포인트; 프론트엔드 3방향 모드 토글 (AUTO_ROUTING)
  • Shadow Market Organization + Resource Subscriptions: 기본 제공 Market org (shadow, 자동 가입 없음)가 Platform org를 대체; 마켓플레이스 브라우징을 통해 리소스 검색 및 명시적 구독 (풀 모델); Market API (공유 리소스 구독용); Market에 게시하려면 항상 검토 필요; 리소스 구독 테이블; 글로벌 가시성을 대체하는 조직 기반 리소스 공유
  • Agent Auto-discovery and Sub-agent Binding: 에이전트의 discoverable 플래그; sub_agent_ids 화이트리스트; 전문가 에이전트에 작업을 위임하기 위한 CallAgentTool
  • MCP Server Credentials + Per-User Override: mcp_server_credentials 테이블; PUT /api/mcp-servers/{id}/my-credentials 엔드포인트; 자격 증명 폴백 동작을 위한 allow_fallback 플래그
  • Connector/KB Toggle: 리소스 일시 중지/재개를 위한 POST /api/connectors/{id}/togglePOST /api/knowledge-bases/{id}/toggle
  • Standalone KB Conversations: 에이전트 바인딩 없이 직접 KB 채팅을 위한 대화의 kb_ids 필드

v0.8 (2026-03-20) — 연결기 선언형 구성 + 점진적 공개

  • 데이터베이스 연결기: 직접 SQL 액세스 (PostgreSQL, MySQL, Oracle) (v0.7.x에서 출시 — Phase 1-3)
  • RBAC: 사용자/역할별 연결기 액세스 제어 (v0.7.x에서 출시 — 조직 시스템 + 3단계 가시성)
  • 연결기 자격증명 암호화 + 사용자별 재정의: connector_credentials 테이블, CREDENTIAL_ENCRYPTION_KEY를 통한 Fernet 암호화, allow_fallback 플래그, GET/PUT/DELETE /my-credentials 엔드포인트, 채팅 도구 로딩 시 사용자별 자격증명 해석
  • 게시 검토 UI: 조직 수준 게시 검토 시스템 — 조직별 검토 토글, 승인/거부 워크플로우가 있는 ReviewsSheet, 리소스 카드의 상태 배지, 게시 대화에서 검토 알림, 거부된 리소스에 대한 재제출
  • 연결기 점진적 공개 (Phase 1-2): 단일 ConnectorMetaTool이 작업별 도구를 대체; 시스템 프롬프트는 경량 스텁만 수신 (이름 + 1줄 설명, 연결기당 ~30 토큰 vs 작업당 ~250 토큰); 에이전트가 discover(connector)를 호출하여 필요 시 전체 작업 스키마 로드 — 스키마는 모델이 연결기를 선택할 때만 로드되어 캐싱을 위해 프롬프트 접두사를 안정적으로 유지. 최신 에이전트 프레임워크에서 일반적인 지연 도구 로딩 패턴을 따름. execute 부명령; 하위 호환성을 위한 기능 플래그.
  • 에이전트 스킬 시스템 + 컴팩트 지침: 에이전트 지침을 위한 온디맨드 스킬 로딩 — Skill 모델 (이름, 콘텐츠/SOP, 선택적 스크립트)이 에이전트에 첨부됨; 시스템 프롬프트에서 이름으로만 참조 (~스킬당 10 토큰); 에이전트가 read_skill(name)을 호출하여 필요 시 전체 콘텐츠 로드. ConnectorMetaTool의 점진적 공개를 지침 수준에 적용하여 대화당 지침 토큰 비용을 ~80% 감소. 더 풍부한 SOP 라이브러리 허용. “지침 + 도구 + 스킬” 차별화 스토리 활성화. Agent 모델에 compact_instructions 필드도 추가 — 압축 시 ContextGuard에 주입된 에이전트별 압축 우선순위 목록 (예: “주문 ID와 금액 보존, 원본 API 응답 삭제”), 현재 정적 일반 프롬프트 대체. 최신 에이전트 프레임워크에서 널리 채택된 컴팩트 지침 규칙을 따름.
  • 연결기 가져오기/내보내기: 연결기 템플릿 공유
  • 연결기 포크: 기존 연결기 복제 + 커스터마이징
  • 워크플로우 Phase 2 노드: Iterator, Loop, VariableAggregator, ParameterExtractor, ListOperation, Transform, DocumentExtractor, QuestionUnderstanding, HumanIntervention — 전체 프론트엔드 + 백엔드 + 150개 신규 테스트 (총 275개)가 있는 9개 고급 노드 유형. 지수 백오프를 사용한 노드 재시도, 안전한 표현식 평가. 성공률 막대가 있는 통계 패널. 12개 기본 제공 템플릿. 창 컨텍스트 메뉴 (붙여넣기, 모두 선택, 보기 맞춤, 자동 레이아웃).
  • 워크플로우 Phase 3 노드: SubWorkflow + ENV — 2개 신규 노드 유형 (총 25개 노드), 14개 신규 테스트 (총 306개), 14개 기본 제공 템플릿. SubWorkflow: 대상 워크플로우 선택, 변수 매핑, 무한 재귀 방지를 위한 구성 가능한 깊이 제한이 있는 완전한 DB 지원 중첩 워크플로우 실행기. ENV: 키 선택기 및 폴백 기본값이 있는 암호화된 환경 변수 읽기. 전체 프론트엔드 (노드 컴포넌트, 구성 패널, 팔레트 항목, 미니맵 색상). 노드별 실행 통계 패널 (성공률, 지속 시간, 실패 횟수 최악 우선 정렬). getNodeStats API 클라이언트 + NodeStatEntry 유형. 키보드 단축키 대화 (? 키).
  • 워크플로우 예약 트리거: 시간대, 기본 입력, 다음 실행 시간 계산이 있는 워크플로우별 cron 구성. 사전 설정 cron 버튼, 30개 트리거 테스트.
  • 워크플로우 API 트리거: 사용자 인증 없이 외부 실행을 위한 워크플로우별 공개 API 키 (wf_ 접두사), 속도 제한 포함. API 키 관리 대화 (생성/재생성/취소, 트리거 URL, cURL/JS 예제).
  • 워크플로우 배치 실행: 최대 100개 입력 세트, 구성 가능한 병렬 처리 (1-10), 축소 가능한 항목별 결과, JSON 내보내기가 있는 POST /batch-run. 14개 배치 실행 테스트.
  • 워크플로우 실행 로그 뷰어: 실행 패널의 실시간 시간순 SSE 이벤트 스트림 (타임스탬프, 색상 코드 배지, 이벤트 유형 필터 토글).
  • 워크플로우 실행 통계: 백엔드가 GROUP BY 부쿼리를 통해 실행 횟수 및 성공률을 일괄 가져옴; 프론트엔드가 색상 코드 성공률 표시기가 있는 워크플로우 카드에 통계 표시.
  • 워크플로우 스케줄러 데몬: 60초마다 만료된 cron 기반 워크플로우를 폴링하는 백그라운드 비동기 서비스. Croniter 시간대 지원, 세마포어 동시성, last_scheduled_at 추적, 웹훅 전달. 14개 테스트.
  • 워크플로우 가져오기 충돌 해석기: 가져오기 중 미해결 에이전트/연결기/KB/MCP 참조 감지. 가시성 필터링이 있는 배치 DB 쿼리, 프론트엔드 토스트 경고. 17개 테스트.
  • 워크플로우 테스트 노드 실행: 모의 변수를 사용한 격리된 단일 노드 테스트, 편집기에 통합 (구성 패널 테스트 버튼 + 컨텍스트 메뉴). 23개 테스트.
  • 워크플로우 버전 차이: 노드/에지 변경 감지가 있는 나란히 블루프린트 비교, 색상 코드 표시기 (추가됨/제거됨/수정됨).
  • 워크플로우 실행 관리: 개별 실행 삭제 (DELETE /runs/{run_id}) 및 완료된 모든 실행 지우기 (DELETE /runs), 프론트엔드 확인 대화 포함.
  • 워크플로우 실행 재생 오버레이: 실행 기록의 “캔버스에서 보기” 버튼으로 캔버스에 과거 실행 결과를 오버레이하여 재실행 없이 노드별 상태 및 출력 표시.
  • 워크플로우 즐겨찾기/고정: 워크플로우를 목록 맨 위에 별표/고정하기, localStorage 지속성 포함.
  • 워크플로우 실행 기록 내보내기: 전체 실행 메타데이터 및 노드별 결과가 있는 JSON 파일 다운로드로 실행 기록 내보내기.
  • 관리자 워크플로우 관리: 사용자 전체 워크플로우 관리를 위한 관리자 패널 탭 — 목록, 활성/비활성 토글, 확인과 함께 삭제. 감사 로깅이 있는 삭제, 토글, 게시를 위한 배치 엔드포인트.
  • 워크플로우 템플릿 시스템: 관리자 CRUD, 공개 목록/복제 API, 첫 시작 시 자동 삽입되는 5개 시드 템플릿이 있는 WorkflowTemplate ORM 모델.
  • 워크플로우 인라인 검증 배지: 편집 중 즉각적인 시각적 피드백을 위해 오류/경고 도구 설명이 있는 캔버스의 실시간 노드별 ValidationBadge.
  • 워크플로우 실행 추적 뷰어: 엔진 trace_level 매개변수 및 단계별 디버깅을 위한 노드별 변수 스냅샷이 있는 타임라인 기반 추적 뷰어 Sheet.
  • 워크플로우 속도 제한 및 시간 초과: 사용자별 WorkflowRateLimiter (슬라이딩 윈도우 10 실행/분, 3개 동시) 및 기본 10분 전역 실행 시간 초과.
  • 워크플로우 블루프린트 시스템: 다단계 자동화 블루프린트 설계 및 실행을 위한 시각적 워크플로우 편집기 — Workflow / WorkflowRun ORM 모델, 전체 CRUD + SSE 실행 API, 가져오기/내보내기, 복제, 블루프린트 검증 엔드포인트, 위상 정렬 + 세마포어 기반 동시성 + 조건 분기 및 12개 노드 유형 (Start, End, LLM, ConditionBranch, QuestionClassifier, Agent, KnowledgeRetrieval, Connector, HTTPRequest, VariableAssign, TemplateTransform, CodeExecution)이 있는 WorkflowEngine, {{node_id.output}} 보간 및 env.* 네임스페이스가 있는 VariableStore, 노드별 오류 전략 (STOP_WORKFLOW / CONTINUE / FAIL_BRANCH) (노드별 시간 초과 및 고급 구성 UI 포함), React Flow v12 시각적 편집기 (드래그 앤 드롭 팔레트 + 노드 구성 패널 + 변수 선택기 콤보박스 + 에지에 노드 추가 + 자동 레이아웃 (ELK.js)), Dify 스타일 컴팩트 노드 설계 (링 기반 실행 상태 스타일링 및 애니메이션 에지 전환), 템플릿 선택기 대화 및 GET /templates + POST /from-template API가 있는 4개 기본 제공 시작 템플릿 (Simple LLM Chain, Conditional Router, Knowledge-Augmented QA, HTTP API Pipeline), 통계 엔드포인트, ?run=true URL 매개변수 자동 열기, 서브프로세스 기반 코드 실행 보안, 105개 테스트 스위트 (템플릿, eval 네임스페이스 평탄화, 블루프린트 검증 경고, 노드/에지 삭제, 가져오기/내보내기/복제, 교착 상태 감지, 다중 조건 분기)
  • 작업 감사: 누가 무엇을 했는지에 대한 상세 로깅 — 관리자 검토 로그 감사 탭 추가 (조직/리소스별 게시 검토 추적)
  • 의미론적 스키마 주석: `semantic

v0.8.1 (2026-03-29) — 점진적 공개 성숙도 + ReAct 강화

  • DB 커넥터(DatabaseMetaTool), MCP 서버(MCPServerMetaTool), 온디맨드 도구 로딩(request_tools 메타 도구)을 위한 점진적 공개
  • DAG 품질 개선(5가지 개선 사항: 모델 업그레이드, 스킬 자동 발견, 인용 검증자, 구조화된 콘텐츠 보존, 도메인 인식 라우팅)
  • ReAct의 도메인 모델 에스컬레이션(전문 도메인이 추론 모델로 자동 에스컬레이션)
  • 모델별 Native Function Calling 토글(tool_choice_enabled)
  • ReAct 사이클 감지(결정론적 중복 도구 호출 방지)
  • ReAct 완료 체크리스트(도구 사용 시 사전 답변 검증)
  • Resource Fork Phase 1(계보 추적을 포함한 MCP 서버 + 스킬 포크 엔드포인트)
  • 워크플로우 연결 종속성 자동 구독(재귀적 하위 워크플로우 종속성 해결)
  • 사전 구축된 솔루션 템플릿(첫 등록 시 마켓에 시드된 8개 수직 솔루션)
  • 관리자 알림 개선(시간대 인식, 마스터 스위치, SMTP Reply-To)
  • 턴별 토큰 예산 서킷 브레이커(REACT_MAX_TURN_TOKENS)
  • 중앙화된 도구 절단, 동적 시스템 프롬프트 예산 책정
  • 파일 첨부 다운로드, 중복 메시지 제출 수정

v0.8.2 (2026-04-10) — 에이전트 코어 강화 + 비전 문서

  • 에이전트 코어 Phase 0 — 컴팩트 프롬프트가 9섹션 구조화 형식으로 업그레이드됨; 빈 도구 결과 보호((no output) 대신 설명 메시지); 반복 방지 프롬프트 + 사이클 감지 임계값을 2로 낮춤; 도메인 분류기 + 사전 비행 DB 구성 병렬화(요청당 400–1100ms 절감); SSE end 이벤트는 답변 직후 전송되며, 제목/제안은 백그라운드 작업으로 이동
  • 에이전트 코어 Phase 1 (컨텍스트 반팽창)MicroCompact 규칙 기반 이전 도구 결과 정리(마지막 6개 유지); REACT_TOOL_RESULT_BUDGET=40000 집계 상한; 컨텍스트 오버플로우 시 반응형 컴팩트(예산의 50%로 자동 컴팩트 후 재시도, 충돌 대신)
  • 에이전트 코어 Phase 2 (속도) — 키워드 기반 도구 사전 선택(명백한 일치 시 LLM 호출 건너뜀, 200–500ms 절감); SharedHttpClient LLM 연결 풀링; 200토큰 이상 답변에 대해 완료 확인 건너뜀; FallbackLLM은 기본+빠른 모델을 래핑하며 429/503/529/연결 오류 시 자동 장애 조치
  • 지능형 문서 처리(비전 인식) — 적응형 문서 처리: PDF 페이지는 비전 가능 모델(GPT-4o, Claude 3/4, Gemini)을 위해 PyMuPDF를 통해 이미지로 렌더링됨; pdfplumber를 통한 텍스트 전용 폴백. 모델별 supports_vision 플래그. DOCUMENT_PROCESSING_MODE, DOCUMENT_VISION_DPI, DOCUMENT_VISION_MAX_PAGES를 통한 모드. DOCX/PPTX 임베드된 이미지 추출. 대화 턴 전체에서 다중 턴 비전 지속성. 스마트 PDF 처리(텍스트 풍부 페이지는 텍스트 + 이미지 추출; 스캔된 페이지는 전체 페이지 PNG로 렌더링). --network=none 코드 실행을 위한 일반적인 데이터 과학 패키지가 포함된 사전 구축 샌드박스 이미지(Dockerfile.sandbox)
  • 리소스 포크 완료 — 에이전트/커넥터/워크플로우 포크 엔드포인트 추가, 5가지 유형 계보 추적 완료(KB 포크 제거 — 본질적으로 사용자 로컬)
  • 파일 무결성 가드레일 — 시스템 프롬프트 규칙은 대상 파일을 읽을 수 없을 때 에이전트가 관련 없는 파일 내용을 대체하는 것을 방지함; 업로드된 파일은 이제 메시지 컨텍스트에 file_id를 포함하여 직접 read_uploaded_file 액세스 가능

v0.8.3 (2026-04-16) — 범용 문서 변환 + 에이전트 코어 Phase 3

  • 범용 문서 변환 (convert_to_markdown + OCR) — Microsoft MarkItDown을 래핑하는 기본 제공 에이전트 도구; PDF, Word, Excel, PowerPoint, HTML, JSON, CSV, XML, ZIP, EPUB, Outlook .msg, 이미지, 오디오, YouTube URL을 Markdown으로 변환합니다. LiteLLMOpenAIShim은 모든 비전 지원 LLM(Claude, Gemini, Bedrock, Azure)을 통해 OCR을 활성화합니다. 텍스트 전용 폴백으로 회귀 없는 비전 인식 RAG 수집. LLM_SUPPORTS_VISION 환경 변수로 옵트아웃 가능
  • 에이전트 코어 Phase 3 (런타임 불변성 강화) — 대화 복구(끊어진 tool_use 자동 복구); 구조화된 컴팩트 작업 카드(WorkCard 압축 라운드 간 타입 병합); 턴 레벨 프로파일러(REACT_TURN_PROFILE_ENABLED); 사용자별 속도 제한(LLM_RATE_LIMIT_PER_USER); tool_calls가 있는 빈 콘텐츠 어시스턴트 메시지는 더 이상 삭제되지 않음

v0.8.4 (2026-04-17) — 프롬프트 캐시 + 추론 정확성

  • 시스템 프롬프트 섹션 레지스트리 및 캐시 중단점 — 메모이제이션된 PromptRegistry는 시스템 프롬프트를 안정적인 접두사 + 동적 접미사로 분할합니다. 캐시 지원 제공자(Claude, Bedrock Anthropic, Vertex Claude)는 접두사에 cache_control: {"type": "ephemeral"}을 받아 턴당 입력 토큰을 약 60-80% 절감합니다. 캐시 미지원 제공자는 단일 연결 메시지를 받습니다(동작 변화 없음).
  • 프롬프트 캐시 관찰성cache_read_input_tokenscache_creation_input_tokensUsageSummaryTurnProfilerdone_payload.cache 필드를 통해 추적됩니다. 턴당 구조화된 turn_cache 로그 라인입니다. 릴레이 캐시 신뢰성 검사로도 작동합니다.
  • 대화 복구 MVP — 합성 tool_result 행이 중단된 턴 이후에도 지속됩니다. POST /chat/resume은 단조 커서에서 캐시된 SSE 이벤트를 재생합니다. 프론트엔드 useSseResume 훅은 지수 백오프(300ms → 1s → 3s, 최대 3회 시도)로 자동 재연결하고 “재연결 중…” 표시기를 표시합니다.
  • 서명이 있는 추론 블록 지속성reasoning_content + Anthropic signaturemetadata_["thinking"]에 지속되고 후속 턴에서 재생됩니다. Claude 4 멀티턴 대화에서 HTTP 400 서명 불일치를 수정합니다.
  • 제공자 인식 추론 재생 정책core/prompt/reasoning.py의 중앙화된 reasoning_replay_policy()는 제공자 계열별 직렬화를 제어합니다. Claude는 서명이 있는 추론 블록을 재생합니다. DeepSeek-R1/Qwen-QwQ/Gemini-thinking/o-series는 아웃바운드에서 reasoning_content를 삭제합니다(이전에는 누출되어 제공자 KV 캐시를 손상시키고 API 문서를 위반했습니다).

v0.8.5 (2026-04-23) — Channel Integration + Hook System + Contributor i18n

  • Feishu Channel (Phase 1 subset) — Org-scoped Channel 리소스(Fernet 암호화된 자격증명 포함); FeishuChannel은 대화형 카드 전송 + 콜백 지원(서명 검증 + URL 챌린지); Settings → Channels 관리 UI(목록, 생성/편집(더티 상태 보호 포함), 복사 가능한 콜백 URL이 있는 상세 정보, 테스트 전송); CRUD API(/api/channels) 및 이벤트 콜백 엔드포인트(/api/channels/{id}/callback). 2026-04-24 roadshow를 위해 조기 배포됨
  • Agent Hook System (ReAct + DAG 런타임에서 실시간 운영)src/fim_one/core/hooks/PreToolUseHook / PostToolUseHook 추상화; model_config_json에서 hooks.class_hooks를 선언하는 에이전트는 채팅 세션당 훅이 인스턴스화되고 등록됨. 첫 번째 소비자 FeishuGateHook은 에이전트가 requires_confirmation=True 도구를 호출할 때 연결된 Feishu 그룹에 승인/거부 카드를 게시하고, 실행을 차단한 후 판정에 따라 재개하거나 중단함
  • 구성 가능한 확인 게이트(인라인 또는 채널) — 모든 에이전트는 세 가지 라우팅 모드(자동 / 인라인만 / 채널만), 승인자 범위 선택기(개시자 / 소유자 / 조직의 모든 사람), 도구별 재정의, 명시적 승인 채널 선택기가 있는 승인 섹션을 가짐. 자동 모드는 채널이 연결되지 않았을 때 인라인 승인 카드로 우아하게 폴백됨. POST /api/confirmations/{id}/respond는 Feishu 웹훅과 단일 의사결정 기록 경로를 공유함
  • 에이전트별 작업 완료 알림 — 장시간 실행되는 ReAct 또는 DAG 에이전트는 작업이 완료될 때 조직의 채널에 요약 카드를 푸시할 수 있음. 일반 아웃바운드 알림 패턴의 첫 번째 소비자
  • Hook 승인 Playground — Channels 상세 시트에는 전체 프로덕션 경로를 실행하는 “Test Approval Flow” 작업이 있음(진정한 ConfirmationRequest 행, 실제 Feishu 콜백, 상태 전환) — 프로덕션 훅이 사용하는 동일한 코드 경로
  • Contributor 친화적 i18n CI 폴백.github/workflows/i18n-sync.yml은 PR 병합 후 마스터에서 EN → ZH/JA/KO/DE/FR로 번역하고 [skip ci]로 자동 커밋함; 기여자는 더 이상 로컬에서 LLM_API_KEY가 필요하지 않음. 사전 커밋 로케일 편집 가드는 생성된 로케일 파일에 대한 수동 편집을 거부함(ALLOW_LOCALE_EDIT=1 정당한 번역 수정을 위한 재정의). 스모크 테스트 푸시를 통해 엔드투엔드 검증됨
  • Exa 통합 문서 — 전체 Exa 검색 표면(neural / fast / deep-reasoning / instant), 필터링, 콘텐츠 검색, 세 가지 조정된 사전 설정을 다루는 첫 번째 클래스 Exa 페이지가 있는 전용 Integrations 섹션
  • Xinchuang (信创) 데이터베이스 지원 — Database Connector는 이제 PostgreSQL/MySQL과 함께 KingbaseES (人大金仓), HighGo (瀚高), DM8 (达梦)을 나열함. PG 호환 드라이버는 asyncpg를 재사용함; DM8은 dmPython을 사용함. scripts/test_xinchuang_dbs.py는 CLI에서 라이브 연결을 검증함
  • Channels + Hook System 아키텍처 문서docs/architecture/hook-system.mdx는 세 가지 훅 포인트를 설명하고 FeishuGateHook을 엔드투엔드로 안내함; 기존 아키텍처 페이지는 상호 링크됨; README는 Messaging Channels을 첫 번째 클래스 기능으로 나열함
  • 강화 — 중복 Feishu 콜백 클릭은 이중 결정 대신 교체 카드를 생성함; 동시 콜백 클릭은 조건부 UPDATE ... WHERE status='pending' 행 개수 확인을 통해 해결됨; 대기 중인 승인은 백그라운드 스위퍼를 통해 CHANNEL_CONFIRMATION_TTL_MINUTES(기본값 24시간) 후 자동 만료됨; Settings → Channels는 조직 역할을 준수함(멤버는 읽기 전용 UI를 봄); 병렬 도구 호출 집계기는 모든 델타에 대해 index=0을 재사용하는 제공자를 처리함; 세션 만료 리디렉션은 쿼리 문자열을 보존함

v0.8.6 (2026-05-08) — Stripe 결제 + 개선사항

  • Stripe 결제 MVP — Free + Pro 티어; Checkout, Customer Portal, webhook 라이프사이클; /settings?tab=billing; 관리자 플랜/구독 CRUD; 할당량 적용이 각 사용자의 플랜을 존중함
  • 관리자 제어 결제 기능 플래그 — system_settings.billing_enabled가 전체 Stripe 파이프라인을 제어하므로 Stripe 자격증명이 없는 비공개 배포에서는 작동하지 않는 결제 UX가 표시되지 않음
  • 사용자별 무제한 할당량 — 비어있으면 전역 기본값을 상속하고, 0은 무제한 부여; 이전에는 둘 다 동일한 상태로 축소됨
  • 번역 용어집을 단일 정보 출처로 — scripts/translation-glossary.md가 로케일별 규칙을 통합; pre-commit이 생성된 로케일 파일에 대한 수동 편집을 무조건 거부함
  • 라이선스 + 준거법이 FIM Labs Pte. Ltd. (Singapore)로 이전됨; SIAC 중재(영어); 새로운 최상위 NOTICE 파일
  • 연습장 후속 제안 복원, 에이전트별 옵트인
  • 안정성 수정 — strict-alternation 제공자 기록, 병렬 도구 호출 경계 감지, 무제한 에이전트 확인 흐름, 채널 역할 게이팅, 재시도 중복 제거, 거부 후 패러프레이즈 없음

v0.8.7 (2026-06-10) — 보안 강화 + Guardrails v0 + 청구 정확성

  • JWT 토큰 타입 제한 — 동일하게 서명된 모든 토큰(임시/갱신/티켓)이 API 및 SSE 엔드포인트를 인증할 수 있는 2FA 우회 문제 해결
  • OAuth 강화 — 이메일 자동 연결에 공급자 확인 이메일 필요(계정 탈취 방지); OAuth 갱신 토큰이 해시되어 저장되므로 세션 순환 작동
  • 콘텐츠 guardrails v0 — 입력/출력 트립와이어 계층(core/agent/guardrail); jailbreak 감지기 + 최대 길이 출력 guardrail 포함, 환경 변수로 구성
  • file_ops.apply_patch — 퍼지 공백 일치를 사용한 V4A diff 패치, find_replace 보완
  • 청구 주기 정확성 — 할당량이 구독 기념일에 재설정됨(달력 월이 아님); 갱신은 신뢰할 수 있는 Stripe 조회를 통해 기간 진행; 사용량 표시가 적용 창에 맞춤
  • 안정성 개선 — 답변에서 제거된 의사 프로토콜 도구 호출 누수; 조정 가능한 HTTP keep-alive로 APIConnectionError 버스트 종료; API 키 사용 통계가 읽기 전용 요청에서 유지
  • 청구 탭 시각적 개선 — 전체 너비, 다른 설정 탭과 일치

v0.8.8 (2026-06-22) — SSRF 강화 + 안정성 및 추론 수정

  • SSRF 강화 — 차단 목록이 IPv4 매핑 IPv6(::ffff: 인스턴스 메타데이터 우회)를 언래핑하고, MCP SSE/Streamable-HTTP 서버 URL이 생성 및 연결 시 SSRF 검증됨
  • LLM 안정성 — 공유 HTTP 풀이 LiteLLM 클라이언트 캐시 제거 후 자동 복구되고, 채팅이 스트림을 즉시 전송(기록이 백그라운드에서 처리되며 전체 재로드 없음)
  • Anthropic 적응형 사고 프로토콜(Opus 4.6+/Sonnet 4.6/Fable 5용) — 확장 사고가 이전의 고정 예산 파라미터 400 오류가 발생하는 4.7/4.8에서 작동하며, OpenAI 프록시 오라우팅 시 경고 표시
  • 추론 세부 정보가 종단 간 보존됨 — 진정한 최종 답변이 그대로 스트리밍되고, 압축, 컨텍스트 재구성 및 하위 에이전트 단계를 거쳐도 유지됨(손실 없는 재합성 없음)
  • PreToolUse 강제 실행 훅이 오류 시 폐쇄 상태로 실패 — 충돌하는 승인 게이트가 더 이상 호출을 자동으로 허용하지 않으며, 비강제 실행 훅은 fail_open을 통해 개방 상태로 유지됨
  • 강제 로그아웃 타임스탬프 비교가 UTC 변환으로 정규화되고 Docker Compose POSTGRES_* 자격 증명 재정의(배송된 fim:fim 기본값 없음)

v0.8.9 (2026-07-08) — 모듈 슬림화 + 공유 수렴 + 승인 강화

  • 스킬 및 워크플로우는 관리자 모듈 플래그 뒤에 소프트 셀프(기본값 꺼짐) — 코어 전용 부팅; 삭제된 항목 없음, 관리자 → 설정 → 모듈에서 되돌릴 수 있음
  • 공유 수렴 — KB 공유 제거(KB는 공유된 에이전트를 통해서만 다른 사용자에게 도달), DB 커넥터는 공유 불가 + 원본 SQL은 소유자 전용, 워크플로우 빌더는 9개 참조 전용 노드로 축소
  • Feishu 승인 강화 — 카드 클릭은 승인자 신원 강제, 콜백 서명은 폐쇄 실패 + 암호화된 봉투 복호화, 승인은 의도하지 않은 채팅으로 라우팅되지 않음
  • 사용 시간 액세스 재확인 — 공유된 MCP 서버 및 바인딩된 KB는 실행당 재검증; 조직 탈퇴 시 구독 및 저장된 자격 증명 즉시 취소
  • 에이전트 루프 강화 — 계획 보드, 백그라운드 도구, 증분 DAG 재계획 + 체크포인트 재개, 압축은 도구 쌍 유지, 절단 계속, 529/504 재시도
  • run_workflow 에이전트 도구 + 워크플로우 정확성 — 에이전트 노드는 전체 에이전트 실행, 확인 게이트는 폐쇄 실패, 커넥터 호출은 액세스 확인 및 감사 로깅
  • 계정 삭제 통합 — 관리자 및 셀프 서비스는 모든 레코드 및 디스크 상 파일을 포함하는 하나의 제거 루틴을 통해 진행; 조직 소유자는 먼저 소유권 이전 필요
  • 소유자 자격 증명 폴백은 이제 옵트인(주요 변경) — 커넥터/MCP 서버는 기본값 allow_fallback 꺼짐, 기존 행 전환; 자격 증명이 없는 폴백 불가 리소스는 도구 세트에서 숨겨짐
  • Webhook/cron 워크플로우 실행은 소유자의 토큰 할당량으로 측정 — 측정되지 않은 무료 LLM 트리거 경로는 폐쇄됨
  • 리소스 바인딩은 가시성에서 통합 — 구독된 커넥터/KB/MCP 서버는 에이전트에 바인딩 가능; 워크플로우 커넥터 단계는 실행자의 액세스 강제
  • 대화 워크스페이스는 채팅에 연결 — workspace:// 초과 크기 도구 결과 오프로드, 예산 절단 구조, 사전 압축 트랜스크립트 스냅샷

계획된 버전

2026-07-08 재계획: FIM One은 에이전트 런타임입니다 — 하나의 커널(ReAct 엔진, 자격증명, 승인 게이트, 감사, 멀티테넌트 조직)이 여러 전달 표면 뒤에 있습니다: Web UI, API, JS embed, MCP output. 모든 표면은 인증, 자격증명, 승인 및 미터링을 위한 동일한 어셈블리 레이어를 재사용합니다: 더 많은 프론트엔드, 절대 더 많은 로직은 아닙니다. 단기 방향은 데이터-Q&A(ChatBI) 슬라이스로의 수렴이며, 플랫폼이 아닌 시나리오를 판매합니다.

v0.9 — Connector Fences + Scenario Onboarding

목표: 사후 처리 자산이 완전한 데이터 Q&A 제품으로 조립됨 — 읽기 전용 DB 연결기 + 펜스 + 승인 게이트 + IM 진입점. Tier-1 펜스가 보안 부채를 제품 기능으로 전환함.

DB Connector Fences — Tier 1, three PRs

  • PII 열 마스킹 (ConnectorScopeGuard PreToolUse hook)
  • 스키마 가시성 — 테이블/열 허용-거부 + 동사 차단 (읽기 전용 적용)
  • Fence 감사 가능성 — ConnectorCallLogcaller_user_id, effective_credential_source, scope_rules_applied
  • 훅별 설정 전달 ({"name", "config"} 스키마) — ScopeGuard 규칙의 캐리어
  • 승인 게이트는 위임 전체에서 유지 — call_agent 및 워크플로우 AGENT 노드는 에이전트 자체 훅을 실행하며 아무것도 실행하지 않음

시나리오 온보딩

  • 첫 실행이 빈 워크벤치 대신 시나리오 템플릿(solution_seeds)에서 시작됨
  • 문서 랜딩 페이지가 모듈 참조 대신 세 개의 수직 시나리오 스토리로 시작됨
  • 전달된 각 참여당 하나의 시나리오 템플릿 추출 — 경쟁력은 시나리오 자산 × 전달 속도

v0.10 — Two Mouths: JS Embed + IM Inbound

Goal: 두 가지 가장 판매 가능한 전달 표면, 모두 동일한 커널 및 어셈블리 레이어 위에 구현.
  • JS bubble / iframe embed — 호스트 시스템에 하나의 스니펫 삽입; 익명 방문자 신원 + 빌링 속성은 빌드 전에 결정
  • Feishu inbound @mention — 에이전트가 그룹에 상주: 데이터 쿼리, 파일 승인, 흐름 추적
  • Outbound patterns: 실패 알림, 예산 경고, 예약된 다이제스트, 에스컬레이션, 감사 영수증
  • WeCom / DingTalk 채널이 Feishu를 따름

보류 중 — 신호 게이트

이 항목들을 시작하지 마세요. 트리거가 필요합니다 (재계획 §3 참조): MCP 게이트웨이는 ≥2건의 미청청 “내 에이전트에 도구를 마운트하세요” 요청을 기다리고 있습니다. 채널화는 라이선싱에 대해 질문하는 구현자를 기다리고 있습니다. IdP/OrgSync는 고객 풀을 기다리고 있습니다. 나머지는 이들이 필요한 전달된 참여를 기다리고 있습니다.
  • MCP 게이트웨이 출력 — 커넥터 발견/실행을 다운스트림 에이전트용 MCP 도구로 역노출
  • 채널화 / 화이트라벨 활성화 — 상용 라이선스 경로 이미 준비됨
  • Identity Provider 모듈 + Channel 슬림다운 — Feishu SSO, org 그래프 동기화
  • 커넥터 인증 Tier 2 (사용자별 자격증명 필요, 키 바인딩 상태) + Tier 3 (로그인 티켓 교환)
  • Public API Phase 2 — 키별 속도 제한/할당량, 버전 관리, SDK, 개발자 포털
  • 관찰성 — Agent Trace Layer (Trace/Span 모델, 타임라인 뷰어, OTel 내보내기) + 메트릭 대시보드
  • Agent Workspace 나머지 — 인수 노트, 파일 브라우저 UI, 크로스 세션 회상, 압축 세그먼트 (에이전트가 다시 읽는 grep 가능한 온디스크 요약)
  • Guardrails v1 — 주제 벗어남 필터, PII 편집기 출력 가드레일, 에이전트별 가드레일 구성 UI
  • Hook System 추가 기능 — 내장 훅, SessionStart + 사용자 YAML 훅
  • 커넥터 플랫폼 심화 — Progressive Disclosure Phase 3-4, YAML/JSON 커넥터 구성, DB 커넥터 Phase 4 (Oracle / SQL Server / GBase), MCP 연결 풀링
  • Prompt 캐시 후속 조치 — Gemini 컨텍스트 캐시 어댑터, 에이전트별 cache_ttl
  • Hot 중간 스트림 DAG 재개 — SSE 재연결이 실행 중인 턴에 다시 연결됨 (콜드 재시도-재개는 이미 배포됨)
  • Ecosystem — 예약된/이벤트 트리거 에이전트, 워크플로우 트리거 ID 관찰성, 워크플로우별 credential_policy, DB Schema Advanced Builder, 샌드박스 강화 v2

v0.9 사전 계획에서 배포됨

  • 인증 및 보안: JWT 토큰 타입 제한 + OAuth 수정 (v0.8.7); PG 시간대 인식 타임스탬프 (v0.8.6); 강제 로그아웃 UTC + POSTGRES_* 오버라이드 + SSRF IPv6 매핑 수정 (v0.8.8); 소유자 폴백 옵트인 + 가시성 통합 바인딩 + 웹훅/크론 미터링 (v0.8.9)
  • 공급자 호환성: Anthropic 적응형 추론 + 공유 LLM 풀 자가 치유 (v0.8.8)
  • 콘텐츠 가드레일 v0: 트립와이어 레이어 + 탈옥 감지기 (v0.8.7)
  • 훅 시스템: 스켈레톤 + FeishuGateHook + 승인 연습장 + ReAct/DAG 런타임 (v0.8.5); PreToolUse 강제 실패 폐쇄 (v0.8.8)
  • Feishu 통로 1단계 + 작업 완료 알림 (v0.8.5)
  • run_workflow 에이전트 도구 (v0.8.9); 추론 세부 정보 엔드투엔드 보존 (v0.8.8); 워크스페이스 도구 출력 오프로딩 채팅에 연결 (v0.8.9)
  • 에이전트 루프 강화: 계획 보드, LLM 호출 복원력, 백그라운드 도구, 증분 DAG 재계획 + 체크포인트 재개, 압축 도구 페어링 (v0.8.9)
  • 서킷 브레이커, 워크플로우 실행 보존 정리, 워크플로우 버전 차이 요약 (v0.8 / v0.8.1)
  • DAG 품질 개선, 도메인 모델 에스컬레이션, 모델별 NFC 토글 (v0.8.1)
  • DatabaseMetaTool, MCPServerMetaTool, 온디맨드 request_tools (v0.8.1)
  • 워크플로우 연결 종속성 자동 구독, 워크플로우 실제 실행기 (v0.8.1)
  • ReAct 사이클 감지, 완료 체크리스트 (v0.8.1)
  • 사전 구축 솔루션 템플릿 (8개 수직 번들), 리소스 포크 (MCP/Skill/Agent/Connector/Workflow) (v0.8.1)
  • 비전 문서 처리 (PDF / DOCX / PPTX), MarkItDown OCR (v0.8.2 / v0.8.3)
  • 스마트 파일 콘텐츠 주입 + read_uploaded_file (v0.8)
  • 에이전트 코어 3단계: 대화 복구 MVP, 컴팩트 작업 카드, 턴 프로파일러, 사용자별 속도 제한 (v0.8.3)
  • 대화 재개 MVP, 시스템 프롬프트 레지스트리 + 캐시, 생각 블록 지속성, 추론 재생 정책, 캐시 관찰성 (v0.8.4)

v1.0 — Hot-Plug + Embeddable

목표: 재시작 없는 커넥터 추가, 패키지 생태계, 임베드 배포.
  • Connector Progressive Disclosure (Phase 5): Semantic-Guided Tool Selection (쿼리에서 엔티티 추출 → Ontology Registry 조회 → 커넥터 세트 축소; 50개 이상 커넥터 배포 시 90% 이상 토큰 감소); 배치/ETL 커넥터용 스케일 모드; CLI 스타일 범용 connector <name> <action> <params> 인터페이스
  • Cross-Connector Entity Alignment (Ontology Registry)2026-04-21 다운그레이드: 온디맨드 커스텀 배포, 핵심 기능 아님: 커넥터 전반에 걸친 공유 엔티티 타입(Customer, Order, Asset) 및 필드 매핑 정의; DAGPlanner가 크로스시스템 JOIN 키 자동 해결; 하드코딩된 필드명 없이 크로스커넥터 쿼리 가능(예: “Salesforce의 고객 중 Shopify에서 주문한 고객”)
  • Hot-plug connectors: OpenAPI 스펙 업로드, AI가 설정 생성, 5분 내 라이브(재시작 없음)
  • Marketplace Redesign Phase 1 — Solutions + Components: 2단계 마켓 모델(Solutions: Agent/Skill/Workflow; Components: Connector/MCP Server); 범위 선택기(Global Market / org); 통합 구독 모델(org 자동 표시 제거됨); KB가 마켓 범위에서 제거됨; 데이터 마이그레이션이 기존 org 멤버에 대한 구독 백필
  • Market Package System: 마켓플레이스용 배포 가능한 리소스 번들 — 타입별 “마켓플레이스”를 통합 패키징 레이어로 대체. fim-package.yaml 매니페스트 선언: 메타데이터(이름, 버전, 설명, 작성자, 라이선스, 태그, min_fim_version), 진입점(주요 Skill 또는 Agent), 리소스 목록(agents, skills, connectors, KBs, MCP servers, workflows) 및 설정 참조, 패키지 간 의존성(semver 범위), 필수 자격증명(설치 시 수집을 위해 커넥터 참조에 매핑됨), 기본값이 있는 사용자 구성 가능 변수. 두 가지 소비 모드: (1) install — 모든 리소스 일괄 생성 + ID 대체를 통한 내부 참조 자동 연결; 설치가 버전 업데이트 알림을 위해 소스에 연결됨; POST /api/market/packages/{id}/install; (2) fork — 업데이트 링크 없이 사용자 소유의 편집 가능한 복사본으로 복제(이것이 템플릿 모드임); POST /api/market/packages/{id}/fork. 추가 엔드포인트: 게시(POST /api/market/packages 검토 워크플로우 포함), 제거(DELETE /packages/{id}/uninstall 의존성 확인 + 수정된 리소스 확인 포함), 버전 기록(GET /packages/{id}/versions), 업그레이드(POST /packages/{id}/upgrade 리소스별 diff 미리보기 포함). 중첩된 패키지 요구사항에 대한 의존성 해결자 및 충돌 감지. PackageInstallation 테이블이 제거/업그레이드를 위한 리소스 ID 매핑과 함께 사용자별 설치된 패키지를 추적. 개별 리소스 게시와 공존 — 패키지는 구성 레이어이지 대체가 아님; 단일 Connector는 여전히 독립적으로 게시 가능. 예시 의존성 트리: Package: contract-reviewSkill: contract-review(진입점) → Agent: contract-analyst + Agent: risk-scorerKB: legal-clauses + Connector: docusign-api + MCP: pdf-extractor + Workflow: contract-approval-flow
  • Creator Program: 마켓플레이스 수익화 레이어 — 포트폴리오 페이지가 있는 크리에이터 프로필, 패키지별 분석(설치, 포크, 활성 사용자, 평점/리뷰), 패키지가 새 구독을 유도할 때 제휴 수수료 추적. 가격 책정, 구매 흐름, 승인 워크플로우가 있는 유료 패키지 계층. 설치 추세, 수익 보고, 사용자 피드백이 있는 크리에이터 대시보드. 프로그래매틱 패키지 게시를 위한 공개 크리에이터 API(패키지 작성자용 CI/CD). 커뮤니티 기능: 패키지 댓글, Q&A, 버전별 변경 로그
  • Embeddable widget: <script src="fim-one.js"> 호스트 페이지에 주입
  • Page context injection: 위젯이 호스트 페이지 컨텍스트(현재 ID, URL, DOM 선택기) 읽음
  • Advanced triggers: Webhook 인바운드 이벤트; 예약된 작업 개선(다중 시간대, 캘린더 인식)
  • Batch execution: DAG를 통해 1000개 이상 항목 처리
  • Enterprise security: IP 화이트리스팅, 저장 데이터 암호화, SSO
  • KB Advanced Editor: 대규모 지식 기반을 관리하는 고급 사용자용 빌더 모드 에이전트 — 대량 URL 수집, 중복 감지, 갭 분석, 문서 라이프사이클 관리; 기존 KB AI 채팅을 ReAct 도구 루프로 확장
  • Stripe Billing (v1 MVP — Pro Subscription): Free + Pro 2단계 구독 월간 토큰 할당량 포함. Stripe Checkout(호스팅) + Customer Portal(셀프서비스) + 웹훅 기반 라이프사이클(checkout.session.completed / customer.subscription.updated|deleted / invoice.payment_succeeded|failed). 할당량 소진 시 소프트 캡(HTTP 402 + 업그레이드 프롬프트) — v1에서는 초과 요금 없음. 사용자별 청구만 해당; Org/Team 구독은 v3로 연기. 전제 조건:
    • Data model + SDK groundwork (P1) — billing_plans / subscriptions / stripe_webhook_events 테이블, ORM 모델, Stripe SDK 싱글톤, Free + Pro 시드 (v0.8.6에서 배포됨)
    • Backend API + webhook handler (P2) — /api/billing/* + /api/webhooks/stripe 서명 검증 + 멱등성 포함; 계획 인식 할당량; 시간별 라이프사이클 스윕 (v0.8.6에서 배포됨)
    • Frontend billing tab + 402 upgrade dialog (P3) — /settings?tab=billing 할당량 표시, 업그레이드 CTA, past_due 배너, 스트림 중 402 대화 (v0.8.6에서 배포됨)
    • Admin plan management (P4) — admin/billing/{plans,subscriptions} CRUD (v0.8.6에서 배포됨)
    • Admin-controlled billing feature flag (P5) — system_settings.billing_enabled가 Stripe 파이프라인을 게이트; 멱등성 활성화가 Free+Pro를 시드하고, 기본 계획 포인터를 설정하고, 사용자를 백필; 활성화 후 토글 온/오프는 순수 플래그 플립 (v0.8.6에서 배포됨)
    • Reconciliation + e2e + go-live (P6) — 야간 subscriptionsstripe.Subscription.list() 조정 스크립트(누락된 웹훅 복구용); 전체 스택 행복 경로 / 기간 중 취소 / 연체 회귀 테스트; 테스트 모드 stripe_price_id에서 라이브 price_id로 전환; 실제 카드를 사용한 스테이징 스모크 테스트.
  • Team plan (Stripe seats)stripe.Subscription.quantity를 통한 좌석별 가격 책정, Organization 멤버십과 통합. 회사가 N개 좌석이 있는 하나의 팀 전체 계획을 구독할 수 있음; 할당량 및 기능 플래그는 개별 사용자가 아닌 좌석 그룹을 통해 해결됨. v1.0 Stripe MVP 및 기존 Organization 모델을 기반으로 구축.
  • Group-level token quota for non-billing deployments — Stripe 없는 엔터프라이즈/프라이빗 배포가 조직 수준 토큰 예산을 구성. 할당량 체인이 override > group > plan > default로 확장; 그룹 해결이 max(user_quota, group_quota)를 사용하므로 개별 VIP가 팀 캡으로 제약받지 않음. Team plan과 함께 배포되므로 동일한 프리미티브가 청구 및 자체 호스팅 토폴로지 모두에 제공됨.
영향: 엔터프라이즈가 FIM One을 0에서 다중 시스템 오케스트레이션으로 며칠 내에 배포. 패키지 시스템이 크리에이터 생태계를 생성 — 솔루션 작성자가 복합 번들(Skill + Agents + Connectors + KBs + Workflows)을 게시하고, 엔터프라이즈가 한 번의 클릭으로 설치하고, 크리에이터가 채택으로부터 수익을 얻음. Install/fork 이중성이 “있는 그대로 사용” 및 “템플릿에서 사용자 정의” 사용 사례를 단일 메커니즘으로 커버.

동결된 기능 (출시됨, 유지만 수행)

직교성 전략에 따라 이 기능들은 출시되어 작동하지만 새로운 기능을 추가하지 않습니다(버그 수정만 수행):

고려 중 (무기한 연기)

직교성 전략에 따라 다음 항목들은 높은 구현 비용과 흡수 위험이 있습니다:

버전이 모드와 정렬되는 방식

Resource Allocation (v0.8–v1.0)

The Orthogonality Strategy shapes where effort goes:

메트릭 기반 마일스톤

성공은 다음 메트릭으로 측정됩니다:

Open Questions / TBD

  • Marketplace moderation: 커뮤니티 패키지 및 개별 리소스를 검증하는 방법은? 패키지 구성에서 자격증명 누출을 자동으로 스캔하는 방법은? (v1.0)
  • Token economics: 다중 사용자, 다중 에이전트 시나리오의 가격 책정 방법은? (v1.0)
  • Package versioning: 설치된 패키지의 주요 변경 사항 — 마이그레이션 스크립트를 통한 자동 업그레이드인가, 아니면 업데이트마다 수동 승인인가? 종속성 다이아몬드 문제 해결? (v1.0)
  • Package pricing: 무료 vs 유료 계층, Creator Program 수수료율, 결제 제공자 통합? (v1.0)
  • Package credential UX: 설치 시 자격증명 수집 — 단계별 마법사 스타일인가, 아니면 설정을 나중으로 미루는가? 동일한 커넥터 유형을 사용하는 패키지 간 자격증명 공유? (v1.0)
  • Telemetry opt-out: 개인정보 보호 기본 설정을 준수하는 방법은? (v0.8)
  • Connector versioning: 커넥터 API의 주요 변경 사항을 관리하는 방법은? (v0.8)
  • Rate limiting: 사용자별 워크플로우 레이트 제한 배포됨 (슬라이딩 윈도우 10회/분, 3개 동시). 커넥터별 및 에이전트별 레이트 제한 TBD (v0.9)
  • Connector authorization tier selection: 관리자가 주어진 업스트림 시스템에 적용되는 계층을 어떻게 발견하는가? 자동 프로브 (사용자별 API 키 시도 → 로그인 티켓으로 폴백 → 공유 DB로 폴백) vs. 커넥터 스펙에서 명시적 선언? “이 커넥터는 계층 2를 지원하지만 관리자가 계층 1로 운영하기로 선택했습니다”를 기술적이지 않은 관리자를 혼동시키지 않으면서 UI에 표현하는 방법은? (v0.9)
  • Integration vs Connector duality: Feishu 바인딩이 동시에 SSO 제공자이면서 API 호출 표면인 경우, 설정에서 어떻게 표시하는가? 세 개의 토글이 있는 하나의 객체인가, 아니면 자격증명을 공유하는 세 개의 별도 바인딩인가? 제거 의미론에 대한 영향 (SSO를 취소하면 커넥터가 종료되는가?) (v0.9)