ID: key_26_07_02_14_21_04_31_72700 Created date: Feb 14 2026 Saturday, 7th 21:04

연관 문서

프로젝트 개요

TAS (Tongsung Agent Service)는 Agent 기반 유저의 업무 효율을 위한 서비스 플랫폼. Agent가 User PC에 설치되어서 Web 혹은 Mobile의 요청을 통해서 PC에 설치된 Agent가 요청을 처리한다.

Agent는 기본적으로 SQLITE DB 통해서 유저 PC에 서비스 결과를 저장한다. 유저의 등급에 따라 데이터 Sync 기능을 수행할 수 있으며, Sync 기능이 On 되면, 서버 DB를 사용해서 동일 유저의 로컬 데이터를 Sync 수행한다.

⚠️ 중요: Junction 구조

이 폴더의 하위 디렉토리는 Junction으로 연결되어 있습니다:


tas_workspace/

├── frontend/  → C:\workspace\tsh\boilerplate\fe\web-plate (실제 위치)

├── backend/   → C:\workspace\tsh\boilerplate\be\be-springboot-server (실제 위치)

├── service-agent/     → C:\workspace\tsh\boilerplate\be\be-fast-api-agent (실제 위치)

└── agent-loader/     → C:\workspace\tsh\boilerplate\be\be-fast-api-agent-loader (실제 위치)

각 폴더의 파일 수정은 실제 원본에 즉시 반영됩니다.

각 프로젝트는 독립적인 Git 저장소를 유지합니다.

아키텍처 구조

  • 마이크로서비스 아키텍처

  • 동기 처리: REST API 통신

  • 비동기 처리: Solace 메시지 통신

전체적인 프로젝트 아키텍처: C:\workspace\tsh\tas_workspace\docs\docs\architecture*.png

시스템간 통신 다이어그램: C:\workspace\tsh\tas_workspace\docs\docs\logic_design*

서비스 구성

Frontend (Next.js)

  • 위치: ./frontend (실제: C:\workspace\tsh\boilerplate\fe\web-plate)

  • 포트: 3000

  • 기술: Next.js 14, TypeScript, Tailwind CSS

  • 저장소: 독립 Git

  • 배포: Vercel

  • 상세: frontend/.clinerules 참조

Backend (Kotlin)

  • 위치: ./backend (실제: C:\workspace\tsh\boilerplate\be\be-springboot-server)

  • 포트: 8080

  • 기술: Kotlin, Spring Boot 3.x, PostgreSQL

  • 저장소: 독립 Git

  • 상세: backend/.clinerules 참조

Service-Agent (Python)

  • 위치: ./service-agent (실제: C:\Dev\tsh-agent)

  • 포트: 26091

  • 기술: Python 3.12, FastAPI, SQLite

  • 저장소: 독립 Git

  • 배포: Nutika

  • 상세: servie-agent/.clinerules 참조

Agent-Loader (Python)

  • 위치: ./agent-loader (실제: C:\workspace\tsh\boilerplate\be\be-fast-api-agent-loader)

  • 포트: 25091

  • 기술: Python 3.12, FastAPI, SQLite

  • 저장소: 독립 Git

  • 배포: Nutika + Inno Setup

  • 상세: agent-loader/.clinerules 참조

데이터베이스 (MCP)

사용 MCP 서버

이 프로젝트는 아래 3개 MCP 서버만 사용합니다:

  1. tsh-postgres - Backend 메인 DB

   - 연결: postgresql://localhost:5432/tsh_db

   - 테이블: users, tasks, schedules, api_logs

  1. tsh-agent-main - Agent 실행 이력

   - 위치: ./agent/data/main.db (실제: C:\Dev\tsh-agent\data\main.db)

   - 테이블: agent_tasks, execution_logs, workflows

  1. tsh-agent-cache - Agent 캐시

   - 위치: ./agent/data/cache.db (실제: C:\Dev\tsh-agent\data\cache.db)

   - 테이블: llm_cache, api_cache

⚠️ 다른 MCP 서버(tsh- prefix 없는 것)는 사용하지 마세요.

코드 스타일

  • 모든 서비스: 각 언어별 표준 포맷터 사용

  • Frontend: Prettier + ESLint

  • Backend: ktlint

  • Agent: Black + isort

환경 변수

  • 모든 민감 정보는 .env 파일 사용

  • .env 파일은 Git에 커밋 금지

  • .env.example 파일로 템플릿 제공

로깅

  • Backend: Logback (JSON 형식)

  • Agent: Python logging (구조화된 로그)

  • 중요: 민감 정보(비밀번호, API 키)는 절대 로그에 남기지 말것

Git 전략

브랜치 구조

  • main: 프로덕션 배포용

  • develop: 개발 통합

  • feature/*: 기능 개발

  • hotfix/*: 긴급 수정

커밋 메시지


[서비스명] 타입: 간단한 설명

  

상세 설명 (선택)

  

예시:

[Frontend] feat: 사용자 대시보드 추가

[Backend] fix: 작업 스케줄링 버그 수정

[Agent] refactor: LLM 호출 로직 개선

TSH-workspace는 Git 저장소가 아닙니다

이 폴더는 Junction을 관리하는 작업 공간일 뿐입니다.

로컬 실행

 
# Backend
 
cd backend
 
./gradlew bootRun
 
  
 
# Agent
 
cd agent
 
python -m uvicorn main:app --reload
 
  
 
# Frontend
 
cd frontend
 
npm run dev
 

연관 메일