kiku-agent 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +459 -407
- package/package.json +32 -3
- package/server/agent/agentCore.js +635 -267
- package/server/agent/appPaths.js +2 -0
- package/server/agent/catalogEntityResolver.js +637 -0
- package/server/agent/citations.js +0 -21
- package/server/agent/clarificationAnalytics.js +1 -1
- package/server/agent/clarifyingQuestions.js +286 -216
- package/server/agent/cli.js +532 -73
- package/server/agent/commandFeatures.js +123 -24
- package/server/agent/commandRegistry.js +128 -62
- package/server/agent/commands.js +1410 -95
- package/server/agent/config.js +253 -163
- package/server/agent/contextCompactor.js +239 -25
- package/server/agent/dynamicCatalog.js +192 -0
- package/server/agent/envBootstrap.js +46 -0
- package/server/agent/envManager.js +317 -0
- package/server/agent/eventBus.js +3 -3
- package/server/agent/feedbackLearning.js +0 -8
- package/server/agent/gpuMetrics.js +188 -55
- package/server/agent/ingestionWorker.js +339 -0
- package/server/agent/ink/App.jsx +348 -0
- package/server/agent/ink/Panel.jsx +54 -0
- package/server/agent/ink/PromptInput.jsx +321 -0
- package/server/agent/ink/TaskPlanPanel.jsx +88 -0
- package/server/agent/ink/ThinkingPanel.jsx +68 -0
- package/server/agent/ink/ToolResult.jsx +133 -0
- package/server/agent/ink/main.jsx +195 -0
- package/server/agent/ink/useEventBus.js +218 -0
- package/server/agent/lanDiscovery.js +369 -0
- package/server/agent/llmClient.js +111 -39
- package/server/agent/lmStudioWakeup.js +144 -0
- package/server/agent/mcpClient.js +2 -2
- package/server/agent/memory/contextAllocator.js +214 -0
- package/server/agent/memory/hierarchicalStore.js +523 -0
- package/server/agent/memory/reflectionWorker.js +110 -0
- package/server/agent/memory.js +635 -494
- package/server/agent/modelConfig.js +487 -0
- package/server/agent/newsIntelligence.js +219 -0
- package/server/agent/newsWatch.js +85 -0
- package/server/agent/prompts.js +146 -0
- package/server/agent/publicTools.js +7 -0
- package/server/agent/queryDetails.js +62 -1
- package/server/agent/research.js +314 -35
- package/server/agent/routingInterceptor.js +77 -0
- package/server/agent/rumoredProjects.js +15 -0
- package/server/agent/sanitizer.js +117 -17
- package/server/agent/subagent.js +52 -9
- package/server/agent/suggestionTui.js +33 -13
- package/server/agent/suggestions.js +29 -13
- package/server/agent/telemetry/hardwareTiers.js +332 -0
- package/server/agent/telemetry/runtimeWatchdog.js +66 -0
- package/server/agent/telemetry/techPowerUpClient.js +682 -0
- package/server/agent/telemetry/techpowerup-mcp.json +22 -0
- package/server/agent/telemetry.js +0 -11
- package/server/agent/terminalImage.js +0 -1
- package/server/agent/textToolProtocol.js +190 -0
- package/server/agent/tokenTracker.js +220 -0
- package/server/agent/toolRouter.js +362 -216
- package/server/agent/tools.js +1155 -194
- package/server/agent/ui.js +144 -41
- package/server/agent/vramService.js +572 -0
- package/server/agent/webSearch.js +2279 -273
- package/server/agent/websearch/adapters/duckduckgo.js +97 -0
- package/server/agent/websearch/adapters/jina.js +77 -0
- package/server/agent/websearch/adapters/searxng.js +57 -0
- package/server/agent/websearch/core/canonical.js +89 -0
- package/server/agent/websearch/core/fusion.js +81 -0
- package/server/agent/websearch/core/types.js +29 -0
- package/server/agent/websearch/extract.js +605 -0
- package/server/agent/websearch/index.js +43 -0
- package/server/agent/websearch/orchestrator.js +266 -0
- package/server/agent/websearch/resilience/breaker.js +97 -0
- package/server/agent/websearch/resilience/cache.js +59 -0
- package/server/agent/websearch/resilience/limiter.js +93 -0
- package/server/agent/websearch/security/filter.js +36 -0
- package/server/agent/websearch/security/ssrf.js +289 -0
- package/server/agent/websearch/telemetry.js +71 -0
- package/server/agent/youtubeAuth.js +82 -73
- package/server/agent/youtubeTranscript.js +209 -0
- package/server/apiRouter.js +390 -190
- package/server/mcp/data/brands.js +5 -5
- package/server/mcp/data/discography.js +56 -45
- package/server/mcp/data/gallery.js +9 -0
- package/server/mcp/data/index.js +1 -0
- package/server/mcp/data/industryIndex.js +251 -0
- package/server/mcp/data/profile.js +5 -5
- package/server/mcp/data/timeline.js +2 -2
- package/server/mcp/data/works.js +2 -2
- package/server/mcp/handler.js +0 -2
- package/server/mcp/prompts.js +42 -2
- package/server/mcp/resources.js +5 -1
- package/server/mcp/security.js +25 -14
- package/server/mcp/server.js +92 -3
- package/server/mcp/tools.js +20 -11
- package/server/routes/agent.js +55 -0
- package/server/web-chat/core/connection.js +218 -194
- package/server/web-chat/core/conversationContext.js +1 -1
- package/server/web-chat/core/directCatalogEngine.js +190 -184
- package/server/web-chat/core/followUpEngine.js +88 -11
- package/server/web-chat/core/security.js +7 -4
- package/server/web-chat/router.js +54 -17
- package/server/web-chat/routes/bilibiliRoute.js +34 -0
- package/server/web-chat/routes/chatRoute.js +488 -397
- package/server/web-chat/routes/clarifyConfigRoute.js +1 -2
- package/server/web-chat/routes/exportRoute.js +2 -1
- package/server/web-chat/routes/lanDiscoveryRoute.js +90 -0
- package/server/web-chat/routes/newsRoute.js +36 -6
- package/server/web-chat/routes/providerRoute.js +87 -0
- package/server/web-chat/routes/staticRoute.js +61 -13
- package/server/web-chat/routes/statusRoute.js +23 -2
- package/server/web-chat/routes/vramRoute.js +22 -0
- package/server/web-chat/server.js +135 -106
- package/server/web-chat/ui/htmlBuilder.js +8 -8
- package/server/web-chat/ui/previews/modelSettings.preview.html +41 -0
- package/server/web-chat/ui/scripts/agentBubbleSystem.js +0 -5
- package/server/web-chat/ui/scripts/client.js +10526 -8397
- package/server/web-chat/ui/scripts/webchatI18n.js +190 -138
- package/server/web-chat/ui/styles/main.css +7471 -4246
- package/server/web-chat/ui/templates/body.html +305 -179
- package/src/data/brandsData.js +29 -6
- package/src/data/discographyData.js +918 -900
- package/src/data/galleryData.js +66 -0
- package/src/data/industryIndexData.js +292 -0
- package/src/data/musicVideoData.js +48 -5
- package/src/data/profileData.js +15 -1
- package/src/data/timelineData.js +4 -3
- package/src/data/worksData.js +536 -535
- package/src/lib/vram/estimator.js +464 -0
- package/src/lib/vram/modelRegistry.js +387 -0
- package/tokens.css +33 -2
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// Kiku web-chat UI i18n pack — injected BEFORE client.js (see htmlBuilder.js).
|
|
2
|
-
// Provides ja/ko UI strings (client.js ships th/zh/en inline) and the
|
|
3
|
-
// clarifying-question-box strings for all 5 languages.
|
|
4
1
|
const WEBCHAT_I18N_EXTRA = {
|
|
5
2
|
ja: {
|
|
6
3
|
brandSubtitle: "KIKU AGENT",
|
|
@@ -71,8 +68,8 @@ const WEBCHAT_I18N_EXTRA = {
|
|
|
71
68
|
lblModel: "モデル名 / ID",
|
|
72
69
|
lblThinking: "Thinking Mode",
|
|
73
70
|
lblTemp: "創造性 (Temperature)",
|
|
74
|
-
apiKeyHelpLm: "
|
|
75
|
-
apiKeyHelpCloud: "
|
|
71
|
+
apiKeyHelpLm: "ローカルLM Studio利用時は不要",
|
|
72
|
+
apiKeyHelpCloud: "このブラウザにのみ保存 (Local Client Storage)",
|
|
76
73
|
copyMsg: "コピー",
|
|
77
74
|
quoteMsg: "名言カード",
|
|
78
75
|
regenerateMsg: "再生成",
|
|
@@ -148,8 +145,8 @@ const WEBCHAT_I18N_EXTRA = {
|
|
|
148
145
|
lblModel: "모델명 / ID",
|
|
149
146
|
lblThinking: "Thinking Mode",
|
|
150
147
|
lblTemp: "창의성 (Temperature)",
|
|
151
|
-
apiKeyHelpLm: "
|
|
152
|
-
apiKeyHelpCloud: "
|
|
148
|
+
apiKeyHelpLm: "로컬 LM Studio 사용 시 불필요",
|
|
149
|
+
apiKeyHelpCloud: "이 브라우저에만 저장 (Local Client Storage)",
|
|
153
150
|
copyMsg: "복사",
|
|
154
151
|
quoteMsg: "명언 카드",
|
|
155
152
|
regenerateMsg: "다시 생성",
|
|
@@ -157,135 +154,190 @@ const WEBCHAT_I18N_EXTRA = {
|
|
|
157
154
|
sidebarSponsors: "스폰서"
|
|
158
155
|
}
|
|
159
156
|
};
|
|
160
|
-
const WEBCHAT_CLARIFY_I18N = {
|
|
161
|
-
th: {
|
|
162
|
-
title: "
|
|
163
|
-
countSuffix: "ข้อ",
|
|
164
|
-
skip: "
|
|
165
|
-
submitIdle: "ส่งคำตอบ (เลือกหรือพิมพ์เพื่อตอบ) ❯",
|
|
166
|
-
submitReady: "ส่งคำตอบ (เลือกแล้ว {done}/{total} ข้อ) ❯",
|
|
167
|
-
freeTextPlaceholder: "
|
|
168
|
-
freeTextAria: "
|
|
169
|
-
collapsedSkipped: "ตอบแบบภาพรวมทั่วไป",
|
|
170
|
-
collapsedPicked: "เลือก:",
|
|
171
|
-
categories: {
|
|
172
|
-
specific_work: "🎬 ผลงานซีรีส์ / ละคร",
|
|
173
|
-
subject_focus: "🎯 ประเด็นที่สนใจ",
|
|
174
|
-
subject_scope: "🔍 ขอบเขตเรื่องที่ถาม",
|
|
175
|
-
career_phase: "✨ ช่วงเวลาและบทบาท",
|
|
176
|
-
timeframe: "📅 ช่วงเวลาที่สนใจ",
|
|
177
|
-
media_type: "🎵 หมวดหมู่เพลง & ผลงาน",
|
|
178
|
-
aspect_focus: "🎭 มุมมองที่ต้องการเน้น",
|
|
179
|
-
scope: "🔍 ขอบเขตเนื้อหา",
|
|
180
|
-
depth: "📖 ความละเอียดของข้อมูล",
|
|
181
|
-
comparison: "⚖️ หัวข้อเปรียบเทียบ",
|
|
182
|
-
language: "🌐 ภาษาที่ต้องการ",
|
|
183
|
-
date_range: "📆 ช่วงปี/พ.ศ.",
|
|
184
|
-
content_format: "📑 รูปแบบคำตอบ"
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
157
|
+
const WEBCHAT_CLARIFY_I18N = {
|
|
158
|
+
th: {
|
|
159
|
+
title: "เลือกมุมมองที่อยากรู้เพิ่มเติม 🌸",
|
|
160
|
+
countSuffix: "ข้อ",
|
|
161
|
+
skip: "หรือให้เสี่ยวจวีตอบภาพรวมทั่วไป ❯",
|
|
162
|
+
submitIdle: "ส่งคำตอบ (เลือกหรือพิมพ์เพื่อตอบ) ❯",
|
|
163
|
+
submitReady: "ส่งคำตอบ (เลือกแล้ว {done}/{total} ข้อ) ❯",
|
|
164
|
+
freeTextPlaceholder: "หรือพิมพ์บอกเสี่ยวจวีเพิ่มเติมเอง แล้วกด Enter…",
|
|
165
|
+
freeTextAria: "พิมพ์บอกเสี่ยวจวีเพิ่มเติมเอง",
|
|
166
|
+
collapsedSkipped: "ตอบแบบภาพรวมทั่วไป",
|
|
167
|
+
collapsedPicked: "เลือก:",
|
|
168
|
+
categories: {
|
|
169
|
+
specific_work: "🎬 ผลงานซีรีส์ / ละคร",
|
|
170
|
+
subject_focus: "🎯 ประเด็นที่สนใจ",
|
|
171
|
+
subject_scope: "🔍 ขอบเขตเรื่องที่ถาม",
|
|
172
|
+
career_phase: "✨ ช่วงเวลาและบทบาท",
|
|
173
|
+
timeframe: "📅 ช่วงเวลาที่สนใจ",
|
|
174
|
+
media_type: "🎵 หมวดหมู่เพลง & ผลงาน",
|
|
175
|
+
aspect_focus: "🎭 มุมมองที่ต้องการเน้น",
|
|
176
|
+
scope: "🔍 ขอบเขตเนื้อหา",
|
|
177
|
+
depth: "📖 ความละเอียดของข้อมูล",
|
|
178
|
+
comparison: "⚖️ หัวข้อเปรียบเทียบ",
|
|
179
|
+
language: "🌐 ภาษาที่ต้องการ",
|
|
180
|
+
date_range: "📆 ช่วงปี/พ.ศ.",
|
|
181
|
+
content_format: "📑 รูปแบบคำตอบ",
|
|
182
|
+
drama_genre: "🎬 แนวซีรีส์ & บทบาท",
|
|
183
|
+
drama_aspect: "🎭 มิติการแสดง & บทบาท",
|
|
184
|
+
music_aspect: "🎶 สไตล์เพลง & ดนตรี",
|
|
185
|
+
stage_vibe: "💃 สเตจ & การแสดงสด",
|
|
186
|
+
stage_performance: "💃 สเตจ & คอนเสิร์ต",
|
|
187
|
+
fashion_aspect: "👗 แฟชั่น & แบรนด์",
|
|
188
|
+
fan_focus: "🌸 มุมมองโดนใจแฟนคลับ",
|
|
189
|
+
character_arc: "✨ มิติของตัวละคร",
|
|
190
|
+
soundtrack_vibe: "🎵 สไตล์เพลง OST",
|
|
191
|
+
behind_the_scenes: "🎥 เบื้องหลังการถ่ายทำ",
|
|
192
|
+
fan_highlights: "🌟 ไฮไลต์พิเศษ"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
zh: {
|
|
196
|
+
title: "选择想深入了解的精彩亮点 🌸",
|
|
197
|
+
countSuffix: "题",
|
|
198
|
+
skip: "或按常规总体回答 ❯",
|
|
199
|
+
submitIdle: "提交回答(选择或输入后提交) ❯",
|
|
200
|
+
submitReady: "提交回答(已选 {done}/{total} 题) ❯",
|
|
201
|
+
freeTextPlaceholder: "或手动输入补充想法,按 Enter…",
|
|
202
|
+
freeTextAria: "手动输入补充想法",
|
|
203
|
+
collapsedSkipped: "按常规总体回答",
|
|
204
|
+
collapsedPicked: "已选:",
|
|
205
|
+
categories: {
|
|
206
|
+
specific_work: "🎬 影视剧作品",
|
|
207
|
+
subject_focus: "🎯 感兴趣的要点",
|
|
208
|
+
subject_scope: "🔍 提问范围",
|
|
209
|
+
career_phase: "✨ 时期与角色",
|
|
210
|
+
timeframe: "📅 感兴趣的时间",
|
|
211
|
+
media_type: "🎵 音乐作品分类",
|
|
212
|
+
aspect_focus: "🎭 想要强调的视角",
|
|
213
|
+
scope: "🔍 内容范围",
|
|
214
|
+
depth: "📖 信息详细程度",
|
|
215
|
+
comparison: "⚖️ 比较主题",
|
|
216
|
+
language: "🌐 想要的语言",
|
|
217
|
+
date_range: "📆 年份区间",
|
|
218
|
+
content_format: "📑 回答格式",
|
|
219
|
+
drama_genre: "🎬 剧集类型与题材",
|
|
220
|
+
drama_aspect: "🎭 角色表现与看点",
|
|
221
|
+
music_aspect: "🎶 音乐与舞台魅力",
|
|
222
|
+
stage_vibe: "💃 神级现场舞台",
|
|
223
|
+
stage_performance: "💃 现场演唱与舞蹈",
|
|
224
|
+
fashion_aspect: "👗 时尚造型与高奢",
|
|
225
|
+
fan_focus: "🌸 专属粉丝亮点",
|
|
226
|
+
character_arc: "✨ 角色人设深度",
|
|
227
|
+
soundtrack_vibe: "🎵 影视原声风格",
|
|
228
|
+
behind_the_scenes: "🎥 幕后花絮趣事",
|
|
229
|
+
fan_highlights: "🌟 封神名场面"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
en: {
|
|
233
|
+
title: "Explore deeper with Kiku ✨",
|
|
234
|
+
countSuffix: "items",
|
|
235
|
+
skip: "Or answer generally ❯",
|
|
236
|
+
submitIdle: "Submit (select or type to answer) ❯",
|
|
237
|
+
submitReady: "Submit ({done}/{total} selected) ❯",
|
|
238
|
+
freeTextPlaceholder: "Or type your own question/preference, then Enter…",
|
|
239
|
+
freeTextAria: "Type your own question or preference",
|
|
240
|
+
collapsedSkipped: "Answered generally",
|
|
241
|
+
collapsedPicked: "Picked:",
|
|
242
|
+
categories: {
|
|
243
|
+
specific_work: "🎬 Drama / Film",
|
|
244
|
+
subject_focus: "🎯 Focus point",
|
|
245
|
+
subject_scope: "🔍 Question scope",
|
|
246
|
+
career_phase: "✨ Era & role",
|
|
247
|
+
timeframe: "📅 Time of interest",
|
|
248
|
+
media_type: "🎵 Music category",
|
|
249
|
+
aspect_focus: "🎭 Angle to emphasize",
|
|
250
|
+
scope: "🔍 Content scope",
|
|
251
|
+
depth: "📖 Detail level",
|
|
252
|
+
comparison: "⚖️ Comparison topic",
|
|
253
|
+
language: "🌐 Preferred language",
|
|
254
|
+
date_range: "📆 Year range",
|
|
255
|
+
content_format: "📑 Answer format",
|
|
256
|
+
drama_genre: "🎬 Drama Genre & Style",
|
|
257
|
+
drama_aspect: "🎭 Acting & Portrayal",
|
|
258
|
+
music_aspect: "🎶 Music & Vocals",
|
|
259
|
+
stage_vibe: "💃 Iconic Live Stages",
|
|
260
|
+
stage_performance: "💃 Stage & Concerts",
|
|
261
|
+
fashion_aspect: "👗 Fashion & Luxury",
|
|
262
|
+
fan_focus: "🌸 Fanclub Highlights",
|
|
263
|
+
character_arc: "✨ Character Arc & Depth",
|
|
264
|
+
soundtrack_vibe: "🎵 OST & Soundtracks",
|
|
265
|
+
behind_the_scenes: "🎥 Behind the Scenes",
|
|
266
|
+
fan_highlights: "🌟 Signature Highlights"
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
ja: {
|
|
270
|
+
title: "もっと知りたいポイントを選択 🌸",
|
|
271
|
+
countSuffix: "問",
|
|
272
|
+
skip: "または全体的な回答を見る ❯",
|
|
273
|
+
submitIdle: "回答を送信(選択または入力) ❯",
|
|
274
|
+
submitReady: "回答を送信({done}/{total} 選択中) ❯",
|
|
275
|
+
freeTextPlaceholder: "または自由に回答を入力して Enter…",
|
|
276
|
+
freeTextAria: "自由に回答を入力",
|
|
277
|
+
collapsedSkipped: "全体的な回答を見る",
|
|
278
|
+
collapsedPicked: "選択:",
|
|
279
|
+
categories: {
|
|
280
|
+
specific_work: "🎬 ドラマ・映画",
|
|
281
|
+
subject_focus: "🎯 関心のあるポイント",
|
|
282
|
+
subject_scope: "🔍 質問の範囲",
|
|
283
|
+
career_phase: "✨ 時期と役柄",
|
|
284
|
+
timeframe: "📅 興味のある時期",
|
|
285
|
+
media_type: "🎵 楽曲・作品カテゴリー",
|
|
286
|
+
aspect_focus: "🎭 注目したい視点",
|
|
287
|
+
scope: "🔍 内容の範囲",
|
|
288
|
+
depth: "📖 情報の詳しさ",
|
|
289
|
+
comparison: "⚖️ 比較テーマ",
|
|
290
|
+
language: "🌐 希望言語",
|
|
291
|
+
date_range: "📆 年代・期間",
|
|
292
|
+
content_format: "📑 回答形式",
|
|
293
|
+
drama_genre: "🎬 ドラマジャンル",
|
|
294
|
+
drama_aspect: "🎭 演技・キャラクター",
|
|
295
|
+
music_aspect: "🎶 音楽・ボーカル",
|
|
296
|
+
stage_vibe: "💃 ライブステージ",
|
|
297
|
+
stage_performance: "💃 パフォーマンス",
|
|
298
|
+
fashion_aspect: "👗 ファッション・ブランド",
|
|
299
|
+
fan_focus: "🌸 ファン注目ポイント",
|
|
300
|
+
character_arc: "✨ キャラクターの魅力",
|
|
301
|
+
soundtrack_vibe: "🎵 OST・楽曲世界観",
|
|
302
|
+
behind_the_scenes: "🎥 メイキング・舞台裏",
|
|
303
|
+
fan_highlights: "🌟 ハイライトシーン"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
ko: {
|
|
307
|
+
title: "더 알아보고 싶은 포인트를 선택해 보세요 🌸",
|
|
308
|
+
countSuffix: "문항",
|
|
309
|
+
skip: "또는 일반적인 전체 답변 보기 ❯",
|
|
310
|
+
submitIdle: "답변 제출(선택 또는 입력) ❯",
|
|
311
|
+
submitReady: "답변 제출({done}/{total} 선택) ❯",
|
|
312
|
+
freeTextPlaceholder: "또는 직접 의견을 입력하고 Enter…",
|
|
313
|
+
freeTextAria: "직접 의견 입력",
|
|
314
|
+
collapsedSkipped: "일반적인 전체 답변 보기",
|
|
315
|
+
collapsedPicked: "선택:",
|
|
316
|
+
categories: {
|
|
317
|
+
specific_work: "🎬 드라마・영화",
|
|
318
|
+
subject_focus: "🎯 관심 포인트",
|
|
319
|
+
subject_scope: "🔍 질문 범위",
|
|
320
|
+
career_phase: "✨ 시기 및 역할",
|
|
321
|
+
timeframe: "📅 관심 시기",
|
|
322
|
+
media_type: "🎵 음악・작품 카테고리",
|
|
323
|
+
aspect_focus: "🎭 주목할 관점",
|
|
324
|
+
scope: "🔍 내용 범위",
|
|
325
|
+
depth: "📖 정보 상세도",
|
|
326
|
+
comparison: "⚖️ 비교 주제",
|
|
327
|
+
language: "🌐 원하는 언어",
|
|
328
|
+
date_range: "📆 연도・기간",
|
|
329
|
+
content_format: "📑 답변 형식",
|
|
330
|
+
drama_genre: "🎬 드라마 장르",
|
|
331
|
+
drama_aspect: "🎭 연기・캐릭터",
|
|
332
|
+
music_aspect: "🎶 음악・보컬",
|
|
333
|
+
stage_vibe: "💃 라이브 무대",
|
|
334
|
+
stage_performance: "💃 퍼포먼스・콘서트",
|
|
335
|
+
fashion_aspect: "👗 패션・브랜드",
|
|
336
|
+
fan_focus: "🌸 팬 추천 포인트",
|
|
337
|
+
character_arc: "✨ 캐릭터 매력",
|
|
338
|
+
soundtrack_vibe: "🎵 OST 스타일",
|
|
339
|
+
behind_the_scenes: "🎥 비하인드 스토리",
|
|
340
|
+
fan_highlights: "🌟 주요 하이라이트"
|
|
341
|
+
}
|
|
342
|
+
}
|
|
291
343
|
};
|