feat: Agent Office — AI 에이전트 가상 오피스 (#2)
## Summary - 2D 픽셀아트 가상 오피스에서 AI 에이전트(Stock, Music)가 실제 작업 수행 - FastAPI + WebSocket 실시간 상태 동기화 + 텔레그램 봇 양방향 알림/승인 - BaseAgent FSM (idle/working/waiting/reporting/break), 서비스 프록시 패턴 - Docker Compose 서비스 (port 18900) + Nginx WebSocket 프록시 ## Changes (13 commits) - Backend scaffold: config, db, models, Dockerfile - WebSocket manager + Service proxy - BaseAgent FSM + StockAgent + MusicAgent - Telegram bot + Scheduler - FastAPI main (REST + WS endpoints) - Infrastructure: docker-compose + nginx - Code review fixes: HTTPException, async polling, input validation Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
35
agent-office/app/models.py
Normal file
35
agent-office/app/models.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class CommandRequest(BaseModel):
|
||||
agent: str
|
||||
action: str
|
||||
params: Optional[dict] = None
|
||||
|
||||
|
||||
class ApprovalRequest(BaseModel):
|
||||
agent: str
|
||||
task_id: str
|
||||
approved: bool
|
||||
feedback: Optional[str] = None
|
||||
|
||||
|
||||
class AgentConfigUpdate(BaseModel):
|
||||
enabled: Optional[bool] = None
|
||||
schedule_config: Optional[dict] = None
|
||||
custom_config: Optional[dict] = None
|
||||
|
||||
|
||||
class PriceAlertConfig(BaseModel):
|
||||
symbol: str
|
||||
name: str
|
||||
target_price: float
|
||||
direction: str # "above" or "below"
|
||||
|
||||
|
||||
class ComposeCommand(BaseModel):
|
||||
prompt: str
|
||||
style: Optional[str] = None
|
||||
model: Optional[str] = "V4"
|
||||
instrumental: Optional[bool] = False
|
||||
Reference in New Issue
Block a user