Stram: 인간의 승인 단계를 갖춘 오픈 소스 로컬 우선 데스크톱 에이전트
요약
Stram은 사용자의 컴퓨터 환경을 감지하고 스스로 행동을 결정하는 오픈 소스 로컬 우선 데스크톱 에이전트 프레임워크입니다. Janus라는 에이전트를 통해 문맥 인식, 도구 실행, 그리고 인간의 승인 단계를 거치는 안전한 자동화 워크플로우를 제공합니다.
핵심 포인트
- 사용자 입력 없이도 시스템 이벤트를 감지하는 능동적 에이전트
- 위험한 작업 실행 전 사용자의 명시적 승인을 요구하는 거버넌스 설계
- OpenAI, Anthropic, Ollama 등 다양한 모델 제공자 지원
- 구조화된 신호 변환 및 감사 추적(Audit Trail) 기능 포함
제가 시도해 본 대부분의 "AI 에이전트 (AI agents)"는 프롬프트 우선 (prompt-first) 방식이었습니다. 즉, 사용자가 무언가를 입력하면 답변하고 멈추는 방식이죠. 저는 실제 비서에 더 가까운 무언가를 원했습니다. 제가 먼저 채팅창을 열지 않아도, 제 컴퓨터에서 무슨 일이 일어나고 있는지 감지하고 행동 여부를 결정할 수 있는 그런 존재 말입니다. 그것이 제가 Stram을 만든 이유입니다.
Repo: https://github.com/CodeInfinity1/Stram (MIT 라이선스, v1.0.1)
그것은 무엇인가
Stram은 그 안에 거주하는 에이전트인 Janus를 위한 런타임 (runtime), 데스크톱 앱 (desktop app), 그리고 릴리스 표면 (release surface)입니다. Janus는 다음 메시지를 기다리는 챗봇 (chatbot)이 아닙니다. Janus는 항상 사용 가능하고, 문맥을 인식하며 (context-aware), 통제된 도구 (governed tools)를 통해 스스로 다음의 안전한 단계를 수행할 수 있도록 설계되었습니다.
작동 방식
흐름은 다음과 같습니다:
```text stimulus -> interaction harness -> compact local context -> model-led attention/planning -> schema-validated tool calls -> policy and approval gates -> execution and audit timeline -> memory, learning, recovery, and response synthesis ````
세부 분석:
- **수집기 (Collectors)**는 선택된 표면(opted-in surfaces) — 활성 앱, 브라우저, 파일, 셸 출력 (shell output), 채널, 음성 — 을 감시하며, 원시 개인 데이터를 프롬프트 (prompt)에 그대로 쏟아붓는 대신 원시 이벤트를 구조화된 신호 (structured signals)로 변환합니다.
- **주의 (Attention)**는 모델이 계획을 세우기 전에 긴급성, 관련성, 위험도를 기준으로 해당 신호들의 순위를 매깁니다. 따라서 모든 이벤트가 행동으로 이어지지는 않습니다.
- Janus는 적절한 태세를 결정합니다: 즉시 응답, 조용히 관찰, 명확한 설명 요청, 답변 초안 작성, 조건 모니터링, 또는 승인 요청.
- **거버넌스 (Governance)**는 셸 실행 (shell execution), 브라우저 변형 (browser mutation), 메시지 전송과 같이 위험 요소가 있는 모든 작업이 기록된 감사 추적 (audit trail) (도구, 목적, 위험, 제안된 인자)과 함께 사용자의 명시적 승인을 위해 일시 중지됨을 의미합니다.
- **메모리 (Memory)**는 목표, 약속, 환경 사실, 그리고 교훈을 세션 전반에 걸쳐 지속적으로 유지하며, 작업별로 분리하여 적절한 이유에 따라 적절한 내용이 회상될 수 있도록 합니다.
모든 것은 귀하의 자체 모델 제공자 키(OpenAI, Anthropic, Groq, 로컬 Ollama 등 귀하가 지정하는 무엇이든)를 기반으로 실행됩니다. 제가 호스팅하는 백엔드는 루프 내에 전혀 존재하지 않습니다.
사용해 보기
bash
git clone https://github.com/CodeInfinity1/Stram.git
cd Stram
python3 -m pip install -e ".[browser,pdf,ocr,office,test]"
python3 -m stram run "system_status {}" --workspace . --planner explicit
또는 로컬 API + 대시보드를 시작하려면:
bash
python3 -m stram serve --workspace . --port 8765
네이티브 macOS (Swift) 및 Windows (.NET) 데스크톱 셸 또한 리포지토리의 apps/ 아래에서 사용할 수 있습니다.
현재 실제 상태
사용자가 직접 겪으며 알게 되기보다 미리 솔직하게 말씀드리는 편이 낫겠습니다:
- v1.0.1, 초기 단계. 핵심 런타임 (runtime), 도구 계약 (tool contracts), 그리고 안전 게이트 (safety gates)는 자동화된 테스트 커버리지를 갖추고 있지만, 실제 수집기 (collector)/채널 (channel)/데스크톱 동작은 귀하가 구성하는 자격 증명과 플랫폼에 따라 달라집니다.
- 바이너리(Binaries)는 아직 코드 서명(code-signed) 또는 공증(notarized)되지 않았습니다. 처음 실행할 때 macOS에서는 Gatekeeper 경고가, Windows에서는 SmartScreen 경고가 나타날 것입니다. README에 문서화된 해결 방법이 있으며, 실제 서명 작업은 로드맵에 포함되어 있습니다.
- 귀하의 자체 모델 API 키 (또는 로컬 Ollama 모델)가 필요합니다. 키 없이는 아무것도 즉시 작동하지 않습니다.
도움이 필요한 부분
- 제가 접근할 수 없는 macOS/Windows 환경에서의 테스트
- 승인/안전 계층 (approval/safety layer)의 허점 찾기 — 이 도구는 귀하의 셸 (shell)과 브라우저 (browser)에 접근할 수 있으므로, 다른 사람의 시스템에 닿기 전에 회의적인 시각을 가진 분들의 검증을 원합니다.
- 제가 아직 연결하지 않은 브라우저/앱에 대한 수집기 (collector) 커버리지 추가
- 문서 (Docs) — 많은 부분이 아직 초보자가 아닌, 이미 코드에 깊이 익숙한 사람들을 위해 작성되어 있습니다.
CONTRIBUTING.md에는 기여 우선순위와 PR 기대 사항이 있으며, SECURITY.md는 안전 모델 (safety model)을 심도 있게 다룹니다.
피드백, 특히 비판적인 피드백은 댓글을 통해 진심으로 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기