DOCS/workflow/05_admin/diary_reflection_pipeline.json
happybell80 da2f343f1c docs: 워크플로우 전수 조사 — MD 보조 문서 12건 생성, JSON notes 2건 갱신
SSOT 원칙(JSON 먼저, MD 함께): 모든 워크플로우 JSON에 대응하는 MD 보조 문서 작성.
260319 rb8001 변경 영향 반영:
- companyx_grounding_pipeline: skip_default_prompt로 영향 없음 (notes 추가)
- diary_reflection_pipeline: prompt DB v3 + neutral 생략 적용됨 (notes 추가)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 22:47:46 +09:00

108 lines
3.6 KiB
JSON

{
"name": "robeing-admin-diary-reflection-pipeline",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "cronExpression",
"expression": "0 2 * * *"
}
]
}
},
"id": "diary-001",
"name": "Daily at 2AM",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.1,
"position": [200, 240]
},
{
"parameters": {
"httpMethod": "POST",
"path": "admin/diary/trigger",
"options": {}
},
"id": "diary-002",
"name": "Manual Trigger",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [200, 440]
},
{
"parameters": {
"jsCode": "const now = new Date();\nconst yesterday = new Date(now);\nyesterday.setDate(yesterday.getDate() - 1);\nconst dateStr = yesterday.toISOString().split('T')[0];\nreturn {\n date: dateStr,\n robeing_id: 'rb8001'\n};"
},
"id": "diary-003",
"name": "Set Yesterday Date",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [460, 340]
},
{
"parameters": {
"method": "POST",
"url": "=http://192.168.219.52:8001/api/diary/generate",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"date\": \"{{ $json.date }}\",\n \"robeing_id\": \"{{ $json.robeing_id }}\"\n}",
"options": {
"timeout": 300000
}
},
"id": "diary-004",
"name": "Generate Diary (rb8001)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [700, 340]
},
{
"parameters": {
"method": "GET",
"url": "=http://192.168.219.52:8001/api/diary/{{ $json.date }}",
"qs": {
"parameters": [
{
"name": "robeing_id",
"value": "rb8001"
}
]
},
"options": {}
},
"id": "diary-005",
"name": "Get Diary Content",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [940, 340]
},
{
"parameters": {
"resource": "message",
"operation": "post",
"channel": "C07...",
"text": "=📜 *로빙 일기 ({{ $json.date }})*\\n\\n{{ $json.summary }}\\n\\n지배적 감정: {{ $json.dominant_emotion }}\\n\\n[대시보드에서 자세히 보기](http://192.168.219.45:3000/diary)",
"otherOptions": {}
},
"id": "diary-006",
"name": "Post to Slack",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [1180, 340]
}
],
"connections": {
"Daily at 2AM": { "main": [[{ "node": "Set Yesterday Date", "type": "main", "index": 0 }]] },
"Manual Trigger": { "main": [[{ "node": "Set Yesterday Date", "type": "main", "index": 0 }]] },
"Set Yesterday Date": { "main": [[{ "node": "Generate Diary (rb8001)", "type": "main", "index": 0 }]] },
"Generate Diary (rb8001)": { "main": [[{ "node": "Get Diary Content", "type": "main", "index": 0 }]] },
"Get Diary Content": { "main": [[{ "node": "Post to Slack", "type": "main", "index": 0 }]] }
},
"settings": {
"notes": "260319: rb8001 /api/diary/generate 내부에서 llm_service.process_request()가 task_type=chat, context={}로 호출됨. 프롬프트 DB v3 활성 프롬프트가 system prompt로 주입되며, neutral 감정일 때 감정 constraints가 생략된다. 이전 하드코딩 프롬프트 대비 일기 톤에 변화 가능."
},
"pinData": {},
"meta": { "templateCredsSetupCompleted": true, "instanceId": "robeing-admin" }
}