1 line
748 KiB
JSON
1 line
748 KiB
JSON
{"code_snippets":[{"id":"8a466b0c6eac2ccb54c5da7e13854646","path":"frontend/app/layout.tsx","line_range":"1-37","gmt_create":"2026-04-23T15:19:43.759937+08:00","gmt_modified":"2026-04-23T15:19:43.759937+08:00"},{"id":"3bd4eedea376e3a3d9f9fbff4fe27a65","path":"frontend/components/layout/sidebar.tsx","line_range":"1-54","gmt_create":"2026-04-23T15:19:43.760535+08:00","gmt_modified":"2026-04-23T15:19:43.760535+08:00"},{"id":"0d903468b55bdc63cc7e25a87a89c522","path":"frontend/components/layout/header.tsx","line_range":"1-30","gmt_create":"2026-04-23T15:19:43.760868+08:00","gmt_modified":"2026-04-23T15:19:43.760868+08:00"},{"id":"3bab92a09e9fb456e0303bb1e04afc7e","path":"frontend/components/ui/table.tsx","line_range":"1-118","gmt_create":"2026-04-23T15:19:43.762327+08:00","gmt_modified":"2026-04-23T15:19:43.762327+08:00"},{"id":"0eed9f61572209dd754611fc7c690d5a","path":"frontend/components/ui/dialog.tsx","line_range":"1-123","gmt_create":"2026-04-23T15:19:43.762637+08:00","gmt_modified":"2026-04-23T15:19:43.762637+08:00"},{"id":"b7796fc6197ecce5beb461b9466e54a0","path":"frontend/components/charts/trend-chart.tsx","line_range":"1-60","gmt_create":"2026-04-23T15:19:43.762953+08:00","gmt_modified":"2026-04-23T15:19:43.762953+08:00"},{"id":"6b9f52af0b6d78c17ff9bbc42d760ea2","path":"frontend/components/charts/platform-chart.tsx","line_range":"1-68","gmt_create":"2026-04-23T15:19:43.763292+08:00","gmt_modified":"2026-04-23T15:19:43.763292+08:00"},{"id":"a829403082cc3460c01e0110229c53c4","path":"frontend/lib/platforms.ts","line_range":"1-18","gmt_create":"2026-04-23T15:19:43.763596+08:00","gmt_modified":"2026-04-23T15:19:43.763596+08:00"},{"id":"dcfa308ef4ec368c5a51a17acbfc8e2c","path":"frontend/lib/utils.ts","line_range":"1-7","gmt_create":"2026-04-23T15:19:43.763899+08:00","gmt_modified":"2026-04-23T15:19:43.763899+08:00"},{"id":"0f87c8089f548883d056f0a0d79e273f","path":"frontend/lib/api.ts","line_range":"1-79","gmt_create":"2026-04-23T15:19:43.764207+08:00","gmt_modified":"2026-04-23T15:19:43.764207+08:00"},{"id":"9beee1f41fe8f0750fd97155f9d54bbb","path":"frontend/lib/api.ts","line_range":"67-70","gmt_create":"2026-04-23T15:19:43.7681+08:00","gmt_modified":"2026-04-23T15:19:43.7681+08:00"},{"id":"8fe2e22a963442076e1ce16ab777573c","path":"frontend/lib/api.ts","line_range":"56-66","gmt_create":"2026-04-23T15:19:43.769967+08:00","gmt_modified":"2026-04-23T15:19:43.769967+08:00"},{"id":"3124ad882ca2cf8fecb6b93696c7f233","path":"frontend/lib/api.ts","line_range":"72-77","gmt_create":"2026-04-23T15:19:43.77323+08:00","gmt_modified":"2026-04-23T15:19:43.773231+08:00"},{"id":"17a97b4ac37fb67b8eda7ce2887c38e7","path":"frontend/app/layout.tsx","line_range":"17-20","gmt_create":"2026-04-23T15:19:43.777372+08:00","gmt_modified":"2026-04-23T15:19:43.777372+08:00"},{"id":"84cba1e0d516e8c9859402fd5c1bc83c","path":"frontend/lib/api.ts","line_range":"3-40","gmt_create":"2026-04-23T15:19:43.777696+08:00","gmt_modified":"2026-04-23T15:19:43.777696+08:00"},{"id":"b55a164add5a8fec2ef0e489f7234829","path":"backend/app/main.py","line_range":"24-47","gmt_create":"2026-04-23T15:19:45.591156+08:00","gmt_modified":"2026-04-23T15:19:45.591157+08:00"},{"id":"16d619435094a63740357cd6317b52cb","path":"backend/app/api/auth.py","line_range":"10","gmt_create":"2026-04-23T15:19:45.591538+08:00","gmt_modified":"2026-04-23T15:19:45.591538+08:00"},{"id":"fa1ee5e3822128a37e9d03af74083392","path":"backend/app/api/queries.py","line_range":"12","gmt_create":"2026-04-23T15:19:45.591868+08:00","gmt_modified":"2026-04-23T15:19:45.591868+08:00"},{"id":"7e908f05baccdfcf7f4a3ef3c9cd5c38","path":"backend/app/api/citations.py","line_range":"21","gmt_create":"2026-04-23T15:19:45.592191+08:00","gmt_modified":"2026-04-23T15:19:45.592191+08:00"},{"id":"ffe6df344be81bde3941ad8f0d77910b","path":"backend/app/api/reports.py","line_range":"13","gmt_create":"2026-04-23T15:19:45.592503+08:00","gmt_modified":"2026-04-23T15:19:45.592503+08:00"},{"id":"c71fb14f8866e34c679c94a4e2432bc7","path":"backend/app/api/deps.py","line_range":"13","gmt_create":"2026-04-23T15:19:45.592857+08:00","gmt_modified":"2026-04-23T15:19:45.592857+08:00"},{"id":"3c68f1581d2fd6aa845dd71111a9aa9d","path":"backend/app/main.py","line_range":"1-57","gmt_create":"2026-04-23T15:19:45.593248+08:00","gmt_modified":"2026-04-23T15:19:45.593248+08:00"},{"id":"39afb05755a93800fd685af7274110cb","path":"backend/app/main.py","line_range":"13-57","gmt_create":"2026-04-23T15:19:45.593572+08:00","gmt_modified":"2026-04-23T15:19:45.593572+08:00"},{"id":"87a177f17800991e1ed1fb7be03abdb2","path":"backend/app/api/auth.py","line_range":"13-42","gmt_create":"2026-04-23T15:19:45.594108+08:00","gmt_modified":"2026-04-23T15:19:45.594108+08:00"},{"id":"ae9de874df4a46f4197b6c157c25ec6e","path":"backend/app/api/queries.py","line_range":"15-85","gmt_create":"2026-04-23T15:19:45.594458+08:00","gmt_modified":"2026-04-23T15:19:45.594458+08:00"},{"id":"c066a8d4bffabed87a2e38ccad81c107","path":"backend/app/api/citations.py","line_range":"25-77","gmt_create":"2026-04-23T15:19:45.594783+08:00","gmt_modified":"2026-04-23T15:19:45.594783+08:00"},{"id":"177c73dc4e71186d9eaa1157fc0fe97f","path":"backend/app/api/reports.py","line_range":"16-46","gmt_create":"2026-04-23T15:19:45.595098+08:00","gmt_modified":"2026-04-23T15:19:45.595098+08:00"},{"id":"a0be0cbddb559575861620b5b7579634","path":"backend/app/main.py","line_range":"38-51","gmt_create":"2026-04-23T15:19:45.595425+08:00","gmt_modified":"2026-04-23T15:19:45.595425+08:00"},{"id":"bcdf50f6234651cb9863ab210e6473e5","path":"backend/app/api/deps.py","line_range":"16-42","gmt_create":"2026-04-23T15:19:45.595733+08:00","gmt_modified":"2026-04-23T15:19:45.595733+08:00"},{"id":"6df0277c2486b148fa26c2682dbdaa4c","path":"backend/app/services/auth.py","line_range":"37-68","gmt_create":"2026-04-23T15:19:45.59605+08:00","gmt_modified":"2026-04-23T15:19:45.59605+08:00"},{"id":"5ea5f192d580031ffe57e1582b70c67e","path":"backend/app/services/query.py","line_range":"12-123","gmt_create":"2026-04-23T15:19:45.596359+08:00","gmt_modified":"2026-04-23T15:19:45.596359+08:00"},{"id":"fe4a793f16cd4e12b56253c0a6d53ae0","path":"backend/app/services/citation.py","line_range":"24-359","gmt_create":"2026-04-23T15:19:45.596722+08:00","gmt_modified":"2026-04-23T15:19:45.596723+08:00"},{"id":"9552bd8a528207f18e4f3a1696f26a55","path":"backend/app/api/auth.py","line_range":"13-37","gmt_create":"2026-04-23T15:19:45.597032+08:00","gmt_modified":"2026-04-23T15:19:45.597032+08:00"},{"id":"4aad38dfc00a0877bd965c3d0b3c280c","path":"backend/app/schemas/auth.py","line_range":"7-34","gmt_create":"2026-04-23T15:19:45.598915+08:00","gmt_modified":"2026-04-23T15:19:45.598915+08:00"},{"id":"9b10dac7dbbb1327afc8a525bf4bd0c3","path":"backend/app/services/query.py","line_range":"45-81","gmt_create":"2026-04-23T15:19:45.599689+08:00","gmt_modified":"2026-04-23T15:19:45.599689+08:00"},{"id":"69118807690ef351a9de910414d5e676","path":"backend/app/schemas/query.py","line_range":"11-94","gmt_create":"2026-04-23T15:19:45.6004+08:00","gmt_modified":"2026-04-23T15:19:45.6004+08:00"},{"id":"212d822d207a4c0bd7825bbf20e188e9","path":"backend/app/api/citations.py","line_range":"59-77","gmt_create":"2026-04-23T15:19:45.601069+08:00","gmt_modified":"2026-04-23T15:19:45.601069+08:00"},{"id":"b0777c7da17be89abb333c81c0dcf349","path":"backend/app/services/citation.py","line_range":"204-261","gmt_create":"2026-04-23T15:19:45.601383+08:00","gmt_modified":"2026-04-23T15:19:45.601384+08:00"},{"id":"26288877e8e1f6c4ff5aca12610b0218","path":"backend/app/schemas/citation.py","line_range":"7-50","gmt_create":"2026-04-23T15:19:45.602042+08:00","gmt_modified":"2026-04-23T15:19:45.602042+08:00"},{"id":"dbf5f8a57778cf6363e834081f3d771c","path":"backend/app/services/citation.py","line_range":"327-359","gmt_create":"2026-04-23T15:19:45.60312+08:00","gmt_modified":"2026-04-23T15:19:45.60312+08:00"},{"id":"56e46969bdb790a5e8f333184b878d6d","path":"backend/app/models/user.py","line_range":"11-41","gmt_create":"2026-04-23T15:19:45.605045+08:00","gmt_modified":"2026-04-23T15:19:45.605046+08:00"},{"id":"4fb8856be3a581fe8303d11b2284ca29","path":"backend/app/models/query.py","line_range":"11-55","gmt_create":"2026-04-23T15:19:45.605965+08:00","gmt_modified":"2026-04-23T15:19:45.605965+08:00"},{"id":"fd541971cebf8a7c167d717f5c5d1ff6","path":"backend/app/models/citation_record.py","line_range":"11-42","gmt_create":"2026-04-23T15:19:45.606627+08:00","gmt_modified":"2026-04-23T15:19:45.606627+08:00"},{"id":"b84f46f058847733347974841f613688","path":"backend/app/models/query_task.py","line_range":"11-39","gmt_create":"2026-04-23T15:19:45.607023+08:00","gmt_modified":"2026-04-23T15:19:45.607023+08:00"},{"id":"1a2657244414b5681afded9565a86422","path":"backend/app/models/user.py","line_range":"35-40","gmt_create":"2026-04-23T15:19:45.60817+08:00","gmt_modified":"2026-04-23T15:19:45.60817+08:00"},{"id":"acd5a29be2bdd4ae251e10ca266ffe13","path":"backend/app/models/query.py","line_range":"43-48","gmt_create":"2026-04-23T15:19:45.608565+08:00","gmt_modified":"2026-04-23T15:19:45.608565+08:00"},{"id":"27a5e2dd1d197b2e3a45be41c57a6183","path":"backend/app/models/citation_record.py","line_range":"35","gmt_create":"2026-04-23T15:19:45.609141+08:00","gmt_modified":"2026-04-23T15:19:45.609141+08:00"},{"id":"c43e8fc0c04c5ed2db7798d99c8c77b8","path":"backend/app/models/query_task.py","line_range":"34","gmt_create":"2026-04-23T15:19:45.609534+08:00","gmt_modified":"2026-04-23T15:19:45.609534+08:00"},{"id":"8868ab86034eecf40e80347ef8cbdebd","path":"backend/app/api/auth.py","line_range":"26-30","gmt_create":"2026-04-23T15:19:45.609857+08:00","gmt_modified":"2026-04-23T15:19:45.609857+08:00"},{"id":"a50f983ec39bac67dff5df80f6dad837","path":"backend/app/services/query.py","line_range":"59-60","gmt_create":"2026-04-23T15:19:45.61019+08:00","gmt_modified":"2026-04-23T15:19:45.61019+08:00"},{"id":"55f1628f1ab6f323710e367e12146b1a","path":"backend/app/api/citations.py","line_range":"67-71","gmt_create":"2026-04-23T15:19:45.610496+08:00","gmt_modified":"2026-04-23T15:19:45.610496+08:00"},{"id":"6ef6d32f97d7b50b7a4da541137423c0","path":"backend/app/api/reports.py","line_range":"23-27","gmt_create":"2026-04-23T15:19:45.610807+08:00","gmt_modified":"2026-04-23T15:19:45.610807+08:00"},{"id":"096856da621e23e78422a15e2bfce1f1","path":"backend/app/main.py","line_range":"13-22","gmt_create":"2026-04-23T15:20:08.95664+08:00","gmt_modified":"2026-04-23T15:20:08.95664+08:00"},{"id":"e230904202fcf7a861c6f49b84f9f863","path":"backend/app/workers/scheduler.py","line_range":"25-95","gmt_create":"2026-04-23T15:20:08.956979+08:00","gmt_modified":"2026-04-23T15:20:08.956979+08:00"},{"id":"309607c54b12a6340edc086ffb4737c9","path":"backend/app/workers/citation_engine.py","line_range":"148-309","gmt_create":"2026-04-23T15:20:08.957311+08:00","gmt_modified":"2026-04-23T15:20:08.957311+08:00"},{"id":"d7c319a04abbc6704da53107e07dd8e7","path":"backend/app/services/query.py","line_range":"12-130","gmt_create":"2026-04-23T15:20:08.958773+08:00","gmt_modified":"2026-04-23T15:20:08.958773+08:00"},{"id":"9bfc041fe426da2eb78353827e8d9163","path":"backend/app/database.py","line_range":"1-29","gmt_create":"2026-04-23T15:20:08.95909+08:00","gmt_modified":"2026-04-23T15:20:08.95909+08:00"},{"id":"ad67863041d9eea2b0fb542b5aa33aca","path":"backend/app/workers/platforms/base.py","line_range":"4-18","gmt_create":"2026-04-23T15:20:08.959413+08:00","gmt_modified":"2026-04-23T15:20:08.959413+08:00"},{"id":"eecf9581dbaa0a515cf11514175e7ef9","path":"backend/app/workers/platforms/kimi.py","line_range":"11-206","gmt_create":"2026-04-23T15:20:08.959726+08:00","gmt_modified":"2026-04-23T15:20:08.959726+08:00"},{"id":"5563c29185326a59be61ee0a6eec4463","path":"backend/app/workers/platforms/wenxin.py","line_range":"11-205","gmt_create":"2026-04-23T15:20:08.960155+08:00","gmt_modified":"2026-04-23T15:20:08.960155+08:00"},{"id":"2d35e1345d25020f8e7ac1318db06f7b","path":"backend/app/workers/scheduler.py","line_range":"30-90","gmt_create":"2026-04-23T15:20:08.96886+08:00","gmt_modified":"2026-04-23T15:20:08.968861+08:00"},{"id":"91bda120c0ab69e0e7103a1c89c82424","path":"backend/app/workers/scheduler.py","line_range":"95-172","gmt_create":"2026-04-23T15:20:08.969219+08:00","gmt_modified":"2026-04-23T15:20:08.969219+08:00"},{"id":"160b5326537d25444c40a459a01e79c6","path":"backend/app/workers/citation_engine.py","line_range":"159-234","gmt_create":"2026-04-23T15:20:08.969565+08:00","gmt_modified":"2026-04-23T15:20:08.969565+08:00"},{"id":"6712051c987e10a7c26b089063367398","path":"backend/app/models/query.py","line_range":"24-31","gmt_create":"2026-04-23T15:20:08.970051+08:00","gmt_modified":"2026-04-23T15:20:08.970052+08:00"},{"id":"ac5982063da5f04315f3e82a0d653902","path":"backend/app/models/query_task.py","line_range":"24-32","gmt_create":"2026-04-23T15:20:08.970717+08:00","gmt_modified":"2026-04-23T15:20:08.970717+08:00"},{"id":"06ed912983db33bb8aca162fed68282b","path":"backend/app/models/citation_record.py","line_range":"24-29","gmt_create":"2026-04-23T15:20:08.971135+08:00","gmt_modified":"2026-04-23T15:20:08.971135+08:00"},{"id":"b624be78e3bffd876e403cff2557b088","path":"backend/app/workers/citation_engine.py","line_range":"19-120","gmt_create":"2026-04-23T15:20:08.973448+08:00","gmt_modified":"2026-04-23T15:20:08.973448+08:00"},{"id":"40d0b169aad65c8bb38077deb052fc72","path":"backend/app/workers/platforms/kimi.py","line_range":"33-125","gmt_create":"2026-04-23T15:20:08.97414+08:00","gmt_modified":"2026-04-23T15:20:08.97414+08:00"},{"id":"8b5af998852596e1e08b0e0216bc4b93","path":"backend/app/workers/platforms/wenxin.py","line_range":"33-124","gmt_create":"2026-04-23T15:20:08.974449+08:00","gmt_modified":"2026-04-23T15:20:08.974449+08:00"},{"id":"fe70b1fef9f36e73d26d84987e927c7a","path":"backend/app/api/queries.py","line_range":"15-86","gmt_create":"2026-04-23T15:20:08.978743+08:00","gmt_modified":"2026-04-23T15:20:08.978743+08:00"},{"id":"e1d2b027678118df4d0a50ce9269271d","path":"backend/app/workers/scheduler.py","line_range":"42-90","gmt_create":"2026-04-23T15:20:08.982815+08:00","gmt_modified":"2026-04-23T15:20:08.982815+08:00"},{"id":"e79301a4bc26aa6b49f3f52c3182c3f9","path":"backend/app/workers/citation_engine.py","line_range":"175-234","gmt_create":"2026-04-23T15:20:08.983609+08:00","gmt_modified":"2026-04-23T15:20:08.983609+08:00"},{"id":"1e85186eded8743ff5f231df4aa6df3f","path":"backend/app/workers/platforms/kimi.py","line_range":"21-48","gmt_create":"2026-04-23T15:20:08.98454+08:00","gmt_modified":"2026-04-23T15:20:08.98454+08:00"},{"id":"e2b1718570fb714b2f4342221898ab30","path":"backend/app/workers/platforms/wenxin.py","line_range":"21-48","gmt_create":"2026-04-23T15:20:08.985237+08:00","gmt_modified":"2026-04-23T15:20:08.985237+08:00"},{"id":"e4a49039dae40b7433896c81737fcf8c","path":"backend/app/config.py","line_range":"7-14","gmt_create":"2026-04-23T15:20:08.985763+08:00","gmt_modified":"2026-04-23T15:20:08.985763+08:00"},{"id":"2ee31d68c409e96e951f6cfa7027bca7","path":"backend/app/main.py","line_range":"24-42","gmt_create":"2026-04-23T15:20:08.986265+08:00","gmt_modified":"2026-04-23T15:20:08.986265+08:00"},{"id":"79d6e169e36e6b7493898b5f863e07dc","path":"backend/app/workers/citation_engine.py","line_range":"152-157","gmt_create":"2026-04-23T15:20:08.987693+08:00","gmt_modified":"2026-04-23T15:20:08.987693+08:00"},{"id":"1552315d5fb9f6d7aba5f7e8fa93a975","path":"backend/app/database.py","line_range":"6-10","gmt_create":"2026-04-23T15:20:08.988709+08:00","gmt_modified":"2026-04-23T15:20:08.988709+08:00"},{"id":"599cca7536cae4a7e0ae93043c476a7f","path":"tests/test_queries.py","line_range":"10-154","gmt_create":"2026-04-23T15:20:08.989011+08:00","gmt_modified":"2026-04-23T15:20:08.989011+08:00"},{"id":"2ec3d45edd6221e0cedf7f8887fe090d","path":"tests/test_scheduler.py","line_range":"17-123","gmt_create":"2026-04-23T15:20:08.989312+08:00","gmt_modified":"2026-04-23T15:20:08.989312+08:00"},{"id":"4d323bf0aaf4078f09726dc0890e5955","path":"backend/app/models/subscription.py","line_range":"11-37","gmt_create":"2026-04-23T15:21:46.688165+08:00","gmt_modified":"2026-04-23T15:21:46.688166+08:00"},{"id":"4cef9e740b6feb68c6bd22b660c47320","path":"backend/app/services/query.py","line_range":"1-123","gmt_create":"2026-04-23T15:21:46.688903+08:00","gmt_modified":"2026-04-23T15:21:46.688903+08:00"},{"id":"121203f7f9f539ffb1456c3f5cdfd842","path":"backend/app/services/citation.py","line_range":"1-359","gmt_create":"2026-04-23T15:21:46.689338+08:00","gmt_modified":"2026-04-23T15:21:46.689338+08:00"},{"id":"10d1e37bdc9f353c189b7a2fe79dc85e","path":"backend/app/api/queries.py","line_range":"1-86","gmt_create":"2026-04-23T15:21:46.689691+08:00","gmt_modified":"2026-04-23T15:21:46.689691+08:00"},{"id":"cbd0101fa84d957bcb1baaa623c6b31c","path":"backend/app/api/citations.py","line_range":"1-78","gmt_create":"2026-04-23T15:21:46.690036+08:00","gmt_modified":"2026-04-23T15:21:46.690036+08:00"},{"id":"afe4138895492c26aac5c0120ef46cd8","path":"backend/app/models/__init__.py","line_range":"1-14","gmt_create":"2026-04-23T15:21:46.69035+08:00","gmt_modified":"2026-04-23T15:21:46.69035+08:00"},{"id":"4d11ddf7abb8076d81b30c4315786f9a","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"21-128","gmt_create":"2026-04-23T15:21:46.693035+08:00","gmt_modified":"2026-04-23T15:21:46.693035+08:00"},{"id":"e454b4a54500bd81e7599e6ec97bf12b","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"23-37","gmt_create":"2026-04-23T15:21:46.695671+08:00","gmt_modified":"2026-04-23T15:21:46.695671+08:00"},{"id":"1965adf7cfc65447e3c1ae21fbf6d1c5","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"39-59","gmt_create":"2026-04-23T15:21:46.696432+08:00","gmt_modified":"2026-04-23T15:21:46.696432+08:00"},{"id":"c730faefb34bb87c40c5f636b4ff7f41","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"80-94","gmt_create":"2026-04-23T15:21:46.697413+08:00","gmt_modified":"2026-04-23T15:21:46.697413+08:00"},{"id":"b9978c3eccea3ef566b003216e5047af","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"61-78","gmt_create":"2026-04-23T15:21:46.698274+08:00","gmt_modified":"2026-04-23T15:21:46.698274+08:00"},{"id":"eb6ff4361d7413b57f1f70b1ec2f0c94","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"96-111","gmt_create":"2026-04-23T15:21:46.699021+08:00","gmt_modified":"2026-04-23T15:21:46.699021+08:00"},{"id":"f6c9f1b4e8646c366a31426a4537675d","path":"backend/app/models/query_task.py","line_range":"36-38","gmt_create":"2026-04-23T15:21:46.700462+08:00","gmt_modified":"2026-04-23T15:21:46.700462+08:00"},{"id":"a2adbf02c71e4eb2cf1f120e1a2ff517","path":"backend/app/models/citation_record.py","line_range":"37-41","gmt_create":"2026-04-23T15:21:46.70082+08:00","gmt_modified":"2026-04-23T15:21:46.700821+08:00"},{"id":"0907fc2974ec31c23aaaef02076700a1","path":"backend/app/models/user.py","line_range":"25-33","gmt_create":"2026-04-23T15:21:46.702342+08:00","gmt_modified":"2026-04-23T15:21:46.702342+08:00"},{"id":"842f74e2cc054608242e93fbefd96b45","path":"backend/app/models/query.py","line_range":"32-40","gmt_create":"2026-04-23T15:21:46.702652+08:00","gmt_modified":"2026-04-23T15:21:46.702652+08:00"},{"id":"aed9e839038c45e6ce2023c4e05adb76","path":"backend/app/models/query_task.py","line_range":"27-32","gmt_create":"2026-04-23T15:21:46.702999+08:00","gmt_modified":"2026-04-23T15:21:46.703+08:00"},{"id":"2181318c993526c86458f5eef134aed6","path":"backend/app/services/query.py","line_range":"62-77","gmt_create":"2026-04-23T15:21:46.703419+08:00","gmt_modified":"2026-04-23T15:21:46.703419+08:00"},{"id":"a817488dc968d761a8977fb5bb8d01a2","path":"backend/app/services/query.py","line_range":"45-129","gmt_create":"2026-04-23T15:21:46.703795+08:00","gmt_modified":"2026-04-23T15:21:46.703795+08:00"},{"id":"d20fc729a5d3986b1c077f9e07ece9c4","path":"backend/app/config.py","line_range":"7","gmt_create":"2026-04-23T15:21:46.704958+08:00","gmt_modified":"2026-04-23T15:21:46.704958+08:00"},{"id":"ea655c6d147bc98beb42955d437260cc","path":"backend/app/config.py","line_range":"1-23","gmt_create":"2026-04-23T15:21:46.705746+08:00","gmt_modified":"2026-04-23T15:21:46.705746+08:00"},{"id":"37868a5af96edcdad149caf9a184435a","path":"backend/app/api/queries.py","line_range":"42-85","gmt_create":"2026-04-23T15:21:46.706426+08:00","gmt_modified":"2026-04-23T15:21:46.706426+08:00"},{"id":"601b981b00d93b941843f046a163d5a3","path":"backend/app/schemas/query.py","line_range":"18-33","gmt_create":"2026-04-23T15:21:46.706755+08:00","gmt_modified":"2026-04-23T15:21:46.706755+08:00"},{"id":"290df8332b3d104e5ea8d71dc39315b5","path":"tests/conftest.py","line_range":"1-123","gmt_create":"2026-04-23T15:22:15.985975+08:00","gmt_modified":"2026-04-23T15:22:15.985975+08:00"},{"id":"c2747ca16b879bca0f68955534c3c4fc","path":"backend/app/main.py","line_range":"1-48","gmt_create":"2026-04-23T15:22:15.986592+08:00","gmt_modified":"2026-04-23T15:22:15.986592+08:00"},{"id":"76e6c0abb49fec57cac4892837a143c9","path":"backend/app/api/deps.py","line_range":"1-43","gmt_create":"2026-04-23T15:22:15.987077+08:00","gmt_modified":"2026-04-23T15:22:15.987077+08:00"},{"id":"f66d9907b467b110c638bd527efd95c5","path":"backend/app/api/auth.py","line_range":"1-43","gmt_create":"2026-04-23T15:22:15.987417+08:00","gmt_modified":"2026-04-23T15:22:15.987417+08:00"},{"id":"116584ea9162c1bc05911f39f9ef82b6","path":"backend/app/workers/citation_engine.py","line_range":"1-309","gmt_create":"2026-04-23T15:22:15.988451+08:00","gmt_modified":"2026-04-23T15:22:15.988451+08:00"},{"id":"9630036e63fc15cb81b202cf79671aab","path":"backend/app/workers/scheduler.py","line_range":"1-182","gmt_create":"2026-04-23T15:22:15.988885+08:00","gmt_modified":"2026-04-23T15:22:15.988885+08:00"},{"id":"84fbed7d35f7752e2117a74fcaf5f0e9","path":"backend/app/config.py","line_range":"1-17","gmt_create":"2026-04-23T15:22:15.989594+08:00","gmt_modified":"2026-04-23T15:22:15.989594+08:00"},{"id":"5ddf0c8d7b38e4f6126a5d85da1dfeda","path":"tests/conftest.py","line_range":"19-123","gmt_create":"2026-04-23T15:22:15.990689+08:00","gmt_modified":"2026-04-23T15:22:15.990689+08:00"},{"id":"9df233ef1be4b95068ed91bf01083ae7","path":"tests/conftest.py","line_range":"117-123","gmt_create":"2026-04-23T15:22:15.99106+08:00","gmt_modified":"2026-04-23T15:22:15.99106+08:00"},{"id":"6286d4be455dc058c8be2ee4e0d1175a","path":"backend/app/main.py","line_range":"38-42","gmt_create":"2026-04-23T15:22:15.991399+08:00","gmt_modified":"2026-04-23T15:22:15.991399+08:00"},{"id":"069243fafe60a85cf16a0ca40fa07180","path":"backend/app/api/deps.py","line_range":"16-43","gmt_create":"2026-04-23T15:22:15.991722+08:00","gmt_modified":"2026-04-23T15:22:15.991722+08:00"},{"id":"d5a1fb0bd23ce9240fbf79529ef94a45","path":"backend/app/api/auth.py","line_range":"13-43","gmt_create":"2026-04-23T15:22:15.992045+08:00","gmt_modified":"2026-04-23T15:22:15.992045+08:00"},{"id":"735aef72b4fe6ca4f407e69b7dda8b43","path":"backend/app/api/citations.py","line_range":"25-78","gmt_create":"2026-04-23T15:22:15.992721+08:00","gmt_modified":"2026-04-23T15:22:15.992721+08:00"},{"id":"8128dd67cf376d2cadf7c2d3831c380a","path":"backend/app/database.py","line_range":"23-29","gmt_create":"2026-04-23T15:22:15.993159+08:00","gmt_modified":"2026-04-23T15:22:15.993159+08:00"},{"id":"1721defc3d6206478d3c0692cc821761","path":"tests/test_auth.py","line_range":"25-104","gmt_create":"2026-04-23T15:22:15.9936+08:00","gmt_modified":"2026-04-23T15:22:15.9936+08:00"},{"id":"753a437d837246ead62b0e16c6331284","path":"backend/app/services/auth.py","line_range":"37-69","gmt_create":"2026-04-23T15:22:15.994329+08:00","gmt_modified":"2026-04-23T15:22:15.994329+08:00"},{"id":"d820e2daf2ea133a7aa17cdc475e44a4","path":"tests/test_auth.py","line_range":"1-104","gmt_create":"2026-04-23T15:22:15.99504+08:00","gmt_modified":"2026-04-23T15:22:15.99504+08:00"},{"id":"1a439c5fed6cfd188c646e1614d56371","path":"backend/app/services/auth.py","line_range":"1-69","gmt_create":"2026-04-23T15:22:15.995715+08:00","gmt_modified":"2026-04-23T15:22:15.995715+08:00"},{"id":"5c67e2f70283956b2d29a3c1443eb514","path":"backend/app/workers/citation_engine.py","line_range":"122-146","gmt_create":"2026-04-23T15:22:15.996787+08:00","gmt_modified":"2026-04-23T15:22:15.996787+08:00"},{"id":"a57acd9da5287c915ac823784a409292","path":"tests/test_citation_engine.py","line_range":"1-127","gmt_create":"2026-04-23T15:22:15.99744+08:00","gmt_modified":"2026-04-23T15:22:15.99744+08:00"},{"id":"2a4f741f31f62dce8ad63be2e831f520","path":"tests/test_citations.py","line_range":"23-93","gmt_create":"2026-04-23T15:22:15.998141+08:00","gmt_modified":"2026-04-23T15:22:15.998141+08:00"},{"id":"692ac240965eff7e66945aa3c4c270f7","path":"tests/test_citations.py","line_range":"1-93","gmt_create":"2026-04-23T15:22:15.998797+08:00","gmt_modified":"2026-04-23T15:22:15.998797+08:00"},{"id":"32a0a52faca2d8d488e49c63c86075b1","path":"tests/test_queries.py","line_range":"29-154","gmt_create":"2026-04-23T15:22:15.999443+08:00","gmt_modified":"2026-04-23T15:22:15.999444+08:00"},{"id":"7804331f5f8c1ba5a3b6d9c1ae1c78c1","path":"tests/test_queries.py","line_range":"1-154","gmt_create":"2026-04-23T15:22:16.000539+08:00","gmt_modified":"2026-04-23T15:22:16.000539+08:00"},{"id":"3a6e1b738967bf8cc651e57f48e2e126","path":"tests/test_business_flow.py","line_range":"83-126","gmt_create":"2026-04-23T15:22:16.00171+08:00","gmt_modified":"2026-04-23T15:22:16.00171+08:00"},{"id":"b1afd377757f1d0e9bdf87edfff3ad88","path":"tests/test_business_flow.py","line_range":"131-186","gmt_create":"2026-04-23T15:22:16.002219+08:00","gmt_modified":"2026-04-23T15:22:16.002219+08:00"},{"id":"de05ec7eed033e432991e5a88e1b5a06","path":"tests/test_business_flow.py","line_range":"192-222","gmt_create":"2026-04-23T15:22:16.002653+08:00","gmt_modified":"2026-04-23T15:22:16.002653+08:00"},{"id":"7fd61a451248b6b129299d6246f711c7","path":"tests/test_business_flow.py","line_range":"228-296","gmt_create":"2026-04-23T15:22:16.003121+08:00","gmt_modified":"2026-04-23T15:22:16.003121+08:00"},{"id":"53eedffff456a566fa7b0cecc7169f56","path":"tests/test_business_flow.py","line_range":"1-441","gmt_create":"2026-04-23T15:22:16.003614+08:00","gmt_modified":"2026-04-23T15:22:16.003615+08:00"},{"id":"906f7a8288e38d4244211f3f538fe7b6","path":"backend/app/workers/scheduler.py","line_range":"27-182","gmt_create":"2026-04-23T15:22:16.004044+08:00","gmt_modified":"2026-04-23T15:22:16.004044+08:00"},{"id":"1647ee2066de2ae59ba8cf88e33c5e02","path":"tests/test_scheduler.py","line_range":"1-123","gmt_create":"2026-04-23T15:22:16.004461+08:00","gmt_modified":"2026-04-23T15:22:16.004461+08:00"},{"id":"fd18328b6582e68c30b130b912891992","path":"frontend/components/providers.tsx","line_range":"1-9","gmt_create":"2026-04-23T15:22:23.501815+08:00","gmt_modified":"2026-04-23T15:22:23.501815+08:00"},{"id":"71a37a516437e94fd82a87efc70a3f16","path":"frontend/package.json","line_range":"1-40","gmt_create":"2026-04-23T15:22:23.503888+08:00","gmt_modified":"2026-04-23T15:22:23.503888+08:00"},{"id":"89d70e5f89be23a229e3ee59982b8e6e","path":"frontend/tailwind.config.ts","line_range":"1-57","gmt_create":"2026-04-23T15:22:23.504853+08:00","gmt_modified":"2026-04-23T15:22:23.504853+08:00"},{"id":"95be577a89fbeb02578e4c3718c6ec86","path":"frontend/components/ui/button.tsx","line_range":"1-57","gmt_create":"2026-04-23T15:22:23.505579+08:00","gmt_modified":"2026-04-23T15:22:23.505579+08:00"},{"id":"607bb628918a7a5d54cbf74763f94d07","path":"frontend/components/ui/input.tsx","line_range":"1-23","gmt_create":"2026-04-23T15:22:23.506257+08:00","gmt_modified":"2026-04-23T15:22:23.506257+08:00"},{"id":"325e25d1dda0f7bfd9d7adfe35ecf3b5","path":"frontend/components/ui/select.tsx","line_range":"1-161","gmt_create":"2026-04-23T15:22:23.507044+08:00","gmt_modified":"2026-04-23T15:22:23.507044+08:00"},{"id":"ad6ff021b2126ad5c42323305eb6d8b0","path":"frontend/components/ui/dropdown-menu.tsx","line_range":"1-201","gmt_create":"2026-04-23T15:22:23.507926+08:00","gmt_modified":"2026-04-23T15:22:23.507926+08:00"},{"id":"a85f004dca63614b4e734ba63b45ef9e","path":"frontend/components/ui/card.tsx","line_range":"1-80","gmt_create":"2026-04-23T15:22:23.508411+08:00","gmt_modified":"2026-04-23T15:22:23.508411+08:00"},{"id":"bd3042a8d9b602334720b0d7b4e8ab3d","path":"frontend/components/ui/tabs.tsx","line_range":"1-56","gmt_create":"2026-04-23T15:22:23.509355+08:00","gmt_modified":"2026-04-23T15:22:23.509355+08:00"},{"id":"379443f450513b5492e2d9d5fca94a42","path":"frontend/components/ui/label.tsx","line_range":"1-27","gmt_create":"2026-04-23T15:22:23.509832+08:00","gmt_modified":"2026-04-23T15:22:23.509832+08:00"},{"id":"4aa6ad434a73143bb7a2072124f63be0","path":"frontend/components/ui/badge.tsx","line_range":"1-37","gmt_create":"2026-04-23T15:22:23.510286+08:00","gmt_modified":"2026-04-23T15:22:23.510286+08:00"},{"id":"c45dbdda70a8b9f02b52af4991644d0b","path":"frontend/package.json","line_range":"11-27","gmt_create":"2026-04-23T15:22:23.511056+08:00","gmt_modified":"2026-04-23T15:22:23.511056+08:00"},{"id":"6ac6943c93570294e4fb15a862be2616","path":"frontend/components/ui/button.tsx","line_range":"36-54","gmt_create":"2026-04-23T15:22:23.51229+08:00","gmt_modified":"2026-04-23T15:22:23.51229+08:00"},{"id":"4bfb5059c685e9878aed64cb5347ccec","path":"frontend/components/ui/dialog.tsx","line_range":"9-54","gmt_create":"2026-04-23T15:22:23.513266+08:00","gmt_modified":"2026-04-23T15:22:23.513266+08:00"},{"id":"0af48b69fe8fb9e480fa1656f36a4330","path":"frontend/components/ui/dropdown-menu.tsx","line_range":"21-75","gmt_create":"2026-04-23T15:22:23.514127+08:00","gmt_modified":"2026-04-23T15:22:23.514127+08:00"},{"id":"09971e31ab658e119d4c0ad948282107","path":"frontend/components/ui/select.tsx","line_range":"15-100","gmt_create":"2026-04-23T15:22:23.514956+08:00","gmt_modified":"2026-04-23T15:22:23.514956+08:00"},{"id":"31aa8777de6043883950d2668094e388","path":"frontend/components/ui/table.tsx","line_range":"5-106","gmt_create":"2026-04-23T15:22:23.515769+08:00","gmt_modified":"2026-04-23T15:22:23.515769+08:00"},{"id":"28baf3cedb89a21c6d542b7ce2439b24","path":"frontend/components/ui/tabs.tsx","line_range":"8-53","gmt_create":"2026-04-23T15:22:23.516573+08:00","gmt_modified":"2026-04-23T15:22:23.516573+08:00"},{"id":"28b0f4797c6084272244175a24b961cb","path":"frontend/components/ui/card.tsx","line_range":"5-77","gmt_create":"2026-04-23T15:22:23.518527+08:00","gmt_modified":"2026-04-23T15:22:23.518527+08:00"},{"id":"a6e0b3fa65906c3c3cd88707e1d40059","path":"frontend/components/ui/label.tsx","line_range":"9-23","gmt_create":"2026-04-23T15:22:23.520181+08:00","gmt_modified":"2026-04-23T15:22:23.520181+08:00"},{"id":"9a909775022010b4686c2b00cdf1c165","path":"frontend/components/ui/badge.tsx","line_range":"6-34","gmt_create":"2026-04-23T15:22:23.521343+08:00","gmt_modified":"2026-04-23T15:22:23.521343+08:00"},{"id":"ce1cd184945ae56cf63f55168afd8050","path":"frontend/components/ui/dialog.tsx","line_range":"47-50","gmt_create":"2026-04-23T15:22:23.523823+08:00","gmt_modified":"2026-04-23T15:22:23.523823+08:00"},{"id":"4a2a06e1efcbc85deaa013dca155f20c","path":"frontend/tailwind.config.ts","line_range":"10-54","gmt_create":"2026-04-23T15:22:23.524333+08:00","gmt_modified":"2026-04-23T15:22:23.524333+08:00"},{"id":"8b00ea4aba57ea6ed982287fb7840805","path":"frontend/lib/utils.ts","line_range":"4-6","gmt_create":"2026-04-23T15:22:23.524876+08:00","gmt_modified":"2026-04-23T15:22:23.524876+08:00"},{"id":"7c0831c17e8c65eaed9511e17ed2a2ef","path":"backend/app/services/citation.py","line_range":"1-269","gmt_create":"2026-04-23T20:31:36.482111+08:00","gmt_modified":"2026-04-23T20:31:36.482111+08:00"},{"id":"71f98c8993fb42b108e34a554247869b","path":"backend/app/workers/scheduler.py","line_range":"1-95","gmt_create":"2026-04-23T20:31:36.482732+08:00","gmt_modified":"2026-04-23T20:31:36.482732+08:00"},{"id":"8d5aac2ae0671f05d7c0807ba9296cdf","path":"backend/app/workers/citation_engine.py","line_range":"1-330","gmt_create":"2026-04-23T20:31:36.4831+08:00","gmt_modified":"2026-04-23T20:31:36.4831+08:00"},{"id":"debd789847d1eed2d54198772edf68a2","path":"backend/app/workers/platforms/tongyi.py","line_range":"1-38","gmt_create":"2026-04-23T20:31:36.483423+08:00","gmt_modified":"2026-04-23T20:31:36.483423+08:00"},{"id":"3bde521d18cc7221ae2f14637e163aac","path":"backend/app/workers/platforms/doubao.py","line_range":"1-38","gmt_create":"2026-04-23T20:31:36.483821+08:00","gmt_modified":"2026-04-23T20:31:36.483821+08:00"},{"id":"c26862d9e0fc878b51a2668cfd2ec827","path":"backend/app/workers/platforms/qingyan.py","line_range":"1-38","gmt_create":"2026-04-23T20:31:36.484113+08:00","gmt_modified":"2026-04-23T20:31:36.484114+08:00"},{"id":"0fcc9c2e0d33b887c5f18a3807b64a1e","path":"backend/app/workers/platforms/tiangong.py","line_range":"1-38","gmt_create":"2026-04-23T20:31:36.484512+08:00","gmt_modified":"2026-04-23T20:31:36.484512+08:00"},{"id":"a4baa2444208b3f9a3f42bc492038207","path":"backend/app/workers/platforms/xinghuo.py","line_range":"1-38","gmt_create":"2026-04-23T20:31:36.485041+08:00","gmt_modified":"2026-04-23T20:31:36.485041+08:00"},{"id":"9f82f6d82bf914a608d6afa3d9854abf","path":"backend/app/workers/platforms/search_engine.py","line_range":"1-174","gmt_create":"2026-04-23T20:31:36.485492+08:00","gmt_modified":"2026-04-23T20:31:36.485492+08:00"},{"id":"6281fff17a86ec1895c64d87c2ae7fb1","path":"backend/app/models/query.py","line_range":"1-55","gmt_create":"2026-04-23T20:31:36.486251+08:00","gmt_modified":"2026-04-23T20:31:36.486251+08:00"},{"id":"943c18db69a04b3137fba4cebcfea87e","path":"backend/app/models/citation_record.py","line_range":"1-42","gmt_create":"2026-04-23T20:31:36.48687+08:00","gmt_modified":"2026-04-23T20:31:36.48687+08:00"},{"id":"6628e006b8e5ca16160743528b6b0506","path":"backend/app/models/query_task.py","line_range":"1-39","gmt_create":"2026-04-23T20:31:36.487305+08:00","gmt_modified":"2026-04-23T20:31:36.487305+08:00"},{"id":"72a110dca58d8152758e2fdab4e94761","path":"backend/app/workers/platforms/base.py","line_range":"1-18","gmt_create":"2026-04-23T20:31:36.490327+08:00","gmt_modified":"2026-04-23T20:31:36.490328+08:00"},{"id":"300e43c7a648440163f81039eaa47b5a","path":"frontend/lib/platforms.ts","line_range":"1-24","gmt_create":"2026-04-23T20:31:36.494718+08:00","gmt_modified":"2026-04-23T20:31:36.494718+08:00"},{"id":"caf1970ded8fc5d3921005e166e2100b","path":"backend/app/api/citations.py","line_range":"59-78","gmt_create":"2026-04-23T20:31:36.499676+08:00","gmt_modified":"2026-04-23T20:31:36.499677+08:00"},{"id":"4ded871d02b8119cdd985de8b220b084","path":"backend/app/services/citation.py","line_range":"204-234","gmt_create":"2026-04-23T20:31:36.500626+08:00","gmt_modified":"2026-04-23T20:31:36.500626+08:00"},{"id":"448970b02d89d5e1576f70bdb0063363","path":"backend/app/workers/scheduler.py","line_range":"51-84","gmt_create":"2026-04-23T20:31:36.501136+08:00","gmt_modified":"2026-04-23T20:31:36.501136+08:00"},{"id":"362d22f423631cda39404660b3317a2f","path":"backend/app/workers/citation_engine.py","line_range":"177-254","gmt_create":"2026-04-23T20:31:36.501596+08:00","gmt_modified":"2026-04-23T20:31:36.501596+08:00"},{"id":"b475ff5225ac403c7fcf3dd7e14cbac6","path":"backend/app/workers/platforms/tongyi.py","line_range":"16-33","gmt_create":"2026-04-23T20:31:36.502032+08:00","gmt_modified":"2026-04-23T20:31:36.502032+08:00"},{"id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","path":"backend/app/workers/platforms/search_engine.py","line_range":"163-174","gmt_create":"2026-04-23T20:31:36.502504+08:00","gmt_modified":"2026-04-23T20:31:36.502504+08:00"},{"id":"75c6ab0599d304bf36d290d4143d3d2f","path":"backend/app/models/query.py","line_range":"29-31","gmt_create":"2026-04-23T20:31:36.502934+08:00","gmt_modified":"2026-04-23T20:31:36.502934+08:00"},{"id":"2a6780838f1415dcb7d0fa611f64cee7","path":"backend/app/workers/platforms/base.py","line_range":"4-17","gmt_create":"2026-04-23T20:31:36.504228+08:00","gmt_modified":"2026-04-23T20:31:36.504228+08:00"},{"id":"c5ae7697193b2b93425ff25d2d7d54a9","path":"backend/app/workers/platforms/tongyi.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:36.505069+08:00","gmt_modified":"2026-04-23T20:31:36.505069+08:00"},{"id":"aa8c3fa3bc509dafe64d113bdd09eafa","path":"backend/app/workers/platforms/doubao.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:36.505502+08:00","gmt_modified":"2026-04-23T20:31:36.505503+08:00"},{"id":"eabb031e538ea62cab69b01368740d20","path":"backend/app/workers/platforms/qingyan.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:36.505932+08:00","gmt_modified":"2026-04-23T20:31:36.505932+08:00"},{"id":"b1c09e372a63e9854886adaea1663bea","path":"backend/app/workers/platforms/tiangong.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:36.50633+08:00","gmt_modified":"2026-04-23T20:31:36.50633+08:00"},{"id":"79793bcd507f9d287d19014b60d963d3","path":"backend/app/workers/platforms/xinghuo.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:36.506717+08:00","gmt_modified":"2026-04-23T20:31:36.506717+08:00"},{"id":"102223dd13475177a1ade8b9be14fbd1","path":"backend/app/workers/platforms/search_engine.py","line_range":"79-144","gmt_create":"2026-04-23T20:31:36.509667+08:00","gmt_modified":"2026-04-23T20:31:36.509667+08:00"},{"id":"8565f299083b4dcba5a328c947f06fee","path":"backend/app/workers/citation_engine.py","line_range":"256-287","gmt_create":"2026-04-23T20:31:36.512515+08:00","gmt_modified":"2026-04-23T20:31:36.512515+08:00"},{"id":"8af91caf063c12c8236f9675769ce4a1","path":"tests/test_citation_engine.py","line_range":"1-54","gmt_create":"2026-04-23T20:31:36.51401+08:00","gmt_modified":"2026-04-23T20:31:36.51401+08:00"},{"id":"005172b71dc742cf6803c5eb0185091e","path":"backend/requirements.txt","line_range":"1-36","gmt_create":"2026-04-23T20:31:36.516249+08:00","gmt_modified":"2026-04-23T20:31:36.516249+08:00"},{"id":"b55cc5936c299f819b57b899858438e6","path":"backend/app/workers/platforms/search_engine.py","line_range":"139-144","gmt_create":"2026-04-23T20:31:36.518228+08:00","gmt_modified":"2026-04-23T20:31:36.518228+08:00"},{"id":"384b1939e53970ce7ae75d241a49da5f","path":"backend/app/workers/platforms/tongyi.py","line_range":"22-29","gmt_create":"2026-04-23T20:31:36.518493+08:00","gmt_modified":"2026-04-23T20:31:36.518493+08:00"},{"id":"f096aa3ea82e9fa625a9acb1309b4c50","path":"backend/app/workers/citation_engine.py","line_range":"231-247","gmt_create":"2026-04-23T20:31:36.518795+08:00","gmt_modified":"2026-04-23T20:31:36.518795+08:00"},{"id":"15b8ebf74b0a5dfac58024d323ca8d0a","path":"backend/app/workers/citation_engine.py","line_range":"164-175","gmt_create":"2026-04-23T20:31:36.519395+08:00","gmt_modified":"2026-04-23T20:31:36.519395+08:00"},{"id":"bcfade20d923c8efa713808ca9af94ca","path":"backend/app/workers/platforms/wenxin.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:50.45294+08:00","gmt_modified":"2026-04-23T20:31:50.45294+08:00"},{"id":"ca7e1232fbba5fb75e04ab8e491bfbd1","path":"backend/app/workers/platforms/kimi.py","line_range":"10-38","gmt_create":"2026-04-23T20:31:50.453339+08:00","gmt_modified":"2026-04-23T20:31:50.453339+08:00"},{"id":"9720b93ed7247efb685e2825e5f964bf","path":"backend/app/workers/citation_engine.py","line_range":"161-176","gmt_create":"2026-04-23T20:31:50.454207+08:00","gmt_modified":"2026-04-23T20:31:50.454207+08:00"},{"id":"0d226400124ba891a46f59c36781ccd8","path":"backend/app/config.py","line_range":"9-23","gmt_create":"2026-04-23T20:31:50.454503+08:00","gmt_modified":"2026-04-23T20:31:50.454503+08:00"},{"id":"412695e5de2014514a8f62f98c573656","path":"backend/Dockerfile","line_range":"1-41","gmt_create":"2026-04-23T20:31:50.454798+08:00","gmt_modified":"2026-04-23T20:31:50.454798+08:00"},{"id":"485e15eb30a5b08da38a628c9dd5053e","path":"backend/app/workers/platforms/search_engine.py","line_range":"16-77","gmt_create":"2026-04-23T20:31:50.459138+08:00","gmt_modified":"2026-04-23T20:31:50.459138+08:00"},{"id":"77158a6f887e224a03552893bfec7c92","path":"backend/app/workers/platforms/wenxin.py","line_range":"16-33","gmt_create":"2026-04-23T20:31:50.461662+08:00","gmt_modified":"2026-04-23T20:31:50.461662+08:00"},{"id":"5c3f336b5a7b4af4cc2f2ac183539218","path":"backend/app/workers/platforms/search_engine.py","line_range":"79-145","gmt_create":"2026-04-23T20:31:50.464823+08:00","gmt_modified":"2026-04-23T20:31:50.464823+08:00"},{"id":"3894c1ed9dca2ebf2359f40ebdb1959e","path":"backend/app/workers/platforms/search_engine.py","line_range":"147-174","gmt_create":"2026-04-23T20:31:50.465221+08:00","gmt_modified":"2026-04-23T20:31:50.465221+08:00"},{"id":"e27bcba24aaadeec1922d2b4e5b8386b","path":"backend/app/api/queries.py","line_range":"1-109","gmt_create":"2026-04-23T20:31:50.46721+08:00","gmt_modified":"2026-04-23T20:31:50.46721+08:00"},{"id":"5f893f5078aa8e549284feb057aa45da","path":"backend/app/workers/platforms/wenxin.py","line_range":"16-29","gmt_create":"2026-04-23T20:31:50.469467+08:00","gmt_modified":"2026-04-23T20:31:50.469467+08:00"},{"id":"e0b68d2d24760689a0f4f00dfee5f9f2","path":"backend/app/workers/platforms/search_engine.py","line_range":"28-76","gmt_create":"2026-04-23T20:31:50.470319+08:00","gmt_modified":"2026-04-23T20:31:50.470319+08:00"},{"id":"e9b98ae83632342d8e06cde39e9c9462","path":"backend/app/workers/platforms/search_engine.py","line_range":"105-137","gmt_create":"2026-04-23T20:31:50.470672+08:00","gmt_modified":"2026-04-23T20:31:50.470672+08:00"},{"id":"c86edb7a95fbe4b431ac65a0e2b8636e","path":"backend/app/api/queries.py","line_range":"90-109","gmt_create":"2026-04-23T20:31:50.471824+08:00","gmt_modified":"2026-04-23T20:31:50.471825+08:00"},{"id":"6e054d9a78c0c8c9da8dec4c4bda62ab","path":"backend/app/database.py","line_range":"6-28","gmt_create":"2026-04-23T20:33:29.972803+08:00","gmt_modified":"2026-04-23T20:33:29.972803+08:00"},{"id":"9c16a069e5154660bfdfa48f3518fc6a","path":"backend/app/models/query_task.py","line_range":"11-38","gmt_create":"2026-04-23T20:33:29.980385+08:00","gmt_modified":"2026-04-23T20:33:29.980385+08:00"},{"id":"a4918fcbd21492ad996d7f5496f03a4b","path":"backend/app/workers/platforms/kimi.py","line_range":"33-48","gmt_create":"2026-04-23T20:33:29.982795+08:00","gmt_modified":"2026-04-23T20:33:29.982795+08:00"},{"id":"bc38d046b4b1410ae2165cee2272839e","path":"backend/app/workers/platforms/wenxin.py","line_range":"33-48","gmt_create":"2026-04-23T20:33:29.983597+08:00","gmt_modified":"2026-04-23T20:33:29.983597+08:00"},{"id":"72f6d334026866e8a61d2ffb1d83370a","path":"backend/app/workers/citation_engine.py","line_range":"19-100","gmt_create":"2026-04-23T20:33:29.986927+08:00","gmt_modified":"2026-04-23T20:33:29.986928+08:00"},{"id":"1d84b9a7eb013882953a2d1d948299e4","path":"backend/app/workers/platforms/kimi.py","line_range":"126-197","gmt_create":"2026-04-23T20:33:29.990308+08:00","gmt_modified":"2026-04-23T20:33:29.990308+08:00"},{"id":"ba687f2c64aff92b3906658359ed953a","path":"backend/app/workers/platforms/wenxin.py","line_range":"124-195","gmt_create":"2026-04-23T20:33:29.991213+08:00","gmt_modified":"2026-04-23T20:33:29.991213+08:00"},{"id":"52ee729b02c992c689522c7956c14128","path":"backend/app/workers/scheduler.py","line_range":"57-62","gmt_create":"2026-04-23T20:33:29.992799+08:00","gmt_modified":"2026-04-23T20:33:29.992799+08:00"},{"id":"c9e32b7324cce60c8887deb8404ee759","path":"backend/app/workers/scheduler.py","line_range":"107-112","gmt_create":"2026-04-23T20:33:29.99333+08:00","gmt_modified":"2026-04-23T20:33:29.99333+08:00"},{"id":"8355d3821337334caee57a75dc8c8865","path":"backend/app/services/query.py","line_range":"116-130","gmt_create":"2026-04-23T20:33:29.994505+08:00","gmt_modified":"2026-04-23T20:33:29.994505+08:00"},{"id":"4fe27d4d1323b500e72d870aa6212a1a","path":"backend/app/workers/scheduler.py","line_range":"13-20","gmt_create":"2026-04-23T20:33:29.996199+08:00","gmt_modified":"2026-04-23T20:33:29.996199+08:00"},{"id":"3729543092bccad8926c5ea852db1e69","path":"backend/app/workers/citation_engine.py","line_range":"148-157","gmt_create":"2026-04-23T20:33:29.996517+08:00","gmt_modified":"2026-04-23T20:33:29.996517+08:00"},{"id":"1ee5153c867fc6e9d277a3067963a1fc","path":"backend/app/workers/scheduler.py","line_range":"32-38","gmt_create":"2026-04-23T20:33:29.997154+08:00","gmt_modified":"2026-04-23T20:33:29.997154+08:00"},{"id":"ed527c7a549ec333c2b30b59614343df","path":"backend/app/models/query.py","line_range":"50-54","gmt_create":"2026-04-23T20:33:29.997453+08:00","gmt_modified":"2026-04-23T20:33:29.997453+08:00"},{"id":"1a3351698ecc7cd4e508b7a792804fc4","path":"backend/app/workers/citation_engine.py","line_range":"302-309","gmt_create":"2026-04-23T20:33:29.999284+08:00","gmt_modified":"2026-04-23T20:33:29.999284+08:00"},{"id":"e3e9710c7eead933c936519395f792e0","path":"backend/app/workers/scheduler.py","line_range":"44-49","gmt_create":"2026-04-23T20:33:30.00043+08:00","gmt_modified":"2026-04-23T20:33:30.000431+08:00"},{"id":"a4143cc29b14f1f5bc75a5e021690666","path":"backend/app/workers/platforms/kimi.py","line_range":"23-31","gmt_create":"2026-04-23T20:33:30.001466+08:00","gmt_modified":"2026-04-23T20:33:30.001466+08:00"},{"id":"7192cfda5508e7587efd91d26cf1f018","path":"backend/app/workers/platforms/wenxin.py","line_range":"23-31","gmt_create":"2026-04-23T20:33:30.002099+08:00","gmt_modified":"2026-04-23T20:33:30.002099+08:00"},{"id":"38142b7d7016c5590e638fafcdcb1a19","path":"backend/app/workers/citation_engine.py","line_range":"211-227","gmt_create":"2026-04-23T20:33:30.002775+08:00","gmt_modified":"2026-04-23T20:33:30.002775+08:00"},{"id":"fb5276346dcc4e7044d8765a8572e7a8","path":"backend/app/config.py","line_range":"4-16","gmt_create":"2026-04-23T20:33:30.003374+08:00","gmt_modified":"2026-04-23T20:33:30.003377+08:00"},{"id":"482d573f97b482b99bcde1c399eceb73","path":"backend/app/api/queries.py","line_range":"90-108","gmt_create":"2026-04-23T20:33:37.21132+08:00","gmt_modified":"2026-04-23T20:33:37.21132+08:00"},{"id":"56f44cc97867cee3e5663424134d6072","path":"backend/app/workers/platforms/kimi.py","line_range":"1-37","gmt_create":"2026-04-23T20:33:37.212923+08:00","gmt_modified":"2026-04-23T20:33:37.212923+08:00"},{"id":"2e326ef8322619f1e8b3873022cb0437","path":"backend/app/workers/platforms/wenxin.py","line_range":"1-37","gmt_create":"2026-04-23T20:33:37.213348+08:00","gmt_modified":"2026-04-23T20:33:37.213348+08:00"},{"id":"4cac57dbc530f0335c913ec5725dfa4f","path":"backend/app/workers/scheduler.py","line_range":"1-121","gmt_create":"2026-04-23T20:33:37.215373+08:00","gmt_modified":"2026-04-23T20:33:37.215373+08:00"},{"id":"db174cfe219fc84d0dd26529f047b1d0","path":"backend/app/workers/citation_engine.py","line_range":"161-330","gmt_create":"2026-04-23T20:33:37.22028+08:00","gmt_modified":"2026-04-23T20:33:37.22028+08:00"},{"id":"f36452f78aabfb0c46da03bbe25dff06","path":"backend/app/services/citation.py","line_range":"219-295","gmt_create":"2026-04-23T20:33:37.223165+08:00","gmt_modified":"2026-04-23T20:33:37.223165+08:00"},{"id":"52c01d7b9c17aa16944cbfcf8885be61","path":"backend/app/workers/platforms/kimi.py","line_range":"16-33","gmt_create":"2026-04-23T20:33:37.227954+08:00","gmt_modified":"2026-04-23T20:33:37.227954+08:00"},{"id":"9d352899554ab41b65b2e9f32558d811","path":"backend/app/workers/citation_engine.py","line_range":"39-113","gmt_create":"2026-04-23T20:33:37.229053+08:00","gmt_modified":"2026-04-23T20:33:37.229053+08:00"},{"id":"b1ee5a992230844ba898765be63f7b27","path":"backend/app/workers/citation_engine.py","line_range":"32-133","gmt_create":"2026-04-23T20:33:37.229555+08:00","gmt_modified":"2026-04-23T20:33:37.229555+08:00"},{"id":"cb098a3cd32339e99f755dfd0fc35b5c","path":"tests/test_citation_engine.py","line_range":"6-127","gmt_create":"2026-04-23T20:33:37.230048+08:00","gmt_modified":"2026-04-23T20:33:37.230049+08:00"},{"id":"3d2dab79f7a3fedf24f0212cc9ef7aa1","path":"backend/app/workers/citation_engine.py","line_range":"145-158","gmt_create":"2026-04-23T20:33:37.230491+08:00","gmt_modified":"2026-04-23T20:33:37.230491+08:00"},{"id":"4e9b3d0e94282f4bc6fa500f4eed61a1","path":"backend/app/workers/citation_engine.py","line_range":"135-159","gmt_create":"2026-04-23T20:33:37.231003+08:00","gmt_modified":"2026-04-23T20:33:37.231003+08:00"},{"id":"8e3201561a9dd9a06ee3bf68ffdb3f99","path":"tests/test_citation_engine.py","line_range":"39-109","gmt_create":"2026-04-23T20:33:37.231501+08:00","gmt_modified":"2026-04-23T20:33:37.231501+08:00"},{"id":"c3a417be3d61f5bcd3fbf976e0c4f15a","path":"backend/app/workers/scheduler.py","line_range":"33-121","gmt_create":"2026-04-23T20:33:37.238099+08:00","gmt_modified":"2026-04-23T20:33:37.238099+08:00"},{"id":"7ce954ed7d3bc4dcf78630124cc0dd88","path":"backend/app/services/citation.py","line_range":"264-295","gmt_create":"2026-04-23T20:33:37.244499+08:00","gmt_modified":"2026-04-23T20:33:37.244499+08:00"},{"id":"7289a3568c137c8a671fc8c963bb8d28","path":"backend/requirements.txt","line_range":"1-35","gmt_create":"2026-04-23T20:33:37.24795+08:00","gmt_modified":"2026-04-23T20:33:37.24795+08:00"},{"id":"ef82ce4377c549013c200e19701a6805","path":"backend/app/workers/platforms/kimi.py","line_range":"21-32","gmt_create":"2026-04-23T20:33:37.254004+08:00","gmt_modified":"2026-04-23T20:33:37.254004+08:00"},{"id":"c7986eb1be0ffdd9ec4e243be4270119","path":"backend/app/workers/platforms/wenxin.py","line_range":"21-32","gmt_create":"2026-04-23T20:33:37.254558+08:00","gmt_modified":"2026-04-23T20:33:37.254558+08:00"},{"id":"5563b3bd56550648dc70302c1762ce5a","path":"backend/app/workers/platforms/tongyi.py","line_range":"18-29","gmt_create":"2026-04-23T20:33:37.255643+08:00","gmt_modified":"2026-04-23T20:33:37.255643+08:00"},{"id":"91852ef8dcc844a2f85e9fce0227ab74","path":"backend/app/workers/platforms/doubao.py","line_range":"18-29","gmt_create":"2026-04-23T20:33:37.25603+08:00","gmt_modified":"2026-04-23T20:33:37.25603+08:00"},{"id":"1b46fab9e22f53db30ead5677d03e3e2","path":"backend/app/workers/citation_engine.py","line_range":"11-16","gmt_create":"2026-04-23T20:33:37.256413+08:00","gmt_modified":"2026-04-23T20:33:37.256413+08:00"},{"id":"4a2fa09aa3a948dec5ef8ba873b0e716","path":"backend/app/services/citation.py","line_range":"14-42","gmt_create":"2026-04-23T20:33:37.257057+08:00","gmt_modified":"2026-04-23T20:33:37.257057+08:00"},{"id":"e7afbab5932c93c3469f1a225e6c7156","path":"backend/app/api/citations.py","line_range":"1-55","gmt_create":"2026-04-23T20:33:57.479092+08:00","gmt_modified":"2026-04-23T20:33:57.479092+08:00"},{"id":"a0eac56d622a2fff529bc2b796064bcd","path":"backend/app/schemas/query.py","line_range":"1-94","gmt_create":"2026-04-23T20:33:57.479659+08:00","gmt_modified":"2026-04-23T20:33:57.479659+08:00"},{"id":"174be58163b6f72b4cd4a493f3463ce4","path":"backend/app/schemas/citation.py","line_range":"1-52","gmt_create":"2026-04-23T20:33:57.480222+08:00","gmt_modified":"2026-04-23T20:33:57.480222+08:00"},{"id":"136f172c732d0cc130532a4f0df475a4","path":"backend/app/models/user.py","line_range":"1-41","gmt_create":"2026-04-23T20:33:57.481714+08:00","gmt_modified":"2026-04-23T20:33:57.481714+08:00"},{"id":"916551131bd9ac8c9f9c8bb762af1fa4","path":"backend/app/services/query.py","line_range":"1-130","gmt_create":"2026-04-23T20:33:57.482172+08:00","gmt_modified":"2026-04-23T20:33:57.482172+08:00"},{"id":"5d2836286eb7d4eb6039b004a9744d26","path":"backend/app/services/citation.py","line_range":"1-429","gmt_create":"2026-04-23T20:33:57.482643+08:00","gmt_modified":"2026-04-23T20:33:57.482643+08:00"},{"id":"39a3b2d9301fa4eff7bef0fda3352790","path":"backend/app/workers/platforms/kimi.py","line_range":"1-206","gmt_create":"2026-04-23T20:33:57.484464+08:00","gmt_modified":"2026-04-23T20:33:57.484464+08:00"},{"id":"fbcfae3b1238b3da5329ebafe4294861","path":"backend/app/workers/platforms/wenxin.py","line_range":"1-205","gmt_create":"2026-04-23T20:33:57.484977+08:00","gmt_modified":"2026-04-23T20:33:57.484977+08:00"},{"id":"c4273407c88f470df7daf6a8ad5ce969","path":"backend/app/api/queries.py","line_range":"15-109","gmt_create":"2026-04-23T20:33:57.485748+08:00","gmt_modified":"2026-04-23T20:33:57.485748+08:00"},{"id":"35774e0a09ac5459c868914d7182ca95","path":"backend/app/api/citations.py","line_range":"19-55","gmt_create":"2026-04-23T20:33:57.486195+08:00","gmt_modified":"2026-04-23T20:33:57.486195+08:00"},{"id":"f639b566c26dfd18b24e3dfd2e9853ac","path":"backend/app/schemas/citation.py","line_range":"7-52","gmt_create":"2026-04-23T20:33:57.486916+08:00","gmt_modified":"2026-04-23T20:33:57.486916+08:00"},{"id":"b46654006178160f12897e2c5baac8fa","path":"backend/app/services/citation.py","line_range":"219-429","gmt_create":"2026-04-23T20:33:57.488934+08:00","gmt_modified":"2026-04-23T20:33:57.488934+08:00"},{"id":"82265d393c20d0af96beec6b9c657c27","path":"backend/app/api/queries.py","line_range":"28-41","gmt_create":"2026-04-23T20:33:57.49175+08:00","gmt_modified":"2026-04-23T20:33:57.49175+08:00"},{"id":"93e5c95b1691bb81a36bf9a0ac889030","path":"backend/app/services/citation.py","line_range":"219-261","gmt_create":"2026-04-23T20:33:57.493276+08:00","gmt_modified":"2026-04-23T20:33:57.493276+08:00"},{"id":"374200f0bf946f0399351756977d0495","path":"backend/app/workers/citation_engine.py","line_range":"176-234","gmt_create":"2026-04-23T20:33:57.498134+08:00","gmt_modified":"2026-04-23T20:33:57.498134+08:00"},{"id":"9a8d9100a6bc34ebae9ee065def7e88a","path":"backend/app/schemas/query.py","line_range":"44-72","gmt_create":"2026-04-23T20:33:57.500036+08:00","gmt_modified":"2026-04-23T20:33:57.500036+08:00"},{"id":"93c23bcc3456826af17e26a6d4c32116","path":"backend/app/schemas/query.py","line_range":"6-9","gmt_create":"2026-04-23T20:33:57.500633+08:00","gmt_modified":"2026-04-23T20:33:57.500633+08:00"},{"id":"c17eeb8726297096cd5542283f11494f","path":"backend/app/api/queries.py","line_range":"17-109","gmt_create":"2026-04-23T20:33:57.5019+08:00","gmt_modified":"2026-04-23T20:33:57.5019+08:00"},{"id":"08fec4718be6991260c00ca532f9173a","path":"backend/app/api/citations.py","line_range":"22-55","gmt_create":"2026-04-23T20:33:57.502347+08:00","gmt_modified":"2026-04-23T20:33:57.502347+08:00"},{"id":"08007199eea846dd14f15f7dc70419e2","path":"backend/app/schemas/citation.py","line_range":"48-52","gmt_create":"2026-04-23T20:33:57.50265+08:00","gmt_modified":"2026-04-23T20:33:57.50265+08:00"},{"id":"4caff756fd4da029bd64cd16e7ef5960","path":"backend/app/api/queries.py","line_range":"32-39","gmt_create":"2026-04-23T20:33:57.50293+08:00","gmt_modified":"2026-04-23T20:33:57.50293+08:00"},{"id":"b0220895f66f1273966ad5b2c3266952","path":"backend/app/api/queries.py","line_range":"49-53","gmt_create":"2026-04-23T20:33:57.503622+08:00","gmt_modified":"2026-04-23T20:33:57.503622+08:00"},{"id":"44f88f9664fdf6e84ffb7e0675a86a28","path":"backend/app/api/queries.py","line_range":"64-69","gmt_create":"2026-04-23T20:33:57.504188+08:00","gmt_modified":"2026-04-23T20:33:57.504188+08:00"},{"id":"91f280f51389bd1cf711dcf33a4da681","path":"backend/app/api/queries.py","line_range":"79-84","gmt_create":"2026-04-23T20:33:57.504712+08:00","gmt_modified":"2026-04-23T20:33:57.504712+08:00"},{"id":"ab50466a57c77659d7b469d3a8a04ddb","path":"backend/app/api/queries.py","line_range":"96-103","gmt_create":"2026-04-23T20:33:57.505025+08:00","gmt_modified":"2026-04-23T20:33:57.505025+08:00"},{"id":"572c2dece1fbc13aa2bb7d6b61b0fd5c","path":"backend/app/api/citations.py","line_range":"65-71","gmt_create":"2026-04-23T20:33:57.505311+08:00","gmt_modified":"2026-04-23T20:33:57.505311+08:00"},{"id":"82386bc7ca57d9ccc94b656e52bc89f6","path":"backend/app/api/queries.py","line_range":"1-14","gmt_create":"2026-04-23T20:33:57.506573+08:00","gmt_modified":"2026-04-23T20:33:57.506573+08:00"},{"id":"7ab79ab21d7d6e4dbcb224572516f6f6","path":"backend/app/api/citations.py","line_range":"1-19","gmt_create":"2026-04-23T20:33:57.507421+08:00","gmt_modified":"2026-04-23T20:33:57.507422+08:00"},{"id":"8433204d7a82a1f480e57df9ceee5581","path":"backend/app/services/query.py","line_range":"1-10","gmt_create":"2026-04-23T20:33:57.507906+08:00","gmt_modified":"2026-04-23T20:33:57.507906+08:00"},{"id":"3957ee6f15a01b7b541490438ef18684","path":"backend/app/services/citation.py","line_range":"1-17","gmt_create":"2026-04-23T20:33:57.508376+08:00","gmt_modified":"2026-04-23T20:33:57.508376+08:00"},{"id":"fcae8d1d281ad7186999cc4ca8e43db7","path":"backend/app/workers/scheduler.py","line_range":"25-39","gmt_create":"2026-04-23T20:33:57.509666+08:00","gmt_modified":"2026-04-23T20:33:57.509666+08:00"},{"id":"ee12a84ac6334b13e20132181454488b","path":"backend/app/workers/scheduler.py","line_range":"13-19","gmt_create":"2026-04-23T20:33:57.510112+08:00","gmt_modified":"2026-04-23T20:33:57.510112+08:00"},{"id":"897e047b94772e5a0ff57cf773a7f965","path":"backend/app/workers/platforms/kimi.py","line_range":"17-32","gmt_create":"2026-04-23T20:33:57.510534+08:00","gmt_modified":"2026-04-23T20:33:57.510534+08:00"},{"id":"53e8ec81b4d2dbb13c831048e5897036","path":"backend/app/workers/platforms/wenxin.py","line_range":"17-32","gmt_create":"2026-04-23T20:33:57.510845+08:00","gmt_modified":"2026-04-23T20:33:57.510845+08:00"},{"id":"fd3145047b9c813cc8e64b9322e531f9","path":"backend/app/services/citation.py","line_range":"219-327","gmt_create":"2026-04-23T20:33:57.516693+08:00","gmt_modified":"2026-04-23T20:33:57.516693+08:00"},{"id":"b09a0f415030d91b25e6cabd8a0a93fc","path":"backend/app/models/query_task.py","line_range":"176-289","gmt_create":"2026-04-23T20:33:57.51758+08:00","gmt_modified":"2026-04-23T20:33:57.51758+08:00"},{"id":"e2168959b26c386940370b5f1bf48d7d","path":"backend/app/models/citation_record.py","line_range":"194-204","gmt_create":"2026-04-23T20:33:57.517939+08:00","gmt_modified":"2026-04-23T20:33:57.517939+08:00"},{"id":"129573d2bbcde48697ed0e75dea12396","path":"backend/app/workers/scheduler.py","line_range":"25-40","gmt_create":"2026-04-23T20:35:18.586153+08:00","gmt_modified":"2026-04-23T20:35:18.586153+08:00"},{"id":"cf18c97a9be6c78aa43cc229ed3dad20","path":"backend/app/workers/citation_engine.py","line_range":"164-173","gmt_create":"2026-04-23T20:35:18.586656+08:00","gmt_modified":"2026-04-23T20:35:18.586656+08:00"},{"id":"3c7ca5d582dca31c2530b1ce9c058e95","path":"backend/app/workers/platforms/kimi.py","line_range":"10-37","gmt_create":"2026-04-23T20:35:18.587239+08:00","gmt_modified":"2026-04-23T20:35:18.587239+08:00"},{"id":"27047f868643e5457d4f242b4298a9f6","path":"frontend/lib/platforms.ts","line_range":"1-23","gmt_create":"2026-04-23T20:35:18.590782+08:00","gmt_modified":"2026-04-23T20:35:18.590782+08:00"},{"id":"1526e4e02133a48eac04befb74ec5bd1","path":"backend/app/workers/citation_engine.py","line_range":"161-173","gmt_create":"2026-04-23T20:35:18.592183+08:00","gmt_modified":"2026-04-23T20:35:18.592183+08:00"},{"id":"98c02d9bb7aa6e2b6be5f7381e64fd99","path":"backend/app/api/queries.py","line_range":"26-39","gmt_create":"2026-04-23T20:35:18.594026+08:00","gmt_modified":"2026-04-23T20:35:18.594026+08:00"},{"id":"2a971cb83924013902324eceeab22559","path":"backend/app/workers/platforms/kimi.py","line_range":"16-29","gmt_create":"2026-04-23T20:35:18.596805+08:00","gmt_modified":"2026-04-23T20:35:18.596805+08:00"},{"id":"99326fedad9275392719105b5b6782d6","path":"backend/app/workers/platforms/kimi.py","line_range":"31-33","gmt_create":"2026-04-23T20:35:18.597389+08:00","gmt_modified":"2026-04-23T20:35:18.597389+08:00"},{"id":"5e5dacc623918c0f1eba234154c99291","path":"backend/app/workers/platforms/search_engine.py","line_range":"16-76","gmt_create":"2026-04-23T20:35:18.598978+08:00","gmt_modified":"2026-04-23T20:35:18.598978+08:00"},{"id":"5be7e6cf82d6359efddaf131aaf92615","path":"backend/app/workers/citation_engine.py","line_range":"323-330","gmt_create":"2026-04-23T20:35:18.604342+08:00","gmt_modified":"2026-04-23T20:35:18.604342+08:00"},{"id":"129b746e71a9013ceb1b0fcc59942b39","path":"backend/app/workers/scheduler.py","line_range":"86-90","gmt_create":"2026-04-23T20:35:18.611167+08:00","gmt_modified":"2026-04-23T20:35:18.611167+08:00"},{"id":"d780e807ee751f39f331a658b47c4ed3","path":"backend/app/services/citation.py","line_range":"24-269","gmt_create":"2026-04-23T20:35:18.619146+08:00","gmt_modified":"2026-04-23T20:35:18.619146+08:00"},{"id":"8eea43550951387ac740b5e3e64c7691","path":"backend/app/workers/platforms/search_engine.py","line_range":"94-96","gmt_create":"2026-04-23T20:35:18.629044+08:00","gmt_modified":"2026-04-23T20:35:18.629044+08:00"},{"id":"37769b7e6b5588be0065681dedf514ed","path":"backend/app/workers/platforms/search_engine.py","line_range":"140-144","gmt_create":"2026-04-23T20:35:18.631486+08:00","gmt_modified":"2026-04-23T20:35:18.631486+08:00"},{"id":"518d184988b97ebc7ef0c0bf5c10f42c","path":"backend/app/workers/platforms/kimi.py","line_range":"24-29","gmt_create":"2026-04-23T20:35:18.631835+08:00","gmt_modified":"2026-04-23T20:35:18.631835+08:00"},{"id":"818504ee2e17d2f9cc8fe115ca321138","path":"backend/app/api/queries.py","line_range":"34-38","gmt_create":"2026-04-23T20:35:18.632132+08:00","gmt_modified":"2026-04-23T20:35:18.632132+08:00"},{"id":"8a1a0ffd82ac6ff54d3410e4ce59a6b8","path":"backend/app/api/citations.py","line_range":"25-56","gmt_create":"2026-04-23T20:35:18.633686+08:00","gmt_modified":"2026-04-23T20:35:18.633686+08:00"},{"id":"d4f99d3dd9fe489c354edf5fe2f8803d","path":"backend/app/models/citation_record.py","line_range":"1-44","gmt_create":"2026-04-23T20:35:45.581649+08:00","gmt_modified":"2026-04-23T20:35:45.58165+08:00"},{"id":"86e37040be1aeb400fab9b529f5404c8","path":"backend/app/models/subscription.py","line_range":"1-37","gmt_create":"2026-04-23T20:35:45.583254+08:00","gmt_modified":"2026-04-23T20:35:45.583254+08:00"},{"id":"211463f5b49610f09594c40c0a235943","path":"backend/alembic/env.py","line_range":"1-89","gmt_create":"2026-04-23T20:35:45.584058+08:00","gmt_modified":"2026-04-23T20:35:45.584058+08:00"},{"id":"48d22eaee09e364a293ad6c4750f5c5a","path":"docker-compose.yml","line_range":"1-71","gmt_create":"2026-04-23T20:35:45.587653+08:00","gmt_modified":"2026-04-23T20:35:45.587653+08:00"},{"id":"98cc82f62b83678f06a33cf9231ecdf8","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"1-128","gmt_create":"2026-04-23T20:35:45.597037+08:00","gmt_modified":"2026-04-23T20:35:45.597037+08:00"},{"id":"e1aabd52989e47806fb997157381e1cf","path":"backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py","line_range":"1-37","gmt_create":"2026-04-23T20:35:45.597747+08:00","gmt_modified":"2026-04-23T20:35:45.597747+08:00"},{"id":"ac77e4875817616194b7b5997d4fb1ae","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"57-94","gmt_create":"2026-04-23T20:35:45.611901+08:00","gmt_modified":"2026-04-23T20:35:45.611901+08:00"},{"id":"0e57efd98dacc85da21f995980371ee4","path":"backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py","line_range":"21-37","gmt_create":"2026-04-23T20:35:45.61338+08:00","gmt_modified":"2026-04-23T20:35:45.61338+08:00"},{"id":"717eb27184726e4f78d694984d29420c","path":"backend/app/models/citation_record.py","line_range":"37-44","gmt_create":"2026-04-23T20:35:45.615494+08:00","gmt_modified":"2026-04-23T20:35:45.615495+08:00"},{"id":"bfdf3479f244dc6794628d9df10ab6d0","path":"backend/app/models/query.py","line_range":"11-48","gmt_create":"2026-04-23T20:35:45.618458+08:00","gmt_modified":"2026-04-23T20:35:45.618458+08:00"},{"id":"f5f9f0d96263ae84631c7a8d7e9b3648","path":"backend/app/models/citation_record.py","line_range":"11-44","gmt_create":"2026-04-23T20:35:45.61929+08:00","gmt_modified":"2026-04-23T20:35:45.619291+08:00"},{"id":"818d1354dc0665798f3d91a2ca5153d6","path":"backend/app/models/query_task.py","line_range":"11-34","gmt_create":"2026-04-23T20:35:45.620036+08:00","gmt_modified":"2026-04-23T20:35:45.620036+08:00"},{"id":"24aade4c34609a8ab28e4643a3692201","path":"backend/app/models/subscription.py","line_range":"11-36","gmt_create":"2026-04-23T20:35:45.62075+08:00","gmt_modified":"2026-04-23T20:35:45.62075+08:00"},{"id":"d34337b9ff77246979252d2fd8fb8018","path":"backend/alembic/env.py","line_range":"33-88","gmt_create":"2026-04-23T20:35:45.628352+08:00","gmt_modified":"2026-04-23T20:35:45.628353+08:00"},{"id":"eb63042f04a22f9a67bd498df1684d20","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","line_range":"36-111","gmt_create":"2026-04-23T20:35:45.634829+08:00","gmt_modified":"2026-04-23T20:35:45.634829+08:00"},{"id":"c651c7ad6747a92ee96eabb2eb82afdd","path":"backend/app/database.py","line_range":"12-18","gmt_create":"2026-04-23T20:35:45.637195+08:00","gmt_modified":"2026-04-23T20:35:45.637195+08:00"},{"id":"dd01eee487298a28e950f6345196f1d4","path":"backend/app/services/citation.py","line_range":"30-79","gmt_create":"2026-04-23T20:35:45.637815+08:00","gmt_modified":"2026-04-23T20:35:45.637815+08:00"},{"id":"7dae7237f11c5100bf7889c105193cf6","path":"backend/app/services/query.py","line_range":"12-32","gmt_create":"2026-04-23T20:35:45.638422+08:00","gmt_modified":"2026-04-23T20:35:45.638422+08:00"},{"id":"cc64cf609f5ff218f618e0664ffa7cc7","path":"backend/app/services/citation.py","line_range":"298-308","gmt_create":"2026-04-23T20:35:45.641905+08:00","gmt_modified":"2026-04-23T20:35:45.641905+08:00"},{"id":"ce7e334595a4ce912e0d116314db9a35","path":"backend/app/services/citation.py","line_range":"342-429","gmt_create":"2026-04-23T20:35:45.6442+08:00","gmt_modified":"2026-04-23T20:35:45.6442+08:00"},{"id":"2f46f212597e3c245b9e5dcc5dbc863d","path":"backend/app/schemas/citation.py","line_range":"7-18","gmt_create":"2026-04-23T20:35:45.64501+08:00","gmt_modified":"2026-04-23T20:35:45.64501+08:00"},{"id":"dc40f1dd3e59ee7f046019201068bea1","path":"backend/app/services/citation.py","line_range":"14-22","gmt_create":"2026-04-23T20:35:45.659571+08:00","gmt_modified":"2026-04-23T20:35:45.659571+08:00"},{"id":"01a0c4b40819965823b56e9da858c024","path":"frontend/Dockerfile","line_range":"1-15","gmt_create":"2026-04-23T21:00:59.634151+08:00","gmt_modified":"2026-04-23T21:00:59.634151+08:00"},{"id":"13f6ca76349ef86ae756bb519f122bc5","path":"backend/alembic.ini","line_range":"1-150","gmt_create":"2026-04-23T21:00:59.636129+08:00","gmt_modified":"2026-04-23T21:00:59.636129+08:00"},{"id":"74abd6612105c29b67178fa9dbd04b61","path":"frontend/tsconfig.json","line_range":"1-27","gmt_create":"2026-04-23T21:00:59.639808+08:00","gmt_modified":"2026-04-23T21:00:59.639808+08:00"},{"id":"5bdaabf085a7c3eb6e87c5ad7479e25d","path":"frontend/.eslintrc.json","line_range":"1-4","gmt_create":"2026-04-23T21:00:59.640082+08:00","gmt_modified":"2026-04-23T21:00:59.640082+08:00"},{"id":"9482f4f6279a4f636b77e69b8273b996","path":"backend/alembic.ini","line_range":"86-114","gmt_create":"2026-04-23T21:00:59.64068+08:00","gmt_modified":"2026-04-23T21:00:59.64068+08:00"},{"id":"397b266f19a1addebdf6c32db71ae77f","path":"tests/conftest.py","line_range":"1-71","gmt_create":"2026-04-23T21:00:59.640958+08:00","gmt_modified":"2026-04-23T21:00:59.640958+08:00"},{"id":"eb603ec2611957de67af00756f4b1efa","path":"backend/app/config.py","line_range":"7-13","gmt_create":"2026-04-23T21:00:59.64236+08:00","gmt_modified":"2026-04-23T21:00:59.64236+08:00"},{"id":"c25b39830f3b7734da975acc7f214666","path":"backend/Dockerfile","line_range":"31-33","gmt_create":"2026-04-23T21:00:59.642682+08:00","gmt_modified":"2026-04-23T21:00:59.642682+08:00"},{"id":"4c9d362ecce8e796e6f14850def049b0","path":"docker-compose.yml","line_range":"4-20","gmt_create":"2026-04-23T21:00:59.642976+08:00","gmt_modified":"2026-04-23T21:00:59.642976+08:00"},{"id":"d5827be2cfbe41c8177660ae877e93a4","path":"docker-compose.yml","line_range":"22-34","gmt_create":"2026-04-23T21:00:59.643262+08:00","gmt_modified":"2026-04-23T21:00:59.643262+08:00"},{"id":"03a65cdcfc173217d12ad8a417f8f033","path":"backend/app/main.py","line_range":"13-21","gmt_create":"2026-04-23T21:00:59.643535+08:00","gmt_modified":"2026-04-23T21:00:59.643535+08:00"},{"id":"3365fa8db33d43bab1d0a614e8af3a70","path":"backend/app/main.py","line_range":"45-47","gmt_create":"2026-04-23T21:00:59.644124+08:00","gmt_modified":"2026-04-23T21:00:59.644124+08:00"},{"id":"6f637c2b0796ec533aafb3b865c11cf0","path":"backend/app/schemas/auth.py","line_range":"1-34","gmt_create":"2026-04-23T21:00:59.646408+08:00","gmt_modified":"2026-04-23T21:00:59.646408+08:00"},{"id":"a698e13bfada239280fc9354ff9e2331","path":"backend/app/config.py","line_range":"7-8","gmt_create":"2026-04-23T21:00:59.64811+08:00","gmt_modified":"2026-04-23T21:00:59.64811+08:00"},{"id":"37bbab6e4f16db7eac6eee9d05e80e46","path":"README.md","line_range":"1-3","gmt_create":"2026-04-23T21:00:59.649625+08:00","gmt_modified":"2026-04-23T21:00:59.649625+08:00"},{"id":"63ecbf5e72a0354028b84eb531a58977","path":"frontend/package.json","line_range":"11-38","gmt_create":"2026-04-23T21:00:59.650192+08:00","gmt_modified":"2026-04-23T21:00:59.650193+08:00"},{"id":"bf363deac5ef38c8dc80c73b862e730b","path":"docker-compose.yml","line_range":"4-34","gmt_create":"2026-04-23T21:00:59.651828+08:00","gmt_modified":"2026-04-23T21:00:59.651828+08:00"},{"id":"c6e94075e5f689bfa2fe16f8cf965203","path":"tests/conftest.py","line_range":"19-50","gmt_create":"2026-04-23T21:00:59.65241+08:00","gmt_modified":"2026-04-23T21:00:59.65241+08:00"},{"id":"1a78f5574add6d07a1d7c947dba3f23d","path":"backend/alembic.ini","line_range":"115-150","gmt_create":"2026-04-23T21:00:59.652679+08:00","gmt_modified":"2026-04-23T21:00:59.652679+08:00"},{"id":"f6810849c947471a4b45d7ca01ec8c5f","path":"frontend/tailwind.config.ts","line_range":"5-9","gmt_create":"2026-04-23T21:00:59.653659+08:00","gmt_modified":"2026-04-23T21:00:59.653659+08:00"},{"id":"9f6d9941f3b93e29d714bfec7e83434c","path":"backend/app/main.py","line_range":"30-36","gmt_create":"2026-04-23T21:00:59.653983+08:00","gmt_modified":"2026-04-23T21:00:59.653984+08:00"},{"id":"669d67125dcddb0756f4ff50a43512c6","path":"backend/app/config.py","line_range":"9-13","gmt_create":"2026-04-23T21:00:59.654266+08:00","gmt_modified":"2026-04-23T21:00:59.654266+08:00"},{"id":"85792f0b1e34b5b48b0300aa606ed6e6","path":"backend/app/main.py","line_range":"1-56","gmt_create":"2026-04-23T21:02:44.159246+08:00","gmt_modified":"2026-04-23T21:02:44.159246+08:00"}],"knowledge_relations":[{"id":1,"source_id":"34e572eb-6fc8-4de7-8061-63783ef8be24","target_id":"2793782c-91c8-4052-b9db-39513426c736","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 34e572eb-6fc8-4de7-8061-63783ef8be24 -\u003e 2793782c-91c8-4052-b9db-39513426c736","gmt_create":"2026-04-22T19:25:18.918463+08:00","gmt_modified":"2026-04-22T19:25:18.918463+08:00"},{"id":2,"source_id":"34e572eb-6fc8-4de7-8061-63783ef8be24","target_id":"e23bd86e-b4ac-40eb-b1c1-38d929fd5419","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 34e572eb-6fc8-4de7-8061-63783ef8be24 -\u003e e23bd86e-b4ac-40eb-b1c1-38d929fd5419","gmt_create":"2026-04-22T19:25:18.919833+08:00","gmt_modified":"2026-04-22T19:25:18.919833+08:00"},{"id":3,"source_id":"34e572eb-6fc8-4de7-8061-63783ef8be24","target_id":"70b3948e-f456-42d2-b7ad-a0097ad5ee5f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 34e572eb-6fc8-4de7-8061-63783ef8be24 -\u003e 70b3948e-f456-42d2-b7ad-a0097ad5ee5f","gmt_create":"2026-04-22T19:25:18.92034+08:00","gmt_modified":"2026-04-22T19:25:18.92034+08:00"},{"id":4,"source_id":"34e572eb-6fc8-4de7-8061-63783ef8be24","target_id":"1c4316a1-f1d7-46da-bcfc-ea2fa0c56110","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 34e572eb-6fc8-4de7-8061-63783ef8be24 -\u003e 1c4316a1-f1d7-46da-bcfc-ea2fa0c56110","gmt_create":"2026-04-22T19:25:18.920778+08:00","gmt_modified":"2026-04-22T19:25:18.920778+08:00"},{"id":5,"source_id":"34e572eb-6fc8-4de7-8061-63783ef8be24","target_id":"7e679d62-c415-4d6a-a7e5-d41d00e0ed69","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 34e572eb-6fc8-4de7-8061-63783ef8be24 -\u003e 7e679d62-c415-4d6a-a7e5-d41d00e0ed69","gmt_create":"2026-04-22T19:25:18.921203+08:00","gmt_modified":"2026-04-22T19:25:18.921204+08:00"},{"id":6,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"f94da0b4-8a07-4de1-b0b3-d3b32a12c3c1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e f94da0b4-8a07-4de1-b0b3-d3b32a12c3c1","gmt_create":"2026-04-22T19:25:18.921638+08:00","gmt_modified":"2026-04-22T19:25:18.921638+08:00"},{"id":7,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"df661133-efbf-43fe-97c3-f581c81f47a7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e df661133-efbf-43fe-97c3-f581c81f47a7","gmt_create":"2026-04-22T19:25:18.922154+08:00","gmt_modified":"2026-04-22T19:25:18.922154+08:00"},{"id":8,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"11936bb5-374f-40f4-bb53-b75264fc4b9d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e 11936bb5-374f-40f4-bb53-b75264fc4b9d","gmt_create":"2026-04-22T19:25:18.922617+08:00","gmt_modified":"2026-04-22T19:25:18.922617+08:00"},{"id":9,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"23ad3419-5473-4e2c-ac87-d9715090279d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e 23ad3419-5473-4e2c-ac87-d9715090279d","gmt_create":"2026-04-22T19:25:18.923059+08:00","gmt_modified":"2026-04-22T19:25:18.923059+08:00"},{"id":11,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"83fe6837-7874-4467-8114-103062f15f58","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e 83fe6837-7874-4467-8114-103062f15f58","gmt_create":"2026-04-22T19:25:18.924565+08:00","gmt_modified":"2026-04-22T19:25:18.924565+08:00"},{"id":12,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"c112a3f4-b0a1-4c4a-a325-e3ede8c90be6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e c112a3f4-b0a1-4c4a-a325-e3ede8c90be6","gmt_create":"2026-04-22T19:25:18.925143+08:00","gmt_modified":"2026-04-22T19:25:18.925143+08:00"},{"id":13,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"2b32ec11-d228-42c0-9232-103ba7e44f71","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e 2b32ec11-d228-42c0-9232-103ba7e44f71","gmt_create":"2026-04-22T19:25:18.925589+08:00","gmt_modified":"2026-04-22T19:25:18.925589+08:00"},{"id":16,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"a40267bc-925a-4364-a01f-b96d3df60aea","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e a40267bc-925a-4364-a01f-b96d3df60aea","gmt_create":"2026-04-22T19:25:18.927133+08:00","gmt_modified":"2026-04-22T19:25:18.927133+08:00"},{"id":17,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"7bd2c461-81b0-48e8-8cb3-b4b14305806d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e 7bd2c461-81b0-48e8-8cb3-b4b14305806d","gmt_create":"2026-04-22T19:25:18.927624+08:00","gmt_modified":"2026-04-22T19:25:18.927625+08:00"},{"id":34,"source_id":"98909ecc-fceb-4ab7-a26f-741838eb2e50","target_id":"1ed0b482-3d6a-4bfd-af40-47a5d1f3e802","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98909ecc-fceb-4ab7-a26f-741838eb2e50 -\u003e 1ed0b482-3d6a-4bfd-af40-47a5d1f3e802","gmt_create":"2026-04-22T19:25:18.934991+08:00","gmt_modified":"2026-04-22T19:25:18.934991+08:00"},{"id":35,"source_id":"98909ecc-fceb-4ab7-a26f-741838eb2e50","target_id":"26f80935-eac2-44ee-bcdb-d6a79c537750","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98909ecc-fceb-4ab7-a26f-741838eb2e50 -\u003e 26f80935-eac2-44ee-bcdb-d6a79c537750","gmt_create":"2026-04-22T19:25:18.935426+08:00","gmt_modified":"2026-04-22T19:25:18.935426+08:00"},{"id":36,"source_id":"98909ecc-fceb-4ab7-a26f-741838eb2e50","target_id":"eb1288f7-5ea1-413a-8f54-4f870306d14d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98909ecc-fceb-4ab7-a26f-741838eb2e50 -\u003e eb1288f7-5ea1-413a-8f54-4f870306d14d","gmt_create":"2026-04-22T19:25:18.935875+08:00","gmt_modified":"2026-04-22T19:25:18.935875+08:00"},{"id":37,"source_id":"98909ecc-fceb-4ab7-a26f-741838eb2e50","target_id":"aa6db9b6-71e1-4497-a0e2-f3ff25358d3a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 98909ecc-fceb-4ab7-a26f-741838eb2e50 -\u003e aa6db9b6-71e1-4497-a0e2-f3ff25358d3a","gmt_create":"2026-04-22T19:25:18.936315+08:00","gmt_modified":"2026-04-22T19:25:18.936316+08:00"},{"id":45,"source_id":"c5849940-e223-4222-be17-aa0a6cb36bc8","target_id":"d2c7157d-157f-4990-8f76-11f3ea5435f7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c5849940-e223-4222-be17-aa0a6cb36bc8 -\u003e d2c7157d-157f-4990-8f76-11f3ea5435f7","gmt_create":"2026-04-22T19:25:18.939978+08:00","gmt_modified":"2026-04-22T19:25:18.939978+08:00"},{"id":46,"source_id":"c5849940-e223-4222-be17-aa0a6cb36bc8","target_id":"e1e0bd0e-01b3-4543-9781-d9beb32b9a57","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c5849940-e223-4222-be17-aa0a6cb36bc8 -\u003e e1e0bd0e-01b3-4543-9781-d9beb32b9a57","gmt_create":"2026-04-22T19:25:18.940415+08:00","gmt_modified":"2026-04-22T19:25:18.940415+08:00"},{"id":47,"source_id":"c5849940-e223-4222-be17-aa0a6cb36bc8","target_id":"e9a02c86-236b-49cb-bbed-9462ee123c04","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c5849940-e223-4222-be17-aa0a6cb36bc8 -\u003e e9a02c86-236b-49cb-bbed-9462ee123c04","gmt_create":"2026-04-22T19:25:18.941227+08:00","gmt_modified":"2026-04-22T19:25:18.941227+08:00"},{"id":48,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"12e2c3d7b9a92dc44a6ee29b85e10df6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/app/layout.tsx","gmt_create":"2026-04-23T15:19:43.777831+08:00","gmt_modified":"2026-04-23T15:19:43.777831+08:00"},{"id":49,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"2a1c745c7b3fb7f600596be3d979bba1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/app/(dashboard","gmt_create":"2026-04-23T15:19:43.778774+08:00","gmt_modified":"2026-04-23T15:19:43.778774+08:00"},{"id":50,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"eca13a610badfc5ffc6210827fb96991","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/layout/header.tsx","gmt_create":"2026-04-23T15:19:43.779153+08:00","gmt_modified":"2026-04-23T15:19:43.779154+08:00"},{"id":51,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"18a0651d895fba9bb4e0c0229459efdc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/layout/sidebar.tsx","gmt_create":"2026-04-23T15:19:43.779524+08:00","gmt_modified":"2026-04-23T15:19:43.779524+08:00"},{"id":52,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"5d7886d0dc99f81073a578b8aefdd375","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/api.ts","gmt_create":"2026-04-23T15:19:43.779869+08:00","gmt_modified":"2026-04-23T15:19:43.779869+08:00"},{"id":53,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"0c0b0f4e2cf44facd9d5b57de0d0bf0c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/table.tsx","gmt_create":"2026-04-23T15:19:43.780775+08:00","gmt_modified":"2026-04-23T15:19:43.780775+08:00"},{"id":54,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"108b0c4b4dcfb6aa39a5eb138225c148","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/dialog.tsx","gmt_create":"2026-04-23T15:19:43.781767+08:00","gmt_modified":"2026-04-23T15:19:43.781767+08:00"},{"id":55,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"ef72f0c3cedb9fd9a87352fe493053dc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/platforms.ts","gmt_create":"2026-04-23T15:19:43.782177+08:00","gmt_modified":"2026-04-23T15:19:43.782177+08:00"},{"id":56,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"f93ae024fe0a2e69698037dff6df205f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/utils.ts","gmt_create":"2026-04-23T15:19:43.782527+08:00","gmt_modified":"2026-04-23T15:19:43.782527+08:00"},{"id":57,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"d5f2266643d2011c66e86af088ec637f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/charts/trend-chart.tsx","gmt_create":"2026-04-23T15:19:43.782861+08:00","gmt_modified":"2026-04-23T15:19:43.782861+08:00"},{"id":58,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"f1a7d61831cc0a45ac6220294f15c21d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/charts/platform-chart.tsx","gmt_create":"2026-04-23T15:19:43.783164+08:00","gmt_modified":"2026-04-23T15:19:43.783165+08:00"},{"id":59,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"8a466b0c6eac2ccb54c5da7e13854646","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/app/layout.tsx#1-37","gmt_create":"2026-04-23T15:19:43.783668+08:00","gmt_modified":"2026-04-23T15:19:43.783668+08:00"},{"id":60,"source_id":"12e2c3d7b9a92dc44a6ee29b85e10df6","target_id":"8a466b0c6eac2ccb54c5da7e13854646","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T15:19:43.783987+08:00","gmt_modified":"2026-04-23T15:19:43.783987+08:00"},{"id":61,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"3bd4eedea376e3a3d9f9fbff4fe27a65","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/layout/sidebar.tsx#1-54","gmt_create":"2026-04-23T15:19:43.784455+08:00","gmt_modified":"2026-04-23T15:19:43.784455+08:00"},{"id":62,"source_id":"18a0651d895fba9bb4e0c0229459efdc","target_id":"3bd4eedea376e3a3d9f9fbff4fe27a65","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-54","gmt_create":"2026-04-23T15:19:43.784807+08:00","gmt_modified":"2026-04-23T15:19:43.784807+08:00"},{"id":63,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"0d903468b55bdc63cc7e25a87a89c522","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/layout/header.tsx#1-30","gmt_create":"2026-04-23T15:19:43.785303+08:00","gmt_modified":"2026-04-23T15:19:43.785303+08:00"},{"id":64,"source_id":"eca13a610badfc5ffc6210827fb96991","target_id":"0d903468b55bdc63cc7e25a87a89c522","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-30","gmt_create":"2026-04-23T15:19:43.785622+08:00","gmt_modified":"2026-04-23T15:19:43.785622+08:00"},{"id":65,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"3bab92a09e9fb456e0303bb1e04afc7e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/table.tsx#1-118","gmt_create":"2026-04-23T15:19:43.78727+08:00","gmt_modified":"2026-04-23T15:19:43.787271+08:00"},{"id":66,"source_id":"0c0b0f4e2cf44facd9d5b57de0d0bf0c","target_id":"3bab92a09e9fb456e0303bb1e04afc7e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-118","gmt_create":"2026-04-23T15:19:43.788224+08:00","gmt_modified":"2026-04-23T15:19:43.788224+08:00"},{"id":67,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"0eed9f61572209dd754611fc7c690d5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dialog.tsx#1-123","gmt_create":"2026-04-23T15:19:43.789533+08:00","gmt_modified":"2026-04-23T15:19:43.789533+08:00"},{"id":68,"source_id":"108b0c4b4dcfb6aa39a5eb138225c148","target_id":"0eed9f61572209dd754611fc7c690d5a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-123","gmt_create":"2026-04-23T15:19:43.790255+08:00","gmt_modified":"2026-04-23T15:19:43.790255+08:00"},{"id":69,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"b7796fc6197ecce5beb461b9466e54a0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/charts/trend-chart.tsx#1-60","gmt_create":"2026-04-23T15:19:43.790795+08:00","gmt_modified":"2026-04-23T15:19:43.790795+08:00"},{"id":70,"source_id":"d5f2266643d2011c66e86af088ec637f","target_id":"b7796fc6197ecce5beb461b9466e54a0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-60","gmt_create":"2026-04-23T15:19:43.791134+08:00","gmt_modified":"2026-04-23T15:19:43.791134+08:00"},{"id":71,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"6b9f52af0b6d78c17ff9bbc42d760ea2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/charts/platform-chart.tsx#1-68","gmt_create":"2026-04-23T15:19:43.791601+08:00","gmt_modified":"2026-04-23T15:19:43.791601+08:00"},{"id":72,"source_id":"f1a7d61831cc0a45ac6220294f15c21d","target_id":"6b9f52af0b6d78c17ff9bbc42d760ea2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-68","gmt_create":"2026-04-23T15:19:43.791902+08:00","gmt_modified":"2026-04-23T15:19:43.791902+08:00"},{"id":73,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"a829403082cc3460c01e0110229c53c4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/platforms.ts#1-18","gmt_create":"2026-04-23T15:19:43.792356+08:00","gmt_modified":"2026-04-23T15:19:43.792356+08:00"},{"id":74,"source_id":"ef72f0c3cedb9fd9a87352fe493053dc","target_id":"a829403082cc3460c01e0110229c53c4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-18","gmt_create":"2026-04-23T15:19:43.79267+08:00","gmt_modified":"2026-04-23T15:19:43.79267+08:00"},{"id":75,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"dcfa308ef4ec368c5a51a17acbfc8e2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/utils.ts#1-7","gmt_create":"2026-04-23T15:19:43.79312+08:00","gmt_modified":"2026-04-23T15:19:43.79312+08:00"},{"id":76,"source_id":"f93ae024fe0a2e69698037dff6df205f","target_id":"dcfa308ef4ec368c5a51a17acbfc8e2c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-7","gmt_create":"2026-04-23T15:19:43.793455+08:00","gmt_modified":"2026-04-23T15:19:43.793455+08:00"},{"id":77,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"0f87c8089f548883d056f0a0d79e273f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/api.ts#1-79","gmt_create":"2026-04-23T15:19:43.793866+08:00","gmt_modified":"2026-04-23T15:19:43.793866+08:00"},{"id":78,"source_id":"5d7886d0dc99f81073a578b8aefdd375","target_id":"0f87c8089f548883d056f0a0d79e273f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-79","gmt_create":"2026-04-23T15:19:43.794158+08:00","gmt_modified":"2026-04-23T15:19:43.794158+08:00"},{"id":79,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"9beee1f41fe8f0750fd97155f9d54bbb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/api.ts#67-70","gmt_create":"2026-04-23T15:19:43.797877+08:00","gmt_modified":"2026-04-23T15:19:43.797877+08:00"},{"id":80,"source_id":"5d7886d0dc99f81073a578b8aefdd375","target_id":"9beee1f41fe8f0750fd97155f9d54bbb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 67-70","gmt_create":"2026-04-23T15:19:43.798244+08:00","gmt_modified":"2026-04-23T15:19:43.798244+08:00"},{"id":81,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"8fe2e22a963442076e1ce16ab777573c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/api.ts#56-66","gmt_create":"2026-04-23T15:19:43.799319+08:00","gmt_modified":"2026-04-23T15:19:43.799319+08:00"},{"id":82,"source_id":"5d7886d0dc99f81073a578b8aefdd375","target_id":"8fe2e22a963442076e1ce16ab777573c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 56-66","gmt_create":"2026-04-23T15:19:43.799625+08:00","gmt_modified":"2026-04-23T15:19:43.799625+08:00"},{"id":83,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"3124ad882ca2cf8fecb6b93696c7f233","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/api.ts#72-77","gmt_create":"2026-04-23T15:19:43.801555+08:00","gmt_modified":"2026-04-23T15:19:43.801555+08:00"},{"id":84,"source_id":"5d7886d0dc99f81073a578b8aefdd375","target_id":"3124ad882ca2cf8fecb6b93696c7f233","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 72-77","gmt_create":"2026-04-23T15:19:43.801939+08:00","gmt_modified":"2026-04-23T15:19:43.801939+08:00"},{"id":85,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"17a97b4ac37fb67b8eda7ce2887c38e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/app/layout.tsx#17-20","gmt_create":"2026-04-23T15:19:43.806186+08:00","gmt_modified":"2026-04-23T15:19:43.806186+08:00"},{"id":86,"source_id":"12e2c3d7b9a92dc44a6ee29b85e10df6","target_id":"17a97b4ac37fb67b8eda7ce2887c38e7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-20","gmt_create":"2026-04-23T15:19:43.80664+08:00","gmt_modified":"2026-04-23T15:19:43.80664+08:00"},{"id":87,"source_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","target_id":"84cba1e0d516e8c9859402fd5c1bc83c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/api.ts#3-40","gmt_create":"2026-04-23T15:19:43.815637+08:00","gmt_modified":"2026-04-23T15:19:43.815637+08:00"},{"id":88,"source_id":"5d7886d0dc99f81073a578b8aefdd375","target_id":"84cba1e0d516e8c9859402fd5c1bc83c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-40","gmt_create":"2026-04-23T15:19:43.817147+08:00","gmt_modified":"2026-04-23T15:19:43.817147+08:00"},{"id":89,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T15:19:45.610941+08:00","gmt_modified":"2026-04-23T15:19:45.610941+08:00"},{"id":90,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"93022c8938ce318f167277cfa65c29a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/auth.py","gmt_create":"2026-04-23T15:19:45.611315+08:00","gmt_modified":"2026-04-23T15:19:45.611315+08:00"},{"id":91,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T15:19:45.611638+08:00","gmt_modified":"2026-04-23T15:19:45.611638+08:00"},{"id":92,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T15:19:45.611969+08:00","gmt_modified":"2026-04-23T15:19:45.611969+08:00"},{"id":93,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"58901c94d975d87e652a4dc6c8dda656","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/reports.py","gmt_create":"2026-04-23T15:19:45.612281+08:00","gmt_modified":"2026-04-23T15:19:45.612282+08:00"},{"id":94,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"9d08667997a868fc07c9b4e328e44224","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/deps.py","gmt_create":"2026-04-23T15:19:45.612634+08:00","gmt_modified":"2026-04-23T15:19:45.612634+08:00"},{"id":95,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"e0c0ca66b8b81cf66e078a7ab162c07f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/auth.py","gmt_create":"2026-04-23T15:19:45.612995+08:00","gmt_modified":"2026-04-23T15:19:45.612995+08:00"},{"id":96,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"f301b79d833233ce39d350e82a71c938","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/query.py","gmt_create":"2026-04-23T15:19:45.613329+08:00","gmt_modified":"2026-04-23T15:19:45.613329+08:00"},{"id":97,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"1a3336b4af8a39a055e912724338580c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/citation.py","gmt_create":"2026-04-23T15:19:45.613646+08:00","gmt_modified":"2026-04-23T15:19:45.613647+08:00"},{"id":98,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"4d2f3847b7c10634733118b70a1aea0b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/auth.py","gmt_create":"2026-04-23T15:19:45.613962+08:00","gmt_modified":"2026-04-23T15:19:45.613962+08:00"},{"id":99,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T15:19:45.614276+08:00","gmt_modified":"2026-04-23T15:19:45.614276+08:00"},{"id":100,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T15:19:45.614712+08:00","gmt_modified":"2026-04-23T15:19:45.614712+08:00"},{"id":101,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T15:19:45.61522+08:00","gmt_modified":"2026-04-23T15:19:45.61522+08:00"},{"id":102,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"c59f8c276697a070dffc581fe94d809c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/user.py","gmt_create":"2026-04-23T15:19:45.615619+08:00","gmt_modified":"2026-04-23T15:19:45.615619+08:00"},{"id":103,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T15:19:45.615972+08:00","gmt_modified":"2026-04-23T15:19:45.615972+08:00"},{"id":104,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T15:19:45.616295+08:00","gmt_modified":"2026-04-23T15:19:45.616295+08:00"},{"id":105,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T15:19:45.616638+08:00","gmt_modified":"2026-04-23T15:19:45.616638+08:00"},{"id":106,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"b55a164add5a8fec2ef0e489f7234829","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#24-47","gmt_create":"2026-04-23T15:19:45.61708+08:00","gmt_modified":"2026-04-23T15:19:45.61708+08:00"},{"id":107,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"b55a164add5a8fec2ef0e489f7234829","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-47","gmt_create":"2026-04-23T15:19:45.617445+08:00","gmt_modified":"2026-04-23T15:19:45.617445+08:00"},{"id":108,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"16d619435094a63740357cd6317b52cb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#10","gmt_create":"2026-04-23T15:19:45.617883+08:00","gmt_modified":"2026-04-23T15:19:45.617883+08:00"},{"id":109,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"16d619435094a63740357cd6317b52cb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10","gmt_create":"2026-04-23T15:19:45.618177+08:00","gmt_modified":"2026-04-23T15:19:45.618177+08:00"},{"id":110,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"fa1ee5e3822128a37e9d03af74083392","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#12","gmt_create":"2026-04-23T15:19:45.61874+08:00","gmt_modified":"2026-04-23T15:19:45.61874+08:00"},{"id":111,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"fa1ee5e3822128a37e9d03af74083392","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12","gmt_create":"2026-04-23T15:19:45.619215+08:00","gmt_modified":"2026-04-23T15:19:45.619215+08:00"},{"id":112,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"7e908f05baccdfcf7f4a3ef3c9cd5c38","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#21","gmt_create":"2026-04-23T15:19:45.619736+08:00","gmt_modified":"2026-04-23T15:19:45.619736+08:00"},{"id":113,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"7e908f05baccdfcf7f4a3ef3c9cd5c38","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21","gmt_create":"2026-04-23T15:19:45.620246+08:00","gmt_modified":"2026-04-23T15:19:45.620246+08:00"},{"id":114,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"ffe6df344be81bde3941ad8f0d77910b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/reports.py#13","gmt_create":"2026-04-23T15:19:45.622123+08:00","gmt_modified":"2026-04-23T15:19:45.622124+08:00"},{"id":115,"source_id":"58901c94d975d87e652a4dc6c8dda656","target_id":"ffe6df344be81bde3941ad8f0d77910b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13","gmt_create":"2026-04-23T15:19:45.623067+08:00","gmt_modified":"2026-04-23T15:19:45.623067+08:00"},{"id":116,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"c71fb14f8866e34c679c94a4e2432bc7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/deps.py#13","gmt_create":"2026-04-23T15:19:45.624216+08:00","gmt_modified":"2026-04-23T15:19:45.624217+08:00"},{"id":117,"source_id":"9d08667997a868fc07c9b4e328e44224","target_id":"c71fb14f8866e34c679c94a4e2432bc7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13","gmt_create":"2026-04-23T15:19:45.624846+08:00","gmt_modified":"2026-04-23T15:19:45.624846+08:00"},{"id":118,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"3c68f1581d2fd6aa845dd71111a9aa9d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-57","gmt_create":"2026-04-23T15:19:45.62545+08:00","gmt_modified":"2026-04-23T15:19:45.62545+08:00"},{"id":119,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"3c68f1581d2fd6aa845dd71111a9aa9d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-57","gmt_create":"2026-04-23T15:19:45.625985+08:00","gmt_modified":"2026-04-23T15:19:45.625985+08:00"},{"id":120,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"39afb05755a93800fd685af7274110cb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-57","gmt_create":"2026-04-23T15:19:45.626544+08:00","gmt_modified":"2026-04-23T15:19:45.626544+08:00"},{"id":121,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"39afb05755a93800fd685af7274110cb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-57","gmt_create":"2026-04-23T15:19:45.626917+08:00","gmt_modified":"2026-04-23T15:19:45.626917+08:00"},{"id":122,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"87a177f17800991e1ed1fb7be03abdb2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#13-42","gmt_create":"2026-04-23T15:19:45.627469+08:00","gmt_modified":"2026-04-23T15:19:45.62747+08:00"},{"id":123,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"87a177f17800991e1ed1fb7be03abdb2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-42","gmt_create":"2026-04-23T15:19:45.627772+08:00","gmt_modified":"2026-04-23T15:19:45.627772+08:00"},{"id":124,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"ae9de874df4a46f4197b6c157c25ec6e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-85","gmt_create":"2026-04-23T15:19:45.628226+08:00","gmt_modified":"2026-04-23T15:19:45.628226+08:00"},{"id":125,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"ae9de874df4a46f4197b6c157c25ec6e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-85","gmt_create":"2026-04-23T15:19:45.628538+08:00","gmt_modified":"2026-04-23T15:19:45.628538+08:00"},{"id":126,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"c066a8d4bffabed87a2e38ccad81c107","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#25-77","gmt_create":"2026-04-23T15:19:45.629104+08:00","gmt_modified":"2026-04-23T15:19:45.629104+08:00"},{"id":127,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"c066a8d4bffabed87a2e38ccad81c107","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-77","gmt_create":"2026-04-23T15:19:45.629465+08:00","gmt_modified":"2026-04-23T15:19:45.629465+08:00"},{"id":128,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"177c73dc4e71186d9eaa1157fc0fe97f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/reports.py#16-46","gmt_create":"2026-04-23T15:19:45.629913+08:00","gmt_modified":"2026-04-23T15:19:45.629913+08:00"},{"id":129,"source_id":"58901c94d975d87e652a4dc6c8dda656","target_id":"177c73dc4e71186d9eaa1157fc0fe97f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-46","gmt_create":"2026-04-23T15:19:45.630333+08:00","gmt_modified":"2026-04-23T15:19:45.630333+08:00"},{"id":130,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"a0be0cbddb559575861620b5b7579634","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#38-51","gmt_create":"2026-04-23T15:19:45.630817+08:00","gmt_modified":"2026-04-23T15:19:45.630817+08:00"},{"id":131,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"a0be0cbddb559575861620b5b7579634","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 38-51","gmt_create":"2026-04-23T15:19:45.631178+08:00","gmt_modified":"2026-04-23T15:19:45.631178+08:00"},{"id":132,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"bcdf50f6234651cb9863ab210e6473e5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/deps.py#16-42","gmt_create":"2026-04-23T15:19:45.631734+08:00","gmt_modified":"2026-04-23T15:19:45.631735+08:00"},{"id":133,"source_id":"9d08667997a868fc07c9b4e328e44224","target_id":"bcdf50f6234651cb9863ab210e6473e5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-42","gmt_create":"2026-04-23T15:19:45.632177+08:00","gmt_modified":"2026-04-23T15:19:45.632177+08:00"},{"id":134,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"6df0277c2486b148fa26c2682dbdaa4c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/auth.py#37-68","gmt_create":"2026-04-23T15:19:45.632731+08:00","gmt_modified":"2026-04-23T15:19:45.632731+08:00"},{"id":135,"source_id":"4d2f3847b7c10634733118b70a1aea0b","target_id":"6df0277c2486b148fa26c2682dbdaa4c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-68","gmt_create":"2026-04-23T15:19:45.63307+08:00","gmt_modified":"2026-04-23T15:19:45.63307+08:00"},{"id":136,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"5ea5f192d580031ffe57e1582b70c67e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#12-123","gmt_create":"2026-04-23T15:19:45.633593+08:00","gmt_modified":"2026-04-23T15:19:45.633593+08:00"},{"id":137,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"5ea5f192d580031ffe57e1582b70c67e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-123","gmt_create":"2026-04-23T15:19:45.633929+08:00","gmt_modified":"2026-04-23T15:19:45.633929+08:00"},{"id":138,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"fe4a793f16cd4e12b56253c0a6d53ae0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#24-359","gmt_create":"2026-04-23T15:19:45.634408+08:00","gmt_modified":"2026-04-23T15:19:45.634408+08:00"},{"id":139,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"fe4a793f16cd4e12b56253c0a6d53ae0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-359","gmt_create":"2026-04-23T15:19:45.634775+08:00","gmt_modified":"2026-04-23T15:19:45.634775+08:00"},{"id":140,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"9552bd8a528207f18e4f3a1696f26a55","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#13-37","gmt_create":"2026-04-23T15:19:45.635318+08:00","gmt_modified":"2026-04-23T15:19:45.635318+08:00"},{"id":141,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"9552bd8a528207f18e4f3a1696f26a55","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-37","gmt_create":"2026-04-23T15:19:45.635763+08:00","gmt_modified":"2026-04-23T15:19:45.635763+08:00"},{"id":142,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"4aad38dfc00a0877bd965c3d0b3c280c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/auth.py#7-34","gmt_create":"2026-04-23T15:19:45.638941+08:00","gmt_modified":"2026-04-23T15:19:45.638941+08:00"},{"id":143,"source_id":"e0c0ca66b8b81cf66e078a7ab162c07f","target_id":"4aad38dfc00a0877bd965c3d0b3c280c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-34","gmt_create":"2026-04-23T15:19:45.639659+08:00","gmt_modified":"2026-04-23T15:19:45.63966+08:00"},{"id":144,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"9b10dac7dbbb1327afc8a525bf4bd0c3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#45-81","gmt_create":"2026-04-23T15:19:45.641388+08:00","gmt_modified":"2026-04-23T15:19:45.641388+08:00"},{"id":145,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"9b10dac7dbbb1327afc8a525bf4bd0c3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-81","gmt_create":"2026-04-23T15:19:45.641965+08:00","gmt_modified":"2026-04-23T15:19:45.641965+08:00"},{"id":146,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"69118807690ef351a9de910414d5e676","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#11-94","gmt_create":"2026-04-23T15:19:45.642904+08:00","gmt_modified":"2026-04-23T15:19:45.642904+08:00"},{"id":147,"source_id":"f301b79d833233ce39d350e82a71c938","target_id":"69118807690ef351a9de910414d5e676","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-94","gmt_create":"2026-04-23T15:19:45.643362+08:00","gmt_modified":"2026-04-23T15:19:45.643362+08:00"},{"id":148,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"212d822d207a4c0bd7825bbf20e188e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#59-77","gmt_create":"2026-04-23T15:19:45.644135+08:00","gmt_modified":"2026-04-23T15:19:45.644135+08:00"},{"id":149,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"212d822d207a4c0bd7825bbf20e188e9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-77","gmt_create":"2026-04-23T15:19:45.644457+08:00","gmt_modified":"2026-04-23T15:19:45.644457+08:00"},{"id":150,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"b0777c7da17be89abb333c81c0dcf349","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#204-261","gmt_create":"2026-04-23T15:19:45.644935+08:00","gmt_modified":"2026-04-23T15:19:45.644935+08:00"},{"id":151,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"b0777c7da17be89abb333c81c0dcf349","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 204-261","gmt_create":"2026-04-23T15:19:45.645243+08:00","gmt_modified":"2026-04-23T15:19:45.645243+08:00"},{"id":152,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"26288877e8e1f6c4ff5aca12610b0218","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#7-50","gmt_create":"2026-04-23T15:19:45.646072+08:00","gmt_modified":"2026-04-23T15:19:45.646072+08:00"},{"id":153,"source_id":"1a3336b4af8a39a055e912724338580c","target_id":"26288877e8e1f6c4ff5aca12610b0218","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-50","gmt_create":"2026-04-23T15:19:45.646445+08:00","gmt_modified":"2026-04-23T15:19:45.646445+08:00"},{"id":154,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"dbf5f8a57778cf6363e834081f3d771c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#327-359","gmt_create":"2026-04-23T15:19:45.647596+08:00","gmt_modified":"2026-04-23T15:19:45.647596+08:00"},{"id":155,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"dbf5f8a57778cf6363e834081f3d771c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 327-359","gmt_create":"2026-04-23T15:19:45.647935+08:00","gmt_modified":"2026-04-23T15:19:45.647935+08:00"},{"id":156,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#11-41","gmt_create":"2026-04-23T15:19:45.64941+08:00","gmt_modified":"2026-04-23T15:19:45.64941+08:00"},{"id":157,"source_id":"c59f8c276697a070dffc581fe94d809c","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-41","gmt_create":"2026-04-23T15:19:45.649807+08:00","gmt_modified":"2026-04-23T15:19:45.649807+08:00"},{"id":158,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T15:19:45.650287+08:00","gmt_modified":"2026-04-23T15:19:45.650287+08:00"},{"id":159,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-55","gmt_create":"2026-04-23T15:19:45.650642+08:00","gmt_modified":"2026-04-23T15:19:45.650642+08:00"},{"id":160,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T15:19:45.651088+08:00","gmt_modified":"2026-04-23T15:19:45.651088+08:00"},{"id":161,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-42","gmt_create":"2026-04-23T15:19:45.651529+08:00","gmt_modified":"2026-04-23T15:19:45.651529+08:00"},{"id":162,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T15:19:45.652087+08:00","gmt_modified":"2026-04-23T15:19:45.652087+08:00"},{"id":163,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"b84f46f058847733347974841f613688","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-39","gmt_create":"2026-04-23T15:19:45.65251+08:00","gmt_modified":"2026-04-23T15:19:45.65251+08:00"},{"id":164,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"1a2657244414b5681afded9565a86422","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#35-40","gmt_create":"2026-04-23T15:19:45.653858+08:00","gmt_modified":"2026-04-23T15:19:45.653858+08:00"},{"id":165,"source_id":"c59f8c276697a070dffc581fe94d809c","target_id":"1a2657244414b5681afded9565a86422","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-40","gmt_create":"2026-04-23T15:19:45.655814+08:00","gmt_modified":"2026-04-23T15:19:45.655814+08:00"},{"id":166,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"acd5a29be2bdd4ae251e10ca266ffe13","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#43-48","gmt_create":"2026-04-23T15:19:45.657411+08:00","gmt_modified":"2026-04-23T15:19:45.657411+08:00"},{"id":167,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"acd5a29be2bdd4ae251e10ca266ffe13","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-48","gmt_create":"2026-04-23T15:19:45.657941+08:00","gmt_modified":"2026-04-23T15:19:45.657942+08:00"},{"id":168,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"27a5e2dd1d197b2e3a45be41c57a6183","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#35","gmt_create":"2026-04-23T15:19:45.658596+08:00","gmt_modified":"2026-04-23T15:19:45.658596+08:00"},{"id":169,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"27a5e2dd1d197b2e3a45be41c57a6183","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35","gmt_create":"2026-04-23T15:19:45.658966+08:00","gmt_modified":"2026-04-23T15:19:45.658966+08:00"},{"id":170,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"c43e8fc0c04c5ed2db7798d99c8c77b8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#34","gmt_create":"2026-04-23T15:19:45.659429+08:00","gmt_modified":"2026-04-23T15:19:45.659429+08:00"},{"id":171,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"c43e8fc0c04c5ed2db7798d99c8c77b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34","gmt_create":"2026-04-23T15:19:45.659763+08:00","gmt_modified":"2026-04-23T15:19:45.659763+08:00"},{"id":172,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"8868ab86034eecf40e80347ef8cbdebd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#26-30","gmt_create":"2026-04-23T15:19:45.660181+08:00","gmt_modified":"2026-04-23T15:19:45.660181+08:00"},{"id":173,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"8868ab86034eecf40e80347ef8cbdebd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-30","gmt_create":"2026-04-23T15:19:45.660491+08:00","gmt_modified":"2026-04-23T15:19:45.660491+08:00"},{"id":174,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"a50f983ec39bac67dff5df80f6dad837","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#59-60","gmt_create":"2026-04-23T15:19:45.660943+08:00","gmt_modified":"2026-04-23T15:19:45.660943+08:00"},{"id":175,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"a50f983ec39bac67dff5df80f6dad837","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-60","gmt_create":"2026-04-23T15:19:45.661271+08:00","gmt_modified":"2026-04-23T15:19:45.661271+08:00"},{"id":176,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"55f1628f1ab6f323710e367e12146b1a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#67-71","gmt_create":"2026-04-23T15:19:45.661702+08:00","gmt_modified":"2026-04-23T15:19:45.661702+08:00"},{"id":177,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"55f1628f1ab6f323710e367e12146b1a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 67-71","gmt_create":"2026-04-23T15:19:45.662055+08:00","gmt_modified":"2026-04-23T15:19:45.662055+08:00"},{"id":178,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"6ef6d32f97d7b50b7a4da541137423c0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/reports.py#23-27","gmt_create":"2026-04-23T15:19:45.662628+08:00","gmt_modified":"2026-04-23T15:19:45.662628+08:00"},{"id":179,"source_id":"58901c94d975d87e652a4dc6c8dda656","target_id":"6ef6d32f97d7b50b7a4da541137423c0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-27","gmt_create":"2026-04-23T15:19:45.662999+08:00","gmt_modified":"2026-04-23T15:19:45.662999+08:00"},{"id":180,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T15:20:08.989793+08:00","gmt_modified":"2026-04-23T15:20:08.989793+08:00"},{"id":181,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T15:20:08.990186+08:00","gmt_modified":"2026-04-23T15:20:08.990186+08:00"},{"id":182,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T15:20:08.990539+08:00","gmt_modified":"2026-04-23T15:20:08.990539+08:00"},{"id":183,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T15:20:08.990851+08:00","gmt_modified":"2026-04-23T15:20:08.990851+08:00"},{"id":184,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T15:20:08.991166+08:00","gmt_modified":"2026-04-23T15:20:08.991166+08:00"},{"id":185,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T15:20:08.991471+08:00","gmt_modified":"2026-04-23T15:20:08.991472+08:00"},{"id":186,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T15:20:08.991772+08:00","gmt_modified":"2026-04-23T15:20:08.991772+08:00"},{"id":187,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T15:20:08.992186+08:00","gmt_modified":"2026-04-23T15:20:08.992186+08:00"},{"id":188,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T15:20:08.992542+08:00","gmt_modified":"2026-04-23T15:20:08.992542+08:00"},{"id":189,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T15:20:08.992879+08:00","gmt_modified":"2026-04-23T15:20:08.992879+08:00"},{"id":190,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b0c428683c8a3e6922d90ca0d8c2736d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/database.py","gmt_create":"2026-04-23T15:20:08.997487+08:00","gmt_modified":"2026-04-23T15:20:08.997487+08:00"},{"id":191,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T15:20:08.998695+08:00","gmt_modified":"2026-04-23T15:20:08.998696+08:00"},{"id":192,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T15:20:08.999402+08:00","gmt_modified":"2026-04-23T15:20:08.999402+08:00"},{"id":193,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b2f0d46a31a5441594f2e777365fc156","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_scheduler.py","gmt_create":"2026-04-23T15:20:09.000067+08:00","gmt_modified":"2026-04-23T15:20:09.000067+08:00"},{"id":194,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"0613e76b9679be7f998fb8fd8056e686","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_queries.py","gmt_create":"2026-04-23T15:20:09.000413+08:00","gmt_modified":"2026-04-23T15:20:09.000413+08:00"},{"id":195,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-22","gmt_create":"2026-04-23T15:20:09.000893+08:00","gmt_modified":"2026-04-23T15:20:09.000893+08:00"},{"id":196,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-22","gmt_create":"2026-04-23T15:20:09.00176+08:00","gmt_modified":"2026-04-23T15:20:09.00176+08:00"},{"id":197,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"e230904202fcf7a861c6f49b84f9f863","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#25-95","gmt_create":"2026-04-23T15:20:09.003004+08:00","gmt_modified":"2026-04-23T15:20:09.003004+08:00"},{"id":198,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"e230904202fcf7a861c6f49b84f9f863","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-95","gmt_create":"2026-04-23T15:20:09.003771+08:00","gmt_modified":"2026-04-23T15:20:09.003771+08:00"},{"id":199,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"309607c54b12a6340edc086ffb4737c9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-309","gmt_create":"2026-04-23T15:20:09.005186+08:00","gmt_modified":"2026-04-23T15:20:09.005186+08:00"},{"id":200,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"309607c54b12a6340edc086ffb4737c9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 148-309","gmt_create":"2026-04-23T15:20:09.00622+08:00","gmt_modified":"2026-04-23T15:20:09.00622+08:00"},{"id":201,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T15:20:09.006997+08:00","gmt_modified":"2026-04-23T15:20:09.006997+08:00"},{"id":202,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T15:20:09.007995+08:00","gmt_modified":"2026-04-23T15:20:09.007995+08:00"},{"id":203,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T15:20:09.009222+08:00","gmt_modified":"2026-04-23T15:20:09.009222+08:00"},{"id":204,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"d7c319a04abbc6704da53107e07dd8e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#12-130","gmt_create":"2026-04-23T15:20:09.010245+08:00","gmt_modified":"2026-04-23T15:20:09.010245+08:00"},{"id":205,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"d7c319a04abbc6704da53107e07dd8e7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-130","gmt_create":"2026-04-23T15:20:09.011044+08:00","gmt_modified":"2026-04-23T15:20:09.011044+08:00"},{"id":206,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#1-29","gmt_create":"2026-04-23T15:20:09.012195+08:00","gmt_modified":"2026-04-23T15:20:09.012195+08:00"},{"id":207,"source_id":"b0c428683c8a3e6922d90ca0d8c2736d","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-29","gmt_create":"2026-04-23T15:20:09.01291+08:00","gmt_modified":"2026-04-23T15:20:09.012911+08:00"},{"id":208,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"ad67863041d9eea2b0fb542b5aa33aca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#4-18","gmt_create":"2026-04-23T15:20:09.013886+08:00","gmt_modified":"2026-04-23T15:20:09.013886+08:00"},{"id":209,"source_id":"a16cf42e9559523c4f96ca4c79f9488d","target_id":"ad67863041d9eea2b0fb542b5aa33aca","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-18","gmt_create":"2026-04-23T15:20:09.014746+08:00","gmt_modified":"2026-04-23T15:20:09.014746+08:00"},{"id":210,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"eecf9581dbaa0a515cf11514175e7ef9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#11-206","gmt_create":"2026-04-23T15:20:09.015594+08:00","gmt_modified":"2026-04-23T15:20:09.015594+08:00"},{"id":211,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"eecf9581dbaa0a515cf11514175e7ef9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-206","gmt_create":"2026-04-23T15:20:09.016313+08:00","gmt_modified":"2026-04-23T15:20:09.016313+08:00"},{"id":212,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"5563c29185326a59be61ee0a6eec4463","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#11-205","gmt_create":"2026-04-23T15:20:09.017693+08:00","gmt_modified":"2026-04-23T15:20:09.017693+08:00"},{"id":213,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"5563c29185326a59be61ee0a6eec4463","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-205","gmt_create":"2026-04-23T15:20:09.018896+08:00","gmt_modified":"2026-04-23T15:20:09.018896+08:00"},{"id":214,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"2d35e1345d25020f8e7ac1318db06f7b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#30-90","gmt_create":"2026-04-23T15:20:09.025147+08:00","gmt_modified":"2026-04-23T15:20:09.025147+08:00"},{"id":215,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"2d35e1345d25020f8e7ac1318db06f7b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-90","gmt_create":"2026-04-23T15:20:09.02579+08:00","gmt_modified":"2026-04-23T15:20:09.02579+08:00"},{"id":216,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"91bda120c0ab69e0e7103a1c89c82424","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#95-172","gmt_create":"2026-04-23T15:20:09.026853+08:00","gmt_modified":"2026-04-23T15:20:09.026853+08:00"},{"id":217,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"91bda120c0ab69e0e7103a1c89c82424","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 95-172","gmt_create":"2026-04-23T15:20:09.027566+08:00","gmt_modified":"2026-04-23T15:20:09.027566+08:00"},{"id":218,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"160b5326537d25444c40a459a01e79c6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#159-234","gmt_create":"2026-04-23T15:20:09.028202+08:00","gmt_modified":"2026-04-23T15:20:09.028202+08:00"},{"id":219,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"160b5326537d25444c40a459a01e79c6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 159-234","gmt_create":"2026-04-23T15:20:09.028744+08:00","gmt_modified":"2026-04-23T15:20:09.028744+08:00"},{"id":220,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"6712051c987e10a7c26b089063367398","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#24-31","gmt_create":"2026-04-23T15:20:09.029494+08:00","gmt_modified":"2026-04-23T15:20:09.029494+08:00"},{"id":221,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"6712051c987e10a7c26b089063367398","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-31","gmt_create":"2026-04-23T15:20:09.030084+08:00","gmt_modified":"2026-04-23T15:20:09.030084+08:00"},{"id":222,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"ac5982063da5f04315f3e82a0d653902","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#24-32","gmt_create":"2026-04-23T15:20:09.030828+08:00","gmt_modified":"2026-04-23T15:20:09.030828+08:00"},{"id":223,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"ac5982063da5f04315f3e82a0d653902","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-32","gmt_create":"2026-04-23T15:20:09.031632+08:00","gmt_modified":"2026-04-23T15:20:09.031632+08:00"},{"id":224,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"06ed912983db33bb8aca162fed68282b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#24-29","gmt_create":"2026-04-23T15:20:09.032417+08:00","gmt_modified":"2026-04-23T15:20:09.032417+08:00"},{"id":225,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"06ed912983db33bb8aca162fed68282b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-29","gmt_create":"2026-04-23T15:20:09.032976+08:00","gmt_modified":"2026-04-23T15:20:09.032976+08:00"},{"id":226,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"b624be78e3bffd876e403cff2557b088","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#19-120","gmt_create":"2026-04-23T15:20:09.037331+08:00","gmt_modified":"2026-04-23T15:20:09.037331+08:00"},{"id":227,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"b624be78e3bffd876e403cff2557b088","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-120","gmt_create":"2026-04-23T15:20:09.038413+08:00","gmt_modified":"2026-04-23T15:20:09.038413+08:00"},{"id":228,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"40d0b169aad65c8bb38077deb052fc72","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#33-125","gmt_create":"2026-04-23T15:20:09.040261+08:00","gmt_modified":"2026-04-23T15:20:09.040261+08:00"},{"id":229,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"40d0b169aad65c8bb38077deb052fc72","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-125","gmt_create":"2026-04-23T15:20:09.04098+08:00","gmt_modified":"2026-04-23T15:20:09.04098+08:00"},{"id":230,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"8b5af998852596e1e08b0e0216bc4b93","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#33-124","gmt_create":"2026-04-23T15:20:09.041526+08:00","gmt_modified":"2026-04-23T15:20:09.041526+08:00"},{"id":231,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"8b5af998852596e1e08b0e0216bc4b93","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-124","gmt_create":"2026-04-23T15:20:09.041834+08:00","gmt_modified":"2026-04-23T15:20:09.041834+08:00"},{"id":232,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"fe70b1fef9f36e73d26d84987e927c7a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-86","gmt_create":"2026-04-23T15:20:09.04598+08:00","gmt_modified":"2026-04-23T15:20:09.04598+08:00"},{"id":233,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"fe70b1fef9f36e73d26d84987e927c7a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-86","gmt_create":"2026-04-23T15:20:09.046352+08:00","gmt_modified":"2026-04-23T15:20:09.046352+08:00"},{"id":234,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"e1d2b027678118df4d0a50ce9269271d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#42-90","gmt_create":"2026-04-23T15:20:09.050041+08:00","gmt_modified":"2026-04-23T15:20:09.050041+08:00"},{"id":235,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"e1d2b027678118df4d0a50ce9269271d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-90","gmt_create":"2026-04-23T15:20:09.050351+08:00","gmt_modified":"2026-04-23T15:20:09.050351+08:00"},{"id":236,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"e79301a4bc26aa6b49f3f52c3182c3f9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#175-234","gmt_create":"2026-04-23T15:20:09.051815+08:00","gmt_modified":"2026-04-23T15:20:09.051815+08:00"},{"id":237,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"e79301a4bc26aa6b49f3f52c3182c3f9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 175-234","gmt_create":"2026-04-23T15:20:09.052165+08:00","gmt_modified":"2026-04-23T15:20:09.052166+08:00"},{"id":238,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"1e85186eded8743ff5f231df4aa6df3f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#21-48","gmt_create":"2026-04-23T15:20:09.052615+08:00","gmt_modified":"2026-04-23T15:20:09.052615+08:00"},{"id":239,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"1e85186eded8743ff5f231df4aa6df3f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-48","gmt_create":"2026-04-23T15:20:09.052947+08:00","gmt_modified":"2026-04-23T15:20:09.052947+08:00"},{"id":240,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"e2b1718570fb714b2f4342221898ab30","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#21-48","gmt_create":"2026-04-23T15:20:09.053449+08:00","gmt_modified":"2026-04-23T15:20:09.053449+08:00"},{"id":241,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"e2b1718570fb714b2f4342221898ab30","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-48","gmt_create":"2026-04-23T15:20:09.053892+08:00","gmt_modified":"2026-04-23T15:20:09.053892+08:00"},{"id":242,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"e4a49039dae40b7433896c81737fcf8c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#7-14","gmt_create":"2026-04-23T15:20:09.05437+08:00","gmt_modified":"2026-04-23T15:20:09.05437+08:00"},{"id":243,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"e4a49039dae40b7433896c81737fcf8c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-14","gmt_create":"2026-04-23T15:20:09.054841+08:00","gmt_modified":"2026-04-23T15:20:09.054841+08:00"},{"id":244,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"2ee31d68c409e96e951f6cfa7027bca7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#24-42","gmt_create":"2026-04-23T15:20:09.055328+08:00","gmt_modified":"2026-04-23T15:20:09.055328+08:00"},{"id":245,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"2ee31d68c409e96e951f6cfa7027bca7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-42","gmt_create":"2026-04-23T15:20:09.055781+08:00","gmt_modified":"2026-04-23T15:20:09.055781+08:00"},{"id":246,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"79d6e169e36e6b7493898b5f863e07dc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#152-157","gmt_create":"2026-04-23T15:20:09.056898+08:00","gmt_modified":"2026-04-23T15:20:09.056898+08:00"},{"id":247,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"79d6e169e36e6b7493898b5f863e07dc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 152-157","gmt_create":"2026-04-23T15:20:09.057188+08:00","gmt_modified":"2026-04-23T15:20:09.057188+08:00"},{"id":248,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"1552315d5fb9f6d7aba5f7e8fa93a975","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#6-10","gmt_create":"2026-04-23T15:20:09.058217+08:00","gmt_modified":"2026-04-23T15:20:09.058217+08:00"},{"id":249,"source_id":"b0c428683c8a3e6922d90ca0d8c2736d","target_id":"1552315d5fb9f6d7aba5f7e8fa93a975","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-10","gmt_create":"2026-04-23T15:20:09.058503+08:00","gmt_modified":"2026-04-23T15:20:09.058503+08:00"},{"id":250,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"599cca7536cae4a7e0ae93043c476a7f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_queries.py#10-154","gmt_create":"2026-04-23T15:20:09.058947+08:00","gmt_modified":"2026-04-23T15:20:09.058947+08:00"},{"id":251,"source_id":"0613e76b9679be7f998fb8fd8056e686","target_id":"599cca7536cae4a7e0ae93043c476a7f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-154","gmt_create":"2026-04-23T15:20:09.059242+08:00","gmt_modified":"2026-04-23T15:20:09.059242+08:00"},{"id":252,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"2ec3d45edd6221e0cedf7f8887fe090d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_scheduler.py#17-123","gmt_create":"2026-04-23T15:20:09.059776+08:00","gmt_modified":"2026-04-23T15:20:09.059776+08:00"},{"id":253,"source_id":"b2f0d46a31a5441594f2e777365fc156","target_id":"2ec3d45edd6221e0cedf7f8887fe090d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-123","gmt_create":"2026-04-23T15:20:09.060064+08:00","gmt_modified":"2026-04-23T15:20:09.060064+08:00"},{"id":254,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"99fe1b288fd41daa86c2dfbab819abf0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/__init__.py","gmt_create":"2026-04-23T15:21:46.707277+08:00","gmt_modified":"2026-04-23T15:21:46.707277+08:00"},{"id":255,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"c59f8c276697a070dffc581fe94d809c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/user.py","gmt_create":"2026-04-23T15:21:46.707879+08:00","gmt_modified":"2026-04-23T15:21:46.707879+08:00"},{"id":256,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T15:21:46.708322+08:00","gmt_modified":"2026-04-23T15:21:46.708322+08:00"},{"id":257,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T15:21:46.708702+08:00","gmt_modified":"2026-04-23T15:21:46.708702+08:00"},{"id":258,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T15:21:46.709093+08:00","gmt_modified":"2026-04-23T15:21:46.709093+08:00"},{"id":259,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"bceca00463fe55d3bcafda728f97f723","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/subscription.py","gmt_create":"2026-04-23T15:21:46.709712+08:00","gmt_modified":"2026-04-23T15:21:46.709713+08:00"},{"id":260,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"b0c428683c8a3e6922d90ca0d8c2736d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/database.py","gmt_create":"2026-04-23T15:21:46.710101+08:00","gmt_modified":"2026-04-23T15:21:46.710101+08:00"},{"id":261,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"d4f95fcf50683b5bf6167c7d2a6b126d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic/versions/488d0bd5ab01_initial_migration.py","gmt_create":"2026-04-23T15:21:46.710429+08:00","gmt_modified":"2026-04-23T15:21:46.710429+08:00"},{"id":262,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"f301b79d833233ce39d350e82a71c938","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/query.py","gmt_create":"2026-04-23T15:21:46.710829+08:00","gmt_modified":"2026-04-23T15:21:46.710829+08:00"},{"id":263,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"1a3336b4af8a39a055e912724338580c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/citation.py","gmt_create":"2026-04-23T15:21:46.711181+08:00","gmt_modified":"2026-04-23T15:21:46.711181+08:00"},{"id":264,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T15:21:46.711568+08:00","gmt_modified":"2026-04-23T15:21:46.711568+08:00"},{"id":265,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T15:21:46.711965+08:00","gmt_modified":"2026-04-23T15:21:46.711965+08:00"},{"id":266,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T15:21:46.712296+08:00","gmt_modified":"2026-04-23T15:21:46.712296+08:00"},{"id":267,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T15:21:46.712792+08:00","gmt_modified":"2026-04-23T15:21:46.712792+08:00"},{"id":268,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T15:21:46.713121+08:00","gmt_modified":"2026-04-23T15:21:46.713121+08:00"},{"id":269,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"9d08667997a868fc07c9b4e328e44224","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/deps.py","gmt_create":"2026-04-23T15:21:46.713538+08:00","gmt_modified":"2026-04-23T15:21:46.713538+08:00"},{"id":270,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#11-41","gmt_create":"2026-04-23T15:21:46.71408+08:00","gmt_modified":"2026-04-23T15:21:46.71408+08:00"},{"id":271,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T15:21:46.714746+08:00","gmt_modified":"2026-04-23T15:21:46.714746+08:00"},{"id":272,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T15:21:46.715399+08:00","gmt_modified":"2026-04-23T15:21:46.7154+08:00"},{"id":273,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T15:21:46.716178+08:00","gmt_modified":"2026-04-23T15:21:46.716178+08:00"},{"id":274,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"4d323bf0aaf4078f09726dc0890e5955","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/subscription.py#11-37","gmt_create":"2026-04-23T15:21:46.717324+08:00","gmt_modified":"2026-04-23T15:21:46.717324+08:00"},{"id":275,"source_id":"bceca00463fe55d3bcafda728f97f723","target_id":"4d323bf0aaf4078f09726dc0890e5955","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-37","gmt_create":"2026-04-23T15:21:46.718049+08:00","gmt_modified":"2026-04-23T15:21:46.71805+08:00"},{"id":276,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#1-29","gmt_create":"2026-04-23T15:21:46.718816+08:00","gmt_modified":"2026-04-23T15:21:46.718816+08:00"},{"id":277,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"4cef9e740b6feb68c6bd22b660c47320","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#1-123","gmt_create":"2026-04-23T15:21:46.719468+08:00","gmt_modified":"2026-04-23T15:21:46.719468+08:00"},{"id":278,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"4cef9e740b6feb68c6bd22b660c47320","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-123","gmt_create":"2026-04-23T15:21:46.720008+08:00","gmt_modified":"2026-04-23T15:21:46.720008+08:00"},{"id":279,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"121203f7f9f539ffb1456c3f5cdfd842","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-359","gmt_create":"2026-04-23T15:21:46.720615+08:00","gmt_modified":"2026-04-23T15:21:46.720615+08:00"},{"id":280,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"121203f7f9f539ffb1456c3f5cdfd842","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-359","gmt_create":"2026-04-23T15:21:46.721095+08:00","gmt_modified":"2026-04-23T15:21:46.721095+08:00"},{"id":281,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"10d1e37bdc9f353c189b7a2fe79dc85e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#1-86","gmt_create":"2026-04-23T15:21:46.721634+08:00","gmt_modified":"2026-04-23T15:21:46.721634+08:00"},{"id":282,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"10d1e37bdc9f353c189b7a2fe79dc85e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-86","gmt_create":"2026-04-23T15:21:46.722019+08:00","gmt_modified":"2026-04-23T15:21:46.722019+08:00"},{"id":283,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"cbd0101fa84d957bcb1baaa623c6b31c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-78","gmt_create":"2026-04-23T15:21:46.722621+08:00","gmt_modified":"2026-04-23T15:21:46.722621+08:00"},{"id":284,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"cbd0101fa84d957bcb1baaa623c6b31c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-04-23T15:21:46.723064+08:00","gmt_modified":"2026-04-23T15:21:46.723064+08:00"},{"id":285,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"afe4138895492c26aac5c0120ef46cd8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/__init__.py#1-14","gmt_create":"2026-04-23T15:21:46.72357+08:00","gmt_modified":"2026-04-23T15:21:46.72357+08:00"},{"id":286,"source_id":"99fe1b288fd41daa86c2dfbab819abf0","target_id":"afe4138895492c26aac5c0120ef46cd8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-14","gmt_create":"2026-04-23T15:21:46.723873+08:00","gmt_modified":"2026-04-23T15:21:46.723873+08:00"},{"id":287,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"4d11ddf7abb8076d81b30c4315786f9a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#21-128","gmt_create":"2026-04-23T15:21:46.726415+08:00","gmt_modified":"2026-04-23T15:21:46.726416+08:00"},{"id":288,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"4d11ddf7abb8076d81b30c4315786f9a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-128","gmt_create":"2026-04-23T15:21:46.726829+08:00","gmt_modified":"2026-04-23T15:21:46.726829+08:00"},{"id":289,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"e454b4a54500bd81e7599e6ec97bf12b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#23-37","gmt_create":"2026-04-23T15:21:46.735019+08:00","gmt_modified":"2026-04-23T15:21:46.735019+08:00"},{"id":290,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"e454b4a54500bd81e7599e6ec97bf12b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-37","gmt_create":"2026-04-23T15:21:46.735734+08:00","gmt_modified":"2026-04-23T15:21:46.735734+08:00"},{"id":291,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"1965adf7cfc65447e3c1ae21fbf6d1c5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#39-59","gmt_create":"2026-04-23T15:21:46.737007+08:00","gmt_modified":"2026-04-23T15:21:46.737007+08:00"},{"id":292,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"1965adf7cfc65447e3c1ae21fbf6d1c5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 39-59","gmt_create":"2026-04-23T15:21:46.744358+08:00","gmt_modified":"2026-04-23T15:21:46.744358+08:00"},{"id":293,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"c730faefb34bb87c40c5f636b4ff7f41","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#80-94","gmt_create":"2026-04-23T15:21:46.747533+08:00","gmt_modified":"2026-04-23T15:21:46.747534+08:00"},{"id":294,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"c730faefb34bb87c40c5f636b4ff7f41","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 80-94","gmt_create":"2026-04-23T15:21:46.748811+08:00","gmt_modified":"2026-04-23T15:21:46.748811+08:00"},{"id":295,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"b9978c3eccea3ef566b003216e5047af","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#61-78","gmt_create":"2026-04-23T15:21:46.751629+08:00","gmt_modified":"2026-04-23T15:21:46.751629+08:00"},{"id":296,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"b9978c3eccea3ef566b003216e5047af","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-78","gmt_create":"2026-04-23T15:21:46.752497+08:00","gmt_modified":"2026-04-23T15:21:46.752497+08:00"},{"id":297,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"eb6ff4361d7413b57f1f70b1ec2f0c94","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#96-111","gmt_create":"2026-04-23T15:21:46.753732+08:00","gmt_modified":"2026-04-23T15:21:46.753732+08:00"},{"id":298,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"eb6ff4361d7413b57f1f70b1ec2f0c94","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 96-111","gmt_create":"2026-04-23T15:21:46.754523+08:00","gmt_modified":"2026-04-23T15:21:46.754523+08:00"},{"id":299,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"1a2657244414b5681afded9565a86422","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#35-40","gmt_create":"2026-04-23T15:21:46.755683+08:00","gmt_modified":"2026-04-23T15:21:46.755683+08:00"},{"id":300,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"acd5a29be2bdd4ae251e10ca266ffe13","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#43-48","gmt_create":"2026-04-23T15:21:46.756979+08:00","gmt_modified":"2026-04-23T15:21:46.756979+08:00"},{"id":301,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"f6c9f1b4e8646c366a31426a4537675d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#36-38","gmt_create":"2026-04-23T15:21:46.75809+08:00","gmt_modified":"2026-04-23T15:21:46.75809+08:00"},{"id":302,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"f6c9f1b4e8646c366a31426a4537675d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 36-38","gmt_create":"2026-04-23T15:21:46.759234+08:00","gmt_modified":"2026-04-23T15:21:46.759234+08:00"},{"id":303,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"a2adbf02c71e4eb2cf1f120e1a2ff517","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#37-41","gmt_create":"2026-04-23T15:21:46.760054+08:00","gmt_modified":"2026-04-23T15:21:46.760054+08:00"},{"id":304,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"a2adbf02c71e4eb2cf1f120e1a2ff517","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-41","gmt_create":"2026-04-23T15:21:46.761257+08:00","gmt_modified":"2026-04-23T15:21:46.761257+08:00"},{"id":305,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"69118807690ef351a9de910414d5e676","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#11-94","gmt_create":"2026-04-23T15:21:46.76204+08:00","gmt_modified":"2026-04-23T15:21:46.762041+08:00"},{"id":306,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"26288877e8e1f6c4ff5aca12610b0218","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#7-50","gmt_create":"2026-04-23T15:21:46.763512+08:00","gmt_modified":"2026-04-23T15:21:46.763512+08:00"},{"id":307,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"0907fc2974ec31c23aaaef02076700a1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#25-33","gmt_create":"2026-04-23T15:21:46.764956+08:00","gmt_modified":"2026-04-23T15:21:46.764956+08:00"},{"id":308,"source_id":"c59f8c276697a070dffc581fe94d809c","target_id":"0907fc2974ec31c23aaaef02076700a1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-33","gmt_create":"2026-04-23T15:21:46.766604+08:00","gmt_modified":"2026-04-23T15:21:46.766605+08:00"},{"id":309,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"842f74e2cc054608242e93fbefd96b45","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#32-40","gmt_create":"2026-04-23T15:21:46.767787+08:00","gmt_modified":"2026-04-23T15:21:46.767787+08:00"},{"id":310,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"842f74e2cc054608242e93fbefd96b45","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-40","gmt_create":"2026-04-23T15:21:46.769407+08:00","gmt_modified":"2026-04-23T15:21:46.769407+08:00"},{"id":311,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"aed9e839038c45e6ce2023c4e05adb76","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#27-32","gmt_create":"2026-04-23T15:21:46.770612+08:00","gmt_modified":"2026-04-23T15:21:46.770612+08:00"},{"id":312,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"aed9e839038c45e6ce2023c4e05adb76","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 27-32","gmt_create":"2026-04-23T15:21:46.771344+08:00","gmt_modified":"2026-04-23T15:21:46.771345+08:00"},{"id":313,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"2181318c993526c86458f5eef134aed6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#62-77","gmt_create":"2026-04-23T15:21:46.77237+08:00","gmt_modified":"2026-04-23T15:21:46.77237+08:00"},{"id":314,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"2181318c993526c86458f5eef134aed6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 62-77","gmt_create":"2026-04-23T15:21:46.773284+08:00","gmt_modified":"2026-04-23T15:21:46.773284+08:00"},{"id":315,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"a817488dc968d761a8977fb5bb8d01a2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#45-129","gmt_create":"2026-04-23T15:21:46.774203+08:00","gmt_modified":"2026-04-23T15:21:46.774203+08:00"},{"id":316,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"a817488dc968d761a8977fb5bb8d01a2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-129","gmt_create":"2026-04-23T15:21:46.775081+08:00","gmt_modified":"2026-04-23T15:21:46.775081+08:00"},{"id":317,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"fe70b1fef9f36e73d26d84987e927c7a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-86","gmt_create":"2026-04-23T15:21:46.775898+08:00","gmt_modified":"2026-04-23T15:21:46.775898+08:00"},{"id":318,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"d20fc729a5d3986b1c077f9e07ece9c4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#7","gmt_create":"2026-04-23T15:21:46.777494+08:00","gmt_modified":"2026-04-23T15:21:46.777494+08:00"},{"id":319,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"d20fc729a5d3986b1c077f9e07ece9c4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7","gmt_create":"2026-04-23T15:21:46.778103+08:00","gmt_modified":"2026-04-23T15:21:46.778103+08:00"},{"id":320,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"ea655c6d147bc98beb42955d437260cc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-23","gmt_create":"2026-04-23T15:21:46.779313+08:00","gmt_modified":"2026-04-23T15:21:46.779314+08:00"},{"id":321,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"ea655c6d147bc98beb42955d437260cc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-23","gmt_create":"2026-04-23T15:21:46.780075+08:00","gmt_modified":"2026-04-23T15:21:46.780075+08:00"},{"id":322,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"37868a5af96edcdad149caf9a184435a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#42-85","gmt_create":"2026-04-23T15:21:46.781141+08:00","gmt_modified":"2026-04-23T15:21:46.781141+08:00"},{"id":323,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"37868a5af96edcdad149caf9a184435a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-85","gmt_create":"2026-04-23T15:21:46.781803+08:00","gmt_modified":"2026-04-23T15:21:46.781803+08:00"},{"id":324,"source_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","target_id":"601b981b00d93b941843f046a163d5a3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#18-33","gmt_create":"2026-04-23T15:21:46.783498+08:00","gmt_modified":"2026-04-23T15:21:46.783498+08:00"},{"id":325,"source_id":"f301b79d833233ce39d350e82a71c938","target_id":"601b981b00d93b941843f046a163d5a3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-33","gmt_create":"2026-04-23T15:21:46.784342+08:00","gmt_modified":"2026-04-23T15:21:46.784343+08:00"},{"id":344,"source_id":"0ef1efea889dba3e1f299626df479571","target_id":"290df8332b3d104e5ea8d71dc39315b5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-123","gmt_create":"2026-04-23T15:22:16.017503+08:00","gmt_modified":"2026-04-23T15:22:16.017503+08:00"},{"id":346,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"c2747ca16b879bca0f68955534c3c4fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-48","gmt_create":"2026-04-23T15:22:16.019099+08:00","gmt_modified":"2026-04-23T15:22:16.019099+08:00"},{"id":348,"source_id":"9d08667997a868fc07c9b4e328e44224","target_id":"76e6c0abb49fec57cac4892837a143c9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-43","gmt_create":"2026-04-23T15:22:16.020577+08:00","gmt_modified":"2026-04-23T15:22:16.020577+08:00"},{"id":350,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"f66d9907b467b110c638bd527efd95c5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-43","gmt_create":"2026-04-23T15:22:16.021841+08:00","gmt_modified":"2026-04-23T15:22:16.021841+08:00"},{"id":354,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"116584ea9162c1bc05911f39f9ef82b6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-309","gmt_create":"2026-04-23T15:22:16.023827+08:00","gmt_modified":"2026-04-23T15:22:16.023827+08:00"},{"id":356,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"9630036e63fc15cb81b202cf79671aab","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-182","gmt_create":"2026-04-23T15:22:16.024606+08:00","gmt_modified":"2026-04-23T15:22:16.024606+08:00"},{"id":359,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"84fbed7d35f7752e2117a74fcaf5f0e9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-17","gmt_create":"2026-04-23T15:22:16.026089+08:00","gmt_modified":"2026-04-23T15:22:16.02609+08:00"},{"id":361,"source_id":"0ef1efea889dba3e1f299626df479571","target_id":"5ddf0c8d7b38e4f6126a5d85da1dfeda","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-123","gmt_create":"2026-04-23T15:22:16.02774+08:00","gmt_modified":"2026-04-23T15:22:16.02774+08:00"},{"id":363,"source_id":"0ef1efea889dba3e1f299626df479571","target_id":"9df233ef1be4b95068ed91bf01083ae7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 117-123","gmt_create":"2026-04-23T15:22:16.028504+08:00","gmt_modified":"2026-04-23T15:22:16.028504+08:00"},{"id":365,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"6286d4be455dc058c8be2ee4e0d1175a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 38-42","gmt_create":"2026-04-23T15:22:16.029449+08:00","gmt_modified":"2026-04-23T15:22:16.029449+08:00"},{"id":367,"source_id":"9d08667997a868fc07c9b4e328e44224","target_id":"069243fafe60a85cf16a0ca40fa07180","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-43","gmt_create":"2026-04-23T15:22:16.030648+08:00","gmt_modified":"2026-04-23T15:22:16.030648+08:00"},{"id":369,"source_id":"93022c8938ce318f167277cfa65c29a7","target_id":"d5a1fb0bd23ce9240fbf79529ef94a45","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-43","gmt_create":"2026-04-23T15:22:16.03168+08:00","gmt_modified":"2026-04-23T15:22:16.03168+08:00"},{"id":372,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"735aef72b4fe6ca4f407e69b7dda8b43","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-78","gmt_create":"2026-04-23T15:22:16.03298+08:00","gmt_modified":"2026-04-23T15:22:16.03298+08:00"},{"id":374,"source_id":"b0c428683c8a3e6922d90ca0d8c2736d","target_id":"8128dd67cf376d2cadf7c2d3831c380a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-29","gmt_create":"2026-04-23T15:22:16.035564+08:00","gmt_modified":"2026-04-23T15:22:16.035564+08:00"},{"id":376,"source_id":"389d631bc6c7111ba411b0b79fca455e","target_id":"1721defc3d6206478d3c0692cc821761","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-104","gmt_create":"2026-04-23T15:22:16.036753+08:00","gmt_modified":"2026-04-23T15:22:16.036753+08:00"},{"id":378,"source_id":"4d2f3847b7c10634733118b70a1aea0b","target_id":"753a437d837246ead62b0e16c6331284","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-69","gmt_create":"2026-04-23T15:22:16.038261+08:00","gmt_modified":"2026-04-23T15:22:16.038261+08:00"},{"id":380,"source_id":"389d631bc6c7111ba411b0b79fca455e","target_id":"d820e2daf2ea133a7aa17cdc475e44a4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-104","gmt_create":"2026-04-23T15:22:16.039369+08:00","gmt_modified":"2026-04-23T15:22:16.039369+08:00"},{"id":382,"source_id":"4d2f3847b7c10634733118b70a1aea0b","target_id":"1a439c5fed6cfd188c646e1614d56371","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-69","gmt_create":"2026-04-23T15:22:16.040483+08:00","gmt_modified":"2026-04-23T15:22:16.040483+08:00"},{"id":385,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"5c67e2f70283956b2d29a3c1443eb514","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 122-146","gmt_create":"2026-04-23T15:22:16.042829+08:00","gmt_modified":"2026-04-23T15:22:16.042829+08:00"},{"id":388,"source_id":"b07a4fb9cecbbd66a6910ccbc7651f19","target_id":"a57acd9da5287c915ac823784a409292","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-127","gmt_create":"2026-04-23T15:22:16.045132+08:00","gmt_modified":"2026-04-23T15:22:16.045132+08:00"},{"id":390,"source_id":"42ff5383133d176cec9eb88682483be3","target_id":"2a4f741f31f62dce8ad63be2e831f520","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-93","gmt_create":"2026-04-23T15:22:16.046367+08:00","gmt_modified":"2026-04-23T15:22:16.046367+08:00"},{"id":392,"source_id":"42ff5383133d176cec9eb88682483be3","target_id":"692ac240965eff7e66945aa3c4c270f7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-93","gmt_create":"2026-04-23T15:22:16.047995+08:00","gmt_modified":"2026-04-23T15:22:16.047995+08:00"},{"id":394,"source_id":"0613e76b9679be7f998fb8fd8056e686","target_id":"32a0a52faca2d8d488e49c63c86075b1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-154","gmt_create":"2026-04-23T15:22:16.049251+08:00","gmt_modified":"2026-04-23T15:22:16.049251+08:00"},{"id":396,"source_id":"0613e76b9679be7f998fb8fd8056e686","target_id":"7804331f5f8c1ba5a3b6d9c1ae1c78c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-154","gmt_create":"2026-04-23T15:22:16.051952+08:00","gmt_modified":"2026-04-23T15:22:16.051952+08:00"},{"id":398,"source_id":"80a0429cc47931de27ddb17a62b8dd9c","target_id":"3a6e1b738967bf8cc651e57f48e2e126","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 83-126","gmt_create":"2026-04-23T15:22:16.053692+08:00","gmt_modified":"2026-04-23T15:22:16.053693+08:00"},{"id":400,"source_id":"80a0429cc47931de27ddb17a62b8dd9c","target_id":"b1afd377757f1d0e9bdf87edfff3ad88","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 131-186","gmt_create":"2026-04-23T15:22:16.054533+08:00","gmt_modified":"2026-04-23T15:22:16.054533+08:00"},{"id":402,"source_id":"80a0429cc47931de27ddb17a62b8dd9c","target_id":"de05ec7eed033e432991e5a88e1b5a06","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 192-222","gmt_create":"2026-04-23T15:22:16.055495+08:00","gmt_modified":"2026-04-23T15:22:16.055495+08:00"},{"id":404,"source_id":"80a0429cc47931de27ddb17a62b8dd9c","target_id":"7fd61a451248b6b129299d6246f711c7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 228-296","gmt_create":"2026-04-23T15:22:16.056294+08:00","gmt_modified":"2026-04-23T15:22:16.056294+08:00"},{"id":406,"source_id":"80a0429cc47931de27ddb17a62b8dd9c","target_id":"53eedffff456a566fa7b0cecc7169f56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-441","gmt_create":"2026-04-23T15:22:16.05703+08:00","gmt_modified":"2026-04-23T15:22:16.05703+08:00"},{"id":408,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"906f7a8288e38d4244211f3f538fe7b6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 27-182","gmt_create":"2026-04-23T15:22:16.062545+08:00","gmt_modified":"2026-04-23T15:22:16.062545+08:00"},{"id":410,"source_id":"b2f0d46a31a5441594f2e777365fc156","target_id":"1647ee2066de2ae59ba8cf88e33c5e02","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-123","gmt_create":"2026-04-23T15:22:16.064587+08:00","gmt_modified":"2026-04-23T15:22:16.064587+08:00"},{"id":411,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"aaf5bce6be82d2f947bfa5c1806de452","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/package.json","gmt_create":"2026-04-23T15:22:23.52554+08:00","gmt_modified":"2026-04-23T15:22:23.52554+08:00"},{"id":412,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"01056dad8851d3e9bd532eb4cab33792","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/tailwind.config.ts","gmt_create":"2026-04-23T15:22:23.52643+08:00","gmt_modified":"2026-04-23T15:22:23.526431+08:00"},{"id":413,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"f93ae024fe0a2e69698037dff6df205f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/utils.ts","gmt_create":"2026-04-23T15:22:23.527272+08:00","gmt_modified":"2026-04-23T15:22:23.527272+08:00"},{"id":414,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"ac1acbc54c49ee1de13369f6c6827568","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/button.tsx","gmt_create":"2026-04-23T15:22:23.528155+08:00","gmt_modified":"2026-04-23T15:22:23.528155+08:00"},{"id":415,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"108b0c4b4dcfb6aa39a5eb138225c148","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/dialog.tsx","gmt_create":"2026-04-23T15:22:23.529196+08:00","gmt_modified":"2026-04-23T15:22:23.529196+08:00"},{"id":416,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"0186dc8a89340139a84e1e3c5571a57f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/dropdown-menu.tsx","gmt_create":"2026-04-23T15:22:23.530077+08:00","gmt_modified":"2026-04-23T15:22:23.530077+08:00"},{"id":417,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"3cf787fa77a15b2b1783560c6d83ed21","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/input.tsx","gmt_create":"2026-04-23T15:22:23.530977+08:00","gmt_modified":"2026-04-23T15:22:23.530977+08:00"},{"id":418,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"3c56e1c079959bfcc985183805e5874f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/select.tsx","gmt_create":"2026-04-23T15:22:23.531664+08:00","gmt_modified":"2026-04-23T15:22:23.531664+08:00"},{"id":419,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"0d5ef537f7c0b8c390f8b31d7cf47b56","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/card.tsx","gmt_create":"2026-04-23T15:22:23.532588+08:00","gmt_modified":"2026-04-23T15:22:23.532588+08:00"},{"id":420,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"51821ca9ec2a1c972f3c9d111e19db8a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/badge.tsx","gmt_create":"2026-04-23T15:22:23.53409+08:00","gmt_modified":"2026-04-23T15:22:23.53409+08:00"},{"id":421,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"0c0b0f4e2cf44facd9d5b57de0d0bf0c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/table.tsx","gmt_create":"2026-04-23T15:22:23.535512+08:00","gmt_modified":"2026-04-23T15:22:23.535512+08:00"},{"id":422,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"beb87ab5aad9532647e9dbd2db7ef587","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/tabs.tsx","gmt_create":"2026-04-23T15:22:23.536664+08:00","gmt_modified":"2026-04-23T15:22:23.536665+08:00"},{"id":423,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"792b8e2c16c9ff2095d83b8972313be4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/ui/label.tsx","gmt_create":"2026-04-23T15:22:23.537365+08:00","gmt_modified":"2026-04-23T15:22:23.537365+08:00"},{"id":424,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"546e01c5f73aaf5140eee922f4b9a441","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/components/providers.tsx","gmt_create":"2026-04-23T15:22:23.538246+08:00","gmt_modified":"2026-04-23T15:22:23.538246+08:00"},{"id":425,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"12e2c3d7b9a92dc44a6ee29b85e10df6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/app/layout.tsx","gmt_create":"2026-04-23T15:22:23.53929+08:00","gmt_modified":"2026-04-23T15:22:23.53929+08:00"},{"id":426,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"2a1c745c7b3fb7f600596be3d979bba1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/app/(dashboard","gmt_create":"2026-04-23T15:22:23.540469+08:00","gmt_modified":"2026-04-23T15:22:23.540469+08:00"},{"id":427,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"8a466b0c6eac2ccb54c5da7e13854646","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/app/layout.tsx#1-37","gmt_create":"2026-04-23T15:22:23.541484+08:00","gmt_modified":"2026-04-23T15:22:23.541484+08:00"},{"id":428,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"fd18328b6582e68c30b130b912891992","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/providers.tsx#1-9","gmt_create":"2026-04-23T15:22:23.542098+08:00","gmt_modified":"2026-04-23T15:22:23.542098+08:00"},{"id":429,"source_id":"546e01c5f73aaf5140eee922f4b9a441","target_id":"fd18328b6582e68c30b130b912891992","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-9","gmt_create":"2026-04-23T15:22:23.542482+08:00","gmt_modified":"2026-04-23T15:22:23.542482+08:00"},{"id":430,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"dcfa308ef4ec368c5a51a17acbfc8e2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/utils.ts#1-7","gmt_create":"2026-04-23T15:22:23.542958+08:00","gmt_modified":"2026-04-23T15:22:23.542958+08:00"},{"id":431,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"71a37a516437e94fd82a87efc70a3f16","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/package.json#1-40","gmt_create":"2026-04-23T15:22:23.54348+08:00","gmt_modified":"2026-04-23T15:22:23.54348+08:00"},{"id":432,"source_id":"aaf5bce6be82d2f947bfa5c1806de452","target_id":"71a37a516437e94fd82a87efc70a3f16","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-40","gmt_create":"2026-04-23T15:22:23.543767+08:00","gmt_modified":"2026-04-23T15:22:23.543768+08:00"},{"id":433,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"89d70e5f89be23a229e3ee59982b8e6e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/tailwind.config.ts#1-57","gmt_create":"2026-04-23T15:22:23.544176+08:00","gmt_modified":"2026-04-23T15:22:23.544176+08:00"},{"id":434,"source_id":"01056dad8851d3e9bd532eb4cab33792","target_id":"89d70e5f89be23a229e3ee59982b8e6e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-57","gmt_create":"2026-04-23T15:22:23.544513+08:00","gmt_modified":"2026-04-23T15:22:23.544513+08:00"},{"id":435,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"95be577a89fbeb02578e4c3718c6ec86","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/button.tsx#1-57","gmt_create":"2026-04-23T15:22:23.545023+08:00","gmt_modified":"2026-04-23T15:22:23.545023+08:00"},{"id":436,"source_id":"ac1acbc54c49ee1de13369f6c6827568","target_id":"95be577a89fbeb02578e4c3718c6ec86","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-57","gmt_create":"2026-04-23T15:22:23.545376+08:00","gmt_modified":"2026-04-23T15:22:23.545376+08:00"},{"id":437,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"607bb628918a7a5d54cbf74763f94d07","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/input.tsx#1-23","gmt_create":"2026-04-23T15:22:23.545898+08:00","gmt_modified":"2026-04-23T15:22:23.545899+08:00"},{"id":438,"source_id":"3cf787fa77a15b2b1783560c6d83ed21","target_id":"607bb628918a7a5d54cbf74763f94d07","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-23","gmt_create":"2026-04-23T15:22:23.546272+08:00","gmt_modified":"2026-04-23T15:22:23.546272+08:00"},{"id":439,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"325e25d1dda0f7bfd9d7adfe35ecf3b5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/select.tsx#1-161","gmt_create":"2026-04-23T15:22:23.546653+08:00","gmt_modified":"2026-04-23T15:22:23.546653+08:00"},{"id":440,"source_id":"3c56e1c079959bfcc985183805e5874f","target_id":"325e25d1dda0f7bfd9d7adfe35ecf3b5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-161","gmt_create":"2026-04-23T15:22:23.546906+08:00","gmt_modified":"2026-04-23T15:22:23.546907+08:00"},{"id":441,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"0eed9f61572209dd754611fc7c690d5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dialog.tsx#1-123","gmt_create":"2026-04-23T15:22:23.547243+08:00","gmt_modified":"2026-04-23T15:22:23.547244+08:00"},{"id":442,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"ad6ff021b2126ad5c42323305eb6d8b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dropdown-menu.tsx#1-201","gmt_create":"2026-04-23T15:22:23.547645+08:00","gmt_modified":"2026-04-23T15:22:23.547645+08:00"},{"id":443,"source_id":"0186dc8a89340139a84e1e3c5571a57f","target_id":"ad6ff021b2126ad5c42323305eb6d8b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-201","gmt_create":"2026-04-23T15:22:23.547892+08:00","gmt_modified":"2026-04-23T15:22:23.547892+08:00"},{"id":444,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"a85f004dca63614b4e734ba63b45ef9e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/card.tsx#1-80","gmt_create":"2026-04-23T15:22:23.548296+08:00","gmt_modified":"2026-04-23T15:22:23.548296+08:00"},{"id":445,"source_id":"0d5ef537f7c0b8c390f8b31d7cf47b56","target_id":"a85f004dca63614b4e734ba63b45ef9e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-80","gmt_create":"2026-04-23T15:22:23.548561+08:00","gmt_modified":"2026-04-23T15:22:23.548561+08:00"},{"id":446,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"3bab92a09e9fb456e0303bb1e04afc7e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/table.tsx#1-118","gmt_create":"2026-04-23T15:22:23.548946+08:00","gmt_modified":"2026-04-23T15:22:23.548946+08:00"},{"id":447,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"bd3042a8d9b602334720b0d7b4e8ab3d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/tabs.tsx#1-56","gmt_create":"2026-04-23T15:22:23.549383+08:00","gmt_modified":"2026-04-23T15:22:23.549383+08:00"},{"id":448,"source_id":"beb87ab5aad9532647e9dbd2db7ef587","target_id":"bd3042a8d9b602334720b0d7b4e8ab3d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-56","gmt_create":"2026-04-23T15:22:23.549652+08:00","gmt_modified":"2026-04-23T15:22:23.549653+08:00"},{"id":449,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"379443f450513b5492e2d9d5fca94a42","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/label.tsx#1-27","gmt_create":"2026-04-23T15:22:23.550013+08:00","gmt_modified":"2026-04-23T15:22:23.550014+08:00"},{"id":450,"source_id":"792b8e2c16c9ff2095d83b8972313be4","target_id":"379443f450513b5492e2d9d5fca94a42","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-27","gmt_create":"2026-04-23T15:22:23.550267+08:00","gmt_modified":"2026-04-23T15:22:23.550267+08:00"},{"id":451,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"4aa6ad434a73143bb7a2072124f63be0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/badge.tsx#1-37","gmt_create":"2026-04-23T15:22:23.551155+08:00","gmt_modified":"2026-04-23T15:22:23.551155+08:00"},{"id":452,"source_id":"51821ca9ec2a1c972f3c9d111e19db8a","target_id":"4aa6ad434a73143bb7a2072124f63be0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T15:22:23.551858+08:00","gmt_modified":"2026-04-23T15:22:23.551858+08:00"},{"id":453,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"c45dbdda70a8b9f02b52af4991644d0b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/package.json#11-27","gmt_create":"2026-04-23T15:22:23.552353+08:00","gmt_modified":"2026-04-23T15:22:23.552353+08:00"},{"id":454,"source_id":"aaf5bce6be82d2f947bfa5c1806de452","target_id":"c45dbdda70a8b9f02b52af4991644d0b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-27","gmt_create":"2026-04-23T15:22:23.552845+08:00","gmt_modified":"2026-04-23T15:22:23.552845+08:00"},{"id":455,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"6ac6943c93570294e4fb15a862be2616","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/button.tsx#36-54","gmt_create":"2026-04-23T15:22:23.553797+08:00","gmt_modified":"2026-04-23T15:22:23.553797+08:00"},{"id":456,"source_id":"ac1acbc54c49ee1de13369f6c6827568","target_id":"6ac6943c93570294e4fb15a862be2616","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 36-54","gmt_create":"2026-04-23T15:22:23.554077+08:00","gmt_modified":"2026-04-23T15:22:23.554077+08:00"},{"id":457,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"4bfb5059c685e9878aed64cb5347ccec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dialog.tsx#9-54","gmt_create":"2026-04-23T15:22:23.554645+08:00","gmt_modified":"2026-04-23T15:22:23.554645+08:00"},{"id":458,"source_id":"108b0c4b4dcfb6aa39a5eb138225c148","target_id":"4bfb5059c685e9878aed64cb5347ccec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-54","gmt_create":"2026-04-23T15:22:23.554875+08:00","gmt_modified":"2026-04-23T15:22:23.554875+08:00"},{"id":459,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"0af48b69fe8fb9e480fa1656f36a4330","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dropdown-menu.tsx#21-75","gmt_create":"2026-04-23T15:22:23.555418+08:00","gmt_modified":"2026-04-23T15:22:23.555418+08:00"},{"id":460,"source_id":"0186dc8a89340139a84e1e3c5571a57f","target_id":"0af48b69fe8fb9e480fa1656f36a4330","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-75","gmt_create":"2026-04-23T15:22:23.55574+08:00","gmt_modified":"2026-04-23T15:22:23.55574+08:00"},{"id":461,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"09971e31ab658e119d4c0ad948282107","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/select.tsx#15-100","gmt_create":"2026-04-23T15:22:23.556401+08:00","gmt_modified":"2026-04-23T15:22:23.556401+08:00"},{"id":462,"source_id":"3c56e1c079959bfcc985183805e5874f","target_id":"09971e31ab658e119d4c0ad948282107","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-100","gmt_create":"2026-04-23T15:22:23.556634+08:00","gmt_modified":"2026-04-23T15:22:23.556634+08:00"},{"id":463,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"31aa8777de6043883950d2668094e388","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/table.tsx#5-106","gmt_create":"2026-04-23T15:22:23.55717+08:00","gmt_modified":"2026-04-23T15:22:23.55717+08:00"},{"id":464,"source_id":"0c0b0f4e2cf44facd9d5b57de0d0bf0c","target_id":"31aa8777de6043883950d2668094e388","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 5-106","gmt_create":"2026-04-23T15:22:23.557428+08:00","gmt_modified":"2026-04-23T15:22:23.557429+08:00"},{"id":465,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"28baf3cedb89a21c6d542b7ce2439b24","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/tabs.tsx#8-53","gmt_create":"2026-04-23T15:22:23.558002+08:00","gmt_modified":"2026-04-23T15:22:23.558002+08:00"},{"id":466,"source_id":"beb87ab5aad9532647e9dbd2db7ef587","target_id":"28baf3cedb89a21c6d542b7ce2439b24","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-53","gmt_create":"2026-04-23T15:22:23.558316+08:00","gmt_modified":"2026-04-23T15:22:23.558316+08:00"},{"id":467,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"28b0f4797c6084272244175a24b961cb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/card.tsx#5-77","gmt_create":"2026-04-23T15:22:23.558858+08:00","gmt_modified":"2026-04-23T15:22:23.558858+08:00"},{"id":468,"source_id":"0d5ef537f7c0b8c390f8b31d7cf47b56","target_id":"28b0f4797c6084272244175a24b961cb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 5-77","gmt_create":"2026-04-23T15:22:23.559082+08:00","gmt_modified":"2026-04-23T15:22:23.559082+08:00"},{"id":469,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"a6e0b3fa65906c3c3cd88707e1d40059","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/label.tsx#9-23","gmt_create":"2026-04-23T15:22:23.559653+08:00","gmt_modified":"2026-04-23T15:22:23.559653+08:00"},{"id":470,"source_id":"792b8e2c16c9ff2095d83b8972313be4","target_id":"a6e0b3fa65906c3c3cd88707e1d40059","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-23","gmt_create":"2026-04-23T15:22:23.560391+08:00","gmt_modified":"2026-04-23T15:22:23.560392+08:00"},{"id":471,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"9a909775022010b4686c2b00cdf1c165","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/badge.tsx#6-34","gmt_create":"2026-04-23T15:22:23.562216+08:00","gmt_modified":"2026-04-23T15:22:23.562216+08:00"},{"id":472,"source_id":"51821ca9ec2a1c972f3c9d111e19db8a","target_id":"9a909775022010b4686c2b00cdf1c165","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-34","gmt_create":"2026-04-23T15:22:23.562602+08:00","gmt_modified":"2026-04-23T15:22:23.562602+08:00"},{"id":473,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"ce1cd184945ae56cf63f55168afd8050","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/components/ui/dialog.tsx#47-50","gmt_create":"2026-04-23T15:22:23.565009+08:00","gmt_modified":"2026-04-23T15:22:23.565009+08:00"},{"id":474,"source_id":"108b0c4b4dcfb6aa39a5eb138225c148","target_id":"ce1cd184945ae56cf63f55168afd8050","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 47-50","gmt_create":"2026-04-23T15:22:23.565469+08:00","gmt_modified":"2026-04-23T15:22:23.565469+08:00"},{"id":475,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"4a2a06e1efcbc85deaa013dca155f20c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/tailwind.config.ts#10-54","gmt_create":"2026-04-23T15:22:23.57102+08:00","gmt_modified":"2026-04-23T15:22:23.57102+08:00"},{"id":476,"source_id":"01056dad8851d3e9bd532eb4cab33792","target_id":"4a2a06e1efcbc85deaa013dca155f20c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-54","gmt_create":"2026-04-23T15:22:23.571491+08:00","gmt_modified":"2026-04-23T15:22:23.571491+08:00"},{"id":477,"source_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","target_id":"8b00ea4aba57ea6ed982287fb7840805","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/utils.ts#4-6","gmt_create":"2026-04-23T15:22:23.572188+08:00","gmt_modified":"2026-04-23T15:22:23.572188+08:00"},{"id":478,"source_id":"f93ae024fe0a2e69698037dff6df205f","target_id":"8b00ea4aba57ea6ed982287fb7840805","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-6","gmt_create":"2026-04-23T15:22:23.572722+08:00","gmt_modified":"2026-04-23T15:22:23.572722+08:00"},{"id":479,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e ba0390b3-c249-4e92-a3c8-6820343aeda9","gmt_create":"2026-04-23T15:22:24.554964+08:00","gmt_modified":"2026-04-23T15:22:24.554964+08:00"},{"id":480,"source_id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","target_id":"760610d4-dff6-4c6d-831f-7c9078db86a6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3af3bb9e-4d99-4dc3-b1ed-2686db385c26 -\u003e 760610d4-dff6-4c6d-831f-7c9078db86a6","gmt_create":"2026-04-23T15:22:24.558512+08:00","gmt_modified":"2026-04-23T15:22:24.558512+08:00"},{"id":483,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"2fc79486-ec65-4533-860a-89c8877c2ea0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: deb919cc-9541-4ed7-a581-ae2876ea67c2 -\u003e 2fc79486-ec65-4533-860a-89c8877c2ea0","gmt_create":"2026-04-23T15:22:24.563092+08:00","gmt_modified":"2026-04-23T15:22:24.563092+08:00"},{"id":484,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"d8e2cef5-37e6-44e7-8a7b-9bd365b82a72","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: deb919cc-9541-4ed7-a581-ae2876ea67c2 -\u003e d8e2cef5-37e6-44e7-8a7b-9bd365b82a72","gmt_create":"2026-04-23T15:22:24.564188+08:00","gmt_modified":"2026-04-23T15:22:24.564188+08:00"},{"id":485,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"7c7564ee-7fe2-4555-8ff0-4ec1b757997a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 49915365-e38e-43b5-beac-6aa7d5a74cbb -\u003e 7c7564ee-7fe2-4555-8ff0-4ec1b757997a","gmt_create":"2026-04-23T15:22:24.570327+08:00","gmt_modified":"2026-04-23T15:22:24.570327+08:00"},{"id":487,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"737f8d6c-bd8f-4c11-b142-71a400423323","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 49915365-e38e-43b5-beac-6aa7d5a74cbb -\u003e 737f8d6c-bd8f-4c11-b142-71a400423323","gmt_create":"2026-04-23T15:22:24.572325+08:00","gmt_modified":"2026-04-23T15:22:24.572325+08:00"},{"id":488,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"ae62f4a8-8840-4c8e-9a42-3373370299ff","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 49915365-e38e-43b5-beac-6aa7d5a74cbb -\u003e ae62f4a8-8840-4c8e-9a42-3373370299ff","gmt_create":"2026-04-23T15:22:24.573991+08:00","gmt_modified":"2026-04-23T15:22:24.573991+08:00"},{"id":492,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:31:36.520458+08:00","gmt_modified":"2026-04-23T20:31:36.520458+08:00"},{"id":493,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:31:36.521676+08:00","gmt_modified":"2026-04-23T20:31:36.521677+08:00"},{"id":494,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T20:31:36.522472+08:00","gmt_modified":"2026-04-23T20:31:36.522472+08:00"},{"id":495,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"e68ad5186f1e47610ab3d9f14a794393","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/tongyi.py","gmt_create":"2026-04-23T20:31:36.522898+08:00","gmt_modified":"2026-04-23T20:31:36.522898+08:00"},{"id":496,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"404f6d0765a8c6e77e33b7fc21b377a4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/doubao.py","gmt_create":"2026-04-23T20:31:36.523305+08:00","gmt_modified":"2026-04-23T20:31:36.523305+08:00"},{"id":497,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"303e80519e946904d1cb3ac32cbb0814","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/qingyan.py","gmt_create":"2026-04-23T20:31:36.524292+08:00","gmt_modified":"2026-04-23T20:31:36.524292+08:00"},{"id":498,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"5af7301fe056fc3d10820d820e8ad777","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/tiangong.py","gmt_create":"2026-04-23T20:31:36.525283+08:00","gmt_modified":"2026-04-23T20:31:36.525283+08:00"},{"id":499,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"0e38ad5d2d3daaad08c9302df8805b15","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/xinghuo.py","gmt_create":"2026-04-23T20:31:36.52736+08:00","gmt_modified":"2026-04-23T20:31:36.52736+08:00"},{"id":500,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"6a63f048c16c60c5d2d57012c810ee0e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/search_engine.py","gmt_create":"2026-04-23T20:31:36.527985+08:00","gmt_modified":"2026-04-23T20:31:36.527985+08:00"},{"id":501,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:31:36.530076+08:00","gmt_modified":"2026-04-23T20:31:36.530076+08:00"},{"id":502,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T20:31:36.531496+08:00","gmt_modified":"2026-04-23T20:31:36.531496+08:00"},{"id":503,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:31:36.532308+08:00","gmt_modified":"2026-04-23T20:31:36.532308+08:00"},{"id":504,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T20:31:36.533202+08:00","gmt_modified":"2026-04-23T20:31:36.533203+08:00"},{"id":505,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:31:36.533733+08:00","gmt_modified":"2026-04-23T20:31:36.533733+08:00"},{"id":506,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T20:31:36.534166+08:00","gmt_modified":"2026-04-23T20:31:36.534166+08:00"},{"id":507,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:31:36.535208+08:00","gmt_modified":"2026-04-23T20:31:36.535208+08:00"},{"id":508,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T20:31:36.536177+08:00","gmt_modified":"2026-04-23T20:31:36.536177+08:00"},{"id":509,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"ef72f0c3cedb9fd9a87352fe493053dc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/platforms.ts","gmt_create":"2026-04-23T20:31:36.536784+08:00","gmt_modified":"2026-04-23T20:31:36.536784+08:00"},{"id":510,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b07a4fb9cecbbd66a6910ccbc7651f19","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_citation_engine.py","gmt_create":"2026-04-23T20:31:36.537249+08:00","gmt_modified":"2026-04-23T20:31:36.537249+08:00"},{"id":511,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"a26ee01cf41da3b956e1650448c156fa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/requirements.txt","gmt_create":"2026-04-23T20:31:36.53817+08:00","gmt_modified":"2026-04-23T20:31:36.538171+08:00"},{"id":512,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"cbd0101fa84d957bcb1baaa623c6b31c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-78","gmt_create":"2026-04-23T20:31:36.53929+08:00","gmt_modified":"2026-04-23T20:31:36.53929+08:00"},{"id":513,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"7c0831c17e8c65eaed9511e17ed2a2ef","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-269","gmt_create":"2026-04-23T20:31:36.540413+08:00","gmt_modified":"2026-04-23T20:31:36.540413+08:00"},{"id":514,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"7c0831c17e8c65eaed9511e17ed2a2ef","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-269","gmt_create":"2026-04-23T20:31:36.541301+08:00","gmt_modified":"2026-04-23T20:31:36.541301+08:00"},{"id":515,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"71f98c8993fb42b108e34a554247869b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#1-95","gmt_create":"2026-04-23T20:31:36.541996+08:00","gmt_modified":"2026-04-23T20:31:36.541996+08:00"},{"id":516,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"71f98c8993fb42b108e34a554247869b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-95","gmt_create":"2026-04-23T20:31:36.542269+08:00","gmt_modified":"2026-04-23T20:31:36.542269+08:00"},{"id":517,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"8d5aac2ae0671f05d7c0807ba9296cdf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#1-330","gmt_create":"2026-04-23T20:31:36.543463+08:00","gmt_modified":"2026-04-23T20:31:36.543463+08:00"},{"id":518,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"8d5aac2ae0671f05d7c0807ba9296cdf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-330","gmt_create":"2026-04-23T20:31:36.543912+08:00","gmt_modified":"2026-04-23T20:31:36.543912+08:00"},{"id":519,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"debd789847d1eed2d54198772edf68a2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#1-38","gmt_create":"2026-04-23T20:31:36.545278+08:00","gmt_modified":"2026-04-23T20:31:36.545279+08:00"},{"id":520,"source_id":"e68ad5186f1e47610ab3d9f14a794393","target_id":"debd789847d1eed2d54198772edf68a2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2026-04-23T20:31:36.545752+08:00","gmt_modified":"2026-04-23T20:31:36.545752+08:00"},{"id":521,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"3bde521d18cc7221ae2f14637e163aac","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/doubao.py#1-38","gmt_create":"2026-04-23T20:31:36.546456+08:00","gmt_modified":"2026-04-23T20:31:36.546457+08:00"},{"id":522,"source_id":"404f6d0765a8c6e77e33b7fc21b377a4","target_id":"3bde521d18cc7221ae2f14637e163aac","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2026-04-23T20:31:36.546804+08:00","gmt_modified":"2026-04-23T20:31:36.546804+08:00"},{"id":523,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"c26862d9e0fc878b51a2668cfd2ec827","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/qingyan.py#1-38","gmt_create":"2026-04-23T20:31:36.547594+08:00","gmt_modified":"2026-04-23T20:31:36.547594+08:00"},{"id":524,"source_id":"303e80519e946904d1cb3ac32cbb0814","target_id":"c26862d9e0fc878b51a2668cfd2ec827","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2026-04-23T20:31:36.548009+08:00","gmt_modified":"2026-04-23T20:31:36.548009+08:00"},{"id":525,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"0fcc9c2e0d33b887c5f18a3807b64a1e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tiangong.py#1-38","gmt_create":"2026-04-23T20:31:36.548333+08:00","gmt_modified":"2026-04-23T20:31:36.548333+08:00"},{"id":526,"source_id":"5af7301fe056fc3d10820d820e8ad777","target_id":"0fcc9c2e0d33b887c5f18a3807b64a1e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2026-04-23T20:31:36.548917+08:00","gmt_modified":"2026-04-23T20:31:36.548917+08:00"},{"id":527,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"a4baa2444208b3f9a3f42bc492038207","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/xinghuo.py#1-38","gmt_create":"2026-04-23T20:31:36.549296+08:00","gmt_modified":"2026-04-23T20:31:36.549296+08:00"},{"id":528,"source_id":"0e38ad5d2d3daaad08c9302df8805b15","target_id":"a4baa2444208b3f9a3f42bc492038207","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-38","gmt_create":"2026-04-23T20:31:36.54956+08:00","gmt_modified":"2026-04-23T20:31:36.54956+08:00"},{"id":529,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"9f82f6d82bf914a608d6afa3d9854abf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#1-174","gmt_create":"2026-04-23T20:31:36.549907+08:00","gmt_modified":"2026-04-23T20:31:36.549907+08:00"},{"id":530,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"9f82f6d82bf914a608d6afa3d9854abf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-174","gmt_create":"2026-04-23T20:31:36.55085+08:00","gmt_modified":"2026-04-23T20:31:36.55085+08:00"},{"id":531,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"84fbed7d35f7752e2117a74fcaf5f0e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-17","gmt_create":"2026-04-23T20:31:36.551428+08:00","gmt_modified":"2026-04-23T20:31:36.551428+08:00"},{"id":532,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#1-55","gmt_create":"2026-04-23T20:31:36.552386+08:00","gmt_modified":"2026-04-23T20:31:36.552386+08:00"},{"id":533,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-55","gmt_create":"2026-04-23T20:31:36.553134+08:00","gmt_modified":"2026-04-23T20:31:36.553134+08:00"},{"id":534,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"943c18db69a04b3137fba4cebcfea87e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#1-42","gmt_create":"2026-04-23T20:31:36.553656+08:00","gmt_modified":"2026-04-23T20:31:36.553656+08:00"},{"id":535,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"943c18db69a04b3137fba4cebcfea87e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-42","gmt_create":"2026-04-23T20:31:36.554174+08:00","gmt_modified":"2026-04-23T20:31:36.554174+08:00"},{"id":536,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"6628e006b8e5ca16160743528b6b0506","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#1-39","gmt_create":"2026-04-23T20:31:36.555503+08:00","gmt_modified":"2026-04-23T20:31:36.555503+08:00"},{"id":537,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"6628e006b8e5ca16160743528b6b0506","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-39","gmt_create":"2026-04-23T20:31:36.556658+08:00","gmt_modified":"2026-04-23T20:31:36.556658+08:00"},{"id":538,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"72a110dca58d8152758e2fdab4e94761","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#1-18","gmt_create":"2026-04-23T20:31:36.558991+08:00","gmt_modified":"2026-04-23T20:31:36.558991+08:00"},{"id":539,"source_id":"a16cf42e9559523c4f96ca4c79f9488d","target_id":"72a110dca58d8152758e2fdab4e94761","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-18","gmt_create":"2026-04-23T20:31:36.559781+08:00","gmt_modified":"2026-04-23T20:31:36.559781+08:00"},{"id":540,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"300e43c7a648440163f81039eaa47b5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/platforms.ts#1-24","gmt_create":"2026-04-23T20:31:36.563289+08:00","gmt_modified":"2026-04-23T20:31:36.563289+08:00"},{"id":541,"source_id":"ef72f0c3cedb9fd9a87352fe493053dc","target_id":"300e43c7a648440163f81039eaa47b5a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-24","gmt_create":"2026-04-23T20:31:36.563813+08:00","gmt_modified":"2026-04-23T20:31:36.563813+08:00"},{"id":542,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"caf1970ded8fc5d3921005e166e2100b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#59-78","gmt_create":"2026-04-23T20:31:36.567359+08:00","gmt_modified":"2026-04-23T20:31:36.567359+08:00"},{"id":543,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"caf1970ded8fc5d3921005e166e2100b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-78","gmt_create":"2026-04-23T20:31:36.567845+08:00","gmt_modified":"2026-04-23T20:31:36.567845+08:00"},{"id":544,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"4ded871d02b8119cdd985de8b220b084","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#204-234","gmt_create":"2026-04-23T20:31:36.568622+08:00","gmt_modified":"2026-04-23T20:31:36.568622+08:00"},{"id":545,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"4ded871d02b8119cdd985de8b220b084","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 204-234","gmt_create":"2026-04-23T20:31:36.569217+08:00","gmt_modified":"2026-04-23T20:31:36.569217+08:00"},{"id":546,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"448970b02d89d5e1576f70bdb0063363","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#51-84","gmt_create":"2026-04-23T20:31:36.569785+08:00","gmt_modified":"2026-04-23T20:31:36.569785+08:00"},{"id":547,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"448970b02d89d5e1576f70bdb0063363","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 51-84","gmt_create":"2026-04-23T20:31:36.570169+08:00","gmt_modified":"2026-04-23T20:31:36.570169+08:00"},{"id":548,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"362d22f423631cda39404660b3317a2f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#177-254","gmt_create":"2026-04-23T20:31:36.570576+08:00","gmt_modified":"2026-04-23T20:31:36.570576+08:00"},{"id":549,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"362d22f423631cda39404660b3317a2f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 177-254","gmt_create":"2026-04-23T20:31:36.571472+08:00","gmt_modified":"2026-04-23T20:31:36.571472+08:00"},{"id":550,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b475ff5225ac403c7fcf3dd7e14cbac6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#16-33","gmt_create":"2026-04-23T20:31:36.572484+08:00","gmt_modified":"2026-04-23T20:31:36.572484+08:00"},{"id":551,"source_id":"e68ad5186f1e47610ab3d9f14a794393","target_id":"b475ff5225ac403c7fcf3dd7e14cbac6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-33","gmt_create":"2026-04-23T20:31:36.573312+08:00","gmt_modified":"2026-04-23T20:31:36.573312+08:00"},{"id":552,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#163-174","gmt_create":"2026-04-23T20:31:36.574111+08:00","gmt_modified":"2026-04-23T20:31:36.574112+08:00"},{"id":553,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 163-174","gmt_create":"2026-04-23T20:31:36.574746+08:00","gmt_modified":"2026-04-23T20:31:36.574746+08:00"},{"id":554,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"75c6ab0599d304bf36d290d4143d3d2f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#29-31","gmt_create":"2026-04-23T20:31:36.590144+08:00","gmt_modified":"2026-04-23T20:31:36.590144+08:00"},{"id":555,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"75c6ab0599d304bf36d290d4143d3d2f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-31","gmt_create":"2026-04-23T20:31:36.591214+08:00","gmt_modified":"2026-04-23T20:31:36.591214+08:00"},{"id":556,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T20:31:36.591664+08:00","gmt_modified":"2026-04-23T20:31:36.591664+08:00"},{"id":557,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T20:31:36.592665+08:00","gmt_modified":"2026-04-23T20:31:36.592666+08:00"},{"id":558,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"2a6780838f1415dcb7d0fa611f64cee7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#4-17","gmt_create":"2026-04-23T20:31:36.593186+08:00","gmt_modified":"2026-04-23T20:31:36.593186+08:00"},{"id":559,"source_id":"a16cf42e9559523c4f96ca4c79f9488d","target_id":"2a6780838f1415dcb7d0fa611f64cee7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-17","gmt_create":"2026-04-23T20:31:36.59372+08:00","gmt_modified":"2026-04-23T20:31:36.59372+08:00"},{"id":560,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"c5ae7697193b2b93425ff25d2d7d54a9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#10-38","gmt_create":"2026-04-23T20:31:36.595227+08:00","gmt_modified":"2026-04-23T20:31:36.595227+08:00"},{"id":561,"source_id":"e68ad5186f1e47610ab3d9f14a794393","target_id":"c5ae7697193b2b93425ff25d2d7d54a9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:36.596503+08:00","gmt_modified":"2026-04-23T20:31:36.596503+08:00"},{"id":562,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"aa8c3fa3bc509dafe64d113bdd09eafa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/doubao.py#10-38","gmt_create":"2026-04-23T20:31:36.597069+08:00","gmt_modified":"2026-04-23T20:31:36.597069+08:00"},{"id":563,"source_id":"404f6d0765a8c6e77e33b7fc21b377a4","target_id":"aa8c3fa3bc509dafe64d113bdd09eafa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:36.597765+08:00","gmt_modified":"2026-04-23T20:31:36.597765+08:00"},{"id":564,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"eabb031e538ea62cab69b01368740d20","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/qingyan.py#10-38","gmt_create":"2026-04-23T20:31:36.598445+08:00","gmt_modified":"2026-04-23T20:31:36.598445+08:00"},{"id":565,"source_id":"303e80519e946904d1cb3ac32cbb0814","target_id":"eabb031e538ea62cab69b01368740d20","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:36.599093+08:00","gmt_modified":"2026-04-23T20:31:36.599093+08:00"},{"id":566,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b1c09e372a63e9854886adaea1663bea","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tiangong.py#10-38","gmt_create":"2026-04-23T20:31:36.599896+08:00","gmt_modified":"2026-04-23T20:31:36.599896+08:00"},{"id":567,"source_id":"5af7301fe056fc3d10820d820e8ad777","target_id":"b1c09e372a63e9854886adaea1663bea","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:36.600604+08:00","gmt_modified":"2026-04-23T20:31:36.600604+08:00"},{"id":568,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"79793bcd507f9d287d19014b60d963d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/xinghuo.py#10-38","gmt_create":"2026-04-23T20:31:36.601204+08:00","gmt_modified":"2026-04-23T20:31:36.601204+08:00"},{"id":569,"source_id":"0e38ad5d2d3daaad08c9302df8805b15","target_id":"79793bcd507f9d287d19014b60d963d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:36.60148+08:00","gmt_modified":"2026-04-23T20:31:36.60148+08:00"},{"id":570,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"102223dd13475177a1ade8b9be14fbd1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#79-144","gmt_create":"2026-04-23T20:31:36.603752+08:00","gmt_modified":"2026-04-23T20:31:36.603752+08:00"},{"id":571,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"102223dd13475177a1ade8b9be14fbd1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 79-144","gmt_create":"2026-04-23T20:31:36.606514+08:00","gmt_modified":"2026-04-23T20:31:36.606514+08:00"},{"id":572,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"8565f299083b4dcba5a328c947f06fee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#256-287","gmt_create":"2026-04-23T20:31:36.609013+08:00","gmt_modified":"2026-04-23T20:31:36.609013+08:00"},{"id":573,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"8565f299083b4dcba5a328c947f06fee","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 256-287","gmt_create":"2026-04-23T20:31:36.609501+08:00","gmt_modified":"2026-04-23T20:31:36.609501+08:00"},{"id":574,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"8af91caf063c12c8236f9675769ce4a1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citation_engine.py#1-54","gmt_create":"2026-04-23T20:31:36.610558+08:00","gmt_modified":"2026-04-23T20:31:36.610558+08:00"},{"id":575,"source_id":"b07a4fb9cecbbd66a6910ccbc7651f19","target_id":"8af91caf063c12c8236f9675769ce4a1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-54","gmt_create":"2026-04-23T20:31:36.610946+08:00","gmt_modified":"2026-04-23T20:31:36.610946+08:00"},{"id":576,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"005172b71dc742cf6803c5eb0185091e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/requirements.txt#1-36","gmt_create":"2026-04-23T20:31:36.612653+08:00","gmt_modified":"2026-04-23T20:31:36.612653+08:00"},{"id":577,"source_id":"a26ee01cf41da3b956e1650448c156fa","target_id":"005172b71dc742cf6803c5eb0185091e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-36","gmt_create":"2026-04-23T20:31:36.613263+08:00","gmt_modified":"2026-04-23T20:31:36.613263+08:00"},{"id":578,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"b55cc5936c299f819b57b899858438e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#139-144","gmt_create":"2026-04-23T20:31:36.614861+08:00","gmt_modified":"2026-04-23T20:31:36.614861+08:00"},{"id":579,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"b55cc5936c299f819b57b899858438e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 139-144","gmt_create":"2026-04-23T20:31:36.615692+08:00","gmt_modified":"2026-04-23T20:31:36.615692+08:00"},{"id":580,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"384b1939e53970ce7ae75d241a49da5f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#22-29","gmt_create":"2026-04-23T20:31:36.615996+08:00","gmt_modified":"2026-04-23T20:31:36.615996+08:00"},{"id":581,"source_id":"e68ad5186f1e47610ab3d9f14a794393","target_id":"384b1939e53970ce7ae75d241a49da5f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 22-29","gmt_create":"2026-04-23T20:31:36.61682+08:00","gmt_modified":"2026-04-23T20:31:36.61682+08:00"},{"id":582,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"f096aa3ea82e9fa625a9acb1309b4c50","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#231-247","gmt_create":"2026-04-23T20:31:36.617171+08:00","gmt_modified":"2026-04-23T20:31:36.617171+08:00"},{"id":583,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"f096aa3ea82e9fa625a9acb1309b4c50","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 231-247","gmt_create":"2026-04-23T20:31:36.617385+08:00","gmt_modified":"2026-04-23T20:31:36.617385+08:00"},{"id":584,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"15b8ebf74b0a5dfac58024d323ca8d0a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#164-175","gmt_create":"2026-04-23T20:31:36.618327+08:00","gmt_modified":"2026-04-23T20:31:36.618327+08:00"},{"id":585,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"15b8ebf74b0a5dfac58024d323ca8d0a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 164-175","gmt_create":"2026-04-23T20:31:36.618609+08:00","gmt_modified":"2026-04-23T20:31:36.618609+08:00"},{"id":586,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T20:31:50.473102+08:00","gmt_modified":"2026-04-23T20:31:50.473102+08:00"},{"id":587,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:31:50.473614+08:00","gmt_modified":"2026-04-23T20:31:50.473614+08:00"},{"id":588,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"6a63f048c16c60c5d2d57012c810ee0e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/search_engine.py","gmt_create":"2026-04-23T20:31:50.474171+08:00","gmt_modified":"2026-04-23T20:31:50.474171+08:00"},{"id":589,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:31:50.474429+08:00","gmt_modified":"2026-04-23T20:31:50.474429+08:00"},{"id":590,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T20:31:50.474658+08:00","gmt_modified":"2026-04-23T20:31:50.474658+08:00"},{"id":591,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:31:50.474883+08:00","gmt_modified":"2026-04-23T20:31:50.474883+08:00"},{"id":592,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T20:31:50.475158+08:00","gmt_modified":"2026-04-23T20:31:50.475158+08:00"},{"id":593,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"e9b52adbec3c07cf021e488dd3f99ab4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/Dockerfile","gmt_create":"2026-04-23T20:31:50.475559+08:00","gmt_modified":"2026-04-23T20:31:50.475559+08:00"},{"id":594,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:31:50.475799+08:00","gmt_modified":"2026-04-23T20:31:50.475799+08:00"},{"id":595,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"e68ad5186f1e47610ab3d9f14a794393","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/tongyi.py","gmt_create":"2026-04-23T20:31:50.47602+08:00","gmt_modified":"2026-04-23T20:31:50.47602+08:00"},{"id":596,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"42ff5383133d176cec9eb88682483be3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_citations.py","gmt_create":"2026-04-23T20:31:50.476237+08:00","gmt_modified":"2026-04-23T20:31:50.476237+08:00"},{"id":597,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"72a110dca58d8152758e2fdab4e94761","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#1-18","gmt_create":"2026-04-23T20:31:50.476528+08:00","gmt_modified":"2026-04-23T20:31:50.476528+08:00"},{"id":598,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"bcfade20d923c8efa713808ca9af94ca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#10-38","gmt_create":"2026-04-23T20:31:50.476982+08:00","gmt_modified":"2026-04-23T20:31:50.476982+08:00"},{"id":599,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"bcfade20d923c8efa713808ca9af94ca","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:50.477216+08:00","gmt_modified":"2026-04-23T20:31:50.477216+08:00"},{"id":600,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"ca7e1232fbba5fb75e04ab8e491bfbd1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#10-38","gmt_create":"2026-04-23T20:31:50.477565+08:00","gmt_modified":"2026-04-23T20:31:50.477565+08:00"},{"id":601,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"ca7e1232fbba5fb75e04ab8e491bfbd1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-38","gmt_create":"2026-04-23T20:31:50.477978+08:00","gmt_modified":"2026-04-23T20:31:50.477978+08:00"},{"id":602,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"c5ae7697193b2b93425ff25d2d7d54a9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#10-38","gmt_create":"2026-04-23T20:31:50.478592+08:00","gmt_modified":"2026-04-23T20:31:50.478592+08:00"},{"id":603,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#163-174","gmt_create":"2026-04-23T20:31:50.479311+08:00","gmt_modified":"2026-04-23T20:31:50.479311+08:00"},{"id":604,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"9720b93ed7247efb685e2825e5f964bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#161-176","gmt_create":"2026-04-23T20:31:50.479856+08:00","gmt_modified":"2026-04-23T20:31:50.479856+08:00"},{"id":605,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"9720b93ed7247efb685e2825e5f964bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 161-176","gmt_create":"2026-04-23T20:31:50.48037+08:00","gmt_modified":"2026-04-23T20:31:50.48037+08:00"},{"id":606,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"0d226400124ba891a46f59c36781ccd8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#9-23","gmt_create":"2026-04-23T20:31:50.481311+08:00","gmt_modified":"2026-04-23T20:31:50.481311+08:00"},{"id":607,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"0d226400124ba891a46f59c36781ccd8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-23","gmt_create":"2026-04-23T20:31:50.481625+08:00","gmt_modified":"2026-04-23T20:31:50.481625+08:00"},{"id":608,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"412695e5de2014514a8f62f98c573656","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/Dockerfile#1-41","gmt_create":"2026-04-23T20:31:50.482236+08:00","gmt_modified":"2026-04-23T20:31:50.482236+08:00"},{"id":609,"source_id":"e9b52adbec3c07cf021e488dd3f99ab4","target_id":"412695e5de2014514a8f62f98c573656","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2026-04-23T20:31:50.483281+08:00","gmt_modified":"2026-04-23T20:31:50.483281+08:00"},{"id":610,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T20:31:50.483853+08:00","gmt_modified":"2026-04-23T20:31:50.483854+08:00"},{"id":611,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"485e15eb30a5b08da38a628c9dd5053e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#16-77","gmt_create":"2026-04-23T20:31:50.48646+08:00","gmt_modified":"2026-04-23T20:31:50.48646+08:00"},{"id":612,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"485e15eb30a5b08da38a628c9dd5053e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-77","gmt_create":"2026-04-23T20:31:50.486841+08:00","gmt_modified":"2026-04-23T20:31:50.486841+08:00"},{"id":613,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"ad67863041d9eea2b0fb542b5aa33aca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#4-18","gmt_create":"2026-04-23T20:31:50.487399+08:00","gmt_modified":"2026-04-23T20:31:50.487399+08:00"},{"id":614,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"8565f299083b4dcba5a328c947f06fee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#256-287","gmt_create":"2026-04-23T20:31:50.488281+08:00","gmt_modified":"2026-04-23T20:31:50.488281+08:00"},{"id":615,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"77158a6f887e224a03552893bfec7c92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#16-33","gmt_create":"2026-04-23T20:31:50.488807+08:00","gmt_modified":"2026-04-23T20:31:50.488807+08:00"},{"id":616,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"77158a6f887e224a03552893bfec7c92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-33","gmt_create":"2026-04-23T20:31:50.489038+08:00","gmt_modified":"2026-04-23T20:31:50.489038+08:00"},{"id":617,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"5c3f336b5a7b4af4cc2f2ac183539218","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#79-145","gmt_create":"2026-04-23T20:31:50.491706+08:00","gmt_modified":"2026-04-23T20:31:50.491706+08:00"},{"id":618,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"5c3f336b5a7b4af4cc2f2ac183539218","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 79-145","gmt_create":"2026-04-23T20:31:50.492445+08:00","gmt_modified":"2026-04-23T20:31:50.492445+08:00"},{"id":619,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"3894c1ed9dca2ebf2359f40ebdb1959e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#147-174","gmt_create":"2026-04-23T20:31:50.493129+08:00","gmt_modified":"2026-04-23T20:31:50.493129+08:00"},{"id":620,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"3894c1ed9dca2ebf2359f40ebdb1959e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 147-174","gmt_create":"2026-04-23T20:31:50.493716+08:00","gmt_modified":"2026-04-23T20:31:50.493716+08:00"},{"id":621,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"362d22f423631cda39404660b3317a2f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#177-254","gmt_create":"2026-04-23T20:31:50.494347+08:00","gmt_modified":"2026-04-23T20:31:50.494348+08:00"},{"id":622,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"e27bcba24aaadeec1922d2b4e5b8386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#1-109","gmt_create":"2026-04-23T20:31:50.496521+08:00","gmt_modified":"2026-04-23T20:31:50.496521+08:00"},{"id":623,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"e27bcba24aaadeec1922d2b4e5b8386b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-109","gmt_create":"2026-04-23T20:31:50.496915+08:00","gmt_modified":"2026-04-23T20:31:50.496915+08:00"},{"id":624,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"5f893f5078aa8e549284feb057aa45da","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#16-29","gmt_create":"2026-04-23T20:31:50.499115+08:00","gmt_modified":"2026-04-23T20:31:50.499115+08:00"},{"id":625,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"5f893f5078aa8e549284feb057aa45da","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-29","gmt_create":"2026-04-23T20:31:50.49944+08:00","gmt_modified":"2026-04-23T20:31:50.49944+08:00"},{"id":626,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"b55cc5936c299f819b57b899858438e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#139-144","gmt_create":"2026-04-23T20:31:50.50016+08:00","gmt_modified":"2026-04-23T20:31:50.50016+08:00"},{"id":627,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"e0b68d2d24760689a0f4f00dfee5f9f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#28-76","gmt_create":"2026-04-23T20:31:50.500908+08:00","gmt_modified":"2026-04-23T20:31:50.500908+08:00"},{"id":628,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"e0b68d2d24760689a0f4f00dfee5f9f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-76","gmt_create":"2026-04-23T20:31:50.501388+08:00","gmt_modified":"2026-04-23T20:31:50.501388+08:00"},{"id":629,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"e9b98ae83632342d8e06cde39e9c9462","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#105-137","gmt_create":"2026-04-23T20:31:50.502229+08:00","gmt_modified":"2026-04-23T20:31:50.502229+08:00"},{"id":630,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"e9b98ae83632342d8e06cde39e9c9462","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 105-137","gmt_create":"2026-04-23T20:31:50.502758+08:00","gmt_modified":"2026-04-23T20:31:50.502758+08:00"},{"id":631,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"f096aa3ea82e9fa625a9acb1309b4c50","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#231-247","gmt_create":"2026-04-23T20:31:50.503532+08:00","gmt_modified":"2026-04-23T20:31:50.503532+08:00"},{"id":632,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"2a4f741f31f62dce8ad63be2e831f520","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citations.py#23-93","gmt_create":"2026-04-23T20:31:50.504205+08:00","gmt_modified":"2026-04-23T20:31:50.504206+08:00"},{"id":633,"source_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","target_id":"c86edb7a95fbe4b431ac65a0e2b8636e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#90-109","gmt_create":"2026-04-23T20:31:50.504719+08:00","gmt_modified":"2026-04-23T20:31:50.504719+08:00"},{"id":634,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"c86edb7a95fbe4b431ac65a0e2b8636e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 90-109","gmt_create":"2026-04-23T20:31:50.505358+08:00","gmt_modified":"2026-04-23T20:31:50.505358+08:00"},{"id":635,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T20:33:30.005285+08:00","gmt_modified":"2026-04-23T20:33:30.005285+08:00"},{"id":636,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:33:30.006785+08:00","gmt_modified":"2026-04-23T20:33:30.006785+08:00"},{"id":637,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:33:30.008852+08:00","gmt_modified":"2026-04-23T20:33:30.008852+08:00"},{"id":638,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:33:30.010802+08:00","gmt_modified":"2026-04-23T20:33:30.010803+08:00"},{"id":639,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T20:33:30.011496+08:00","gmt_modified":"2026-04-23T20:33:30.011496+08:00"},{"id":640,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"b0c428683c8a3e6922d90ca0d8c2736d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/database.py","gmt_create":"2026-04-23T20:33:30.012521+08:00","gmt_modified":"2026-04-23T20:33:30.012521+08:00"},{"id":641,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T20:33:30.013288+08:00","gmt_modified":"2026-04-23T20:33:30.013288+08:00"},{"id":642,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:33:30.014048+08:00","gmt_modified":"2026-04-23T20:33:30.014048+08:00"},{"id":643,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T20:33:30.014998+08:00","gmt_modified":"2026-04-23T20:33:30.014998+08:00"},{"id":644,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:33:30.015593+08:00","gmt_modified":"2026-04-23T20:33:30.015593+08:00"},{"id":645,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:33:30.016186+08:00","gmt_modified":"2026-04-23T20:33:30.016187+08:00"},{"id":646,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T20:33:30.017118+08:00","gmt_modified":"2026-04-23T20:33:30.017118+08:00"},{"id":647,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"b2f0d46a31a5441594f2e777365fc156","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_scheduler.py","gmt_create":"2026-04-23T20:33:30.017481+08:00","gmt_modified":"2026-04-23T20:33:30.017481+08:00"},{"id":648,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-22","gmt_create":"2026-04-23T20:33:30.018279+08:00","gmt_modified":"2026-04-23T20:33:30.018279+08:00"},{"id":649,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"e230904202fcf7a861c6f49b84f9f863","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#25-95","gmt_create":"2026-04-23T20:33:30.019076+08:00","gmt_modified":"2026-04-23T20:33:30.019076+08:00"},{"id":650,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"309607c54b12a6340edc086ffb4737c9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-309","gmt_create":"2026-04-23T20:33:30.020384+08:00","gmt_modified":"2026-04-23T20:33:30.020384+08:00"},{"id":651,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"6e054d9a78c0c8c9da8dec4c4bda62ab","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#6-28","gmt_create":"2026-04-23T20:33:30.021894+08:00","gmt_modified":"2026-04-23T20:33:30.021895+08:00"},{"id":652,"source_id":"b0c428683c8a3e6922d90ca0d8c2736d","target_id":"6e054d9a78c0c8c9da8dec4c4bda62ab","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-28","gmt_create":"2026-04-23T20:33:30.022319+08:00","gmt_modified":"2026-04-23T20:33:30.022319+08:00"},{"id":653,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T20:33:30.039084+08:00","gmt_modified":"2026-04-23T20:33:30.039085+08:00"},{"id":654,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"c2747ca16b879bca0f68955534c3c4fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-48","gmt_create":"2026-04-23T20:33:30.042279+08:00","gmt_modified":"2026-04-23T20:33:30.042279+08:00"},{"id":655,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"71f98c8993fb42b108e34a554247869b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#1-95","gmt_create":"2026-04-23T20:33:30.043781+08:00","gmt_modified":"2026-04-23T20:33:30.043781+08:00"},{"id":656,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#1-29","gmt_create":"2026-04-23T20:33:30.048591+08:00","gmt_modified":"2026-04-23T20:33:30.048591+08:00"},{"id":657,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#1-55","gmt_create":"2026-04-23T20:33:30.049875+08:00","gmt_modified":"2026-04-23T20:33:30.049875+08:00"},{"id":658,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"eecf9581dbaa0a515cf11514175e7ef9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#11-206","gmt_create":"2026-04-23T20:33:30.052505+08:00","gmt_modified":"2026-04-23T20:33:30.052505+08:00"},{"id":659,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"5563c29185326a59be61ee0a6eec4463","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#11-205","gmt_create":"2026-04-23T20:33:30.054452+08:00","gmt_modified":"2026-04-23T20:33:30.054452+08:00"},{"id":660,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"9c16a069e5154660bfdfa48f3518fc6a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-38","gmt_create":"2026-04-23T20:33:30.056033+08:00","gmt_modified":"2026-04-23T20:33:30.056033+08:00"},{"id":661,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"9c16a069e5154660bfdfa48f3518fc6a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-38","gmt_create":"2026-04-23T20:33:30.056759+08:00","gmt_modified":"2026-04-23T20:33:30.056759+08:00"},{"id":662,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"2d35e1345d25020f8e7ac1318db06f7b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#30-90","gmt_create":"2026-04-23T20:33:30.060127+08:00","gmt_modified":"2026-04-23T20:33:30.060127+08:00"},{"id":663,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"160b5326537d25444c40a459a01e79c6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#159-234","gmt_create":"2026-04-23T20:33:30.06165+08:00","gmt_modified":"2026-04-23T20:33:30.06165+08:00"},{"id":664,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"a4918fcbd21492ad996d7f5496f03a4b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#33-48","gmt_create":"2026-04-23T20:33:30.063084+08:00","gmt_modified":"2026-04-23T20:33:30.063084+08:00"},{"id":665,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"a4918fcbd21492ad996d7f5496f03a4b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-48","gmt_create":"2026-04-23T20:33:30.063941+08:00","gmt_modified":"2026-04-23T20:33:30.063941+08:00"},{"id":666,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"bc38d046b4b1410ae2165cee2272839e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#33-48","gmt_create":"2026-04-23T20:33:30.065013+08:00","gmt_modified":"2026-04-23T20:33:30.065013+08:00"},{"id":667,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"bc38d046b4b1410ae2165cee2272839e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-48","gmt_create":"2026-04-23T20:33:30.066091+08:00","gmt_modified":"2026-04-23T20:33:30.066091+08:00"},{"id":668,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"72f6d334026866e8a61d2ffb1d83370a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#19-100","gmt_create":"2026-04-23T20:33:30.06977+08:00","gmt_modified":"2026-04-23T20:33:30.06977+08:00"},{"id":669,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"72f6d334026866e8a61d2ffb1d83370a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-100","gmt_create":"2026-04-23T20:33:30.070839+08:00","gmt_modified":"2026-04-23T20:33:30.070839+08:00"},{"id":670,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"5c67e2f70283956b2d29a3c1443eb514","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#122-146","gmt_create":"2026-04-23T20:33:30.07226+08:00","gmt_modified":"2026-04-23T20:33:30.07226+08:00"},{"id":671,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"ad67863041d9eea2b0fb542b5aa33aca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#4-18","gmt_create":"2026-04-23T20:33:30.076075+08:00","gmt_modified":"2026-04-23T20:33:30.076076+08:00"},{"id":672,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"1e85186eded8743ff5f231df4aa6df3f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#21-48","gmt_create":"2026-04-23T20:33:30.080882+08:00","gmt_modified":"2026-04-23T20:33:30.080882+08:00"},{"id":673,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"1d84b9a7eb013882953a2d1d948299e4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#126-197","gmt_create":"2026-04-23T20:33:30.082996+08:00","gmt_modified":"2026-04-23T20:33:30.082997+08:00"},{"id":674,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"1d84b9a7eb013882953a2d1d948299e4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 126-197","gmt_create":"2026-04-23T20:33:30.084021+08:00","gmt_modified":"2026-04-23T20:33:30.084021+08:00"},{"id":675,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"e2b1718570fb714b2f4342221898ab30","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#21-48","gmt_create":"2026-04-23T20:33:30.08518+08:00","gmt_modified":"2026-04-23T20:33:30.085181+08:00"},{"id":676,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"ba687f2c64aff92b3906658359ed953a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#124-195","gmt_create":"2026-04-23T20:33:30.086912+08:00","gmt_modified":"2026-04-23T20:33:30.086913+08:00"},{"id":677,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"ba687f2c64aff92b3906658359ed953a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 124-195","gmt_create":"2026-04-23T20:33:30.087917+08:00","gmt_modified":"2026-04-23T20:33:30.087917+08:00"},{"id":678,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"52ee729b02c992c689522c7956c14128","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#57-62","gmt_create":"2026-04-23T20:33:30.090606+08:00","gmt_modified":"2026-04-23T20:33:30.090606+08:00"},{"id":679,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"52ee729b02c992c689522c7956c14128","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 57-62","gmt_create":"2026-04-23T20:33:30.092747+08:00","gmt_modified":"2026-04-23T20:33:30.092747+08:00"},{"id":680,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"c9e32b7324cce60c8887deb8404ee759","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#107-112","gmt_create":"2026-04-23T20:33:30.094246+08:00","gmt_modified":"2026-04-23T20:33:30.094246+08:00"},{"id":681,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"c9e32b7324cce60c8887deb8404ee759","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 107-112","gmt_create":"2026-04-23T20:33:30.095189+08:00","gmt_modified":"2026-04-23T20:33:30.095189+08:00"},{"id":682,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"212d822d207a4c0bd7825bbf20e188e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#59-77","gmt_create":"2026-04-23T20:33:30.096673+08:00","gmt_modified":"2026-04-23T20:33:30.096673+08:00"},{"id":683,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"8355d3821337334caee57a75dc8c8865","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#116-130","gmt_create":"2026-04-23T20:33:30.098422+08:00","gmt_modified":"2026-04-23T20:33:30.098422+08:00"},{"id":684,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"8355d3821337334caee57a75dc8c8865","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 116-130","gmt_create":"2026-04-23T20:33:30.099427+08:00","gmt_modified":"2026-04-23T20:33:30.099427+08:00"},{"id":685,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"4fe27d4d1323b500e72d870aa6212a1a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#13-20","gmt_create":"2026-04-23T20:33:30.101771+08:00","gmt_modified":"2026-04-23T20:33:30.101771+08:00"},{"id":686,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"4fe27d4d1323b500e72d870aa6212a1a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-20","gmt_create":"2026-04-23T20:33:30.102515+08:00","gmt_modified":"2026-04-23T20:33:30.102515+08:00"},{"id":687,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"3729543092bccad8926c5ea852db1e69","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-157","gmt_create":"2026-04-23T20:33:30.103598+08:00","gmt_modified":"2026-04-23T20:33:30.103599+08:00"},{"id":688,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"3729543092bccad8926c5ea852db1e69","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 148-157","gmt_create":"2026-04-23T20:33:30.104105+08:00","gmt_modified":"2026-04-23T20:33:30.104105+08:00"},{"id":689,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"1ee5153c867fc6e9d277a3067963a1fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#32-38","gmt_create":"2026-04-23T20:33:30.105113+08:00","gmt_modified":"2026-04-23T20:33:30.105113+08:00"},{"id":690,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"1ee5153c867fc6e9d277a3067963a1fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-38","gmt_create":"2026-04-23T20:33:30.105627+08:00","gmt_modified":"2026-04-23T20:33:30.105627+08:00"},{"id":691,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"ed527c7a549ec333c2b30b59614343df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#50-54","gmt_create":"2026-04-23T20:33:30.106672+08:00","gmt_modified":"2026-04-23T20:33:30.106672+08:00"},{"id":692,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"ed527c7a549ec333c2b30b59614343df","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-54","gmt_create":"2026-04-23T20:33:30.107651+08:00","gmt_modified":"2026-04-23T20:33:30.107651+08:00"},{"id":693,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"f6c9f1b4e8646c366a31426a4537675d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#36-38","gmt_create":"2026-04-23T20:33:30.109238+08:00","gmt_modified":"2026-04-23T20:33:30.109238+08:00"},{"id":694,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"1a3351698ecc7cd4e508b7a792804fc4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#302-309","gmt_create":"2026-04-23T20:33:30.111966+08:00","gmt_modified":"2026-04-23T20:33:30.111966+08:00"},{"id":695,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"1a3351698ecc7cd4e508b7a792804fc4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 302-309","gmt_create":"2026-04-23T20:33:30.112959+08:00","gmt_modified":"2026-04-23T20:33:30.11296+08:00"},{"id":696,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"e3e9710c7eead933c936519395f792e0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#44-49","gmt_create":"2026-04-23T20:33:30.114604+08:00","gmt_modified":"2026-04-23T20:33:30.114605+08:00"},{"id":697,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"e3e9710c7eead933c936519395f792e0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-49","gmt_create":"2026-04-23T20:33:30.115247+08:00","gmt_modified":"2026-04-23T20:33:30.115247+08:00"},{"id":698,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"d20fc729a5d3986b1c077f9e07ece9c4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#7","gmt_create":"2026-04-23T20:33:30.116587+08:00","gmt_modified":"2026-04-23T20:33:30.116587+08:00"},{"id":699,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"a4143cc29b14f1f5bc75a5e021690666","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#23-31","gmt_create":"2026-04-23T20:33:30.117646+08:00","gmt_modified":"2026-04-23T20:33:30.117646+08:00"},{"id":700,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"a4143cc29b14f1f5bc75a5e021690666","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-31","gmt_create":"2026-04-23T20:33:30.118764+08:00","gmt_modified":"2026-04-23T20:33:30.118764+08:00"},{"id":701,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"7192cfda5508e7587efd91d26cf1f018","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#23-31","gmt_create":"2026-04-23T20:33:30.120253+08:00","gmt_modified":"2026-04-23T20:33:30.120253+08:00"},{"id":702,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"7192cfda5508e7587efd91d26cf1f018","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-31","gmt_create":"2026-04-23T20:33:30.121853+08:00","gmt_modified":"2026-04-23T20:33:30.121853+08:00"},{"id":703,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"38142b7d7016c5590e638fafcdcb1a19","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#211-227","gmt_create":"2026-04-23T20:33:30.1234+08:00","gmt_modified":"2026-04-23T20:33:30.1234+08:00"},{"id":704,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"38142b7d7016c5590e638fafcdcb1a19","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 211-227","gmt_create":"2026-04-23T20:33:30.125433+08:00","gmt_modified":"2026-04-23T20:33:30.125433+08:00"},{"id":705,"source_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","target_id":"fb5276346dcc4e7044d8765a8572e7a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#4-16","gmt_create":"2026-04-23T20:33:30.128657+08:00","gmt_modified":"2026-04-23T20:33:30.128657+08:00"},{"id":706,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"fb5276346dcc4e7044d8765a8572e7a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-16","gmt_create":"2026-04-23T20:33:30.129814+08:00","gmt_modified":"2026-04-23T20:33:30.129814+08:00"},{"id":707,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:33:37.259749+08:00","gmt_modified":"2026-04-23T20:33:37.259749+08:00"},{"id":708,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:33:37.26107+08:00","gmt_modified":"2026-04-23T20:33:37.26107+08:00"},{"id":709,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:33:37.261714+08:00","gmt_modified":"2026-04-23T20:33:37.261714+08:00"},{"id":710,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T20:33:37.262532+08:00","gmt_modified":"2026-04-23T20:33:37.262532+08:00"},{"id":711,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"e68ad5186f1e47610ab3d9f14a794393","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/tongyi.py","gmt_create":"2026-04-23T20:33:37.263665+08:00","gmt_modified":"2026-04-23T20:33:37.263665+08:00"},{"id":712,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"404f6d0765a8c6e77e33b7fc21b377a4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/doubao.py","gmt_create":"2026-04-23T20:33:37.26425+08:00","gmt_modified":"2026-04-23T20:33:37.26425+08:00"},{"id":713,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"303e80519e946904d1cb3ac32cbb0814","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/qingyan.py","gmt_create":"2026-04-23T20:33:37.265278+08:00","gmt_modified":"2026-04-23T20:33:37.265278+08:00"},{"id":714,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"5af7301fe056fc3d10820d820e8ad777","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/tiangong.py","gmt_create":"2026-04-23T20:33:37.265809+08:00","gmt_modified":"2026-04-23T20:33:37.265809+08:00"},{"id":715,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"0e38ad5d2d3daaad08c9302df8805b15","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/xinghuo.py","gmt_create":"2026-04-23T20:33:37.266496+08:00","gmt_modified":"2026-04-23T20:33:37.266496+08:00"},{"id":716,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"6a63f048c16c60c5d2d57012c810ee0e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/search_engine.py","gmt_create":"2026-04-23T20:33:37.267203+08:00","gmt_modified":"2026-04-23T20:33:37.267203+08:00"},{"id":717,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T20:33:37.268722+08:00","gmt_modified":"2026-04-23T20:33:37.268722+08:00"},{"id":718,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T20:33:37.269288+08:00","gmt_modified":"2026-04-23T20:33:37.269288+08:00"},{"id":719,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:33:37.270139+08:00","gmt_modified":"2026-04-23T20:33:37.270139+08:00"},{"id":720,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T20:33:37.273632+08:00","gmt_modified":"2026-04-23T20:33:37.273632+08:00"},{"id":721,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:33:37.275218+08:00","gmt_modified":"2026-04-23T20:33:37.275218+08:00"},{"id":722,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:33:37.276269+08:00","gmt_modified":"2026-04-23T20:33:37.27627+08:00"},{"id":723,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T20:33:37.277294+08:00","gmt_modified":"2026-04-23T20:33:37.277294+08:00"},{"id":724,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T20:33:37.278423+08:00","gmt_modified":"2026-04-23T20:33:37.278423+08:00"},{"id":725,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b07a4fb9cecbbd66a6910ccbc7651f19","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_citation_engine.py","gmt_create":"2026-04-23T20:33:37.279079+08:00","gmt_modified":"2026-04-23T20:33:37.279079+08:00"},{"id":726,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"a26ee01cf41da3b956e1650448c156fa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/requirements.txt","gmt_create":"2026-04-23T20:33:37.279629+08:00","gmt_modified":"2026-04-23T20:33:37.27963+08:00"},{"id":727,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"cbd0101fa84d957bcb1baaa623c6b31c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-78","gmt_create":"2026-04-23T20:33:37.280454+08:00","gmt_modified":"2026-04-23T20:33:37.280454+08:00"},{"id":728,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T20:33:37.281512+08:00","gmt_modified":"2026-04-23T20:33:37.281513+08:00"},{"id":729,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"482d573f97b482b99bcde1c399eceb73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#90-108","gmt_create":"2026-04-23T20:33:37.281875+08:00","gmt_modified":"2026-04-23T20:33:37.281876+08:00"},{"id":730,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"482d573f97b482b99bcde1c399eceb73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 90-108","gmt_create":"2026-04-23T20:33:37.28285+08:00","gmt_modified":"2026-04-23T20:33:37.28285+08:00"},{"id":731,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"7c0831c17e8c65eaed9511e17ed2a2ef","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-269","gmt_create":"2026-04-23T20:33:37.283208+08:00","gmt_modified":"2026-04-23T20:33:37.283208+08:00"},{"id":732,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T20:33:37.283598+08:00","gmt_modified":"2026-04-23T20:33:37.283598+08:00"},{"id":733,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"4cef9e740b6feb68c6bd22b660c47320","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#1-123","gmt_create":"2026-04-23T20:33:37.284031+08:00","gmt_modified":"2026-04-23T20:33:37.284031+08:00"},{"id":734,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"8d5aac2ae0671f05d7c0807ba9296cdf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#1-330","gmt_create":"2026-04-23T20:33:37.284881+08:00","gmt_modified":"2026-04-23T20:33:37.284881+08:00"},{"id":735,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"72a110dca58d8152758e2fdab4e94761","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#1-18","gmt_create":"2026-04-23T20:33:37.285439+08:00","gmt_modified":"2026-04-23T20:33:37.285439+08:00"},{"id":736,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"56f44cc97867cee3e5663424134d6072","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#1-37","gmt_create":"2026-04-23T20:33:37.285889+08:00","gmt_modified":"2026-04-23T20:33:37.285889+08:00"},{"id":737,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"56f44cc97867cee3e5663424134d6072","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T20:33:37.286195+08:00","gmt_modified":"2026-04-23T20:33:37.286195+08:00"},{"id":738,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"2e326ef8322619f1e8b3873022cb0437","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#1-37","gmt_create":"2026-04-23T20:33:37.286846+08:00","gmt_modified":"2026-04-23T20:33:37.286846+08:00"},{"id":739,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"2e326ef8322619f1e8b3873022cb0437","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T20:33:37.287299+08:00","gmt_modified":"2026-04-23T20:33:37.287299+08:00"},{"id":740,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"debd789847d1eed2d54198772edf68a2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#1-38","gmt_create":"2026-04-23T20:33:37.28771+08:00","gmt_modified":"2026-04-23T20:33:37.287711+08:00"},{"id":741,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"3bde521d18cc7221ae2f14637e163aac","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/doubao.py#1-38","gmt_create":"2026-04-23T20:33:37.288659+08:00","gmt_modified":"2026-04-23T20:33:37.288659+08:00"},{"id":742,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"c26862d9e0fc878b51a2668cfd2ec827","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/qingyan.py#1-38","gmt_create":"2026-04-23T20:33:37.290497+08:00","gmt_modified":"2026-04-23T20:33:37.290498+08:00"},{"id":743,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"0fcc9c2e0d33b887c5f18a3807b64a1e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tiangong.py#1-38","gmt_create":"2026-04-23T20:33:37.292345+08:00","gmt_modified":"2026-04-23T20:33:37.292345+08:00"},{"id":744,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"a4baa2444208b3f9a3f42bc492038207","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/xinghuo.py#1-38","gmt_create":"2026-04-23T20:33:37.293708+08:00","gmt_modified":"2026-04-23T20:33:37.293708+08:00"},{"id":745,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"9f82f6d82bf914a608d6afa3d9854abf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#1-174","gmt_create":"2026-04-23T20:33:37.2944+08:00","gmt_modified":"2026-04-23T20:33:37.2944+08:00"},{"id":746,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"4cac57dbc530f0335c913ec5725dfa4f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#1-121","gmt_create":"2026-04-23T20:33:37.295331+08:00","gmt_modified":"2026-04-23T20:33:37.295331+08:00"},{"id":747,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"4cac57dbc530f0335c913ec5725dfa4f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-121","gmt_create":"2026-04-23T20:33:37.296239+08:00","gmt_modified":"2026-04-23T20:33:37.296239+08:00"},{"id":748,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#1-55","gmt_create":"2026-04-23T20:33:37.296858+08:00","gmt_modified":"2026-04-23T20:33:37.296858+08:00"},{"id":749,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"6628e006b8e5ca16160743528b6b0506","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#1-39","gmt_create":"2026-04-23T20:33:37.297624+08:00","gmt_modified":"2026-04-23T20:33:37.297624+08:00"},{"id":750,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"943c18db69a04b3137fba4cebcfea87e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#1-42","gmt_create":"2026-04-23T20:33:37.298765+08:00","gmt_modified":"2026-04-23T20:33:37.298765+08:00"},{"id":751,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"84fbed7d35f7752e2117a74fcaf5f0e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-17","gmt_create":"2026-04-23T20:33:37.299752+08:00","gmt_modified":"2026-04-23T20:33:37.299752+08:00"},{"id":752,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"c2747ca16b879bca0f68955534c3c4fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-48","gmt_create":"2026-04-23T20:33:37.30067+08:00","gmt_modified":"2026-04-23T20:33:37.30067+08:00"},{"id":753,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"db174cfe219fc84d0dd26529f047b1d0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#161-330","gmt_create":"2026-04-23T20:33:37.304109+08:00","gmt_modified":"2026-04-23T20:33:37.304109+08:00"},{"id":754,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"db174cfe219fc84d0dd26529f047b1d0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 161-330","gmt_create":"2026-04-23T20:33:37.304836+08:00","gmt_modified":"2026-04-23T20:33:37.304836+08:00"},{"id":755,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"f36452f78aabfb0c46da03bbe25dff06","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#219-295","gmt_create":"2026-04-23T20:33:37.307629+08:00","gmt_modified":"2026-04-23T20:33:37.307629+08:00"},{"id":756,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"f36452f78aabfb0c46da03bbe25dff06","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 219-295","gmt_create":"2026-04-23T20:33:37.308258+08:00","gmt_modified":"2026-04-23T20:33:37.308258+08:00"},{"id":757,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"362d22f423631cda39404660b3317a2f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#177-254","gmt_create":"2026-04-23T20:33:37.310127+08:00","gmt_modified":"2026-04-23T20:33:37.310127+08:00"},{"id":758,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b475ff5225ac403c7fcf3dd7e14cbac6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#16-33","gmt_create":"2026-04-23T20:33:37.31061+08:00","gmt_modified":"2026-04-23T20:33:37.31061+08:00"},{"id":759,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#163-174","gmt_create":"2026-04-23T20:33:37.311106+08:00","gmt_modified":"2026-04-23T20:33:37.311106+08:00"},{"id":760,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"52c01d7b9c17aa16944cbfcf8885be61","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#16-33","gmt_create":"2026-04-23T20:33:37.311558+08:00","gmt_modified":"2026-04-23T20:33:37.311558+08:00"},{"id":761,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"52c01d7b9c17aa16944cbfcf8885be61","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-33","gmt_create":"2026-04-23T20:33:37.319146+08:00","gmt_modified":"2026-04-23T20:33:37.319146+08:00"},{"id":762,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"77158a6f887e224a03552893bfec7c92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#16-33","gmt_create":"2026-04-23T20:33:37.320166+08:00","gmt_modified":"2026-04-23T20:33:37.320166+08:00"},{"id":763,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"9d352899554ab41b65b2e9f32558d811","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#39-113","gmt_create":"2026-04-23T20:33:37.321322+08:00","gmt_modified":"2026-04-23T20:33:37.321322+08:00"},{"id":764,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"9d352899554ab41b65b2e9f32558d811","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 39-113","gmt_create":"2026-04-23T20:33:37.322276+08:00","gmt_modified":"2026-04-23T20:33:37.322276+08:00"},{"id":765,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b1ee5a992230844ba898765be63f7b27","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#32-133","gmt_create":"2026-04-23T20:33:37.323119+08:00","gmt_modified":"2026-04-23T20:33:37.323119+08:00"},{"id":766,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"b1ee5a992230844ba898765be63f7b27","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-133","gmt_create":"2026-04-23T20:33:37.323615+08:00","gmt_modified":"2026-04-23T20:33:37.323615+08:00"},{"id":767,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"cb098a3cd32339e99f755dfd0fc35b5c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citation_engine.py#6-127","gmt_create":"2026-04-23T20:33:37.324259+08:00","gmt_modified":"2026-04-23T20:33:37.324259+08:00"},{"id":768,"source_id":"b07a4fb9cecbbd66a6910ccbc7651f19","target_id":"cb098a3cd32339e99f755dfd0fc35b5c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-127","gmt_create":"2026-04-23T20:33:37.32508+08:00","gmt_modified":"2026-04-23T20:33:37.32508+08:00"},{"id":769,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"3d2dab79f7a3fedf24f0212cc9ef7aa1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#145-158","gmt_create":"2026-04-23T20:33:37.325915+08:00","gmt_modified":"2026-04-23T20:33:37.325915+08:00"},{"id":770,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"3d2dab79f7a3fedf24f0212cc9ef7aa1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 145-158","gmt_create":"2026-04-23T20:33:37.327012+08:00","gmt_modified":"2026-04-23T20:33:37.327012+08:00"},{"id":771,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"4e9b3d0e94282f4bc6fa500f4eed61a1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#135-159","gmt_create":"2026-04-23T20:33:37.327853+08:00","gmt_modified":"2026-04-23T20:33:37.327853+08:00"},{"id":772,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"4e9b3d0e94282f4bc6fa500f4eed61a1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 135-159","gmt_create":"2026-04-23T20:33:37.328872+08:00","gmt_modified":"2026-04-23T20:33:37.328872+08:00"},{"id":773,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"8e3201561a9dd9a06ee3bf68ffdb3f99","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citation_engine.py#39-109","gmt_create":"2026-04-23T20:33:37.32989+08:00","gmt_modified":"2026-04-23T20:33:37.32989+08:00"},{"id":774,"source_id":"b07a4fb9cecbbd66a6910ccbc7651f19","target_id":"8e3201561a9dd9a06ee3bf68ffdb3f99","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 39-109","gmt_create":"2026-04-23T20:33:37.33132+08:00","gmt_modified":"2026-04-23T20:33:37.33132+08:00"},{"id":775,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"c3a417be3d61f5bcd3fbf976e0c4f15a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#33-121","gmt_create":"2026-04-23T20:33:37.336944+08:00","gmt_modified":"2026-04-23T20:33:37.336944+08:00"},{"id":776,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"c3a417be3d61f5bcd3fbf976e0c4f15a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-121","gmt_create":"2026-04-23T20:33:37.337655+08:00","gmt_modified":"2026-04-23T20:33:37.337655+08:00"},{"id":777,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-22","gmt_create":"2026-04-23T20:33:37.339169+08:00","gmt_modified":"2026-04-23T20:33:37.339169+08:00"},{"id":778,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"7ce954ed7d3bc4dcf78630124cc0dd88","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#264-295","gmt_create":"2026-04-23T20:33:37.34124+08:00","gmt_modified":"2026-04-23T20:33:37.34124+08:00"},{"id":779,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"7ce954ed7d3bc4dcf78630124cc0dd88","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 264-295","gmt_create":"2026-04-23T20:33:37.342433+08:00","gmt_modified":"2026-04-23T20:33:37.342433+08:00"},{"id":780,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"7289a3568c137c8a671fc8c963bb8d28","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/requirements.txt#1-35","gmt_create":"2026-04-23T20:33:37.346038+08:00","gmt_modified":"2026-04-23T20:33:37.346038+08:00"},{"id":781,"source_id":"a26ee01cf41da3b956e1650448c156fa","target_id":"7289a3568c137c8a671fc8c963bb8d28","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-35","gmt_create":"2026-04-23T20:33:37.346577+08:00","gmt_modified":"2026-04-23T20:33:37.346577+08:00"},{"id":782,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"ef82ce4377c549013c200e19701a6805","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#21-32","gmt_create":"2026-04-23T20:33:37.352671+08:00","gmt_modified":"2026-04-23T20:33:37.352671+08:00"},{"id":783,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"ef82ce4377c549013c200e19701a6805","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-32","gmt_create":"2026-04-23T20:33:37.354355+08:00","gmt_modified":"2026-04-23T20:33:37.354355+08:00"},{"id":784,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"c7986eb1be0ffdd9ec4e243be4270119","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#21-32","gmt_create":"2026-04-23T20:33:37.355472+08:00","gmt_modified":"2026-04-23T20:33:37.355472+08:00"},{"id":785,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"c7986eb1be0ffdd9ec4e243be4270119","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-32","gmt_create":"2026-04-23T20:33:37.357613+08:00","gmt_modified":"2026-04-23T20:33:37.357613+08:00"},{"id":786,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"b55cc5936c299f819b57b899858438e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#139-144","gmt_create":"2026-04-23T20:33:37.358273+08:00","gmt_modified":"2026-04-23T20:33:37.358273+08:00"},{"id":787,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"5563b3bd56550648dc70302c1762ce5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/tongyi.py#18-29","gmt_create":"2026-04-23T20:33:37.360657+08:00","gmt_modified":"2026-04-23T20:33:37.360657+08:00"},{"id":788,"source_id":"e68ad5186f1e47610ab3d9f14a794393","target_id":"5563b3bd56550648dc70302c1762ce5a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-29","gmt_create":"2026-04-23T20:33:37.361776+08:00","gmt_modified":"2026-04-23T20:33:37.361776+08:00"},{"id":789,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"91852ef8dcc844a2f85e9fce0227ab74","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/doubao.py#18-29","gmt_create":"2026-04-23T20:33:37.363109+08:00","gmt_modified":"2026-04-23T20:33:37.363109+08:00"},{"id":790,"source_id":"404f6d0765a8c6e77e33b7fc21b377a4","target_id":"91852ef8dcc844a2f85e9fce0227ab74","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-29","gmt_create":"2026-04-23T20:33:37.363811+08:00","gmt_modified":"2026-04-23T20:33:37.363811+08:00"},{"id":791,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"1b46fab9e22f53db30ead5677d03e3e2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#11-16","gmt_create":"2026-04-23T20:33:37.364819+08:00","gmt_modified":"2026-04-23T20:33:37.364819+08:00"},{"id":792,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"1b46fab9e22f53db30ead5677d03e3e2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-16","gmt_create":"2026-04-23T20:33:37.365554+08:00","gmt_modified":"2026-04-23T20:33:37.365554+08:00"},{"id":793,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"f096aa3ea82e9fa625a9acb1309b4c50","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#231-247","gmt_create":"2026-04-23T20:33:37.36634+08:00","gmt_modified":"2026-04-23T20:33:37.366341+08:00"},{"id":794,"source_id":"19e75845-5147-4aeb-90be-16f3aa270465","target_id":"4a2fa09aa3a948dec5ef8ba873b0e716","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#14-42","gmt_create":"2026-04-23T20:33:37.367379+08:00","gmt_modified":"2026-04-23T20:33:37.367379+08:00"},{"id":795,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"4a2fa09aa3a948dec5ef8ba873b0e716","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-42","gmt_create":"2026-04-23T20:33:37.368233+08:00","gmt_modified":"2026-04-23T20:33:37.368233+08:00"},{"id":796,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T20:33:57.518077+08:00","gmt_modified":"2026-04-23T20:33:57.518077+08:00"},{"id":797,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"f301b79d833233ce39d350e82a71c938","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/query.py","gmt_create":"2026-04-23T20:33:57.518453+08:00","gmt_modified":"2026-04-23T20:33:57.518454+08:00"},{"id":798,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"1a3336b4af8a39a055e912724338580c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/citation.py","gmt_create":"2026-04-23T20:33:57.519644+08:00","gmt_modified":"2026-04-23T20:33:57.519644+08:00"},{"id":799,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:33:57.521079+08:00","gmt_modified":"2026-04-23T20:33:57.521079+08:00"},{"id":800,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:33:57.522061+08:00","gmt_modified":"2026-04-23T20:33:57.522061+08:00"},{"id":801,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T20:33:57.523189+08:00","gmt_modified":"2026-04-23T20:33:57.523189+08:00"},{"id":802,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c59f8c276697a070dffc581fe94d809c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/user.py","gmt_create":"2026-04-23T20:33:57.52383+08:00","gmt_modified":"2026-04-23T20:33:57.52383+08:00"},{"id":803,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T20:33:57.524563+08:00","gmt_modified":"2026-04-23T20:33:57.524563+08:00"},{"id":804,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T20:33:57.525774+08:00","gmt_modified":"2026-04-23T20:33:57.525774+08:00"},{"id":805,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T20:33:57.526492+08:00","gmt_modified":"2026-04-23T20:33:57.526492+08:00"},{"id":806,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:33:57.527326+08:00","gmt_modified":"2026-04-23T20:33:57.527326+08:00"},{"id":807,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:33:57.527983+08:00","gmt_modified":"2026-04-23T20:33:57.527983+08:00"},{"id":808,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:33:57.529144+08:00","gmt_modified":"2026-04-23T20:33:57.529144+08:00"},{"id":809,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"f642fc1c2f34e15572d9d98aa6c18813","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-23T20:33:57.529998+08:00","gmt_modified":"2026-04-23T20:33:57.529998+08:00"},{"id":810,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:33:57.530659+08:00","gmt_modified":"2026-04-23T20:33:57.530659+08:00"},{"id":811,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T20:33:57.531953+08:00","gmt_modified":"2026-04-23T20:33:57.531953+08:00"},{"id":812,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"0613e76b9679be7f998fb8fd8056e686","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_queries.py","gmt_create":"2026-04-23T20:33:57.532681+08:00","gmt_modified":"2026-04-23T20:33:57.532681+08:00"},{"id":813,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"80a0429cc47931de27ddb17a62b8dd9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_business_flow.py","gmt_create":"2026-04-23T20:33:57.533708+08:00","gmt_modified":"2026-04-23T20:33:57.533708+08:00"},{"id":814,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"e27bcba24aaadeec1922d2b4e5b8386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#1-109","gmt_create":"2026-04-23T20:33:57.534482+08:00","gmt_modified":"2026-04-23T20:33:57.534482+08:00"},{"id":815,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"e7afbab5932c93c3469f1a225e6c7156","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-55","gmt_create":"2026-04-23T20:33:57.535515+08:00","gmt_modified":"2026-04-23T20:33:57.535515+08:00"},{"id":816,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"e7afbab5932c93c3469f1a225e6c7156","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-55","gmt_create":"2026-04-23T20:33:57.536318+08:00","gmt_modified":"2026-04-23T20:33:57.536318+08:00"},{"id":817,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"a0eac56d622a2fff529bc2b796064bcd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#1-94","gmt_create":"2026-04-23T20:33:57.537094+08:00","gmt_modified":"2026-04-23T20:33:57.537094+08:00"},{"id":818,"source_id":"f301b79d833233ce39d350e82a71c938","target_id":"a0eac56d622a2fff529bc2b796064bcd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-94","gmt_create":"2026-04-23T20:33:57.537769+08:00","gmt_modified":"2026-04-23T20:33:57.53777+08:00"},{"id":819,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"174be58163b6f72b4cd4a493f3463ce4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#1-52","gmt_create":"2026-04-23T20:33:57.53855+08:00","gmt_modified":"2026-04-23T20:33:57.53855+08:00"},{"id":820,"source_id":"1a3336b4af8a39a055e912724338580c","target_id":"174be58163b6f72b4cd4a493f3463ce4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-52","gmt_create":"2026-04-23T20:33:57.53965+08:00","gmt_modified":"2026-04-23T20:33:57.53965+08:00"},{"id":821,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#1-55","gmt_create":"2026-04-23T20:33:57.54057+08:00","gmt_modified":"2026-04-23T20:33:57.54057+08:00"},{"id":822,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"6628e006b8e5ca16160743528b6b0506","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#1-39","gmt_create":"2026-04-23T20:33:57.541654+08:00","gmt_modified":"2026-04-23T20:33:57.541654+08:00"},{"id":823,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"943c18db69a04b3137fba4cebcfea87e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#1-42","gmt_create":"2026-04-23T20:33:57.543056+08:00","gmt_modified":"2026-04-23T20:33:57.543056+08:00"},{"id":824,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"136f172c732d0cc130532a4f0df475a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#1-41","gmt_create":"2026-04-23T20:33:57.543958+08:00","gmt_modified":"2026-04-23T20:33:57.543958+08:00"},{"id":825,"source_id":"c59f8c276697a070dffc581fe94d809c","target_id":"136f172c732d0cc130532a4f0df475a4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-41","gmt_create":"2026-04-23T20:33:57.544974+08:00","gmt_modified":"2026-04-23T20:33:57.544974+08:00"},{"id":826,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"916551131bd9ac8c9f9c8bb762af1fa4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#1-130","gmt_create":"2026-04-23T20:33:57.545482+08:00","gmt_modified":"2026-04-23T20:33:57.545482+08:00"},{"id":827,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"916551131bd9ac8c9f9c8bb762af1fa4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-130","gmt_create":"2026-04-23T20:33:57.545785+08:00","gmt_modified":"2026-04-23T20:33:57.545785+08:00"},{"id":828,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"5d2836286eb7d4eb6039b004a9744d26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-429","gmt_create":"2026-04-23T20:33:57.546196+08:00","gmt_modified":"2026-04-23T20:33:57.546196+08:00"},{"id":829,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"5d2836286eb7d4eb6039b004a9744d26","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-429","gmt_create":"2026-04-23T20:33:57.546517+08:00","gmt_modified":"2026-04-23T20:33:57.546517+08:00"},{"id":830,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"71f98c8993fb42b108e34a554247869b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#1-95","gmt_create":"2026-04-23T20:33:57.547004+08:00","gmt_modified":"2026-04-23T20:33:57.547005+08:00"},{"id":831,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"116584ea9162c1bc05911f39f9ef82b6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#1-309","gmt_create":"2026-04-23T20:33:57.5475+08:00","gmt_modified":"2026-04-23T20:33:57.5475+08:00"},{"id":832,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"72a110dca58d8152758e2fdab4e94761","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#1-18","gmt_create":"2026-04-23T20:33:57.548046+08:00","gmt_modified":"2026-04-23T20:33:57.548046+08:00"},{"id":833,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"39a3b2d9301fa4eff7bef0fda3352790","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#1-206","gmt_create":"2026-04-23T20:33:57.548538+08:00","gmt_modified":"2026-04-23T20:33:57.548538+08:00"},{"id":834,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"39a3b2d9301fa4eff7bef0fda3352790","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-206","gmt_create":"2026-04-23T20:33:57.548868+08:00","gmt_modified":"2026-04-23T20:33:57.548868+08:00"},{"id":835,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"fbcfae3b1238b3da5329ebafe4294861","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#1-205","gmt_create":"2026-04-23T20:33:57.549268+08:00","gmt_modified":"2026-04-23T20:33:57.549268+08:00"},{"id":836,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"fbcfae3b1238b3da5329ebafe4294861","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-205","gmt_create":"2026-04-23T20:33:57.549553+08:00","gmt_modified":"2026-04-23T20:33:57.549553+08:00"},{"id":837,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c2747ca16b879bca0f68955534c3c4fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-48","gmt_create":"2026-04-23T20:33:57.550006+08:00","gmt_modified":"2026-04-23T20:33:57.550006+08:00"},{"id":838,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c4273407c88f470df7daf6a8ad5ce969","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-109","gmt_create":"2026-04-23T20:33:57.550496+08:00","gmt_modified":"2026-04-23T20:33:57.550496+08:00"},{"id":839,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"c4273407c88f470df7daf6a8ad5ce969","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-109","gmt_create":"2026-04-23T20:33:57.551777+08:00","gmt_modified":"2026-04-23T20:33:57.551777+08:00"},{"id":840,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"35774e0a09ac5459c868914d7182ca95","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#19-55","gmt_create":"2026-04-23T20:33:57.552775+08:00","gmt_modified":"2026-04-23T20:33:57.552775+08:00"},{"id":841,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"35774e0a09ac5459c868914d7182ca95","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-55","gmt_create":"2026-04-23T20:33:57.553082+08:00","gmt_modified":"2026-04-23T20:33:57.553082+08:00"},{"id":842,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"69118807690ef351a9de910414d5e676","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#11-94","gmt_create":"2026-04-23T20:33:57.553571+08:00","gmt_modified":"2026-04-23T20:33:57.553571+08:00"},{"id":843,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"f639b566c26dfd18b24e3dfd2e9853ac","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#7-52","gmt_create":"2026-04-23T20:33:57.554164+08:00","gmt_modified":"2026-04-23T20:33:57.554164+08:00"},{"id":844,"source_id":"1a3336b4af8a39a055e912724338580c","target_id":"f639b566c26dfd18b24e3dfd2e9853ac","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-52","gmt_create":"2026-04-23T20:33:57.554458+08:00","gmt_modified":"2026-04-23T20:33:57.554458+08:00"},{"id":845,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T20:33:57.55511+08:00","gmt_modified":"2026-04-23T20:33:57.55511+08:00"},{"id":846,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T20:33:57.557064+08:00","gmt_modified":"2026-04-23T20:33:57.557064+08:00"},{"id":847,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T20:33:57.558255+08:00","gmt_modified":"2026-04-23T20:33:57.558255+08:00"},{"id":848,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#11-41","gmt_create":"2026-04-23T20:33:57.558894+08:00","gmt_modified":"2026-04-23T20:33:57.558894+08:00"},{"id":849,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"d7c319a04abbc6704da53107e07dd8e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#12-130","gmt_create":"2026-04-23T20:33:57.560321+08:00","gmt_modified":"2026-04-23T20:33:57.560321+08:00"},{"id":850,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b46654006178160f12897e2c5baac8fa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#219-429","gmt_create":"2026-04-23T20:33:57.561417+08:00","gmt_modified":"2026-04-23T20:33:57.561417+08:00"},{"id":851,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"b46654006178160f12897e2c5baac8fa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 219-429","gmt_create":"2026-04-23T20:33:57.561724+08:00","gmt_modified":"2026-04-23T20:33:57.561724+08:00"},{"id":852,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"e230904202fcf7a861c6f49b84f9f863","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#25-95","gmt_create":"2026-04-23T20:33:57.562679+08:00","gmt_modified":"2026-04-23T20:33:57.562679+08:00"},{"id":853,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"309607c54b12a6340edc086ffb4737c9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-309","gmt_create":"2026-04-23T20:33:57.563303+08:00","gmt_modified":"2026-04-23T20:33:57.563303+08:00"},{"id":854,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"ad67863041d9eea2b0fb542b5aa33aca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/base.py#4-18","gmt_create":"2026-04-23T20:33:57.563842+08:00","gmt_modified":"2026-04-23T20:33:57.563842+08:00"},{"id":855,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"82265d393c20d0af96beec6b9c657c27","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#28-41","gmt_create":"2026-04-23T20:33:57.564486+08:00","gmt_modified":"2026-04-23T20:33:57.564486+08:00"},{"id":856,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"82265d393c20d0af96beec6b9c657c27","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-41","gmt_create":"2026-04-23T20:33:57.564788+08:00","gmt_modified":"2026-04-23T20:33:57.564788+08:00"},{"id":857,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c86edb7a95fbe4b431ac65a0e2b8636e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#90-109","gmt_create":"2026-04-23T20:33:57.565285+08:00","gmt_modified":"2026-04-23T20:33:57.565285+08:00"},{"id":858,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"9b10dac7dbbb1327afc8a525bf4bd0c3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#45-81","gmt_create":"2026-04-23T20:33:57.565809+08:00","gmt_modified":"2026-04-23T20:33:57.565809+08:00"},{"id":859,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"93e5c95b1691bb81a36bf9a0ac889030","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#219-261","gmt_create":"2026-04-23T20:33:57.566399+08:00","gmt_modified":"2026-04-23T20:33:57.566399+08:00"},{"id":860,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"93e5c95b1691bb81a36bf9a0ac889030","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 219-261","gmt_create":"2026-04-23T20:33:57.578474+08:00","gmt_modified":"2026-04-23T20:33:57.578474+08:00"},{"id":861,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"448970b02d89d5e1576f70bdb0063363","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#51-84","gmt_create":"2026-04-23T20:33:57.580464+08:00","gmt_modified":"2026-04-23T20:33:57.580464+08:00"},{"id":862,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"160b5326537d25444c40a459a01e79c6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#159-234","gmt_create":"2026-04-23T20:33:57.581421+08:00","gmt_modified":"2026-04-23T20:33:57.581422+08:00"},{"id":863,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"a4918fcbd21492ad996d7f5496f03a4b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#33-48","gmt_create":"2026-04-23T20:33:57.58279+08:00","gmt_modified":"2026-04-23T20:33:57.58279+08:00"},{"id":864,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"bc38d046b4b1410ae2165cee2272839e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#33-48","gmt_create":"2026-04-23T20:33:57.583676+08:00","gmt_modified":"2026-04-23T20:33:57.583676+08:00"},{"id":865,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"374200f0bf946f0399351756977d0495","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#176-234","gmt_create":"2026-04-23T20:33:57.588601+08:00","gmt_modified":"2026-04-23T20:33:57.588601+08:00"},{"id":866,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"374200f0bf946f0399351756977d0495","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 176-234","gmt_create":"2026-04-23T20:33:57.589609+08:00","gmt_modified":"2026-04-23T20:33:57.589609+08:00"},{"id":867,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"ac5982063da5f04315f3e82a0d653902","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#24-32","gmt_create":"2026-04-23T20:33:57.590732+08:00","gmt_modified":"2026-04-23T20:33:57.590732+08:00"},{"id":868,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"601b981b00d93b941843f046a163d5a3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#18-33","gmt_create":"2026-04-23T20:33:57.592508+08:00","gmt_modified":"2026-04-23T20:33:57.592508+08:00"},{"id":869,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"9a8d9100a6bc34ebae9ee065def7e88a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#44-72","gmt_create":"2026-04-23T20:33:57.593647+08:00","gmt_modified":"2026-04-23T20:33:57.593647+08:00"},{"id":870,"source_id":"f301b79d833233ce39d350e82a71c938","target_id":"9a8d9100a6bc34ebae9ee065def7e88a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-72","gmt_create":"2026-04-23T20:33:57.594757+08:00","gmt_modified":"2026-04-23T20:33:57.594757+08:00"},{"id":871,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"93c23bcc3456826af17e26a6d4c32116","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/query.py#6-9","gmt_create":"2026-04-23T20:33:57.595474+08:00","gmt_modified":"2026-04-23T20:33:57.595474+08:00"},{"id":872,"source_id":"f301b79d833233ce39d350e82a71c938","target_id":"93c23bcc3456826af17e26a6d4c32116","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 6-9","gmt_create":"2026-04-23T20:33:57.596276+08:00","gmt_modified":"2026-04-23T20:33:57.596276+08:00"},{"id":873,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c17eeb8726297096cd5542283f11494f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#17-109","gmt_create":"2026-04-23T20:33:57.597516+08:00","gmt_modified":"2026-04-23T20:33:57.597516+08:00"},{"id":874,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"c17eeb8726297096cd5542283f11494f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-109","gmt_create":"2026-04-23T20:33:57.598386+08:00","gmt_modified":"2026-04-23T20:33:57.598386+08:00"},{"id":875,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"08fec4718be6991260c00ca532f9173a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#22-55","gmt_create":"2026-04-23T20:33:57.599188+08:00","gmt_modified":"2026-04-23T20:33:57.599188+08:00"},{"id":876,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"08fec4718be6991260c00ca532f9173a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 22-55","gmt_create":"2026-04-23T20:33:57.600043+08:00","gmt_modified":"2026-04-23T20:33:57.600043+08:00"},{"id":877,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"08007199eea846dd14f15f7dc70419e2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#48-52","gmt_create":"2026-04-23T20:33:57.600852+08:00","gmt_modified":"2026-04-23T20:33:57.600852+08:00"},{"id":878,"source_id":"1a3336b4af8a39a055e912724338580c","target_id":"08007199eea846dd14f15f7dc70419e2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 48-52","gmt_create":"2026-04-23T20:33:57.601489+08:00","gmt_modified":"2026-04-23T20:33:57.601489+08:00"},{"id":879,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"4caff756fd4da029bd64cd16e7ef5960","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#32-39","gmt_create":"2026-04-23T20:33:57.602322+08:00","gmt_modified":"2026-04-23T20:33:57.602323+08:00"},{"id":880,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"4caff756fd4da029bd64cd16e7ef5960","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-39","gmt_create":"2026-04-23T20:33:57.602918+08:00","gmt_modified":"2026-04-23T20:33:57.602918+08:00"},{"id":881,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b0220895f66f1273966ad5b2c3266952","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#49-53","gmt_create":"2026-04-23T20:33:57.603881+08:00","gmt_modified":"2026-04-23T20:33:57.603881+08:00"},{"id":882,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"b0220895f66f1273966ad5b2c3266952","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 49-53","gmt_create":"2026-04-23T20:33:57.604555+08:00","gmt_modified":"2026-04-23T20:33:57.604555+08:00"},{"id":883,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"44f88f9664fdf6e84ffb7e0675a86a28","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#64-69","gmt_create":"2026-04-23T20:33:57.605262+08:00","gmt_modified":"2026-04-23T20:33:57.605262+08:00"},{"id":884,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"44f88f9664fdf6e84ffb7e0675a86a28","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 64-69","gmt_create":"2026-04-23T20:33:57.606324+08:00","gmt_modified":"2026-04-23T20:33:57.606324+08:00"},{"id":885,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"91f280f51389bd1cf711dcf33a4da681","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#79-84","gmt_create":"2026-04-23T20:33:57.607055+08:00","gmt_modified":"2026-04-23T20:33:57.607055+08:00"},{"id":886,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"91f280f51389bd1cf711dcf33a4da681","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 79-84","gmt_create":"2026-04-23T20:33:57.608388+08:00","gmt_modified":"2026-04-23T20:33:57.608388+08:00"},{"id":887,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"ab50466a57c77659d7b469d3a8a04ddb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#96-103","gmt_create":"2026-04-23T20:33:57.609206+08:00","gmt_modified":"2026-04-23T20:33:57.609206+08:00"},{"id":888,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"ab50466a57c77659d7b469d3a8a04ddb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 96-103","gmt_create":"2026-04-23T20:33:57.609975+08:00","gmt_modified":"2026-04-23T20:33:57.609975+08:00"},{"id":889,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"572c2dece1fbc13aa2bb7d6b61b0fd5c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#65-71","gmt_create":"2026-04-23T20:33:57.61104+08:00","gmt_modified":"2026-04-23T20:33:57.611041+08:00"},{"id":890,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"572c2dece1fbc13aa2bb7d6b61b0fd5c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 65-71","gmt_create":"2026-04-23T20:33:57.611833+08:00","gmt_modified":"2026-04-23T20:33:57.611833+08:00"},{"id":891,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"82386bc7ca57d9ccc94b656e52bc89f6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#1-14","gmt_create":"2026-04-23T20:33:57.612865+08:00","gmt_modified":"2026-04-23T20:33:57.612865+08:00"},{"id":892,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"82386bc7ca57d9ccc94b656e52bc89f6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-14","gmt_create":"2026-04-23T20:33:57.613537+08:00","gmt_modified":"2026-04-23T20:33:57.613537+08:00"},{"id":893,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"7ab79ab21d7d6e4dbcb224572516f6f6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-19","gmt_create":"2026-04-23T20:33:57.613967+08:00","gmt_modified":"2026-04-23T20:33:57.613968+08:00"},{"id":894,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"7ab79ab21d7d6e4dbcb224572516f6f6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-19","gmt_create":"2026-04-23T20:33:57.61426+08:00","gmt_modified":"2026-04-23T20:33:57.61426+08:00"},{"id":895,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"8433204d7a82a1f480e57df9ceee5581","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#1-10","gmt_create":"2026-04-23T20:33:57.614658+08:00","gmt_modified":"2026-04-23T20:33:57.614658+08:00"},{"id":896,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"8433204d7a82a1f480e57df9ceee5581","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-10","gmt_create":"2026-04-23T20:33:57.614988+08:00","gmt_modified":"2026-04-23T20:33:57.614988+08:00"},{"id":897,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"3957ee6f15a01b7b541490438ef18684","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-17","gmt_create":"2026-04-23T20:33:57.615388+08:00","gmt_modified":"2026-04-23T20:33:57.615388+08:00"},{"id":898,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"3957ee6f15a01b7b541490438ef18684","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-17","gmt_create":"2026-04-23T20:33:57.615908+08:00","gmt_modified":"2026-04-23T20:33:57.615908+08:00"},{"id":899,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"3729543092bccad8926c5ea852db1e69","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-157","gmt_create":"2026-04-23T20:33:57.61673+08:00","gmt_modified":"2026-04-23T20:33:57.61673+08:00"},{"id":900,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"fcae8d1d281ad7186999cc4ca8e43db7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#25-39","gmt_create":"2026-04-23T20:33:57.617716+08:00","gmt_modified":"2026-04-23T20:33:57.617716+08:00"},{"id":901,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"fcae8d1d281ad7186999cc4ca8e43db7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-39","gmt_create":"2026-04-23T20:33:57.618148+08:00","gmt_modified":"2026-04-23T20:33:57.618148+08:00"},{"id":902,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"ee12a84ac6334b13e20132181454488b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#13-19","gmt_create":"2026-04-23T20:33:57.6192+08:00","gmt_modified":"2026-04-23T20:33:57.6192+08:00"},{"id":903,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"ee12a84ac6334b13e20132181454488b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-19","gmt_create":"2026-04-23T20:33:57.619587+08:00","gmt_modified":"2026-04-23T20:33:57.619587+08:00"},{"id":904,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"897e047b94772e5a0ff57cf773a7f965","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#17-32","gmt_create":"2026-04-23T20:33:57.620024+08:00","gmt_modified":"2026-04-23T20:33:57.620024+08:00"},{"id":905,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"897e047b94772e5a0ff57cf773a7f965","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-32","gmt_create":"2026-04-23T20:33:57.620315+08:00","gmt_modified":"2026-04-23T20:33:57.620315+08:00"},{"id":906,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"53e8ec81b4d2dbb13c831048e5897036","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#17-32","gmt_create":"2026-04-23T20:33:57.620909+08:00","gmt_modified":"2026-04-23T20:33:57.620909+08:00"},{"id":907,"source_id":"f642fc1c2f34e15572d9d98aa6c18813","target_id":"53e8ec81b4d2dbb13c831048e5897036","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 17-32","gmt_create":"2026-04-23T20:33:57.621267+08:00","gmt_modified":"2026-04-23T20:33:57.621267+08:00"},{"id":908,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-22","gmt_create":"2026-04-23T20:33:57.621687+08:00","gmt_modified":"2026-04-23T20:33:57.621687+08:00"},{"id":909,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"ef82ce4377c549013c200e19701a6805","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#21-32","gmt_create":"2026-04-23T20:33:57.62216+08:00","gmt_modified":"2026-04-23T20:33:57.62216+08:00"},{"id":910,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"c7986eb1be0ffdd9ec4e243be4270119","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#21-32","gmt_create":"2026-04-23T20:33:57.623241+08:00","gmt_modified":"2026-04-23T20:33:57.623241+08:00"},{"id":911,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"eecf9581dbaa0a515cf11514175e7ef9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#11-206","gmt_create":"2026-04-23T20:33:57.627555+08:00","gmt_modified":"2026-04-23T20:33:57.627555+08:00"},{"id":912,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"5563c29185326a59be61ee0a6eec4463","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/wenxin.py#11-205","gmt_create":"2026-04-23T20:33:57.62809+08:00","gmt_modified":"2026-04-23T20:33:57.62809+08:00"},{"id":913,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"fd3145047b9c813cc8e64b9322e531f9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#219-327","gmt_create":"2026-04-23T20:33:57.62931+08:00","gmt_modified":"2026-04-23T20:33:57.62931+08:00"},{"id":914,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"fd3145047b9c813cc8e64b9322e531f9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 219-327","gmt_create":"2026-04-23T20:33:57.629745+08:00","gmt_modified":"2026-04-23T20:33:57.629745+08:00"},{"id":915,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"b09a0f415030d91b25e6cabd8a0a93fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#176-289","gmt_create":"2026-04-23T20:33:57.630458+08:00","gmt_modified":"2026-04-23T20:33:57.630458+08:00"},{"id":916,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"b09a0f415030d91b25e6cabd8a0a93fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 176-289","gmt_create":"2026-04-23T20:33:57.630748+08:00","gmt_modified":"2026-04-23T20:33:57.630748+08:00"},{"id":917,"source_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","target_id":"e2168959b26c386940370b5f1bf48d7d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#194-204","gmt_create":"2026-04-23T20:33:57.631184+08:00","gmt_modified":"2026-04-23T20:33:57.631184+08:00"},{"id":918,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"e2168959b26c386940370b5f1bf48d7d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 194-204","gmt_create":"2026-04-23T20:33:57.63147+08:00","gmt_modified":"2026-04-23T20:33:57.63147+08:00"},{"id":919,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"8f973791233c698b3e64a4fb28a93d4b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-23T20:35:18.634061+08:00","gmt_modified":"2026-04-23T20:35:18.634062+08:00"},{"id":920,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"a16cf42e9559523c4f96ca4c79f9488d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/base.py","gmt_create":"2026-04-23T20:35:18.634886+08:00","gmt_modified":"2026-04-23T20:35:18.634886+08:00"},{"id":921,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"6a63f048c16c60c5d2d57012c810ee0e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/search_engine.py","gmt_create":"2026-04-23T20:35:18.635377+08:00","gmt_modified":"2026-04-23T20:35:18.635377+08:00"},{"id":922,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"4a56ef5fca60bc63480b457cab3832f0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/platforms/__init__.py","gmt_create":"2026-04-23T20:35:18.63595+08:00","gmt_modified":"2026-04-23T20:35:18.63595+08:00"},{"id":923,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T20:35:18.636363+08:00","gmt_modified":"2026-04-23T20:35:18.636363+08:00"},{"id":924,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T20:35:18.636753+08:00","gmt_modified":"2026-04-23T20:35:18.636753+08:00"},{"id":925,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"36dd0ad3ee6bc75a480ad8a62268e80e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/models/query.py","gmt_create":"2026-04-23T20:35:18.6372+08:00","gmt_modified":"2026-04-23T20:35:18.6372+08:00"},{"id":926,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T20:35:18.637558+08:00","gmt_modified":"2026-04-23T20:35:18.637558+08:00"},{"id":927,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:35:18.637924+08:00","gmt_modified":"2026-04-23T20:35:18.637924+08:00"},{"id":928,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T20:35:18.638407+08:00","gmt_modified":"2026-04-23T20:35:18.638407+08:00"},{"id":929,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T20:35:18.638942+08:00","gmt_modified":"2026-04-23T20:35:18.638942+08:00"},{"id":930,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T20:35:18.641162+08:00","gmt_modified":"2026-04-23T20:35:18.641162+08:00"},{"id":931,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:35:18.642251+08:00","gmt_modified":"2026-04-23T20:35:18.642251+08:00"},{"id":932,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T20:35:18.642925+08:00","gmt_modified":"2026-04-23T20:35:18.642925+08:00"},{"id":933,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"ef72f0c3cedb9fd9a87352fe493053dc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/lib/platforms.ts","gmt_create":"2026-04-23T20:35:18.643414+08:00","gmt_modified":"2026-04-23T20:35:18.643415+08:00"},{"id":934,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"096856da621e23e78422a15e2bfce1f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-22","gmt_create":"2026-04-23T20:35:18.643912+08:00","gmt_modified":"2026-04-23T20:35:18.643912+08:00"},{"id":935,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"129573d2bbcde48697ed0e75dea12396","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#25-40","gmt_create":"2026-04-23T20:35:18.645078+08:00","gmt_modified":"2026-04-23T20:35:18.645078+08:00"},{"id":936,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"129573d2bbcde48697ed0e75dea12396","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-40","gmt_create":"2026-04-23T20:35:18.646964+08:00","gmt_modified":"2026-04-23T20:35:18.646965+08:00"},{"id":937,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"cf18c97a9be6c78aa43cc229ed3dad20","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#164-173","gmt_create":"2026-04-23T20:35:18.647598+08:00","gmt_modified":"2026-04-23T20:35:18.647598+08:00"},{"id":938,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"cf18c97a9be6c78aa43cc229ed3dad20","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 164-173","gmt_create":"2026-04-23T20:35:18.647972+08:00","gmt_modified":"2026-04-23T20:35:18.647972+08:00"},{"id":939,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"3c7ca5d582dca31c2530b1ce9c058e95","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#10-37","gmt_create":"2026-04-23T20:35:18.648459+08:00","gmt_modified":"2026-04-23T20:35:18.64846+08:00"},{"id":940,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"3c7ca5d582dca31c2530b1ce9c058e95","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-37","gmt_create":"2026-04-23T20:35:18.648785+08:00","gmt_modified":"2026-04-23T20:35:18.648785+08:00"},{"id":941,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"9f82f6d82bf914a608d6afa3d9854abf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#1-174","gmt_create":"2026-04-23T20:35:18.649264+08:00","gmt_modified":"2026-04-23T20:35:18.649264+08:00"},{"id":942,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:35:18.650358+08:00","gmt_modified":"2026-04-23T20:35:18.650358+08:00"},{"id":943,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"4fb8856be3a581fe8303d11b2284ca29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-55","gmt_create":"2026-04-23T20:35:18.650954+08:00","gmt_modified":"2026-04-23T20:35:18.650954+08:00"},{"id":944,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"fd541971cebf8a7c167d717f5c5d1ff6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-42","gmt_create":"2026-04-23T20:35:18.652232+08:00","gmt_modified":"2026-04-23T20:35:18.652232+08:00"},{"id":945,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"b84f46f058847733347974841f613688","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-39","gmt_create":"2026-04-23T20:35:18.653511+08:00","gmt_modified":"2026-04-23T20:35:18.653511+08:00"},{"id":946,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"27047f868643e5457d4f242b4298a9f6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/lib/platforms.ts#1-23","gmt_create":"2026-04-23T20:35:18.654994+08:00","gmt_modified":"2026-04-23T20:35:18.654994+08:00"},{"id":947,"source_id":"ef72f0c3cedb9fd9a87352fe493053dc","target_id":"27047f868643e5457d4f242b4298a9f6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-23","gmt_create":"2026-04-23T20:35:18.6556+08:00","gmt_modified":"2026-04-23T20:35:18.6556+08:00"},{"id":948,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"557ae34b57a5dd8e8fa3bb2a6ce178a7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#163-174","gmt_create":"2026-04-23T20:35:18.657485+08:00","gmt_modified":"2026-04-23T20:35:18.657486+08:00"},{"id":949,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"1526e4e02133a48eac04befb74ec5bd1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#161-173","gmt_create":"2026-04-23T20:35:18.65887+08:00","gmt_modified":"2026-04-23T20:35:18.65887+08:00"},{"id":950,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"1526e4e02133a48eac04befb74ec5bd1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 161-173","gmt_create":"2026-04-23T20:35:18.659265+08:00","gmt_modified":"2026-04-23T20:35:18.659265+08:00"},{"id":951,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"98c02d9bb7aa6e2b6be5f7381e64fd99","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#26-39","gmt_create":"2026-04-23T20:35:18.661103+08:00","gmt_modified":"2026-04-23T20:35:18.661103+08:00"},{"id":952,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"98c02d9bb7aa6e2b6be5f7381e64fd99","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-39","gmt_create":"2026-04-23T20:35:18.661433+08:00","gmt_modified":"2026-04-23T20:35:18.661433+08:00"},{"id":953,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"212d822d207a4c0bd7825bbf20e188e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#59-77","gmt_create":"2026-04-23T20:35:18.661922+08:00","gmt_modified":"2026-04-23T20:35:18.661922+08:00"},{"id":954,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"9b10dac7dbbb1327afc8a525bf4bd0c3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#45-81","gmt_create":"2026-04-23T20:35:18.662781+08:00","gmt_modified":"2026-04-23T20:35:18.662781+08:00"},{"id":955,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"4ded871d02b8119cdd985de8b220b084","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#204-234","gmt_create":"2026-04-23T20:35:18.680675+08:00","gmt_modified":"2026-04-23T20:35:18.680675+08:00"},{"id":956,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"448970b02d89d5e1576f70bdb0063363","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#51-84","gmt_create":"2026-04-23T20:35:18.68314+08:00","gmt_modified":"2026-04-23T20:35:18.68314+08:00"},{"id":957,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"8565f299083b4dcba5a328c947f06fee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#256-287","gmt_create":"2026-04-23T20:35:18.685341+08:00","gmt_modified":"2026-04-23T20:35:18.685341+08:00"},{"id":958,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"52c01d7b9c17aa16944cbfcf8885be61","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#16-33","gmt_create":"2026-04-23T20:35:18.686894+08:00","gmt_modified":"2026-04-23T20:35:18.686894+08:00"},{"id":959,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"2a971cb83924013902324eceeab22559","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#16-29","gmt_create":"2026-04-23T20:35:18.689849+08:00","gmt_modified":"2026-04-23T20:35:18.689849+08:00"},{"id":960,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"2a971cb83924013902324eceeab22559","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-29","gmt_create":"2026-04-23T20:35:18.69154+08:00","gmt_modified":"2026-04-23T20:35:18.69154+08:00"},{"id":961,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"99326fedad9275392719105b5b6782d6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#31-33","gmt_create":"2026-04-23T20:35:18.692776+08:00","gmt_modified":"2026-04-23T20:35:18.692776+08:00"},{"id":962,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"99326fedad9275392719105b5b6782d6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-33","gmt_create":"2026-04-23T20:35:18.693945+08:00","gmt_modified":"2026-04-23T20:35:18.693945+08:00"},{"id":963,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"102223dd13475177a1ade8b9be14fbd1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#79-144","gmt_create":"2026-04-23T20:35:18.695323+08:00","gmt_modified":"2026-04-23T20:35:18.695324+08:00"},{"id":964,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"5e5dacc623918c0f1eba234154c99291","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#16-76","gmt_create":"2026-04-23T20:35:18.696341+08:00","gmt_modified":"2026-04-23T20:35:18.696341+08:00"},{"id":965,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"5e5dacc623918c0f1eba234154c99291","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-76","gmt_create":"2026-04-23T20:35:18.697266+08:00","gmt_modified":"2026-04-23T20:35:18.697267+08:00"},{"id":966,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"5be7e6cf82d6359efddaf131aaf92615","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#323-330","gmt_create":"2026-04-23T20:35:18.701473+08:00","gmt_modified":"2026-04-23T20:35:18.701473+08:00"},{"id":967,"source_id":"74040de652d5e57f548bb5c4adc3e1a0","target_id":"5be7e6cf82d6359efddaf131aaf92615","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 323-330","gmt_create":"2026-04-23T20:35:18.7021+08:00","gmt_modified":"2026-04-23T20:35:18.7021+08:00"},{"id":968,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"129b746e71a9013ceb1b0fcc59942b39","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#86-90","gmt_create":"2026-04-23T20:35:18.703871+08:00","gmt_modified":"2026-04-23T20:35:18.703871+08:00"},{"id":969,"source_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","target_id":"129b746e71a9013ceb1b0fcc59942b39","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 86-90","gmt_create":"2026-04-23T20:35:18.709231+08:00","gmt_modified":"2026-04-23T20:35:18.709231+08:00"},{"id":970,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"fe70b1fef9f36e73d26d84987e927c7a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-86","gmt_create":"2026-04-23T20:35:18.712574+08:00","gmt_modified":"2026-04-23T20:35:18.712574+08:00"},{"id":971,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"c066a8d4bffabed87a2e38ccad81c107","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#25-77","gmt_create":"2026-04-23T20:35:18.713529+08:00","gmt_modified":"2026-04-23T20:35:18.713529+08:00"},{"id":972,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"d7c319a04abbc6704da53107e07dd8e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#12-130","gmt_create":"2026-04-23T20:35:18.714412+08:00","gmt_modified":"2026-04-23T20:35:18.714412+08:00"},{"id":973,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"d780e807ee751f39f331a658b47c4ed3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#24-269","gmt_create":"2026-04-23T20:35:18.715261+08:00","gmt_modified":"2026-04-23T20:35:18.715261+08:00"},{"id":974,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"d780e807ee751f39f331a658b47c4ed3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-269","gmt_create":"2026-04-23T20:35:18.716135+08:00","gmt_modified":"2026-04-23T20:35:18.716135+08:00"},{"id":975,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"8eea43550951387ac740b5e3e64c7691","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#94-96","gmt_create":"2026-04-23T20:35:18.720519+08:00","gmt_modified":"2026-04-23T20:35:18.720519+08:00"},{"id":976,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"8eea43550951387ac740b5e3e64c7691","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 94-96","gmt_create":"2026-04-23T20:35:18.72132+08:00","gmt_modified":"2026-04-23T20:35:18.72132+08:00"},{"id":977,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"ed527c7a549ec333c2b30b59614343df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#50-54","gmt_create":"2026-04-23T20:35:18.72244+08:00","gmt_modified":"2026-04-23T20:35:18.72244+08:00"},{"id":978,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"a2adbf02c71e4eb2cf1f120e1a2ff517","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#37-41","gmt_create":"2026-04-23T20:35:18.725156+08:00","gmt_modified":"2026-04-23T20:35:18.725157+08:00"},{"id":979,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"b55cc5936c299f819b57b899858438e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#139-144","gmt_create":"2026-04-23T20:35:18.727146+08:00","gmt_modified":"2026-04-23T20:35:18.727146+08:00"},{"id":980,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"37769b7e6b5588be0065681dedf514ed","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/search_engine.py#140-144","gmt_create":"2026-04-23T20:35:18.728033+08:00","gmt_modified":"2026-04-23T20:35:18.728033+08:00"},{"id":981,"source_id":"6a63f048c16c60c5d2d57012c810ee0e","target_id":"37769b7e6b5588be0065681dedf514ed","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-144","gmt_create":"2026-04-23T20:35:18.728855+08:00","gmt_modified":"2026-04-23T20:35:18.728855+08:00"},{"id":982,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"518d184988b97ebc7ef0c0bf5c10f42c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/platforms/kimi.py#24-29","gmt_create":"2026-04-23T20:35:18.72968+08:00","gmt_modified":"2026-04-23T20:35:18.72968+08:00"},{"id":983,"source_id":"8f973791233c698b3e64a4fb28a93d4b","target_id":"518d184988b97ebc7ef0c0bf5c10f42c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 24-29","gmt_create":"2026-04-23T20:35:18.730545+08:00","gmt_modified":"2026-04-23T20:35:18.730546+08:00"},{"id":984,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"818504ee2e17d2f9cc8fe115ca321138","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#34-38","gmt_create":"2026-04-23T20:35:18.73162+08:00","gmt_modified":"2026-04-23T20:35:18.73162+08:00"},{"id":985,"source_id":"6b3d903205941aa9391dd90016e1102c","target_id":"818504ee2e17d2f9cc8fe115ca321138","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34-38","gmt_create":"2026-04-23T20:35:18.732614+08:00","gmt_modified":"2026-04-23T20:35:18.732614+08:00"},{"id":986,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"55f1628f1ab6f323710e367e12146b1a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#67-71","gmt_create":"2026-04-23T20:35:18.733467+08:00","gmt_modified":"2026-04-23T20:35:18.733467+08:00"},{"id":987,"source_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","target_id":"8a1a0ffd82ac6ff54d3410e4ce59a6b8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#25-56","gmt_create":"2026-04-23T20:35:18.735579+08:00","gmt_modified":"2026-04-23T20:35:18.735579+08:00"},{"id":988,"source_id":"7538ffe4902ab6041adb28b19844962a","target_id":"8a1a0ffd82ac6ff54d3410e4ce59a6b8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-56","gmt_create":"2026-04-23T20:35:18.73663+08:00","gmt_modified":"2026-04-23T20:35:18.73663+08:00"},{"id":989,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"b0c428683c8a3e6922d90ca0d8c2736d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/database.py","gmt_create":"2026-04-23T20:35:45.660646+08:00","gmt_modified":"2026-04-23T20:35:45.660646+08:00"},{"id":990,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"c59f8c276697a070dffc581fe94d809c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/user.py","gmt_create":"2026-04-23T20:35:45.661843+08:00","gmt_modified":"2026-04-23T20:35:45.661843+08:00"},{"id":991,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"b74caccb06844efcdb14d8324cff65c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query.py","gmt_create":"2026-04-23T20:35:45.662817+08:00","gmt_modified":"2026-04-23T20:35:45.662818+08:00"},{"id":992,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"b4a81ef789630d0af6a8d50859d01bf3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/citation_record.py","gmt_create":"2026-04-23T20:35:45.663785+08:00","gmt_modified":"2026-04-23T20:35:45.663785+08:00"},{"id":993,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"069738f21ac2da7349d22683e8c36929","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/query_task.py","gmt_create":"2026-04-23T20:35:45.665202+08:00","gmt_modified":"2026-04-23T20:35:45.665202+08:00"},{"id":994,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"bceca00463fe55d3bcafda728f97f723","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/subscription.py","gmt_create":"2026-04-23T20:35:45.667209+08:00","gmt_modified":"2026-04-23T20:35:45.667209+08:00"},{"id":995,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"99fe1b288fd41daa86c2dfbab819abf0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/__init__.py","gmt_create":"2026-04-23T20:35:45.669525+08:00","gmt_modified":"2026-04-23T20:35:45.669526+08:00"},{"id":996,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"a680d4819f5da57fe9fa0e6bc708f380","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic/env.py","gmt_create":"2026-04-23T20:35:45.670438+08:00","gmt_modified":"2026-04-23T20:35:45.670438+08:00"},{"id":997,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"d4f95fcf50683b5bf6167c7d2a6b126d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic/versions/488d0bd5ab01_initial_migration.py","gmt_create":"2026-04-23T20:35:45.671423+08:00","gmt_modified":"2026-04-23T20:35:45.671424+08:00"},{"id":998,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"f6e6948dd0cdd3894bd9928b21feb979","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py","gmt_create":"2026-04-23T20:35:45.672124+08:00","gmt_modified":"2026-04-23T20:35:45.672124+08:00"},{"id":999,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic.ini","gmt_create":"2026-04-23T20:35:45.676799+08:00","gmt_modified":"2026-04-23T20:35:45.676799+08:00"},{"id":1000,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T20:35:45.678551+08:00","gmt_modified":"2026-04-23T20:35:45.678551+08:00"},{"id":1001,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"fc6242433ae9506bcc0bf4cb0dce1413","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: docker-compose.yml","gmt_create":"2026-04-23T20:35:45.680906+08:00","gmt_modified":"2026-04-23T20:35:45.680906+08:00"},{"id":1002,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"88d22de3b2a7419868e8ae19130d860c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/query.py","gmt_create":"2026-04-23T20:35:45.682494+08:00","gmt_modified":"2026-04-23T20:35:45.682494+08:00"},{"id":1003,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"04e3926c080e795713bff683e7dc9d3e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/citation.py","gmt_create":"2026-04-23T20:35:45.684758+08:00","gmt_modified":"2026-04-23T20:35:45.684758+08:00"},{"id":1004,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"1a3336b4af8a39a055e912724338580c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/citation.py","gmt_create":"2026-04-23T20:35:45.687229+08:00","gmt_modified":"2026-04-23T20:35:45.687229+08:00"},{"id":1005,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T20:35:45.69372+08:00","gmt_modified":"2026-04-23T20:35:45.69372+08:00"},{"id":1006,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"58901c94d975d87e652a4dc6c8dda656","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/reports.py","gmt_create":"2026-04-23T20:35:45.696657+08:00","gmt_modified":"2026-04-23T20:35:45.696657+08:00"},{"id":1007,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"84fbed7d35f7752e2117a74fcaf5f0e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-17","gmt_create":"2026-04-23T20:35:45.698676+08:00","gmt_modified":"2026-04-23T20:35:45.698677+08:00"},{"id":1008,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#1-29","gmt_create":"2026-04-23T20:35:45.700125+08:00","gmt_modified":"2026-04-23T20:35:45.700125+08:00"},{"id":1009,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"136f172c732d0cc130532a4f0df475a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#1-41","gmt_create":"2026-04-23T20:35:45.701888+08:00","gmt_modified":"2026-04-23T20:35:45.701888+08:00"},{"id":1010,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"6281fff17a86ec1895c64d87c2ae7fb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#1-55","gmt_create":"2026-04-23T20:35:45.704398+08:00","gmt_modified":"2026-04-23T20:35:45.704399+08:00"},{"id":1011,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"d4f99d3dd9fe489c354edf5fe2f8803d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#1-44","gmt_create":"2026-04-23T20:35:45.711611+08:00","gmt_modified":"2026-04-23T20:35:45.711611+08:00"},{"id":1012,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"d4f99d3dd9fe489c354edf5fe2f8803d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-44","gmt_create":"2026-04-23T20:35:45.713712+08:00","gmt_modified":"2026-04-23T20:35:45.713713+08:00"},{"id":1013,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"6628e006b8e5ca16160743528b6b0506","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#1-39","gmt_create":"2026-04-23T20:35:45.716382+08:00","gmt_modified":"2026-04-23T20:35:45.716382+08:00"},{"id":1014,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"86e37040be1aeb400fab9b529f5404c8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/subscription.py#1-37","gmt_create":"2026-04-23T20:35:45.719041+08:00","gmt_modified":"2026-04-23T20:35:45.719041+08:00"},{"id":1015,"source_id":"bceca00463fe55d3bcafda728f97f723","target_id":"86e37040be1aeb400fab9b529f5404c8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T20:35:45.722046+08:00","gmt_modified":"2026-04-23T20:35:45.722047+08:00"},{"id":1016,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"211463f5b49610f09594c40c0a235943","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/env.py#1-89","gmt_create":"2026-04-23T20:35:45.733734+08:00","gmt_modified":"2026-04-23T20:35:45.733735+08:00"},{"id":1017,"source_id":"a680d4819f5da57fe9fa0e6bc708f380","target_id":"211463f5b49610f09594c40c0a235943","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-89","gmt_create":"2026-04-23T20:35:45.736063+08:00","gmt_modified":"2026-04-23T20:35:45.736064+08:00"},{"id":1018,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"48d22eaee09e364a293ad6c4750f5c5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: docker-compose.yml#1-71","gmt_create":"2026-04-23T20:35:45.738707+08:00","gmt_modified":"2026-04-23T20:35:45.738707+08:00"},{"id":1019,"source_id":"fc6242433ae9506bcc0bf4cb0dce1413","target_id":"48d22eaee09e364a293ad6c4750f5c5a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-71","gmt_create":"2026-04-23T20:35:45.743112+08:00","gmt_modified":"2026-04-23T20:35:45.743112+08:00"},{"id":1020,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"afe4138895492c26aac5c0120ef46cd8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/__init__.py#1-14","gmt_create":"2026-04-23T20:35:45.763731+08:00","gmt_modified":"2026-04-23T20:35:45.763731+08:00"},{"id":1021,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"98cc82f62b83678f06a33cf9231ecdf8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#1-128","gmt_create":"2026-04-23T20:35:45.768447+08:00","gmt_modified":"2026-04-23T20:35:45.768447+08:00"},{"id":1022,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"98cc82f62b83678f06a33cf9231ecdf8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-128","gmt_create":"2026-04-23T20:35:45.771158+08:00","gmt_modified":"2026-04-23T20:35:45.771158+08:00"},{"id":1023,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"e1aabd52989e47806fb997157381e1cf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py#1-37","gmt_create":"2026-04-23T20:35:45.780749+08:00","gmt_modified":"2026-04-23T20:35:45.780749+08:00"},{"id":1024,"source_id":"f6e6948dd0cdd3894bd9928b21feb979","target_id":"e1aabd52989e47806fb997157381e1cf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-37","gmt_create":"2026-04-23T20:35:45.782446+08:00","gmt_modified":"2026-04-23T20:35:45.782446+08:00"},{"id":1025,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"916551131bd9ac8c9f9c8bb762af1fa4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#1-130","gmt_create":"2026-04-23T20:35:45.783981+08:00","gmt_modified":"2026-04-23T20:35:45.783981+08:00"},{"id":1026,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"5d2836286eb7d4eb6039b004a9744d26","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#1-429","gmt_create":"2026-04-23T20:35:45.792834+08:00","gmt_modified":"2026-04-23T20:35:45.792834+08:00"},{"id":1027,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"ac77e4875817616194b7b5997d4fb1ae","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#57-94","gmt_create":"2026-04-23T20:35:45.806492+08:00","gmt_modified":"2026-04-23T20:35:45.806492+08:00"},{"id":1028,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"ac77e4875817616194b7b5997d4fb1ae","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 57-94","gmt_create":"2026-04-23T20:35:45.808076+08:00","gmt_modified":"2026-04-23T20:35:45.808076+08:00"},{"id":1029,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"0e57efd98dacc85da21f995980371ee4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py#21-37","gmt_create":"2026-04-23T20:35:45.813468+08:00","gmt_modified":"2026-04-23T20:35:45.813468+08:00"},{"id":1030,"source_id":"f6e6948dd0cdd3894bd9928b21feb979","target_id":"0e57efd98dacc85da21f995980371ee4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 21-37","gmt_create":"2026-04-23T20:35:45.81891+08:00","gmt_modified":"2026-04-23T20:35:45.81891+08:00"},{"id":1031,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"ed527c7a549ec333c2b30b59614343df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#50-54","gmt_create":"2026-04-23T20:35:45.821047+08:00","gmt_modified":"2026-04-23T20:35:45.821047+08:00"},{"id":1032,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"717eb27184726e4f78d694984d29420c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#37-44","gmt_create":"2026-04-23T20:35:45.829709+08:00","gmt_modified":"2026-04-23T20:35:45.829709+08:00"},{"id":1033,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"717eb27184726e4f78d694984d29420c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-44","gmt_create":"2026-04-23T20:35:45.831123+08:00","gmt_modified":"2026-04-23T20:35:45.831123+08:00"},{"id":1034,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"f6c9f1b4e8646c366a31426a4537675d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#36-38","gmt_create":"2026-04-23T20:35:45.832035+08:00","gmt_modified":"2026-04-23T20:35:45.832035+08:00"},{"id":1035,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#11-41","gmt_create":"2026-04-23T20:35:45.839744+08:00","gmt_modified":"2026-04-23T20:35:45.839744+08:00"},{"id":1036,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"bfdf3479f244dc6794628d9df10ab6d0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query.py#11-48","gmt_create":"2026-04-23T20:35:45.841136+08:00","gmt_modified":"2026-04-23T20:35:45.841136+08:00"},{"id":1037,"source_id":"b74caccb06844efcdb14d8324cff65c2","target_id":"bfdf3479f244dc6794628d9df10ab6d0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-48","gmt_create":"2026-04-23T20:35:45.842187+08:00","gmt_modified":"2026-04-23T20:35:45.842187+08:00"},{"id":1038,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"f5f9f0d96263ae84631c7a8d7e9b3648","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/citation_record.py#11-44","gmt_create":"2026-04-23T20:35:45.843279+08:00","gmt_modified":"2026-04-23T20:35:45.843279+08:00"},{"id":1039,"source_id":"b4a81ef789630d0af6a8d50859d01bf3","target_id":"f5f9f0d96263ae84631c7a8d7e9b3648","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-44","gmt_create":"2026-04-23T20:35:45.84404+08:00","gmt_modified":"2026-04-23T20:35:45.84404+08:00"},{"id":1040,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"818d1354dc0665798f3d91a2ca5153d6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/query_task.py#11-34","gmt_create":"2026-04-23T20:35:45.845215+08:00","gmt_modified":"2026-04-23T20:35:45.845215+08:00"},{"id":1041,"source_id":"069738f21ac2da7349d22683e8c36929","target_id":"818d1354dc0665798f3d91a2ca5153d6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-34","gmt_create":"2026-04-23T20:35:45.845935+08:00","gmt_modified":"2026-04-23T20:35:45.845935+08:00"},{"id":1042,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"24aade4c34609a8ab28e4643a3692201","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/subscription.py#11-36","gmt_create":"2026-04-23T20:35:45.848681+08:00","gmt_modified":"2026-04-23T20:35:45.848681+08:00"},{"id":1043,"source_id":"bceca00463fe55d3bcafda728f97f723","target_id":"24aade4c34609a8ab28e4643a3692201","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-36","gmt_create":"2026-04-23T20:35:45.853262+08:00","gmt_modified":"2026-04-23T20:35:45.853263+08:00"},{"id":1044,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"d34337b9ff77246979252d2fd8fb8018","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/env.py#33-88","gmt_create":"2026-04-23T20:35:45.861311+08:00","gmt_modified":"2026-04-23T20:35:45.861311+08:00"},{"id":1045,"source_id":"a680d4819f5da57fe9fa0e6bc708f380","target_id":"d34337b9ff77246979252d2fd8fb8018","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-88","gmt_create":"2026-04-23T20:35:45.866334+08:00","gmt_modified":"2026-04-23T20:35:45.866335+08:00"},{"id":1046,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"4d11ddf7abb8076d81b30c4315786f9a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#21-128","gmt_create":"2026-04-23T20:35:45.871459+08:00","gmt_modified":"2026-04-23T20:35:45.871459+08:00"},{"id":1047,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"eb63042f04a22f9a67bd498df1684d20","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic/versions/488d0bd5ab01_initial_migration.py#36-111","gmt_create":"2026-04-23T20:35:45.882867+08:00","gmt_modified":"2026-04-23T20:35:45.882867+08:00"},{"id":1048,"source_id":"d4f95fcf50683b5bf6167c7d2a6b126d","target_id":"eb63042f04a22f9a67bd498df1684d20","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 36-111","gmt_create":"2026-04-23T20:35:45.883763+08:00","gmt_modified":"2026-04-23T20:35:45.883763+08:00"},{"id":1049,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"9b10dac7dbbb1327afc8a525bf4bd0c3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#45-81","gmt_create":"2026-04-23T20:35:45.886934+08:00","gmt_modified":"2026-04-23T20:35:45.886934+08:00"},{"id":1050,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"c651c7ad6747a92ee96eabb2eb82afdd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#12-18","gmt_create":"2026-04-23T20:35:45.888179+08:00","gmt_modified":"2026-04-23T20:35:45.888179+08:00"},{"id":1051,"source_id":"b0c428683c8a3e6922d90ca0d8c2736d","target_id":"c651c7ad6747a92ee96eabb2eb82afdd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-18","gmt_create":"2026-04-23T20:35:45.891674+08:00","gmt_modified":"2026-04-23T20:35:45.891674+08:00"},{"id":1052,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"dd01eee487298a28e950f6345196f1d4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#30-79","gmt_create":"2026-04-23T20:35:45.892903+08:00","gmt_modified":"2026-04-23T20:35:45.892903+08:00"},{"id":1053,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"dd01eee487298a28e950f6345196f1d4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-79","gmt_create":"2026-04-23T20:35:45.895814+08:00","gmt_modified":"2026-04-23T20:35:45.895814+08:00"},{"id":1054,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"7dae7237f11c5100bf7889c105193cf6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/query.py#12-32","gmt_create":"2026-04-23T20:35:45.897237+08:00","gmt_modified":"2026-04-23T20:35:45.897237+08:00"},{"id":1055,"source_id":"88d22de3b2a7419868e8ae19130d860c","target_id":"7dae7237f11c5100bf7889c105193cf6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-32","gmt_create":"2026-04-23T20:35:45.901349+08:00","gmt_modified":"2026-04-23T20:35:45.901349+08:00"},{"id":1056,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"cc64cf609f5ff218f618e0664ffa7cc7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#298-308","gmt_create":"2026-04-23T20:35:45.903364+08:00","gmt_modified":"2026-04-23T20:35:45.903364+08:00"},{"id":1057,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"cc64cf609f5ff218f618e0664ffa7cc7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 298-308","gmt_create":"2026-04-23T20:35:45.904411+08:00","gmt_modified":"2026-04-23T20:35:45.904411+08:00"},{"id":1058,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"ce7e334595a4ce912e0d116314db9a35","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#342-429","gmt_create":"2026-04-23T20:35:45.905854+08:00","gmt_modified":"2026-04-23T20:35:45.905854+08:00"},{"id":1059,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"ce7e334595a4ce912e0d116314db9a35","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 342-429","gmt_create":"2026-04-23T20:35:45.906963+08:00","gmt_modified":"2026-04-23T20:35:45.906964+08:00"},{"id":1060,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"2f46f212597e3c245b9e5dcc5dbc863d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/citation.py#7-18","gmt_create":"2026-04-23T20:35:45.90882+08:00","gmt_modified":"2026-04-23T20:35:45.90882+08:00"},{"id":1061,"source_id":"1a3336b4af8a39a055e912724338580c","target_id":"2f46f212597e3c245b9e5dcc5dbc863d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-18","gmt_create":"2026-04-23T20:35:45.909475+08:00","gmt_modified":"2026-04-23T20:35:45.909476+08:00"},{"id":1062,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"dc40f1dd3e59ee7f046019201068bea1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/citation.py#14-22","gmt_create":"2026-04-23T20:35:45.919758+08:00","gmt_modified":"2026-04-23T20:35:45.919759+08:00"},{"id":1063,"source_id":"04e3926c080e795713bff683e7dc9d3e","target_id":"dc40f1dd3e59ee7f046019201068bea1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-22","gmt_create":"2026-04-23T20:35:45.920772+08:00","gmt_modified":"2026-04-23T20:35:45.920772+08:00"},{"id":1064,"source_id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","target_id":"19e75845-5147-4aeb-90be-16f3aa270465","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c7eb113b-b503-4d83-be7f-9ccf3350c9d9 -\u003e 19e75845-5147-4aeb-90be-16f3aa270465","gmt_create":"2026-04-23T20:35:46.934281+08:00","gmt_modified":"2026-04-23T20:35:46.934281+08:00"},{"id":1065,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"d5c75004-b01b-416f-850a-4791c5489a32","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ffbb970e-56e0-40ad-bd88-1a1e55482d96 -\u003e d5c75004-b01b-416f-850a-4791c5489a32","gmt_create":"2026-04-23T20:35:46.942283+08:00","gmt_modified":"2026-04-23T20:35:46.942284+08:00"},{"id":1066,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"c3fa653f-8dd7-41fe-8c2e-8b60adbf70f4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ffbb970e-56e0-40ad-bd88-1a1e55482d96 -\u003e c3fa653f-8dd7-41fe-8c2e-8b60adbf70f4","gmt_create":"2026-04-23T20:35:46.944556+08:00","gmt_modified":"2026-04-23T20:35:46.944556+08:00"},{"id":1067,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"262a3941-fdc6-46b0-b767-be40aa9d5761","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ffbb970e-56e0-40ad-bd88-1a1e55482d96 -\u003e 262a3941-fdc6-46b0-b767-be40aa9d5761","gmt_create":"2026-04-23T20:35:46.946394+08:00","gmt_modified":"2026-04-23T20:35:46.946394+08:00"},{"id":1068,"source_id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","target_id":"7c0201f7-9e02-4cba-9ee1-81c3477f049a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ffbb970e-56e0-40ad-bd88-1a1e55482d96 -\u003e 7c0201f7-9e02-4cba-9ee1-81c3477f049a","gmt_create":"2026-04-23T20:35:46.948347+08:00","gmt_modified":"2026-04-23T20:35:46.948347+08:00"},{"id":1069,"source_id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","target_id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: deb919cc-9541-4ed7-a581-ae2876ea67c2 -\u003e a1cc822d-5382-431c-8c49-cf398fb5eb3c","gmt_create":"2026-04-23T20:35:46.950364+08:00","gmt_modified":"2026-04-23T20:35:46.950364+08:00"},{"id":1070,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"37003fc0-1cf5-4264-996b-40807001875f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69 -\u003e 37003fc0-1cf5-4264-996b-40807001875f","gmt_create":"2026-04-23T20:35:46.957122+08:00","gmt_modified":"2026-04-23T20:35:46.957122+08:00"},{"id":1071,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"2126339b-b0f5-4152-924b-cbe028cd0c39","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69 -\u003e 2126339b-b0f5-4152-924b-cbe028cd0c39","gmt_create":"2026-04-23T20:35:46.959782+08:00","gmt_modified":"2026-04-23T20:35:46.959782+08:00"},{"id":1072,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69 -\u003e fab60eaf-9652-4cb5-9f9e-0525caa62d63","gmt_create":"2026-04-23T20:35:46.965729+08:00","gmt_modified":"2026-04-23T20:35:46.965729+08:00"},{"id":1073,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"00359e45-209d-4be3-8795-50dea52bdba1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69 -\u003e 00359e45-209d-4be3-8795-50dea52bdba1","gmt_create":"2026-04-23T20:35:46.970985+08:00","gmt_modified":"2026-04-23T20:35:46.970985+08:00"},{"id":1074,"source_id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","target_id":"2632a6f9-774e-4a91-94da-a984bdb20758","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69 -\u003e 2632a6f9-774e-4a91-94da-a984bdb20758","gmt_create":"2026-04-23T20:35:46.974435+08:00","gmt_modified":"2026-04-23T20:35:46.974435+08:00"},{"id":1075,"source_id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","target_id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 49915365-e38e-43b5-beac-6aa7d5a74cbb -\u003e 74d3018f-4e23-4687-8bf4-7fb403f479f7","gmt_create":"2026-04-23T20:35:46.980653+08:00","gmt_modified":"2026-04-23T20:35:46.980653+08:00"},{"id":1076,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"a26ee01cf41da3b956e1650448c156fa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/requirements.txt","gmt_create":"2026-04-23T21:00:59.656249+08:00","gmt_modified":"2026-04-23T21:00:59.656249+08:00"},{"id":1077,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"aaf5bce6be82d2f947bfa5c1806de452","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/package.json","gmt_create":"2026-04-23T21:00:59.656613+08:00","gmt_modified":"2026-04-23T21:00:59.656613+08:00"},{"id":1078,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T21:00:59.656928+08:00","gmt_modified":"2026-04-23T21:00:59.656928+08:00"},{"id":1079,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"e9b52adbec3c07cf021e488dd3f99ab4","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/Dockerfile","gmt_create":"2026-04-23T21:00:59.657229+08:00","gmt_modified":"2026-04-23T21:00:59.657229+08:00"},{"id":1080,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"5e414f2ef9b69e55e00ab15f85b9291a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/Dockerfile","gmt_create":"2026-04-23T21:00:59.657778+08:00","gmt_modified":"2026-04-23T21:00:59.657779+08:00"},{"id":1081,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"fc6242433ae9506bcc0bf4cb0dce1413","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: docker-compose.yml","gmt_create":"2026-04-23T21:00:59.658783+08:00","gmt_modified":"2026-04-23T21:00:59.658783+08:00"},{"id":1082,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/alembic.ini","gmt_create":"2026-04-23T21:00:59.659121+08:00","gmt_modified":"2026-04-23T21:00:59.659121+08:00"},{"id":1083,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T21:00:59.659433+08:00","gmt_modified":"2026-04-23T21:00:59.659433+08:00"},{"id":1084,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"fb8af100a06778e1fbdac4790a3ed0a9","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/tsconfig.json","gmt_create":"2026-04-23T21:00:59.659973+08:00","gmt_modified":"2026-04-23T21:00:59.659973+08:00"},{"id":1085,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"01056dad8851d3e9bd532eb4cab33792","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/tailwind.config.ts","gmt_create":"2026-04-23T21:00:59.660739+08:00","gmt_modified":"2026-04-23T21:00:59.660739+08:00"},{"id":1086,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"4d9b59c294a0aac5e300b3de715eb226","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: frontend/.eslintrc.json","gmt_create":"2026-04-23T21:00:59.661096+08:00","gmt_modified":"2026-04-23T21:00:59.661097+08:00"},{"id":1087,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"0ef1efea889dba3e1f299626df479571","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/conftest.py","gmt_create":"2026-04-23T21:00:59.661386+08:00","gmt_modified":"2026-04-23T21:00:59.661386+08:00"},{"id":1088,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"93022c8938ce318f167277cfa65c29a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/auth.py","gmt_create":"2026-04-23T21:00:59.661691+08:00","gmt_modified":"2026-04-23T21:00:59.661691+08:00"},{"id":1089,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"e0c0ca66b8b81cf66e078a7ab162c07f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/schemas/auth.py","gmt_create":"2026-04-23T21:00:59.661989+08:00","gmt_modified":"2026-04-23T21:00:59.661989+08:00"},{"id":1090,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"c59f8c276697a070dffc581fe94d809c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/models/user.py","gmt_create":"2026-04-23T21:00:59.662317+08:00","gmt_modified":"2026-04-23T21:00:59.662317+08:00"},{"id":1091,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"48a560c49d2b21da327c036ec2934b96","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: README.md","gmt_create":"2026-04-23T21:00:59.662608+08:00","gmt_modified":"2026-04-23T21:00:59.662608+08:00"},{"id":1092,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"48d22eaee09e364a293ad6c4750f5c5a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: docker-compose.yml#1-71","gmt_create":"2026-04-23T21:00:59.663719+08:00","gmt_modified":"2026-04-23T21:00:59.663719+08:00"},{"id":1093,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"01a0c4b40819965823b56e9da858c024","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/Dockerfile#1-15","gmt_create":"2026-04-23T21:00:59.66424+08:00","gmt_modified":"2026-04-23T21:00:59.66424+08:00"},{"id":1094,"source_id":"5e414f2ef9b69e55e00ab15f85b9291a","target_id":"01a0c4b40819965823b56e9da858c024","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-15","gmt_create":"2026-04-23T21:00:59.664546+08:00","gmt_modified":"2026-04-23T21:00:59.664546+08:00"},{"id":1095,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"412695e5de2014514a8f62f98c573656","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/Dockerfile#1-41","gmt_create":"2026-04-23T21:00:59.66492+08:00","gmt_modified":"2026-04-23T21:00:59.66492+08:00"},{"id":1096,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"71a37a516437e94fd82a87efc70a3f16","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/package.json#1-40","gmt_create":"2026-04-23T21:00:59.665702+08:00","gmt_modified":"2026-04-23T21:00:59.665702+08:00"},{"id":1097,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"7289a3568c137c8a671fc8c963bb8d28","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/requirements.txt#1-35","gmt_create":"2026-04-23T21:00:59.688277+08:00","gmt_modified":"2026-04-23T21:00:59.688278+08:00"},{"id":1098,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"c2747ca16b879bca0f68955534c3c4fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-48","gmt_create":"2026-04-23T21:00:59.689553+08:00","gmt_modified":"2026-04-23T21:00:59.689553+08:00"},{"id":1099,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"84fbed7d35f7752e2117a74fcaf5f0e9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-17","gmt_create":"2026-04-23T21:00:59.690337+08:00","gmt_modified":"2026-04-23T21:00:59.690337+08:00"},{"id":1100,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"13f6ca76349ef86ae756bb519f122bc5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic.ini#1-150","gmt_create":"2026-04-23T21:00:59.691229+08:00","gmt_modified":"2026-04-23T21:00:59.691229+08:00"},{"id":1101,"source_id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","target_id":"13f6ca76349ef86ae756bb519f122bc5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-150","gmt_create":"2026-04-23T21:00:59.691641+08:00","gmt_modified":"2026-04-23T21:00:59.691641+08:00"},{"id":1102,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"74abd6612105c29b67178fa9dbd04b61","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/tsconfig.json#1-27","gmt_create":"2026-04-23T21:00:59.696048+08:00","gmt_modified":"2026-04-23T21:00:59.696048+08:00"},{"id":1103,"source_id":"fb8af100a06778e1fbdac4790a3ed0a9","target_id":"74abd6612105c29b67178fa9dbd04b61","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-27","gmt_create":"2026-04-23T21:00:59.696535+08:00","gmt_modified":"2026-04-23T21:00:59.696535+08:00"},{"id":1104,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"5bdaabf085a7c3eb6e87c5ad7479e25d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/.eslintrc.json#1-4","gmt_create":"2026-04-23T21:00:59.697248+08:00","gmt_modified":"2026-04-23T21:00:59.697248+08:00"},{"id":1105,"source_id":"4d9b59c294a0aac5e300b3de715eb226","target_id":"5bdaabf085a7c3eb6e87c5ad7479e25d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-4","gmt_create":"2026-04-23T21:00:59.697778+08:00","gmt_modified":"2026-04-23T21:00:59.697778+08:00"},{"id":1106,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"89d70e5f89be23a229e3ee59982b8e6e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/tailwind.config.ts#1-57","gmt_create":"2026-04-23T21:00:59.69854+08:00","gmt_modified":"2026-04-23T21:00:59.69854+08:00"},{"id":1107,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"9482f4f6279a4f636b77e69b8273b996","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic.ini#86-114","gmt_create":"2026-04-23T21:00:59.700127+08:00","gmt_modified":"2026-04-23T21:00:59.700127+08:00"},{"id":1108,"source_id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","target_id":"9482f4f6279a4f636b77e69b8273b996","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 86-114","gmt_create":"2026-04-23T21:00:59.700939+08:00","gmt_modified":"2026-04-23T21:00:59.70094+08:00"},{"id":1109,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"397b266f19a1addebdf6c32db71ae77f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/conftest.py#1-71","gmt_create":"2026-04-23T21:00:59.70244+08:00","gmt_modified":"2026-04-23T21:00:59.70244+08:00"},{"id":1110,"source_id":"0ef1efea889dba3e1f299626df479571","target_id":"397b266f19a1addebdf6c32db71ae77f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-71","gmt_create":"2026-04-23T21:00:59.703412+08:00","gmt_modified":"2026-04-23T21:00:59.703413+08:00"},{"id":1111,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"b55a164add5a8fec2ef0e489f7234829","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#24-47","gmt_create":"2026-04-23T21:00:59.707909+08:00","gmt_modified":"2026-04-23T21:00:59.707909+08:00"},{"id":1112,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"eb603ec2611957de67af00756f4b1efa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#7-13","gmt_create":"2026-04-23T21:00:59.708942+08:00","gmt_modified":"2026-04-23T21:00:59.708942+08:00"},{"id":1113,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"eb603ec2611957de67af00756f4b1efa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-13","gmt_create":"2026-04-23T21:00:59.713128+08:00","gmt_modified":"2026-04-23T21:00:59.713128+08:00"},{"id":1114,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"c25b39830f3b7734da975acc7f214666","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/Dockerfile#31-33","gmt_create":"2026-04-23T21:00:59.714181+08:00","gmt_modified":"2026-04-23T21:00:59.714181+08:00"},{"id":1115,"source_id":"e9b52adbec3c07cf021e488dd3f99ab4","target_id":"c25b39830f3b7734da975acc7f214666","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-33","gmt_create":"2026-04-23T21:00:59.71645+08:00","gmt_modified":"2026-04-23T21:00:59.71645+08:00"},{"id":1116,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"4c9d362ecce8e796e6f14850def049b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: docker-compose.yml#4-20","gmt_create":"2026-04-23T21:00:59.717301+08:00","gmt_modified":"2026-04-23T21:00:59.717301+08:00"},{"id":1117,"source_id":"fc6242433ae9506bcc0bf4cb0dce1413","target_id":"4c9d362ecce8e796e6f14850def049b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-20","gmt_create":"2026-04-23T21:00:59.718148+08:00","gmt_modified":"2026-04-23T21:00:59.718148+08:00"},{"id":1118,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"d5827be2cfbe41c8177660ae877e93a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: docker-compose.yml#22-34","gmt_create":"2026-04-23T21:00:59.719092+08:00","gmt_modified":"2026-04-23T21:00:59.719092+08:00"},{"id":1119,"source_id":"fc6242433ae9506bcc0bf4cb0dce1413","target_id":"d5827be2cfbe41c8177660ae877e93a4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 22-34","gmt_create":"2026-04-23T21:00:59.719965+08:00","gmt_modified":"2026-04-23T21:00:59.719965+08:00"},{"id":1120,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"03a65cdcfc173217d12ad8a417f8f033","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#13-21","gmt_create":"2026-04-23T21:00:59.720372+08:00","gmt_modified":"2026-04-23T21:00:59.720372+08:00"},{"id":1121,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"03a65cdcfc173217d12ad8a417f8f033","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-21","gmt_create":"2026-04-23T21:00:59.721352+08:00","gmt_modified":"2026-04-23T21:00:59.721353+08:00"},{"id":1122,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"6286d4be455dc058c8be2ee4e0d1175a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#38-42","gmt_create":"2026-04-23T21:00:59.722016+08:00","gmt_modified":"2026-04-23T21:00:59.722016+08:00"},{"id":1123,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"3365fa8db33d43bab1d0a614e8af3a70","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#45-47","gmt_create":"2026-04-23T21:00:59.722511+08:00","gmt_modified":"2026-04-23T21:00:59.722511+08:00"},{"id":1124,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"3365fa8db33d43bab1d0a614e8af3a70","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 45-47","gmt_create":"2026-04-23T21:00:59.724292+08:00","gmt_modified":"2026-04-23T21:00:59.724292+08:00"},{"id":1125,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"4aad38dfc00a0877bd965c3d0b3c280c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/auth.py#7-34","gmt_create":"2026-04-23T21:00:59.725223+08:00","gmt_modified":"2026-04-23T21:00:59.725223+08:00"},{"id":1126,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"56e46969bdb790a5e8f333184b878d6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#11-41","gmt_create":"2026-04-23T21:00:59.725972+08:00","gmt_modified":"2026-04-23T21:00:59.725972+08:00"},{"id":1127,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"f66d9907b467b110c638bd527efd95c5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#1-43","gmt_create":"2026-04-23T21:00:59.727037+08:00","gmt_modified":"2026-04-23T21:00:59.727038+08:00"},{"id":1128,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"6f637c2b0796ec533aafb3b865c11cf0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/schemas/auth.py#1-34","gmt_create":"2026-04-23T21:00:59.728108+08:00","gmt_modified":"2026-04-23T21:00:59.728108+08:00"},{"id":1129,"source_id":"e0c0ca66b8b81cf66e078a7ab162c07f","target_id":"6f637c2b0796ec533aafb3b865c11cf0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-34","gmt_create":"2026-04-23T21:00:59.728891+08:00","gmt_modified":"2026-04-23T21:00:59.728891+08:00"},{"id":1130,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"136f172c732d0cc130532a4f0df475a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/models/user.py#1-41","gmt_create":"2026-04-23T21:00:59.729618+08:00","gmt_modified":"2026-04-23T21:00:59.729618+08:00"},{"id":1131,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"a698e13bfada239280fc9354ff9e2331","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#7-8","gmt_create":"2026-04-23T21:00:59.731437+08:00","gmt_modified":"2026-04-23T21:00:59.731438+08:00"},{"id":1132,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"a698e13bfada239280fc9354ff9e2331","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 7-8","gmt_create":"2026-04-23T21:00:59.731927+08:00","gmt_modified":"2026-04-23T21:00:59.731927+08:00"},{"id":1133,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"37bbab6e4f16db7eac6eee9d05e80e46","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: README.md#1-3","gmt_create":"2026-04-23T21:00:59.737212+08:00","gmt_modified":"2026-04-23T21:00:59.737212+08:00"},{"id":1134,"source_id":"48a560c49d2b21da327c036ec2934b96","target_id":"37bbab6e4f16db7eac6eee9d05e80e46","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-3","gmt_create":"2026-04-23T21:00:59.737807+08:00","gmt_modified":"2026-04-23T21:00:59.737807+08:00"},{"id":1135,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"63ecbf5e72a0354028b84eb531a58977","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/package.json#11-38","gmt_create":"2026-04-23T21:00:59.738706+08:00","gmt_modified":"2026-04-23T21:00:59.738706+08:00"},{"id":1136,"source_id":"aaf5bce6be82d2f947bfa5c1806de452","target_id":"63ecbf5e72a0354028b84eb531a58977","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-38","gmt_create":"2026-04-23T21:00:59.738981+08:00","gmt_modified":"2026-04-23T21:00:59.738981+08:00"},{"id":1137,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"bf363deac5ef38c8dc80c73b862e730b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: docker-compose.yml#4-34","gmt_create":"2026-04-23T21:00:59.740313+08:00","gmt_modified":"2026-04-23T21:00:59.740313+08:00"},{"id":1138,"source_id":"fc6242433ae9506bcc0bf4cb0dce1413","target_id":"bf363deac5ef38c8dc80c73b862e730b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-34","gmt_create":"2026-04-23T21:00:59.740555+08:00","gmt_modified":"2026-04-23T21:00:59.740555+08:00"},{"id":1139,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"c6e94075e5f689bfa2fe16f8cf965203","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/conftest.py#19-50","gmt_create":"2026-04-23T21:00:59.741293+08:00","gmt_modified":"2026-04-23T21:00:59.741294+08:00"},{"id":1140,"source_id":"0ef1efea889dba3e1f299626df479571","target_id":"c6e94075e5f689bfa2fe16f8cf965203","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-50","gmt_create":"2026-04-23T21:00:59.742478+08:00","gmt_modified":"2026-04-23T21:00:59.742478+08:00"},{"id":1141,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"1a78f5574add6d07a1d7c947dba3f23d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/alembic.ini#115-150","gmt_create":"2026-04-23T21:00:59.743043+08:00","gmt_modified":"2026-04-23T21:00:59.743043+08:00"},{"id":1142,"source_id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","target_id":"1a78f5574add6d07a1d7c947dba3f23d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 115-150","gmt_create":"2026-04-23T21:00:59.743435+08:00","gmt_modified":"2026-04-23T21:00:59.743435+08:00"},{"id":1143,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"f6810849c947471a4b45d7ca01ec8c5f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: frontend/tailwind.config.ts#5-9","gmt_create":"2026-04-23T21:00:59.744058+08:00","gmt_modified":"2026-04-23T21:00:59.744059+08:00"},{"id":1144,"source_id":"01056dad8851d3e9bd532eb4cab33792","target_id":"f6810849c947471a4b45d7ca01ec8c5f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 5-9","gmt_create":"2026-04-23T21:00:59.744873+08:00","gmt_modified":"2026-04-23T21:00:59.744873+08:00"},{"id":1145,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"9f6d9941f3b93e29d714bfec7e83434c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#30-36","gmt_create":"2026-04-23T21:00:59.745431+08:00","gmt_modified":"2026-04-23T21:00:59.745431+08:00"},{"id":1146,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"9f6d9941f3b93e29d714bfec7e83434c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-36","gmt_create":"2026-04-23T21:00:59.745747+08:00","gmt_modified":"2026-04-23T21:00:59.745747+08:00"},{"id":1147,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"669d67125dcddb0756f4ff50a43512c6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#9-13","gmt_create":"2026-04-23T21:00:59.746227+08:00","gmt_modified":"2026-04-23T21:00:59.746227+08:00"},{"id":1148,"source_id":"9ff19022ef915615911280e3c49ed44b","target_id":"669d67125dcddb0756f4ff50a43512c6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-13","gmt_create":"2026-04-23T21:00:59.746456+08:00","gmt_modified":"2026-04-23T21:00:59.746456+08:00"},{"id":1149,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"0ef1efea889dba3e1f299626df479571","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/conftest.py","gmt_create":"2026-04-23T21:02:44.176751+08:00","gmt_modified":"2026-04-23T21:02:44.176752+08:00"},{"id":1150,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"389d631bc6c7111ba411b0b79fca455e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_auth.py","gmt_create":"2026-04-23T21:02:44.178412+08:00","gmt_modified":"2026-04-23T21:02:44.178412+08:00"},{"id":1151,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"80a0429cc47931de27ddb17a62b8dd9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_business_flow.py","gmt_create":"2026-04-23T21:02:44.178822+08:00","gmt_modified":"2026-04-23T21:02:44.178822+08:00"},{"id":1152,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"b07a4fb9cecbbd66a6910ccbc7651f19","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_citation_engine.py","gmt_create":"2026-04-23T21:02:44.179239+08:00","gmt_modified":"2026-04-23T21:02:44.179239+08:00"},{"id":1153,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"42ff5383133d176cec9eb88682483be3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_citations.py","gmt_create":"2026-04-23T21:02:44.180317+08:00","gmt_modified":"2026-04-23T21:02:44.180317+08:00"},{"id":1154,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"0613e76b9679be7f998fb8fd8056e686","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_queries.py","gmt_create":"2026-04-23T21:02:44.181814+08:00","gmt_modified":"2026-04-23T21:02:44.181814+08:00"},{"id":1155,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"b2f0d46a31a5441594f2e777365fc156","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: tests/test_scheduler.py","gmt_create":"2026-04-23T21:02:44.182497+08:00","gmt_modified":"2026-04-23T21:02:44.182497+08:00"},{"id":1156,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9228ff67d4c757a85d9421b71f4b29f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/main.py","gmt_create":"2026-04-23T21:02:44.183181+08:00","gmt_modified":"2026-04-23T21:02:44.183181+08:00"},{"id":1157,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9d08667997a868fc07c9b4e328e44224","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/deps.py","gmt_create":"2026-04-23T21:02:44.18439+08:00","gmt_modified":"2026-04-23T21:02:44.184391+08:00"},{"id":1158,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"4d2f3847b7c10634733118b70a1aea0b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/services/auth.py","gmt_create":"2026-04-23T21:02:44.185381+08:00","gmt_modified":"2026-04-23T21:02:44.185381+08:00"},{"id":1159,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"74040de652d5e57f548bb5c4adc3e1a0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/citation_engine.py","gmt_create":"2026-04-23T21:02:44.186205+08:00","gmt_modified":"2026-04-23T21:02:44.186205+08:00"},{"id":1160,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"5cbb1e3f112aeba62a14b0b8999fc0f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/workers/scheduler.py","gmt_create":"2026-04-23T21:02:44.186821+08:00","gmt_modified":"2026-04-23T21:02:44.186821+08:00"},{"id":1161,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"93022c8938ce318f167277cfa65c29a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/auth.py","gmt_create":"2026-04-23T21:02:44.187337+08:00","gmt_modified":"2026-04-23T21:02:44.187337+08:00"},{"id":1162,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"7538ffe4902ab6041adb28b19844962a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/citations.py","gmt_create":"2026-04-23T21:02:44.187931+08:00","gmt_modified":"2026-04-23T21:02:44.187931+08:00"},{"id":1163,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"6b3d903205941aa9391dd90016e1102c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/api/queries.py","gmt_create":"2026-04-23T21:02:44.189534+08:00","gmt_modified":"2026-04-23T21:02:44.189534+08:00"},{"id":1164,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"b0c428683c8a3e6922d90ca0d8c2736d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/database.py","gmt_create":"2026-04-23T21:02:44.190082+08:00","gmt_modified":"2026-04-23T21:02:44.190082+08:00"},{"id":1165,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9ff19022ef915615911280e3c49ed44b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: backend/app/config.py","gmt_create":"2026-04-23T21:02:44.191061+08:00","gmt_modified":"2026-04-23T21:02:44.191061+08:00"},{"id":1166,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"290df8332b3d104e5ea8d71dc39315b5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/conftest.py#1-123","gmt_create":"2026-04-23T21:02:44.191818+08:00","gmt_modified":"2026-04-23T21:02:44.191818+08:00"},{"id":1167,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"85792f0b1e34b5b48b0300aa606ed6e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#1-56","gmt_create":"2026-04-23T21:02:44.193519+08:00","gmt_modified":"2026-04-23T21:02:44.193519+08:00"},{"id":1168,"source_id":"9228ff67d4c757a85d9421b71f4b29f5","target_id":"85792f0b1e34b5b48b0300aa606ed6e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-56","gmt_create":"2026-04-23T21:02:44.193893+08:00","gmt_modified":"2026-04-23T21:02:44.193893+08:00"},{"id":1169,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"76e6c0abb49fec57cac4892837a143c9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/deps.py#1-43","gmt_create":"2026-04-23T21:02:44.19465+08:00","gmt_modified":"2026-04-23T21:02:44.19465+08:00"},{"id":1170,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"f66d9907b467b110c638bd527efd95c5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#1-43","gmt_create":"2026-04-23T21:02:44.196035+08:00","gmt_modified":"2026-04-23T21:02:44.196035+08:00"},{"id":1171,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"10d1e37bdc9f353c189b7a2fe79dc85e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#1-86","gmt_create":"2026-04-23T21:02:44.196664+08:00","gmt_modified":"2026-04-23T21:02:44.196664+08:00"},{"id":1172,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"cbd0101fa84d957bcb1baaa623c6b31c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#1-78","gmt_create":"2026-04-23T21:02:44.197331+08:00","gmt_modified":"2026-04-23T21:02:44.197331+08:00"},{"id":1173,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"116584ea9162c1bc05911f39f9ef82b6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#1-309","gmt_create":"2026-04-23T21:02:44.198546+08:00","gmt_modified":"2026-04-23T21:02:44.198546+08:00"},{"id":1174,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9630036e63fc15cb81b202cf79671aab","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#1-182","gmt_create":"2026-04-23T21:02:44.201418+08:00","gmt_modified":"2026-04-23T21:02:44.201418+08:00"},{"id":1175,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9bfc041fe426da2eb78353827e8d9163","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#1-29","gmt_create":"2026-04-23T21:02:44.204845+08:00","gmt_modified":"2026-04-23T21:02:44.204845+08:00"},{"id":1176,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"ea655c6d147bc98beb42955d437260cc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/config.py#1-23","gmt_create":"2026-04-23T21:02:44.206431+08:00","gmt_modified":"2026-04-23T21:02:44.206431+08:00"},{"id":1177,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"5ddf0c8d7b38e4f6126a5d85da1dfeda","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/conftest.py#19-123","gmt_create":"2026-04-23T21:02:44.209024+08:00","gmt_modified":"2026-04-23T21:02:44.209024+08:00"},{"id":1178,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"9df233ef1be4b95068ed91bf01083ae7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/conftest.py#117-123","gmt_create":"2026-04-23T21:02:44.210394+08:00","gmt_modified":"2026-04-23T21:02:44.210394+08:00"},{"id":1179,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"6286d4be455dc058c8be2ee4e0d1175a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/main.py#38-42","gmt_create":"2026-04-23T21:02:44.211434+08:00","gmt_modified":"2026-04-23T21:02:44.211434+08:00"},{"id":1180,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"069243fafe60a85cf16a0ca40fa07180","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/deps.py#16-43","gmt_create":"2026-04-23T21:02:44.21293+08:00","gmt_modified":"2026-04-23T21:02:44.21293+08:00"},{"id":1181,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"d5a1fb0bd23ce9240fbf79529ef94a45","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/auth.py#13-43","gmt_create":"2026-04-23T21:02:44.214312+08:00","gmt_modified":"2026-04-23T21:02:44.214312+08:00"},{"id":1182,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"fe70b1fef9f36e73d26d84987e927c7a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/queries.py#15-86","gmt_create":"2026-04-23T21:02:44.214737+08:00","gmt_modified":"2026-04-23T21:02:44.214737+08:00"},{"id":1183,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"735aef72b4fe6ca4f407e69b7dda8b43","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/api/citations.py#25-78","gmt_create":"2026-04-23T21:02:44.215146+08:00","gmt_modified":"2026-04-23T21:02:44.215146+08:00"},{"id":1184,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"8128dd67cf376d2cadf7c2d3831c380a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/database.py#23-29","gmt_create":"2026-04-23T21:02:44.215569+08:00","gmt_modified":"2026-04-23T21:02:44.215569+08:00"},{"id":1185,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"1721defc3d6206478d3c0692cc821761","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_auth.py#25-104","gmt_create":"2026-04-23T21:02:44.216343+08:00","gmt_modified":"2026-04-23T21:02:44.216343+08:00"},{"id":1186,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"753a437d837246ead62b0e16c6331284","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/auth.py#37-69","gmt_create":"2026-04-23T21:02:44.217942+08:00","gmt_modified":"2026-04-23T21:02:44.217942+08:00"},{"id":1187,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"d820e2daf2ea133a7aa17cdc475e44a4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_auth.py#1-104","gmt_create":"2026-04-23T21:02:44.218781+08:00","gmt_modified":"2026-04-23T21:02:44.218781+08:00"},{"id":1188,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"1a439c5fed6cfd188c646e1614d56371","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/services/auth.py#1-69","gmt_create":"2026-04-23T21:02:44.219529+08:00","gmt_modified":"2026-04-23T21:02:44.219529+08:00"},{"id":1189,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"b624be78e3bffd876e403cff2557b088","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#19-120","gmt_create":"2026-04-23T21:02:44.220324+08:00","gmt_modified":"2026-04-23T21:02:44.220324+08:00"},{"id":1190,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"5c67e2f70283956b2d29a3c1443eb514","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#122-146","gmt_create":"2026-04-23T21:02:44.220747+08:00","gmt_modified":"2026-04-23T21:02:44.220748+08:00"},{"id":1191,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"309607c54b12a6340edc086ffb4737c9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/citation_engine.py#148-309","gmt_create":"2026-04-23T21:02:44.221252+08:00","gmt_modified":"2026-04-23T21:02:44.221252+08:00"},{"id":1192,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"a57acd9da5287c915ac823784a409292","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citation_engine.py#1-127","gmt_create":"2026-04-23T21:02:44.221767+08:00","gmt_modified":"2026-04-23T21:02:44.221767+08:00"},{"id":1193,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"2a4f741f31f62dce8ad63be2e831f520","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citations.py#23-93","gmt_create":"2026-04-23T21:02:44.222579+08:00","gmt_modified":"2026-04-23T21:02:44.222579+08:00"},{"id":1194,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"692ac240965eff7e66945aa3c4c270f7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_citations.py#1-93","gmt_create":"2026-04-23T21:02:44.22325+08:00","gmt_modified":"2026-04-23T21:02:44.22325+08:00"},{"id":1195,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"32a0a52faca2d8d488e49c63c86075b1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_queries.py#29-154","gmt_create":"2026-04-23T21:02:44.224171+08:00","gmt_modified":"2026-04-23T21:02:44.224171+08:00"},{"id":1196,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"7804331f5f8c1ba5a3b6d9c1ae1c78c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_queries.py#1-154","gmt_create":"2026-04-23T21:02:44.224941+08:00","gmt_modified":"2026-04-23T21:02:44.224941+08:00"},{"id":1197,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"3a6e1b738967bf8cc651e57f48e2e126","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_business_flow.py#83-126","gmt_create":"2026-04-23T21:02:44.225635+08:00","gmt_modified":"2026-04-23T21:02:44.225635+08:00"},{"id":1198,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"b1afd377757f1d0e9bdf87edfff3ad88","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_business_flow.py#131-186","gmt_create":"2026-04-23T21:02:44.226111+08:00","gmt_modified":"2026-04-23T21:02:44.226111+08:00"},{"id":1199,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"de05ec7eed033e432991e5a88e1b5a06","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_business_flow.py#192-222","gmt_create":"2026-04-23T21:02:44.22649+08:00","gmt_modified":"2026-04-23T21:02:44.22649+08:00"},{"id":1200,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"7fd61a451248b6b129299d6246f711c7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_business_flow.py#228-296","gmt_create":"2026-04-23T21:02:44.226892+08:00","gmt_modified":"2026-04-23T21:02:44.226892+08:00"},{"id":1201,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"53eedffff456a566fa7b0cecc7169f56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_business_flow.py#1-441","gmt_create":"2026-04-23T21:02:44.227356+08:00","gmt_modified":"2026-04-23T21:02:44.227356+08:00"},{"id":1202,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"906f7a8288e38d4244211f3f538fe7b6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: backend/app/workers/scheduler.py#27-182","gmt_create":"2026-04-23T21:02:44.227899+08:00","gmt_modified":"2026-04-23T21:02:44.227899+08:00"},{"id":1203,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"1647ee2066de2ae59ba8cf88e33c5e02","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: tests/test_scheduler.py#1-123","gmt_create":"2026-04-23T21:02:44.228365+08:00","gmt_modified":"2026-04-23T21:02:44.228365+08:00"},{"id":1204,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"13c568d2-dfa7-4d1b-81c0-dfef247cbb67","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 643984fc-5a57-498b-8f25-68cc318d9d82 -\u003e 13c568d2-dfa7-4d1b-81c0-dfef247cbb67","gmt_create":"2026-04-23T21:02:45.18694+08:00","gmt_modified":"2026-04-23T21:02:45.18694+08:00"},{"id":1205,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"222a9371-45c1-4e0d-b1da-e8ada1c501c2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 643984fc-5a57-498b-8f25-68cc318d9d82 -\u003e 222a9371-45c1-4e0d-b1da-e8ada1c501c2","gmt_create":"2026-04-23T21:02:45.187426+08:00","gmt_modified":"2026-04-23T21:02:45.187426+08:00"},{"id":1206,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"979be617-a83d-4db9-b73e-38581348f8c1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 643984fc-5a57-498b-8f25-68cc318d9d82 -\u003e 979be617-a83d-4db9-b73e-38581348f8c1","gmt_create":"2026-04-23T21:02:45.187832+08:00","gmt_modified":"2026-04-23T21:02:45.187832+08:00"},{"id":1207,"source_id":"643984fc-5a57-498b-8f25-68cc318d9d82","target_id":"422c46b3-e69c-4023-a878-411a48ae182f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 643984fc-5a57-498b-8f25-68cc318d9d82 -\u003e 422c46b3-e69c-4023-a878-411a48ae182f","gmt_create":"2026-04-23T21:02:45.188275+08:00","gmt_modified":"2026-04-23T21:02:45.188275+08:00"},{"id":1208,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"8150ddbb-7aa9-48d0-9953-2ef55e4bcfd5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b0c36b2b-bb03-4624-933d-c1f6a320b7ca -\u003e 8150ddbb-7aa9-48d0-9953-2ef55e4bcfd5","gmt_create":"2026-04-23T21:02:45.190159+08:00","gmt_modified":"2026-04-23T21:02:45.190159+08:00"},{"id":1209,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"8c17b44f-1586-459b-a83d-c9b961cd2142","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b0c36b2b-bb03-4624-933d-c1f6a320b7ca -\u003e 8c17b44f-1586-459b-a83d-c9b961cd2142","gmt_create":"2026-04-23T21:02:45.191275+08:00","gmt_modified":"2026-04-23T21:02:45.191275+08:00"},{"id":1210,"source_id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","target_id":"05e59a75-d52f-42e1-a924-f6a32f06f2fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b0c36b2b-bb03-4624-933d-c1f6a320b7ca -\u003e 05e59a75-d52f-42e1-a924-f6a32f06f2fe","gmt_create":"2026-04-23T21:02:45.191685+08:00","gmt_modified":"2026-04-23T21:02:45.191685+08:00"}],"source_files":[{"id":"12e2c3d7b9a92dc44a6ee29b85e10df6","path":"frontend/app/layout.tsx","filename":"layout.tsx","gmt_create":"2026-04-23T15:19:43.754128+08:00","gmt_modified":"2026-04-23T15:19:43.754129+08:00"},{"id":"2a1c745c7b3fb7f600596be3d979bba1","path":"frontend/app/(dashboard","filename":"(dashboard","gmt_create":"2026-04-23T15:19:43.756075+08:00","gmt_modified":"2026-04-23T15:19:43.756075+08:00"},{"id":"eca13a610badfc5ffc6210827fb96991","path":"frontend/components/layout/header.tsx","filename":"header.tsx","gmt_create":"2026-04-23T15:19:43.756308+08:00","gmt_modified":"2026-04-23T15:19:43.756308+08:00"},{"id":"18a0651d895fba9bb4e0c0229459efdc","path":"frontend/components/layout/sidebar.tsx","filename":"sidebar.tsx","gmt_create":"2026-04-23T15:19:43.756496+08:00","gmt_modified":"2026-04-23T15:19:43.756496+08:00"},{"id":"5d7886d0dc99f81073a578b8aefdd375","path":"frontend/lib/api.ts","filename":"api.ts","gmt_create":"2026-04-23T15:19:43.756648+08:00","gmt_modified":"2026-04-23T15:19:43.756648+08:00"},{"id":"0c0b0f4e2cf44facd9d5b57de0d0bf0c","path":"frontend/components/ui/table.tsx","filename":"table.tsx","gmt_create":"2026-04-23T15:19:43.758184+08:00","gmt_modified":"2026-04-23T15:19:43.758184+08:00"},{"id":"108b0c4b4dcfb6aa39a5eb138225c148","path":"frontend/components/ui/dialog.tsx","filename":"dialog.tsx","gmt_create":"2026-04-23T15:19:43.75905+08:00","gmt_modified":"2026-04-23T15:19:43.75905+08:00"},{"id":"ef72f0c3cedb9fd9a87352fe493053dc","path":"frontend/lib/platforms.ts","filename":"platforms.ts","gmt_create":"2026-04-23T15:19:43.759223+08:00","gmt_modified":"2026-04-23T15:19:43.759223+08:00"},{"id":"f93ae024fe0a2e69698037dff6df205f","path":"frontend/lib/utils.ts","filename":"utils.ts","gmt_create":"2026-04-23T15:19:43.759351+08:00","gmt_modified":"2026-04-23T15:19:43.759351+08:00"},{"id":"d5f2266643d2011c66e86af088ec637f","path":"frontend/components/charts/trend-chart.tsx","filename":"trend-chart.tsx","gmt_create":"2026-04-23T15:19:43.759489+08:00","gmt_modified":"2026-04-23T15:19:43.759489+08:00"},{"id":"f1a7d61831cc0a45ac6220294f15c21d","path":"frontend/components/charts/platform-chart.tsx","filename":"platform-chart.tsx","gmt_create":"2026-04-23T15:19:43.759606+08:00","gmt_modified":"2026-04-23T15:19:43.759606+08:00"},{"id":"9228ff67d4c757a85d9421b71f4b29f5","path":"backend/app/main.py","filename":"main.py","gmt_create":"2026-04-23T15:19:45.5873+08:00","gmt_modified":"2026-04-23T15:19:45.5873+08:00"},{"id":"93022c8938ce318f167277cfa65c29a7","path":"backend/app/api/auth.py","filename":"auth.py","gmt_create":"2026-04-23T15:19:45.587785+08:00","gmt_modified":"2026-04-23T15:19:45.587786+08:00"},{"id":"6b3d903205941aa9391dd90016e1102c","path":"backend/app/api/queries.py","filename":"queries.py","gmt_create":"2026-04-23T15:19:45.588167+08:00","gmt_modified":"2026-04-23T15:19:45.588167+08:00"},{"id":"7538ffe4902ab6041adb28b19844962a","path":"backend/app/api/citations.py","filename":"citations.py","gmt_create":"2026-04-23T15:19:45.588473+08:00","gmt_modified":"2026-04-23T15:19:45.588473+08:00"},{"id":"58901c94d975d87e652a4dc6c8dda656","path":"backend/app/api/reports.py","filename":"reports.py","gmt_create":"2026-04-23T15:19:45.588695+08:00","gmt_modified":"2026-04-23T15:19:45.588695+08:00"},{"id":"9d08667997a868fc07c9b4e328e44224","path":"backend/app/api/deps.py","filename":"deps.py","gmt_create":"2026-04-23T15:19:45.588857+08:00","gmt_modified":"2026-04-23T15:19:45.588857+08:00"},{"id":"e0c0ca66b8b81cf66e078a7ab162c07f","path":"backend/app/schemas/auth.py","filename":"auth.py","gmt_create":"2026-04-23T15:19:45.589011+08:00","gmt_modified":"2026-04-23T15:19:45.589011+08:00"},{"id":"f301b79d833233ce39d350e82a71c938","path":"backend/app/schemas/query.py","filename":"query.py","gmt_create":"2026-04-23T15:19:45.589202+08:00","gmt_modified":"2026-04-23T15:19:45.589202+08:00"},{"id":"1a3336b4af8a39a055e912724338580c","path":"backend/app/schemas/citation.py","filename":"citation.py","gmt_create":"2026-04-23T15:19:45.589399+08:00","gmt_modified":"2026-04-23T15:19:45.589399+08:00"},{"id":"4d2f3847b7c10634733118b70a1aea0b","path":"backend/app/services/auth.py","filename":"auth.py","gmt_create":"2026-04-23T15:19:45.589591+08:00","gmt_modified":"2026-04-23T15:19:45.589591+08:00"},{"id":"88d22de3b2a7419868e8ae19130d860c","path":"backend/app/services/query.py","filename":"query.py","gmt_create":"2026-04-23T15:19:45.589732+08:00","gmt_modified":"2026-04-23T15:19:45.589732+08:00"},{"id":"04e3926c080e795713bff683e7dc9d3e","path":"backend/app/services/citation.py","filename":"citation.py","gmt_create":"2026-04-23T15:19:45.589852+08:00","gmt_modified":"2026-04-23T15:19:45.589852+08:00"},{"id":"9ff19022ef915615911280e3c49ed44b","path":"backend/app/config.py","filename":"config.py","gmt_create":"2026-04-23T15:19:45.589987+08:00","gmt_modified":"2026-04-23T15:19:45.589987+08:00"},{"id":"c59f8c276697a070dffc581fe94d809c","path":"backend/app/models/user.py","filename":"user.py","gmt_create":"2026-04-23T15:19:45.590197+08:00","gmt_modified":"2026-04-23T15:19:45.590198+08:00"},{"id":"b74caccb06844efcdb14d8324cff65c2","path":"backend/app/models/query.py","filename":"query.py","gmt_create":"2026-04-23T15:19:45.590343+08:00","gmt_modified":"2026-04-23T15:19:45.590344+08:00"},{"id":"b4a81ef789630d0af6a8d50859d01bf3","path":"backend/app/models/citation_record.py","filename":"citation_record.py","gmt_create":"2026-04-23T15:19:45.590489+08:00","gmt_modified":"2026-04-23T15:19:45.590489+08:00"},{"id":"069738f21ac2da7349d22683e8c36929","path":"backend/app/models/query_task.py","filename":"query_task.py","gmt_create":"2026-04-23T15:19:45.59062+08:00","gmt_modified":"2026-04-23T15:19:45.59062+08:00"},{"id":"5cbb1e3f112aeba62a14b0b8999fc0f5","path":"backend/app/workers/scheduler.py","filename":"scheduler.py","gmt_create":"2026-04-23T15:20:08.953491+08:00","gmt_modified":"2026-04-23T15:20:08.953491+08:00"},{"id":"74040de652d5e57f548bb5c4adc3e1a0","path":"backend/app/workers/citation_engine.py","filename":"citation_engine.py","gmt_create":"2026-04-23T15:20:08.953836+08:00","gmt_modified":"2026-04-23T15:20:08.953837+08:00"},{"id":"8f973791233c698b3e64a4fb28a93d4b","path":"backend/app/workers/platforms/kimi.py","filename":"kimi.py","gmt_create":"2026-04-23T15:20:08.954103+08:00","gmt_modified":"2026-04-23T15:20:08.954103+08:00"},{"id":"f642fc1c2f34e15572d9d98aa6c18813","path":"backend/app/workers/platforms/wenxin.py","filename":"wenxin.py","gmt_create":"2026-04-23T15:20:08.954273+08:00","gmt_modified":"2026-04-23T15:20:08.954273+08:00"},{"id":"a16cf42e9559523c4f96ca4c79f9488d","path":"backend/app/workers/platforms/base.py","filename":"base.py","gmt_create":"2026-04-23T15:20:08.954406+08:00","gmt_modified":"2026-04-23T15:20:08.954406+08:00"},{"id":"b0c428683c8a3e6922d90ca0d8c2736d","path":"backend/app/database.py","filename":"database.py","gmt_create":"2026-04-23T15:20:08.955702+08:00","gmt_modified":"2026-04-23T15:20:08.955702+08:00"},{"id":"b2f0d46a31a5441594f2e777365fc156","path":"tests/test_scheduler.py","filename":"test_scheduler.py","gmt_create":"2026-04-23T15:20:08.95621+08:00","gmt_modified":"2026-04-23T15:20:08.95621+08:00"},{"id":"0613e76b9679be7f998fb8fd8056e686","path":"tests/test_queries.py","filename":"test_queries.py","gmt_create":"2026-04-23T15:20:08.956336+08:00","gmt_modified":"2026-04-23T15:20:08.956336+08:00"},{"id":"99fe1b288fd41daa86c2dfbab819abf0","path":"backend/app/models/__init__.py","filename":"__init__.py","gmt_create":"2026-04-23T15:21:46.682639+08:00","gmt_modified":"2026-04-23T15:21:46.682639+08:00"},{"id":"bceca00463fe55d3bcafda728f97f723","path":"backend/app/models/subscription.py","filename":"subscription.py","gmt_create":"2026-04-23T15:21:46.684259+08:00","gmt_modified":"2026-04-23T15:21:46.684259+08:00"},{"id":"d4f95fcf50683b5bf6167c7d2a6b126d","path":"backend/alembic/versions/488d0bd5ab01_initial_migration.py","filename":"488d0bd5ab01_initial_migration.py","gmt_create":"2026-04-23T15:21:46.684619+08:00","gmt_modified":"2026-04-23T15:21:46.684619+08:00"},{"id":"0ef1efea889dba3e1f299626df479571","path":"tests/conftest.py","filename":"conftest.py","gmt_create":"2026-04-23T15:22:15.981194+08:00","gmt_modified":"2026-04-23T15:22:15.981194+08:00"},{"id":"389d631bc6c7111ba411b0b79fca455e","path":"tests/test_auth.py","filename":"test_auth.py","gmt_create":"2026-04-23T15:22:15.98141+08:00","gmt_modified":"2026-04-23T15:22:15.98141+08:00"},{"id":"80a0429cc47931de27ddb17a62b8dd9c","path":"tests/test_business_flow.py","filename":"test_business_flow.py","gmt_create":"2026-04-23T15:22:15.981566+08:00","gmt_modified":"2026-04-23T15:22:15.981567+08:00"},{"id":"b07a4fb9cecbbd66a6910ccbc7651f19","path":"tests/test_citation_engine.py","filename":"test_citation_engine.py","gmt_create":"2026-04-23T15:22:15.981715+08:00","gmt_modified":"2026-04-23T15:22:15.981715+08:00"},{"id":"42ff5383133d176cec9eb88682483be3","path":"tests/test_citations.py","filename":"test_citations.py","gmt_create":"2026-04-23T15:22:15.981831+08:00","gmt_modified":"2026-04-23T15:22:15.981831+08:00"},{"id":"aaf5bce6be82d2f947bfa5c1806de452","path":"frontend/package.json","filename":"package.json","gmt_create":"2026-04-23T15:22:23.492837+08:00","gmt_modified":"2026-04-23T15:22:23.492837+08:00"},{"id":"01056dad8851d3e9bd532eb4cab33792","path":"frontend/tailwind.config.ts","filename":"tailwind.config.ts","gmt_create":"2026-04-23T15:22:23.495792+08:00","gmt_modified":"2026-04-23T15:22:23.495792+08:00"},{"id":"ac1acbc54c49ee1de13369f6c6827568","path":"frontend/components/ui/button.tsx","filename":"button.tsx","gmt_create":"2026-04-23T15:22:23.496353+08:00","gmt_modified":"2026-04-23T15:22:23.496353+08:00"},{"id":"0186dc8a89340139a84e1e3c5571a57f","path":"frontend/components/ui/dropdown-menu.tsx","filename":"dropdown-menu.tsx","gmt_create":"2026-04-23T15:22:23.496869+08:00","gmt_modified":"2026-04-23T15:22:23.496869+08:00"},{"id":"3cf787fa77a15b2b1783560c6d83ed21","path":"frontend/components/ui/input.tsx","filename":"input.tsx","gmt_create":"2026-04-23T15:22:23.497127+08:00","gmt_modified":"2026-04-23T15:22:23.497128+08:00"},{"id":"3c56e1c079959bfcc985183805e5874f","path":"frontend/components/ui/select.tsx","filename":"select.tsx","gmt_create":"2026-04-23T15:22:23.497457+08:00","gmt_modified":"2026-04-23T15:22:23.497457+08:00"},{"id":"0d5ef537f7c0b8c390f8b31d7cf47b56","path":"frontend/components/ui/card.tsx","filename":"card.tsx","gmt_create":"2026-04-23T15:22:23.497745+08:00","gmt_modified":"2026-04-23T15:22:23.497745+08:00"},{"id":"51821ca9ec2a1c972f3c9d111e19db8a","path":"frontend/components/ui/badge.tsx","filename":"badge.tsx","gmt_create":"2026-04-23T15:22:23.498034+08:00","gmt_modified":"2026-04-23T15:22:23.498034+08:00"},{"id":"beb87ab5aad9532647e9dbd2db7ef587","path":"frontend/components/ui/tabs.tsx","filename":"tabs.tsx","gmt_create":"2026-04-23T15:22:23.498711+08:00","gmt_modified":"2026-04-23T15:22:23.498711+08:00"},{"id":"792b8e2c16c9ff2095d83b8972313be4","path":"frontend/components/ui/label.tsx","filename":"label.tsx","gmt_create":"2026-04-23T15:22:23.499031+08:00","gmt_modified":"2026-04-23T15:22:23.499031+08:00"},{"id":"546e01c5f73aaf5140eee922f4b9a441","path":"frontend/components/providers.tsx","filename":"providers.tsx","gmt_create":"2026-04-23T15:22:23.499298+08:00","gmt_modified":"2026-04-23T15:22:23.499298+08:00"},{"id":"e68ad5186f1e47610ab3d9f14a794393","path":"backend/app/workers/platforms/tongyi.py","filename":"tongyi.py","gmt_create":"2026-04-23T20:31:36.476814+08:00","gmt_modified":"2026-04-23T20:31:36.476814+08:00"},{"id":"404f6d0765a8c6e77e33b7fc21b377a4","path":"backend/app/workers/platforms/doubao.py","filename":"doubao.py","gmt_create":"2026-04-23T20:31:36.477414+08:00","gmt_modified":"2026-04-23T20:31:36.477414+08:00"},{"id":"303e80519e946904d1cb3ac32cbb0814","path":"backend/app/workers/platforms/qingyan.py","filename":"qingyan.py","gmt_create":"2026-04-23T20:31:36.477731+08:00","gmt_modified":"2026-04-23T20:31:36.477731+08:00"},{"id":"5af7301fe056fc3d10820d820e8ad777","path":"backend/app/workers/platforms/tiangong.py","filename":"tiangong.py","gmt_create":"2026-04-23T20:31:36.477969+08:00","gmt_modified":"2026-04-23T20:31:36.477969+08:00"},{"id":"0e38ad5d2d3daaad08c9302df8805b15","path":"backend/app/workers/platforms/xinghuo.py","filename":"xinghuo.py","gmt_create":"2026-04-23T20:31:36.47825+08:00","gmt_modified":"2026-04-23T20:31:36.47825+08:00"},{"id":"6a63f048c16c60c5d2d57012c810ee0e","path":"backend/app/workers/platforms/search_engine.py","filename":"search_engine.py","gmt_create":"2026-04-23T20:31:36.478564+08:00","gmt_modified":"2026-04-23T20:31:36.478564+08:00"},{"id":"a26ee01cf41da3b956e1650448c156fa","path":"backend/requirements.txt","filename":"requirements.txt","gmt_create":"2026-04-23T20:31:36.48051+08:00","gmt_modified":"2026-04-23T20:31:36.48051+08:00"},{"id":"e9b52adbec3c07cf021e488dd3f99ab4","path":"backend/Dockerfile","filename":"Dockerfile","gmt_create":"2026-04-23T20:31:50.452043+08:00","gmt_modified":"2026-04-23T20:31:50.452043+08:00"},{"id":"4a56ef5fca60bc63480b457cab3832f0","path":"backend/app/workers/platforms/__init__.py","filename":"__init__.py","gmt_create":"2026-04-23T20:35:18.583102+08:00","gmt_modified":"2026-04-23T20:35:18.583102+08:00"},{"id":"36dd0ad3ee6bc75a480ad8a62268e80e","path":"backend/app/workers/models/query.py","filename":"query.py","gmt_create":"2026-04-23T20:35:18.58383+08:00","gmt_modified":"2026-04-23T20:35:18.58383+08:00"},{"id":"a680d4819f5da57fe9fa0e6bc708f380","path":"backend/alembic/env.py","filename":"env.py","gmt_create":"2026-04-23T20:35:45.568869+08:00","gmt_modified":"2026-04-23T20:35:45.56887+08:00"},{"id":"f6e6948dd0cdd3894bd9928b21feb979","path":"backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py","filename":"b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py","gmt_create":"2026-04-23T20:35:45.569946+08:00","gmt_modified":"2026-04-23T20:35:45.569946+08:00"},{"id":"50f2e6bdc4a79e69bd43ea8d6fec67fe","path":"backend/alembic.ini","filename":"alembic.ini","gmt_create":"2026-04-23T20:35:45.570621+08:00","gmt_modified":"2026-04-23T20:35:45.570621+08:00"},{"id":"fc6242433ae9506bcc0bf4cb0dce1413","path":"docker-compose.yml","filename":"docker-compose.yml","gmt_create":"2026-04-23T20:35:45.574312+08:00","gmt_modified":"2026-04-23T20:35:45.574314+08:00"},{"id":"5e414f2ef9b69e55e00ab15f85b9291a","path":"frontend/Dockerfile","filename":"Dockerfile","gmt_create":"2026-04-23T21:00:59.630269+08:00","gmt_modified":"2026-04-23T21:00:59.630269+08:00"},{"id":"fb8af100a06778e1fbdac4790a3ed0a9","path":"frontend/tsconfig.json","filename":"tsconfig.json","gmt_create":"2026-04-23T21:00:59.630887+08:00","gmt_modified":"2026-04-23T21:00:59.630888+08:00"},{"id":"4d9b59c294a0aac5e300b3de715eb226","path":"frontend/.eslintrc.json","filename":".eslintrc.json","gmt_create":"2026-04-23T21:00:59.631396+08:00","gmt_modified":"2026-04-23T21:00:59.631396+08:00"},{"id":"48a560c49d2b21da327c036ec2934b96","path":"README.md","filename":"README.md","gmt_create":"2026-04-23T21:00:59.633061+08:00","gmt_modified":"2026-04-23T21:00:59.633061+08:00"}],"wiki_catalogs":[{"id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"项目概述","description":"project-overview","prompt":"为GEO项目创建全面的项目概述内容。详细介绍GEO平台的核心目标、主要功能特性和技术架构。解释项目作为智能学术查询与引用管理系统的设计理念,包括多AI平台集成、定时查询任务调度、数据可视化展示等核心功能。说明前后端技术栈的选择原因和整体架构设计思路。提供项目背景、应用场景和价值主张。包含系统边界、核心组件关系图和数据流向说明。面向初学者提供概念性理解,同时为经验丰富的开发者提供技术决策的背景信息。","progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/config.py,docker-compose.yml,README.md","gmt_create":"2026-04-22T18:56:47.080895+08:00","gmt_modified":"2026-04-22T18:58:50.329037+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wVx/ob+gHrWfBRFOXtNWHzmTEJrNEttrYXRV2niAmjrnc6VwXmKYktKqbX8suWQzVig0VjADoZYGObEeg0k6UmhPkxkWTv0CFbAx+cDhkRVaksYUcZryJYvMvtyIQASEjZKRRtKwti+2pbfHzXGaF917ir8bLf35/8ERIvyLM91k6J7WrkQWQzCSMouoCq7SDEG2Mf9UPmNoJ04sS8RtxbiiFeHu6NAI8L7L1EfxY3DDdg47NhHU1wH7bOT2u9DuFl4zIbaVNsenyjEzRQZrcsq9OLnl8yWNKJf21GOA6ESfKQqN6mlowI6I1W8qLXaH+z7qnaPWhOyo4mje7g8hCZG4S41ZGWOkatECxYDASI4FIduNeEVW9aCmI7PB7nSnpPSwQE5aC5VqWoMBShuC18DGj8AvqVxfjw6b7bxR8HDUKjzXB/K7KmXdVGCcJNb3tgApQuSTsYxQ2jHsSoUECE/BEAaW7oLRxWD3c3uNNvgrgdfQuFT+k7Ko5zOXJ006KKVxWcThwPsColn6fIwGOPrS7ncbwW0n28B2g2hw91A5Hzpgm/Dy0+YIlPQM8anuTom0Oj0p1Y2g2Nbp2PLaPBGGPUa6bDoCNqzoUs1784Rwjp+aLG05lN7onsW7Z7C9feQ4P5Ry0h8YnKKl/dR4mKs1k+dkOeMPFUpWt/qlFcHAMSoVy+O+Xu+reQzwoCKYlSwgFgjiZzs3p+kL1LWvbxSvArAOemC7uu5lEzWdggi+MLrSVpB7hLalHKGdJv8NlK4SmNaadctIMUQvY+5PZwitnGdyyjjlS7/wScj8Uv3/EZk3ITEUlIvWPJ15U6QBNxHy2DbosENNEgp0lDni/UFPduUos6SlLo5L0WKgfv72BnFY4lZfB3LChbEu2eBhM8AALCKaUIhj7t/oEI+9I9qqfPimBNi6FyH0jllt2yllX04VJRxl32uuWOFcZnm/WuJgw/BbrZCR++fefrA1l6s02TJzhZ0Y5XWJsKulCubVCF9tUQ4UJbnnU1nI5rTahkANjI7mTWIpkPHp+GUXL8Q3UpSwYl2BshG/kyfJIyFu26CIJnX5HtHezPZNWAwBQVebhTaSURWwish62V3jO/gRkcmDJHlE8YC2bAo62/asrgniVM+qniMotIgbt1nopX3ishgnMYYmFqKU8+YXUiE9/z243TcTEzltDGAWj5YN10RF/Mx3dT+62D1cwhO1486VYAZpYZtOjHjPeP2/4TW7FbMhub9iGFZ8FNqneYJyWZBa+udx1oyHzyo3YHrDcFGJPXi9ido7nGq53tKEM64A="},{"id":"7c3e3c0b-5d1f-4d64-99be-668041c6cd9d","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"核心框架配置","description":"core-framework","prompt":"为GEO后端核心框架创建详细的配置文档。深入解释FastAPI应用实例的初始化过程,包括应用名称、版本管理和生命周期管理。详细说明CORS中间件配置、路由注册机制和健康检查端点。文档化配置管理系统的实现,包括环境变量读取、配置验证和默认值设置。解释数据库连接池配置、异步会话管理和连接超时设置。包含应用启动和关闭流程的详细说明,以及资源清理机制。提供配置最佳实践和常见问题解决方案。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/config.py,backend/app/database.py","gmt_create":"2026-04-22T18:57:02.316945+08:00","gmt_modified":"2026-04-22T19:03:21.69307+08:00","raw_data":"WikiEncrypted:luoNp8LvFa7zGThvIT9T4rhp6COPRJpm3tT/kftARqFq4dg1cG/8M10NcCrCelp/LC8SV6McSk0Sx9xEgJV/YmEmjfMmlukALh9v7ZKLxT8XDDYkBCrff2Ia9KfGFRdlfVmmQUGfhQARTeykGZh6O8/4GECBHUYLS0F6NXI7fSS3R+/I5c/HIjI7F17mVNpZDQZcc2HmM4zhdyIinOGyErSf3vIPcfVVobPB4D/wCUvMWxl+jpvktykHTIgH9ze7f4fTCC02xK5vRnt1RlMdAQ3d1Km7OOGjAga30OGvRdp9UtT48gdhzPQH5FEbfzn7K6TnuPzqQRf4GuS2kVTRSUFbSnmj5d5HqHmgx7D9iQYR/XxRRVbv+GeFwINvVa+UX9cnanYU19zazOGWG2rcdDk8jqu5MwAhVZsT28hykyuLfKeTf7xuM6Li86T1mZ18SROCJHe4LXYEaH94K6CHjZLCyEl10xBk02/CkW4aTW29TIgrponrmnrvV6bShQ+ZitR1TcivPsNN5t6TCaHMnlaLlOpznSGNpMyf4S51cRPxl2cwZrqJbrdFxehIoPrUyOvtRvtEsLhpo30456ihrInvbVXgJMwZIcDaKHSu0Bf7ma8y+UCWH61+VBIqW44KzA9zmKcXU9hiiwL+gjwiNcV7JDcgg43Un4qvjEzeJiBRBMGGzc8Oc05dWgRs1K6QUdS1kZTjI/JKiGS8zFYKz0mvQqLwc6/xe1/MDhMyU1QUXSqpcNNU6aFmY7te5kENN2aSPZqigqID+RwvIV8k8JETdmHaxJUzCSrNEpbpUukFuVQKz419athf4kMeQH2fKsLMZABn10WnnmY9HGGqBx+gpNOTU9AiSz1l4b0Ej8XoQcwIn1lqw49qdJ6+PRuuFBv6OcjxgJSMNSQzm4c/eyl7yv6J4vXceT7Ul+ySMAGRnSpDUehmOuw1DT4dV0n05Rcrx5gBjuztOAexxUhLwMUK/v+8qdn/0OcciISCZ/U1GhzhWFYiVKRBfNuNkuRjwmc4zg5Zc97TPRBXYs2q2e0/3cT+Dr7lqeGnXWL3X4iTjTygXMekhDQBjc0NbF6cdDOJcPAUnOg6jDkreBiEkTJ7hZg3J9ho2RYDaHuPvyMlkW4YWTpGRODtXIs4aLG0KFbNr6uOG31hOPZsgnHmoNwcPwRUO4G89Nkl2M6ZTMiNHWtsSwES+gLmCLPunm7R2zQNtdei+K3lzSg0bQgUvg==","layer_level":1},{"id":"bcaa04da-04e3-427f-ba01-847ad657e78a","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"Next.js应用配置","description":"nextjs-app-config","prompt":"创建Next.js 14应用配置的详细文档。说明App Router的页面组织结构,包括路由规则、嵌套路由和页面布局设计。文档化全局样式配置、字体系统和主题定制。解释Tailwind CSS的配置选项、自定义样式和响应式设计原则。说明TypeScript配置、类型定义和开发工具设置。包含性能优化配置、构建优化和生产环境部署设置。提供配置最佳实践和常见问题解决方案。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","progress_status":"completed","dependent_files":"frontend/app/layout.tsx,frontend/app/globals.css,frontend/next.config.mjs,frontend/tailwind.config.ts,frontend/tsconfig.json","gmt_create":"2026-04-22T18:57:04.216045+08:00","gmt_modified":"2026-04-22T19:04:47.361369+08:00","raw_data":"WikiEncrypted:MoQ9U2rERvJfHcC2U9f5yo5PrhAUeAY0OH9kgPk99cOGQSyTenUDM+krr5XcMxqj+FSA7CYnuq8hz8eS8Pvzc8yZuRRHbRPExvPpdrOEr8fRtUXkjnECv8NVvFPloo2fonxY9Q2vmL0x2O1UsV1O6L6tkraG28x1o504hsBitow5XMWkk8uSk+sDbyHo/y9/SBDWpcEOXVqeU4nwD/UU+7N90n5i5T89nz6b4M+31tkvffIuZRigZ+1+IJqlsqFgRt9PNrxL9ZUsD2D/Yvh8EJ0sCr9z7AI+D3z+JYM2kgFT/3ugS/EnEzwByGZk/e2EsOY4D+NkRBas836JX++o61ZH5GPQBXTHnVa8h5B1LAVlbA5zBuJHHY3V2XS4X1cTo9Hj76mg9Ha+jWvX2A9fv4vnscE6cVxnM+WjWnSfN8N7Vtla2YRDrNXZRAL50+PNfhUKpb48d0hKFyzf1Av1T4WBKgaYEo2znphEy99ViuG+oOFS6D5pVQ/w5yoPe5MpZCDk4aNsO/owrJkILcGc3+qHfld4Yd4HtYM6madWmmOvHIIuCy5CPGojBzKDcTTSPP6ZjuY1EC/RG3lBkYCQtQj889+80GZpaSbrqWjTmMI1DX1KLNXJkoI3dFk5Tx+w4TqiKICJ8q9KJhOX+mEVk+ECXqrc2Qz787D34zY5UlwsaA44ziBvWDZuwfPWmtelAq4KjqfWTFWYqdY6D0fUvetLh3/VEqH/o5Nh4HrlGvy/faZbU9FKOBZPkAy8c0J24rW5p2pKmRq6+2IicNTgufRROtiY87GKfbfmqpDYBEn3Dogv/Q3i5beVavuD1tJWhRsewhAZAUi1jWdiK3LyS0QI7dMFXVJw3cm2FnegeXA8CNlWnjUVSOY/OfLFqJJqYrfcj57f3nAU4a88w4h10+iFBLh0yZkX50llRxgUjV0fnjyEFUDoinC1xDA9ip9IOosTI+avZPhLTC0Yn4ZGnJi4NCD5cD88+KIdRUnVZJ5Sqf4ZcCCQamtYBT8NJ+PlByYxpqJpGtLyV9BuexYC86YnD3PJau0oXazcytuXMYh/TTaEo89ZzW4jpsqDM1G/gBUq7R+QDzLElNZfw3Ov0E0+Pvfm89W+v2iSsJ2JI2Yq7wrml7FiTN0KoP5KVEBCEzDLwebnJFqa7GBaghwADYcgoZ2VX2Xtin82a3oqlX2WNfur2DIr4YURiSmE8g8O","layer_level":1},{"id":"9e3d703f-f424-47f4-84df-b99873b93e5a","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"项目介绍","description":"project-introduction","prompt":"为GEO项目创建详细的项目介绍内容。解释GEO平台作为智能学术查询与引用管理系统的核心使命和价值主张。详细描述项目解决的实际问题,包括传统学术研究中品牌引用检测的痛点、多平台数据整合的需求等。说明项目的目标用户群体和应用场景,如研究人员、市场分析师、品牌监测团队等。介绍项目的发展历程、设计理念和创新点。提供系统的功能概览,包括智能引用检测、多AI平台集成、定时查询调度等核心能力。面向初学者解释项目的基本概念和使用价值,为后续技术文档奠定基础。","parent_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/config.py,README.md","gmt_create":"2026-04-22T18:57:13.329466+08:00","gmt_modified":"2026-04-22T19:05:00.376007+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0CnyIiRc/FeBluVaO5vMjpi7GJDj6RYPJBK8z3pvJGG/q2Umz028dfdXdKirGdHRY2lrn0erk9nv1ZHCzuughhzuFHwcxdCPIpZdrZtQpPh6bsxkWiwYzSScq7WGo0sBeTvyoiisiPXNkFNbSjUGQOu0M9zOwZAcknYWqtf16nUcOV3lRfAFHfNSt77Nc0IUQGl1zM4BWFjitEsa6cq/jjGIh7XC2gcTvm2eWRaWDDr5n6IcJZtD0ODJYzhH9IJVk4uIXlKksbQcuIrmEWEkZBxeh+DAIp0tmgXr52zuL9uRxapFuSlOq3BlU5N3I+Iu8Fg/rBAnNcvKEwSk/71gIbFlwaxLvik5gposBrfcD4U1+MJLRTPhgg/HJwljnpTC13NERk70aJg2/SCvFZcO+86xWuLwvNjWRxc2K8yOeJggfWG6S/Dt0dGaFl5F44u6XDbQV0GKiDfNOzo5CtzO7CrkSRJ+zErGQOEEoF6UhVmmpA6ONf2YDr/z3Z5bIP5z605qNZZWUDPVLjU5elINOMi4fsEw3OYaerNp6aoSHA1eXnOJoJIMsU0KM3eGAO9QNhHE2PlkwXulCEX5l1tkohbwthcv94cBVsn64CtaMMgjrgUkflNYnfEM1djmP2iJFEG/MjNMntZCrVRGXdjjqR4Q+lRe3ELhXuHjqeU5RS+KdYLASsYBDzti2T8foSfBxxXcpMIz/lS8+Qx3pTLW3ktH5AaEtSdclWCF2HLc1/03O/gdv070KOck/8TXbyZsJ6g3fzThY7xASttVsW1IITTaX9XE52YkNOe7KOrjJwkSbUgOU1Rv3Aa7x3VJ/ac9nDL4AgS+TlYNxfYBlGkbesL+sqDgWrL268y38MyK0DRqEQVjCxV9+7aAkxLvaUXVMYIwxqAM9Id66zRb0pJB3uwgpOAIRzOCskNEghjp17p4BK3lgehkRcM9RAGb7WqgeNfl/+ox2b25Pj+nvbWN3XghNZwNzoTW+kBZxXhOTRvIyAne7IPRpmtD1XD6ZBx/C6ucQ7kTUL/7LqFXE66g3Zey3hiaiQihueSMCFVer6F+BIMSBpV+9cmAczdqYvXRnKIjQg15zwVGz7mKE4D7caiDjkAQeMUSqziw+i/S26Ont/JBHIsLpYISQJErTAl2rGwC+7ADw+H6jg0rn+nE5s5u9fxUPMsWodcWi5oGIFRRTyGeIZYSTNveEwN8h0LGwXhUlHR6RxBAIpbiwKVUcOFOKc7mojhJEN36mXsQdRyCUjV3YdNzj2Tw5tG4exPzStsjDxSn98XK42QisGde126iI=","layer_level":1},{"id":"a06436ee-1678-4a51-bbf8-b0d0ac3456b9","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据库架构","description":"database-architecture","prompt":"创建GEO项目数据库架构文档。详细说明基于PostgreSQL的异步数据库连接配置,包括SQLAlchemy异步引擎设置、连接池管理和会话生命周期。文档化数据库连接字符串配置、环境变量管理和安全考虑。解释异步数据库操作的优势、性能特点和最佳实践。包含数据库连接监控、错误处理和故障恢复机制。提供生产环境配置建议和性能调优指南。","parent_id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","progress_status":"completed","dependent_files":"backend/app/database.py,backend/app/config.py,backend/alembic.ini","gmt_create":"2026-04-22T18:57:14.160162+08:00","gmt_modified":"2026-04-22T19:05:13.623934+08:00","raw_data":"WikiEncrypted:veTYwq2y4io5qXerCTrkkJxdCaPVm76qYvPs0DmFrBYr++cWSoBpsZCop64XjnmZv6vHv8URIJAqohtlaw1HFotKc3mK0aD3tk5jmFWmTjGEd9iSTEcB45Yccg7p5eggZzqexWRLP1afxRQPau2t5uy1dZIlExyu+lyiNQI9/hXf1UppgfCjo4u6akBIZtYhzgcUSoYY4jCjv0naBAT/PyevZQctOpKPIBwMdeB86h71UT0hKB1hXxbyQoljBYZmATJaRjmlQzZf/Ka1gnDj1s1WVsGMpSoA7jyNRPH+Ra6hR+5N8Ba5vkjxM/HcRFq282Jnr/TnidF4MF5HpD5Piye73QZ3zAvIbu8+iOSvpQee/FTzkrUQBy0xOA5lsfFOy5OFOKtQh0mHybuNqe6H5squ2Tge+K4+RKXbDCt0wptrSV+BVQ+OkAJJEtLNRpJElsQ5bw1UU6CuzbgnnEYrMXB5TMBI5N2/J6hmlqt978t04N3zVI9JnnFKK0H2og6TVu1Hrxq/xEB8RFWTf/WNN1p4Akee5r1uOuUry6hsO2yQUTlmHq74QnJz4o4YJodWkhwAmcyzPIlMeSFg/Kr/EvsQJN4UprhudCTvNitnPaBesVkucYDYQiVAhxyNSAqCzZUYXbyuLD4r5DKxKzvHjkhRugm73yBM7wzbxB2lABMiGM9p90FASIxS0SfzIl4qrFbO/oQGRIFaYfUCnQF8h0YDi40UX4/LVmnlT/L8y/d+hU00P5j5PI0qOyoRDqsfQZFaze+qtibkMnJ//iy0Awl0wqQ47SxaB0jhTc07lPFBLSHFSoVUaKDs1DPGiwKjpWZRzAw7rbv9NFuV+irKc0l8qDNCaK6Rk0rRd0ukFuszcaE9n92URbvv0Fk8XTHLr8sFAh/xMm63r5hUAuqEYN6z/Si5Isq52UmJ1/TvnLYIUK58JHTuDsVn3MKJ2fTgUw/U3g+N61WpDIgGvaHO75crgWZbS9qQyDoSSj4wNdxWR+wtmKjwZdRK44kWRBS1QebMTLNYDBgHD5hPnmOa5W/Rx4Y0QBw6UFjCy/GOmDI=","layer_level":1},{"id":"7fea5a24-e6de-4003-bc70-9dae6d8fdb25","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"适配器架构设计","description":"adapter-architecture","prompt":"创建适配器架构设计的详细文档。详细解释BasePlatformAdapter抽象基类的设计理念和实现细节,包括平台名称、平台URL等核心属性的定义。说明抽象方法query()的设计目的和参数规范,以及close()方法的资源清理机制。文档化适配器模式在AI平台集成中的应用价值,包括如何通过统一接口实现不同平台的无缝切换。提供适配器扩展的最佳实践和代码示例,帮助开发者理解如何为新平台创建适配器。","parent_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","progress_status":"completed","dependent_files":"backend/app/workers/platforms/base.py","gmt_create":"2026-04-22T18:57:14.592407+08:00","gmt_modified":"2026-04-22T19:06:14.01609+08:00","raw_data":"WikiEncrypted:mEeeU1uNqYKn4jkG2zPtuGBVTFJMKL8+aALSFPkyoEYifQL2Z+klmgmPGyzF3YlP0xw/C/hG8jzgXcVjqaWbA8lOQYPPvd4qFK8fszqAYs/fYEHXvWBVaOTbFhjNiT5k+li1MqVRx7SiaRze/N6NV4j39o5dfNAouxnCXgLyBZdG5QXj6JAfhJ1mTHsYQFDmrIU+nOtrQvRh3bruUOURVd64c13kwbBISJKHVwByRrfqWLRTsCLXPYfsgZF4rkL+Iz9x27Nl0VXvNcIIoMXj9B7hg2PPcQlmup4U8y2LhUHmKrdiKpW1t+XZ8rpO2aPKpzr47rn+3n2axWoQIDjWKlHAwi5AhxgPysB/i5EGv0pvgo/mNNIfsZlmSYgXASM6bgCzH5W4O4oJVqOi+gaLuI5+i7N8/+s+FKb63H9ZNvwClw5jXJe2Xm1YUwVGLG8KX5beKRTmBgnyDPmOW17/OXwsWMWQSQKrgpiv+2C7VQqI8X/agBVWawLJAc8VloY281S3ZH5LTa/6ajeGUVXiwpWSD/YWzo9sxLdws1ZXCInzLYy5vX7YflgBOlw+pn6Z901TBktq5jxrG3CFTbRLGxaeG1aJ06sLEFoPzLSXIIiEIuAROC6lPr6XpYAKESgWGOG0GdM3BinxdkriGn21ZZjENIJ436aZjsOiE5M20/kJAnjWIBPEJ/sv3nsi7u5iLfYFvkus4GfnKXJyto9LWiTgqrwHoEUQy4+pnVW+ce//iLlM/t0ZknimuBfzgYSWx/jPc8o9ZU5OIserDAYGaE4sDZIDQas1jOq8HGN/q4wJR7sW7Fw1jKyl4suQZE6QSfYx6molnJ1cSVKcsGrf7AHDKM5x+uGRmLWXqMMUZXXtbbCw0mwqfxAUPiRLUdVyzot8dh/NIWX6B1KABd/kKs+L+vVuCmMen1XVfP72Uy91fYOkBj/xPkA6GYrempnrB6zh6INdvGw5dEKlvNARMnZZLCA64Xw4h2TBjbkIjsBawvJtT+wEGkfkPk5z99jbaaGS65e/JDF/g5WNnKSX0B1Xo+frM1AFwnKR4dIJXZ8=","layer_level":1},{"id":"78288302-33bd-44f7-8b29-24f516c8b6bb","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"调度器设计","description":"scheduler-design","prompt":"创建调度器设计的详细文档。解释基于APScheduler的AsyncIOScheduler架构选择和配置,包括调度器初始化、触发器设置和任务注册机制。详细说明调度器的核心组件,包括QueryScheduler类的设计模式、事件循环管理和异步任务包装。文档化调度器的启动和关闭流程,包括资源清理和优雅停机机制。提供调度器配置参数、性能调优选项和扩展方法。包含实际代码示例展示调度器的使用模式和最佳实践。","parent_id":"7416db23-312f-478d-8883-2fc3c41ac2e8","progress_status":"completed","dependent_files":"backend/app/workers/scheduler.py","gmt_create":"2026-04-22T18:57:25.383156+08:00","gmt_modified":"2026-04-23T20:33:30.132403+08:00","raw_data":"WikiEncrypted:z5m818jdZZHs9QqQTrTafQ5BuN3hUq8ojqzL8SUBUvazzYVUu4EVEqQ8I56QCaxYSTvxoxfSrvjJk5zRU5X7dcnw4Xa3OBhn3OLehoT3E+tyMxhlJSbJpOfp1afGCLyH7k587Ud4I355IvboUvSoBViL1WL1yQq+6Tus1CsKPq1yHjNiWT35OfV9g7bRu5xE+1nSxjPu58jZpFKuN1x9oqF5OJmckHxf5sVFqKlGPU2yyeGdpzKRagbQGUkBdw72yxzSyevTXJ4y+UPCQLh2FLZ8RgYP0OD705z2xIGb7KSeQocLcW5FoxR79ySiibc+AmzE0OBKZqbcm/aw8K5lAK1GP31LdhjrndMTmXrsf9CYBNRIir1QOJsuCh6zPtpsvQVmrX7DpqXiWsaqnK2GVOkKPtnYAJnGsEQhaoX24/64eSYeSnJ7KIsQxP0MHUrRG85VVGF2ADUGh6L8qzexe7uE+lnaqgC8HBQ7CnQ3Ugnj5hcO7vnwQl67NHMOQ5yaL1SpfURVWAx3jjUBU4xjHfmUNcBC2VM6ie9C6Ulelai8Pg0+gFL0A+pfN/Mkzzh05wcgnmFbWfjabZ4Ofv/w+UlG5qhMsEJQAgag4tXHgP/86pheTsfyefYhWEkow983vJf6mYl4lgRaFHeOZ/JBTmM0sxmg1PMZ8wgClMSC0a9SKcsAyWOh0yMuBn/Ckhx4HqGoPAP1rx/k9TkBiHFEoEAXeTNoeg/Wn7tVimdgZvAjW79z7lbcRV1cvlKMSjhRyO2s6n6N3Z6xTlKtLrqHBbXZcrjNQqJVgW91Xk78+a1haDNngswufhJkTJcH8hp3hSUCJeU/Cpx3RYRRf7E3bGmj4sV/+yXAybUvCOhs1s89mYVFThdpDifMbvN5C8a9xrjKJNfjzijlVZwx+cGy5aj+ZQFSDCRCBHvCCIBd76w8uxi+VR8VhbsIryP2KUNpudqIY4V56Jx3DB+dznNJMasPFZZ2ZttlKIAV7oqWrreoweIqeEIugrIM4TdE4EWmokDP5wr0tBdyerPnkaCgJLQj3X2K/xjY6ony3F4svfG1pk2jd5JwTLnudwS4dnGY/1b//vEDGI668cQtR5fW7+APXXb8qjOLlzM4Enze4mw=","layer_level":1},{"id":"b027f234-4ac5-4d6d-9b38-afc8054325f5","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"单元测试","description":"unit-testing","prompt":"创建GEO项目单元测试的详细文档。说明各个模块的单元测试实现,包括认证模块测试、引用引擎测试、查询处理测试和引用数据测试的具体用例设计。文档化测试夹具的使用方法,包括mock_user、auth_token、auth_headers等测试辅助对象的创建和配置。详细说明测试断言的编写方法和测试覆盖率要求。提供具体的测试代码示例,展示如何测试异步函数、依赖注入和错误处理。包含测试数据准备和清理的最佳实践。","parent_id":"fc6f24c3-594e-4153-854f-19250834eeb1","progress_status":"completed","dependent_files":"tests/test_auth.py,tests/test_citation_engine.py,tests/test_citations.py,tests/test_queries.py","gmt_create":"2026-04-22T18:57:25.616384+08:00","gmt_modified":"2026-04-22T19:06:55.090058+08:00","raw_data":"WikiEncrypted:oQ7VNoYBl3ApU4O5/TGa/YEO9ObmRNw6knddpSF6M+qfBokxpt9FAn5Oh9wXkjVweu6TpLk0XawcRFRcQ09Zi+YnQyN8+4Ep9fANKzHyAxzcnhkI4VZF35j3DwTbhekUFTKQ+71fms4SP6LGrVw+8IP/eqJC2TH96LJR1oxckQk//yfvKqFHsMLgziXy6zrXuQO8PIu5U/WbkKUkJHWSkLkoTtPteU+WKljSMapCS60e0RUDWZEPuFD2uupr2PJxT8AoOXx358C9XEj8tQ+OwHpsBiR7NdmO0D3GmcgVUcuU7WWxnToWu1UM1d/t4u+x7bIQvHQIDjLWR40nTrvBZJBSSiui0he3T03jLkIB7r9kxCpm9mFUx0fkmUSWp7FRfs7MfJkuoQYVU0YHf6/FF6g/PoQ8ieyqr4YaNjM3kk8GirHkmKjfdQt9YmQtuzMWnzUQ6COtN+BG3STyOvO+12YQAYi5LWe7u7oP4D7TJRReg7FeLDQ60Y8KEoKBJKM051F7pgHlorthWz42brF5tF7oa0tjB4AtWaEwXdCvH278kzwHNEW9E5zeERzX3hlHYL+mKpTbemJlfuHuRugCRy4EKFRP0RYiIUecBK82Pi4Vi9MGjB7cQxIEutHQ/3D0JNLGwEo5TCsk4W3isoF+mJDFy6/IDwgW/+5FIo7V/G18dTg9YbFRwMecdvBfJU5QZV4R993bdx+kH6qB5IoJrA0AzBOCn99YQ/xgAd3w/82Z5vR8syeNZjHYmcx8P/XrYDk4UZTwaacEHfn7tcq+tL5qJDbxdY95wjaWRo9giFE8woDfoLWstvKA1/q+YOyDsIHC/uHjNP1L0ELPZ9ssFuHcwLVrqDwlcblya4+oXlPEOH2ar22uXNRmFyd8Mf8MmEWVZklodBHSKiGUlj8eSWqtR+Cw5Am1gmeUcOxqan5YwzpyXet6g5ll12dnu6ItLby6qm+kjET3rsjaJag7UBlMXWV9xn9Vj4QDK8USPTTWkRUEAj4WH9QqECQzUtYJ6+GsIE7LGx/5tzApMdX3BThIiG8C2k5ry3z310nAMX/pTSrGFGjy8tWFf+KH95sJ6aG4CDyxSPHT/3ivhXAnKDesNYTVgSIKNmAUcj5hRjTfJeGyljB7NEs6Gxz0tf5k+GQLwvRX6PxSnMGkm+q0yx0MNDRBYJNlPCFKUR74ZAU=","layer_level":1},{"id":"940e5918-1689-4001-a284-44f2de75b8ee","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"认证接口","description":"authentication-api","prompt":"创建认证系统的完整API文档。详细记录用户注册接口(/api/v1/auth/register)的请求参数、响应格式和错误处理。说明用户登录接口(/api/v1/auth/login)的JWT令牌生成机制、认证流程和安全考虑。文档化用户信息接口(/api/v1/auth/me)的权限验证和当前用户获取功能。包含完整的请求示例、响应示例、状态码说明和常见错误处理。提供认证中间件的使用指南和最佳实践。","parent_id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","progress_status":"completed","dependent_files":"backend/app/api/auth.py,backend/app/schemas/auth.py,backend/app/services/auth.py","gmt_create":"2026-04-22T18:57:37.836287+08:00","gmt_modified":"2026-04-22T19:07:12.356456+08:00","raw_data":"WikiEncrypted:uxAckj1IXK2TQH//kEdeBPmScopsydAsQUjZb8Fs6jI7ezX3WnM5wMv74LMiw55tL2+YKxETbMgwkBQYqIg1VTja5IjBYqljlAzD5l6SrkKU835vZQoOKlYgIFEEXj5PMURu9+2Om7SDVgjbSQ05vLa2aVIBV6PiVswRGc5EGTGtYnV+DJs4BxHzYpH0Ac7KkyHUCGgH6w5QDaOxWt6c5gftFmsRwr8WVKANmqlNU9uhDjmWzjTtSqZ39EVbLd++OjVbpLbTtijQ6gOF0KBBS4B0N5k+Xm2/gDv+HNK9kZ0BphZE1Si3NfV0+cu27HLJ2XV9w357rte4pplU0wYG5oC6cuO7eBFxQdCR6e+ejXIvKGahQOce8d/jWexjfdWnUzvQ18PU4+bUZmiP+YD1dJVBFgxggbCIHG8VFTQBqMaYwc3NLWogjXnczII+Z3sLLneLkVAQEdQ381GeRKdaD4PrtAWp1Ss2QpGHWUKDdaNSLcfm5NXEe6GeECxXH96p6BvyegD3twPfZmY9WKG8YOhXqbpzae/+DXnUTfldYKnMfbonSav0nUBYt8JA0L3oceaNs03211fvlSgE8L9vtUDtNF5lHkhOLMLbu000pe/VWc8WVQRbCKd8KPd4TUxMkB61vQNIcvlRKLMJLNSnE1VftRTpdEpWKhm5qkLfOfikgsp2qp1iSw5Idpu/TLQPIGN/sYpTJ1eACeXt/A3qrlITHFV8by4utTXDT1gRQQ7j7n51fQHHEIbpU+6CRhSBBQfa5IlWAqkarenBmr5RY74jeX7tlhDhvFojQGHYyMaDsZO8G/H93/20YG/li4iihHLIYmsN+2YRP/KWCNaopBGp7tRyZi//RKVXdHGteWxP7vse7URwPhfmHDUB6dMExCT5PwgsYoDwD32k19Eauv4c6OogAMMUN3I9rhSo3V0cde7/xSOhJ34SUY3w9VpPAu1I4zTqhY649YmBnNEjtGLZGTnEJWSdneSPsudvl1HJKg6faq1dMy0dVkMqbHaqMCooFDhiYVS1AM1cG07y9rQisvQP8Ic3NTPAA7BhH0nrPnLc615Jg+XEAjs3brkNXEVZlxNvX5ZqMCoMqsiZrA==","layer_level":1},{"id":"6406f42a-e10b-4a2b-84a5-0a21c1c759ea","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"代码规范","description":"code-standards","prompt":"创建GEO项目的代码规范文档。详细说明Python代码风格指南,包括PEP8标准、命名约定、导入顺序和注释规范。文档化TypeScript/JavaScript代码规范,包括类型定义、接口设计、模块组织和错误处理模式。说明前后端代码风格差异和一致性要求。提供具体的代码示例展示正确和错误的编码方式。包含自动化代码检查工具的配置和使用方法。","parent_id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","progress_status":"completed","dependent_files":"backend/requirements.txt,frontend/tsconfig.json,frontend/.eslintrc.json,backend/app/__init__.py","gmt_create":"2026-04-22T18:57:39.373374+08:00","gmt_modified":"2026-04-22T19:07:51.274139+08:00","raw_data":"WikiEncrypted:Gw00+yNdsAXvNpUHE0sZ2+QbHW33I6XBnIRt1QjI/FW/5OIgpgiMvU/f+bhXrxoZK5Mgo6YrGuAKhtZ2BPutU1EdQeDFUnQQxxqSupe1WUkFgEECvCkbZOAHimRWBeUutq2qKCfVhu1+US1y8n87OZXUUvVSAksZOa8lbb2AHyiKTMdzzPThS0D+8uOalkBg1mvJCS9fqVoZzY5BYYpuH5eZJBglHbA4uMbdFVTSKVFfHaJ8nlm6uYjaY0sJCSg+dhEAIiMfOTXP5Bh59kxWfLSdZU6b8oPvLV0btsiS22/oEJZI4rWjJ0YTxfQ4jRv348P+GQ6oi1pvwveiJyOxLq8QcVKSiDxO55Ovd76PhOgpOp2WJcUsKoKBoxs817utm+Ld0htpPBS3V90Rw+suMSPCU0mCa80FTrBNn6PnXemH7lH1ozQIu3Y/AGNYBN93acBxtiZ09sGFh2sO9mbbCU0iRuNe9nwWa4MsA5rJMLGdRbyv6jk03+sAvuKwZHXyTWxqeXvMatOUKXzTNfmhXsE+Bexe1vaukG22SWhsXu7FhIaH4Rt7CdpMW0jjbZOf4CwKY36ucVBRwft6ymuED4ihzikPz7pJ5IEuxLGtCyt5QDqT7kbv5ITx4NM/Q2IMMTRZf9bAZyN64PV2TJVCNK11yU+cE7y8HFBNFSzPfDBGFmxijKjTL9MvlElogPp0+qckxGclnip/IOFc6/WAbPNK0qXq98Jq5DsZwLsx4//8yOyRyaQGmOVaOWxb3Aum4RIf933X/hzoTFpV2uSLSznRyCwLpKqjp2zMS7lCj9aDhWLcx5J9NxXfdxFVxBsapMeDDl5xR5nfTFJcOFylsdPxEdxf5J8ULB77F3OmE8Hff/40adNMxJHMyBmju99HNnMZkGLjC68HEPNMZ/6T0+m/Sq1yHOrakYMiw6vnQvmLW4cBIhsTFbhbgpkazGFTk8xsKH3pGySrLXL4xmadfs/g2X/lRrLbSonWaQehTqHYrhz4HIxrTUDn4kdxaPPDhH4fHdEu/69Dri0DSzmSF2m8W3hh1gbAbUO/mbHob1eJg0yKGzyh8AmvUlwXIRGrOwQA5dUZNPSo+oCcv1qlrQ==","layer_level":1},{"id":"e8ec6ac6-ad1a-4332-a7be-727b47d71233","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"Docker容器化部署","description":"docker-containerization","prompt":"创建GEO项目Docker容器化部署的详细文档。说明Docker Compose配置文件的结构和各个服务的配置参数,包括数据库(PostgreSQL)、Redis缓存、后端(FastAPI)和前端(Next.js)服务的容器设置。详细解释容器间的依赖关系、网络配置和数据卷挂载。文档化Dockerfile的构建过程,包括多阶段构建策略、依赖安装和运行时配置。提供完整的容器编排流程,从镜像构建到服务启动的完整步骤。包含环境变量配置、健康检查设置和故障排查方法。","parent_id":"803bfef4-3985-477e-a61c-915a246d0061","progress_status":"completed","dependent_files":"docker-compose.yml,backend/Dockerfile,frontend/Dockerfile,.env","gmt_create":"2026-04-22T18:57:40.354835+08:00","gmt_modified":"2026-04-22T19:08:34.084609+08:00","raw_data":"WikiEncrypted:h7ADvj4WLJHyulzCl+z7kNgZWY+r5P000yRKX1NQnlv1Xv3Dqgu5Ve8V72HxPVQrbKK8WU/ipQ1PAqV6SDrNgrc1Neea6KoTKr95imYAh3dYgIt/lZ1sndBbQCFqOF87dQsUIEKQgwrsicAeQ0zdudUWh6EW2nyIF0NGa50xffbgEr1mm/MThBZjOua+YnCRogCbgtirEO/6HGlC+I33w/bfFI+rREYKdumqUEia0kUP0pWSpwWjOQp06I7cUoSrx/LuJJ4in5YsZetdjzxdbA3ZvGMjeyI/VVF6UC/QUOgE2csP9z42v6XdOOngM/coBHI3DiUrroBGTPa6BVxJdngItCJ9XcNvXPbo0xMAkAoUKnNPA72B2pRuk4F1sTiOaSCQ1jaMiCTFvbj7+VleaodRFLDFsYa8f1w2FkiW7cEBhFpFgB7Qfru+Yi11rpkjnM2def+Sqq2PSHQ+Ji83jPoQXFl935rDQbNUy28wOIE3BdWN5jjM3nyoXcqKjPVjLf3cxGvg/sbdWk1FYPMIsbK/DUWayyTHt6L/fYkDQYjY5h0H6Q0jBxlhNQ34GG8kEcvrZ6Dy/jtCtE149pi/ToeMbpPq21c5KUhs9OHcEHgMjxWMaEVjQXMjFCpKyJIPfC984tfoZhAHi9WupzyEi37/igcgVJnvIdtadpX7uRxW2JCdfoHn1H87nGQj4eAeI3kMhtJ3EIPd/D6STxUcgtyLdTIZu9kgvnBIN4OyZeI1ygNZfawwQMmbDxHZ1pPcyZDHFlz1HZ0NFX+7VnN2b25TJP2hxMCZ/5OdYeSLozIbM/azA8QMHofESSdxDX9ZDdhvENDlngxUBmxM8+yCAWHENGYqWDL0gZMMDwe89n48Xy9qnKNLX0ROfG4FAtoXsEgLlPQM3AWFETnzr7Kvuma+8sY1iaMVIXJ/MWoy1zLwuY/oOZhVqGLX+DOEupKhk1oQmiqzciCeV8my5Q6LQeriSBww4jA3r6VQMPzBVzKJYz+TLizB6Esf//9+ilsgUVUc6GjD41Ml4fb1GZO3PzxGWrcX1RUE6RKllUBVNffxzE2WCirEX4e4YprntsHu6SAb9TLIInCx7aZnlVnaDQE5BCiHLjIQJnsHHJzlBm+8jtzE4zi7ljHLfbJwhtZ9W6S9KGUqjjNryjTVnVyYQlumOT8HCAkz3fSM6MpXwQr1qz/gHyDrQanmM1O9B/0ox5O2NWcOm5qtsteiyxwKACdyxrsUx0X9BaU8xygDL75XcTfcaOTcICRwaRZF3/UQW+zhbJo9LnHxq30JzTbxU7wEdjpWZQHZ+tu5BMrIqi4=","layer_level":1},{"id":"a91fff3d-ec5e-43df-8176-22f0084109ef","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"功能扩展","description":"feature-extension","prompt":"创建GEO项目功能扩展的详细文档。说明如何新增API接口,包括后端路由添加、数据模型扩展和业务逻辑实现的具体步骤。详细介绍前端页面扩展方法,包括Next.js页面路由添加、组件开发和状态管理集成。文档化引用检测引擎的扩展机制,包括新品牌匹配策略添加和竞争品牌识别算法的实现。提供UI组件库的扩展指南,包括新组件开发、样式定制和响应式设计。包含完整的代码示例和最佳实践建议。","parent_id":"b2bb2e3c-5661-497c-97dd-15bf6ee8b7d4","progress_status":"completed","dependent_files":"backend/app/api/,frontend/app/(dashboard)/,backend/app/workers/citation_engine.py,frontend/components/ui/","gmt_create":"2026-04-22T18:57:48.684421+08:00","gmt_modified":"2026-04-22T19:08:25.140739+08:00","raw_data":"WikiEncrypted:5RlNBsIi2/3o8ATlHuzaYD9/6k0SjLB2nW/cTN9Sp7ydYLe7mauzXPQFm5pYVoY1D1K/aULghB4g32vyxSUIsHV6NsxwYA/5+FQ8w/4xsQc3urcx9OEKeSC0hGU52WXucdAGjiEq/f4wJ2c9FdJEeALD6eX7MltcooFsxAVRWIKzHsMdBiy0RQN6s7vv4sb8vpV3b1ET27D9QlTUiTPU7RgtJLMui8iYiwJIirfL1TgdGRSx0Rr3tY/JvS3/6/L6VU/69BKglW8DnLwDkWKuthI/2sfWQa+lb+uTuixXL/VbltWQnzwjMVYghhTizEEC0xTpFGcDY/ajvLcjy5+wSleNEr9AFy/ytJKkpqEO8Zt5qyVJ4eANJMSXYcoKrZEskjVpnrPEHGdOzaEaCqcl2sQYkXde8LWM29fWmwlMjwJzucGwhudoQLXgkIwJnD+jb1r2SdjjafTI76MM53AnSfD4aj8K26yrOkVtoD6nWG1A1fG6F22pPBhJdezNJCYuKBaSDxJDES5486L5Gm5RvjYDq4r6RZ5CheGPgxl29XjCimgWuxXKVX0jPLUawteo/Vo5D7AHzucx2dX4mKr4rSSSHpD4HGdbwnxZ717DkRG01vTOnue6gSQ7pceMjSZ6TnB7dvtwwarHBKQMKwJXrpqxc83aZQjW4sRTAJs2Gc9+11c7qT9fQnGK54JJjEARaQZVaDmTpKmme4SKKxCB7V8yUqR+D+swVuSjIpYdL1m7THJtbWSSLaKkWmYiom1C6qb4GIgO4CT/IiFSyQ0Sz8MUIJi/dK0l/vVmpp5p3IF5K1m6NHDX94yEPWEHsWIS8eC2B74AyX6PG1fWSt7HpiBAzq8nu8n+IrXPqDege5sXbjfNrbvkRot94AvLF2aqMbteOUGOZxMLASQYyfRQBlaEEFMiKEVNTRSaHqiS8mS3pG6XLcV7TkWJIyMzhcT93hKXrSB2+jLa/rrxxrZwfp6lddgEcV+XZzQU3KsJf8blNUd+UkA4TcwFugu0um1Kr6Hro8EHAR34+FGMbPskEPPX2yd42YXx6qfmcFrI1xvHIQfnc7QuxZwO6GHR0G5LiPtuV4ZSxklXCwgnGWy1lpC13xANNvM1UKqAuhpuV2qU+xayK5IQv7kQaDOJpnMzFj/dSxtRgL2Xm20nH4BA2lhBCQMqeM5OxJ5vzwVlgVMZxDbhwrRaDU6cudgNfRJDFh2lGQqE2flEkvSF7g87Hc5H3qDQxUv56qpdOPJcgugKJtT3Jz4dNt3+eojvEwrTUc7d2Kq4KDTFUa5jDr5uo9PZhNR2TDJazpNIdl1x/64=","layer_level":1},{"id":"e3ae8925-4862-4280-b85a-0b376841b15e","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"快速开始","description":"getting-started","prompt":"创建GEO项目的快速开始指南。提供详细的环境要求、依赖安装步骤和本地开发环境配置说明。包含Docker容器化部署的完整流程,从环境准备到应用启动的每一步操作。提供基本的使用示例,包括用户注册登录、创建查询任务、查看引用数据等核心功能演示。说明开发环境的调试方法和常见问题解决方案。确保新开发者能够在最短时间内成功运行项目并理解基本使用流程。","order":1,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/requirements.txt,frontend/package.json,.env.example","gmt_create":"2026-04-22T18:56:47.081987+08:00","gmt_modified":"2026-04-22T18:58:54.237875+08:00","raw_data":"WikiEncrypted:qfgbutC7oyxR6nMxrwk1ODnNMBEQ3/sG78fQT1yXWju83LC7H/jAM8CEAvWT8huE5OClmQiIfNYNxHQ9s7RRS/GGSwI5DTgXTPiPdxvdU9tU52Y4wj4FfVrOtqmH0nMPa+EBKH1Wo4HibSewimTkeCuJVAAjyygiPePcftR4ud09LKmopy1NSgZrtHMoDFDwUOcNJQad4OVgxMnOi6B6z6s2Oh2aPWNJX5EvE5xGkLAc6XvhE2T7MU40VJ4lUOoKlCNZNdI06grEqwyizBqt13Hg20wonqeQ1uPs49UbF84IJecH3DmE6KW3oqmqvQY6tztk79eE1bKZmBtQKXz8WhEMWZwALTsVk+hkk4dH/fcDoLteR1iuO4FaxDwAOaD71KF79AaYxDZiM/8RER9YsajjGSI+sfpJALuiQbqqfKbYFSgliiUcf4gTM20Ey5rtfBkcvBY6yOBPpqdKg7/ls7jdggNEWDJfN+DPVzV4SGAYRD4g/kDzPa5vaNZ6USRa7hVIR0SJufX0DGSdzX5BMh5DQEEyd9svxV+bs4KPZphBIeqAOzvo6zyF9l9LjPPdEook/uTIBHjGgx+8Ck1NQEeNOs61Zqr5EfISope1Au8dYCrzwpr02s4XAb/6bYsMSkfVqETlSSUkipDodGoLJU8QiYr5Pjv63Bb9Qb7SZ+i7NrGp6UJNVT0etywEMKSQn+73I8e9AYrAxlN5ST6K5b3W7cOPzFQMCVRfzvdd/FbuN30u7JXlFCnm6Ee8LDHW6nteOxBP1D6JxbrQirCQE0cSuk+d8OR5tR/DJiRDcjbsG38KVBEqWnIek8KlMGxEt6N3oq2ceUCCLe4jVURPc/2G/6gNiyVq0dPPAVwjaNKNwtiyaDhhBu4T21k9NUfhdQNz9DJWD0wXuaZc89RoqLNlCHJ6TtxEHJ/Sv4cgvm3QUierIBIqUawkCMEDn3ZEo7L2fUS4fMlzfpHSgTvxB43ta+H1m6syFUmAyh1yqfXVxKZY0f4JtmBbQpNzpT+aRHMKKQ9UVvtjvNcpupzO5aNkyclJVWis66DMtfA1H4am2gseXSfgHHtXiLfOnGoELSM1fLS+T9oPt48v+RPafJQpahtNeKtZc4dbTcsc4qlS1krenNSBbkKac4Zsosjv8xHuD1aqYvAS476XT3gjLfV7YUCF/+i3PiovD9NGzhA="},{"id":"c19260e2-5163-43d4-b35a-b48aae995f4a","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"认证系统","description":"authentication-system","prompt":"为GEO认证系统创建全面的实现文档。详细解释用户模型设计,包括字段定义、数据类型和约束条件。文档化JWT令牌生成和验证机制,包括令牌签名算法、过期时间和刷新策略。说明用户注册流程,包括密码加密、邮箱验证和用户激活。解释登录认证过程,包括凭据验证、会话管理和权限分配。详细描述依赖注入系统在认证中的应用,包括当前用户获取和权限检查。包含安全最佳实践、令牌存储策略和会话管理。提供认证错误处理和调试指南。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","order":1,"progress_status":"completed","dependent_files":"backend/app/api/auth.py,backend/app/api/deps.py,backend/app/services/auth.py,backend/app/models/user.py","gmt_create":"2026-04-22T18:57:02.317252+08:00","gmt_modified":"2026-04-22T19:09:25.682207+08:00","raw_data":"WikiEncrypted:uxAckj1IXK2TQH//kEdeBLXlO/kfAAqZjShpoDF/LwxGtmBqx1/zAvbXhqcBr9eSVupk3ShQQ44G7JWTygjRc5A2FkInV0uhQsYps0bWsiMbDrwt2AOB/ePL1uIbGoc5ApUbCip0mBf0CwqN0REsh6d830HtteEtKfMMtm5qouIOd2wK9DTeKNNZzGx8w4gSMIpsP5p3aZ18VwD5MWsgk0ypEVodI1RvEcxesO+ct8/yxvAtUoplWhOhExXvEaKsye33rOjbpp30RA+c4dB7CLQLITqpn+wxBlXockOukSc1TbsfdPYx7aBemMwYLdSg5BxjQI88UeuXoj57ax7r3FRkTkIghjXxbpJjAP34rD/Nr6kFlE1ffpnhtqKEcaewGDTam7t2tBNXaqUA5N8gM7qLaJb9G77n5LNWkW3BEI+mzLUgjH8bKerBwqmGZaXckRqWq434EkgNrsUu66RE0kG2tkjy/QgzBqBI70QGpe3lzfJc/eka8Ylgo33DJxnT2gK0imqLhTVjYuKhn/Tj7eKXmEAK+3ddYoLe7Zd1+mAieLK3NzZderogxHrbMIurgTqPWwKg7jvj9pWgT91c7lOpX0hic2OLS+T+g3bMEZOwerdtpByP9pFeu8mniiEJ0k85mEf3l3mL4Y92IJrF7wXc4Sj901JsHKGYyqErz9wUOQ0O5F2grtL3fzSQmJGrEjFXWDpUtGhM2ModNzXCBvm89cgaXU5e9PgQuweMNqPDDcnHhTYQk2uYXAKqGQ81DjmEhEn1M7KEi6FAfh9PIUmxY5Mjw/rUqRvzp8qW9ZC5i0A7VS2KF1YEati0DISkzNcusWc09yOCp3XQ2psLue8MbeIv/A7KoM+FFCX6VwfVIMZmoD9LlpO9Aguy8ZHr+wBKAarcZthLZKxBzgWwddU4ksDMPljtM00iT9LUvs4bU1kSB1rYQcsNJTlTvnl5q0giQTn8gAPr9eNv5ugyPpOxhcSiu6sLYwt1avmvC/pShZjizRD3Ao2wDAzZD48iyoPVc4yu/0J8HjBd56+9MV3mwWW9UGW9js6s1nyrzdsxZAnh9QT5dzYdPRh1EGz7MFqLA5huIrW73zkECwjcRtve3x0tGptO+D2RRvzbYfGJJtVYIJXEA9o2uRs/E57K+wAIXK8oxDXI9+kFys6eoRpHLIduIlmPUm26QJC3WoRx7H6SRfEzvJ8H5b9wYPnjpi0imunk+Lp0qDYT0aSxv1e7BPBJtAxVo4ztOJiTlGapy636dj/I3BWq8Cy3+srfaCykZ/0NCI0cyYtyk/4smftd0/fapjicm/RDEG/o6VGqlhrNuAYuG79wZ140mKvixWDJv+djOQlfglxDlqgsuA==","layer_level":1},{"id":"9b71fe02-5927-4a19-8db8-66eb129ecd9a","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"认证系统前端实现","description":"auth-system-frontend","prompt":"创建前端认证系统的详细实现文档。说明NextAuth.js的集成配置、会话管理和用户状态同步机制。文档化认证提供者配置、OAuth流程和JWT令牌处理。解释路由保护机制、权限验证和用户状态持久化。说明API客户端的认证头设置、请求拦截和错误处理。包含用户登录状态管理、会话过期处理和安全最佳实践。提供认证流程的调试方法和常见问题排查指南。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","order":1,"progress_status":"completed","dependent_files":"frontend/components/providers.tsx,frontend/lib/auth.ts,frontend/lib/api.ts,frontend/types/next-auth.d.ts","gmt_create":"2026-04-22T18:57:04.21635+08:00","gmt_modified":"2026-04-22T19:09:48.747579+08:00","raw_data":"WikiEncrypted:BenkIlLPgjbiADCpekIm2LnLFWkzmPKE+C+tunEqC7EVMaC4hkq7YX8EJXa9qt893SobX5KrGOKV9QEeDplCQkFx4neCRj4kZkvt/lObxAfDgMBruR7HQAasniGfUhUjW5KYXC16w7brsqCWR8CWKDQGEZiduwEsaDjAZy9TEu7PlK6Cp8RhkPZ9jhN/YjqaxTAq5i4xHmQz4VuuV2SO1LedFcTlV12iJH/vTW0vFyXgJqY/Ql6+bTZO2yMaEWan9rB7e+IsErvp40JaC2xqL7fRnfroIwQssGEvaqckwf2qyNjjNCcewd62C6FVDnxJOLjQbizlBKmbb8XVzuRLkECZVB1edGJKnDV6FkOkP9y2Al2Qtpbx/1Uhx1Lo92eRd57kA0Icc/KGcHKRjNsW0HfYWAtLctTH3fNIwtmND/J/6zKK4UdDJ8sXiTnjiU4JhX/fqW8bl4FVo8F+kJYUIhbJCQkl+qlYh/MkTCmyG8XukvSZGbvWMPUxyU1gMjDxUnyVdcJmFFt15oXI+X1CL6ukGEn1cRRDiB4yRAq2GR4/iUPUFC0d3aqeRj+ryjr6Cp8YqrHfONdwZyWd4hS8RPEP7NeRuD64yNRSDFTju1oPvBfROcmunn1GaAmw8dV6KtXSJnM9SaiqnYutX51ah9psTgX+UxTu7EU/ijnQYUnDLg26m2/bX4Rhm4MRyE/fAwzxOKEI3uIaqyun0W3lgdaF4bWTwTblet2a9rBOwbVP1xtJ5M095JzboruOAhl29fAT9iO2jeqpZBoO7zBim2s8cpkCt/Zf2Edu2CeUkS180PzKCBtnq0FpPLD9hjXPsn0GjtTEbwO6lSl9JdJ1+J03tiLVJjRTZffLUlA2gM3tucbJOfyGdAom4yffwP8hjrhTBeEyLwKmLISNARiKuE2Cm671yMn1pmt85Vu1rajq9L/GeJdoPPL+4pw0dk8/Oydx0+kOg8/Jyb/8D+XobOK98UfLB6gCaeqZV/2EBEumn1xdhcDpP8cx/kijjzPmOg+tlXa5VzG6SpcY1zw1kYgyEbLZMts5EHUFYp+UCNixZleiG2HvEN5v2iuXOdcZiguCFkQLt9TkzO1v99jj08p64LxUkxY7ovJoeanwleMMBEAI0vWrt1+8nf065/WLA+s6zQWMP7nlMloMXAfMybSF/he7s2xGsrnFXqR0XBU9qRnrLY/9IcroEnKTvicyEUylh+wG8KUQcIJj+fOEVqPGITla0i+36wx46XgzdRw=","layer_level":1},{"id":"b80dc237-1a6a-401f-9f4d-14190edebcdd","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"技术栈","description":"technology-stack","prompt":"为GEO项目创建全面的技术栈文档。详细介绍前后端采用的核心技术和框架选择,包括后端的FastAPI + Python 3.9+、前端的Next.js 14 + TypeScript、数据库的PostgreSQL、Redis缓存等。解释每个技术选型的原因和优势,如FastAPI的高性能异步特性、Next.js的App Router架构、SQLAlchemy的异步ORM支持等。说明容器化部署方案,包括Docker镜像构建和多阶段部署策略。介绍开发工具链,如TypeScript配置、Tailwind CSS样式框架、ESLint代码规范等。提供技术兼容性信息和版本要求,帮助开发者快速了解项目的技术基础。","parent_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","order":1,"progress_status":"completed","dependent_files":"backend/requirements.txt,frontend/package.json,backend/Dockerfile,frontend/Dockerfile","gmt_create":"2026-04-22T18:57:13.329718+08:00","gmt_modified":"2026-04-22T19:09:54.216074+08:00","raw_data":"WikiEncrypted:w0CkdCdnXCcvlN5xOpiEhEX3U68GI0Ngj6azFMJo9xRSxuOblJXg8Gncvj5vankATp2aJeXH/Zz4LVKH2Ep+cABEA0J7OIJMnt/ZJc7uvMtWJKS6+i5aGsUhX9BZcr1SC4TqdgwXb2je+DFK+fLZJVkri1Ne9BkEqmtSaV5CijFytJ/VSKFHzj8+7gC5Jd3CbEASojclHovCufD4dAVhlK2qcIuY3RBxMsvfRAlLyMLZEWg/gD7LEj0JaChWWR8vRaEtX0LtMoYIgSfbY/nUjR+3xHFig+m0qclK8Q01S5GJH99paLVqVkmt12iwMMiqNZypY1W2gRvZNsT8eanIKu0tq5HqvmbN0y9+nnuwnz/Tg6nUBlKIIS40jp2oYca9ak9bIwBm0TqkMe+M3Ara03+x9PgGRUuYwCt9d0PwpPG5/vOAkZtP8talqqwhn7Qom1nVkhmExMfsXTYsM+Fn2bQFXKIT/rAyT5rY6hwokrvghKwOb9pH7V8+4XckeKWV6L1rNcccOb6Inp4WcVBTcTvGbdy4Wj5Z1VETFwMnDdpOGFWc0jZRJpjrRSGgDuEW8IXpMvVYk3FV5ZyUXZcNyEWZ0Fp/s84guMC21/RYF67/9jD7eJYMeCsU92nWm6QkdVB13XQBOvYGFSu1QejQCgDMWpPz4kkt4yz9mgOtH7HsH8ZUDIml7Vci6pCcEIzS2Sy+BoXxSxcOzrqxD+PbGcH8A/BafN1771WuNzprCCTqbZd5MVXBKiY+qrlRCD1ug+pKS075xfWh/Y2Sjz4p1aJuyVplvOfNUKTlbZVBzQu5DBO+yhXj4b8Amf7OLydq0Avaf0gJhYhX3HpFNqi6aqT9OzPBIPohOUi9RWffBwHMJii2/NZj4GbgeXsWU5+EKE6sGFRGtUiBZGzf8FnB6rW16EA6in7Vd7Ls3pJrra3z6b/k9gqlh8eAVDoZhCPuxtA6yNlXm+RYWLDYeWiRDZoavKVj13rXtaqtX3j1/e1zFPMBZlDPVHyBqCZRiZjlKnty9cj2ASgpu7idyh8jDQSALGu814Wb55H1q08bvFxJf6pxn0JfbRJZMHqCEgInivdDUTcCCPOteDT0O2pwMmyHuq3mI3VzFPnYLM3aYzgJQsNIVztV/dIEJu2UGF/cyjIeROHaxvWYLNXRJZ05iMp8oelEwNe58eAvWt2KOuahqQl6xKUctm90QLv8QR9hr7PjiNAMVH3WsMxkqLcIUPuboMElVq3ErUqd4qE7W5l5Uxi2I9bVcnq4qiRtbCnRY32uC43wILTgq6KrBaO6dehB3eW4drPWqtmcU8rP1DJEatUWEvhpDNrI7T7wG6F+","layer_level":1},{"id":"7e5c3b8e-5aa3-448d-ae52-d5a96a413b0b","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"表结构设计","description":"table-schema-design","prompt":"创建GEO项目表结构设计文档。详细描述所有数据库表的设计,包括users、queries、citation_records、query_tasks和subscriptions表的字段定义、数据类型和约束条件。说明主键、外键关系和索引策略。文档化表之间的关联关系,包括一对一、一对多和多对多关系。解释业务规则在数据库层面的实现,如数据完整性约束和业务逻辑验证。提供表结构图和ER关系图,帮助理解数据模型的整体架构。","parent_id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","order":1,"progress_status":"completed","dependent_files":"backend/app/models/user.py,backend/app/models/query.py,backend/app/models/citation_record.py,backend/app/models/query_task.py,backend/app/models/subscription.py","gmt_create":"2026-04-22T18:57:14.160671+08:00","gmt_modified":"2026-04-22T19:10:23.576798+08:00","raw_data":"WikiEncrypted:TWtD9cYU/QQHU+vD+ojNNl24L1Ao0zI5Y2mk07u9ZlXGce4CUXsGNCSRaLrvDZHw4OUpuZEJrmJBXEQX8GmxRc1IXLTgRlqUGmpzfcUAx8VrQijBe+unqg1mWTkYnMlYOqKWSJdISHyD5K3kBL2cL5pXF+f+lPHzSbWtqMnNnMKbqnSl/TkKh6cr7PM1YBR4IYmE21gHSR5XoQjbtYmg5qNyKF1kMdcAd0LHw6p7zHBaF9cNt++5GyFKLK0zjN2L8YiFsuFBSrn/M48QW3WyTrvDvqdOuR/Slfv+gUsKgbkt6+NEpuY9HPcRdvVJHvG9FZedomH4DrKuI0fUXgICXotXbrcEe5dOkLKgfn+gXmS6sPSZ1XgrSNO5gy2QNJaW+oKBuEPzfuKsNr3X19FZTz+x620YmL1Ccv/5uvf0Zxl6fyQb3qP+lsh2kaMdhWVKyoBv37oNKF7MO+fy+TWHFEwlVnxgmQREyQva5qxLyYzu1GtDpGp79IemnumltTAAzQ7LRs/RsaNcU3BZdYfQspjnhukylPJpNZtmKNN//XWvj023bGiaLyy805c71DcyqZNUs+EdlXmRTABeq9QkVU5wq/gkO4RFSgsWao/8f2i9FLeEZolKQXzoLnX7GxaY3BMcynG+DlwKFEolVOw07cpddYEWzmVKgJUokX/eiMbrokbcv9bLXJpHl2aP27B2FXy5Q2Ot11b2WbuT532RndBI+S9HQpfMmZ2z2Fc3VrWAbk03DwChHEbNHpmQvJpjKtLweVEpClahV8iTSwCkwd43jJdW+tR00iSdjt5vbl1cU7Dciah/B/9B7CDr9sUyZMjly7kzyWZqTkdXde3tO6tu6tWhTigIMXmZVqhW/pgVifH0R72VuM+sdMw57m7Z89ibQ7o2LewlMzJ4GsV90DdDhHQtUr++aRhcZp/669o8mijOQKj8MPHY+xjhZ2oiS6RHiCYxpibVfauiaXA3swWKIQrVCVE1x+jB07pieI3wHrmZf875mdp9rhfrz96+y4zJ464iINUdTQinm/zI4CnhXE3inFBgr8bD3pop0oYr2X5f8Gn2iKyvByc+w5r8HKV/7dd4GrdAosqVWpQweVEYR+MHRZ3AxiW+TCpRWz/PsHgunD4m+AQv5lxwoHVqF0Tqw7fmmxTqA/zC+dxlIJVD/R2WF4sFpA6femHOwqniwaowQerg8bGe7mz3BCSqiobqGSZQ5jQdh34TRP7qUg6PGkJx2NJ6AVIZVYBg9JNOQI67+2PN5AKq6WiT7Rojgo1r8lEx8SORaVptbL4YEEeD8Ec4g2l7Aqkhdxd43uw=","layer_level":1},{"id":"9fe32b83-3697-4939-8b10-524f5ed3e65e","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"Kimi平台集成","description":"kimi-platform-integration","prompt":"创建Kimi平台集成的详细文档。详细说明Kimi平台适配器的实现,包括Playwright浏览器自动化配置和初始化过程。文档化页面交互逻辑,包括搜索框定位、输入处理、搜索按钮点击和结果页面解析。解释错误重试机制的实现,包括网络异常处理、页面加载超时和重试策略。说明浏览器会话管理和资源清理机制。提供Kimi平台API调用的具体示例和常见问题解决方案。包含性能优化建议和调试技巧。","parent_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","order":1,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/kimi.py","gmt_create":"2026-04-22T18:57:14.59267+08:00","gmt_modified":"2026-04-23T20:35:18.737652+08:00","raw_data":"WikiEncrypted:0zvMywNpoUVtx5LPNkwYYfwlM/Ie9jv+tKyKKcv1AxRC9mVBYjtaMmDbjB4bi6R3DoFVGOgv6ErdxCywJprEc4/FOXSuinoLipOBEjS1SoLvIuIvglY6l/IjgeQW61Rm7d1YcswwpmQZIzWMvqp6xJswdQOA6I4OCWZyyoaPa/2lETrzZcBW9ssD16KyXFVp96WbqY4mZhPFxSQEDiT4cUJ/clUzKx+oT4S+pSOYSGl6/5YsuAOA3Rc1HhY9Ow5FK9FlKsVMaFmxyJU/KLHcwZslXi8yzFzIWcnJQnRmMQlz6Zzz6mhJvkfg/s1TIOTiz3ZX906YG6DBXgZ66UywONJCeYpSAmTL6PJmP5z+lNRhuD0CzfmDGhErgZhLtvoyUfFoVruQmx/x9Rgy1lFnhKmvH60xIEg1eXiVjrQ/yktlr5ioCPigx1TWbcHspNlPAbDuKqqBhQtNOIgnlpoGgyEogad7Il1hkawUxt/TaiS3Lh0SN+zWs028ewgjO9gdWMB7xsAiB1+L5jMFCCJP/mhbPEfqnGC/VyxfevmgulrRD5A2EPR0QF4D/XNbc/vqSGqnIgkBngdxV4ibQlp1HO+Av79lh88FpVteFuEf6bsCL5SSHLDhJ8seJm0aoD1e6f+DtutdT3mVHaMcrEbMYz3AaNJhbNq0bEuElJ/ANz3eN0m5PPDjjnZto+CQ9o7K0C3DeRqKx2P0uRlrzhuBWIwJMzcC944SPjxYEUXHfT4C4vryztUifweDRw3eil4eFCrCBpGf/6gsdtqLoTPs1uBBVkxVh2UFoypvq5jwW2g9IkwMSHN/sAbNIITH2bRVDR7Z/pJay1eQSTjF1pz3NWcM6kQpB22XVAiOhiWPjJRQuWDtpRh+kOxWUSLaNkXSsf98tkydtHAPkMfUhalyLYFO/66PWyHJDWdFPECqtsOy5mpoJdYD0O/20+xc08z7liVDDgIlSocFXHWG35upSCjW6JWCIiphXqsI3He/dWHuwvTBamA9XB7Q44hTbQY3lKiTRjkbjuNfX8cmxcX7Hq21kTW6OBbxTVR55HSW1znrOe12b0sUz6V4Sk1zI5OB","layer_level":1},{"id":"cc7a1f1b-c70e-4c61-bfbc-6dc408a12ff2","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"查询执行流程","description":"query-execution-flow","prompt":"创建查询执行流程的详细文档。解释从任务检查到执行完成的完整生命周期,包括查询状态检查、数据库事务处理和异常处理机制。详细说明check_and_execute_queries方法的工作原理,包括查询条件筛选、批量执行策略和错误隔离机制。文档化单个查询执行过程,包括CitationEngine的集成、异步调用模式和状态更新流程。提供执行流程的时序图、状态转换图和错误处理策略。包含性能监控指标和调试技巧。","parent_id":"7416db23-312f-478d-8883-2fc3c41ac2e8","order":1,"progress_status":"completed","dependent_files":"backend/app/workers/scheduler.py,backend/app/workers/citation_engine.py","gmt_create":"2026-04-22T18:57:25.383473+08:00","gmt_modified":"2026-04-22T19:11:29.353795+08:00","raw_data":"WikiEncrypted:l9Ho0Yh0r5bYH9QEePEhka2UMFH582eHsB+P+EaGE/r7Zj5gVUJmL6923rRlAt7h2uvHOVtef4s71D/S/eYpYYgI+wRFyPq+fQZYOCmVnMBRyypO5m8WqfyrsSGvviugw2fw2oH6ruNX2ul1LjPKkntbj4o015R9XwHG0oDdyJlipxqNUbh66IV2c2DO1besCA/q2yTeLh6EiHD+vYeG3HO5H+y8kykMbBuh9eydnmoXBTCsTlNBHH8gzmZWEBBSL7DETM0lYCiNr6WpRCoeZEo9ewLagGq1ammmMjcMg+7fO/xo+ZkkACRTnG2vnKh3if5fBjzo9tY4tGmtF7Fevx+yjLRfhpPsg8vSRZeaggRPgub5zBIulo/4qZhAvIVsyYuAQCqrwq6mBxAEjgWWrWjOThUEQOntbugUY0DitRui7XGp7tDjAIWw570xWzTTUWe0CMoHIPghfvhItcnYfjKK+fapnQTnz159jVJarLbBdjZT5JJfw9a+jlkVyF5RIKu3J03cjGFJeBf74DiMxFIMQkKzgL8jg5YiLQTisI4X0BBQrKHQvHzsD5+VzHGwCsz7IIfcdZuhkg3PIA4z4V7eZP9tOBUJdh7iE4fjhOk6fVDG5iZME72OxpBtFkmfrhwM52swaToCosj1eQ5m6V2GjsYY/+ZvaNf2aWn8vBJHI4IEO+Ua1mLHkPRT9bhDGS+Td2r1R2fmSEEvNQ+PTuhnRAyzRASTsjfWljzNWGNmcbCtClwcIuTSwPWLAoL+ANl303UlvxObHa9udiJcH3pZ86+A7iBLoCg6JxZQuCSqD0W6bPR/vozpiCvGs1TvMR5tx6AtfZGWw4JYl9wN5iPPaP8sPsz40D4PWkYIb4fIYY/X3r2iAnbjpV+/8+h3DQCWEdqRNnkZ4Do+XZGOi1yH7QaPOf/RN00+bcNtR36PnzENY47tg8VfPkbt47YTWHf+qvWfMFPwco2hLzXvNFmYN4dVMld5V+9mzCPJSIb+JOcDoVkoGuNq7aXnOVFdERnypgzvjryBt3W2LgPNlD3k6jR7pJAE1gKKrl00VSdDN9npu4QXyT49p+YMv9m8Jbf9xo1Jn2dqM/cJiKZi1FLR0clZHZ7nh7/7WxoEqbKnLWbboi/qyuTABO07nyQfmyXR/24bRp3AIRiM+7Bq8KL9ZFZs05JmFBtaRCAzWdBdM3TElVkfFOyZRZeKaBlk","layer_level":1},{"id":"fec685a0-c9bb-4048-baf4-40b56b2aa29c","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"集成测试","description":"integration-testing","prompt":"创建GEO项目集成测试的综合文档。详细说明API端到端测试的实现方法,包括FastAPI应用测试、数据库连接测试和外部服务集成测试。文档化测试环境的配置,包括测试数据库设置、异步客户端配置和依赖注入覆盖。说明如何测试完整的用户工作流,从认证到查询执行再到结果返回的端到端流程。提供数据库事务管理和测试数据隔离的策略。包含性能测试和负载测试的方法。","parent_id":"fc6f24c3-594e-4153-854f-19250834eeb1","order":1,"progress_status":"completed","dependent_files":"tests/conftest.py,backend/app/main.py,backend/app/database.py","gmt_create":"2026-04-22T18:57:25.616681+08:00","gmt_modified":"2026-04-22T19:12:37.820526+08:00","raw_data":"WikiEncrypted:0j4RRfWJQdenLQLpT+DwLTyjMVG5sQffpuJQoSG8tbOVCukW9eq2bqobYYACR3zRn/N/FP6n0t+ZzbrLBFIDPbiPv5CjhNbth11wsRap1Da2YyKifcvwg7uyuWtSILKRIkP8wIVHX2/TkxRFQi9/m+9Qz3xVjYcNeOD0G8UWxzsSDqYGS90xX9MVwW3N24hbwwcJUE/TAMETdbhwrekpr33ej8R6IT6aBvn7m0Y93BRItueF5HJcUtKCizqJqcsG+BIQ1fodLPAsUiqvYW5dwymM89ASYiZXVbCOJq19yL9K4p1ZW1LsAc2J+6D8SR9RJ//D4gGwBmMTqxyP9bgn5eNt3ILeVMXWLXI9oxaDrdVs2Y4dXNC4AK1j0pegZkiNREUo54kWHFqCuQ6dG8dZB7BmnFEIYjwEeU29KdF6i0dyUH3/h5QjdLfc0OV75zuHQPaMs1p5fn3vo6ubXz/uWtxEF/IoVhph+AyY0Gci8TxdouTw4RZOm9I6mo5m4Y+TBsxUb9RO0WCrD/U7tRgIZcrxFfkORsKadNWm60Q4SRJeImUzxIVCUGBjr4km9AMwVsl94KSXmkBCNOFppeijE4N4Dl0n+RekVA2NBOau2woOIr/GwJ7b2h0jV/5/3x5hihxUSqZJ/q4RJmV/8aP30XRdYwZ6qiLcaF6Ic8kwpaS+9cvzGsPMcUF4GCS6ZSZoq4tuGj1ZY/iFI0w6Wj7rJHWbeBhsF/fHqFm2ijbrvn2nz+lH8Gxb3FM+re81hKNVU3BaZ3fxOAldPPvUxDw9tttWR+oH3F/gRkqefOIsw95LNYf2vIq/HXfNygn6mUw4aYidP1SY8flPcCMl0mDm7y7W6l+DKUJuok11v6h2AM09f0VV9JnGBMgwCic1FjQmfF2FWdqlsEaB0X4+aPne0DgPyIivgCLEq1dyneDm4TxA3CEVODVKHIu4fxPjmDtwbXUvPQe5sWkG7AEkp1Vuul8T/GLjJc/DHgUFe51MPFk3+8i0FCKo0x0fS8Mqm3spHB5W1tKYAIyexOgSkHzqgRdgERCTqUW461c4lKbFO2WIJqWgt/seMgxHr02Yk/pvMU08AaMRC974SfB7kP0lEQ==","layer_level":1},{"id":"b10c2334-a850-471a-9851-a1c698e3a485","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"查询管理接口","description":"queries-api","prompt":"创建查询管理系统的详细API文档。记录查询任务的创建、读取、更新、删除和执行操作的完整流程。详细说明查询任务的数据模型、字段定义和验证规则。文档化查询任务的状态管理、调度机制和执行监控功能。包含查询参数配置、定时任务设置和批量操作接口。提供查询任务生命周期管理的最佳实践和错误处理策略。","parent_id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","order":1,"progress_status":"completed","dependent_files":"backend/app/api/queries.py,backend/app/schemas/query.py,backend/app/models/query.py","gmt_create":"2026-04-22T18:57:37.836674+08:00","gmt_modified":"2026-04-23T20:33:57.631967+08:00","raw_data":"WikiEncrypted:pNRlLcrWPaMbqj3wxGubppFNc0/AzaZuAQDxEKkb9fgIpRlV367n+a2PWiIY8g+kSLtBeyylocxMvW4jGcb79BLGGixlb4O6TPBIJc7v8GgK1UB+nLdmTHx/nT1JfKtrcPOkDjQ/yPHvw+ykuXomGaA2hiHzzBxAe+PbZILYbxYpQjnTqh7v4SGaGQ9U1E2EOXJ0RFpwna+s0NYfvBk+YvwkzRYPMiKcr+F4pcD5xTUWKMHZO3NuijnbDIE02fzYXvZ/xDBLubLxQ9Byx2dgdWxmi+xwo+gspb4v/DcrNll6qDWKwDnHGuyOQzDJJ1vXg3AaxwF5c2JyyQLNPUM7YV2kwxweQA08sFkJHAJ2yA0z4XM/DvAPZRdQf54LPlDB1zuFh8c3Ih5WaEO7+aTJM4YSmIYUbqjIjbqsMea3+cY2bIHXq2kdRT7uLikCktC9Lakrz0fFKLoJLovY3S1UBP3i7tCt6cmtMlN5g5hyHGqIVTT/fqAVUAc7wSZumMs4rr4uyEizs6t12KohwD2SqiCePMC+kbUpHV0fEBuzGlnYqPbW0yjiiVQlmIe8wTDNiNNa88JmcXkQB1pYhkAYrBUvBUN4Nrdf7lGBTIbQkQwvVoHuFah0MmoLuRQtoBqISkKJ9PMN0EOofu4pUNKyxmmcY87ZVbUNrwkgbvahp01NhzlsOLdxEa7d/74gFI+6MOrPY/6TcJqttksCQEkme4HWeJgRl5S2bCy3hlU9qcZyk6WAGPjVZg4JXdq2UbvBokHzB7KA7421mWkKGQALuZcUApNvwsvF1ZHjVau13wxP02WvaOzt+udwhgw2PXdNi26RDqwLhRL+GIjkpNfVngOcLfk1ULiMS87NXS9kHRTdXxu5W6PqAzyrgByrL3G+nPHL+XmMw6ntgsJdmtYmNWV0VijOOQGxSJGQHtaif6ZhBP+ckr+OXJ4GlkTF3jvGcfRkfx/eox+BaoxWI06xuXbFfImPuNqqa6odgzQzWv4CkvAnjcFq7umhE9Iri8xw/PDlUzBnr4HGnUPnAVvdomeMasz/oiPVTaI0O6tO3+I=","layer_level":1},{"id":"0c1d3542-92cf-4796-8dba-82caf2f7b361","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"开发流程","description":"development-workflow","prompt":"创建GEO项目的开发流程文档。详细说明Git分支策略和工作流,包括feature分支、develop分支和release分支的管理。文档化代码审查流程,包括Pull Request模板、审查标准和合并要求。说明版本发布管理,包括语义化版本控制、变更日志维护和发布标签。提供持续集成/持续部署(CI/CD)配置说明。包含开发环境搭建和团队协作的最佳实践。","parent_id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","order":1,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/Dockerfile,frontend/Dockerfile,backend/requirements.txt,frontend/package.json","gmt_create":"2026-04-22T18:57:39.374243+08:00","gmt_modified":"2026-04-22T19:13:23.08237+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9Czfqaqo1gAmvHQcnSrNK3eg3bg6SLp6Qtm0Hd5JwzGY3jDj+dSShAoxbjZ6YvxA0ahjJ7+4npTrro/p0OlyQfTnVZ5PYAZZMMXhJM063eUYiuQW88+rNBbc3mKbsAdZboYndBnd6/wybElFnP7TORa5qWxWMveWf6U7O01ocA+ZnrQqoPWB5xrRfSzD1p3yGFA3fzKobYoxAAA3xE1ALEY0vjLN7vajgFVllC2Z6uKZOE4Q6v+W+r18Pr7pLXGDJM7b6pEfFCqcEMw2fWzUAFYSUOjSyg7j9TjP6Lae0AWOmmxIDmJIIiaY0BCv/iOXgg4F6QSChC8bZFyWJATWTNhfmHAMU6tYpDXqDsfLmRpczznZ5nzTtcX+87Ndpqchh+NWU4y5OYvzEeMRCh3HcCUDs5KrOoCJgRneV8BzAxfk4gCwSo2t2D/FYg1XWGfb6hPdmWzePBCYhhIGeDQRyAdApe2Js8UhXUOD3TM7yzFPMX9q5U9ZBfejCp8TyW2thbRzOL4s5Fto9PpXg38HbnE59l0BmptA7z5bTKTp4DHA8d4NhgCeDbfNLfSJXbyYaD3RqsQt8szzbxB2Q8mvEi8iUZUARZR0lyq0oEw3cYkZRo7Dcb1n5az2OJRZwHmvRYAm7KceVqa92aKeBUlVrfA7nOuwsVH+cEXyzE8ApglbJiQfTJshljzVBvYPkz0BxhBcYrnRIjy9TlqfTs67adZyWc0wqEVZeZhuYHwwN5yID2imZ/nq7cqiZCbV1dtBUUM6ayhVX2h/cBSLpHKAwVHAg9bb9V+RxXgtSYWYKCHsAD0ymmu/Fzk3/QBvrrFiVqL4b/5CKqk6Qi2dh4pN4tZg3zJZDuyx6xzWSrsHeYGnLunZQWtHn2lr2vR6+RqzRTDiOC8SizuAjeZP72IbQf5Xyyf65hS6yls8xztLA9oDCNnSDgJ/RiNDOspfgUyj2xemyoNqf2eJ/kCDdo4/VXxMiKVfg3MHY+Vi4dVlRcSEJYLU4AYuGqtqVhTIi2ESpnPXgDPAIT+ZZPqg0hLIIPx+HNqo5qz0qqxvliLlcAhizNT4MG3p3dBRI2IkylW4gHg==","layer_level":1},{"id":"109a8fb1-6619-4bc7-8481-e28cc2127d24","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"生产环境部署","description":"production-deployment","prompt":"创建GEO项目生产环境部署的综合指南。详细说明生产环境的部署架构,包括Nginx反向代理配置、SSL证书管理和负载均衡设置。文档化环境变量的安全配置,包括数据库连接、Redis配置和API密钥管理。说明生产环境的性能优化策略,包括静态资源缓存、Gzip压缩和CDN集成。提供安全加固措施,包括防火墙配置、访问控制和数据加密。包含域名配置、DNS设置和HTTPS证书申请流程。提供部署后的验证步骤和性能基准测试方法。","parent_id":"803bfef4-3985-477e-a61c-915a246d0061","order":1,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/Dockerfile,frontend/Dockerfile,backend/requirements.txt,frontend/package.json","gmt_create":"2026-04-22T18:57:40.355193+08:00","gmt_modified":"2026-04-22T19:13:58.697418+08:00","raw_data":"WikiEncrypted:1PcQ+NupkgQiLQ506NXlaizhNZeqS8C1INCZPnjb6ozpR9JAOMhzbAgtECu8k4VbH9zFlJ7iHctHtUva/hpzUaHUxVuG/rnK2RrcCUGVfbG0WKRpjG+EsQheC10ihbe51Rb+uXm+ciY+/SOxWBmrtK9m9jwSBQZQx2vXLOPvachfZTksEB+Ak0/Y5DF+vjL4WN+ym2SAYi7dW98iM9YCG0AepSeRm5DxENKRvtPR7m+w+vL7F2oISKi67pFiAATpFXSSgbkKjENZIgPfqc+pJfUREOrnHANiCx/oVaX2aOb68pluM8RGtAgyOfMp097D2Nt4PR/HN691JphbIyyeHPc82yGTjeuFPfg5XqFkhM4gvd9EdBLE3/6bh/MJhYjEwmN2RRhz7EYgLjSss8gEdDu+YLIEbHIaIC5fFS7gss/cJULC0/i3v4nnobE2Iqh3WdeIMAmynsin0sjO60LhvRmXlecODQ7+1EeQpMWju5LwTuVyX3dnr4CO4rJJxEBNYA4gaJuef2xo/ZXoun6cEIHjUq7qVNVOBZw2QtqBD2CyY3NULBP+nDD/NwjH/Gh98gl2Q0am/gLAHHoKcZfkSub1o1m1ZWTFgYn6MqyYv95NuqxR5+MSPb9C6/rwkYduPmovFsS2Alznry8TjsLdD5iSNz9MdRTR9iNV/A/TIIovgVogXlgCwnIz6EXZUgDnTeBTfTHxC+gwTrSKXUigRlIxEGksBJkzktpQA8y9mwnIfHgRDI4c8WEQRGEcKm2N3/ZPVOyBHSOHNpXK/BX8MCQqGoj0x6jusO9pJehw7KRprktlMbB0LmAuc5i0RYf9SnhsGs23W7ktzhS+uTjRB4kviSWZdHs+hgh1Pu0HsyBZxX7pemalNElQsWbvLwFNsJY1L1yjHNbBDYyXC7gZZqdb2l9GqKVgozQuK+qUUA0Vj2o6Cr4CxL01vBYMFpHALv8KnmAI2CuprX0c6PmsXV20FAFF8tIxoGfh7qcvquq/d4ONxZ5FZ1hJPYzi2xeCU0p8gFYEYYlbGMXdLCk0L5Tu0aDmTVkkrZlOHSIneYJDGZ1W/q+U6W18i48iBLvFBHD19jGHBgdzRuX551rbt4axStOcEGuyFrivbWK9R2zdcffHbiRtxe9wSFXxthLGe23JR42EF5PmZmMtlUhpV6alxUZNxguf+q/ouSz7Xn8+o6amnO60N57RyJjJO7O6+TgfHeroxL7CpABxkru/vXEJ5XTLqZBiECMMi4keQOqUbNZX8Ioct03e1YG7OgHtDSayZFtZf3kwN2ToVkxIRpLHTUHxSWLZu0YiAI2MONU=","layer_level":1},{"id":"4d5ac6d7-8812-414b-b8df-68574cc36d7d","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"配置定制","description":"configuration-customization","prompt":"创建GEO项目配置定制的综合文档。详细说明环境变量配置管理,包括数据库连接配置、AI平台API密钥管理和Redis缓存配置。文档化功能开关的实现机制,包括动态配置加载、运行时功能启用/禁用和配置热更新。说明性能调优参数的配置方法,包括数据库连接池大小、异步任务并发数和缓存策略参数。提供前端主题定制指南,包括Tailwind CSS配置、颜色方案定制和响应式断点调整。包含生产环境配置最佳实践和安全配置建议。","parent_id":"b2bb2e3c-5661-497c-97dd-15bf6ee8b7d4","order":1,"progress_status":"completed","dependent_files":"backend/app/config.py,backend/alembic.ini,frontend/tailwind.config.ts,frontend/next.config.mjs","gmt_create":"2026-04-22T18:57:48.684725+08:00","gmt_modified":"2026-04-22T19:14:17.843426+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllKOp167MIMMk/Juev/hVoGY4+Uz0exYT+x+CbyScHHV/Mh1WUG25XsdoZThZQEtO0sLOn9+hGddmRIK1DWfKa/hxxPvnViNvXvltvNYiLNOIbKgkBxtXovEsADGNyhZh4ndOp+a/upcB9NJ4f0miwJacx2Kc2MyCkDCgUM/gJEjyoB9tRPRJVPFRvprzmaiPXJ1K8jd+KuXwrM12ogUA9iPZOtJJQTeEXQVIItOZYzY5bzAZ/mnRyVIB11vegQ+E6Lzm7D1Nza2QOZ2893Bzu61StECZsNlfecc+xEh82aNHrbFip7Fg2I3E3fqBs5EgoNXO5Wnvkcd9fHCw9vI9kMJucTIPcthOyWAFiP56zu6Hzknqy5N0o2gSAJQdhzzEvIUUKeeGDZKSY2EjFsH531gWa+Q9m0FsYWFcErqBlQXG8K06rnNNeMwR71GloOifAK0ySuik/7BjJ7xIR7HF8FOfSaOhI011z3GaEBxZsMfPc13v0joKHld4p4PRBXAfExWLlfuM6cmB/77U4xdBrHVyMcS8NPKuT+TQCTzjr2uUKzxUcjbz+yGbjVFGKMaVzKH0UQfLKeSDUnb1JNBrQWR0PFAuZsPZt730dAHdElNx9MenV8/GY+XPklTXdGMUtflT6CKf3fLy6ppMVbMDph2Ov+1Xh3z35Y5Mz3rufJasyOE0rZQMNsUu3wHtnjYprxfzvmpP9En5z4KoGEa/282c8xoLp+n3+etuGCN2aor1BSrro/ZpPTduyQtqj2WdfXDnZo1In/RRAh0TwqPze8Cd244OFfKDDAEICSSoZl0S/2l15QyTbqDNVnRzLndJswfAi2yfaVOEkBHvZuDQZXmmlf4VGsJYihVUwG8Y8bvegjLxgcD3LFGNKjzuKP1eAYLcotF84HRaFwNG3hz8Mv8puFMKyrHVKIC3UxzBVaialQqdO3oFRcrLdcSIx1JlY2qhK3BsrUtj0OLURUs0dBnCQS4ndq4NTLSQECFIifA9l7GSPXyOkGkp0+H5QCfjOl7L/3EJ2o+lTisAZggIZSZ57Ig3WxOGp4tgBh18ubr0TRNi0u/VccTbFyT97irQVq+9KNBKwPZZazaWvJEuqNSsdX3WGjh17VTbbZgmTkAwLyuCf+nyKkGUkq6MtRYwX17XkQuhceFpBmYkoxlfSWr4odGaspQ3c/AJ5zFNMigymGGpxOynWRWD5Abo/3R67eqZ9rZbmCqQbF0fkFPxdi1prJr87dubXtG1Zkj8AE/ZGXYjwas/l8NeDYxLFeir/ic+yR2tcU34lFAY/B86IHf+EBSbBYigErIEadb9gw81","layer_level":1},{"id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"后端系统架构","description":"backend-architecture","prompt":"为GEO后端系统创建全面的架构文档。详细描述基于FastAPI的后端架构设计,包括应用配置、中间件设置、路由组织和生命周期管理。解释数据库连接、ORM配置和异步处理机制。文档化认证系统的实现,包括JWT令牌管理、权限控制和用户会话处理。说明API接口设计原则、错误处理机制和响应格式规范。包含系统监控、日志记录和性能优化策略。提供架构决策的技术背景和权衡考虑。","order":2,"progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/database.py,backend/app/config.py,backend/app/api/,backend/app/models/,backend/app/workers/","gmt_create":"2026-04-22T18:56:47.08233+08:00","gmt_modified":"2026-04-22T18:59:21.004588+08:00","raw_data":"WikiEncrypted:N3UbzwGjCC3xD6BrTM0cq8Y9ccVoDb9n1FwE8c3MNy0X5y4Ej4ZnP3KnXAR2aRWtzrMaJkrDRdDMkztKRYWc3Wk1Jzwnfsgqt59so9pKRU5JZY61Wzqd2PzzDU1e10OntPwETdHfAXsLLggvksYCugHgi1fhnyRiDR3C7ABv3U/j9Z+xFbLaU1X2+FqXtTpJMe0gZJ2yDe8YIV05/f1NdFiyt5NDWdtbC4Ib9Y2H52fXoe2qIveG8dUmBzkwbHVu2VM4E9bT7go9y9+pSOyoRwO8iQIgfY0dKsQcvDtHpO5T2plEfrmFKSlwMCiiivasNoz+7ylsz8JGo5nnlfBqTtNbVZX+TrC9x539RAxL6rEZvRxbFucfobivfqV9UKh//2yYFcZ/44GbNjqNQxfF5WXJxxR5cl6crLZO089slohFwSj4xFVRarnzEA+wA45v8N+WhlaCWCr9D3DeX84ssYvMnAzwz5wUApwFIB0+dzG6CyO1yNQOBdcUhAFEHAZDzWi4UMgnwXCHBvsXx9keqXfSQYdPjZC06gegy0IfbeW2XdHsznPqPyE0TNk7R2EJ7Xm+Ky8I65Fbs56g/2k/ETmTt8ja8RfGpRbQpjW231dxIdRNdTNH2W7VkpjSFNJ2KD74a+UFY5G8eSFAvJWuEMLVCQB69C+TO9ML3zzNA5YE6/MzhYsbd5Vz6YyvCBTjMSVufoTPK3n1k/ioOdDzRFEZc8mucNTJBrEu9OGgb0gUFQFXMEsabcloQaO6ZbOBLefSgrAdlSolWRG7Bu4XyCzXOYvqrGKNPsTZQOTbVkOP9Mg6xRN/8jkyY8z/5TEh3lWnKh8ZkLlumG4QfdLnF2LHVp0IX+d/5HvT3GBtoXN+zJ3hMVEVumiVT7qCJz1afiTQZhPERVAirDX6cZ51CSo1FkRWS55AvnICqVpP+fpNLl8zLWvuuOLeA6Ab3x/0rI6b0LNf/UAqeSW64LGHL0YDWwB+G2c5oNp+bYuOVfgmngSUmDdDFHHL0k/KEoU9VN/+5f6KypjM2MYUKMLz9pwbX0qvUZadQCg/thD3v31zZ8ZroTFTEa6tAyAfqojuUXtJ/SI2l+VlpvP6dNjUfsudg8Hr7AQQescm0CN0tOYTOJZ0P+2/RmPTHviifKR/54LVuaTLEJGhd+3K5IhDTvIOhayZi6E4ARpakMmWdVfsGPv6ETkH819SOX3alS7vHgV/auGWsJcRLJinONhxTppcAf3MFf2nq8AGZR91LDCZPwV0hO8YTxygvxX/+uNJhqe5oMGvUjJvTo6xoBkb3JATSdHKXM+lEG2lbnbFjUN+bVRcAH+Qw5FdSl1cHbm/QJnwQ32GeGmAZmQ2TTHE+tdQgZ6yA5dDsvSJGTsAPieIDKEvIql2j+9eoR1X2j1mD0T1D4APKUfgD0zkNE9QeQ=="},{"id":"159f2ccf-71b7-4d1b-a4c4-c15b23a4126e","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"API接口设计","description":"api-design","prompt":"为GEO API接口设计创建详细的规范文档。解释RESTful API设计原则和路由组织结构,包括URL命名规范、HTTP方法使用和状态码标准。详细说明API版本控制策略和路由前缀管理。文档化请求和响应数据模型,包括Pydantic模型定义、字段验证和序列化规则。解释错误处理机制,包括异常类型分类、错误响应格式和HTTP状态码映射。说明API文档生成和测试策略。包含认证和授权在API层的实现,包括权限检查和访问控制。提供API使用示例和最佳实践指南。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","order":2,"progress_status":"completed","dependent_files":"backend/app/api/auth.py,backend/app/api/queries.py,backend/app/api/citations.py,backend/app/api/reports.py","gmt_create":"2026-04-22T18:57:02.317509+08:00","gmt_modified":"2026-04-22T19:15:14.078939+08:00","raw_data":"WikiEncrypted:xKp6XrvgQ6yDy/qZb6DBAyzRhY9oY9wND++XWs8abaIu3G2LITgI+Z0UQBWYGKhuTqBsuTOr5OLyKixlekyR1Xfq7usrLYQyUqykz50fvTC/eHiVp24qJjGIE/yM/QXCeZCQ0Io9avqxwyMLsy7oz+0kRVW2WjLzRO6OrvbiUY+8yPMkSPi3UCtyM0GVLTpD/1yhEPFlJimDIuMsn1U/6MxjS0vcd+yEDjCBtrAoR40VIxrMz5v+dKD/pjfzoR1p6GEjf7b6zpzZGPhEtFmhzIahThZIdAaGShFz2YepbNwjns9s+2XJPvMdDYb5mBTcQCjoCHeUfqpQ5eRpjJ47qGFAfFw7lpv7GfOixRgEasUkVhJaX2fS+R0bGg3mmJFfg8tK9XXCm0OvNdgj+aJ6EUKT7GWXDkWLJd4NWEHKvqO9jfXu7YBJxM5tfR1i4e7CPz16fSaCPJtKsI+HgIoTf1JQ+3TrBqGncHko/5j2BznPg08EvIvKnECTrZEH1ATf3+Dpz7cY5x5f+D+oBDxG88V899fkfZSrXbY4YZJnhO691mRZPnKUgr3TsGO4kK0/eZw19HvuCyKxuqWlpHvV2nWGiFCyQpLul9lskV53bxNE6LCdF4LpQgsnxp3NRkXRo9kqVcTFEVZX1D65nknWMQHMOr91wEbFu5y7eHBY/M1mlvT+FpX/uzM6NvEAUkyKHsIpLihbh/obM0dUOwFr/y/hUOLfs5gw3aMosXT7+uwJRXkzxJlNzCyzWUQoMQbw19Mq53uhogOLGeVQNV9+lYZlsF9DEbUg7pWX1HOTZw0qj0G50JKHtiM0mGIwmRxZy7HDNhqrMGXboadds7LRAL8up6y1uZya4V4Y43X61XVoJJrERnU6caJROOJ+2I5yEbNYOvo/g+dDZf6DLrj/5IPInHUF/rwxMPX3V17obui48Yk9OOgLp3s7TEAU+t97lkEPo58h2oDARfsbxrnrVd0I9z2/IJSBouFoAA5+wGUVU3BH0Wdc9bwTyjJg6t+iiz5Z14RRB6hnBI45qD3U9a5fIJ1mWWGl2mBaOfvJck5hTbq7v+Au4iOMprm6m9SIq8C9D5w/PtHslYGeBDUYeIOWciDfxj90/WlNjcdIpE8qX8PqRFKdnwDCBOD0xewCH5Cw+MxNEuc6RRDsFu6vhFjjYe/vtb6bNc674kCJn5eQOGFAo6+v5wfkkZhG1S1q5EY8GJf+H3HgtucPikTjpKAbpBkkiorIBJ4n6Gdi9Jof2lYe1Ina6yJPsnNyd1MyQgdpEg7sStrvevt6IaMoeIe0vQ+WPecPhqsIm9X4wS4nI7Knd7q8WUsBQfphwlTzUb0igehWxKagmMc8N3x64Q==","layer_level":1},{"id":"9cc59a5a-f597-4707-b994-b6c49514d553","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"页面组件设计","description":"page-components","prompt":"创建页面组件设计的综合文档。详细说明仪表板、查询管理、引用数据、报告导出和设置页面的组件结构和实现。文档化页面布局设计、导航结构和用户体验流程。解释页面级数据获取策略、状态管理和错误边界处理。说明页面间的导航逻辑、路由参数传递和页面生命周期管理。包含页面性能优化、懒加载策略和SEO配置。提供页面组件的开发规范和最佳实践。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","order":2,"progress_status":"completed","dependent_files":"frontend/app/(dashboard)/dashboard/page.tsx,frontend/app/(dashboard)/dashboard/queries/page.tsx,frontend/app/(dashboard)/dashboard/citations/page.tsx,frontend/app/(dashboard)/dashboard/reports/page.tsx,frontend/app/(dashboard)/queries/page.tsx,frontend/app/(dashboard)/citations/page.tsx,frontend/app/(dashboard)/reports/page.tsx,frontend/app/(dashboard)/settings/page.tsx,frontend/app/(auth)/login/page.tsx,frontend/app/(auth)/register/page.tsx","gmt_create":"2026-04-22T18:57:04.216604+08:00","gmt_modified":"2026-04-23T15:19:43.818179+08:00","raw_data":"WikiEncrypted:5oI5y1yTFbg14yVSXHYDGFeITEbIkjmdES7qr/P4na8TrPHqKZDCV0OwvONxgczey0MsZEE95T/q1IqTn1MDXDe+zweBCSZSlefgNsHwrtPEnyqFrV2NhO5nKlcD6tYwGnW5Ag8vX/svtjfAjl//gRYZD89hOQGnlYrcSU5a6FC1LQaaD4KqNgrn7yYxshfLveO4k610B0mb5BrOdyTpLLBcuNmEgY9/GKvdoyt0cfpZPwN5J+wPoYjAnGjm9LDIkL9L02r9Lvvq1mhN88A7yKU49c6lU6S75IzcT+OFjTd7OXXastuPBLJRb1A0sFMKjZVshweginUNg6fhc3vFQ08Hthoizv1Pjm4qNnloa7P3w/rnuQrvCJk3Nt1PWn+ouHeenTb9bsV/KwF6BGJ4HGDSDyFcd0YmY4CDfW5aSBFP1QYneJUBxux4dxgw1GbBsa6R2o+cDCB4DqSA14RqNvsI4r16PlAraoYSaQRYj8NQzY5dRbzpEnhmyPsBmgzcW1gLo067XcLiF0DJvlouezCyJW+Y9YA0fmJslQSYvcMhcI8mYdAfGDi1EoXoUiQYMnvlYq8J8ktBwLbIskG3FgeWvmoAFZE08E9APByPtLjDcHHan03Nwy7CPZqb6FtXLeHH6H4TK+WRnxyWWUCCGwQxVYXq0SDxaUvHuhZ4XUr7+Q1U42rlW6cND/0kiOhqZxe5qp/7PBom2IrcPdORh4lVv3RCQrIDCkHcBzCV+1WIwFeaxUaSDNJMmZ500JhDl+ECx+6dgbMAMTRPh+SxHxLd/OJMI9dD9eWQZMj4RwDxTbqlVp8cpoAEGPNvmweo2JApNndlNo1gDMJ++de+I8cKsyCdEsPfQ8ikJHY3R/UaPh/mPp8pQaKIBBP/nvMsT8jYMtdv59ejwQy6+/9dplr/mqdQCkRA4B/maZQ57aFmnsw8HZM9ukvo0Ni9KpUFM7iFAVdZy3NGVf8DX4J0jwAjd643HXH9I6+6dP2Jfs7ezsKz1T5yAHvocFPqxtbC3b6WrwrjPWf32N1a/qM1RiZdPyUNGE5ij+CTm9PUzcQxUcatfkjdDGnwRIAJMmmrtYVTBvCP+xUKuAp2UmXU9xfTYxlU6rdp5LyGQS9dHP0x7KBg+yOWNzECNEzMiCgE7gOqv+X75WA7D/sSBMaO52H6f4qtJovvnkwq4r67A/ByroGz4ctZ/wSVqTHti+gzlXIxgHKWr8VVq1HUFUCSRdZH3Q8PaR08vmQcapIQHpDRW13nUf7saKZh3N6R63lREJu04Ie+fQ8i7VUsNE4QclcrUsdj7eUxv5xtz7xrCEBDZooPT3RW8OM08MJ2Qe9sU6bdCvHTPE21OkEYFD1tWzWH7149QZPhOzkXIQ7qGdKQlmRvyOnd4uL20k58I3p/q9ktqLxBCy5s9Ac6PYODpXPLAelkYzhV3TcJAzxphaGjCmR8goNGJJWsqw3FOOCjGqWliL0JmW23Xo4emXDMUU50N9Ru8dM6NBIs6o8Hy3YcM2dj4t5RwlVejQhCn9gwtm742VYEdCEYKq+8FJtp49Xm01KPOtgTyFN0lF+HOQG6LCrIBY8cXRQtkck1aTvxD+KmKoVxp09guujaDutV+eyhyb5dYSytjq2ptL1FsYHLS14Xa+GW6DEvniGGnCzP2LTzntbqIVzx3J6F7gquTfsiDTTPkIijyYxWvkSseJc=","layer_level":1},{"id":"f70f5d9b-d7c7-4dc6-b36a-5f4508e6acaa","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"系统架构","description":"system-architecture","prompt":"为GEO项目创建系统架构文档。描述整体的分层架构设计,包括表现层(Next.js前端)、业务逻辑层(FastAPI后端)、数据访问层(SQLAlchemy ORM)和基础设施层(Docker容器)。详细说明核心组件之间的交互关系,如前端通过API与后端通信、后端通过工作器调用AI平台、数据库存储业务数据等。解释数据流向和处理流程,从用户请求到AI平台查询再到结果返回的完整链路。介绍关键的设计模式,如适配器模式用于AI平台集成、依赖注入用于服务管理等。提供系统拓扑图和组件关系图,帮助开发者理解系统的整体结构和各部分职责。","parent_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","order":2,"progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/database.py,docker-compose.yml,backend/app/workers/scheduler.py","gmt_create":"2026-04-22T18:57:13.329904+08:00","gmt_modified":"2026-04-22T19:15:17.452724+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjCy7qJxJBEw3w9EAqc5Otte14+SfcEK3DSbmZRhW2TgD6BlsxDXHpLcSijck/Nymh09xxwlFe9hXY5fsIsj1IZW9egIbof/vmRQ/HkxJSvNy7WDeHEuuU7TDae+7kls5UELL0/oUUiCC4fjizzoaOlqMuOvW/DImO8fA0xbQ2wAt6L3bqB1pcGWvnB10d6EKKhQYmUj8xv/2M3cUBtDMkUdyKbAuduBIInt+jZnOGnXKcr1w3W66u8elz0iqgWhMCsMFd54QokMhn1Uyguz3NcIfEVH6IlKil0ufINdb2d/QV+9aukLvJ4Mq4YDlUjQ2iJ8oxAYYUb8eIjBnsLHPfBnMUyXVAo0tbyNB7wUmRb/L1VR7ipOMMKd9mEohzKGpsTxHpM8my7x8Ryc9N1guO/H766qiiNij1HNCu4rWVW12oeTTjAoEKdLzLyn59Fc4QjYVkS/I+r/lwRtMNN0OGjWXGXea+HUaIHwW1088PW3eZj3FlyGEsTiYb6ysJAWanY2qoIhASm31o8s9DekhdxTRbWeBCNzGN2ufTYGM9ygKNDHF5dCbVW0/Vtc6FC/TDiflhIaDY44Gvuu84O4l7SRBl0jKM8uCFHOgx/NzDlnUdNFaSOdjUBxQ7vVyi0Q5X6P4H/ERPzJQvOa0gmXW7S1ry0P4/CRjOCzq0Afw+mAf2j4PHM/4MWFkvrFkycbEkHWoWnPY+DWYI00TVSdTWjj4n4l9wbj1XDhXavLdg00qHVjv0dTq1ghcZKv3C04T5MfvVQjMXCKPQaK0KzwZDfXydWnlyLPgM8t95lTETMkjjEpIMtiv2w1gJda4ChFrJq27oPmVlEoVzGPuuk2B4YN3z6A5y3ehJpejis1/EuBjd0vXHhwghZeUv8mMD4smRPUMA8GcEeKVs9TQgBHqVuuVDdEAQfE7w1ILarmq3trYAuc+LH1KMUyPD0aZEbhKZdMRkFYWLhfyYeuazm9SfO1BqtEuTVoAXdLD86TCQNmxxTZPgU9OB9JluopAMt1oszBwKK/88UqwBqgUZle95RTKVR6QPn7zAGZaDbfsbYvsGUfNBSH08o6nnraxB0Vpj+r6WaoZLCcxhqSWoTp60YlMt7BDsla0Lt8r6D+a89AtCqZOHLJbrEx6T4wsmiykEi1uC/9XhtcsTHuytq/rHeDWR/bTToB+mGjBipoGscvIFMgUJonYCOjLDyBPGpeWispYZV21bIJQtFIYv06NKYU/IV9ZISLel9AttowTEXv/Y/U1xRtmaTp3BgGI4iRdwXYMJICv7Jyr5kYd2CrLJQPzEBdkJi7+q3WNdTCWBPd3B3hL/tTL2lFNDOc1sqMga78PcdWWHQfheORW9OfH3cDRiq85LJziojysfwkQVqHY7niPkDyphAwn9F2xZZl9ZfahAaU07CgK26wyavgkYOAU0dlWI6WrAKE2gQOzOxBL","layer_level":1},{"id":"816a2805-76c9-4f32-a3cf-96428208081e","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据模型","description":"data-models","prompt":"创建GEO项目数据模型文档。详细说明SQLAlchemy ORM模型的实现,包括模型类定义、字段映射和关系配置。文档化每个模型的属性、方法和业务逻辑。解释模型之间的关系映射,包括级联操作和外键约束。说明模型的序列化、反序列化和数据验证机制。包含模型的生命周期管理、事件钩子和自定义行为。提供模型使用示例和最佳实践指南。","parent_id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","order":2,"progress_status":"completed","dependent_files":"backend/app/models/user.py,backend/app/models/query.py,backend/app/models/citation_record.py,backend/app/models/query_task.py,backend/app/models/subscription.py,backend/app/models/__init__.py","gmt_create":"2026-04-22T18:57:14.161024+08:00","gmt_modified":"2026-04-23T15:21:46.785144+08:00","raw_data":"WikiEncrypted:Zb5TNaG1u/mRrgPr+sDyCr47uD+4y/GruMCqF9C9nxStxKZi2OWvk4ViC2NJmWUO/Jxugi7iel+AeINiHAz9c7erlmOh78DEPvZI5zcQaIYzm9l0e6yLGbMS64gON4GYqx4TUizeLGAIntFG405vTATENZMylmwR0jTbWx2uP/KlAPch72o8TGREvPTy7FGikY773VIwNZq0MXKYxjbwvld1ADWYjtxMoKmZ7pixx5LeZM3O+bfisD7UTqLobS2VvR5Ic2ynsAkEEzef+Rh5O85TXra/uluSuAOST9W65TENzfEzwHe+CNAQmUp47/vG6d7I14WPEipc0/aKbh43AhJkclnRjpR0bYFPJrW/HuN6chk1uhxzBK9sKpOUOLZ5MffdIttkTAOz4Ny5MxnUwt0zj4hDsVOevpasy4FZ/3pVx07fb7SlIDC18p+OUYQIk9JqBxZmgeMslhOBSkmRTAwqir6PN/GuLEeeC0mPlAMNhsvDrklfLlJmLY8MuSQHqteqYJryoZ1cp1yeqxATnDfeigUr8eSSaFqZc5S/AlgSIrvr+7XJWk/Oz0wKPLRXNUcG9yDweys2pdDb/hV5hiTmLYjgvYvnDLMMjrFgR6Fogz3U5ItD0xLC3lt09GJfm8jhS9E4AJd36iPN2WMeHsM0ctdvzYB/MKtWIIrBkWuRD7CZeGJepiGO/GJprp9HK9m+APjZQ4oc5d43tgDModdepglAEgNklY7IzUAPW0Qls3DhfUUHq/Zuf5AxAfUAAg1JOW2qEQWV+btkeoRPEiHjZXFDLGsC226d9yUlnYcTkFOeVbL2gomt13MPt6c4EQ3y4BSoG1CYqO0q6IgkX6a4g9QE7OKjdE3RX8rNGixxNJzfx3oeGtcne/lDvhO9/U5SlpNgbkkemAIPu+eZw1zMpknFdRwUdwOwgyVNxR/tt9AEktJ2gcaxRGfG3xTSa0JHoniO9otA8VI+Paw/il8qAI4Z1kf2w+L8LavGt05hchhlzWcrGbBjXF/VkCoYxFvM6JX9FafcLjoT3FtVTSorVysHodJyR1nHB1TL6/SH9v5IZMlZeQ6/Gm87g4SquVaVgvEBMuFPA6c7BBhWUqGw48UIBxfB3Ri4l8HYfRBiqrPSIuldaD+xTVL8F5XsVhczS4JXDnX3RLtvjOuBZRcejVO0ubg+syCfBhf+6CtYOyDTTQDGgwdiNg0MjJnmjy5TMmMdynOGSm2oF6wS+tUuWG8lMMBtredaLHdyVb455+OY2oQ5hJZGo7eyzchNabr+Xous+Ve/4cM2FOoHdQ==","layer_level":1},{"id":"64cbb894-755f-47b5-854e-c26c7821e9b2","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"文心平台集成","description":"wenxin-platform-integration","prompt":"创建文心平台集成的详细文档。详细说明文心平台适配器的实现,包括API调用封装和HTTP请求处理。文档化请求参数构建,包括关键词处理、请求头设置和认证机制。解释响应解析逻辑,包括JSON数据提取、错误码处理和异常情况处理。说明配置管理机制,包括API密钥管理、请求超时设置和重试配置。提供文心平台API调用的具体示例和错误处理方案。包含安全注意事项和最佳实践建议。","parent_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","order":2,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-22T18:57:14.59287+08:00","gmt_modified":"2026-04-23T20:31:50.506814+08:00","raw_data":"WikiEncrypted:2Sm2Oxxfu6PsmMr2pZflRJ0uQ9gYQuPnIUHmJotOVM3YPmWq0HSDTQGvIE8WdDGtHlaemWXQzS6Ra6mdo6lkRL4Slh8EfpKUg4wigWPN0r3GaSXHkkAIs0wgET5OjWqYvTL1QooFFzxPhX1ZTdHcTpcp7CVvRNSVGiTu93qzZloeLF1EwOxsLvQ8hFf9SuWGjeOUYDGh7ktNwrMbeUIV32VkQlqsqQ1HqoKoqjAh2d6Xou7+peaCdxzJOhMf14e/vNiC12p6PfM2oyBY8gR9sMPKd1zgEepWsc+ePSazz3RO+zy9fbc5pJTLZdtswhL0xGhZKuYgYlctRId70DLeyiJHlvEQzEE8KB7QJqULfiB4lgMO84A+DhPeslR4F9Edbm+5P11/ycz4y8kzZQwnt5F4iIOC7HOPRSdGTYTxO53cEcqSfBI/wH7enb6Zt49h8mK4UyYW0fUuKBE7dPAjxC6IxbdabWdu8WefhxUR1oFx6BkdGWLLmj9ZOLMReTwnsJdK5xmoA8wQvV8MMlYiCgBuPj7mYce5s5hpglFxtJdEeDq6P2Mtusvj9uegGeFmCJSn1nbBhJr2r+WxLk/WpDO5lwhggW6V/wdvqcmRvaGHCFspVdzbC2qx104c8i+2wum6kMLHVTGAM9kTy4M5vHtvBELFl/qfldVQ8BK9hUvE9jdUbNQkoiBwFpPt2NNFYvz94CAxqbObxiZ7C1VhKWPH2AMX330wwjiHjh0eshve8e+pjBsDeM4/nTh3PH0P2XNUsomNEDxCQpXG7qngeiMXljTWmyGsLk56SzHFqfCgQX8fLlxv3PzSHXpCkAdymDxnJlcuK6WZIMj0AjQydGVSLgItD0boSI0YfvyDXhrO57OoFuwUU5Enq0do/w+quy8Qt0Qc9Q0afMg0GVUksiDfURVugssB75pqSqdNSrJy3wxM+kSBndgaiKYIakZ1idHkzpiGUshjyAr3V8/N1vW7VGyY2wnoquEclltaRAO6V+O8ymywFWL+/RrPEn4DKy8ul6EmHuryCQh1dfEPk5ZAgYg1K9ecbb2dLwTfMgXIhD/ar0ZfRO5OdwADW376","layer_level":1},{"id":"412f8cb5-54c1-4f32-8966-fa0e5e75bbca","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"性能优化","description":"performance-optimization","prompt":"创建性能优化的详细文档。解释调度系统的性能瓶颈识别和优化策略,包括并发控制、资源管理和内存优化。详细说明异步任务的并发限制、数据库连接池配置和事件循环优化。文档化调度频率调优、批量处理策略和缓存机制。提供性能监控指标、基准测试方法和性能分析工具使用指南。包含实际的性能优化案例、配置参数调整和故障排查技巧。说明如何在高负载情况下保持系统的稳定性和响应性。","parent_id":"7416db23-312f-478d-8883-2fc3c41ac2e8","order":2,"progress_status":"completed","dependent_files":"backend/app/workers/scheduler.py","gmt_create":"2026-04-22T18:57:25.383759+08:00","gmt_modified":"2026-04-22T19:16:37.81704+08:00","raw_data":"WikiEncrypted:9uOBpMbLX4DyZqW4us3Wm3Q7klXxmeD+JMMoGiSO2oNryWBo1gw9kLkawvxQIW9CASZSiyAjiA/zeT5DwD4S8PDqEsVNE73i6DrCAWvPET3MMPQasVfJTaLge2tk6gbYlx3R6JKZcUoi06jS7okoLDzJAFru3F6zguqySliKZSG/00oFVcDHXlZZc0L7hiq11k1jOD8uBl6n35lAvst/AgFv9MUzrhf43XDwtHiMAxjCAkwKnrWOow44Lwzy5fG3nWKZLSHE3/CUmZ17U3GmEqfG43ai1yloAkMou+sTRIk73sRdXPDze0HhNdNfNXTaOHTxW0gT2TwKGHgG9Jt0Y+1qWq4Nxj/oJTP/hztBLy5SEPndXXqeZTkBaesRTr0adQv49fH0QoFV6D6dxlEOodMiFhvvYd1rvR+HwbQbqU3W5UDVnKfPlMXHsz0a9NPu4aGgk5yevh/s0AP/v2R8mgz3N41lETHxk6Q71f35L04S7u7P6MlorIwKzkeijhFf8sPrChMYX7dwf8dWba+Nwm6fgb+9AbSZ4VczhQInnbiv+GUKiFnezNVSHUUXqTCvRIuhF52jqnOqjPei/1oeS7xAMmB67o3v2so8T17xg94F9FoEl2XuuwA+RFDarVZKACDTPxjt70OXdAoxoERTZ3ivU93OANsuuWx1x0HgFdBj0q6seNC8cbySc3ZuQBWGu1YWMmyIYGL5l6L7CNSmkkl9/pkb1TSfkyM+Hk3VLXy8VIvtgHxGX2OU8yX1nX0DCGS9Yt3dK17lAVH2XF2mo39noQPG2nxjOc+lO/O9cL/CC1Bqzd51YLHapcRLPPbuaMT4ljyLvQ3GMvKHB6c0sjdaKjykN96LhXpO5PAqs3N2edkVKVMC6lg5fTBMZi6B8r4rup3M9CPDs4ehmVYTtnZpt5zKxyXP8QfTO1FfDyNQRpbXj8TyLOwwqEFvZPQlV7Iupj3lpi6crQhtpXBtU9M+vjP31rOrdFpBHXCckE4T9QryVWvQuNDjsc1+tYKLgF6S8ixDQFCHEAfzctdMM3iiLCeBy1szBZEZTE+OS0ERSbgqusmZBkz3ouKp6suUgXLJp3Kystu+dAVWhA6BAD2WHT76h+Hbazixj8F2qAoxmUb+P8Z7u0grbWJksg6u","layer_level":1},{"id":"40ac97e8-7ef0-4198-82d7-d2e332be9d34","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"测试最佳实践","description":"test-best-practices","prompt":"创建GEO项目测试最佳实践的指导文档。详细说明测试代码的编写规范,包括命名约定、测试结构和注释标准。文档化测试覆盖率的要求和测量方法,包括行覆盖率、分支覆盖率和功能覆盖率。说明持续集成配置,包括GitHub Actions或类似CI/CD工具的设置。提供测试调试技巧,包括pytest调试选项、日志配置和错误排查方法。包含测试环境管理、测试数据管理和测试报告生成的实践指南。","parent_id":"fc6f24c3-594e-4153-854f-19250834eeb1","order":2,"progress_status":"completed","dependent_files":"tests/conftest.py,.pytest_cache/,backend/app/config.py","gmt_create":"2026-04-22T18:57:25.616954+08:00","gmt_modified":"2026-04-22T19:17:48.81542+08:00","raw_data":"WikiEncrypted:3lrOgsvw7LaJXRS/Bz00iEsb4RzJUAxxpmqaBblS/51b52WVRQtf4YGBQ9MC2MYcYNyKxRGZljd03HKmm078aoRU+suxjG3HIqwkvM6ruyPxwlLdBEn6ogbrhm8eOKuGWjiEso+PrOqSXW0boT4qGE+/L4MkPiyeOB9YnDB49/ByvDHsjeesTQqGwpa9FmIQtVqpqDZA3Sx+x8TB+MSqT5PMZ4egRgCW1ODcidZrTriWvseFNQDFLzo8g2H/HF5CFLcVsZVK+kWI7b7oWLmNlIKz2SyVJuYqvCblPzw+/773Wv4RVHYdK/pxISCon/L1KjPyfZjddr5sDjJO7rNFbBshPxUIQhtXnnAEqLOpzZwHm2a0bA3vSR42bZZoSAY0v3aZxXQ5IvxNT/aNAmiFzd4SkTlz0okDXnBsArnOUpLLRfjLhxt5ueRUi9Dl2edsdycd6XznT6/oAUHTf05zhhKC6JR1OsKiFQyoo0il7LYjDxXJM0dZycDlENYwZ3Bd/82Qr+7VNmgpLdnB/7z9DPG9iou6TIpztKrdSRYqWBcl75qs2L/R2Sy6MOyfSwALTRUi5udf8sNlsHOk5y2qY0h7vd1GzYwtxKQ63ypJLL/8fAcPKmH3FCwKvrN3zuEu0Meyq+y2v8eYeXNozeOa2zum6fI5sw7hnzX9Jqy7fyQD2yBFqyylQ1ZW3nwFd9liZLnWfm7zbLDlqSgzGYGxvNIe0X2rhwsthMZTLEXOZVDW1/NqHg2E9qXOfg7XhQRHKZz6Wu8eZ6MGyCvq6ft2SJI2vltHD0M4somneHGSMo4jKY8rMeGl7qkW1V7aaurBnh0xp6cOJ25IdbN4VEDYm1Oj5nlM4wnEQzWiVyEqA+3oU2k2k9Plm/xs6g846/lBJxHL9ztsKmm0BnrUFR1ttgTVRAFvHpfkmSgLGGB/9824DJpxXMiWnExCaZzWbFYPhXnDF6Kh3SB6P3NyVwVdC9/pkf4/UQ4Em3rvbVuWICjGSScoDtOu5MrHDaUSbtN/XtqOptA1ApGbnTSKxOm0KAck4ApFPdk6aRLdC4eRf9XWsWUaOFjkqAoU0Kp035pHaGrCrx4KmgoKBNFNbS55CA==","layer_level":1},{"id":"41a414d2-e13a-497c-8a03-212624dbf5fe","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"引用数据接口","description":"citations-api","prompt":"创建引用数据查询和分析的完整API文档。详细记录引用数据的查询接口、统计分析功能和上下文提取机制。说明引用检测结果的数据结构、置信度评分和品牌识别算法。文档化引用趋势分析、平台对比和竞争品牌识别的API端点。包含数据过滤、排序和分页查询的参数说明。提供引用数据可视化和报告生成功能的接口使用指南。","parent_id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","order":2,"progress_status":"completed","dependent_files":"backend/app/api/citations.py,backend/app/schemas/citation.py,backend/app/models/citation_record.py","gmt_create":"2026-04-22T18:57:37.836961+08:00","gmt_modified":"2026-04-22T19:18:18.055339+08:00","raw_data":"WikiEncrypted:qByx+WzXalKNnda2aYUs+Mi+kQm14b3+m7dy1helFRbYWzECOnPEzHl0ufCZlQvKjQqSxHIwqppPXSdvXYc/8Z7buvJqBV/Q/faiP/SBsAH3RrfF2Ppti6QanNvcAtBLcojqJkmfYWFej1OYdagzBcSAu0xIIA7qBG1LwkdNG8crxSwebM8is42SnI+aRvlbF4UdAqHHPdfUvnzs7zIODnildIoR60AvLFeNEWO4prQkFyS16p1YH96SousrFgBu2YZZYrNOOhDXyrRoW3TE6990oaIi3Xe0B7jFtC4pce8JamwzT8B33FAJ6utCOBMUkFKq6l0kD5rN2owZaBtGc4Q66Xcb62y3arqrvxcgE1ox1nAp2D9pNqRy3W1ePW2fWZk4+3co4z2+ANQ1JO8q5eAFI6Q6zG7hM4rvNlL07iD+hZeqd5+vGw0KmjkN4VMqJC5ypFf5UCF4qHgB6TS9ToQUAWk6HWlwBR1DVpCcK1kyGcunn6EiivJyjJLRYUXI66AmajxIzRHtyhxBnA5Q4hZNgr40jHMoUbWHmiQTQr7Ca4/VDS2V5FWlm6K1fN8xWRIUCI3VtH0A/wG+QBnJmF5YeqDZ37Nx9vkiaO+hutXsGHsjwj8+IZO/gpn6UT6QpOGaeqGl37HW+lMZSRUqFFaLg7jxlzSa3IliOyZI7N6xjFFFTrLV1ShVsDcWDg4eXL2IjJ7QfXjmD0vq5mH8mkZK6HbhpNH5kFXDuMYWPIHAXUk39ttNvut9r22RLpkXYWtxE7XoqXW+k+Edmt2eNvZImq/e7mUwa82Cae86WiRtz7B7TJeOf96EvN6EQBg8E8KT5Ckd1exHhFtySkw3tYfChBZfD75zY7tUcZcC+McO1Kf0ORqTZtnNjVnot7wirysiS6WKQ3O2L0CeBUUV7DlmFd8xAgJ8YhtHJKulJ2B0yCCswfb+PR6u9GKFVK1EcspZe5BsT22vlhQyAJxlqiAi9xRk+XaCWoUT5ymT+KMOXdLoB4EvD2ftgXy5GMxZIK2q1QtLAYEu7nOBsq2aNAg9i9IsVJ6OlCN7VMzDinzkoC1IAWKxKE67ZeLq/VfPmCqLKGl0z1JfkfC/kU8KFA==","layer_level":1},{"id":"2f7fa0ab-cd3d-4f45-a1c1-389d5a0c2561","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"开发工具","description":"development-tools","prompt":"创建GEO项目开发工具使用文档。详细说明IDE配置和推荐插件,包括VS Code配置、Python和TypeScript扩展。文档化调试工具的使用方法,包括断点调试、日志分析和性能分析。说明开发辅助工具,如API测试工具、数据库管理工具和Docker容器管理。提供命令行工具和脚本的使用指南。包含开发环境的优化配置和故障排查方法。","parent_id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","order":2,"progress_status":"completed","dependent_files":"frontend/tsconfig.json,frontend/tailwind.config.ts,backend/requirements.txt,frontend/.eslintrc.json","gmt_create":"2026-04-22T18:57:39.374817+08:00","gmt_modified":"2026-04-22T19:17:43.353691+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9CzRj7niAsR4WPU/tuSJ2vBrZ49vjzLlsqusYQAR0/FVC/Mfa58hrglY/tUSn8LBYDGZlVr/UyLd9/U09SEPTjzLPzOXWOffceGYhaM8E9Cx6c+FHZRQ0fYUDQXxWM6dQF6WQbUmiZISlUpgtOkT5wX0oc/n1YeDUxEpgiCWnOdIBH6SDoRDdGUFrWdqF66bEdplp0Yy3VYVBKKwUy1XVXtLbdv1T5/0TVJO7EtkHdoheIwKCPIYHsaJqBv4U8cMNegSJ1Ti8bsgUakd6FM/X0ybfTay+IyTIqYXj/dS0tWMm22zjLqYmw59+s8gJ7AlgwXhqYhM5Ycwh/PNrDHHFbgQdt45DjAaMWjrjXrbIvM+kXuSiwxW0dEvQtouckPTVohVcRWEPbg2o02/8Y5DzmxpceOC7KgybfaaCQeJHbg9C91itVc+0NvorhivJt105EYs1ndSOla9hoFppywKIbIM61cvqgHjsJF5DrN1pneGmTtYxijl3J/QpJHn5QuIBR8ugoHdJ3EVjUR38vQReVBeDxI/VMe8k/l3EI/Zk7paXexGeTrJmmnZI1I6WbPN1TPS4nLFZWwkA5ZA7wMkdHiHdnt/FZGccFyq8X9Okog2xv6uqH6Kwz3hseWlrSygNPzDr0cFj2EQqDH7+xZDEkAvTuFLHn+HzUfBv0vfZFa/FRg+5/agC9EcMHM+75jEvtSeeHXHOLpuuFcyOcZ0IQP99QdzSEsLaISCINs5SKkzKAMQnJv4PEDo/vFAKBulCSqjXmLeyhcKmCGqafN7IMWUWF5pmZuXe7wL1F6n+x3+RvScmsWND74hQhn0/Sn8kpFHJ5xV/5t0GDZxWybDFRRuFC8oImKyB+6h8CstsERuFeiIjMv2TS5lz8+eb1/yCUkGO9X5mUpJZXfZ+0vu2SkEN3WR92tM5Di/78rDlulwZ4oykT8NzYMTzpX4WlgUfazNKLyIhSoFZcWUyOFcU8IWCoOdrBFn5CSpe0VXbOlP3pAU1Lz6Y016JUHo1t1YE9xU/m7OTxhMexA8jCoSswgGT+Cjs9u+KP1ji2RSyZHQ6","layer_level":1},{"id":"2713d5c6-c6b0-4a38-83f6-56940c2bf695","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"监控与日志管理","description":"monitoring-logging","prompt":"创建GEO项目监控与日志管理的完整方案。说明应用健康检查的实现,包括服务可用性监控、响应时间监控和错误率统计。文档化日志收集和管理策略,包括结构化日志格式、日志轮转和存储策略。详细解释错误追踪机制,包括异常捕获、堆栈跟踪和告警通知。提供性能监控指标,包括CPU使用率、内存占用、数据库连接数和API响应时间。说明监控工具的选择和配置,如Prometheus、Grafana或云监控服务。包含日志分析和故障诊断的最佳实践。","parent_id":"803bfef4-3985-477e-a61c-915a246d0061","order":2,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/app/main.py,frontend/app/layout.tsx","gmt_create":"2026-04-22T18:57:40.355514+08:00","gmt_modified":"2026-04-22T19:18:41.773778+08:00","raw_data":"WikiEncrypted:HL3VqGjXq8A3aGeLxAjVPg+lnGgkT5PNghnzp51sgLDjuJwvzPZp6KDp64sXTqk/PvlUYRCEe6pgM8WKdtus6ThN6y8bzS650UmrWXRgW48k0tbm2PEPd8NIqpzEYwRwyuzLECVz8rV+mgvy+OHzvrt+wEQeT7z1uljirnxeLZWJjIrFBr8Q1T8WQ9InM3Ttnvm7OYO+YH2Mqi6IC38bW7w4WGqApS+Byn7/ZrJhR3B/XWh91FPwq0GRUJ9cqrNuIcYtnWAfVIHWOe3iET8Jw+Un5x7ZRepcJlINGIIMBE2hO7UsbC/K3z8rkz7mx6uoPTPpxkKkgoQQ1OAsShE/wpHpRYSOJEnV26GFo4bXBTk6xJYw7daKnJVIYDSqSrtJQI4yPlTR0OtJescXSLobznoVSBo+L+PU/nRvotp5KzX0SUpbkqNzGychqcBuJhpS1eaEP0cTBjvjC4MJ5Lsye51X6aOdYYC7tBWHxtgBO93tkpcIRlHk8Dfmzh8nKcD0rPHYGnaeFpzXgGH7ZfabAwxiMhej6OXWsfnbHGg4gheWhXfokxCMKkFnzrsYcuFtB0BqUeadjP5LArbJJGeyVEZovmPxtzQ5z/ayxJs+oyc0oH2SMXCFtIQv2h03ZSOCkohVRs2oTJnMI2p41dY59B5qiSOp+0qwxTWL9NnpqM2gjlLZhcgwF//R7ag4ndECWejInOcA9Ayvx6cPAuH6uEoFTcUOCLaOZ/u9T8890S5KHS7PcNM8dEewoFviz/mRiernAhd08l7a9lR6zck842Ywi5H8+fuuHyt64Pwco/+52MhD01pkK+HWSR0EqPc8URlkOKjQSW0jd8E/9ow54aZA0+1Vto3d+Lqi/tAOlhRF34rIJgTEN3f/udCEVycON9KNtssYzZVNPdvTkvzPYdUHIcnYmz3jbQhnYnrYvuaWNvO0cPISLZI9szxLP8IhmUc9xT4U3OvoRfFka8TABGicEUAF6vpH6H2rCqnWdBydaTpRTa3VAR7QJ+M0aPlzeKov93eljMa/djYoQo+w8Rm3A9vGmGXJKfWdZobh+fQgc38Z/0yRCHnIPnY8o6CDBfwbANfjDRpjyVkqWq1cuqYNnMul/jpzDS9vMSbMnefISRuF0kH8XS5C7pIB+WFn1vxeYFBYED7ZI4FD9pxxS6GWGcYOXEoFcqtR+lEiMdj0Q09jo1nEuMKJbPQre/RG08O0boFCzF9KOSnS0UA09/82vFQyQZKHNwpz7OkZZa2cX5X1L/pdsDlDRoIdp2lzyAEOidStaIWywEj11EYVNbG7sK562p96Sr15ueIXP0s=","layer_level":1},{"id":"c8a468af-2982-4d9c-82c0-313b5d2ee89c","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"第三方集成","description":"third-party-integration","prompt":"创建GEO项目第三方集成的详细指南。说明新AI平台接入的完整流程,包括适配器接口实现、平台认证配置和查询逻辑适配。详细介绍新数据库支持的集成方法,包括SQLAlchemy模型扩展、迁移脚本编写和连接配置。文档化新认证方式的集成步骤,包括OAuth提供商配置、JWT令牌处理和权限系统扩展。提供插件系统的使用指南,包括插件注册机制、生命周期管理和错误处理。包含具体的集成示例和常见问题解决方案。","parent_id":"b2bb2e3c-5661-497c-97dd-15bf6ee8b7d4","order":2,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/base.py,backend/app/workers/platforms/kimi.py,backend/app/workers/platforms/wenxin.py,backend/app/services/auth.py","gmt_create":"2026-04-22T18:57:48.68499+08:00","gmt_modified":"2026-04-22T19:19:17.361215+08:00","raw_data":"WikiEncrypted:WxCGFGSl9zR6IDeUdkqKNACFcGLyx5HNn0UQzHtkOJVoVN2BLrMtPbbNkfhYYzEQGaeK3o4fBODff6YTXKxAV6HYhCHjmdXJqBaBsEPBB205lzDAllfBZL4/6ljz+/HZSgaWAxPECD1m2GUFvjlKHTSXEb0x5iVOg9R3VDjYQgKl1SF3S/AuJj7QBbGiwmkyPrqO8+NXDlKH7pI3G6me5ulZrK6M85KSH8nVAnqY/Mvjc6UGQJBwS1QyKJVzzK2JwKGhQSSLemxD887b22bSe7q1IEDRYcpqkbfyICB0zF1Gg1h/cAfQgzjiG0+MQiC5CF3QwkFteFbN4KZDEjCTcbIR+HqI+yCs8Wue/MwdoTYQQKpR9FyClONZn5T/UqHQaVT8SemYF0QC/kawyEZFH5Tkj/6RwS+taTWw1fx2QC69xQlW04ManahzsBDwfz2W4RkufM3ZfW8HAN7SorY7oYr1Vam2p2u/93jzHmi7PO/Y6VphQNACzUlfRYsPALVBkiqpN4TIiicrjOvhgATUxqpku2MrAtbXTkiuiiQBamK/XrF4JNlh+79VGoHKWniah1nvo+dzl7jll4j0woKwWKIzmfPXLS68HekW9h5BH9SUeuyAEW/pvnGAUw8Od3CgsEmap86k42Tg9pRZC/sT9bCWUbjO6ijJ9IPAgWE6bkLCu68L2BD1yKE3gfLg0hJmELn79lHaFCUc5jlRdJ4HEsalAFGS62beLGkude98NvSY5pQoO9jbTj3Da8t6Yj8p97WtE73vmWW9Pu/YyAtxJH7Cdwvv9mbvLYVnLzUWGwsaiaXmDJiqfSHiOrHQNyonHQa8N/LYrbB8qBSUmLyBUhgI1YfYMa+zNfCaeHvRLlmVZpui5MOegWen1Z61WhPc6WoFYHyFAdgS7k21cC9jVay3u87SjSzooFT3MJjN+yMIjrQ5U+tVFbiBQK7IGPLFHRmvFBrBwSFVBI5VnCxn4piz7VBp7mm3e6N3CJUKShQWQT9tmUIRXLmmzsKTit/kRAUrycFjixIK8Hm4kSwtVBREbX3opXE6clXKGVB0bpSDUzB8Ae7wOPE8Gqo/ewy3kh2mdNnvI3+MfOOgPc+Ovqu3KGFBH/MYKl2xIUGdYtEHfHRCIFFVVknX8+Q+tfbkmo/Tw+kJfq67IQO6VT1WjP/q1G3rOhp0Ah5h1wmxVfdIaHSUOT03yQTBm/tqCXlgUW7rZbTc2wF0zdUUWleQoq9pc14c0F2SNFCSaQNLhxvfeC2aH8O9nuZi+kVb+GVV4vWcxcz/7dfTkXpogDwy6uqVHySe/TAn04uWlCabYSrA3ahnl0VpBmalBU1dtaTG5apgcCJ9PULyHWKf+iW0vle9pOVgZQ4oUv0vXxDpZQkO1SOBCfKG20swUEItxbAxIVoMowR52maIRnCKh3g18NF3JUZX2ptDny7A2gmsYWU=","layer_level":1},{"id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"前端系统架构","description":"frontend-architecture","prompt":"创建GEO前端系统的架构文档。详细说明基于Next.js 14的应用架构设计,包括App Router的页面组织、服务器组件和客户端组件的混合使用模式。文档化认证系统的前端实现,包括NextAuth.js集成、会话管理和路由保护机制。解释UI组件库的设计理念、组件复用策略和样式系统配置。说明数据获取策略、状态管理和错误处理机制。包含响应式设计、可访问性支持和性能优化方案。提供前端开发的最佳实践和代码组织规范。","order":3,"progress_status":"completed","dependent_files":"frontend/app/layout.tsx,frontend/components/,frontend/lib/api.ts,frontend/lib/auth.ts,frontend/next.config.mjs,frontend/tailwind.config.ts","gmt_create":"2026-04-22T18:56:47.082624+08:00","gmt_modified":"2026-04-22T18:59:54.994275+08:00","raw_data":"WikiEncrypted:rJ/rIw0gVau8jPGqKFBAsMR2XDSFypkKHZQ6YBOgiEA0UOTwucBLEBMXoN0zA9Bs5lWPUuoWW2QeM8S5V6dxWDHhuxV1hyEK1ZWidiLWXQ0Ty3myBMpAD2c6K4k+WBXTzbB/LSiT+eBspY4JDrFCERTHesMlZxmLkXoBxHhs1tNBUepc5vLakFhznlq0LnlxeL4rgh3sn4K3X8SUOtyfPLTTiHiYFX1izFe8OECB2IMK18WRZ6wEf8jE07MjvB84altM8K2LDZJuJzb9sVMHScnXdK5tj0h0e6umXrJaGJBmvoTYNrHRS8X5aG6wxHFk2++zjoVcgl0sn/xqIsLYfqvsbh5vyhZbve/rnSnstsC+sb3Y37uzU9GHpU8FurekIf2vv+ay2i8fI8+VjXnE+QwD5CCdilkDU/9HH3AB7DhbDIwtq4BCfsOfZ43Y2qHzi2YQIjEXtFPC1VmHGRHr8xER65CLZAA8mbMjuchuGtp3BACUF1qd4eAqJ/FgbGOAK91hIqJ5RCKNCK94pbyxdxHrk0LQZ5Rf4snzR04i3q8QgjkGVcb5g567ADjq1S0CD6cj02MH90QJKtQxxq3S77qC5VvUfuqb6qSVzyBIHgjg5XOY4yyA7M2hklmuVlFPgpiCV+xb2G0p91QgoWdUnfUvJ1jeyMVi7sTqisb6pzW4v+DOhMfQ9U1z47f5h41KqZU+i+xLwpeOZYvm0UNtd49SW9uxOloegNujRtGRYoooiPmjed11BdUxZfPR4zr4ZOqMq4zjmz5Enx6kM+9X8hZOPnVQ5CnZpK/WSKI32z3A9cFhmwVRLL2c8w/4XKbLREhUc7DBaViUi8oFpl9P987cnlqqptMKQmCIZ0tOKbkICKr7JfWGIAsxT81oc8qS9qUIeXlBpE5JdUQp1Ie1EoaX5wxX22DELkU75cKmIBHu+67dOrltjMRSKY3ZBmjzGuNgpHMZ1/9X8mFHbppwoTxTgbfBeYCWbgKe7rOhN5mO0h9XscRtoFe1djDYATYo7A09YiS7rQ2wP+FA0m7wEbLvAesiRZYI8ZDzVOgGqdkP7olIYqRcgjkJ3ZEYVOP/YwXprUfvhj40s5uHRQgN1DkVo4GaV9bQFpSHYyuVvJxLpzL4PIa1TC6wa8n9zFrUoUr+93RnWxM9L4G2oS4S54a+tIpxJWsI5jaKT05KwrFYm9u3iOaXy2gZsoxdtiHRE/Esu3FvYkFxZpCgJXBU0L5PL5lgpfZGzQxP6184e3cD5E7zrBWnFpTCdgoFMXl1q6lBqJQVQcpijAleq0R2Amj2pwxLHge4ttMUkLwDlNK5xdQgith4x1GgzvXgndvlRn+E0U5SY5IpqM88QcfH0T3V7T0CEYhYBCSGHolS/i2X7yPjY7JlhGmEgHh7D0ZXq/+GRLa6y+jz0mq+BjNauuMGqTkhaZbR/M85ZNbyJ+s="},{"id":"9eee7fab-6cd9-4ef3-9415-2f8137f1d199","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据模型设计","description":"data-models","prompt":"为GEO数据模型创建全面的设计文档。详细解释SQLAlchemy ORM模型定义,包括类结构设计、字段类型选择和关系映射。文档化用户模型(User),包括用户属性、权限字段和关联关系。说明查询模型(Query)的设计,包括查询参数、执行状态和时间戳字段。解释引用记录模型(CitationRecord),包括品牌信息、置信度评分和上下文数据。详细描述查询任务模型(QueryTask),包括调度状态、执行历史和错误信息。包含订阅模型(Subscription)的设计和用途。提供模型间关系图、索引策略和性能优化建议。说明数据验证规则和业务约束。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","order":3,"progress_status":"completed","dependent_files":"backend/app/models/user.py,backend/app/models/query.py,backend/app/models/citation_record.py,backend/app/models/query_task.py,backend/app/models/subscription.py","gmt_create":"2026-04-22T18:57:02.317816+08:00","gmt_modified":"2026-04-22T19:19:19.281909+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzxL0nPpsuPMPxr5hj83lS7k/WfePQWgQNKbEysjyVqFS8lXlJL069Py2sSf8yXxHJzOE+5qAqcKClz711a5h2iXkF0al3mIdEvPGsZtmu7Tz91D+nYN6P20/dGDD6jbfsmIRXLEv3fpccmaTd5XoNj9Y/QT7a0xg+LkG6A8bzQONV8mQsFJZMj512PXdrzG8bSiiAdWa7PEbotJVKJRklAdLNFr4FCsLXLsdS/G2RlAo97zi5J4mpx26Q7SGM1kx14TxsQYatCIUYP+iZ14NDPPPp8tQ+HGPLEonVbYiRiktzJo8Iaqbcsh59qHBoGZBndXEwalDBXzD3sIbYrhxlOU509HDe43hiq+M5eC2SEeTfGdYZ412t/aAJFPEfq3dRl0wa6Oiw4t4rox0s/f+rCg9Sr5yX/vsXrADGwowbhqt/EdTudfsdha7MXN3Kn9e9TckQ+HOqdgqW3+RnY3B08ijVPZchn/Y7XZvx8GujUHSuM3x7EDAXegqkPwkfR+hl4yb4BuuY5AC17g3hvn9yDvBN3m/Ky7mJ4Q9qvXfFaUqDE/FxwPWjugAnVOgAmWns1elVLUS/2nol2BUAuyt1w821y7+N79TkQ07amTWILYvO7I/5v6hStaHk5+ftwpaWSLofuk3Nwbuab8ULq6lj/Tz3uWkEg5/nIIYGVDSN2y9JKgkNta0J9Y4C25DpKnPb2HPfbnD/315IEyxKddS9DpOHC92uT3Ad5v/X0LgVsefqUUep4D2mVUeevDE2o9NuUqYyWYu16AL2UaQOWH86Q97+Accmt37g5580pjdVyzcgVL6Lat1P4W42Nk0vOIncIdM8Bt+iWUIOjmIWDK6nUytRrluJ6RAGeewol6Eb8eMy65WkJ8SsDWFj936G3imq6uoKEsmn9kHznKIfsvt/p4IAv+IbkliuuV7/VNQdN4jgfgKyRp8b4aQd35Qrv1ypuTdf2HQS3w/t3nb8hBriaZZc8a93LekZYaGpvrws/aq3ESXMU+csJKfWhEGhH4VT4cjy6j+jHgihUuUWhO1X/Kpm8iseqreG85CZeU9woTd/nPIayXO14kUEfNVL1ih3p7GtsFGDYpr4EcPU7JpPp61gLhfdpHydKVDLW4eaaCuTR4REP2Vs2BxiwN8GCpJcCbpPeF52n9qB1DE3uIVBITabqC0jiIHeVfb8caysKpddelqqLNn4GGL7BeUFq4RKhlVTmCGuBRWABBDEhDRHXsScje6Av8bOxE/QFVlZmFE8EkDM/WhG9hB5BQ+8u4pKPxsL3/n7xyMyrBnO2n+nTEGscgwlEnpxknYpBTrtZQgU5YB8KRGG+VnvSlbM95vPmdiXS5y7JM9ftKUbdxgnxOVrM2ydbK+5IGvaNB27szvHBbvqtxiY8lXfLRhMYcQEIcD0AM4Xl1qH90xIrHF3lHogdPgwXR/UWGRDWDXKVUEXGRLQHTlRTCJ2oRBGig4FvIztUbBVqouwtJBqoGXoMET7JbuNkxdHs7pfsL8sV5FksVAyNxvV7rRG5QAMaIvUMdDT+XAhtcrNagCHcb53sPxuz9ldlj9adP1H+FxOw7","layer_level":1},{"id":"d9e45b2a-6443-4a9b-8ed3-4c3c04773772","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"UI组件库","description":"ui-component-library","prompt":"创建UI组件库的详细文档。说明基于Radix UI的组件设计原则、可访问性和一致性保证。文档化基础UI组件的功能特性、属性配置和使用示例。解释组件的样式定制、主题支持和响应式行为。说明组件组合模式、状态管理和事件处理机制。包含组件的无障碍支持、键盘导航和屏幕阅读器兼容性。提供组件使用规范、最佳实践和自定义扩展指南。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","order":3,"progress_status":"completed","dependent_files":"frontend/components/ui/button.tsx,frontend/components/ui/input.tsx,frontend/components/ui/select.tsx,frontend/components/ui/dialog.tsx,frontend/components/ui/table.tsx,frontend/components/ui/card.tsx,frontend/components/ui/tabs.tsx,frontend/components/ui/dropdown-menu.tsx","gmt_create":"2026-04-22T18:57:04.216865+08:00","gmt_modified":"2026-04-23T15:22:23.573963+08:00","raw_data":"WikiEncrypted:mOhGqVhKXtp0S+QeVzok74WypWJ7klGHRH+KdUSnimLTYfyBjBDRPAzXT+gcOXfQVvcrNlnW0hq9eH7zZFCqkZsBgmYKEU+paWYmItwEmPFSm8j97/vwvs9ugP1aTV0WKgu1SgAg9UjbHTpC/aH+MMWl8IEcuuqWfI5XbGaUR87WXcEDmdrb3wUoUJRDu/cGjCf/fvmakwSGbuyVnUxAKC0b89qWigFSx7MqlY8I3hXqAtSNiskE28duoh2j488f5d1qN4KsTvxvRe26wRYqlD4qzi7WQGBZQUoeoyVRA8PrJFhxeH6clcVYO0kStx160hPPrlpF93ul/lDmdVwrTZfpWh5RRY5u02+lOo2Vcl73yz1ixYzt/OXYaenA0jUTFVdPJ2OcTZGDQV7xMOPFPX3iFNKxuHY9aks8ARFEUs2BtyH+KlyKfPdKqDAlklqIVzP4MH2E6uDcvYMSORu7S1T+53+R9br9Cfu1PSZkuVdmHNqUuKSLA7pMI1QiVYXtwk2GYmRGYUH7geeQddC61wxpCG1rXcVzBMSS8LxtR3SSj/9VQ0v2YyrqKzRh44BKjm+ojKbz8rNcf69UZ5Fu4dU5kGqXy/XWbFbSmoUmrWXnZ2zWPhMIgHAIsTe/iX6JC5Q3L70XVbXk4S/ffk/sKKtdV7XrQVmVPhSquUc7x1RcfMyLVgxyoFEOwwk9LfQIPE9n16lNCvDWX3UuK2TDcqDbwJQ/FMmjaZDilRQFs+8MA5I/UUtC5CyzoOiLRXvPqQQiqXjBs6jefxc0cpGAJwUkaISOvQum6WtKWK3y1CphRMH2hkB4bF7NgyOm8z/0JXMSpcPR8nMUY4M8pW9MZYQEL76sWcQAD/oiWlgAUccgiRPnCiU0Xz7/MplIj0jTRwXXzc8arUGle1DmiJFEVmztGZOQsIGDqSwKGG5XHEdLyKe2hWHqBGRWkqZrsBqS8KrFUWk5lefvdDZvi8ci+S4wdZQX8IDx0siYw5cfdMlilWuaptf6qf/qEVaIO5DX+MMGPmGBz7jnyaQfo2QWlpybbe/uLTvhZTe75uY9Revd+DPo+zgmDUmGj4hSliiZx0smUxDq2wMZmKLx3x7N8m1jdGgqT+LVQAhdUcmE1Qx3W7e51K9wB4PN3L8k8bDewzE25kuU6a7QpDLdn5lSa8n0E0Yug9cp3wgllhZVFVmyjVr/oC3c0I5z3elvtrYub9jPeRtR4AmW7w2RPcUt/8f7j8aMH/1lUBQk+GL6OhXAEnzmav2Q2smdsQqWS4cVj/FV1lrfoV+peL4fo5CxYMv/ZJSvbJaFSpBOPzf09qJBxUptVeosUyAUDv7YsJdUo02ZE8B3ZXZGcpKGKSRiBeLQKjuqkck1rBeJK4PnEEXZ5vtz2ONe8tddj5qna0a3","layer_level":1},{"id":"178b681f-d013-44b7-aef8-dee7ca8c22a9","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"核心功能","description":"core-features","prompt":"为GEO项目创建核心功能概览文档。详细介绍GEO平台的主要功能模块,包括用户认证与权限管理、智能查询任务管理、品牌引用检测引擎、多AI平台数据集成、数据分析与可视化、报告导出等。解释每个功能模块的核心价值和使用场景,如查询任务的定时执行、引用检测的置信度评分、趋势图表的数据可视化等。说明功能模块之间的协作关系和数据流转。提供典型使用流程和操作示例,帮助用户快速理解如何使用各项功能。面向不同角色用户提供功能介绍,如管理员的系统管理、研究人员的查询分析等。","parent_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","order":3,"progress_status":"completed","dependent_files":"backend/app/api/queries.py,backend/app/api/citations.py,backend/app/workers/citation_engine.py,frontend/app/(dashboard)/dashboard/page.tsx","gmt_create":"2026-04-22T18:57:13.330097+08:00","gmt_modified":"2026-04-22T19:20:37.649775+08:00","raw_data":"WikiEncrypted:luoNp8LvFa7zGThvIT9T4gfD6KbzJyTAydbcRfVv0b4BXBAF9G/unmbHb0x4cm5f5JJeO16NqGe5C5EiggSB7moDpXZy5USSfpQ0OUKuil4F/RTioDPMtSUudIqxEjBd5ipsj1OYjuKwvCZDE5FVOSWKxyx9ABPAcj2ixa32ZPlrgZPKHD2EYG0qdFR1nrcOheMbdmmK/1DGPMM99yCcIRnhsKb5QMmqrZbFGo/SPCSXi/Ykr/zd7+VtVKLrPmeZHpaF0yafvwU0Sk0I8ne8YmfwUGC+cOZoDCI+UsE8IukB5R7bnolQRLXvVZdnHXG3b2DA0X4DxManWdKVUyJxI0KTcxcdI8DrpJB05TyoF/regQH6cLt9xm5r6oC5exXEvwhmfMoZVqZ2jp/7LVs83k3vKksFtqXA19YrxFliE+fS/7xxjhqFqC8gfV8eLWpHyIKgVobBj98SpzX6tRTXknjSX2kDpfKG1ECCqYBxGl+EcY3ofgMb9dgxDxdOaB1JU4iP8j0YMHe0vASK6GweE5UjId3SQsH4Qeng09dL1TY2uNr/6ZVhraG1xTMRFHeZNdCZtAWnUddTk6fiDJmF3zxyL7Wvgdc5vmSbfg0rFxTdxZEiGFHJoEQatTaUtv+NOJGQtnOuYzrhs6G59N5Bu3hnsT2Umn6jFryaWwluQaphllqim1VwA12J3iVLQZFZEVBhalhF5GQBDtl4zt6GFlKucztFwPZXIZTYJavPQP2xpvFDInehpuQcHilp3yHcA8+ucs0ani/GPME+nWnxyEDPhfu/FHkheybrXg084bLJG7E+o9XWBTlbISgl/1CuVNeWNj2ph9KIS+TAcq3NucrKast8dNM3bayIymMoemWvEcvuUjoRlABuJKAeAUQ2q5dFWVAZFvlK8de95GljY869ODymzBXnPjMOSCmHwZ51ImNKeIgHybmDkzT72uKyQcN8nty9DJKz0k6Kq5kib65fLCcoAEe/w3d/WVpmBqxU1Uh3yD+z1nEm++DCQTmK1jmwwLT9krps27ULzjOvLuJz2cJnCpSFeB2fBYxH5Wjbp3UZFwDWJWan/9xl9bIREOaZ7mmAz3b7YgA+106K4LV/Y4vBjtitwaM52IcTqvh0m2OKpQSYopXYE7hsG/CXE/MACxmx37ut0KpTFaM7N2GYOE8Z9hIsM53ueQhPuRvk2Hb3E8xbBs3mMtYON2ubkxuPdcQJmCKSHZTgVqD7NVWXIyDL87TjV3YTbdGq6KlIptH7MxMpAvL03xq0ApGXUlF7gt9qwpHG/tuVSmjPBAUAEXRZ3bC+1E0tvaaIPWgP63+hhl5S7970UrDCXrtzeN3l8mbplzeN8BTm9brd+gziF3NKUZgA2yM/OiHjy2jbsu2NmXU8Q3f57Q1MnJglrwSgciwgohkp5Q5XIBOCwyJuIcAxO6LJWzaXB+WOrB+xk7v3h8qxpMdfHMOLFTY8M5Rf6MoGtJPOtFpc1+0Cjg==","layer_level":1},{"id":"f210509a-2381-46fe-8c22-0ed768e6ca70","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据库迁移","description":"database-migration","prompt":"创建GEO项目数据库迁移文档。详细说明Alembic迁移框架的配置和使用,包括迁移脚本的生成、版本管理和数据库升级策略。文档化初始迁移脚本的实现,包括表创建、索引建立和约束添加。解释迁移命令的使用方法,如upgrade、downgrade和autogenerate功能。说明迁移过程中的数据保护、回滚机制和版本控制。包含生产环境迁移的最佳实践和风险控制措施。","parent_id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","order":3,"progress_status":"completed","dependent_files":"backend/alembic/,backend/alembic.ini,backend/alembic/versions/488d0bd5ab01_initial_migration.py","gmt_create":"2026-04-22T18:57:14.161329+08:00","gmt_modified":"2026-04-22T19:20:15.066432+08:00","raw_data":"WikiEncrypted:veTYwq2y4io5qXerCTrkkH9ryxDJ0NroguMukGrnBDccbI7FhPTNCbxlVVf68ZQ7vvUzAxXQ43tY1R33KAEW91uvBjnohUVl7Q+D/Ap3SUnHDpWQWBM8qdBbgPmANzeAhinu9R6LqaM1BaUXXk7OeSNamXR7nrg52Su/KTt/eSPCFzeoio7iY3vORVHeaHpWs3y+ipYf26jobCXk1cLVjF9BgaKQ8UIEk4JobP8DZM0dSC9SqfPLDnh2e6k9t39q8JNd3MaV90E75j7KuZKZZJemgTfwdUTe5c8Bn5uNxCf3TK5iuMxVxJXD1PTU+9tadOMcx1qXGJ3cb3nuH7g/03z2UrmsQfIRf/cZLGBqAdGIWhQpJph2OlUELy5WTq8t4R//c0t+IUVTKieR2A1E1U7uGurYXL5ymVtiLnckbHeLMEoxbJYmh7d4xn4mWF5hcIhAZoHvjqh+shIGNwCfXJQGswpnJNML0vWzQNhsJ1YcTUnHC0P8Y6nj9VmXMpUYuJLWuIRuqBS5lkS7ChcQMXO4wfad4N4RMHX9jLYytT/wOoty1KlEalUzriEMahdDn7h2DsLzOJL35SLwpVZ4NVnInvcE89IzYO4wyJIz4NdOfBYseoIv20Qv7qO8B7xhRtTudUyynfaz1jmkT8F9UgZFcdBJqg08MH6VdQSdrlKqUGSGsFAxtB9OC7yv25xznJq5n5SUwpLmFNbQ1evjOqqsogzLg8vClnH52aVuE6TfQWggj1wDjxG7jUj/W7mHSOsDI6AhtMWrP+2OVg2Wx9Bab3iLivdVe+mg93LH2FvF3a8iAdcDRseeNZj2UeJJfYnmzpsRpm+CeJo8Te1ab8UeOeGebDsnVTTILuEg+qe85nTuG8+PmgOs+n4r+781gUSlyoOO2Cde7QwES0X+oENbplkkSZM719jK09dcnbG27vqoeh8rTrzO9ygM48IjQzZWUJCnAIP4Y7VVrcTBiyrZhRLikSrVvSCvWU3K7KW18pnOJh1narIx0e6w+bctledpWsEGZJ9fwk/ae5P5ZvACxfM/2LOdDFqshVbr6grRIeSNNf+tl5nDunlOTUEY8fGNt4lsr35UgKwPwO9TxACZGCsd25DuEtHum9DU/GYli2+rgNaOokcc0Xtw/R8OuN2pa7ohiD6ACjJ82m0kKC0mBBymsNAdo3bDXv3yoyI=","layer_level":1},{"id":"aad61788-1dc9-4682-b743-47188d7aecb6","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"引用检测算法","description":"citation-detection-algorithm","prompt":"创建引用检测算法的详细文档。详细解释引用检测引擎的核心算法实现,包括BrandMatcher品牌匹配策略和CompetitorDetector竞争品牌识别机制。文档化置信度评分系统的计算方法,包括关键词匹配权重、上下文相关性评估和结果排序规则。说明引用上下文提取技术,包括文本片段截取、语义分析和相关性判断。解释算法优化策略,包括性能提升技术和准确性改进方法。提供算法调优指南和实际应用场景示例。","parent_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","order":3,"progress_status":"completed","dependent_files":"backend/app/workers/citation_engine.py","gmt_create":"2026-04-22T18:57:14.593043+08:00","gmt_modified":"2026-04-22T19:21:33.125768+08:00","raw_data":"WikiEncrypted:qByx+WzXalKNnda2aYUs+KheFrHbXoPYZO+RPCaekyWxjKaQvamRZeOm1WgroVS/6iDS9zNWvth+zIYrS27hz/NZLNtt2wOUw9iZG139S+OGMVcZB6KjsnlgG3fSA05ZEdrwDfB531npeEpy2DodlOkcXOSBrgCwkOsVexBDKcWLpthBpfOCieqWsVnTfFkeXE8VvMLROtjojlr+6So18lnYzdEekhgU4Az61W3QEoXC7l+uPBNpRUYZY9z5nLzihT1o3I2bDEfAACTaa8pU8izFltiEd4qID4z3TepI7IuVr7oTmPOaD4MzHULu/4RaMo7/7c9Ql0uGsFrxRb3QFXiiH6QZN++2X9EDTl4UjA5k2E+OTcO2UOZm2dV7vi51lNAZwI50VwaIjtaC4LrPpX7fklk3hQ1qbw4w0FPjYlraJyO5MLseOOQXmURr5BCOhJcWoJmwJadtfh8EAO/9XRK9CRjr2wpAuL9kan2Vkympa3UCszQwVox0j4IkjJNYlG/7UEt2ixgTU4pQi+CAJy+8tZGJxY1gk1MCILniaClaQQImJhi6TfYfWSVywTFVltVcxPd7kMwK116KQmtoiqet/DRC4rzqeEbb6w8I7HZu+VwSR1TXSN8teXJTRMAFEgg9vh+vAOconlX3LzcgvFPohvC+teXJqTADp9XvqcC6Xh41G53xVAvDteT9pJCZHMZsfgh0bErBFzrvnwSObsmJEkvWnlDRN5tdVsRIk9LGcvaflUwWHmIof5SJj7wO9fSm2BN0gW+VA9nbQxyuHt8YqvNR5D0WUpbY1/UDw6IDhAxuTh/6yyVt0HqirNDXslgDardkMaphsQs4xh1fShhK/PcG4y+xX5VsoXIm/tjfGAEXYIeGOHtVuldTaCxG32uSnuT/aFQh7H6df2Hhb7c576oZ6QbZ4HyiG+Qa9iZr6deKWdGhtuuUzj3FBAXLtLont+yuXSCWi/AWM5MOMVyScyci2LKIjH5haWCCgS4nm9tLvifzUgmdeycw/Dhve3nrgdkgO+bIRuUQxXRIxZRUdxEr0DKIa2tEKVeorc5pIX9m1bErC53nDhnrLBj4/ZQjHp33XcgGQ+4jAfmWK/AN+P/SNbyF/K6O0qlKXPqQk/w5bOZWCtcIjrDLhyxZce/pYHOGotrSGaKOK56cJA==","layer_level":1},{"id":"ac0658da-7670-4e41-9e57-02d9d0d50680","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"报告导出接口","description":"reports-api","prompt":"创建报告导出系统的详细API文档。记录CSV格式数据导出的完整流程和参数配置。说明报告生成的触发机制、数据筛选条件和输出格式选项。文档化批量导出、定时导出和手动导出的不同模式。包含导出进度监控、错误处理和文件下载功能。提供报告模板定制、数据格式转换和性能优化的使用指南。","parent_id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","order":3,"progress_status":"completed","dependent_files":"backend/app/api/reports.py","gmt_create":"2026-04-22T18:57:37.837258+08:00","gmt_modified":"2026-04-22T19:21:24.246329+08:00","raw_data":"WikiEncrypted:ncgUburcUGIQoFYRn+jCfmA+PbmqRFCE8+U3jYVfh2v8RywptgptFxq5lhwZlmleN1AF4e6ox3Zeepx7xqM72ox5n+mZFIvpPAV03iG0mffmuvwBURuWuzG3zvukYRbxLcpPqC6v5q4GXBz/rMTsxy+K9HHfwtlYbga6fioIcJrpFn0O0GBCxvse/EcV3UFGM+LHRaRVZqk3N16dHYVOsIgwcqfz+E1qQhOc9tSvlN8OuLBl1z0ukshjGXiX/lY4xzl1WSrFXAIsz6WAKGLPlkePgVZg61CHsK9/iXfq1HIs4Mv/RYwTtuMKkyWX9+6LO+AwRjoeHSIVgJsaSwMBS+MqugD6JwGdLsb5/QGcsDSVaN1zVhbjD1WnJ01uK+tBWcULWdYGAkgo7z9A/YQJsV8PUfXfdZnfuydZi59mopfaX1AYtCXeceMgKnzkAIwjWUl72+Pwtvdke5upjMFgEvoy5NrCoYwpZJBePLoPrgu0kURoy/vWGZ77WhOuGQs2/cn/pk4vCFes3r34gglCIF0tHwwh9piyAabHid5VZ3EIuOlhBHL4O9L6zlAgO0opbo23bXt7kIR8MIjEqb8b3SoUIGY7PElOLeOIwJiz1LzOnccT84S/avMIJR7fgzi/me7mJyD+8h7mZ3GY/AsbFhi2oh6bcqc7U1UcO40wTqx7myMlwrMOo9zRr+aAfR/lqH6YwFw89kkxflBfKQ8X7UwPI/vFeOnYkPFjj7XzgHUtclkOUbxztMSSnhxiBMGzbNf6/hnfqT9O5xO2ZF4ufJ0t2Ci/vTK7mqMRvj6sBAzXnGCig4zpnDKbOrVJnB53v6AnqjeFLvqUCGI5Aj9nn+g4LDMtPzzDhfm/HtoxVJjclFmC6FQSLvHlh2FILylIvVxzY7rDDuK3bTiuZFz9Hw==","layer_level":1},{"id":"7cb1d921-44ed-4e22-8bf9-baba7ff8b7c7","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"新功能开发","description":"feature-development","prompt":"创建GEO项目新功能开发指导文档。详细说明功能模块设计原则,包括模块划分、接口定义和依赖管理。文档化API开发流程,包括路由设计、请求响应处理和错误处理。说明前端页面开发规范,包括页面组织、组件设计和状态管理。提供数据库模型设计指导,包括表结构设计、关系映射和索引策略。包含测试驱动开发(TDD)的最佳实践和单元测试编写指南。","parent_id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","order":3,"progress_status":"completed","dependent_files":"backend/app/api/__init__.py,backend/app/models/__init__.py,frontend/app/(dashboard)/layout.tsx,tests/conftest.py","gmt_create":"2026-04-22T18:57:39.375268+08:00","gmt_modified":"2026-04-22T19:21:46.916012+08:00","raw_data":"WikiEncrypted:5RlNBsIi2/3o8ATlHuzaYHdvL7yJfTe6YPwFoSkO/GgZuVYfBQkVBn+1kZzpIDRMGSVFSuoDX3pyax2f9XzBxnZshkSCM7o1L+HEG+sgCns6EUSGCL3KfZi4emTF8vVzG/3m0dhVOWuoQXf3TK1+2Aa07EE3HJ86aWB+sLQgQyR8gNqS+MsRztbE2Am9O9oDis36vAh+tGO64VIsi4ulSBpI8D3+dRXcAI8RsujwrZpp57UaW+DyGg8Jkp+WqqjfbgBGcdkno2KfRFyWKqKLB1g6yKJCePYymOK9DHhXbdBC9mKr7EWc8T394B1klPsqywIZs0i3xy/Pr5FAuzklEn/8jhNkYpmgcVvXaZ43AUVTklSOgSC0cwvfeHd91QuNSlfIbIs9Xh0pfhmz3XAts9WErkdoph3YSvrNDMuXK9CMNhlu9XMkMCQcV7ac8ax69JKW4uVaVHcjbU7PbzOeQ7vSALRtfK0zhIWlbQ3za72G9FvDogDqrLfOBzEXA/cyXMdpeZP/ICE7OsSCRM/i/yU/K2YUAWnRJczSn3cX/8lGIDywmB0jU+IL4l7eteQD1Ea3elS3ne3N6t0WqX/T4jybDWQQZqz0+gOrFuJUKTQ18p+2afWRjcYZnqg0EMvXxpXaT5fmpQAxMA89c70flWUr6l+ZNckhODBS1Uj27vp+ECTFfhbNt2CmqrDWIfdobRz1gXYkZI6LR+xgc598+CJDjc6zizQcychGbsbPqawU+CCQfSVqPCknZLlSyJrMF+FMoe4jm8fpOVyOOfqGN3N04W6++aIiU3eZIMB0F/1pjONP/d5egIYaJhs0Zo+ciWBBR+Me05kVd2tyIK0ldRH8iELZu4XmfrNdcGPMTZsENU4lZZiJxIXbeoKUQF7KbjsDcLTmuXfl4jcPFk48k+LwUEE2fyaAoG6SFrEaDZiZ/yR292cbQegdgcOrF+/QZDnMqVS6yFRaljF5C5+ce7VNxUOs5dzK46Z/0xD4kXHkT4QT5/727yUeQ8KmshnsLpu0XgxdbjIAKa0UpiByR2sen9DI8GblyzqpH/4jM/yMtc2COW+MLDnPw7xho10kjKNljBjsabSa5q/wLnYGofR/pA1CmnrwERR7Cytik91YmtyTb1D+rjh+uOjSVOB5NqjX7dqhFcV0CLE3KfUAkA==","layer_level":1},{"id":"c45e66b9-1ca0-41da-a796-6b98f394faa1","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"运维最佳实践","description":"maintenance-operations","prompt":"创建GEO项目运维最佳实践指南。详细说明日常运维任务,包括定期备份策略、数据库维护和系统更新流程。文档化安全运维实践,包括漏洞扫描、安全补丁管理和访问审计。提供故障恢复流程,包括灾难恢复计划、数据恢复和系统回滚策略。说明容量规划和扩容策略,包括水平扩展和垂直扩展的决策因素。包含运维自动化脚本和CI/CD流水线配置。提供运维团队的职责分工和应急响应流程。包含成本优化建议和资源利用率监控方法。","parent_id":"803bfef4-3985-477e-a61c-915a246d0061","order":3,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/requirements.txt,frontend/package.json","gmt_create":"2026-04-22T18:57:40.355828+08:00","gmt_modified":"2026-04-22T19:22:39.446821+08:00","raw_data":"WikiEncrypted:AymRokkaRBrPd1uk5umiX/dhQHTPPm6nf5mmDPb1IMODwfEt6djM0VBnDWaMwjVsVSuT1AHD1pfVap7WBute6Wsiarqj6ltamY09KvCs0YHxEqOor+0AYSzm2Aa31Dwx0HGTr+fgwTnE6RMJGGceRIs4cV8RBM7Bs4/C9pv4JQQe1wx9fBauJxXtVZgZmkTwsQz1zMKUv/my9/bZ9Q05aHGQVWSs0vQA7fX+eO9Ugt8ztv2KzLkMHjTPQwDUKBMhAsMb47fa/gUJRb4vX0XaRC/0NRwbOvV9kGE8ZhfJSMzck20DTmUNjRs+txGlORGu4UWZsefqLmppB1YdHehQUnSp53vMgJwj0a9BHe2ZU8oB3BBo+Ky3c3OR4uaa4rfHtatz+jzKcC5vq+Oa2OkwFMyKF/rHCf5c9kOD3c9bg/wQwxJpIov1DkWxrbmp2EHHUtHsb07ASQhGLV3SX7POirp4b3urFGRk2MwXKxT5U/gA8wytKMJhKBFtElvFBq2i7nSPeaH2xj0DS3o9rwbrhRJQvLfp/3z63umdp/84RCiI8SwdYgPx4ACqLY3QKXNo0LIi6rsgWkaf5Suyks+dimQcPtAllHZGQA/gcWYidV5oQCnhHJ/meCiKRy7Xb4GttMbIeOA7UNNRQ9IFS7wyprb/n36lYgLOcuQ5Nugly0pl7iFTkl4qWn4pZ+zE4TR9CK3+3oihqJMUeVFdsWHHzgVsh4Vy/4MCPUipHMfRj4T7BabCmkvaTRaf6oRiYEXPGH1mUXCLnQuty4lKx7e8LxdqWP6gciPJOcuRMBYoeBHqUKw/JNmAzN8FuypXsdUryS7GDozcilxOcRE9j3D0JEW+8ONdKF5sp2JAXYX0mhqtfB+RscbqU7E352fF8vZAqHdS0XHCguOUcPuOk1PjzrKK0PJcxoWJPrW1H76CpfhWX9kC1CX6ji8+oMevPaHlwwFIAPnELyRyWOvaAia+6TeiAn8YTup3BXf//p7UweBdBGz//qMDvWoMqMf67cKrFP45gozQjSEYzm8AQ8g0Rqx6ctmJotfnBMpbUoG/k/Br9U3yCwUW5C4ELNIkZ8HMTq1vu6GKzheTjgM5lsZSBhR9qgPwf7cYyU47KLN2oWaoSG9Ke9U5fc+blB461oN7Tb9p1M9jYYAi3IfY13WbWR9kQ09yQOl6zNP4E/TOZ/WG1O8YhDVo6O9b5nQ7Txck2F7a8+Oqzy404YpIRpdXWJvx2sNjxCQXQVXqKKTnxP5lOsLb4vYZqXeHpIw8VawHDzn9M5zowBo/3M96UZSy84F3QEP3JU1nF98Rqg82vqB50gv8dY6wl5RPTzKd+Fi2","layer_level":1},{"id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据库设计","description":"database-design","prompt":"创建GEO项目的数据库设计文档。详细描述基于PostgreSQL的关系型数据库架构,包括表结构设计、实体关系映射和索引策略。文档化SQLAlchemy ORM模型的实现,包括模型定义、关系配置和查询优化。说明数据库迁移管理、版本控制和部署策略。解释数据完整性约束、事务处理和并发控制机制。包含性能优化方案、查询分析和缓存策略。提供数据备份、恢复和维护的最佳实践。","order":4,"progress_status":"completed","dependent_files":"backend/alembic/versions/b2c4d6e8fa10_add_confidence_match_type_to_citation_records.py,backend/app/models/citation_record.py,backend/app/models/,backend/alembic/,backend/alembic.ini,backend/app/database.py","gmt_create":"2026-04-22T18:56:47.082886+08:00","gmt_modified":"2026-04-23T20:35:45.922191+08:00","raw_data":"WikiEncrypted:Zb5TNaG1u/mRrgPr+sDyCqW7t7yX8M+Ha+5tSgGfMUOChQVv8Rc8RrXA+lpSqmcv/gkaDzP81agTYjHvX46erg7PWFncGZ1TOXKqQP7QcGfliH5ak9tnEamgIuPyt7GDe3UrFF7FJ11PUH1Z58Mw6bnSGRnis45ughu6ktQUqaWapao0iwnPJ9Fsi58tcLIrE+5bssE3RJAR6PVUuvqHoUJpdRuEWjfgHbGRXqp1WL9B9GMwvO2ootAw6c9LUKmxTD7C8MfyWJgQTNNG8c7FpDC36VUIX9My6OXVErikRFLHluaSbfIGV4q8CWYg6m/1/FFofujXsddRCB/qyyCcdbZZYID+soppOEtq8yg/zrxCB6KUogCWT7+H7NGIo3+uOeXVy8s4LFPRkxkQ96Vjk4S4USCxT3ihdKfOk+vJZLwc40+sC2A4IzmRtfA9CANQqXF+FzRegSflCG9Q0UZh1Y680UzS4hK6FLEW/oPO48NcjO4sxeUZJNctz5OuERGTyKVGFABvuWL5ieiTcPP4ynyNsyjzgZWR7g1/0CTYhtRbqZgx0XwFfhgNR4ow7nsXysRQEzYqUxrr9Zse49OBfFNIjAij+JxBBOxBRXkQw7QP8Q180RrYO6kRyJLelp3HcOazWKLdUA25RITfLFkFh8NGUvldwDCgtnx1XBATfiRPCRtRdzH5jKJ9KNu4/kmu2mDKgmWwupEXCHBLnsEG+/r7R4PXzp7kotTS2+2np5fyHaibwFNpLk4ylBRBuw3DA6cUXXA9lpeaqJCiFGIEjT+3lNcL6Nx2+kRnVhKE83Ac9zLs0Biq6WXpsOPDqonoUcV/VnfvP9QbFDjghCIl1J0gj8OA+h+M3DD5ZQNUNrdlm3wi/ggwfXKdJsnpupeYggasFkNrOTlWq/MuIpSsdYGE5W0SflBSug0BwksgsPWX36i+7UPtTokrNsSSvr8RepqIGh2uEc9AH3n0Aku0ngg1UONo+GHlPygWc7jq56FZTdqBHnKO3942QSoXfhIP8XRl2fDxP2XUofalVOVsu/keATLIZgDh3IHsF0UG1Yrh1tekIOTVmsbuy0e4zl2leHodGxoOBnYwnfPMOYWxPZXrpojyz+nqw++EBITzrkkECOsTrxTVaHrwwSAPjLtCzU0w/EZRD3m3hE0INsgv5Ble+gZ12K/STHVBzqHPchkz0WW3c+MVUH5PPp+GTFnivGvHtjMYx6UeeU9w9fNs4pks9B8N71j6JB6Pk4OSx3/Ygx9IH04l/gEMoOXrbs9VQ48A8++AK9SRWcfLbcuJiGzapIjOiVzj6KI34o/FEEYnLJIm7DZuVzNS1T+knrXkZibQK9ssAu6dln0lucbXfg+9cqbtXhzwIojhHOv8xBT3jQAqMTbTdiV+8K3qqW6PxA8tIdGWE96msaZpgmQmpf9izCzjbQIp9LL5WN/jRcI="},{"id":"05214c1a-d804-4f3c-9048-20ba4de3be0f","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"引用检测引擎","description":"citation-engine","prompt":"为GEO引用检测引擎创建详细的技术文档。深入解释引用检测算法的实现原理,包括文本预处理、品牌识别和上下文分析。详细说明BrandMatcher类的设计和实现,包括品牌匹配策略、正则表达式规则和模糊匹配算法。文档化CompetitorDetector的竞争品牌识别机制,包括竞争关系定义、相似度计算和过滤规则。解释置信度评分系统,包括评分算法、阈值设置和结果排序。说明异步处理机制和并发控制策略。包含错误处理、日志记录和性能监控。提供算法优化建议和自定义扩展指南。详细描述与AI平台的集成接口和数据流转过程。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","order":4,"progress_status":"completed","dependent_files":"backend/app/workers/citation_engine.py,backend/app/services/citation.py","gmt_create":"2026-04-22T18:57:02.318113+08:00","gmt_modified":"2026-04-23T20:33:37.372717+08:00","raw_data":"WikiEncrypted:5AsZyvafBXiUtsQ5ntd2xSs3ILjH2jK3KRqQeqYdLK3xV++pdLq+4satUA35s4AktJpvtIlBIE91BpoSSxdMIJzlzjcEII8kW/R0EytB/VdNUbQKg1RverfqOp1bPEWLBmM0oXoe7+3qkzPC2Mf1ooT1qY+Wnye4CAfG78TD/q0AMQdykzQydTep7eypfUng3BGXStCcjUkwnitXy9jgftpC0/tEyMhSJIRwfEyHMC8pCZ3uBu05K/kbWJMAVzeN+RbpjqQl/AMRIDLTMg6TBQrvrH5uB7kEmNLnso0k4IwbKjYBfsoAT1f/RhrPR6uEpuyMZCI7868kZ98SRi4JNdev+YK7Ek74Y4AW+/z0d/9fpp2VQ3lDuYYADB2ihvzHrK09yCDPV5DfYbOE+YmgfP/W+1ZayVWcVf5jjw/kQ0+wXXpByj9Bf0MvKeJO8OmWNbW11YKf1Zhr9O9ssfAGhQ61tEWdGwr2vpPRZecLhmP/3vAso3UexUhMF+42ursRQIxusBVhGnBG3395aphiScvidcQ3AWZDt7qWaigup/9WWvvwKEk+gWaJBnO8dib6i/mBuB+XC33fXmvrkk6ESP9afV1Ag2XJnNosrx5wpwCnwwVeYm1+mo2FyjpkCyIesooi9FNVuMYQUiR7o2ORBBXyp8r8l4pab4wvhmQ5F/kvyrDq2IUoSgVwCe1WVokpscxHDzemlRiqQALcb9vHFogShoOIw4NQd8JE6Ciw2NTcEbgq5i0hiaO1w/VhbUyxoqA105/8aSzbEwdAcuMG9ciHKwbMkoyR0UaMKUZLJy6VO02JFFpRtlh3OD72t3VNoDS4lWyWJe4G6NccX+XAohN1rsZU+ROCL8Y63mODms+oacpzuNvCQC0f91XvoRbftpDjven11QkJUdRxC+QBid+X3RB5HjEUZI6amQjQESEX2z28T4td0i5MNlp7IQfJjM00IuaVZmFavGuu+RJfvR7n78hqrcdjNGJE2t3TTozXstxH3HLmjwKzaA1DGdcvjISEAlWpSDq1Z+8ExFSDbevtUFgnb30/rRPe8E/+VsDMR1FqWh+HovxPuOeMpbUi9ijTGv8ynn1DWdoSvT0kIfsNMhReSibvIGRprPdW7oZEiI5y1SQYXU4kMBOpPdNuCyaPRA/3Mx5z0o+l66QqRA2tAMfS5JvFR53tL+M8eEjH5xvgW0VmBTv2+9VGk9aRLHXSHANLk78McmWR3P66okFWF0OhqkaLPqj1lqn8SMDBv297qL/7vaz/5ZMq+1nKCtq/I4rY9/FziNmhBZi9jtXj+845Jyt4Qi7hprnHQYqmX7caLgy44MGdtGDcZ/fxMNY3A2QbuIeQRT767L2gpffBKmqQxLcfEBwxKol5OB8/jdyvVTpGLMdROGD3baQASEk3njuah/PfjZcfuARA6oVvcpj+RhM9HEGKondRlyBHvD2f5p7nK7WyubfWPvcD/iKl45JOn7zLMHQYvIYu5w==","layer_level":1},{"id":"bfca5ffe-8905-4ac2-a0a3-8e4dc43533b1","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"数据可视化","description":"data-visualization","prompt":"创建数据可视化的详细实现文档。说明基于Recharts的图表组件设计和数据绑定机制。文档化趋势图表和平台对比图表的实现原理、数据格式和配置选项。解释图表的交互功能、动画效果和响应式适配。说明数据预处理、格式转换和实时更新机制。包含图表的主题定制、样式配置和可访问性支持。提供图表组件的使用示例、性能优化和调试方法。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","order":4,"progress_status":"completed","dependent_files":"frontend/components/charts/trend-chart.tsx,frontend/components/charts/platform-chart.tsx","gmt_create":"2026-04-22T18:57:04.217105+08:00","gmt_modified":"2026-04-22T19:23:03.405364+08:00","raw_data":"WikiEncrypted:LlssVZ/E1BSUywfa50FLlWyGoIcJJpOig8KP9B9gWWZZI8ePi8CsG3BxaOR4OzxCxm2XiNUDCA5f2LMwvnigr2SlxVBiSNHUI0lCgSHHEunmkPytqBjFiqGB9yeyKz3O1rSdq/m6COB07RDEp6Tymfd/Ich7hNqr0ALiJKFBMfTRXbiXa3naRlzgzc5/DA1h/zbAk9yl3yaR4bB4p7xAmyNn8C67e2gxrbHOKN7NK15dfXoIag0XHJMVwFE6SysJ+lA7fykhvt72SHx+Qz58/QamURb9OcCEnEtIYqW1uga1vc2HXP+r8Ud+tutKATUxPch908D2Dm70HjZTkDqV0y1RwdTE86O++EPgx5Sx24CmB2Y9KEs2TsxQBSxas2iX7ajhgIL9xFqjJIMVJWfRNeL/ql2x/OsrzEXUWybjh//bQHE/MIs2lMcn3jl6uggDT3q//Zf/jugKwK1117XAp1NDps6xhJqmTf0/J+uk2DjJwURNZ+f/hL4XNyCoPSOpjPZMIk+ikrqwiBBFy1t5dz/fksmYdzw5H1wSGwFPks461EvwT7SUd3qHg+HDEWwCrMRQLhaalcb+5T4rD4Gg7Aa0Y5Q7v043Oz/0rnmFckpB7QJrcI4yUtnbNxu/HuY+NFZLqpJUrNC6MhZKZ1Nf8HjXwbb7FvRLPTJk/0J2UGgZIuFkHqA398GnAHSj3OegnBaKM+qHr8cVs0wfQ/uFwwYzgoBd9gSGURpkSSDhsDUj2XJMeQPghyYg+au4UrCpUVHdYOyliR8OyttchGTRgDox14AD6X6BPxBueyw2Yb6orKjSBwNfDa9SZQK8dW9S0BehKqK7QLDHIzpglx66chB/QwWwaryM7BrEciDg6cdFeFQSmV+EgDmEePwse6hlzNdSXObTbNXLDwYhtifAxjK0xxhVUCtc7HVAFKLROk36HCFnlzxLpVmtppYzoprXfyXDe6BHU55d+PSdjtYyR7k/tigqJv5jX3TTrH6McF+/v+eR2ZtsTDIjWz+prq1cMVTVPgIB9WoT0+dXP1fMoZ52xLzWjSkgrQ7djAo7jyy1G9plvOx0bdGh5lBGOz+/zY7MTLVaKx8eK6kKS+juFkRK2kCuesUi79TGLidetA+vkruZiHzNPBJWntDodb79","layer_level":1},{"id":"b32b024e-2d06-45c8-94c2-a07fd25ab9b3","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"快速开始","description":"quick-start","prompt":"为GEO项目创建快速开始指南。提供完整的环境搭建步骤,包括Python 3.9+、Node.js、Docker等前置条件的安装和配置。详细说明项目克隆、依赖安装、数据库初始化、环境变量配置等关键步骤。提供docker-compose一键启动的完整流程,包括容器编排、服务启动顺序、端口映射等。说明首次运行后的基本操作,如用户注册、创建查询任务、查看结果等。提供常见问题的解决方案和故障排除提示。确保新用户能够在最短时间内成功运行项目并体验核心功能。包含具体的命令行示例和预期输出结果。","parent_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","order":4,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/requirements.txt,frontend/package.json,.env.example","gmt_create":"2026-04-22T18:57:13.330281+08:00","gmt_modified":"2026-04-22T19:23:49.7972+08:00","raw_data":"WikiEncrypted:1aHEw3M2aeluf1++NE1n1HTCzLNrSYNKzc2IVp06RQtbuAYcMEXChpU7tJYS1f3O0opR6Xc/vB+l5keQe8PgCR2ncFv/1Td0hCZ2YAOzrKcU9vT19aDXTs2wVsNg8N0rDLvVcTazfsrfReCkGbF3t4KIDlALR7E9k/sBc8Aux87FRnIqhElZnBvZS4Wsv6VYjg+rG70cB28ZbZapx09FwTbE2gyXj7Ck6qNOm9h31VGeQcyIEPfTlQzKWWghd2UuAwraAXbHFeTBwAzBOPZrVi2iMW5N0fiPvrofJe2RpvtWwEWsHguXuXUfXywdpjyOFbnrTokbwQiiwiHpgbktPSypaW3QvBywnGVAjxPBIfRlzbrxj8jlb7w8YznQPbWcNRuYRt3TVMBHR1Ix8UjdR2JwWu4yZQUrLOP4XJ1OVoFdLu5sT3ug3YetVAWSBGUiyUEIQ1U7QoHxxE03qI1ZmrGvC069cAhyU3YQYL0g+PfXWWo86/F20gUXppepBbqg0yRPlCX5asdDuL0vX+i9vl/JI2++deWQKu7cSc8+5tRNcN2AF8Klslhvy5KUEZpxqPaEhxXek/RE8thYcMjT02y2lWMR/WID/CEUm0DZjOC2fQE7kYjogUTC8OhNTBXocpLyn1sbyngxfQ3KsE6+Ysl41LroJ5F7SN8+p5pueRZgBbM32odMU1Dil6T14I/HwltMjiGAjHurPSB8hcX7nNvkuZnVTE2YMjB8ZEhhf76D9Pp1naI3P2d3j0DprvLXRiuPSfO9NBTu6LwZKuMaI2MBEDI2zoV182wdrC1T6AxOiHNcJXYiaF+ZOpMA0vabvcycoioAE6VOZ0mBQ9ZPVSZDf/Dw+VTsC8U1qruh1IAQVYCHsnjY9etX9sTaj6Izd3VrvgQkqP5vAteSDZTy1FOTlTi3X6RzcurXdR3833HqpXa/a0ot8JiRdmjIG0ydOuPYeZPs+Jb0FMN85H71mBziu41udCrikCTPBRTVz6VCG9yBdOgeW4s/iNhPqWCnDibKpfJy1GfSyZ7Jja1d4K91Y+IHVrJxB0+TZPezxY/htgMg4W7MtRoOOPc0eRqst/S2zmEgxMMpU4dfaQIne5zGbUEPNb24qp3HsO9v2un6P17rFQV86RwmPCnyngxtddo0vUNesY0s594GhsGEquA9XlaYa4/KNM14pVDEm4ReIC1JvvqdiQdUAPv3nMXASqe3FxbJmsi93mpWhKWx2q4W+P3ZivXtxhQ5OB4Rs2uXmArlB3MNPKk8TL7wHCUAsFUcCGoPtT2+ov9ntDTLyjKsb0YUGjYUqAceHGdvLCM=","layer_level":1},{"id":"15d6170d-716c-4d2a-833d-81211a59027c","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"平台适配器扩展指南","description":"platform-adapter-extension","prompt":"创建平台适配器扩展指南的详细文档。提供新AI平台接入的完整流程和步骤说明,包括继承BasePlatformAdapter基类、实现必需方法和配置平台参数。详细说明不同类型平台的适配策略,包括基于浏览器的平台和基于API的平台的不同实现方式。提供代码模板和最佳实践示例,包括错误处理、资源管理和性能优化。解释平台适配器的测试方法和验证标准。包含常见问题排查和解决方案指南。","parent_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","order":4,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/base.py,backend/app/workers/platforms/kimi.py,backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-22T18:57:14.593273+08:00","gmt_modified":"2026-04-22T19:25:18.719953+08:00","raw_data":"WikiEncrypted:Djug3Ni1DAZ8Du2qShzHYuqLmnJOyyKhsCPSfayzAMoLf9J+rFBy0LePWIX3b5/HwiLgJX57X2JBlObsW70y9DLEgX5HDr3AAeBC0dRNACFssPk0GwpdFdJeFwRtoB01ZTdr+IpYAK2YG8gaEA/2ysFJOZzxpGWgTq/Xz+KO29a2kcDgYhZKt55uqT/Mo/5Dzr6AN+qXdLL5xSqrvCkpmhYMFmzgIBOUjJM1mUISEtf/X+gK0L0wXSj/tCJnDQtGJqbFK24HEYyVnkon1GdnIvb+Vptmby7Qg9iNT/xb8JEVTTLM92335BfpTwTp+D4fNkMNyZgXv/XW6K5J/dLRulOCKwxJxPROAyvyEc5xLI8vh6BGP2+b8TgKAKILZTXg3SemKVhGrB3MqY5+V6whOOMT57LHnuwJUEMNMJsswFiLp6UbAlqwiICRF/Jnb+bvCliw4xXvKC6xfAJDQ5qAtcTCAm0uGslNVB5T07pzLFy5EaJS00hqRmvac/P3e8UyL84KjzdngtT3yZ95yCL30Ad9SpGXt76JgCgVJoPFcnPYlJZiXneeB39wFX7rogSSye9XkcBSqEt2ZITemhNHF6LmqSUdnA3rX85S/zDmRiN2NjS1Zjvgc63JjB4B8gQhw3rDllzHDLPBIO3PNInvmVsx5zHOjAMZmyIaoVRtB9BQQnUdHn1WvHdRXmZfs3eVA7jNhDQmTtBzdGtJ31XIHAVkP5ul/NXNBKUytIXDS5hE2s/ZR6j60eIWBlCNxNIlj+42vefIOU+e5kJufMVcBv4aXyQHpunohRHMUYteEC24NO2CW1FNZJlH9BEyf8RKg1/0hDEmySMxcj/S/pXTp5i8nevE+JleHdj3zeyWlGqJsJa7arZV/Kj7qPJYtN4VHoDGp7MFHgKvq6W26lje9EuwJEikt3hqjinocemgMjzEx+PMVPovHIBXyCfuSOtygo59bhUm0pvPgdMmml9UgZeVV1GMzDT//kfmf33ZL+aXTl+zEmnw5fZYwccKfmY6Q++ZjfSQLB9eV6u79F0yq3zh7zGb4RqRR5ZeL2vQaNsL3wyqgNppyJMYSC6gX+ce1aAimwDx4Lr/EnY474W0FXvid1Xc6Bg6KdPrwnKJJpi18zMOmECI68RvMpwmM+92oe/m3dj6YGItooug3uasMy8SPsvLi1RV2F0CQD5CqYs=","layer_level":1},{"id":"7e66719b-4a8a-484d-889d-10fdc76788bb","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"AI平台集成","description":"ai-platform-integration","prompt":"创建AI平台集成的详细文档。解释适配器架构设计,包括BasePlatformAdapter抽象基类的实现和扩展机制。详细说明Kimi平台的浏览器自动化集成,包括Playwright配置、页面交互逻辑和错误重试机制。文档化文心平台的API集成实现,包括请求封装、响应解析和配置管理。说明引用检测引擎的工作原理,包括品牌匹配策略、竞争品牌识别和置信度评分机制。提供新AI平台接入的扩展指南和最佳实践。","order":5,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/tongyi.py,backend/app/workers/platforms/doubao.py,backend/app/workers/platforms/qingyan.py,backend/app/workers/platforms/tiangong.py,backend/app/workers/platforms/xinghuo.py,backend/app/workers/platforms/search_engine.py,backend/app/workers/platforms/base.py,backend/app/workers/platforms/kimi.py,backend/app/workers/platforms/wenxin.py,backend/app/workers/citation_engine.py","gmt_create":"2026-04-22T18:56:47.083138+08:00","gmt_modified":"2026-04-23T20:31:36.620063+08:00","raw_data":"WikiEncrypted:wpnkiTiqqfzSOLf9jfRAk0Q6rmj54V4PX4cfdCN1v7vUnV27EqfgO0UCzli2MtUnJ51CgpvG/pn/E3FsASRJX83W5OtoHXDNZ4j26fcGYWMK9zRC5hi8J/dMZoaQzJzzsT8qKvXJnD4D7Bjp4ZqFEme7Smze8hNvF5wytAi0n14HrcR90C0v1NYf6UWM/I1F5Nqo0+3N+pfMTr9vJAv1ZqDstNHpvNePzJyNYVmfwpIE7rezCdxATA1CVuPpwaFA5xsmJ+vkqC26R1ecrjj4kaKngH6RRRDgQhhQ6aRB3vt5nqJTkK/GUHcF5T1XjKaL+a/sKF+40wgULRooeO7uAuC8Zv55v4uHR206FqyBmzQ2n2oL7aEvTlkvDbpN4K4o46nOw6eAh4cC2u+M/6UyRJ/vHl8dGbnZjB21BICs+8mtyY9X8HX95c3q/eXaBcsnPvE/pQo/8Z6wSj7GzmxfueajIQAC0N3PypyM475sPJJAQYRRBk4tB8BeeHAheffcSAiLI86gW5xCar2+kHIHTkRg3pcdkaw1EkhKeqcQw6ew0Z83+q31K2+D+G5Dp7k0yg57Yy+wQYoQpi482aVJTCvTl4DM1GdhaLBYK1/O9ybs6CsHHuhAMGPJeOCtMI8ehbz37vhncd/r5KFUwVm+e8+iVqLPjIA7A6uUm8oef8IZswkzAIcBjZTd0HQmfhdO7p2GfuJKvyAMwWchCj+pryelFxsQ1XiY4QCO1g7ORVxu6x+4/k2PNCOhk6gEBxOjJQzXNM+PjMhiZHJslw5eSbtEAXm+1F5jyhyYY972p9cQQS3iRFts9dQK7qtI8+zm8/UMh2S3rh9y089hgBEUB71Gg5cUb7gaiI0gJYh5HrUXvqt3g6H5zQQs+913IJZ7giMElPAP2Qjbk7hKfAuLl+gm7pG21vEiGBgdafi0W/SeGMfEfargk5rycBiAux4yqzolMzt6ZY1G6bSEdxhBwAL7IPHlaguENQ7PIDWDT1mlEboyeR60e3xngdX3d6vQeuuV5+OWjDecOeZTiBxvDIPgHbMXc4UEzS0YKWD8ao1VsXgT+V+KP4QhvazHdx0dXUhAJlmfrXF13WzadCYVAAlfJ5iNGkT47I5Z7NwqDIF2jO1g5hfgR/LgTwdLyuzF0R79gBMRfYZusLAkvoVjfKdTxjMIrkuXKoXEbgtcZDj99mrJe5eVpoCtl/nL+FDv5U8e1VDikgYWnXY62y5ZnhnOcvlUDLD2mJVlDEbnDBkMkFc2WW6TRTZQAb1pLCRTbsDr+kQD5BLd0YLql1xTFN8IsAKgz3fkhafmSS0hAEBsKC2Ntov35ZpS0cXcMYb1oGIIGPVAMq4Uk43QUUSLac4pkX/xpRkDI/wPdmaebMbCDw83xHKBNY4h9STf5rFicv01m7HLBHfkB3BTFwYsKGhOqxnJPkYnD0ZSz+ia3lw0eV2RoqWx6ITdxEvkaka3zPxNSnqrnTBwjBwTbLz5tXrCmK8Fn5Dd5N9xlYM6+6iveOBt9he/WYkedO6pClHq3NK1RmLgTQWpL532vkJNeI9p8YUcv89XqnwXSi1YhPMe1PKgYTDGoZvsPk66RDWaeTNkfhF/vcZudTvgMmZzQVRfZ/clH6wRHfgZzl1X4HZ6WJ7PKSSwwUBw/jkvMZ2rixaio10OXuEfyOqYqV4EoQ/upbXArnmYKjEbhcULNFk="},{"id":"850fc702-3eb6-45b4-acd2-ae87fec1f4f1","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"工作器系统","description":"worker-system","prompt":"为GEO工作器系统创建全面的架构文档。详细解释APScheduler任务调度器的配置和使用,包括调度策略、并发控制和错误恢复机制。文档化工作器抽象基类(BaseWorker)的设计,包括通用接口定义、生命周期管理和状态跟踪。说明平台适配器架构,包括BasePlatformAdapter抽象基类、接口规范和扩展机制。详细描述Kimi平台适配器的实现,包括Playwright浏览器自动化、页面交互逻辑和错误重试策略。解释文心平台适配器的设计,包括API调用封装、响应解析和配置管理。包含工作器注册、启动和停止流程。提供性能监控、资源管理和故障诊断指南。","parent_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","order":5,"progress_status":"completed","dependent_files":"backend/app/workers/scheduler.py,backend/app/workers/platforms/base.py,backend/app/workers/platforms/kimi.py,backend/app/workers/platforms/wenxin.py","gmt_create":"2026-04-22T18:57:02.318442+08:00","gmt_modified":"2026-04-22T19:24:30.529121+08:00","raw_data":"WikiEncrypted:NKkj/YX2GdbxYjFllBaf8+HUgx0ecKFsz1U3HC2t2IRMbOkBCmoy+IYbhzuQ50K4pCdPARIwK+MaHbv1MDUXpcbdnvRL12GKezTnD100oXzQKqQkhZdDDC4nIEcp6weWLVGVffqyB7aL/dnt1QlE63XyJfCwizBlecxl1GDUB4J0O7SsTFL5gI6enVYO6hOzx3JrWnEFzirRjA6Llz1iFiFUWxTjxjToT1qkxAdREq2omi39vXL1s84I0XOA1blljfNNIGbpkxXW5uohJBndl6l7Bh23wF8z1LfdAavsFmljavCWqoMvA61Dn4jpJT9oDmaKXZpVSuxfMF2Tu3WOJZwISUGfGBJfdbfxNalhuFff+bhZR8P717nLoM3Do7T26rsqW/pr0NJL6aKxrlPCeIzL0v6Ct+HU3ULHT0EZpG8HfU2NhGWAJd0NhX8RZ8B2ZpfXZKioKtCkLhl4oWV6P8/k5g1nWpnP3wpmDwvp+/pGBeaBcYSenwJWgcGR2s0KgVsEW1niM8+JLaK15wFrmKcxve0hIWBiiPnbZKscAYq+5hj3ecte8h/JevEf+SBNB7ify6uUGU3Eve1jXyPeBrc2FCU5ueeJSFD3wu5pHlkzm7PP8UAbQOfwmENf/Mc1YRNi1FJsujdQuJ67474CyCTkCWFhTC539/6iIa7hN8505GK99PxHcIrsPMMT5LU69r67SizSnWV5bawiMPKGosexCHZfhT1jrScQCKeuld0X/lE1WXXm6ADBbfxZrn/iEFK0zc0WKsnT0X/nQI+ycJaw40Cm+soCO6/KtdYYGEzpzViqi2KxYhRyey+o+yIi8V7nVsxUCbaVRVmYNjnK9yX+3ypdVpJLIJXQ5ywaUWfvqgCrsC7Xxba9P9D+0kmnq6jH6ZdIuubXp0yOtWxe+VC4bHAWoc08RoBdLrlTCGz/hmgi5S83hM8MN0gLdQtc2YDsc0Pxw60+ylnkdlKIefBmb7XPiD8RMRvcbDUCGnrpenbxf5eoWLjLWfyULNQHoYINDdIFvn+skLu10KkfTf8lpRNqd2uHkHVhTTCFh25GlRLAdL7QDHMMQbmwG9OTjjt1tMlW6aYJ/pvYQq95uzmLAiICIsf+nT4xgqoFK+tTBmOst7Z3+bj1YJCPtUNyIzC9a3YYfRwlB1ckjgJaCURcXpImdkDtdpl3GP2mtDp9O52ZDAQVAJFVA3wFFV1G+qjqGRl4cDFK7BlAs04O4fvskn26jrDYiVqgdF0pc6eIiPhAJg/1BabciIggV78rEnEg6jiNJ8AhUmKLo8JOvL/C3m1mfcaUbU2K7oK8damVm8BSmIypHMJfCXzHIt6i+CaJLNlZ+c+MJ4WhqgPWc263/SnxO24wH0vaRtqmZ8g72SSFVa+6E65bdhSUaIejIDvILaBv+73KdUt7LGKPmqKoftErfP4grQZACnS3zQLXmnMfdzurPkKbBI1PkyT/ase2Czwu5/LwHWdWDcRQD2uZmUjndsKpbR6/xVu5Ry5VLB/ds2BrgjUp5pD+Z0U995X4yVwpr9oCNxR5r1sl+2Wv3jotf19l+safw9XwODQoURKcJiGxtJDymJvVEyl3ZEe1Izwl7SF4UqtboIYt9vEoEIilsuPPDtujnpN5pkY=","layer_level":1},{"id":"fda0598d-7e92-4b8b-be52-92ae63c3cd98","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"API客户端","description":"api-client","prompt":"创建API客户端的详细实现文档。说明RESTful API的封装设计、请求配置和响应处理机制。文档化API客户端的错误处理、重试机制和超时控制。解释请求拦截器、响应拦截器和中间件模式。说明API版本管理、URL构建和参数序列化。包含认证头自动添加、状态码处理和错误消息格式化。提供API调用的最佳实践、性能优化和调试技巧。","parent_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","order":5,"progress_status":"completed","dependent_files":"frontend/lib/api.ts","gmt_create":"2026-04-22T18:57:04.217601+08:00","gmt_modified":"2026-04-22T19:24:50.486294+08:00","raw_data":"WikiEncrypted:/umMwKXdJhL9PqhJYRia9MjBtE8cuBSpJq1+zwyrvadwhOTuxc7+NNlJizkRp6kCDsj6HmsrrrEG2WmrNf4m1kFf/yUci2Hny4otqjfpEsOXzmFIxnq13zAZFe1oDyDiHr+shS0DH1omM5IrOroFuNXfBlFlOGXuTKJ3wXXPweq+qAH9QLU237hwRdKdI1UNXoGFfFF9nN8NzOmkwSQ0cRMvswtunfw+yphm0doFqLjrjc0WUZSar4loGeSR6pOSLU8ebi/JkrnwesaWnoYc/1aUJBPdJqVPSJQzjx/Oupuf/R1ihtrn81TMYOUvEaKLk9wVSfSvjh8RGttelGQzTBNJsssgMeqcDh+Qz6r4RJeFKgaRlhn753ONhpYFsHOA/05biB01p6yVuJUR2A3I4tqTlKZ+Xt5K6nvklSqGfR/asdknv3YOkVZOtQxAjyjg/RmmtnslgrEae+k+pBRvgZU23ZT5nZ82LarvwQLYZlu2F16oJjpKEgT3cw98zGHlLEIanqAXIOhT8iR7Fwk6TTKreGcH+oOkFNmbXHWXAD9ixtGbLqoidjzBlLLSR1++hGoabWTFiJX2LKj3lCJ4z30snHEvEL5ruTnKMF+gXM+truHTDsrO5CuaWyGY3WYVTndJKFLi2PQu5FclItm6ykG7LLkMlOXcKTmOrUqOgQhgDR0R7UuPYneG3+8tP49Gar78dBGx+Da8xGwikj9K9OJYAlHpVo05oKo78qku6h+6J2fHgIvIyJPSC88Whc+HpqTBbVMAIjzOQDzTTafDZnEoLWczvFoR5x2aPLnYwXdjyljOhmpXH/bShHcfo1W4KEEzka0Yp+DMZpTiSyhBpA5iLdjZdU9RnTUPTwMtqSXfdbbf0fdgem+z3CsmiuZJVViFNkOfRqL5f7Np4ITC0v2XwLSWr/bC7gbUZiEQdwEr7jwVO1Bk6/MCzvN1G217W7/RUPA4Up/Iu6PRBPcC4dd2r16kpGY4U68Ud7F6iXnc1Twr1Znb+cuTdO4Fu2DQ","layer_level":1},{"id":"7416db23-312f-478d-8883-2fc3c41ac2e8","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"任务调度系统","description":"task-scheduling-system","prompt":"创建任务调度系统的详细文档。解释基于APScheduler的异步任务调度架构,包括调度器配置、任务队列管理和并发控制机制。详细说明查询任务的生命周期管理,包括任务创建、状态跟踪、执行监控和错误恢复。文档化异步任务处理流程,包括任务分发、执行优先级和资源管理。说明调度系统的性能优化策略、监控指标和故障处理机制。提供任务调度的配置选项、扩展方法和调试技巧。","order":6,"progress_status":"completed","dependent_files":"backend/app/workers/scheduler.py,tests/test_scheduler.py,backend/app/workers/citation_engine.py","gmt_create":"2026-04-22T18:56:47.083393+08:00","gmt_modified":"2026-04-23T15:20:09.061178+08:00","raw_data":"WikiEncrypted:VyywLMbCKto41PC5aDsBo+87rJy1wKhB+t/+dFn1cQKhRzLNGkc+cdUADwdeiVqAIwtiwaq+rwA2WFYQdbiGz8cyKHFmC9lmt3Jas1uZAz4Osy7WTe5xdzE2SEY35xhzdqPvBbNe/p8j0HjSJGFgENGbjEhhukipSO73yvj8CPLzAxa5OEqoQt3uMA0dCSgyFv2LovXFxAXl3U9omZ+jIerOmf0scDYFZ4Cjk4x8Bzb0xm/6wMRJahXUi7eKOQNBfFSlRnxNY+u8u6x0eLR9rZQJsBFNgTapyPe11i341lFAvV8GVMJsgmLfZeTV/A+CJWTGWbc7TTvNnWcbYK7l8zeSZ7dH4rEnOvERyY5kxDrOEwU/Yjdg0OIz0cgmb+dlRmAPiX3OWjxUXJg4aSEFFG16FvCKl2nOFUF8LecaPl1ENKZOzyeeouQpzJp6MwRbCvWKCbKjmM2LofkPlbYC3ljZcmitkM3M0iUQSDo8uwQ71JEBqciChTxdYCFkbs5lTGlaj7NMUVD0hinIuBaEJQ1j0Irfxqf1ncrLdx8ZNQfA0gzLgSYcvydd0BeII/j0Mao27RFzOAqYLYT4lwZn3J2ZefvqYbOF2Sifr+D0ZdG7elOtYhiRAUEHGhPSUWaoI5CpzqRPYnRva8JuLDZi4Kj0EyjpgPrSYN9dp01ryHcTMd7FaHIiskbn258Y9zpaK7mnlVvyKtjxlJL6MtuIV32lhcB+5EW7WH/6QDYQTwSBHw8UP0tyMyNbps8z+8Q5FmgH8vHxFljollei7t8eaPHYkk5rnVsXfTSQ4SjT3Ki6R/yfZ5BEnJidV+OTY4jtwp6TKE+kf6ioudhBQQXHEpufZoZaVaTZXTiIGuNSUBDlZ8hnbIS8ou6QcKMly3uw16qq1jpI+sVrLhWSLFcfRqW774uvsXptcHlY3jyOYYvgNSnLk9DHpURDX2VPzmVnzh4qOFmePV/gjmpSqLQpV1/iNIt9g3DADVd6eBWCjpp7/eefKoA1yLf1v3cLqoz1NFJZDj+xZBAIGNokT1IaiTnENcvwwJWL3xKUl+n4thAe+UgHXKJZ2an3jTF5IKjCZK3wFTIHqnkVBqLbYTnNr8t764mZT1/9wh4OKLf46TVR2knmcx1cuUtGr3Sewy3daul0qF4ixlI8qx00gkAJPhMSgdD9NphN7vd38cFIdIrhJ257ibJH98P6LFTvtBlJtLNk0e8UNLU9gvqtKe+mlotbHy1WlN3l1P02b370hBTcnBA0JVykYqIO2Yux+kvP"},{"id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"API接口文档","description":"api-documentation","prompt":"创建GEO平台的完整API接口文档。详细记录所有RESTful API端点,包括HTTP方法、URL模式、请求参数和响应格式。文档化认证接口的JWT令牌管理、用户注册登录和权限验证机制。说明查询管理接口的任务创建、编辑、删除和执行功能。详细描述引用数据接口的数据查询、统计分析和上下文提取功能。文档化报告导出接口的CSV格式生成和数据导出流程。包含错误处理、状态码说明和API使用示例。","order":7,"progress_status":"completed","dependent_files":"backend/app/api/auth.py,backend/app/api/queries.py,backend/app/api/citations.py,backend/app/api/reports.py,backend/app/api/deps.py","gmt_create":"2026-04-22T18:56:47.083629+08:00","gmt_modified":"2026-04-23T15:19:45.663556+08:00","raw_data":"WikiEncrypted:rEJA+fDSevRLFPlWlcH+C02eArPzlHQTxpYkpRmh+m+CmPwrZOHSqyEVvpFbcfuzlCdXmMyG1qoekj03JLnUhMCX8p4fjuyWVCjGyWgOqZe7y57duQvm+59HTVelUf5p2zKcXe0BF+QDGoY0B16JqwBxz3Y81Gy9FL/tP9oUSvy1GLFQmo9ALw+6+ZxshNYMaAYjZuIQZmKyZwLkz6Lo7fc4BaK5WrdvEGmFG2VWCEklBP/N4prpXJgdgQa9/TTjsup0wmZKwrmq/DT8e2QPbXwCMPbD761xiGBcOmyriwaS1OsRl5hWA8RDMXy8StAFxKHEso2pOzgFneedAOAryo6BNtK47OjZM6n57D4XO3jjoIpt4db/IEwMD50ud3jyIs83d9/ZQsJP15jAote7wd2NlHC3C6SRJ33bMHWKMdM7RzO/7vsAkmQOdO6kmb0HkP9WWmD0JcBxtbYCUe27HlFKiPGOw7+qNMwW1D5inQAnxNsZFvskmMmNz9EwGwyI8mV1S3fnXxbZ9hYrwdcNQ/Z3kPzrfVlLm8MS1OHXimqvLbhsGxaoJO9kpPYSYVJYZDPkGVCjNOaoNt4rk9ZPU+vJF2fE8vQ3g+mePnvUBXcIT0YPI5q6P/COgOkwr/uNMb/pjjYKK35N8A7Tixh0LajVZ8O6boGN/wP2y743Mmij1WlEfi0U1mxyVLIzU4Hf/16zrZIIvtBk+L5DwQFAOmnB5Wk2SEBt/ckL2avHYwnEU8e44ilJKUDw1J5xsEkBuaZsOszKIzZfKfCaxSHZwwOR8FMAdrXUqkyhDe3xhYPHalzeNvMObnrpOIplGgnWuJXa9FAlm4P1lZAJE9M1Zjzi9GZSJVGRuh7+ab0i29L7Dk+z+KKmk2/FrJyiL2HL5NiiLqxbnAwo0jZt6xZQDNjPOlcrrDoC1rluKxSfQfy7Xyq+jg2XVbGrQg6BZOSIbTKO/0c4mvevvMKnFVtyZznBgOa+aopDSinpVeR5IGtnnCBrKnxOgMY3kdCeR8ZC9CVqYABHInpmZotbBkj2swe05IUifzeo0aYDhoDspnldRmxXikdYCLDExsIWUXmWqZtyRhNrYnROV9uXTHWcuSpm3pQrHjISeX67ERQWcong/q78tHcXNX+/4nKL+f2BswDcOCMEpy+KPlfbfJkQBSyLqYudx1UfpWzgkHhE/gAYoJqNs1CL345d2yImHRHpw2D0WzVjqCx7Ee4GubRt6SAel3qJYKYi1PPm8c++3uhVGbkxmnmaS9K8+VfA/tvH6VpTexttzjw82t0C5JRKQAYiWukBx1q6fQATjTRN0Ew3V1GW4v5ZOamAaBAvm3fewSaKJOLr1aADfGRpSUf/dg=="},{"id":"fc6f24c3-594e-4153-854f-19250834eeb1","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"测试策略","description":"testing-strategy","prompt":"创建GEO项目的测试策略文档。详细说明Pytest测试框架的配置和使用方法,包括测试夹具、模拟对象和测试数据管理。文档化单元测试的实现,包括认证模块、引用引擎、查询处理等功能的测试用例设计。说明集成测试的策略,包括API端到端测试、数据库测试和系统集成测试。提供测试最佳实践,包括测试覆盖率要求、持续集成配置和测试环境管理。包含测试调试技巧和性能测试方法。","order":8,"progress_status":"completed","dependent_files":"test_output.txt,tests/test_business_flow.py,tests/test_scheduler.py,tests/,tests/conftest.py,tests/test_auth.py,tests/test_citation_engine.py,tests/test_citations.py,tests/test_queries.py","gmt_create":"2026-04-22T18:56:47.083879+08:00","gmt_modified":"2026-04-23T21:02:44.23225+08:00","raw_data":"WikiEncrypted:Xd2Zu8BM8p49theGlFJHkHqkA5ycuMpwkltd7rjxfkZm5u2F/OCOa2rxC3NxLrZDZf5D15q4Vh8tHCK9cPrOS/yjJEFoGKYx888+pCfJVQGvOvV8lbxJ/fNWDqo3ccIMDBY5poew3y/74L1tz0L9vjHRBLPVQADCR3UfTk94UBhlYGXamKDS74D8TgPqiuz1dVhmkX95unpFQiGQxCgxeV/sDgwTl7DYpnPy4VqFJbcPHD2Xvv828icOoxqz7hWaOp/65B5Vcn9P4LVk7dQmHzrLBdrDLBe+5Rv6mDD3+Rqrv3ZX+1v7tJ1dnmaQ2ZF8tE9ttI6ENeaFys0BrcucTSrsbSDtmFINzGh/aW0G3Q/YRtNfmkC9t+R8wRSnAgYadYSkUuNTVWQRRs4JxAcn+cHODObsEdp79EwDCqcLktVlpNaLJ//B0sOyLQA741MiLH5iM6tglYaOoQ48Ydyw7Fp5U9agWwgK7yZO7REk4ZB9U+juDzjf+qUHyjIVlXUxJXg7ATsy4euCmDpjyxJGRH7Z89wWkOotsSC3igqSM391kOqbzl9P5ZiruYliru20PndDwtXbJQ0jcvvKJsK3RkIYX0ml7BOL9H7Y16TL1Jwc6DVcRkwWQ4IEKG1fJhqYcb4WI/vPDD1jIhHBe6O5VAZtPPA+SIpYJg8+/qf0FQY73EPqWe0jPuc6I2jyN7UbjUMHRAeb0sVvj18qVYb4E+KKwNZyuAs+0SvTk/nTgqFPdNrOZ923/jnJTNt2Df1p89NDS0NGeHobiC4XD8koxe9vshUUdeDjXIopttcYBg4LcWAudoq8OO07eB6xiqn/MwXPaZySdWrqr3bh2xxxaQPR/NTrfrBkN+81NO784cJEkYHfSfUzIqhLhTTNEQpfl12WDM+GnbHWCcyWuN2dvZ6Op/ZCpLO+cQhZnXFPILnCzFf8DyNrbD3niQYcOC6H1nFlaGSmx57lswjyX14vwqOB+yNR8n+xG1a7JwxscBYaNQG5kvfLaJJKpxIdSB2YIKrIwImPHtzTI1Qahh3MfLtqI99aH9p/1LMaKJQsASKr1Ja1X3dO+ZpIiQRTeDR/jdWnzBA7Hk9SjB6ALHJhLYTutqKVkeIL08U9HNeWn3BFwCthEXMHapg0Vh/guoIq1j28UwzPkqMcSynuv98uyhHfUgRbOWQ9WTDis8gPn2jxpoCZyVCAxOTfF+67GDoTn6smJmqHIkQkMjrxLVZE3FfMtXHAcZ2kG9DC1aLVFNm64bP9X/W11dT6vm5SkabIiu1AzYuZDce+Rbg73WaCMrv4sXmBpNYhYUkLRj4gwNEFSd+eOJ/GS6MZSkA7p6A73OY1PHXlRnFrcLN10/XzFaPAM8L3h4WmqYoxFNJPTx5hRuwX2MfiwZgZlaICfBuO"},{"id":"803bfef4-3985-477e-a61c-915a246d0061","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"部署与运维","description":"deployment-operations","prompt":"创建GEO项目的部署与运维文档。详细说明Docker容器化部署的完整流程,包括镜像构建、容器编排和环境配置。文档化生产环境的部署策略,包括Nginx反向代理配置、SSL证书管理和负载均衡设置。说明监控和日志管理方案,包括应用健康检查、错误追踪和性能监控。提供运维最佳实践,包括备份策略、安全配置和故障恢复流程。包含CI/CD流水线配置和自动化部署方法。","order":9,"progress_status":"completed","dependent_files":"docker-compose.yml,backend/Dockerfile,frontend/Dockerfile,backend/requirements.txt,frontend/package.json","gmt_create":"2026-04-22T18:56:47.08417+08:00","gmt_modified":"2026-04-22T19:02:23.851886+08:00","raw_data":"WikiEncrypted:0IKfLNOWe9mZfG1jVts3w2XbjO+yyEmY3ONOjrL5GjA8+3c0QEcD9OcCVHu+1BW/N5NkoQV86wegqQ9ShX8iSWP5bp76U/WBxmHscWo6tU/8QlGuoaRAEg/ev4XsKkgC39pvYnfm60PfrpsE2hL1E2GfNGgG77OCHFDgZXXNbh9eCPmSkW8+YhED55nkyvxbnzr0nBnhsGtTzPUxHW1tar+GAvP539R0R/4mYQI87YJ70yZ7fcsaLwgOXmzP3dVnnmpLv+9t7xJhpCjyQsxfBfLLWBAADnbPD/XDJUZjfKYBtzZr96wOF29GlOAKy0gF60uUu4ldT+fyQn+nYlMXrNBIPA4xv5zs0p3ITXaqvMn5CnUdObefSllD9bB5ZAVzibfAxAovDM6bFfCBg78rOiHHyhVisNUpyQVL18Ac1DA/7UfdJH03ceu0hk7swBM7UlLgBUuU8iZZq8IKLS9Hunf/aF7T2fuFhJB+LGpBGwV+3OqWaT6v4reKhSW8vMM4x8XvLXgDttwPeltWlMknvzqijyjE0V38mue+Fe5fYrBZIK66PxnXrGUJKvZPwyAC/8LX6Hk+M3aBWjL4QkiKpbN2/pXCR6dXuPfbswZ11T0xSYdC8m+8SmC5UAgcryC0PI+ULgqxDhrheiaPIpfOAGnPr19iY2++A+xP/IPZf4L9hg2cNxi5vJ+ws54SmeQDUdbzx15ZECbSbz9xkShlRAYOjuUB9/IpZFt7EqH7sEqsFlbF73qp72JFPp2/QYv9av/WYcw6WVtRJG4TQ/Z9jB+DN6yCeSC6B/CfK05zoF7yrVWkLPiSSVYGDSBndH9EFJEJJvzO27tkS1wZXs4fTTE1StkTjYn8EBSRVvIs3Ywg1+iM2SFYcbn3I6QCeqaXuMJ/yEJikxIeLJGlNjiShYEo2FOMQ/6Xk+TlHkxUTepgnzhxFkPq9S2dqK/ZunroHtiqObkTqfkqta9V4EreMpXtO/FUBsVUrmehzAmO7CQ53L74HnyAqFJYWA/iDUt8rABkFT69QahL9BU4bts3AKhAypInqPXBL+0v0WyatxLd1jURgSq11VX9UBNBi4li3TcoFc9wsZpX3LeH1vNueLQzvssRDfTY9doM+g0rgBXDOO59DyyOKrDDMU5D52k5KI5SJOaWWxEa24TOoTfC79Jpc6tW0zAhdvdLD6u/pfsZd693uN4RM8fMtZPh58w5rcXuEHrhVI/0JThluHDnb6a962K0mt7d1makwsRTPZvpvaTrgiaoByIyOuKY7q1L"},{"id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"开发指南","description":"development-guide","prompt":"创建GEO项目的开发指南文档。详细说明代码规范和最佳实践,包括Python代码风格、TypeScript类型规范和命名约定。文档化开发流程和工作流,包括Git分支策略、代码审查流程和版本发布管理。说明开发工具的使用方法,包括IDE配置、调试技巧和性能分析工具。提供新功能开发的指导原则,包括模块设计、接口定义和测试要求。包含常见开发问题的解决方案和故障排查方法。","order":10,"progress_status":"completed","dependent_files":"push_script.sh,frontend/tsconfig.json,frontend/tailwind.config.ts,frontend/.eslintrc.json,backend/requirements.txt,CONTRIBUTING.md","gmt_create":"2026-04-22T18:56:47.084469+08:00","gmt_modified":"2026-04-23T21:00:59.749127+08:00","raw_data":"WikiEncrypted:9b1XqHriaqPGsMtQmhzV28eiWwL8soWZUx4jD7Lpj1ZvEeRHqDXnLB57Wv0GJdW0bSai+es/AGcSLV4r5Y1zXQCgYNssGUbbdn66dv22fGk42xijVyio7TzEJPm2vZsrwpJe+/yfqkj5uigIlIv06GRfmEvdn6T8ivaGf4o8qPrbbaCqfb656Ecihx7i5F1ZXK+etNk5HJeheOAvl/WoiZD0TchF59yuuB06Rl/W0/sfm7xUtkC5QYYoo6qYsIuOIE9ynhoHFI2junjkQwS3m3E/W3kKHTNe57a56kaMBo2fa1in+LuWr0jPxfsXJWHwwN47eEs+neAYXoxz+AHzJxrd+FTvW8o+Jr7hmJjODk/1u5VGWqquek2DS33JHThmmD3ant8C85SI0QDd2Rez4xia2mCq+kIzwnOuORyodpDeIHYWrwbL0X6Q4KzwwZKXYBlWZH+PqiovtlIQpZ+FrabfOImECKTIsdYECFDGwvOvZdH09Kmi2TqBszsArbv/apEc8HtRyn3MbxlOmBZ3C86pepDzntKeY8OsRhZv1/EHc12+zlfgBxkzS7g3sZhf01vr2xPsYdFU6Zpts9eWNmMJAthuG+wyeYrGDXuGHQFbXa7Rhz/mWmDKqcUZcrGo2ScQwNuk19uCmQ5x7ZTM1iNSbKYWaJwW4jn9gG8sw9+saye/tFTCyDoaqyyumHT8s/aE3bvalg4fA4AE8RigKIlwzLKW7sZmL8sY6b3PBgIJB054DRRSUF/jEW24wPDgcW29SEG6MwyqEVCpBGvI1t7zhmmM6IRklQNvVzGaoQ5GkTDxAaMh5ULEbqPdmjMJkyTP8xtyLhrJz/UJRuvvFOpf2zyyHg8Do9zNEP/FNUbq2sjjMPwMUwZAVcU2jQvNyiUYJXLvzaYk7fSEr74I3YbU9XE+/dofBpCd8tPG/BmV09UZCVgI3UrSRYd+GcgziKhnbDf/UVR691bhj4lUBtNzyNM2AnUWoQN9IMyjpMEo6EDlTrIL6wqn36aRNqPibx1vbsAdFAwmJQbf0oVZ43AGDJde58EOtIh6QzXdY5yj+UYIl8iCXO0VtnMm79ouguB3g59SOTIbv6X/iFjQ3rvERX6pFPBI9GyKfhKQTwib98D+9pkHnU2n625WeukHx67ieQLvZ7pZLfqMYTEQvo80N0JfbAP4FNz4Mtuc7jpXm2JyV/tAI/Y4Lbx1KMUq2mDsZRamD6HWF61GEGr94VsrM8kFcf2RHb9C6Lt3EuKlasgwJqSnr8iO5oONILiT"},{"id":"b2bb2e3c-5661-497c-97dd-15bf6ee8b7d4","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"扩展与定制","description":"extension-customization","prompt":"创建GEO项目的扩展与定制文档。详细说明系统的扩展机制,包括新增API接口、前端页面扩展和数据模型扩展的方法。文档化配置定制选项,包括环境变量配置、功能开关和性能调优参数。说明第三方集成的扩展方法,包括新AI平台接入、新数据库支持和新认证方式的集成流程。提供插件系统的使用指南和扩展开发的最佳实践。包含系统定制化的案例研究和实施建议。","order":11,"progress_status":"completed","dependent_files":"backend/app/workers/platforms/base.py,backend/app/models/,frontend/components/,backend/app/api/","gmt_create":"2026-04-22T18:56:47.085228+08:00","gmt_modified":"2026-04-22T19:03:46.033162+08:00","raw_data":"WikiEncrypted:9tFZPEMPWdLFkkE2XbXYMuMB8FuOYQ0fj+/JXYKsHGVuXRejugUICkyxL86Ju3MeDs2yZuuby22yn9F5xTbpPvuSC/FoLxV09I2ZpvfpcQFUCVmZyQN67BPwYA36FWIbbHI5AJYWayiJUo+io2WnBda4ESUkmi1Ifq6VpdD6Et8Rw2b8dgDDMxi9XaN9V0JJWAK4CsV0ZYGNAK947J00M9KveVb322Q2MkjA5aw0eylKLH0fzY4qNXNGDmfCOuncuvGiH/5DvAXCDuDLYzVd1AHr/9UgPCvmp017Oo8KijVdD66YD+QM7Rh+24GqNvD5xFbOQGd7ey9Mzs33E6JIrsbUhBvbLJOVlRo0EdScVPZsU4HO6zqDAg0ozD1a5kGX/WxHBvhKBJATucW9vC2XG5g21SjjE6NdebD3z3ZjN+cu8jYHMi1BwWhOmvNRvN8HIGjzntLglg7fNrii0iJXTxpZ8Mbpmu6Tk88oMecsGleuA2xhK1yEWycuQ2dZn5e179BE3mGaSOT0Fvp5yXgL4htvqVTAu4QZ+JFJVk8e4NkI2KaoEgS8vmkD+tvnSal6LUgMzXvRJVj5c7y5LEqxY7QwEbvunmtmHaw9xxVNmfj54tFWSDCSUVCBp+otUfdEq+e6UMOQ64QITUXyYlP+zGW5J0ZWBf9GlU5j70IekNuO3mLp/yU922OD64PhCEL3HOTmAtV1L1vunWchdtvyht6rkYuys0Al1WSGeCmVT23fmJlSuKe++K/qQ/TheLhgA4euY3OnlacLzbia76+B2p4tJY+XvzzDZ5c3M6YdKmW0+iKB+TRJgVz1Q8GpFIzUk/ShBam/TanUxOcC0ci89hjchiYImL1tQeigX4Rgfcn8mXYH956z7eyiSYtqk7uIsQYfiW7tqvcyN0jJpGUVHd9IzvK2NAC+ICHilErsg5hRJ66KFaugTnjd2WoIkU8rktkywDasvD24NZM417z8B8l8uHq9XNcg+2bdPA9hqx5ujEUiGXyWkBNvwCZXg9aL2q+4y5NMoZh6ak8uEjC1kc1S61q2kFyKyIjV7QbCMaHhjnrBnkSg/kV2cGrBPeOqWdtANBw5wZ/OJ38FLWJ5nPOzreTmQ/R6J6YNCfmRPpfpVj0tH0o+0rffNxxXa2TnUbu4OSSLdCljK6CsfuYmBOStwIQtEs8T8/+PsrbQKY9NM1KHqhg5Nk72UNylvGupV/Zccfjg3z78M9uUqtXSOA=="},{"id":"8e3d62e8-ddbe-4820-bc41-7da9e91ea598","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"故障排除与FAQ","description":"troubleshooting-faq","prompt":"创建GEO项目的故障排除与常见问题解答文档。详细列举和解决常见的认证问题、数据库连接问题、API调用问题和性能问题。提供系统监控和诊断的方法,包括健康检查、错误日志分析和性能指标监控。说明调试技巧和工具使用,包括开发环境调试、生产环境问题排查和性能分析方法。包含常见错误代码的含义和解决方案,以及预防性维护的最佳实践。提供紧急情况下的故障恢复流程和应急处理方案。","order":12,"progress_status":"completed","dependent_files":"backend/app/main.py,backend/app/config.py,frontend/lib/api.ts,docker-compose.yml","gmt_create":"2026-04-22T18:56:47.085508+08:00","gmt_modified":"2026-04-22T19:04:06.13183+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0tuZET5JxbVXxA/4vFailoRiq8l6SCRMdp2PbHfZPheZXyPTAgE3AT8Ce8j9xPOCdJxNKAOstuOjZEIRRi9OOYwoluR4MUnob24X+IyLHwTgsJGf9uPY1LVFTI9RTQt8aG1cBHibaRNEJ8+DVkXJW/EDypOxFpOxDxlaCscMdiPRLwhr9V4vJqWV9j2rk1LjP2/M8SJJQ8hbaDoeLevKdECB+aEw9JrL9ycGW0dhxKxQLf/ril9zNHrvahlSXbVZSZ39dpBl57NdFcFaOYt+paf3O6hv3bCTAKGLTRnYa/IuAZ6Xa7YnhqaGQ684LKCBz6VySRNYVUCEvZotYHf1IQdWOj0zFzR7LEIEikIlZyKak++yTNYfbQyBEzye3g6YCmlh6VaVmtGIRzjOYpu0K1UftNcRa1mWnIMrB/Pqe9DpNTg+Yxo3ZHrPyv3ZAmrd8MqA+T+P+/NerCmFD3dRf94NLPP8KU7in+VSfEjVmdE0N+3OfntU+uvNL/kkOhyWNRUKYKFxbqdwCTKqv3Nchs73XyhfNRP7gPkR/stgnowCRnKWS4ncUEJDZTWVFID52kE8nH7Kq/yuB5bJxFX9AeUUaNSBgvMc5YNkq3vULFEqC1/N0bpU4r9+0/U/BcMktmNrRr1HnOIPl3QzwjIsT3j2lp4UXS3Qm4BZFJsh8MVLfgOIMbO1jbuGCXHl88T/rZOCNwf4q93vWo2HnOxDkbdICWgZ9dinRr85RkFQjNWlXdAk0XG8lQPotwJLvS+ZASOv1aWyL42jk/mTJcOU53PFT5rf3+WpVmhNWQGguZ0l04eubO4Va39c6h/+DNsl0OEAiozIMohEgz77qsD47Kf0KZMLnqL3o30TYXYamX/CP8+epBqSWgmzX/ETrrRl/1/JPkSDc//0VC8UmWBJAsdUdzyQh9v9iQddyIZ4MV1k4MGTJ6GwrUqVTszShZJVG80wDMLQvJGqJ0T5rH1P7kBaJ5nBnth822MBy7B1IhN6nDqtLhOJcqT8Qt6x8ODGFx1QMNBdS4lHq5IcRy+nZKiPP3V7uMuuFQsNNodTRhmNnuAliJACWS89hPiGroan2VkusxIu2DW8wdQ/3Z31mIn4cE3O3+Aq6lO+BEMAuYh5WkOEmGsF3cjX/zPPiuBSP7Vd2a9o6gPA7MBfneMWyqodMp6PKh7EG26gaKUaIGq6VkQobSAVfbLxmfIMW6cZ5STH4U1/A7gV2PeuWzwwEJz7axGVQIJ6A9geQevZvD/cnX6BQBuOMkdAOB6PApCpQA=="}],"wiki_items":[{"catalog_id":"1bb55e12-24c4-42cb-8f59-ddc303460d45","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"34e572eb-6fc8-4de7-8061-63783ef8be24","gmt_create":"2026-04-22T18:58:50.323135+08:00","gmt_modified":"2026-04-22T18:58:50.329272+08:00"},{"catalog_id":"e3ae8925-4862-4280-b85a-0b376841b15e","title":"快速开始","description":"getting-started","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"7f028ad1-e989-43ea-b945-c79c33e6f0e3","gmt_create":"2026-04-22T18:58:54.232866+08:00","gmt_modified":"2026-04-22T18:58:54.238013+08:00"},{"catalog_id":"7c2ac186-ec90-400a-ac1d-b3b7ca2f01d5","title":"后端系统架构","description":"backend-architecture","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"c7eb113b-b503-4d83-be7f-9ccf3350c9d9","gmt_create":"2026-04-22T18:59:20.999631+08:00","gmt_modified":"2026-04-22T18:59:21.004772+08:00"},{"catalog_id":"d907a8eb-795c-4060-9cdd-50d31cf39be3","title":"前端系统架构","description":"frontend-architecture","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"3af3bb9e-4d99-4dc3-b1ed-2686db385c26","gmt_create":"2026-04-22T18:59:54.989699+08:00","gmt_modified":"2026-04-22T18:59:54.994419+08:00"},{"catalog_id":"243a1a45-d31f-405e-a3b9-694d2fe617d5","title":"数据库设计","description":"database-design","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"ffbb970e-56e0-40ad-bd88-1a1e55482d96","gmt_create":"2026-04-22T19:00:15.762815+08:00","gmt_modified":"2026-04-23T20:35:45.9226+08:00"},{"catalog_id":"7416db23-312f-478d-8883-2fc3c41ac2e8","title":"任务调度系统","description":"task-scheduling-system","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"deb919cc-9541-4ed7-a581-ae2876ea67c2","gmt_create":"2026-04-22T19:01:21.979952+08:00","gmt_modified":"2026-04-23T15:20:09.061378+08:00"},{"catalog_id":"7e66719b-4a8a-484d-889d-10fdc76788bb","title":"AI平台集成","description":"ai-platform-integration","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"cfc48cde-e1c3-47f6-afe2-a6d7a8f4ab69","gmt_create":"2026-04-22T19:01:25.981164+08:00","gmt_modified":"2026-04-23T20:31:36.620216+08:00"},{"catalog_id":"dd12cc44-0c95-45d5-a726-e7b8bcf2531b","title":"API接口文档","description":"api-documentation","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"49915365-e38e-43b5-beac-6aa7d5a74cbb","gmt_create":"2026-04-22T19:01:28.269494+08:00","gmt_modified":"2026-04-23T15:19:45.663706+08:00"},{"catalog_id":"803bfef4-3985-477e-a61c-915a246d0061","title":"部署与运维","description":"deployment-operations","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"98909ecc-fceb-4ab7-a26f-741838eb2e50","gmt_create":"2026-04-22T19:02:23.847103+08:00","gmt_modified":"2026-04-22T19:02:23.852058+08:00"},{"catalog_id":"2148d7d6-25c4-497f-8894-c4eb7a0d2bd7","title":"开发指南","description":"development-guide","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"643984fc-5a57-498b-8f25-68cc318d9d82","gmt_create":"2026-04-22T19:02:27.517117+08:00","gmt_modified":"2026-04-23T21:00:59.749244+08:00"},{"catalog_id":"fc6f24c3-594e-4153-854f-19250834eeb1","title":"测试策略","description":"testing-strategy","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"b0c36b2b-bb03-4624-933d-c1f6a320b7ca","gmt_create":"2026-04-22T19:02:30.709013+08:00","gmt_modified":"2026-04-23T21:02:44.232375+08:00"},{"catalog_id":"7c3e3c0b-5d1f-4d64-99be-668041c6cd9d","title":"核心框架配置","description":"core-framework","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"f94da0b4-8a07-4de1-b0b3-d3b32a12c3c1","gmt_create":"2026-04-22T19:03:21.689103+08:00","gmt_modified":"2026-04-22T19:03:21.693211+08:00"},{"catalog_id":"b2bb2e3c-5661-497c-97dd-15bf6ee8b7d4","title":"扩展与定制","description":"extension-customization","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"c5849940-e223-4222-be17-aa0a6cb36bc8","gmt_create":"2026-04-22T19:03:46.027426+08:00","gmt_modified":"2026-04-22T19:03:46.033304+08:00"},{"catalog_id":"8e3d62e8-ddbe-4820-bc41-7da9e91ea598","title":"故障排除与FAQ","description":"troubleshooting-faq","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"85306af2-0edf-42b8-b7ad-c03e769cb1e8","gmt_create":"2026-04-22T19:04:06.127415+08:00","gmt_modified":"2026-04-22T19:04:06.131953+08:00"},{"catalog_id":"bcaa04da-04e3-427f-ba01-847ad657e78a","title":"Next.js应用配置","description":"nextjs-app-config","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"c112a3f4-b0a1-4c4a-a325-e3ede8c90be6","gmt_create":"2026-04-22T19:04:47.356556+08:00","gmt_modified":"2026-04-22T19:04:47.361504+08:00"},{"catalog_id":"9e3d703f-f424-47f4-84df-b99873b93e5a","title":"项目介绍","description":"project-introduction","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"2793782c-91c8-4052-b9db-39513426c736","gmt_create":"2026-04-22T19:05:00.372036+08:00","gmt_modified":"2026-04-22T19:05:00.376145+08:00"},{"catalog_id":"a06436ee-1678-4a51-bbf8-b0d0ac3456b9","title":"数据库架构","description":"database-architecture","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"d5c75004-b01b-416f-850a-4791c5489a32","gmt_create":"2026-04-22T19:05:13.619093+08:00","gmt_modified":"2026-04-22T19:05:13.624074+08:00"},{"catalog_id":"7fea5a24-e6de-4003-bc70-9dae6d8fdb25","title":"适配器架构设计","description":"adapter-architecture","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"37003fc0-1cf5-4264-996b-40807001875f","gmt_create":"2026-04-22T19:06:14.01196+08:00","gmt_modified":"2026-04-22T19:06:14.016291+08:00"},{"catalog_id":"b027f234-4ac5-4d6d-9b38-afc8054325f5","title":"单元测试","description":"unit-testing","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"8150ddbb-7aa9-48d0-9953-2ef55e4bcfd5","gmt_create":"2026-04-22T19:06:55.084551+08:00","gmt_modified":"2026-04-22T19:06:55.090188+08:00"},{"catalog_id":"940e5918-1689-4001-a284-44f2de75b8ee","title":"认证接口","description":"authentication-api","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"7c7564ee-7fe2-4555-8ff0-4ec1b757997a","gmt_create":"2026-04-22T19:07:12.352034+08:00","gmt_modified":"2026-04-22T19:07:12.356599+08:00"},{"catalog_id":"78288302-33bd-44f7-8b29-24f516c8b6bb","title":"调度器设计","description":"scheduler-design","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"a1cc822d-5382-431c-8c49-cf398fb5eb3c","gmt_create":"2026-04-22T19:07:22.166733+08:00","gmt_modified":"2026-04-23T20:33:30.132576+08:00"},{"catalog_id":"6406f42a-e10b-4a2b-84a5-0a21c1c759ea","title":"代码规范","description":"code-standards","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"13c568d2-dfa7-4d1b-81c0-dfef247cbb67","gmt_create":"2026-04-22T19:07:51.271116+08:00","gmt_modified":"2026-04-22T19:07:51.274241+08:00"},{"catalog_id":"a91fff3d-ec5e-43df-8176-22f0084109ef","title":"功能扩展","description":"feature-extension","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"d2c7157d-157f-4990-8f76-11f3ea5435f7","gmt_create":"2026-04-22T19:08:25.13644+08:00","gmt_modified":"2026-04-22T19:08:25.14088+08:00"},{"catalog_id":"e8ec6ac6-ad1a-4332-a7be-727b47d71233","title":"Docker容器化部署","description":"docker-containerization","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"1ed0b482-3d6a-4bfd-af40-47a5d1f3e802","gmt_create":"2026-04-22T19:08:34.079807+08:00","gmt_modified":"2026-04-22T19:08:34.084736+08:00"},{"catalog_id":"c19260e2-5163-43d4-b35a-b48aae995f4a","title":"认证系统","description":"authentication-system","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"df661133-efbf-43fe-97c3-f581c81f47a7","gmt_create":"2026-04-22T19:09:25.676813+08:00","gmt_modified":"2026-04-22T19:09:25.682345+08:00"},{"catalog_id":"9b71fe02-5927-4a19-8db8-66eb129ecd9a","title":"认证系统前端实现","description":"auth-system-frontend","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"2b32ec11-d228-42c0-9232-103ba7e44f71","gmt_create":"2026-04-22T19:09:48.743111+08:00","gmt_modified":"2026-04-22T19:09:48.747746+08:00"},{"catalog_id":"b80dc237-1a6a-401f-9f4d-14190edebcdd","title":"技术栈","description":"technology-stack","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"e23bd86e-b4ac-40eb-b1c1-38d929fd5419","gmt_create":"2026-04-22T19:09:54.21211+08:00","gmt_modified":"2026-04-22T19:09:54.216205+08:00"},{"catalog_id":"7e5c3b8e-5aa3-448d-ae52-d5a96a413b0b","title":"表结构设计","description":"table-schema-design","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"c3fa653f-8dd7-41fe-8c2e-8b60adbf70f4","gmt_create":"2026-04-22T19:10:23.573187+08:00","gmt_modified":"2026-04-22T19:10:23.576944+08:00"},{"catalog_id":"cc7a1f1b-c70e-4c61-bfbc-6dc408a12ff2","title":"查询执行流程","description":"query-execution-flow","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"2fc79486-ec65-4533-860a-89c8877c2ea0","gmt_create":"2026-04-22T19:11:29.34722+08:00","gmt_modified":"2026-04-22T19:11:29.353951+08:00"},{"catalog_id":"fec685a0-c9bb-4048-baf4-40b56b2aa29c","title":"集成测试","description":"integration-testing","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"8c17b44f-1586-459b-a83d-c9b961cd2142","gmt_create":"2026-04-22T19:12:37.811472+08:00","gmt_modified":"2026-04-22T19:12:37.820956+08:00"},{"catalog_id":"9fe32b83-3697-4939-8b10-524f5ed3e65e","title":"Kimi平台集成","description":"kimi-platform-integration","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"2126339b-b0f5-4152-924b-cbe028cd0c39","gmt_create":"2026-04-22T19:12:57.009145+08:00","gmt_modified":"2026-04-23T20:35:18.737804+08:00"},{"catalog_id":"b10c2334-a850-471a-9851-a1c698e3a485","title":"查询管理接口","description":"queries-api","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"74d3018f-4e23-4687-8bf4-7fb403f479f7","gmt_create":"2026-04-22T19:13:13.111099+08:00","gmt_modified":"2026-04-23T20:33:57.632097+08:00"},{"catalog_id":"0c1d3542-92cf-4796-8dba-82caf2f7b361","title":"开发流程","description":"development-workflow","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"222a9371-45c1-4e0d-b1da-e8ada1c501c2","gmt_create":"2026-04-22T19:13:23.079488+08:00","gmt_modified":"2026-04-22T19:13:23.082539+08:00"},{"catalog_id":"109a8fb1-6619-4bc7-8481-e28cc2127d24","title":"生产环境部署","description":"production-deployment","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"26f80935-eac2-44ee-bcdb-d6a79c537750","gmt_create":"2026-04-22T19:13:58.693673+08:00","gmt_modified":"2026-04-22T19:13:58.69756+08:00"},{"catalog_id":"4d5ac6d7-8812-414b-b8df-68574cc36d7d","title":"配置定制","description":"configuration-customization","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"e1e0bd0e-01b3-4543-9781-d9beb32b9a57","gmt_create":"2026-04-22T19:14:17.837895+08:00","gmt_modified":"2026-04-22T19:14:17.84356+08:00"},{"catalog_id":"159f2ccf-71b7-4d1b-a4c4-c15b23a4126e","title":"API接口设计","description":"api-design","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"11936bb5-374f-40f4-bb53-b75264fc4b9d","gmt_create":"2026-04-22T19:15:14.073829+08:00","gmt_modified":"2026-04-22T19:15:14.079089+08:00"},{"catalog_id":"9cc59a5a-f597-4707-b994-b6c49514d553","title":"页面组件设计","description":"page-components","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"ba0390b3-c249-4e92-a3c8-6820343aeda9","gmt_create":"2026-04-22T19:15:16.958138+08:00","gmt_modified":"2026-04-23T15:19:43.818584+08:00"},{"catalog_id":"f70f5d9b-d7c7-4dc6-b36a-5f4508e6acaa","title":"系统架构","description":"system-architecture","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"70b3948e-f456-42d2-b7ad-a0097ad5ee5f","gmt_create":"2026-04-22T19:15:17.448445+08:00","gmt_modified":"2026-04-22T19:15:17.452857+08:00"},{"catalog_id":"816a2805-76c9-4f32-a3cf-96428208081e","title":"数据模型","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"262a3941-fdc6-46b0-b767-be40aa9d5761","gmt_create":"2026-04-22T19:16:35.087998+08:00","gmt_modified":"2026-04-23T15:21:46.785271+08:00"},{"catalog_id":"64cbb894-755f-47b5-854e-c26c7821e9b2","title":"文心平台集成","description":"wenxin-platform-integration","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"fab60eaf-9652-4cb5-9f9e-0525caa62d63","gmt_create":"2026-04-22T19:16:36.921828+08:00","gmt_modified":"2026-04-23T20:31:50.506906+08:00"},{"catalog_id":"412f8cb5-54c1-4f32-8966-fa0e5e75bbca","title":"性能优化","description":"performance-optimization","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"d8e2cef5-37e6-44e7-8a7b-9bd365b82a72","gmt_create":"2026-04-22T19:16:37.806188+08:00","gmt_modified":"2026-04-22T19:16:37.81795+08:00"},{"catalog_id":"2f7fa0ab-cd3d-4f45-a1c1-389d5a0c2561","title":"开发工具","description":"development-tools","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"979be617-a83d-4db9-b73e-38581348f8c1","gmt_create":"2026-04-22T19:17:43.348035+08:00","gmt_modified":"2026-04-22T19:17:43.3539+08:00"},{"catalog_id":"40ac97e8-7ef0-4198-82d7-d2e332be9d34","title":"测试最佳实践","description":"test-best-practices","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"05e59a75-d52f-42e1-a924-f6a32f06f2fe","gmt_create":"2026-04-22T19:17:48.811042+08:00","gmt_modified":"2026-04-22T19:17:48.815559+08:00"},{"catalog_id":"41a414d2-e13a-497c-8a03-212624dbf5fe","title":"引用数据接口","description":"citations-api","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"737f8d6c-bd8f-4c11-b142-71a400423323","gmt_create":"2026-04-22T19:18:18.048509+08:00","gmt_modified":"2026-04-22T19:18:18.055466+08:00"},{"catalog_id":"2713d5c6-c6b0-4a38-83f6-56940c2bf695","title":"监控与日志管理","description":"monitoring-logging","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"eb1288f7-5ea1-413a-8f54-4f870306d14d","gmt_create":"2026-04-22T19:18:41.294736+08:00","gmt_modified":"2026-04-22T19:18:41.773932+08:00"},{"catalog_id":"c8a468af-2982-4d9c-82c0-313b5d2ee89c","title":"第三方集成","description":"third-party-integration","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"e9a02c86-236b-49cb-bbed-9462ee123c04","gmt_create":"2026-04-22T19:19:17.34688+08:00","gmt_modified":"2026-04-22T19:19:17.362503+08:00"},{"catalog_id":"9eee7fab-6cd9-4ef3-9415-2f8137f1d199","title":"数据模型设计","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"23ad3419-5473-4e2c-ac87-d9715090279d","gmt_create":"2026-04-22T19:19:19.260533+08:00","gmt_modified":"2026-04-22T19:19:19.282116+08:00"},{"catalog_id":"f210509a-2381-46fe-8c22-0ed768e6ca70","title":"数据库迁移","description":"database-migration","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"7c0201f7-9e02-4cba-9ee1-81c3477f049a","gmt_create":"2026-04-22T19:20:15.023549+08:00","gmt_modified":"2026-04-22T19:20:15.06665+08:00"},{"catalog_id":"d9e45b2a-6443-4a9b-8ed3-4c3c04773772","title":"UI组件库","description":"ui-component-library","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"760610d4-dff6-4c6d-831f-7c9078db86a6","gmt_create":"2026-04-22T19:20:16.20858+08:00","gmt_modified":"2026-04-23T15:22:23.574113+08:00"},{"catalog_id":"178b681f-d013-44b7-aef8-dee7ca8c22a9","title":"核心功能","description":"core-features","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"1c4316a1-f1d7-46da-bcfc-ea2fa0c56110","gmt_create":"2026-04-22T19:20:37.644038+08:00","gmt_modified":"2026-04-22T19:20:37.649918+08:00"},{"catalog_id":"ac0658da-7670-4e41-9e57-02d9d0d50680","title":"报告导出接口","description":"reports-api","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"ae62f4a8-8840-4c8e-9a42-3373370299ff","gmt_create":"2026-04-22T19:21:24.241821+08:00","gmt_modified":"2026-04-22T19:21:24.246484+08:00"},{"catalog_id":"aad61788-1dc9-4682-b743-47188d7aecb6","title":"引用检测算法","description":"citation-detection-algorithm","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"00359e45-209d-4be3-8795-50dea52bdba1","gmt_create":"2026-04-22T19:21:33.106655+08:00","gmt_modified":"2026-04-22T19:21:33.125906+08:00"},{"catalog_id":"7cb1d921-44ed-4e22-8bf9-baba7ff8b7c7","title":"新功能开发","description":"feature-development","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"422c46b3-e69c-4023-a878-411a48ae182f","gmt_create":"2026-04-22T19:21:46.910999+08:00","gmt_modified":"2026-04-22T19:21:46.916175+08:00"},{"catalog_id":"c45e66b9-1ca0-41da-a796-6b98f394faa1","title":"运维最佳实践","description":"maintenance-operations","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"aa6db9b6-71e1-4497-a0e2-f3ff25358d3a","gmt_create":"2026-04-22T19:22:39.442855+08:00","gmt_modified":"2026-04-22T19:22:39.447035+08:00"},{"catalog_id":"bfca5ffe-8905-4ac2-a0a3-8e4dc43533b1","title":"数据可视化","description":"data-visualization","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"a40267bc-925a-4364-a01f-b96d3df60aea","gmt_create":"2026-04-22T19:23:03.398982+08:00","gmt_modified":"2026-04-22T19:23:03.405853+08:00"},{"catalog_id":"05214c1a-d804-4f3c-9048-20ba4de3be0f","title":"引用检测引擎","description":"citation-engine","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"19e75845-5147-4aeb-90be-16f3aa270465","gmt_create":"2026-04-22T19:23:12.049419+08:00","gmt_modified":"2026-04-23T20:33:37.372858+08:00"},{"catalog_id":"b32b024e-2d06-45c8-94c2-a07fd25ab9b3","title":"快速开始","description":"quick-start","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"7e679d62-c415-4d6a-a7e5-d41d00e0ed69","gmt_create":"2026-04-22T19:23:49.794133+08:00","gmt_modified":"2026-04-22T19:23:49.797304+08:00"},{"catalog_id":"850fc702-3eb6-45b4-acd2-ae87fec1f4f1","title":"工作器系统","description":"worker-system","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"83fe6837-7874-4467-8114-103062f15f58","gmt_create":"2026-04-22T19:24:30.524061+08:00","gmt_modified":"2026-04-22T19:24:30.529283+08:00"},{"catalog_id":"fda0598d-7e92-4b8b-be52-92ae63c3cd98","title":"API客户端","description":"api-client","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"7bd2c461-81b0-48e8-8cb3-b4b14305806d","gmt_create":"2026-04-22T19:24:50.482622+08:00","gmt_modified":"2026-04-22T19:24:50.486476+08:00"},{"catalog_id":"15d6170d-716c-4d2a-833d-81211a59027c","title":"平台适配器扩展指南","description":"platform-adapter-extension","extend":"{}","progress_status":"completed","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","id":"2632a6f9-774e-4a91-94da-a984bdb20758","gmt_create":"2026-04-22T19:25:18.714623+08:00","gmt_modified":"2026-04-22T19:25:18.720105+08:00"}],"wiki_overview":{"content":"\u003cblog\u003e\n\n# GEO 平台项目全面分析\n\n## 1. 项目介绍\n\n### 目标与愿景\nGEO 平台是一个基于人工智能技术的学术查询与引用管理系统,旨在为用户提供智能化的品牌引用检测和数据分析服务。该项目通过集成多个AI平台,实现对网络内容中特定品牌引用的自动检测和统计分析。\n\n### 核心目标\n- **智能引用检测**:自动识别网络内容中对特定品牌的引用情况\n- **多平台集成**:支持多个AI平台的数据获取和处理\n- **实时监控**:提供定时查询和实时更新功能\n- **数据可视化**:通过图表展示引用趋势和统计数据\n\n### 目标用户\n- 学术研究人员\n- 市场分析师\n- 品牌监测机构\n- 内容创作者\n\n## 2. 技术架构\n\n### 整体架构设计\n\n```mermaid\ngraph TB\n subgraph \"前端层\"\n FE[Next.js 前端]\n UI[React 组件]\n Auth[认证系统]\n end\n \n subgraph \"后端层\"\n API[FastAPI API]\n WS[工作器]\n SCH[调度器]\n end\n \n subgraph \"数据层\"\n DB[(PostgreSQL)]\n RD[Redis 缓存]\n end\n \n subgraph \"AI平台\"\n WX[Wenxin 平台]\n KM[Kimi 平台]\n end\n \n FE --\u003e API\n UI --\u003e FE\n Auth --\u003e FE\n API --\u003e DB\n API --\u003e RD\n WS --\u003e WX\n WS --\u003e KM\n SCH --\u003e WS\n API --\u003e WS\n```\n\n### 核心设计模式\n- **分层架构**:清晰的前后端分离和业务逻辑分层\n- **异步编程**:基于 asyncio 的高性能异步处理\n- **依赖注入**:通过 FastAPI 的依赖系统管理服务\n- **适配器模式**:统一不同AI平台的接口调用\n\n### 系统关系图\n\n```mermaid\nsequenceDiagram\n participant U as 用户\n participant F as 前端\n participant B as 后端API\n participant S as 调度器\n participant W as 引用引擎\n participant P as AI平台\n \n U-\u003e\u003eF: 发起查询请求\n F-\u003e\u003eB: HTTP请求\n B-\u003e\u003eS: 触发查询任务\n S-\u003e\u003eW: 执行查询\n W-\u003e\u003eP: 调用AI平台\n P--\u003e\u003eW: 返回结果\n W--\u003e\u003eB: 处理后的数据\n B--\u003e\u003eF: 响应结果\n F--\u003e\u003eU: 展示数据\n```\n\n## 3. 关键实现\n\n### 主要入口点\n\n**后端主入口**\n- `backend/app/main.py` - FastAPI 应用主入口,包含路由注册和中间件配置\n\n**前端主入口**\n- `frontend/app/layout.tsx` - Next.js 应用布局组件,包含全局样式和提供者配置\n\n### 核心模块\n\n**数据库配置**\n- `backend/app/database.py` - SQLAlchemy 异步数据库配置和会话管理\n\n**配置管理**\n- `backend/app/config.py` - Pydantic 设置类,管理环境变量和配置参数\n\n**工作器系统**\n- `backend/app/workers/scheduler.py` - APScheduler 定时任务调度器\n- `backend/app/workers/citation_engine.py` - 引用检测引擎核心\n\n**API 路由**\n- `backend/app/api/auth.py` - 用户认证相关接口\n- `backend/app/api/citations.py` - 引用数据相关接口\n- `backend/app/api/queries.py` - 查询任务相关接口\n\n### 配置方法\n\n**Docker 配置**\n- `docker-compose.yml` - 多容器部署配置,包含数据库、缓存和应用服务\n\n**依赖管理**\n- `backend/requirements.txt` - Python 后端依赖包\n- `frontend/package.json` - Node.js 前端依赖包\n\n### 外部依赖\n\n**后端关键技术栈**\n- FastAPI + Uvicorn:高性能异步Web框架\n- SQLAlchemy 2.0:异步ORM框架\n- APScheduler:任务调度框架\n- Redis:缓存和队列存储\n- Playwright:浏览器自动化\n\n**前端关键技术栈**\n- Next.js 14:React 框架\n- Radix UI:可访问性UI组件库\n- Recharts:数据可视化图表\n- Tailwind CSS:CSS框架\n\n### 集成点\n\n**AI平台适配**\n- `backend/app/workers/platforms/kimi.py` - Kimi AI平台适配器\n- `backend/app/workers/platforms/wenxin.py` - 百度文心平台适配器\n\n**认证集成**\n- `frontend/components/providers.tsx` - NextAuth.js 认证提供者\n- `frontend/lib/auth.ts` - 前端认证工具函数\n\n### 组件关系图\n\n```mermaid\ngraph LR\n subgraph \"认证模块\"\n AUTH_API[认证API]\n AUTH_FE[认证前端]\n NEXT_AUTH[NextAuth集成]\n end\n \n subgraph \"查询模块\"\n QUERY_API[查询API]\n QUERY_FE[查询前端]\n SCHEDULER[调度器]\n ENGINE[引用引擎]\n end\n \n subgraph \"数据模块\"\n MODELS[数据模型]\n DB[(数据库)]\n REDIS[(Redis)]\n end\n \n AUTH_API --\u003e MODELS\n QUERY_API --\u003e MODELS\n ENGINE --\u003e MODELS\n AUTH_FE --\u003e AUTH_API\n QUERY_FE --\u003e QUERY_API\n SCHEDULER --\u003e ENGINE\n ENGINE --\u003e DB\n ENGINE --\u003e REDIS\n AUTH_API --\u003e DB\n QUERY_API --\u003e DB\n```\n\n## 4. 核心功能\n\n### 功能概览\n\n**用户管理功能**\n- 用户注册和登录认证\n- JWT 令牌管理和会话维护\n- 用户权限控制\n\n**查询管理功能**\n- 自定义关键词查询\n- 多平台AI数据获取\n- 定时任务调度\n- 查询历史记录\n\n**引用检测功能**\n- 品牌引用自动检测\n- 置信度评分算法\n- 竞争品牌识别\n- 文本上下文提取\n\n**数据分析功能**\n- 引用趋势图表\n- 平台对比分析\n- 统计报表生成\n\n### 实现亮点\n\n**智能匹配算法**\n- `backend/app/workers/citation_engine.py` - 实现精确匹配、别名匹配和模糊匹配三种策略\n- 支持中文和英文混合文本处理\n- 提供置信度评分和位置信息\n\n**异步任务处理**\n- `backend/app/workers/scheduler.py` - 基于 APScheduler 的异步任务调度\n- 支持多平台并发查询\n- 完善的任务状态跟踪\n\n**响应式前端界面**\n- `frontend/app/(dashboard)/` - Next.js App Router 页面组织\n- `frontend/components/charts/` - 数据可视化组件\n- `frontend/components/ui/` - 可复用UI组件库\n\n### 功能架构图\n\n```mermaid\nstateDiagram-v2\n [*] --\u003e 用户认证\n 用户认证 --\u003e 查询管理: 登录成功\n 查询管理 --\u003e 任务调度: 创建查询\n 任务调度 --\u003e 引用检测: 定时触发\n 引用检测 --\u003e 数据处理: 获取AI结果\n 数据处理 --\u003e 结果展示: 处理完成\n 结果展示 --\u003e 查询管理: 新查询\n 结果展示 --\u003e [*]: 退出系统\n \n state 查询管理 {\n [*] --\u003e 创建查询\n 创建查询 --\u003e 编辑查询\n 编辑查询 --\u003e 删除查询\n 删除查询 --\u003e [*]\n }\n \n state 引用检测 {\n [*] --\u003e 平台查询\n 平台查询 --\u003e 品牌匹配\n 品牌匹配 --\u003e 竞争检测\n 竞争检测 --\u003e [*]\n }\n```\n\n## 5. 总结与建议\n\n### 项目架构特点\n\n**架构优势**\n- 清晰的分层设计,前后端职责明确\n- 异步编程模型提升了系统性能\n- 模块化设计便于功能扩展和维护\n- 完善的错误处理和日志记录机制\n\n**技术亮点**\n- 基于现代技术栈的全栈开发\n- 智能算法与工程实践的结合\n- 完整的开发到部署流程\n- 良好的代码组织和文档规范\n\n### 改进建议\n\n**性能优化**\n- 考虑引入连接池优化数据库连接\n- 实现缓存策略减少重复查询\n- 添加限流机制防止API滥用\n\n**功能扩展**\n- 增加更多AI平台支持\n- 实现批量查询功能\n- 添加导出数据功能\n- 增强搜索过滤条件\n\n**代码质量**\n- 完善单元测试覆盖率\n- 添加API文档自动生成\n- 实现更详细的错误处理\n- 优化前端组件复用性\n\n### 下一步发展\n\n**短期目标**\n- 完善用户认证和权限系统\n- 优化引用检测算法准确性\n- 增强前端用户体验\n\n**长期规划**\n- 支持多语言和国际化\n- 实现移动端应用\n- 添加机器学习模型优化\n- 构建开发者API平台\n\nSources:\n- [main.py](backend/app/main.py)\n- [config.py](backend/app/config.py)\n- [database.py](backend/app/database.py)\n- [layout.tsx](frontend/app/layout.tsx)\n- [providers.tsx](frontend/components/providers.tsx)\n- [scheduler.py](backend/app/workers/scheduler.py)\n- [citation_engine.py](backend/app/workers/citation_engine.py)\n- [auth.py](backend/app/api/auth.py)\n- [docker-compose.yml](docker-compose.yml)\n- [requirements.txt](backend/requirements.txt)\n- [package.json](frontend/package.json)\n\n\u003c/blog\u003e","gmt_create":"2026-04-22T18:54:45.079999+08:00","gmt_modified":"2026-04-22T18:54:45.079999+08:00","id":"1e2d007d-9249-436e-8822-c9b1a31580d1","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1"},"wiki_readme":{"content":"No readme file","gmt_create":"2026-04-22T18:53:55.057287+08:00","gmt_modified":"2026-04-22T18:53:55.057287+08:00","id":"354aa9f0-35fb-44a7-98d6-034981f130e6","repo_id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1"},"wiki_repo":{"id":"1095f823-f6f5-4e66-9aad-9f0b5b6b99d1","name":"GEO","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── .npm-cache/\\n│ ├── _cacache/\\n│ ├── _logs/\\n│ └── _npx/\\n├── .pytest_cache/\\n├── backend/\\n│ ├── alembic/\\n│ │ ├── __pycache__/\\n│ │ ├── versions/\\n│ │ │ ├── __pycache__/\\n│ │ │ └── 488d0bd5ab01_initial_migration.py\\n│ │ ├── README\\n│ │ ├── env.py\\n│ │ └── script.py.mako\\n│ ├── app/\\n│ │ ├── __pycache__/\\n│ │ ├── api/\\n│ │ │ ├── __pycache__/\\n│ │ │ ├── __init__.py\\n│ │ │ ├── auth.py\\n│ │ │ ├── citations.py\\n│ │ │ ├── deps.py\\n│ │ │ ├── queries.py\\n│ │ │ └── reports.py\\n│ │ ├── models/\\n│ │ │ ├── __pycache__/\\n│ │ │ ├── __init__.py\\n│ │ │ ├── citation_record.py\\n│ │ │ ├── query.py\\n│ │ │ ├── query_task.py\\n│ │ │ ├── subscription.py\\n│ │ │ └── user.py\\n│ │ ├── schemas/\\n│ │ │ ├── __pycache__/\\n│ │ │ ├── auth.py\\n│ │ │ ├── citation.py\\n│ │ │ └── query.py\\n│ │ ├── services/\\n│ │ │ ├── __pycache__/\\n│ │ │ ├── auth.py\\n│ │ │ ├── citation.py\\n│ │ │ └── query.py\\n│ │ ├── utils/\\n│ │ ├── workers/\\n│ │ │ ├── __pycache__/\\n│ │ │ ├── platforms/\\n│ │ │ │ ├── __pycache__/\\n│ │ │ │ ├── base.py\\n│ │ │ │ ├── kimi.py\\n│ │ │ │ └── wenxin.py\\n│ │ │ ├── __init__.py\\n│ │ │ ├── citation_engine.py\\n│ │ │ └── scheduler.py\\n│ │ ├── config.py\\n│ │ ├── database.py\\n│ │ └── main.py\\n│ ├── venv/\\n│ ├── Dockerfile\\n│ ├── alembic.ini\\n│ └── requirements.txt\\n├── docs/\\n├── frontend/\\n│ ├── .next/\\n│ ├── app/\\n│ │ ├── (auth)/\\n│ │ │ ├── login/\\n│ │ │ │ └── page.tsx\\n│ │ │ ├── register/\\n│ │ │ │ └── page.tsx\\n│ │ │ └── layout.tsx\\n│ │ ├── (dashboard)/\\n│ │ │ ├── dashboard/\\n│ │ │ │ ├── citations/\\n│ │ │ │ │ └── page.tsx\\n│ │ │ │ ├── queries/\\n│ │ │ │ │ └── page.tsx\\n│ │ │ │ ├── reports/\\n│ │ │ │ │ └── page.tsx\\n│ │ │ │ ├── settings/\\n│ │ │ │ │ └── page.tsx\\n│ │ │ │ └── page.tsx\\n│ │ │ └── layout.tsx\\n│ │ ├── api/auth/[...nextauth]/\\n│ │ │ └── route.ts\\n│ │ ├── fonts/\\n│ │ ├── globals.css\\n│ │ ├── layout.tsx\\n│ │ └── page.tsx\\n│ ├── components/\\n│ │ ├── charts/\\n│ │ │ ├── platform-chart.tsx\\n│ │ │ └── trend-chart.tsx\\n│ │ ├── layout/\\n│ │ │ ├── header.tsx\\n│ │ │ └── sidebar.tsx\\n│ │ ├── ui/\\n│ │ │ ├── badge.tsx\\n│ │ │ ├── button.tsx\\n│ │ │ ├── card.tsx\\n│ │ │ ├── dialog.tsx\\n│ │ │ ├── dropdown-menu.tsx\\n│ │ │ ├── input.tsx\\n│ │ │ ├── label.tsx\\n│ │ │ ├── select.tsx\\n│ │ │ ├── table.tsx\\n│ │ │ └── tabs.tsx\\n│ │ └── providers.tsx\\n│ ├── lib/\\n│ │ ├── api.ts\\n│ │ ├── auth.ts\\n│ │ ├── platforms.ts\\n│ │ └── utils.ts\\n│ ├── node_modules/\\n│ ├── types/\\n│ │ └── next-auth.d.ts\\n│ ├── .eslintrc.json\\n│ ├── .gitignore\\n│ ├── Dockerfile\\n│ ├── README.md\\n│ ├── next-env.d.ts\\n│ ├── next.config.mjs\\n│ ├── package-lock.json\\n│ ├── package.json\\n│ ├── postcss.config.mjs\\n│ ├── tailwind.config.ts\\n│ ├── tsconfig.json\\n│ └── tsconfig.tsbuildinfo\\n├── tests/\\n│ ├── __pycache__/\\n│ ├── conftest.py\\n│ ├── test_auth.py\\n│ ├── test_citation_engine.py\\n│ ├── test_citations.py\\n│ └── test_queries.py\\n└── docker-compose.yml\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted: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","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"2d94fab4dd49f20f2d572dd6cad9af93e8e77e2f","last_commit_update":"2026-04-23T21:02:45.215796+08:00","gmt_create":"2026-04-22T17:58:32.591608+08:00","gmt_modified":"2026-04-23T21:02:45.215796+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"main\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"\"}"}} |