Files
qiming/qiming-rcoder/.qoder/repowiki/zh/meta/repowiki-metadata.json
2026-06-01 13:54:52 +08:00

1 line
319 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"knowledge_relations":[{"id":3618,"source_id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","target_id":"94901995-8465-4ae5-aa0f-690b10c4589b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 650cec2c-5c4e-45bb-9dd4-6dcb2089011f -\u003e 94901995-8465-4ae5-aa0f-690b10c4589b","gmt_create":"2025-12-03T20:05:40.192242+08:00","gmt_modified":"2025-12-03T20:05:40.192242+08:00"},{"id":3619,"source_id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","target_id":"1a54e87b-2f27-40e9-91e0-5e3976e49c16","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 650cec2c-5c4e-45bb-9dd4-6dcb2089011f -\u003e 1a54e87b-2f27-40e9-91e0-5e3976e49c16","gmt_create":"2025-12-03T20:05:40.195993+08:00","gmt_modified":"2025-12-03T20:05:40.195993+08:00"},{"id":3620,"source_id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","target_id":"2f1a0e9b-9693-4d36-9e15-e10dbc369919","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 650cec2c-5c4e-45bb-9dd4-6dcb2089011f -\u003e 2f1a0e9b-9693-4d36-9e15-e10dbc369919","gmt_create":"2025-12-03T20:05:40.196419+08:00","gmt_modified":"2025-12-03T20:05:40.196419+08:00"},{"id":3621,"source_id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","target_id":"4113b853-8a35-4477-a7a4-4ae0f01191ca","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 650cec2c-5c4e-45bb-9dd4-6dcb2089011f -\u003e 4113b853-8a35-4477-a7a4-4ae0f01191ca","gmt_create":"2025-12-03T20:05:40.20071+08:00","gmt_modified":"2025-12-03T20:05:40.20071+08:00"},{"id":3622,"source_id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","target_id":"3ccd9ae7-6d2a-495b-b43a-c36d1bd3b8c4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 650cec2c-5c4e-45bb-9dd4-6dcb2089011f -\u003e 3ccd9ae7-6d2a-495b-b43a-c36d1bd3b8c4","gmt_create":"2025-12-03T20:05:40.200872+08:00","gmt_modified":"2025-12-03T20:05:40.200872+08:00"},{"id":3623,"source_id":"ba20b0dd-b204-43dc-9a43-17cdc8f4493d","target_id":"5aba237b-e2ec-4e37-8023-6eac01b87e79","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ba20b0dd-b204-43dc-9a43-17cdc8f4493d -\u003e 5aba237b-e2ec-4e37-8023-6eac01b87e79","gmt_create":"2025-12-03T20:05:40.201227+08:00","gmt_modified":"2025-12-03T20:05:40.201227+08:00"},{"id":3624,"source_id":"ba20b0dd-b204-43dc-9a43-17cdc8f4493d","target_id":"ef028fd8-3473-47b3-a55a-5c6c6964e6ea","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ba20b0dd-b204-43dc-9a43-17cdc8f4493d -\u003e ef028fd8-3473-47b3-a55a-5c6c6964e6ea","gmt_create":"2025-12-03T20:05:40.201524+08:00","gmt_modified":"2025-12-03T20:05:40.201524+08:00"},{"id":3625,"source_id":"ba20b0dd-b204-43dc-9a43-17cdc8f4493d","target_id":"aabc389c-7a7e-4b5f-9ad2-6fa9dd8bdead","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ba20b0dd-b204-43dc-9a43-17cdc8f4493d -\u003e aabc389c-7a7e-4b5f-9ad2-6fa9dd8bdead","gmt_create":"2025-12-03T20:05:40.201758+08:00","gmt_modified":"2025-12-03T20:05:40.201758+08:00"},{"id":3626,"source_id":"ba20b0dd-b204-43dc-9a43-17cdc8f4493d","target_id":"adedbded-20c2-4652-b2ad-41b09165df22","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ba20b0dd-b204-43dc-9a43-17cdc8f4493d -\u003e adedbded-20c2-4652-b2ad-41b09165df22","gmt_create":"2025-12-03T20:05:40.205651+08:00","gmt_modified":"2025-12-03T20:05:40.205651+08:00"},{"id":3627,"source_id":"cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d","target_id":"d70af7db-2513-4ad6-af5d-594b6744a79b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d -\u003e d70af7db-2513-4ad6-af5d-594b6744a79b","gmt_create":"2025-12-03T20:05:40.205839+08:00","gmt_modified":"2025-12-03T20:05:40.205839+08:00"},{"id":3628,"source_id":"cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d","target_id":"9b566cb1-56c2-48bf-bc6a-98d86f1333aa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d -\u003e 9b566cb1-56c2-48bf-bc6a-98d86f1333aa","gmt_create":"2025-12-03T20:05:40.206124+08:00","gmt_modified":"2025-12-03T20:05:40.206124+08:00"},{"id":3629,"source_id":"cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d","target_id":"c249dfa6-550f-4fa6-952c-e1669945227d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d -\u003e c249dfa6-550f-4fa6-952c-e1669945227d","gmt_create":"2025-12-03T20:05:40.206239+08:00","gmt_modified":"2025-12-03T20:05:40.206239+08:00"},{"id":3630,"source_id":"cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d","target_id":"76d984f9-12c3-4781-bb9d-8ad531510353","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d -\u003e 76d984f9-12c3-4781-bb9d-8ad531510353","gmt_create":"2025-12-03T20:05:40.210692+08:00","gmt_modified":"2025-12-03T20:05:40.210692+08:00"},{"id":3631,"source_id":"8ae171bb-acb2-483b-b095-aeee4cd21e47","target_id":"05a1530a-83fc-4857-8f74-87b868f71f4b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ae171bb-acb2-483b-b095-aeee4cd21e47 -\u003e 05a1530a-83fc-4857-8f74-87b868f71f4b","gmt_create":"2025-12-03T20:05:40.211105+08:00","gmt_modified":"2025-12-03T20:05:40.211105+08:00"},{"id":3632,"source_id":"8ae171bb-acb2-483b-b095-aeee4cd21e47","target_id":"bfcdcb5b-bd55-4667-8b55-c4811ca5eca0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ae171bb-acb2-483b-b095-aeee4cd21e47 -\u003e bfcdcb5b-bd55-4667-8b55-c4811ca5eca0","gmt_create":"2025-12-03T20:05:40.211262+08:00","gmt_modified":"2025-12-03T20:05:40.211262+08:00"},{"id":3633,"source_id":"8ae171bb-acb2-483b-b095-aeee4cd21e47","target_id":"cf0c3668-740f-4c3c-a0ba-4a9363b934b1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ae171bb-acb2-483b-b095-aeee4cd21e47 -\u003e cf0c3668-740f-4c3c-a0ba-4a9363b934b1","gmt_create":"2025-12-03T20:05:40.211349+08:00","gmt_modified":"2025-12-03T20:05:40.211349+08:00"},{"id":3634,"source_id":"8ae171bb-acb2-483b-b095-aeee4cd21e47","target_id":"c4b7377e-89db-4b58-baf1-3d2289412e76","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ae171bb-acb2-483b-b095-aeee4cd21e47 -\u003e c4b7377e-89db-4b58-baf1-3d2289412e76","gmt_create":"2025-12-03T20:05:40.215981+08:00","gmt_modified":"2025-12-03T20:05:40.215981+08:00"},{"id":3635,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"5c0702d2-3e00-4c6f-b280-c59135aa1025","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e 5c0702d2-3e00-4c6f-b280-c59135aa1025","gmt_create":"2025-12-03T20:05:40.216097+08:00","gmt_modified":"2025-12-03T20:05:40.216097+08:00"},{"id":3636,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"faf3b73c-525a-46d7-9dad-879885693f11","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e faf3b73c-525a-46d7-9dad-879885693f11","gmt_create":"2025-12-03T20:05:40.219643+08:00","gmt_modified":"2025-12-03T20:05:40.219643+08:00"},{"id":3637,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"95a59712-1242-41c8-aafc-07d60c3dc722","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e 95a59712-1242-41c8-aafc-07d60c3dc722","gmt_create":"2025-12-03T20:05:40.219812+08:00","gmt_modified":"2025-12-03T20:05:40.219812+08:00"},{"id":3638,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"51c7a953-08f5-4404-861e-ab1fb19aa53b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e 51c7a953-08f5-4404-861e-ab1fb19aa53b","gmt_create":"2025-12-03T20:05:40.22026+08:00","gmt_modified":"2025-12-03T20:05:40.22026+08:00"},{"id":3639,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"9ec0a0d5-504b-4ef3-b719-1613e603850d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e 9ec0a0d5-504b-4ef3-b719-1613e603850d","gmt_create":"2025-12-03T20:05:40.224752+08:00","gmt_modified":"2025-12-03T20:05:40.224752+08:00"},{"id":3640,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"ccc1a037-17ae-4618-873c-7b3130d34e81","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e ccc1a037-17ae-4618-873c-7b3130d34e81","gmt_create":"2025-12-03T20:05:40.225119+08:00","gmt_modified":"2025-12-03T20:05:40.22512+08:00"},{"id":3641,"source_id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","target_id":"e2e951a5-ab97-413c-a40c-b8e1096891d0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b3d50416-ee1d-4bdb-bdb3-c13c39e70379 -\u003e e2e951a5-ab97-413c-a40c-b8e1096891d0","gmt_create":"2025-12-03T20:05:40.225345+08:00","gmt_modified":"2025-12-03T20:05:40.225345+08:00"},{"id":3642,"source_id":"eff77972-3b2d-46de-9304-05881749ee69","target_id":"1e100925-5db0-45c1-b575-23e9ae7adfb4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eff77972-3b2d-46de-9304-05881749ee69 -\u003e 1e100925-5db0-45c1-b575-23e9ae7adfb4","gmt_create":"2025-12-03T20:05:40.229655+08:00","gmt_modified":"2025-12-03T20:05:40.229655+08:00"},{"id":3643,"source_id":"eff77972-3b2d-46de-9304-05881749ee69","target_id":"3c2d641c-28d0-41b1-85e1-d6267dcf2117","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eff77972-3b2d-46de-9304-05881749ee69 -\u003e 3c2d641c-28d0-41b1-85e1-d6267dcf2117","gmt_create":"2025-12-03T20:05:40.229946+08:00","gmt_modified":"2025-12-03T20:05:40.229946+08:00"},{"id":3644,"source_id":"eff77972-3b2d-46de-9304-05881749ee69","target_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eff77972-3b2d-46de-9304-05881749ee69 -\u003e 8ed8b531-8753-41d1-a45b-2198b548cae3","gmt_create":"2025-12-03T20:05:40.230035+08:00","gmt_modified":"2025-12-03T20:05:40.230035+08:00"},{"id":3645,"source_id":"eff77972-3b2d-46de-9304-05881749ee69","target_id":"26b39af6-9412-4ccf-b2a5-9391c9f3e8c0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eff77972-3b2d-46de-9304-05881749ee69 -\u003e 26b39af6-9412-4ccf-b2a5-9391c9f3e8c0","gmt_create":"2025-12-03T20:05:40.233773+08:00","gmt_modified":"2025-12-03T20:05:40.233773+08:00"},{"id":3646,"source_id":"7be69291-7208-468d-a78e-6da30b0de014","target_id":"562bdbd7-24be-48d8-b22e-0facb0000917","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7be69291-7208-468d-a78e-6da30b0de014 -\u003e 562bdbd7-24be-48d8-b22e-0facb0000917","gmt_create":"2025-12-03T20:05:40.234381+08:00","gmt_modified":"2025-12-03T20:05:40.234381+08:00"},{"id":3647,"source_id":"7be69291-7208-468d-a78e-6da30b0de014","target_id":"22f1892d-ee57-4833-98b5-0719f79b4900","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7be69291-7208-468d-a78e-6da30b0de014 -\u003e 22f1892d-ee57-4833-98b5-0719f79b4900","gmt_create":"2025-12-03T20:05:40.234484+08:00","gmt_modified":"2025-12-03T20:05:40.234484+08:00"},{"id":3648,"source_id":"7be69291-7208-468d-a78e-6da30b0de014","target_id":"ef67d0a8-9450-4214-ba24-61a87e85c821","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7be69291-7208-468d-a78e-6da30b0de014 -\u003e ef67d0a8-9450-4214-ba24-61a87e85c821","gmt_create":"2025-12-03T20:05:40.238723+08:00","gmt_modified":"2025-12-03T20:05:40.238723+08:00"},{"id":3649,"source_id":"7be69291-7208-468d-a78e-6da30b0de014","target_id":"a80625c6-1a2a-4d0e-a708-fc48034010e6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 7be69291-7208-468d-a78e-6da30b0de014 -\u003e a80625c6-1a2a-4d0e-a708-fc48034010e6","gmt_create":"2025-12-03T20:05:40.239107+08:00","gmt_modified":"2025-12-03T20:05:40.239107+08:00"},{"id":3650,"source_id":"c575a22e-fa6c-4a9d-94ef-4514b7185591","target_id":"b5d34161-66e7-48b0-bfeb-3d6066520a59","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c575a22e-fa6c-4a9d-94ef-4514b7185591 -\u003e b5d34161-66e7-48b0-bfeb-3d6066520a59","gmt_create":"2025-12-03T20:05:40.239235+08:00","gmt_modified":"2025-12-03T20:05:40.239236+08:00"},{"id":3651,"source_id":"c575a22e-fa6c-4a9d-94ef-4514b7185591","target_id":"de460424-853b-472e-9eab-f6d616a7153d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c575a22e-fa6c-4a9d-94ef-4514b7185591 -\u003e de460424-853b-472e-9eab-f6d616a7153d","gmt_create":"2025-12-03T20:05:40.239322+08:00","gmt_modified":"2025-12-03T20:05:40.239322+08:00"},{"id":3652,"source_id":"c575a22e-fa6c-4a9d-94ef-4514b7185591","target_id":"067583a3-2f93-41e3-abee-e49e08254575","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c575a22e-fa6c-4a9d-94ef-4514b7185591 -\u003e 067583a3-2f93-41e3-abee-e49e08254575","gmt_create":"2025-12-03T20:05:40.243724+08:00","gmt_modified":"2025-12-03T20:05:40.243724+08:00"},{"id":3653,"source_id":"2683d5c9-cdde-457f-b58c-9507332c70d8","target_id":"14f5ed5a-bd16-4ed4-9f60-b1ccd52b692f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2683d5c9-cdde-457f-b58c-9507332c70d8 -\u003e 14f5ed5a-bd16-4ed4-9f60-b1ccd52b692f","gmt_create":"2025-12-03T20:05:40.244001+08:00","gmt_modified":"2025-12-03T20:05:40.244001+08:00"},{"id":3654,"source_id":"2683d5c9-cdde-457f-b58c-9507332c70d8","target_id":"5dd32670-a9ea-4184-9264-3a9cfa8cd1ec","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2683d5c9-cdde-457f-b58c-9507332c70d8 -\u003e 5dd32670-a9ea-4184-9264-3a9cfa8cd1ec","gmt_create":"2025-12-03T20:05:40.244128+08:00","gmt_modified":"2025-12-03T20:05:40.244128+08:00"},{"id":3655,"source_id":"2683d5c9-cdde-457f-b58c-9507332c70d8","target_id":"e96f2639-9156-442d-a166-6db9e229be0f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2683d5c9-cdde-457f-b58c-9507332c70d8 -\u003e e96f2639-9156-442d-a166-6db9e229be0f","gmt_create":"2025-12-03T20:05:40.24766+08:00","gmt_modified":"2025-12-03T20:05:40.24766+08:00"},{"id":3656,"source_id":"1360ddbd-cec6-49df-950e-4c94040f3ff5","target_id":"ee7f1824-56ce-4baa-9012-f59817c0c04a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1360ddbd-cec6-49df-950e-4c94040f3ff5 -\u003e ee7f1824-56ce-4baa-9012-f59817c0c04a","gmt_create":"2025-12-03T20:05:40.247805+08:00","gmt_modified":"2025-12-03T20:05:40.247805+08:00"},{"id":3657,"source_id":"1360ddbd-cec6-49df-950e-4c94040f3ff5","target_id":"3370feba-7a13-4479-9da2-132a11a52a69","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1360ddbd-cec6-49df-950e-4c94040f3ff5 -\u003e 3370feba-7a13-4479-9da2-132a11a52a69","gmt_create":"2025-12-03T20:05:40.247915+08:00","gmt_modified":"2025-12-03T20:05:40.247915+08:00"},{"id":3658,"source_id":"1360ddbd-cec6-49df-950e-4c94040f3ff5","target_id":"3a255fea-353e-4d44-b005-2a860bc57ff6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1360ddbd-cec6-49df-950e-4c94040f3ff5 -\u003e 3a255fea-353e-4d44-b005-2a860bc57ff6","gmt_create":"2025-12-03T20:05:40.248005+08:00","gmt_modified":"2025-12-03T20:05:40.248005+08:00"},{"id":3659,"source_id":"1360ddbd-cec6-49df-950e-4c94040f3ff5","target_id":"1db9119e-1c8c-4419-ac5c-2ea7935d6862","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1360ddbd-cec6-49df-950e-4c94040f3ff5 -\u003e 1db9119e-1c8c-4419-ac5c-2ea7935d6862","gmt_create":"2025-12-03T20:05:40.248092+08:00","gmt_modified":"2025-12-03T20:05:40.248092+08:00"},{"id":3660,"source_id":"ed828e22-b2e7-4267-b84d-729540de4dff","target_id":"b670fa0c-cc1a-4e09-9dfb-1354c0d4a258","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ed828e22-b2e7-4267-b84d-729540de4dff -\u003e b670fa0c-cc1a-4e09-9dfb-1354c0d4a258","gmt_create":"2025-12-03T20:05:40.248275+08:00","gmt_modified":"2025-12-03T20:05:40.248275+08:00"},{"id":3661,"source_id":"ed828e22-b2e7-4267-b84d-729540de4dff","target_id":"02b79f7a-a259-47c8-8a25-8209abc6dfc1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ed828e22-b2e7-4267-b84d-729540de4dff -\u003e 02b79f7a-a259-47c8-8a25-8209abc6dfc1","gmt_create":"2025-12-03T20:05:40.248355+08:00","gmt_modified":"2025-12-03T20:05:40.248355+08:00"},{"id":3662,"source_id":"ed828e22-b2e7-4267-b84d-729540de4dff","target_id":"be44fe68-5546-4dfe-aa72-5411ae780094","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ed828e22-b2e7-4267-b84d-729540de4dff -\u003e be44fe68-5546-4dfe-aa72-5411ae780094","gmt_create":"2025-12-03T20:05:40.24845+08:00","gmt_modified":"2025-12-03T20:05:40.24845+08:00"},{"id":3663,"source_id":"ed828e22-b2e7-4267-b84d-729540de4dff","target_id":"d269b99e-4161-4cf3-88b3-62de75fb6c5c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ed828e22-b2e7-4267-b84d-729540de4dff -\u003e d269b99e-4161-4cf3-88b3-62de75fb6c5c","gmt_create":"2025-12-03T20:05:40.248551+08:00","gmt_modified":"2025-12-03T20:05:40.248551+08:00"},{"id":3664,"source_id":"1e100925-5db0-45c1-b575-23e9ae7adfb4","target_id":"8627edc8-122d-4718-871b-642e7a0138ad","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1e100925-5db0-45c1-b575-23e9ae7adfb4 -\u003e 8627edc8-122d-4718-871b-642e7a0138ad","gmt_create":"2025-12-03T20:05:40.248809+08:00","gmt_modified":"2025-12-03T20:05:40.248809+08:00"},{"id":3665,"source_id":"1e100925-5db0-45c1-b575-23e9ae7adfb4","target_id":"c69efeb6-1ec2-444b-9c4d-3c2147608391","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1e100925-5db0-45c1-b575-23e9ae7adfb4 -\u003e c69efeb6-1ec2-444b-9c4d-3c2147608391","gmt_create":"2025-12-03T20:05:40.248911+08:00","gmt_modified":"2025-12-03T20:05:40.248911+08:00"},{"id":3666,"source_id":"1e100925-5db0-45c1-b575-23e9ae7adfb4","target_id":"fd082c4e-8946-46eb-a057-67fc864e0e98","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1e100925-5db0-45c1-b575-23e9ae7adfb4 -\u003e fd082c4e-8946-46eb-a057-67fc864e0e98","gmt_create":"2025-12-03T20:05:40.249033+08:00","gmt_modified":"2025-12-03T20:05:40.249033+08:00"},{"id":3667,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"e4207f5f-520d-4353-8ea3-bc451faad6bf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e e4207f5f-520d-4353-8ea3-bc451faad6bf","gmt_create":"2025-12-03T20:05:40.249686+08:00","gmt_modified":"2025-12-03T20:05:40.249686+08:00"},{"id":3668,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"ff7f6c00-ffd8-411a-9eca-a1a7d5765053","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e ff7f6c00-ffd8-411a-9eca-a1a7d5765053","gmt_create":"2025-12-03T20:05:40.249776+08:00","gmt_modified":"2025-12-03T20:05:40.249776+08:00"},{"id":3669,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"7d7aa356-09b3-460d-b943-f36df1fc2cb2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e 7d7aa356-09b3-460d-b943-f36df1fc2cb2","gmt_create":"2025-12-03T20:05:40.249865+08:00","gmt_modified":"2025-12-03T20:05:40.249865+08:00"},{"id":3670,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"7b8bd774-6463-46fc-add9-634f9b8202b4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e 7b8bd774-6463-46fc-add9-634f9b8202b4","gmt_create":"2025-12-03T20:05:40.249958+08:00","gmt_modified":"2025-12-03T20:05:40.249958+08:00"},{"id":3671,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"97091c2d-94c4-47c3-bde9-89d7a05d0e29","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e 97091c2d-94c4-47c3-bde9-89d7a05d0e29","gmt_create":"2025-12-03T20:05:40.250048+08:00","gmt_modified":"2025-12-03T20:05:40.250048+08:00"},{"id":3672,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"5410601a-acf7-49f4-9296-7e431128ff31","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e 5410601a-acf7-49f4-9296-7e431128ff31","gmt_create":"2025-12-03T20:05:40.250162+08:00","gmt_modified":"2025-12-03T20:05:40.250162+08:00"},{"id":3673,"source_id":"8ed8b531-8753-41d1-a45b-2198b548cae3","target_id":"acb1c16a-06e0-4e5a-bbff-ef6151b0066d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 8ed8b531-8753-41d1-a45b-2198b548cae3 -\u003e acb1c16a-06e0-4e5a-bbff-ef6151b0066d","gmt_create":"2025-12-03T20:05:40.250238+08:00","gmt_modified":"2025-12-03T20:05:40.250238+08:00"}],"wiki_catalogs":[{"id":"41c89e8b-e5f5-453f-8344-6c68760f0041","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"项目概述","description":"project-overview","prompt":"创建全面的内容重点介绍RCoder项目。解释其作为AI驱动开发平台的目的、架构和与其他组件的关系。记录实现细节、配置选项和使用模式。包括适合初学者的概念性概述和适合经验丰富的开发人员的技术细节。使用代码库中的术语。提供演示常见用例的实际示例。记录公共接口、参数和返回值。在适当的地方包含图表以说明关键概念。","progress_status":"completed","dependent_files":"/README.md,/Cargo.toml","gmt_create":"2025-12-03T19:16:54.621441+08:00","gmt_modified":"2025-12-03T19:21:05.949087+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV/ehJLIarfnlyFHeQF+oD88mJppds+Yv2IbwEdfDcEiVNNMcTOvDydy98ajcmYGkJf5Z2QKB6orOeFOhk6V7WUSSqSvOTOcdKST45xE0cxe4o4rr9nm67KnZIramTxtUJjaZNUuGwW82PuyZAzc9X4B8+y0tQ2/j6+mZXHaBfdw0HopPG4KL8rtthkf2bnTKbnWhxxqu5VfOi1st1zv/05WgpZJTf1LF8rKEAcqg9YF3T57hIRXlR/pmA2JcVOS92PxCitKbi9YceF1VOVUyY/vHb655Thp56tPMHTJQrJiWFtCCcN59ep681ZLPnUtLSNRl8HLr9kSsh0zr0Buod01KDA0Ah9+kzQb5OOaECxsfvmp8Wal66s3romXnaB5fQrzu+71ShP1Vj6TYayZ17TiNY+wgfWZZLO2fIaZiWRGfFbU4LxD2xEi6oDgjdOEq7d2m6+RhxUiVJPJaNQraBZFvu8BlyDh7JouM4/Gd46Yv/BYZ7Kd7zh3j7XpxzI7fONYhaUxBc/yXRBG7Yrg1HZbrUhLxS4u7CwWmJs7niQoe8KThszR4uRhnjYQnHAgjDjC7Sq8piu+jYFZCKVfxJrAPX3x7TY9xYtXU2my6pXJtQdjzdOJHt9Op+qtEscosU8FGXsDep7Agulqb2IhLDnO1EjcqB9VRoJRA1hyFaGBL+ptb9GVl9uOYT+fS3rasjfB9VSHgOxfDNSDju2Oj8bpcp5Uu7gIs4bDmQzHNQOQ9KpH+KCXJoCk8KraL9d8XhbWFbaSY10yE8e1owePY5c5vcFYQteiZsPuZ4+jUHTlc"},{"id":"8cca82e1-862e-4152-b634-45ae724a6f57","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"启用与启动","description":"reverse-proxy-enablement","prompt":"创建反向代理服务的启用与启动指南。详细说明如何通过rcoder主应用初始化Pingora代理服务包括服务启动流程、异步运行时配置、监听端口设置以及与主应用的集成方式。结合代码示例展示`PingoraServer`的构建过程和`tokio`任务调度机制。解释服务生命周期管理、错误处理策略及启动时的健康检查机制。提供常见启动失败场景的排查建议。","parent_id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/server.rs,/crates/pingora-proxy/src/pingora_server.rs","gmt_create":"2025-12-03T19:17:15.002256+08:00","gmt_modified":"2025-12-03T19:31:43.577044+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwpoN1emw5IzFE+etaaXxlo9ZtTGofrtV2Uert5bnkvWpdYE5SgD0GEZACzXRrOF3mcNW5MEwG2dAt/vdUYGaeybAL2Q/p2zjMY52QpOvGVOM7J6l7g0c2+iOffI/Cql8A435cobmWozv/alinbiBsaP9iZvCEYk0mcI5ZfG41YAy79PkQGNgLlSYEC+jVkhYD8g1PbBHUCIeIGV/hZtSN0RsnL+pRp8FW6ZBCn0m9BsmNlOgE9GhAQXe4LQZp82WkK1QloXgfkX/Tv4n3+E3H3F1ohncCADkbR3/7klDo6QJF5OUyC93BP4sIoIALiRMRsCwh2GvVF6LeMxrFko/tPafoMNr+sjWlne+vxv5UZKIXFiSR+CQTkbXwXn/EjqckjH2yXY7TH1PmwItQIbC2IpMQDQDqNx2Gxb/s9/IfpOjXretEhKUXZUUrVCbwEgWAmwGdqUtA73tAKqtpE2uLiiF6eHKHZy+8DV2PW0NWgRBmzXJGdVV5nwk4PuZ9bqie/apSBIAF1pQPHq+4dJT8W7rX+HQEMidbfdaIDbNFRLsU6Zy6PtmP6MhIgot66qjx/2WhmBMM/nRZ4YpaOexg4nuy7jp50HYqg+2Zf08bDvm51q0l5Kh5EHagI1UM+R6sCkT+/GR9z4GclSt247N1ln0VdLvp92luFrfglE/qfALVxM2h+RAi5h4deubne3DK34C8j+zdPmcZ3c1OD7XA/pG+WlQx1HpKW1f7vOaqhtgFWmSlQSTCXKpczEX9w2uroR5AqrYOdCYrgMSgOKV9W0nKPZb0lh9OCovXuQI8tqOnrkU04lt65IjduFajQbhJR42UYUo/GNSs0ABur/9E/cHWI/B8Eq0NmeKuHyUQWuRLnwcrSUL59wURTbZC++qZTfPYROhlECC9Snu2pL0LSaJMFsDmXun0weQ9h64c8syc/Gxce8oznsV4AI7StW5yvUCIFxdI9bWb+jeovqxsFU8=","layer_level":1},{"id":"2e67c0d6-2ab7-410f-aa97-20ff92fdffc7","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理抽象层","description":"agent-abstraction-layer","prompt":"创建代理抽象层的详细内容。深入解释ACP协议适配机制以及Codex、Claude Code等不同AI代理的统一接口设计。结合代码示例说明acp_agent.rs、claude_code_agent.rs和codex_agent.rs中的核心trait实现与多态调用模式。阐述抽象层如何屏蔽底层代理差异提供一致的启动、通信和状态管理接口。说明其与agent_service.rs的协作关系以及在rcoder主应用中的集成方式。提供配置扩展指南帮助开发者接入新的AI代理。列举常见实现错误及调试方法并给出性能优化建议。","parent_id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/mod.rs,/specs/agent-abstraction-layer-design.md","gmt_create":"2025-12-03T19:17:20.400455+08:00","gmt_modified":"2025-12-03T19:31:31.662648+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuYcMiFmEhPqHhUfJIX+Kc/6sXp46gB0tVHKbOE2ojz4njcxBWbTY7H68aEQl/3gBCu+ROhEigcO0zhzp99VFrbqwAd8QQuMwJfwf7WYjybjr8mNm2mD16FtZjlc+LCZoHMPGUcNAroDvWA3wkUR9mlwv3i3Csj0ebyUcjpD3J4JJ/loQMIEdTEWznLR2VLIMCo4L1oQkOONirIZmmVZzowxHQ/rruUaRfkPHO4Jcwg6ApS2N2a1JLEMUiPqmsz7oJrkJFogJrl96BSpwAMDeI8O4okJdWBjV5uPo26+Jm9dFCFetx3k9t37HUEZiNdqQhn4LjiKUF6I8+ohNXuoq9Q+CltvUKuuaxLvm7QphtbQQFYK6xIWFecvwyP2IR4mmLcIjBl/r0eBaF+Z+AekSvAR+gi9hY61ff7Jjt9s0zEp5SK+/PU1MrHFHP11HQ1ENwKfLh6BfgdkoH2tgbvlh9xpp4Y995ea2ztr/bDshVnEAQvAP2diqNbsPj48eLnDOM7dPTHzLZnqN420uU8xGylzHNw1Soj1D3LMY6x5D2CGKrzImFD/wVPJd7gy6C75tOBTfJ9WBp/lvmgemRluvHoB6F5kh9JK48KjwtAFm0njLp8sYOdmLK12M9shuoY+N+Ubsrk1lRDTtOUURecfKn0/JWNRWs+aHaf+grt12zL64SLIRZPx6dDbWNA6vNwCdJRWCHymeNZ+q4GGJU2QCr+DCpYGvw+MTow9ZUhqYLU3kRtlB5E5HMT6WA9w7iX6bfm4pCIsdJfP1BYHt6dsSkfHrEmx+FsIFwvNL+SxvNjyl07VOegjOQ6i/0rrm+38gSnP/v1JMSqlSQd8dN8y6kTEkk1Idf07cjR2NUm873qDLUgky7dQBjoBlh5N1o3OVdE2wSaDQgjai0xKDexFMjKwry6BUqLQGP7u76RZwSd/LPcUOxASvP4/2sJiufDKdS9QLwkCPQNSvfcMvxgKN9Lt1roSwnlqU8Xaij9tAX+GxGxMU9OUozTInG/tvfShUJBVqMHiO4fL3NQlgeUhIyC0BWahDcNfEgCZ68I1VLFpUYSGo8oMSAzJ0kmcQaOzu9GedVoWGGd4mN/uqs1jcKeHFlhcdFFYsy0IRN2cAbHjsSP9mzoPd9CtmCebw+K+x4fh9n4q36UK1MmX4N2vOlqBktFi+wrDtVY6atW0XO5wTVazn1utP3Nr7QSiPE7YRmJRCHnn7R4Q49/KexwY9ADA=","layer_level":1},{"id":"ca3fc28f-b6e4-473a-a6aa-78b0a08a8eae","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"健康检查接口","description":"health-check-api","prompt":"为RCoder项目的健康检查API创建详细文档。记录GET /health端点的HTTP方法、URL模式和响应格式。解释该接口如何用于系统状态监控和负载均衡器健康探测。文档应包括成功响应200 OK和失败响应500 Internal Server Error的JSON结构示例。说明该接口在服务启动时的验证作用以及在Kubernetes等容器编排系统中的集成方式。提供curl命令示例和客户端实现指南并包含性能监控和超时处理的最佳实践。","parent_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/health_handler.rs","gmt_create":"2025-12-03T19:17:21.857058+08:00","gmt_modified":"2025-12-03T19:32:42.565679+08:00","raw_data":"WikiEncrypted:hgeCLRgknFfXxBgFSS/77ERBbfzIpuw7dzcgwoh+750G1HRd2mWgwcrM5H/Fv8mDtEziwy1XLVzIL2HsTZleUOCF45aY+gjtyWl5DTB4OVD29DYjUUc35WRwvLQSc+bFSqRjCwae5t74imBmQnhle0EiLqYzqg2fRnDhPUTDIiGbbfP7WBq86BW0HLqz7zSinSBgOLjoRdDJxw7E35SuMLY36bKbJhDQzd6PhA8/x5rwvGkNSdIEj6EEIAx2HJexmdH7PmAlsD5KH6d8gH5vzuKLWlr7BLIBhz1FfT7nGKvq7AzrYu5xC2C2pEOY1IghBARLYfnz7ex+jDmf4KJ3s2yL3QpGpvTyAvBusMssbDjsmlkd4FR6/KLk5vkkUQ7MaftdveNi41r7gvoeS6Ogws3IBNTbytvb/TSBuLXo0v4CXhbfy35COEyz3b3s/UEVEZvCKax/KMLnXpwPjF2uJf0kuaq7Nx3mJkwXzO5Lpr4AD6cH/H9ixsa1xR6xyRi5PIEO4ny84cHwDqrIZDr1ZMDfEwpfHRHX/m5aBd8GXpxz6FHlDAEUDlqdoqix+OVP6i5RmAhDQDWwKu7AnB/FwuUuMUDXA85Xpzkx2a0PpOwFp1cEoqStytRnJNp1hQkOfCqgHwIybtBbJTkMLLLurgQ6srNg/1klPvHPJvlyX40d5km6aaPpSSou/lK+G3NoAAMhys/WGiQvk4uNC0LgeTygMpMwrMlBE1pi98oUCGLuplUhXr8K2/jKnDh2uipUtauUNMveriTQyPs6sCT6PGjy4Kk/jObya2VxTcvn5eBt0LEk2lU9XVtdc0/IMPUBU9pPZchZFiN3i9SVzS3E6IIjHxUauQrXXKISxT3kXq7iacb+KBR9LThJ/PvdqZrZoRMEdUAciTYJgSbd8F4kToY6c19L73rA0VSYobrDqptKuIXVIvoXfPokQks0PZe9P5nq/Sejpw5riaXSCmWRxMEITt9LQM1xsijl678efjwm2RmFR+yuMkEay/KE5Zlv3ESCbXsfNXkM3GjPEgFZLw==","layer_level":1},{"id":"7d41781b-6594-4831-81e3-04fde9b3b75e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"Docker集成","description":"docker-integration","prompt":"创建Docker集成的详细内容重点介绍docker_manager crate如何通过bollard库与Docker守护进程通信。解释Docker客户端初始化、连接配置和API调用模式。结合manager.rs中的ContainerManager实现说明容器创建、启动和状态查询的底层机制。提供实际代码示例展示如何配置Docker连接和处理常见连接错误。阐述与rcoder主应用和agent_runner的集成方式包括会话上下文传递和生命周期协调。解决权限配置、Docker套接字访问、网络模式选择等常见问题并提供生产环境安全配置建议。","parent_id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","progress_status":"completed","dependent_files":"/crates/docker_manager/src/lib.rs,/crates/docker_manager/src/manager.rs,/crates/docker_manager/README.md","gmt_create":"2025-12-03T19:17:35.709483+08:00","gmt_modified":"2025-12-03T19:33:31.314808+08:00","raw_data":"WikiEncrypted:h7ADvj4WLJHyulzCl+z7kAJgcpAbDYExDOrvtukXqpZ/rxvsV2L5+MhuFe57eZeIevVXStrWkVYJxfedZPnV5HLrXGZOiurm3mM7vOoaFDrPVJLzUDME4DsbyZOZLtdgyHEauXODyXbvInjfRLtPUzHazuIAaH/TaKyWLBvA5VJ4WJ8IVbQZMGtmj1+IRuolDFBj34qpNE8Q29g5nYYbov7mQqSmHkcvIBrn41IqFfGjwxMo20kivyB7KKsIVSgo4b1Y948cigWc+ibIiR+qbdypM1jQh3OzWWvHcER5EoxgPoEOQFAqkVfxblRMwR7r0j+8MFk6DJRu84A63OAda0bp+/PpyCoH/THEO9jsW28jS1dbtyCr+QBUMmOoRILHDzrrKW9OsX9kCeo2yf8P9BiHbHglnVxc4guZ1ZnrvsnCdsvadB8XbB5nI0fqSX7EvAJPhAst+P85dNpIe2nX1kvF1Wvw48PojEUMzihXtQMx7QfRGm0J1eCQJnEL6Px8/b7kf/PkzuLaOlsofRs9X/yLINrJEPYhT1WR+4zntRcOlT0IZZg0YfL2+PMpdpkE1sI17senIO8JrCryqGv23QRcLrI4tIQHsFjEouTAHkQtsm/yQegrI2qvIv6USwHnLDeYevuQevrcnHQgDy5tkRdmCjxYYbH+QfYVMYRKWED0Oq3ecbpDfiYJEJNU1XHJjgB5aknD3k+ANK/6eVvjXjB6TAummdZdkI8MKEMzC70tkc+bVXZqLjYTDBHlA1/KE7Gc4mEQ8r39bZmJUYJyj//cQzdoO3iuwuufNTvlh5zmZwcqUgVFU+x2Xq3SNH3XPVon2yEtKU7SGpVCDRuYjw0iKAozk1gKbeKVr1A4CNVvXSmStL43KXxqz+q3yCQXY8pXTRhB8vHmclc5ziLBOtsJfFjtgCWtfIKOL3qY0mPNVo7MQMpCYR3vaXfxvo2pYWKBTh+1IRIY6uHOXtMOFgX6LqeX8iyPy7ExsXO4jf8v7cOrUT0eADnAzKmAyauxob4/QUWB/iQVApQNZj4BiKs3qiIdznmL2eY1+q7BsNUevt9Acx4kJZIG2Zky9IFrQ8Q2KlQcB7csjUX5ODm6VetcB5XyFaXj7DYl5YSwQmxi7Z8uF9YU+OJm8+JzKcx7xkeVMpKRh36nNHm6tLZDSqDrf1xk6XGDZ0d8WNARatjhCdXiFoODS+izhPTiBuCRNBlaWhQytHC/P7DQMgBHuqoDMyYvxbQdosPqlnK8I+A=","layer_level":1},{"id":"8bd5b35f-19a6-421d-a53d-f41b60dcd7e5","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"容器模型","description":"container-model","prompt":"创建全面的容器模型文档重点介绍RCoder项目中的容器相关数据结构。详细说明ContainerBasicInfo等实体的字段定义、数据类型和业务含义。解释容器状态转换规则、生命周期管理机制以及与其他组件如docker_manager的交互关系。提供实际代码示例展示结构体定义和使用模式。记录序列化/反序列化行为、验证约束和性能优化策略。说明该模型在代理运行时和容器管理中的作用。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","progress_status":"completed","dependent_files":"/crates/shared_types/src/model/agent_project_runner_model.rs","gmt_create":"2025-12-03T19:17:44.798561+08:00","gmt_modified":"2025-12-03T19:34:24.852616+08:00","raw_data":"WikiEncrypted:OYVOcFWO8QG2KTNzD99v4+NmHRcfXYrdwiY/e4fGXvfcESkk1PxKI7G5iXOrJH6sdUbDMt4qHC173NqSaKE5XRKQC343nXoKe3Ipc0kWUaFgJBtZSdof1DYxxFhiKjCbfUWuumZfjJN4mI0flvtuCDbiPDVmNMgd+tCQ3U40O6toIlG0CUxgo0qH5CwaP3ft8SpPy4DZZYpoXBwTs1kulcxt76YdjSA763ifwL3b+zTBKlLKtbeQPUpb8HXzhkP+ilpYs9lx1CBqec+4x4gwPPUWfHS00hLCRcLL1EgC0o1C1Z+58d7oQNKxUOwA+AJKaHAoFIXkBQ5wRHn8hyHwZiTc2HgkY33cyO0Nn8CZQ7u7s5+z5NrXRuePkYK+bUAv9782ywSQTjetcu6c37Z0FlPRgWgx9F38jS1a3FM3Ba4pH4l4Bh+utZkm6EzJDuBnLky7NyNm2oOQaG+O+N/3osOtamnjZiwtx+aje1/HzFln7iqAFt5a5TEiqZIlsshb8NiHuTTNJxjpRhbv95a8QwU9JhT1NK0lq7VZsvbJtH9Xlss0NhP1vEU5ZYWVycTLMAAJhoTqQc4stvmkYIsZSBRRVkm6lnftzfty6JSlUh1smMSZoh1EkWR8eWVZzzjw54mDKfxadG9f440+ov6aGxZupFDzUgFeUoiBpB2fb0VOIUC/pYu6JlZNYUXNWVaVk43bIIiU1kDC8lpRBYYBWu2HqdOh5LcnmZb3lvJE+oZWYWkYBmImW0i8pDX1UbHxh+1QpEV+PwD528sOAzHK4FBs8PiuUWA3S7vSLbNnsbDU32eTFVmWMT8kQcVFqnzU02dpi8Kh2VEUz71BqFrAgcuc8L2AXwV5PoSCm7yNAeSeUAkBkiRPYdTMttX+I70hXBCCPrs1JmPis7jpAxH479QHsNbUwclcdbdG+JfLFPqPiPHcJh4zVHhfZgLMpz8GPSvXztE28I4Oqst4bB1N8OMAhi+EWnM25aUsaEwHY5K2XE74yB1x9Ym8fm+xnhDKlE2o5ioQ8gBH06YtHU39Lw==","layer_level":1},{"id":"3965055f-d9a0-4444-bcd1-b0a107e4d1c6","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"HTTP API架构","description":"http-api-architecture","prompt":"创建HTTP API架构的架构文档。描述其高阶设计、架构模式和系统边界。记录组件交互、数据流和集成模式。解释技术决策、权衡和约束。包括基础设施要求、可扩展性考虑和部署拓扑。提供系统上下文图和组件分解。解决安全性、监控和灾难恢复等横切关注点。重点说明基于Axum框架的路由设计、请求处理流程、中间件链特别是tracing_middleware的作用以及如何通过handler模块处理不同类型的API请求。解释API版本控制策略、错误处理机制和与agent_runner的集成方式。","parent_id":"04feb733-c3c4-4520-81b6-fc5e1504055a","progress_status":"completed","dependent_files":"/crates/rcoder/src/main.rs,/crates/rcoder/src/router.rs,/crates/rcoder/src/handler/chat_handler.rs","gmt_create":"2025-12-03T19:17:47.618294+08:00","gmt_modified":"2025-12-03T19:34:34.292617+08:00","raw_data":"WikiEncrypted:VsNEQjl9yOd/19lPlWXnGr61UxiutfVNmIzGvxpkdY1eabOhnm25/0+dkk2j8iuCE/liILq0hE8CbFiNuGeNP9W/q43PxvwAHZSVIpSDGM7JQkylweIXikLT6jopGT2PLB2zeTlFGgLT2Cgw60M816fsRUXjErCCTFGC2ZDYLkxteujDxwajy24/lzbRknosOv6nkt6LKj67OJ+lOa/uStb3OAHNsTW9dTc36Krhj6S8O/G6JvtrTBtmeGaktDUBR7hDuZlOIF6DuV6cLwELpNkkGnVr0Z2pgv2eVaLdvEGuEwIuy37vnHMSIHRjXcNKEaBvevHMXFfMD+7iAm15PUfqP/IZ0CTZbHQDPP3L8Bv+jkrTcSUhhBK90ay7Dz+wIn+BBdCzRGqjgkoHfL9P3Inx4fTzEBdsjR7yKFWER1gL2O5MT9WSGCijbxNfU4GDryeXGEH1tqj9WrWQzL+tj31fd3pKLgzZVOI5JHZpkedU3ZFtw1eFM6R29tlNhyizSImPEiRfxVtLICa0Y1vgZXTgPMkM6TeYlEy6e4StTc7AWtNVW3saVjUd1xwc8aZXcCq1pAyfhrel+lpatY46vT9uRfQXlg52IFNyaWXGWC7rc98eMHkUK4iAj2yMZowxdnHeEVb1GSLwfER5vNiYxvfyPdSZXIVs8JkQW/3kVHhqw7nivwVhByNwKl9YaD9rr/2n7bsn1ix2A+R1Y28oJ5Gz4ASK17CJ2bMf1lQl1XoAO+7gGS2RS0oFi+ba8+HPiloWUdiU4yB7S8nStiUazxdRRMqFxROsb776vcVGb69WwW/UOyfEaz7N8GqQ3hOg4zDvPR/8SIpR37akZZysJ5e+hdsjMe5v7LCEGmNQojrqqqy9/nCLh4jupwUZLofOnjMD7n0jW0GNMEXpoGrhNXaDffP+ad9NMDqOT8hWx54VVvt0uG9WvnARrnBLH16EplphadYyfzHNFH3PnfUpwsYUoSmMJbx5qjqYAgfD5PYOu7a4cmAo4FcM2AWwy52pgF+e93N0kZ07PZYvr+pTmnDTYyfkH5+bZWXK8Y1Byxy1hB84Gt7DrDSz5AjlUBMrgW04/abjf8py2Hscz1uzfWRe+80vb6QTTVsu19/k5h0JSabiMR+YVf9eewYo0TjLnsOMan51KZJhYElK9pTbM4nlb0T8O5BN0wqarlZsQg6UxTn/2HZQSMTPBGKimvhFhVV31J8fL/fWGB96+wXebVbDnuEE3wbJ2g0SdsoFpSEn9XOm2qdot/dYljnHto0aHddmqdlpSBX8GoSzwm94cQ==","layer_level":1},{"id":"6a8c124e-0c30-46c7-b6cb-2652d3b1c443","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"日志系统","description":"logging_system","prompt":"创建日志系统的详细内容。彻底解释基于tracing和tracing-appender的日志实现细节包括控制台和文件双输出配置、JSON格式化、按天滚动策略和日志保留机制。包括来自实际代码库的具体示例如init_telemetry函数中的日志目录创建和文件appender配置。记录日志级别设置、输出格式、目标配置和线程信息包含等参数。解释日志系统与链路追踪的集成关系特别是trace_id在日志中的注入方式。解决日志文件路径不存在、权限不足等常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度包括性能考虑如异步日志写入和文件滚动开销。","parent_id":"83f27c12-c663-4758-914a-e39985bfed0e","progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/crates/agent_runner/src/main.rs","gmt_create":"2025-12-03T19:17:58.27456+08:00","gmt_modified":"2025-12-03T19:34:55.609251+08:00","raw_data":"WikiEncrypted:U7R4DE1TfAUvjZuFqogRLsujMNQNIDmhlexUzHab+eADhsWMHuaBcNF+6/Lgw8DheoNG1CuK58fPFFNkEwfGgsJe/Xgr4TLU9SF073QzlkPB/sxaO+rkKcj2CwcKANEBzZGyzAsF7R5YmcbTYs4ym7E8dii1jX2yo1FzFIn0UErr70MiwHAGmCVP+gLn+2BqklI4vHafDWzXoe/i8gfPBE+yedc7LOY3MUgyq7kV/23on5lUQFUP0s3S0aKEgY7dYgHtba+YQ3ttuM5IusuadBbZJawZkAp8LdJPZNteG8Q6u/8PIITMCCSvlS5L3u3cIn/6pY5ZZVH2wdcGbDH75oYUgFlxR7Ik0xBhd1W5TB3V3mhBTj7YCftj3/+LKgs696ZMViNRbRS1hZMGOK8C2mUYLGhA/p/eGMFjpruxskVmzQudHREoE7zPW6lPsDZ4Uhjz7kwy+xazSBwxr2fw9VhIHKn7zRa4S954C9aoZFh34fNu9/KKNxLe8Idq2xyiM9jIx3tRoXacANwJsebP233q5OkDrdjjIV1QjZenaVwvj9PX6tALsOusnZ2f5eNRlTUxOhtYlGptjIWOMWE8R72KbpdfhUP4nVfJMGIpepKRmP6idlPqPySXvb8E9ZCmHK1/LnG2kr9A65E39kMHWOwcTwc/WwK5lPT8IoSuSY94QBe5d9DtMX90Ssukxz99Iz2X6x3WY/qFWvMoZGSmcP5vrGdDl9HeEaU51r7NO6MTwW57OXQoe11uMae8jujGOPdOIRN+hAYEmQhGfjmHw0MeXoenX4i+FCy/nxawoIqQ0Pc6rJD2Is/oq+uMoD/bUNI5y5yKjo8cVCApC8BoAq0rqBo73GDFiwprZXK9KTX2015899VSK8HWsha816zTjIT6+QxGsfGGNaFo6HU+7Xg8nphQbj817o+jjPAs6PkMacFijhOd1b/FJMJkUYZMQEmos9s3oW9p7YCZ39ImBoxIDRMRECmLlJFXi5iz3Iop6Ni+YZ3UaMeUF8JquJXz9cR4ABlIOhNJvPoOZYbfR9L0IZ/7cVChQ/kc3flfbtCrytCrEOMIXxpPXa24cjW6UKKemuPficDR4q5tp604Wpunm8aeTvOeZWhVZ5xff/JPoveDKzg6tKL1ma3GlfsNoVZZCS4vpWUXWKn4pyNrbKR8l0FNBuM/4QvONETxsB423ofxbohe21GwkIvFb6WoYCGCxq/36lbjoPg76UJMihArpKafml5JikfnaowiBkyKWca7iKkqAlaHHYOVQj7lAyaT9IbbPWmImPndrLCD8X9qBHf2FE7EO3GPoENyRdcP7mWge4n2Ib4YDBwfd/ssyYEm6NAjsDTk9djzyRVu64BRtcy5XZC4LokpmyOZUvjwJ9S2gE6E6nKK7vmBt2I5","layer_level":1},{"id":"58d5a7bd-c0ca-4d43-8864-e00a09bbcbfc","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理抽象层设计","description":"agent-abstraction-layer-design","prompt":"创建代理抽象层设计的详细文档。深入解释ACP适配器与各类AI代理如Codex、Claude Code之间的协议抽象机制。结合agent_runner和acp_adapter模块的实现说明如何通过统一接口管理异构AI代理。提供核心trait定义、运行时调度逻辑和状态同步机制的代码示例。阐述设计决策背后的动机如为何选择ACP协议作为通用通信标准以及如何处理不同代理间的语义差异。说明该设计如何支持未来新代理的插件式扩展并与docker_manager和shared_types组件协同工作。包含常见集成问题的排查方法如会话状态丢失、响应格式不兼容等。为初学者提供从请求入口到代理调用的完整调用链路图解同时为高级用户分析性能瓶颈和并发控制策略。","parent_id":"8060eaaa-4518-4fa1-9d42-f1385556bfd4","progress_status":"completed","dependent_files":"/specs/agent-abstraction-layer-design.md","gmt_create":"2025-12-03T19:18:05.736057+08:00","gmt_modified":"2025-12-03T19:37:07.674187+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuYcMiFmEhPqHhUfJIX+Kc/5XKczs7TCf+yEanbjxO9gv3zCvhUnBk+Mc6UNMRdCOG1fDp2J8NmxVNsTUPwdZ70DmQLctyi9yyWo+m1lDK/EzRTQ+gGtLjaGQEBL/9BuIH2i2jHZCjZgKHKnXcFOlml9CkretXBGU5DFcb4Kb8q3cS8sviMYcxAULIUB9dC2ItpSs88ijPWE/wDHhtW4S5hW9JxCWwpvLiveEZe484/TcaRHemKYhJLKoHaeRFlSuyYmbBip5liI1Yh6R76fku4MLhMdvi+6zqFoGyXIy44O61b+9cgFknUOtAZ94MiNZtW2hxomNkVW8GpKDuwEKV7PLKkzoPrMFnrRqw+E4lBec4Nn+9X75LddFjjU0+PfD4Fbi5BlyJYUHAw9AOWayIQNhyH/6onrUHDQe+j7iaRszbM28FpSWFfld6RDMp+B5XVeODPlh6/BJTimNCppS9Eqk7zaT3B0nK8oUIRMH1MePt1222yrAXHS/aQPRK9gng14psYMQ/UlebUCkpYo1uMJxde3t5aJwnUlDXr4s7dahPJNXAM6IReL267sqt+Ig2+rJxK5tUw+9F+X8l9kNnTcJBQ13mGGkgYDoAPkF+doo6Q4saX7+0ahMIF44DZwlycYw0NaMKt+60mjjYx0nQ5ZtdLqo60e4+/pkKpwgfX/9zdAYTjD98yx19TEivuV1GMIVegARKbHM+JxKqawxIsZffKBYB4B5bn39I0dxn12Wbz8LLWEFhHqExN1XDeVvuxUcvG6U4GFYXXAqaYsYjkWhvCZbUOADz2F5Ye0igiiGrskqBGiOH65vQviqoJahSV0dDxRhHl8JZhJNvzlVkqe8t86e0glyvYwnk0GAcGEB0mPSsnHfOGjkXqKVWOTvQH7MLpj8N1Zba/MCsNXxQXHbMiNT8DXObfqDicGLhwSzlA8qe3IyPWLGaHfUrfItTx2wMwkQiHm0Ar2a8KpfFElmUK/qYOfW6QFQdbkkozz0FkSgK6nM+5g2Ye3RtE9eY+vTD+o4/3J9IDmREGLHdWINhC+L1UPSaxNCphkvrQnJprgU56tJFpeCCsE681jocIQQQ57aMXQB8TffSKKF6RYcHqknaCMa3k0eJEwzVGAJr/+Ss4zYraxsivRkG2mC3yVrBuitkDnuYeB79a1rrpM2MTLvUL2sA0wY9iAvL7iVYqsy8rtAV2IqTm+xsHEPFJhW4K+5uxSvACLfKub48U11SOOkcETUMKmFbM5v45TjYB8kciERLeUFuDlO5PwGTsCqfrEiMLzJ47hPbQkxuIKsIy2IQQMYH47PIFTtNkgw/gMSMO+Tg7Krax86lLdZYc+F7LeOegIDKAHFwJcwmQYNwhgd/A3MWi6mvyMP9p8vukR/1b9cZYyi79jP8bdMkgzOfrwkQNEZ9xAQh/umguM=","layer_level":1},{"id":"6f46295d-a02f-45fb-b635-274e9a894d0a","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"Docker部署","description":"docker-deployment","prompt":"创建Docker部署的详细内容。深入解释Dockerfile的多阶段构建过程、基础镜像选择、依赖安装和二进制文件复制策略。提供来自实际代码库的具体示例包括构建脚本build-docker-image.sh的使用方法和参数配置。记录环境变量、挂载卷和网络配置的最佳实践。解释Docker部署与rcoder主服务的集成关系。解决常见构建失败、权限问题和容器启动错误的解决方案。为初学者提供逐步指导同时为高级用户提供性能优化和安全加固建议。","parent_id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","progress_status":"completed","dependent_files":"/docker/Dockerfile,/docker/scripts/build-docker-image.sh,/docker/scripts/start-rcoder.sh","gmt_create":"2025-12-03T19:18:06.053292+08:00","gmt_modified":"2025-12-03T19:36:09.256981+08:00","raw_data":"WikiEncrypted:h7ADvj4WLJHyulzCl+z7kMT6DzaQnlgZj+Vph23KSPwCAKwAGu81Jfoj4zRMdPAHZYLKWoFF1+HyfE0doyfQ1TyD9HsY25gfQSCtQuyF5bqxd1lxgqNYZyYqp3pAqLLh5laqJzwqAv7sDh3QrPg5OusPX/qbzMh68MzZMrp9RcGGSdJIsNoqk7PeppFWaWPn/I5wjs1fq6pNitGZY9KVYFBXbJasPHLWrP1dUWV1A9RtibXVlwB3+FuDM/DcKRmdGqN8XIT0WpkGtZAhjzBX788D/A7sA46HOHef5a1QRaHSBZCbQVcgcYxZAe7dyi021Bki0SJXp9dMs1bI7FDurP6ki0M1/Qji7AXHI/FE26Wh0HxSg7C+HhNrNlgYslOL0eQrE3bH349ls9vtUzIvkRIdnBahFbJMg9pM7sNWuvhN3NXmRDVFobw2Vdvq1OJd4fFlUDGjeAqieknY62dkW0+AXcSJEFut9mD01i2FNlU4CWRuslgEnbGOkIV6uns1MrhzwK08u/OP8lZbIYs5/kVtNpCVYLe0FqZ15u/NL8qhCuYO9SSqau7eaVRgVtFQVVLC3eNMlH3ygP1JDJyWPYKxJBl2Gh4TdYFUUG8uVqdue37NNtPlbbbfeCisQ+kYCvAjejk+7MHuEmLKYaFqqZFv9kfylK0LnxQaZ4c7tI+QDFo0YtYYQlQe3ekqosCDZM0SEpYxjMIv3/W1K8/QkZSgqvS/RfYK9E5qtPWgsPvf3mB/AaEbAZPsT6KwCUygRqgy3fannrtivnsbIqedtN72OsH/GixW5gCv1N2GmeOwy8s+Z7mmplP76e3s7Nkvna501DDYipoGTDtpkrwO8Ws/fjl0Z7JDrsyOfhLmR1NqIB0ohf+NRuyKUYWMns1hxMV/jlkp7wViK/vMV4E1/ZN+yyVmJTJl7vaiKMNmV7XdtjqVstA9LSiqRtOveu07kFg3tf/35UBE3rgvhrUm6vj/f4lQ3CUQFYAxFi7Y1VC0b+hEOAiKZWKN366L8QdFjGEwbIDwahpOHMN5tF+Jqe3u5ZenXjbmyNfDcaWMer1TwAs67JGiUUfAsr/0C0e7eRpx97FW+LdDitmxyHSRlEpaQ1crH2+d0gHW0QVZKiltQ2irvrfNdPgXuqmrpvcBy6ytdNLNOXo6P7JY/kuMpI3OdUwJYfJdaiqMYig9rEfu+dAH/l65P3HygFyiDRpO3YQO8IbewUndK3R76GQgLA==","layer_level":1},{"id":"f580c77e-8865-4d4a-80c8-24a78a2df0a7","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"常见问题","description":"common_issues","prompt":"创建关于RCoder项目中常见问题的详细内容。结合代码库中的实际场景解释用户在部署、运行AI代理、使用反向代理和容器管理时可能遇到的典型问题如代理启动失败、端口冲突、Docker权限错误、SSE流中断等。提供每个问题的根本原因分析、调试步骤和解决方案。引用具体配置文件如config.yml和日志输出示例说明如何识别和修复问题。涵盖与Claude Code代理集成时的特定限制和规避方法。内容需对初学者友好同时为高级用户提供深入的排查路径。","parent_id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","progress_status":"completed","dependent_files":"/README.md,/CLAUDE.md","gmt_create":"2025-12-03T19:18:17.641791+08:00","gmt_modified":"2025-12-03T19:36:25.879024+08:00","raw_data":"WikiEncrypted:xN69xsyfHUnwfU68aQhW4f0VFpaNnUarv2a+Ekl+dW5UR2hWdgDxXaMUWI13PHWDMyAngah6o1iMS5LCMrNYA2VnPUN/tn9K60Yo7SLrBPLf6YWfFEj5yiKh/iyiedKLYFa74GibRa+CT+Py0KX3Qe9TB/UPqG4AhwD3eK5a7fNBprvWX29NhBGfhV9Qfk1I5D3UYQ5yG1mBEPYik07/WqJiVZqxZimRLYi/G0uNnDYUuKNMI1+qgh83dXZHvDb1435Wk6wP5EclBmI7Xo/c5PFzb0oGNNbk3jvEPUM/eslF9m7qBgi0+d47AMhkqSPqdaCYJsVBEYm/fmyda5xRNyhhRRZX2iFMdoWutzw/07hqD6e07IPkbskHcOsL6KiV6cB/ft1igvDaaX034T+IQOzlNEksQJZLYwGSBK8jJVXe02mAb/ZButpiNAVcrBD5uGxaNArgjN9S7/XlRh1csvlrXeH2qiO6FVjcN0JEysSM+hjx7kuDwSBnPGh4D47D+K5eq2HRn4LqnsXNwzt9ag+CRC+CDxRzmGGB14wygu00ew1W7z2LqIETK85v0CNB7o+WdRr9mkerJ+96lRm2YnCOjdIdxgvU8nfhLKGrLsaE2yR3pYtEbSeZuAaFxheo0R7U2SUbHAv2b5BfofRq88RF6Lk/L6JU1wUwjjpc7f8sGolfAg85UYxno0szekxcZIusrkez/+FyCT0yRahtjXGg+ngBj3vgPyPVTciguyFaOqie1gUM9gVdb2bQoNTsnTJhmMOElmdkZi1Z3Mg6A6wixU8i74IZqyCcHlrmoYUbzd9Jw7twWFOiPFKs0WogkJ/fB0MSRBd2SdH5ph5AGuxI+FgRIl7j69hUNYz0Zv09wciej2z4esuo3YT24LrhpsJUKRE3wLt4YmbEh3GO3m91KJ+8CY/VtY2xjMiUhOK/aPADOgD1KTBjv/6CPx1PVfzCzItEo6/g5G2qs2aegrsSNoZbmttdQPB93vB5N+nEW1XMH2XQfxL1S27IQbiSvzYOSnhCqO9j2150Z5AO1S/TLCJLFHBvx6BU8yViF+c9fLeCsNaooEGcnBHORfMmyC4QDyz5NXkIE5uydKSWMAg5mZka4iQedsC81voRYuA=","layer_level":1},{"id":"727278ba-26bf-4094-90be-0ca4b3ea8942","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"路由配置","description":"http-api-router","prompt":"创建HTTP API路由配置的详细文档。重点说明基于Axum的路由注册机制包括各API端点如/chat、/health、/agent/progress/{session_id}的路径映射与处理函数绑定方式。解释模块化路由组织结构通过mod.rs组织handler模块以及如何通过Layer堆叠应用全局中间件。描述路由层级划分逻辑如公共接口与代理专用接口的分离。提供实际代码示例展示路由定义语法并说明其与handler模块的调用关系。解释动态路由参数处理机制和错误传播模式。","parent_id":"3965055f-d9a0-4444-bcd1-b0a107e4d1c6","progress_status":"completed","dependent_files":"/crates/rcoder/src/router.rs,/crates/rcoder/src/main.rs","gmt_create":"2025-12-03T19:18:20.927277+08:00","gmt_modified":"2025-12-03T19:59:05.664499+08:00","raw_data":"WikiEncrypted:VsNEQjl9yOd/19lPlWXnGsaJKg8jH04j4HJanX0In3Ts53XDUWvIM5RYApFv2t9XinBHHEtgTwBulbX2sVQisShcd8vOeLq3/GIDe7Yomws4vRCETTzEfGRYtPrpSMaH/tH13jW4apVbGcH//gATcX5jBtGQBBLetunHzTZmKWJQrSItnK6VGKjuWowblTL2P+wKMeBZEJMg07a9m6WMSFUYDe2r+5goYMtyLTsU/6McYGmHenSGWU0Qw5Cwry+mJa2wvmD5bgJQCDWMZIH3UZkZG8xFWVrkWHek7BFYQPvILe/nNSALl4vcNRE5qhWDUEJN+jXqkvzlJgpJuLD2ZgZQywvVu3rM1iqjRbEgtY/1lD6r+Eu0wSjW9QrLGr1IBY0JQTZkVAQ7klZ+sNpbzw3wGKetXQnXdBUSIZEPkLWZ1RnireMZEI4Bx6TnvKvO26banBORnolToB0DfGm3b9+qdHxPmRWv5bhvrYg1DykyrfelnSC83v39anfJfXCz6EYSsEzcbIAZ4F8/NwZ5GXuYvFxlqvAg5/KgOg3HN3R1vz1nxGRMbSmg3yhBLDSt6iW0JGRMTsMQ9RjhzaKOVD1NEjQ8MWb7HAYKaiJKtemfvIVZ5KSPCGNt09HmomnhEDsvTxOZ1xZbDK9MypxGrfvslieLiRE75j/YXeBB0S2euQVI6+ZrzYOFGH5sfpZVygEQjJrEFwwqeHpaEwrwJyFRpjvXikoJ1SAuavRu0GxuHGQGtUtdYQLLz5VYww7zu1wSYevVsgRM4aBY3RUM50eg9QsJ3AwXAc7xS72FK1dhQ3C+U1bhJvdle492zRrtPIo52CjfGPJK/CLEMvBmSHVD8HxjTlBNyXbPhjmih2v/LhelIK+dsd/QTZ6Pd7u7cn4Os8VrKLUDJX+tSH2gCk+htrIrVvp3Vws/9WawVwEetdWrWB7uzCQt9O7eHYU9JeghmNY6YTk2Ab58f6s4zCwTcJrHVr9k31ItUWzSOZ+KxyzJ/KUrdY2IU8ujrCpQEA2vgd7bsRwl9t9z5iXw1XuaOCVmW/0s/gEMTjwc08RA2wvcsRkqX4s8MndAfPSiEXpT60B6MrR1nqKxI0369diPjfyXpFpC6I+zBzTTgXGIByTILJBztbKpev/3iuguBIZyBR/iBubXFhd/9msvQy8zxDeWvn0pSxUoVXac6uw=","layer_level":2},{"id":"ad7405fd-1ee7-44c5-9983-a0110f94012b","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"相关链接","description":"appendix-related-links","prompt":"创建相关链接的详细内容聚焦于项目中的核心文档和外部资源引用。解释README.md中列出的项目主页、贡献指南、许可证文件、设计文档specs/目录下以及其他关键文档如CLAUDE.md、install.md的作用和访问方式。提供实际使用场景示例如开发者如何通过这些链接快速定位部署脚本docker/、构建工具Makefile或API测试文件http_test.rest。说明这些链接在开发、部署和故障排除中的集成上下文。列出常见问题如链接失效、文档版本不匹配并提供解决方案。建议性能优化措施例如使用本地文档镜像或自动化文档索引。","parent_id":"58a6c092-d165-46cc-98d3-51649baebc8f","progress_status":"completed","dependent_files":"/README.md","gmt_create":"2025-12-03T19:18:24.040984+08:00","gmt_modified":"2025-12-03T19:38:05.446042+08:00","raw_data":"WikiEncrypted:oXFVdwVYdtK9JMQUocGTl9hTPS59s4zDXTQBUVOZqGUKGk50LieUL+hQx3t7vYozKZY3tLIBL+rPCP9ioVy9PLGypkbJ+kP4m7uYERn4Ip39cdbvT0mKwZ16zKKE9Px+U7JkwQ6Vk66uxFBX8Dn2oRiF1PCBZI+XYHYgSlAGnX0ZEITPmOIpvdDa/GWbw+aqnsFjGpPDfqbupFdSZ5SwCLW05y7wiS9OJdsb36zTfS4RD/rgrGQmdqCzXdNp7by+c/j9264E5Yzswb4YEX6dCzX7slG33Yos6DabFvuDK5YnaYKKCIbaHlLIzLGSnKjVzz67qnsffq4x8hMZA+tmly8sKXjIcC4RRUU0qEb7sQyICgRP9YQ2vqXCyRWZ25imk0biCz0MaR3DCRo/B7ZIetj3mTmMxiGyVIYWetxUV7sPJOMYoGVNm67uzBFml3E8CBaKSH+FSgBaZXx+aLrct2BzhEn60ZWvZOZ/GNHntYiVflgnzbbKzWlu7g7DBXn03H2yVF91M+Ze48DXG4Aoig8KmEz92RpMg9+WShFs2yHbO8Lg3fuoerqXvu84itWfDedm9bWy2iv3ci1tYmg942elfG+y2RX6hW9Vps5t1NfhkqBUAwUUuFGf6jUOK+JuSlTR5B/hKKv2/vqXTkn100+18j/ojfxbuZF2JHwBgn9njYCWC5G/iGU2c+xZeT0B9sxe7hBG/XGCeNvecIpyRUyPw1apTZp+Ptd23hAt5o980kKIgz/qU6//Gy1MnXsbpu2NHQuMSwueEsypwgjsGvAop59z1GfdLHY57FTxyGbWd259w/xbZTXEDeyM0IP12cll3CKUNIhYA1uRzEUomUNMFddMzw02BLpooyglqdsxiYGMCvBgp95fenf89C3lG7edWX+c3oC9TnDEyJMNScxEuRsDn0fqCQPPjdBDgav0D+aZ4vb50YwcCZBsUnE1XqVerqIFx3CsVl7XEYQZb4jIBGs3yBKmdeP3zjchHpTMijGq4TSsfw71PHFRQ/cSBcoDDLm4tGZSkokZplyB6zFH0rHG5/nrlxk5xDEURmCsrpilaNC5/X00xT9+3XImj/2N/SKWPwi5eKIzlRj+B86Mtqe4wX+NpxMRjJno69Gf0JMzjLmpWg1FDV0ECpZa6nnNNnEeV5QhcNU1C/Ep6L/mstLZjwK0L8a+nhx0oCQZUBM0nWp61Os26R6YuiHenw06f75B50FHDd5Gnh7IZ8aBXzA579LuYZ1aAO3kgis=","layer_level":1},{"id":"ebab85d0-be0b-4db2-9878-afa3783cb555","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理服务","description":"agent-service","prompt":"创建代理服务的详细文档重点描述AgentService结构体的设计与实现。解释其在AI代理生命周期管理中的核心作用包括代理的启动、状态监控和资源协调。详细说明与docker_manager的集成方式如何通过容器化运行AI代理实例。记录异步任务调度机制、会话上下文维护以及错误恢复策略。提供实际代码示例展示服务初始化、请求处理流程和关闭逻辑。解释其与ACP适配器的交互模式以及如何支持多代理类型Codex、Claude Code的统一接口抽象。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/agent_service.rs,/crates/agent_runner/src/proxy_agent/mod.rs","gmt_create":"2025-12-03T19:18:40.445836+08:00","gmt_modified":"2025-12-03T20:00:45.649811+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuUOI1xxAAmw0awKXamER1brOpUk5qU/PzUFuO0s/PVXz2BnrnkUF5j21Y0do83YqN1Dam9vilUAXd76QHM2OETR3Sx4kQUFwscdrMtaMz4liFlPeiZyEL2ZoRXHYGexaUoiNDA4BSWVCbsV5IjgiwX8s7uUKsIDy/SZMH8dyFHyTm4lC5ZjhN18OZBpNIO0mWorX1U773J8Rb85XHV6F5e6EQt/Ov1YUu98vRQuHFqmlHNsWXdZrbpOwCSh97XQ1vo+JrSEDSQ3zzbIlTeUw348wU2wAmitEOB5l34mIfgnTSZ/N99SkykVhk3oVZHI3xByjMq6EpfOm7V+NxDFuIBQvShoqMRSLtCTShoMFkxqiy9847a+bMaWK2zUlpWaej7gyyvaGUaYIt4QXEf/MALoypbeMqCd8OU2XBITypNolv5s93Dfvn877+mYNz/nd8XbJdnbV5mFo90dfZ1KR5DUYTvwQ6hge7Zl+FuG5qUiz33exudcn4T739dDgSqp5MkC6Bly8KvIpAM7EQDfWo4pi/7zNAePImerhOtsOMc1PcpT2e9W+Hh72AyimA9cvRNDhgYR2NjJ4P8E6RS4K1nzorJ9krPpdpK+x/E/ykSbJ8Cqu+I6iZpAdkQhr/Gd/BI8H2R9EgFDP/dOZtaWewb7zrk9UFGxQYquXWd99u0BkxVBaw4gSYF4x85FTBDnxDqxT3Pg6OqgCEW1RnlR4dcdPCJa15yc/z1X9g9EAfwl5Nto9o7IW9fk/SNMhcItTWFgYTeA4y5fcddcP8AHyTnJDGmEc/YyAAm2OG0NQIJdTXYRyimufeITx+C3jfOAUNRCL/2l0t5C3MkNx3GQKhRiZNXBVDvHJ9gcj2L15Yv3ajRj7aprWtUMeb3aS6SFIcZqvH1hY5bQ217k5+JAx5iN3CfM/65I6jdzLH5JAx3/ByLxAHle5r1/Xs/sjhEY2PzwhlqMT5/IHQ3Mm5GOWlD4PweF7OcrG2tINRKvtqlRaorHEgqcqRIzTlflrVuLOl4GAmh8+Lp65MvQYBkvAU/leWAStv/2/uaVTJ/mKo7OC0wK1VugHKfTMgxVqwVUGy/DFPbvUUMqGg/RjmgJ4t56N+9njoYAEB7AIIsLdrPuLTDLI2jwfcTvz6mJ8M8k6XgacFAk+V448ABjGYKFjzPman/N7/zYcIGVgTNb88+VJjXIpP7ESPUz9+OiM32TDThODI0X5WPmyfsmYCyiiMjW72EYBZjCQKshsvsH09f29P3kW3sWIaRWyL77jljvMCg==","layer_level":2},{"id":"edf55f77-a7bb-4b6a-bfd6-2c8ee3df040e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"技术栈与依赖","description":"tech-stack-dependencies","prompt":"创建全面的内容重点介绍RCoder项目的技术栈与依赖。解释其核心选型、依赖管理策略和版本要求。详细说明Rust、Axum、Tokio、Pingora等关键技术的集成方式和使用场景。记录各依赖库的用途和配置方法。包括适合初学者的概念性概述和适合经验丰富的开发人员的技术细节。提供实际的代码示例演示依赖的使用模式。","order":1,"progress_status":"completed","dependent_files":"/Cargo.toml,/README.md","gmt_create":"2025-12-03T19:16:54.622324+08:00","gmt_modified":"2025-12-03T19:21:08.465661+08:00","raw_data":"WikiEncrypted:oBrvfSzFtfprSLUQmyvOPl+wcQqj7b7p5woshox8U3++wn1a+dlGTb0WAgzlUjp0Fqh6HHNBjYQcBCu60CLZvNh4bhZj7+kZoPhAG+EwLCpHYhgjxJJTmXVUPlcOUVPFK3xM2DXrPcBVQTmbvK5nJTFLSH7DjFCuj08PP228Epw3sbDcO6on8mKpFrbGJwf4v1h9KKWoOeEPswKBb5Cpqlguk7wTdGeyKF22lt+VSlboGi/HXbL5gZ6b387tq/MUglwBSxaxaehlvOF6SSCMF0EAO+Hn4jo7ET+Ax3mf3M66cCLuCwLW939srBfRDBp3Hhgp610C9/pKhmRGu1y7vniDk/V6UbimujR+YtQonDGhCBTYKvKihQ3KE37R0Kac/FVbLrqXummdtUbTb8JxzlLQW8d7NNMDBX88BUxeOok4/lVCvRwVuMZQ6uFg6tLSD/7L8aVqqhRauR3tKnAvcC2WYvxrK0UeybFTeK2Lm2S+sEPH7kr5/KVn47jC4riu6l3e9Z9lq+qimoUyolTKX+ioPib2XURzIlceq+2jqRcXMxF1eDzuqIm6zVIn8gPp/UbxVX7UCbu0mb3/hDyewrBjRk7C4PjXUH4efnqVRlOv4FF9acoqweDH6urAKFpgB0HJBUr7FG6kmUJ+cqQE23k2su18H3foanhzr6EEl7EQwAcx9u4XDWydNdXij2UjhyLPDzGGPgVqcs6UWqW5bkKo5lPw7Z4W0k6tXQecdtmjoKVgyJZ+V9ALBK18wRK/qNdBuenCGtU+L9oG/fSpI6gda55fz7G3wzzhe6vujkyo01K1w80X9mlNkD7QUBObW7zHb/9lT+tzbY3+S6MfNw=="},{"id":"6c0fcb35-0911-4997-9917-ba824bdc325b","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"请求处理与路由","description":"reverse-proxy-request-handling","prompt":"开发反向代理的请求处理与路由机制文档。深入解析基于Pingora的HTTP请求拦截、路径匹配和端口转发逻辑。说明`/proxy/{port}/{path}`路由规则的实现原理,包括动态端口映射、请求头传递、超时控制和负载均衡策略。结合`proxy_handler_api.rs`中的处理函数展示请求如何从Axum路由转发至Pingora服务。提供实际请求示例和调试技巧帮助开发者理解请求流转全过程。","parent_id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","order":1,"progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/service.rs,/crates/rcoder/src/handler/proxy_handler_api.rs","gmt_create":"2025-12-03T19:17:15.002727+08:00","gmt_modified":"2025-12-03T19:38:20.131088+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwpozuWcMkYZSaY1bAmZgzUFXK486zr851DX4eAxfcxie0fjMCJSPM1ThVRYA8K1TTcHy5GE2HFr/WFCMCcHwPtQpfeFIEDzmvYEOQZ4VKdSUfCi4A6RwMi4RhnAFjG7OCKQLpqaUfShgs9LKbPyoVPSrPhocPoCHXwqwMqRfk3MofS/BCMy0Juz5fdEbuhFPfOAimpSCUOQV82o6lDWhtO/PVZpwj2BUkx56rPhzHcDWmJD4f8uNsf21v1I3W/fyTamWx3VEkZslDIbJI+QKn/xM8DT4owF9KkbRKg6I8CJsiyn4dMzzXhn0W9cAgai48LzosKKWLKdrI5Dogri5cnZXOaupKvbDMNQzQgTXjggQr5KjnfQWBRahviXU6WtvHMkHEdresfn1IAzfP6tIb10Y6k5ca/e1aFUEPFvLIZ/tJ9S0ZtAc/KeggMKTzhgwMjO4UQv8eMQvEUw7pVrM6q4OQoQCAo6gGF51BhaZUTo4E3au90Ox5cCAUswnYBYes0QL+26aCVAcmXqrqoYk+WbOAg374eb6DCdALaYkxlIq5uCUVOA+/L3qI2a4tNKchZ4rKvTJwDP4yzykjQNY59uQs2hOVHRqH9MbWQvcczjMLZ69rtRRHJ5Qro1RCtc3Lk9QwvGPRXpv0soMRoz8r2wHkVXXG15cq7fDk8X5sD28XWx4v/gOhe2m3uk3yfhDXH0g+doMTUOiEcLO50Oz6Xyp407NYR0zrMMgSvCyNTRbThgjwFpCrl+CKHNwnfln3aqdRL09WO2ZJPjl2E75mHCQXx0Wff26V9MHsSQOyELnaZJdNwslclxIoOXjsgMB2C7rzUQX+Tnn2G3Oopn7m9qG65hhquP/zFk70XylR+RdnSajnq9UOLjqUIKrIdxIe9cHDd0wJL9Sb9hhzR8bl1q4gSEDqwglAXkBhHCnhHy1lAyDiGe/dqmMgrZ+f9r5Poc86K4zveA3Wglg9TYrqrBq9d878sNizC9cP/AYuSp8xbwN3RzV+7qjRF8K7bS/pJg==","layer_level":1},{"id":"84c19304-e09f-40d5-80be-e6e7e6a5371e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"生命周期管理","description":"agent-lifecycle-management","prompt":"开发代理生命周期管理的详细内容。全面解析代理的创建、启动、停止和清理流程。基于agent_service.rs中的服务管理逻辑说明如何通过channel_utils.rs实现异步任务通信。详细描述agent_stop_handle.rs中的优雅终止机制与超时处理策略以及cleanup_task.rs中资源回收的具体实现。结合实际调用链路展示从HTTP请求触发到代理进程结束的完整生命周期。提供异常场景如强制终止、资源泄漏的处理方案并给出监控指标建议。","parent_id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","order":1,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/agent_service.rs,/crates/agent_runner/src/proxy_agent/agent_stop_handle.rs,/crates/agent_runner/src/proxy_agent/cleanup_task.rs","gmt_create":"2025-12-03T19:17:20.401623+08:00","gmt_modified":"2025-12-03T19:39:03.670075+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuWmE97P50bGN2mYfUz+6oEv8+1mBQifAfy/hoS83mSl659QWB762XGN4ZPZBMWa5I5/3H7cco+jLLlNBmd539QeHZtsZ+UOTQ1L95afl+VRle5M1q4YZfsLG8HkDdsQ7lmRdJiG6YYauPPnoLQh9gpxuQtlGEW9JiBNtyDfZErI+z5Hxo/jNeKBi2F21xxSvecRHCy1aj6R8JGXdtVwMfgh/N88PGuwx51n0bMg+98HbVA8fvMS/djh3pDoShgUawzBVWGG7Ts/jReNGBdiZKP7QvjSF0IurxAszXqUuc1DhRdHPMjVT436G/3vjHtetDZN1UF2DHFAg3eMeG6+v7IOmelkalEwfqokYvBoDmENugXkp7ol2qTE8hAGX4j4qFjAkAiEB9AH2igJBc5BjpmW+aeHcFd9APjkJ1+y3X+872dEz1wX0i9dZf2KkJoTLwj8iz4nQU0dWGyhBC3J+PwZUfiv/V8OrqDQQ0KU9VJPr8IXk3tfgSZLe2EbSMYw5xWThVky4SIkqqBQDBacRgcmddYLWU1K5qQMz8T1O+i6s9598ykwoWGFYGGSsA10TeQOItSxFjKHBm4eSf+0lqT/M2j+8AxD9ivOKB9GYx7l3zHhBZIi5tm9pJFF7ho5nROOCksfXzBozlQsLo3yKJ7eeS4XcrdwuU3LhDir2aB9dF/fptpoxu15hAnBBpMZJWpVnBSQT/pGE2ZUuIm/crUDqO20AIEV37ksd9G713aK5dwxmVy1j8vO22vCwvXU6xW7ciV7CQjjjpMg6pRccu9hgLmVgtwI8u/9K2WKFCcd9X9eQ/rRkViGp28bhWx0Yf2nJ8GUz6bz3u2uHyt/ajhDqNrBvhkHsliUxGG+ZKEpxN0EeWe65uXW4n7EYgkJJ40jpTR5f4h6SyqbLsAbBXwFqrR3vUlJwBnHsZzlDGwlhDPHIhffQQiohYE3LfEAf8XbbVY5p7Lm8rg1PZCdvk4kER5QS7wHKxkpoNbvp3K48NwX3m0JIZfZFbhhWPVDIJaLXsaIMwwXOk///SoH5yP2ArJNVFUxwcmSSF4ydB7NxiBZZN4R9q6bJgvUgq+tTrRIWQlFd4/cB06l6O7Fr5tkW88cpEp2LOasqmG8BNoYnIGg/29HhrzH/7QyHYYb0swIpJGei77A/7BesXJKidrJLc9wK1tNE+2CJ/AY5yNwNLgeBTvwPKqXfwuNZLYdkmmax0TB1hi605ZJHzNi+kd24Jhz0TMXLV2h71JD0aGehBZbCa/t3XNqNA7xEi4Eh/GeLcfIA0vwrG++FlxfRKjw0RVd2DvtyIKi+CYmtrvm9M9AtCF70+zCfyaTabfxgiA==","layer_level":1},{"id":"592c06af-500b-4fb7-bc99-7f83ece01ba8","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"聊天接口","description":"chat-api","prompt":"为RCoder项目的聊天API创建全面文档。详细记录POST /chat端点的HTTP方法、请求头、请求体结构和响应格式。说明ChatPrompt数据模型中的project_id、messages、model等字段的用途和约束条件。解释系统如何处理异步AI代理执行并返回包含success、session_id和result的ChatResponse。包括请求验证错误400、服务器内部错误500等HTTP状态码的处理策略。提供完整的curl示例和错误码参考如VALIDATION001参数无效和LOCAL001本地执行失败。说明与SSE进度流的关联机制。","parent_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","order":1,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/chat_handler.rs,/crates/shared_types/src/model/chat_prompt.rs,/crates/shared_types/src/model/chat_response.rs","gmt_create":"2025-12-03T19:17:21.858536+08:00","gmt_modified":"2025-12-03T19:40:15.883728+08:00","raw_data":"WikiEncrypted:VT9JPFygZpJgbCFxtJOiSY8sqSYN4YpnlzP13AWUdxCY/IBisLhH9NsXlHLAIYG4jtNsKryrqAPOIfdveoTYUyRDbtRad9H9tprQU/3f59056KV7wyyKIbwq9fZ1WsQrURd2T8Ifhk/pApjXTnTo+WoibFveuyzXfq6AsyUV5KkTXHiTpm/kDG1GgNjHDPcZ+jjjxXSzyMV8tvXk9WGCxIXuCK54Kwq2rOmTapvhjo7cdytXl54O73m72aPBuKyCyXHtxbPP6JCPe4VRjqiIdCWLpemtTbaIfGUSNGHrV4glA3iDcuekyRK3/Sp1i8Ga3SL8j0HWUNu9TMxxWI26E/3PNCXcBxljvY+xlCWS2IowRGAiN2PHCWkAK2YIh3djmlxnJVRI93z8UkcQTfc/A4sOZyQVeD8lD8UQMy1eIuOI1cItkJfcGF7z+pysxA3JeqsjJZ+L6YbSevgi8oTDeCU9UIiFmvxvh+9xuBTkx6d+40ttYgEM/rrFgXnoAhaO7s8V0AF5Vau4BfywzDl5ks/ku6C57X43thJZdkC2ev9E019Ca3FBs5VSo3/OXvNx7EfYKghcEbs7vL9ZI6Ova1JSxC2bFq1T6BcPHcBnNYKsrjbpExTJUwCHKbJ73tOHWQn5ZeE3qDFqvk51IGWV1kXjQnVrZGxaSmaF0pKHvsTO3YjCUoZxjvlLt0YL7eRSqyEsDJojpgKgb9dfjwdoNCVs0ysRzH2Rq675DxuggnOG4DwqUXWUtavNMz9bhO00XVSvML7ie/fLK5d+/ZTQFvRfiJp9izVe8MnNKnVtgtJ90BFqH4O3WuqHySVXJqwRNV5O12zikPF+i+5JTGv9btYQ2wC616ru4xVOlY9sM2E57zP6IBY5M1RQXd7pyw2zFA6+R05Yv2DFImckt+7ohaV1noyOOHalOcFsGHUXt0ujv3+iEgl/RvqXy7JjsVVjYaqRJC90FFw2RbVPC9A83WJDawSP2lsVk+U2aHAeD33NVHXP+eCPDoIGpJr7CC4RnNrNt22YI/YmXj2l57MoxajMzH0oNnl7PjlS4rFeVN9gjNgJ8HtZFoVAvSWUDm0GnthknQTyg8VF0C4VKjNmbVAmC4M/ZBrAyPPQByP4vrqBZ+a/dFhIW9Wh3WqX7vAHq0P9W94BK/zBF/aPYh1VrLGBn3+VG3rPbhx3aApGE7iDNAFXP2rrMiwpczDPQ9DsfEkjDfBTmNregQUKO4NOpJgFaS8LjZ7STSByg5LXnJxbLu4Nq1QrtKALFh+ECntOWdKmb9toW0sp4jhp5F1g9jrWzVTWtMofXkzPlnu4uhEGFAVu/L+3X+BAtMUCijJwThHnmwsRXu4CuPccoA1wmMo5CWOZWX+TT4pMVMt6uqI=","layer_level":1},{"id":"9be5f632-96f0-436e-813c-8fd6f970b81e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"容器生命周期管理","description":"container-lifecycle","prompt":"深入阐述容器的完整生命周期管理包括创建、启动、运行时监控、优雅停止和清理。基于manager.rs中的create_container和start_container方法详细说明容器配置参数如资源限制、挂载卷、环境变量的设置逻辑。分析container_stop.rs中实现的终止策略包括信号发送、超时处理和强制杀灭机制。利用container_self_inspector.rs解释容器内状态探测和自检流程。提供从API请求到容器终止的完整调用链路示例说明会话ID与容器的映射关系。讨论异常终止场景的恢复策略和资源泄漏防范措施。","parent_id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","order":1,"progress_status":"completed","dependent_files":"/crates/docker_manager/src/manager.rs,/crates/docker_manager/src/container_stop.rs,/crates/docker_manager/src/container_self_inspector.rs","gmt_create":"2025-12-03T19:17:35.711974+08:00","gmt_modified":"2025-12-03T19:40:56.870901+08:00","raw_data":"WikiEncrypted:OYVOcFWO8QG2KTNzD99v48CdvKd0GeohoLXgtB+GVKw9wf0cK+19Y1pOKZeMpCR9BM/4jtlt89ZGPzZZubX0xxC7eX5GhxfARIEOJ3QxxZqSutLx4i6xddij8URu5eZrZPj4fzVdes8xl8RAOl3jIX/6/gfEalwpHirbYlZJYs0sSuI4x3u+EmJxoCST1Pa52BeqKl+B55tnTGiqsEGzw+KnfoHjr+J4J61lDfLKlWE0CXzj0RKPvj9kvkScCJY4XCbttTW2Qdvwit1ZSU19E5Z0c7ZpoXlSjKiL3+18ViamVFnpqJ6Ut+zgy10b/WhUrort1mebl5CLgr2o/JkbM7/wIesIww3Uoyh1fJv26KT4dFqw6jcEhrAl/BqJbgju/iLo0n3HjbIcRhV6N82crD5vNNbqimSOMZy9smesx0rlDzwy1uUWHfS+Jy8lvPl/kXggPJIvCv9NXZnzc2lbs3nMyQi8DIEzMR/qkvPdG315RcvSdg2tW38n4qCGi8Jp879ut3OiPb0i/+PskIQwhNYW0a+Eeba3xJ8pWfeMVujAWX1Yyki9Ap8+9vEWCQ+T79RwjCmuiazLRANOe7vpGwNnwlY3Qg9IzYoTj8LVKvawOH5EEaRIKoVJn5OWUd9/VCxpidUL/86hAx6fXXjLVVsM0WyJcCHhxC7XAfcHMPwD9mRJu2uOrqEo/jwusDrpATF52bYM0CRjnb2hV77IiZLX3lp/6PFQMTpY/WF4VjXLGnmhthF3GymGXFitRz7aj2y4pSPgsmxEDSkoiqXFw+xB4eg/tIFWUv99KgemCGf2vk0N4xQkDdAdhPn7/nO2Qhq5dsEEE6w6xdWOyxOjjPDTYtfZIIHVRC75ZftrwxPbIiqD/dH7nWrY9DvkGDjAjzqeFxaGRKYw+iOjRkH5gAXUQpiDVBMr4VG8fUrhepSHJP1uvIK6oiTEe60US1EIg8mHR2++reCyJsfNZut7wKWA+E4fGuhj+7IAa4REyncoqs8K0kWQQTSecmjRBEN+/oTY/NTYzCODBYSGgOuFMvBLcs4It2P8IoaSdU3jeU8EYn0hpsRNPkHT6MlJGDCKX/8penzCuSigF0V28i9t7/34YbJp0N24bI1KJ1MFZXn5eM/E3tMck0jszxTFqhVp3vv0bpKH8YT/gxGBuZ5gxuAwfbWT/ENm0CCx1w/EYJy+zoOy17KKjPJryHmk/ngYJt0Lbj9xsYitM8AII+M00pXqc0vUTiIFxtHIDLEEAtwic98dQSlC6YSSAsCNSYs99DweuUeZnzmzP3oMk+h7E5P2c8DSRTEiGZMzJobZw8T5fw2s5nWeQ07Ts+agb9Qa2fr+TAdKlkZLOB4VrxU41ghvC4exIlJOdJ8tyUtzbeMtNJecjm7nSy/5ZsrY1Eeb","layer_level":1},{"id":"7cc3e94c-276a-4434-bec0-cc177b4217d5","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"项目状态模型","description":"project-state-model","prompt":"开发详细的项目状态模型文档深入解析ProjectCoreState等核心状态结构。阐明状态字段的语义、变更触发条件及同步机制。结合agent_runner和rcoder模块的实际用例说明状态如何在AI代理生命周期中流转。提供状态图示例和典型场景下的数据快照。解释线程安全处理方式如Arc\u003cRwLock\u003c\u003e\u003e的使用、并发访问模式和一致性保障措施。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":1,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/agent_project_runner_model.rs","gmt_create":"2025-12-03T19:17:44.799704+08:00","gmt_modified":"2025-12-03T19:40:29.588646+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn0hQw5WE868ETZ+uXxqyfDVgU0dFo2og3fgBOeYoBHHyh8hwTK1Ys8XA9OiG18VoRpitlFxvO1qZdOZAjSuvLa8k1WPQA6CFJZ20ttFRiwWy67R/zub2AO7ms/L0mak1/vCYLLvhGqf49/LJ+dOHi/i1Z2kuCoDpQItzAU8v+RjNQDHO4qwbkJaY4iL89hKL2/8X82hhu9mD4rDG9QPTwZdLGnLrJl5wMrZvSH10OOTIRP1TafgGfM2GTsTuMXs3uoRpAYL34zyBnLaA9M2waprtP6sZvKRHFcdzlKuS7ubKEvgZ1bIWOxJYgyY3owdZoFuTLZLuqZWlmhL7+H/29EZnhBKMFo+r4cfr1aQOG86md2o9Ds9e0CLtHW6l3TKKtE3VaB3cJhKztPNmJdvJ0RYNZ8QCVnDxzxirA+PWLYCHAxatHuavb0IKmdBJmEur5UPMJ4hGt3BpQXRCUh1R2luAcXK/pQ8LSFlquIuaNQHX3IbqrdcrjXkfpQ/bdvX0TsSsvUb6hscKVOdCJSXYL+6ehp2W/s8ChqCcwvDmXc6Qb30HUtTEJCufWPD17EpW4K+BhH7sZc8Do3q/sjYszJ1S4PpqO1cZEf0nacSVBoyPM2tXJQvIZ0eFLhWKY/b8RIbF+0vegn8tGp3AXPHYUMhaWmhEPEzFTgbhcvnwSZD83pbAvRN5FhU1JpeWjQz0se5Y8hSZAFPGpqGBxIBdSpNUzoPwimVHYr6ikIiQzRT/lSS5FGg7Vo+lwPDfQ2cfqMmuZvkDZ1rZxTMDs+ZHSJNGsZhAeXpdGm0GMOmqIsPN05CzLLYJgy7JZaS28n2/hdb01pmIGfS4ZgxJdGmfWkGLduq2vovtVBqZrvGshkGyjfzYbbK/rQ7wrjqRHJ6/+tI9lYvF4Dzr9PxbJ/G0d3B09ksWT4eFt27U3k2+Q8xlRXbDT12zcu13G7ZXmyxNzA==","layer_level":1},{"id":"0d2ead5d-8f1e-4ab6-8ac4-253677fc01b4","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"反向代理架构","description":"reverse-proxy-architecture","prompt":"创建反向代理架构的架构文档。描述基于Pingora的高性能反向代理设计。记录端口路由机制、请求转发流程、状态监控和与主应用的集成模式。解释技术决策如选择Pingora而非Nginx的原因、性能优化策略和资源隔离方案。包括部署拓扑、可扩展性考虑和故障恢复机制。提供数据流图展示客户端请求如何通过反向代理到达后端服务。重点说明动态端口分配、连接池管理和健康检查机制。","parent_id":"04feb733-c3c4-4520-81b6-fc5e1504055a","order":1,"progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/server.rs,/crates/pingora-proxy/src/service.rs,/crates/rcoder/src/handler/proxy_handler_api.rs","gmt_create":"2025-12-03T19:17:47.619546+08:00","gmt_modified":"2025-12-03T19:42:01.414265+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwprE1ONU2wptQSMMNYZLoLBEGHeK8mk4IP9v6CT0qDpWBNh+Eqstaull5V/GPCXaGmihmMoieoCPoksfu8RaQDvJMSHyPnFiiGSbx4P6BdnwENcIVzQHyK7gNyDu6F+FpEuZcNQecIcgNK0mNseCjPehdPC3PHH8UfvrhoW4lPUKAnN6lHRn1akAaYaq11HyhyIrddS7PxIiLP2TkZZGveNTplc5H9B85CmuQK6xgZisDRa85NvqBj08C5OmcRrFrRq182n1b/G1o2QaJc9joaXRV3PnvZMf5K7YRD8nJZnHOjCbK+Y4vYZkn79E+vDpgDxSNMlEFLpohulwFu+8BWhtgktDMnEWqOHGjw8iaVMlGJeR3MVnWqpUwQPUpAMA25++5soVFYKUE/7TPR+OBQ4+YB1xnej403aX3KniGZvl2sahzsmahm2jVB/E4rJKFrjuMdV/fIyNqSKutHlnEuSHaYKLdKdDH/rBWI9cQOAVpUZavJ5XwF5Ru7VCVmt8KCFLYco1Y2a5ss6vp/L5cmxszgpbCGPCJj4TfCzN5f7fi0X+K/ErG51AqNpfiuOQZUsa5kG2A5HDyHl1fvTvFEhdLQF1C64n9j9PD8m/8Z2V0u3tmep+qrcN437W2RJcsh3/ZGLB9q+4OMWhJwwIXJgGh9ixMeH09+D+j60UFpWz/TeEm8ArCl7JYA98bLlNJk5SUnod/oLD0HnrH486FQXhuuvx90kgmQYLzKWfihYtXfGlfv4nlJxB5KcwIM+NKaPFMVwX0+eErzjJ0mI5QqJGyiJ3NBFrR6PD8qsYXp2oPWB5HHgELQf2GmCJ4LJI3v5wsvkHzqNPZflL59z0WlVgpMhDzaw43GT0wUggsGJOICqS51A6qLjtD7qbbXnUUYmFVA/kExCOxNSiGEsSOX822H0f1lABbddbhGxCk+Ri+dRV0q+WHWRl1TcXZuRpy0wU6g9XTFJ7P1Nte/ui//1lAQqnkFQG3YRTxTLrDWPu4M5WwybyJMNozCeuhzfHwrG3V1TK2ZxrWFTcneE0VyH7t8dTq8uWyTZfu3K65yAbHU/8BZ9kpXlQ+feRWu67lG5ayuDlXD2gAO4fb5xxXN34xSuy0Lw2RHnrO5x3Qroi+Kgn1Sz0aIxqD48hH0xqPPA==","layer_level":1},{"id":"f864ef38-3818-4ed4-8b51-dbd294fc7fa3","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"链路追踪","description":"tracing_system","prompt":"开发链路追踪的详细内容。深入解释基于OpenTelemetry的分布式追踪实现包括trace_id的生成策略UUID v4、从请求头x-trace-id、traceparent等提取trace_id的逻辑以及在tracing_middleware_handler中创建span的完整流程。包括来自实际代码库的具体示例如info_span!宏的使用和.instrument(span)的调用。记录trace_id的传播机制、上下文注入到OpenTelemetry的配置以及与Jaeger等后端的集成方式通过Cargo.toml依赖。解释链路追踪与日志系统的协同工作模式确保trace_id在所有日志条目中一致。解决trace_id丢失、跨服务传播失败等常见问题及其解决方案。为初学者提供trace_id生命周期的清晰说明为专家提供性能优化建议如采样策略和span开销控制。","parent_id":"83f27c12-c663-4758-914a-e39985bfed0e","order":1,"progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/Cargo.toml","gmt_create":"2025-12-03T19:17:58.27608+08:00","gmt_modified":"2025-12-03T19:42:17.199369+08:00","raw_data":"WikiEncrypted:fjqBNimCYe1mlcrluzhLp5m2qyy9yStYguozgXakbZvCEPeWznRSUOBJS/2NbiSkd+4ngemwwSBiTihBT/jo0WiSJVFXaYRL+wJxL4hUzl38DnFan7LVKPVl1HiWhjlru4jx8WZwE+1RQkFn1NmiR7irQLoHx4QNg9usy7OvPpYnIkRrNVT/PPG8Iu0QOs7j0At2A7Qx1RlmPlWW4H0xR3v9QEsDZbmQy+rFqlisAGTO53fmM7iyz1MbG/gEyT55nZM+pSqIdP+76X0eA2aBCnMfWyfr/Vidz04S3VkAlmwS1kHv1H8mQ8nNSZ6+hCTK8Z1JNczJ+Pt9UF1quUAV/dPhJUbzlN8Lmo5gkqUzLAq1wF6GixwVJoMw+tFF1u/MuHIsgP7nP+3o+g0vRE/JLe0oSA0DlDjNc6/zBGUG2W5JR0+H2k18JuR20nSb1wYbZqzwETWt35/hPYBwL5X/xN/+TGdZJgwHjFzNHUTwF3YrnYeiCZIl/WVRiUplpLwA5Vwb+MZhgC70oW9jLZZ6WCmJuKmUqTJgzocuVhrYgtn4qFxON4udzfw+d2n0rKCkLoE4zgtHpzuzVXXWO3UUw4jOzf1+b0MCAWwPWshND2aimC/p+KrmbRvt2zf7A2LKyAZSBT5/sHsPthVP9sZYB5Rn5+Ff9AMNw4yEXSPAEqN7Q8o2BVuIP0/0a0dryb6GwDuyViIZb6ddt+x+v03QpV1jFgUfN3fSzCeh0eU8neeg+64+jkVcEPyio/wZY140le5d59in3U43LZnUS+CaTVBoWamirZSjn+ZK4qZicKAjX+SDklFC8XAv1uugzfvjnyyK5pu42iPlVFVjg59jje+tPnyIJvWMbOePO8nxOJtiPQtBWbn+xy/9geZyl8nUofRNU4ShBdGjlvm/jKWiiGqRfVxmgAQR5rXlxixgqQTyfJm03Vw6sB+nQvdx+UQ/6h7NejOEVXSmowRWPaZto59ralSAfSgGQhP4tujx0S+lHb2jEJBJeioufp2xtR5jzNJMkGibPdag2gD5ex9DWeYWXHlcouULn/StaggFJux724Y8yHytxcA3lAEvptMTwcYkp4e4A1yKfV/KjG6U1KeW1qhvK/ztx7Lqxl9YQYEldyGrg0SkzTD2EaLMabY+diSFWXASIlp69w5YHRULU+dMSlKblPeP47FxmspFfw4ow3kFfSFOjsxgFbI/EwFI9cDrMX6doAtFarT5euu6Eq/r29sojiUJITTGIC44u1K2yB4C7I8cTyRMpPursbM4VPPo2OxkboFF7UHVsVeqozZVOGg1BkfWqdzocwLworplD8D6vGhVv778xnLVtyHKqQouTh3RBQEwkXmbJ+csAO4eKCocLEW9j3yG2tBaFg2lBiUQwEzrYMrIEiJmgk81Fv6R2A/hGI+hGpIKRWVwn/MGj2469XGVd9pwXJO1mzwVyIJ8wu+Qu5kWUasC5KYzs0sLCsWvUzVF0ZnZMpDFKg==","layer_level":1},{"id":"6a968653-9ef9-480c-ac5e-3d9ea9564759","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"gRPC迁移设计","description":"grpc-migration-design","prompt":"创建gRPC迁移设计的详细文档。全面阐述从现有HTTP/SSE接口向gRPC协议迁移的架构演进路径。基于shared_types/proto/agent.proto定义解析gRPC服务契约、消息结构和流式调用模式。说明迁移如何提升系统性能、降低延迟并增强类型安全性。对比Axum REST API与Pingora gRPC代理的性能差异提供基准测试数据参考。描述双协议共存期间的兼容性策略包括请求转换中间件和版本路由机制。结合Tracing中间件展示跨协议链路追踪的实现方式。解释proto定义与Rust模型如AgentStatusResponse、ChatPrompt的映射关系及序列化优化技巧。为开发者提供从REST到gRPC客户端的迁移指南包含错误码映射、超时控制和流控策略调整等实践建议。","parent_id":"8060eaaa-4518-4fa1-9d42-f1385556bfd4","order":1,"progress_status":"completed","dependent_files":"/specs/grpc-migration-design.md","gmt_create":"2025-12-03T19:18:05.737097+08:00","gmt_modified":"2025-12-03T19:42:11.112166+08:00","raw_data":"WikiEncrypted:a5lTO3JIDU+jKhb5aCEk1nkK7ZSSj30cNy2pVP5jfjjLxP67Bf2FO2gpusw1p8+pvuCtn3dV0Q9yTEaKmlqGRkPYASfP7ntbE9/CuNyce1oCp0G2ELQvVxlUYpWs0WoX5y7Gr+9hsAhnxnEK7fE9zOdCu0uSrNO05OZedbbgetHjWFy+HzkzxCUMyJFjHq9y5A+BqZlf2DYYwmPjFSKBXM4xnRnefDsVbTKLp89U64uWAHyvtK6tA5QP+YskIRp68lB6T8IUIeQu9nz3UeXzyzCclYiPMdTZHUUmfg1yEhhGbxZ6iqrNuD3UjFhn9TqfXw4STU2fOzOrVersf78JcY9clv0zyIl8ClpU8FiPHp+TtNfHLcHwRTd8n7afVlVJWOUisKHEmg4Rx5O6bH/Hstv1vL0Rv2fAkeczzC2XBb4DjSCAMLjnTN4aj0IcBwmSSuBxwWT39OGhvGAql9eudSvbLCRwmOOIvG///zM57DrdzjpzG2v3BWGOOCi3+7M7Kx/YVCXL6IOWqOeJfbv4YqkE3Q/5JNlS/AeHCwIMzE7yl86NzSRXu7eVS+dok6Z07Y0TYgv5FWMX0msuaVt147FGDO+OEYS85V43Iilll88gnDUGSaSlCXylIPKyQ+FPUaq2d0xyzAkHKVT5rVL2iaOAmil3sc46mNv+0cvu5LYMmTXeAxQDSZdTZDbmBjlAP3oHgrlMbcRlRNMZII04rew8fqReQ+MUgQ+KivCjB6y196M2tPEN3z90vDj5Bcq5t6IX38PmMN2DGjV9kVujBODQV4B8GUx57EfVyXjmBTzE+TxXJKZrc2CTGqwrLsbWcgRuDxDP8h70farMmnia9IvBBcpufy5je/sXmZmOp//ygs/Eqa9JVUCkClyUR97BBrK/oI4strlInOrL2My+WigVNvd+1W6O+S6bo1+gTAS7Y+iCDSPWyXxhuAnbM4r3uTzOincSZTIxU6W2aMwWBSbzaXgoW7D6GfKYZRZJvY7dZGdlHf9LKRuRquA/ca98bOvbAG3V7NEHqPpMPY1/JZwYwmRpvTms+ZR+crZ6wDne2mdeu3j0rNLUtEiH6nfg5eJ0MQJU1ivMt8Ux8Zlt/X0xdZzo0UWMbFIwwyOb+XLkM+smndee+ItNwd7unOPPV3RkwAnWX95r1zA+8DcVfogrPY9gxlNACDc7Ifcw4wIkA7H3N6Xp93E1MPVUlmsXIHkmqtS8l8Th4/KZ995siWlz+4Q1vAgxm2mbGWOg8vqPxhhc3eSttCgLSVt8CsyAc+PBP4cgLv+IupW9hfldWJ8zqoqB8hnwexWZd97a2Pe+iS5cPxGQ5Cbxmja1TbNRuto9LpfS7kO7Qbk6ChUpvuKqHudQE8xhspMjevHmPAFfu+oT/0hIJSd/kdLwbefu","layer_level":1},{"id":"76565b96-19b9-4dc2-ab87-412cc853b776","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"Docker Compose部署","description":"docker-compose-deployment","prompt":"开发Docker Compose部署的详细内容。全面阐述docker-compose.yml文件中的服务编排配置包括rcoder主服务、依赖服务和网络设置。结合实际代码库中的build.sh和deploy.sh脚本说明一键部署流程和环境初始化步骤。记录服务间依赖关系、端口映射、卷挂载和环境变量注入的具体配置。提供多环境开发、测试、生产配置的差异化示例。解释Docker Compose部署与独立Docker部署的优劣对比。解决常见服务启动失败、网络连接超时和配置加载异常等问题的排查方法。确保内容对新手友好同时为经验丰富的运维人员提供自动化部署和监控集成的高级技巧。","parent_id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","order":1,"progress_status":"completed","dependent_files":"/docker/docker-compose.yml,/docker/scripts/build.sh,/docker/scripts/deploy.sh","gmt_create":"2025-12-03T19:18:06.053496+08:00","gmt_modified":"2025-12-03T19:43:54.448704+08:00","raw_data":"WikiEncrypted:h7ADvj4WLJHyulzCl+z7kLqa8j2Vv2XLgyupfYtBiaAXf85YeSDqXjeKeQZwRW+8TpLexklAywQKvmdA0mnK/HLiEj2+0CoO8O5k6fT16Cw+Tkq5GgrhEuaK0q9bnXfW76YKrakyl6t/Hv1u2xNE8UM2rctiTnOjS4dHCPKOrN014Zovplj7Sl1tofxN5LYDqR5amvFTFt4Cv5XRtak2BOl/17wR8bUA65AbNNgBVh1bUKPdrA9mVDAyqpALYRHztdOLvQZTlfpbQM6N2/ADSStnenSzYFanQ8iynIvAQw6mtUSl6vdBL88xInZELu15wKQiPpe6TXreBgrDVtPs329/21LuETYV4hh+/1Hpkpp+mCdeB1aErWewsubuNBXg+ZMN1SomnDQjQCKs/03NpcFk9HyoXNXxTl/B437KKQv++F4B7WpGqHDwBknPnEZRYYMBjAKtx0PGiAnGJGy3+zeQqVI0i6h8urY3jqh0RrODljTIUbVEEjecT4IXRu+aF53hBC/yUidA/jfZstCpUPMBPyBWDQ2hUOha6+0TVzmMYaS0G8x1TOWT/qmMiqZ7xUgOC+gI+scpYSmZHdkLYUT4xwQMWaXC+9yLR5E/LgpZIoOelMLURq4nqEIBhLNDh5a+tB4OtfxAuXoFrbDqc/U95BO4uxd5XETUMsft/DmJ2tlIkYVYGpXHYybs23VtLT8raGvXI4Appk5N+BXG4EbEa/kVZxIaBO23FmChWRmUscYdqNanE86fBIrmJYvSyXoyxm09gKcfdfVM5MO9NurMfSVY08O2TECub9MmHn9iJpQ4IaXKLSne8GOPbJ3Rey5aJ3UjhXqgmOYLr7zE0ywrS1H9uFaxgcaapPRwj5nYCg/Dio+tIFfoLpGBjxa/ZhOgtvSTBNi7xBlbU85QVLc+HHVyTrjaKpXtuHkRSc9PJLFP58mwzsO/fIDEFfqraKIG/svrmQGDf/ObLnDNWWo1a6pwWi0U0ervyTSSrjNv6C2uf9OqUYQ77WsNeuf8zk2R/sOeYiXfeebecF7d4fZ4ctxYsAXQ9FxIWsuhdlX1c08H6zJfXopD7xyCFBJGAP1tg/C9h/EZTEN7Da2ENSWb4gqYS9CXgo81XJmKJ4ICLxrKkWvt425LecKgl2NcjrDPH3V5GE48oJQHxRpiJpSfOES/9U6OadlXk2hN6mgJ3kdRSU/nXFv0T7aRGzEgUw43hdCrbhpGHMH7i8BHgvDhT28xx1YvoIylgCQFqeFhLObj0/Jmjs4OkeoNrEfw2Xs1hKacDMx+uPB21DrB6e4dy8OQi8WxP99GHCTRwu25Dj9YBjX/zyft/ivpbk9p7pRjO+Fp4HQqOZxAn5jblEizocjw+PBlQRzNywiJ5oZoiBuEwEDxbQCqpHG0zraK","layer_level":1},{"id":"ff351485-0a92-47eb-b29e-f19c079d7230","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"日志分析","description":"log_analysis","prompt":"开发日志分析的详细内容聚焦于RCoder系统的日志结构、关键日志点和调试策略。解释如何利用Tracing和OpenTelemetry生成的结构化日志来追踪请求生命周期从HTTP入口到代理执行和容器管理。提供具体代码示例展示在chat_handler.rs和agent_service.rs中关键操作的日志记录模式。指导用户如何通过日志识别性能瓶颈、错误堆栈和状态转换异常。包括日志级别配置、过滤技巧和与外部监控系统集成的方法。说明如何结合Docker容器日志进行端到端问题定位。","parent_id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","order":1,"progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/crates/agent_runner/src/proxy_agent/agent_service.rs,/crates/docker_manager/src/manager.rs","gmt_create":"2025-12-03T19:18:17.642309+08:00","gmt_modified":"2025-12-03T19:43:37.823253+08:00","raw_data":"WikiEncrypted:8Xz2rsH0i7xUum7PhBaF2HLEfrUCFdgDPQVPkAjupo6cZD63jPOMwxft6xm0RVUDdBsNhI5GmTuFRkqrzmp41pafWgAymraSP6cDNNKuQFw4hoWeHdhUs4XSEVq/pq5phqMaT8KjxDdb296jOmVEGR2bhZ/oeHeatQsDG+SFoAsR02E6pz/UoW796gFQL2sQc9oIvOxKGSVsFOAlEXvJE32oOnQZnEjpDte5caCrrhT3j/BOnVSMqn+kTAnZZ/wZEftCpZdpAJE9Ue4tGjxg+ZNX3DT0T37S0QRHAcTsj01335WO/uucJS0oQaqRCAUS6OYIm7254ZdZvB8USkj5LaQ/NJZ+6KxwsJtUe2ogKfCxOc5ei/Q4gcPNLaSl/UdchVWYu9uWCB74noiNNTtH3b9LAepq2IIB4f/pPQisbVbXmAZ3x1JpYMgq4tlXKZp9UU1IPmoHmwXMFi3A/OwyzsGdzjYUdFyAaFx3MtY0N/geN+bLm8XLd4EFJRIEfwg2/mx1iRFiGuiYed4PxL17hVpYeGND9OXoN3ysQWq7Yqfm5CKb04kTA26HUZrbrk4loQ9+P46Gk5ToNXGHhfutXRBImQe6bFF1kFp8igt6dpY6y2rCB3RuFfA/A5z++h2obHyzv/Zt+gBiLYt3sYiKWvSjg/fa6Y8ES4ZDNT7gkP4hZWky7kO3PhB+R4o0it7UvxPXGFycYIqfljSGRT2zA1w39CBqeHYvxA6D95RwMOfcgKu20TzJx531ajyh4l8Wf+QvJZOqtJcS0bfZOy22cyLN5dVZbLmUYw8V7IdQA762xQSViRNLDNrhtCAsK9BaAjjvZt0/8B4mAm9kptDXR5zMByA7guxHnx4wkSsB2fr9LQ0G55iEIy2Ea+a7oihglCgA5OS4ks9Clbngs3VYZar52cvRXSgtoOi60Q8Trq5h7L+P29xXH+TT6PF5V+nwcyA3V75o8xQxefOsdyFbD3qeIR9DdGlrZ2wE1Gnb72cAtqmEE/ShWxVliR8DlE8pdW7nE5uLI+BDyyYL5lo1nBqnV7G5p8swu+dn3xaA5EPTrTl8zREncwkxMyVDJj0YRsWlfnFz2gmWC7hynLri4DBrtXLgUz4RdRvCy26jMdKtvh5cWsRYkz0SH6Pq43vI+tfoqALPDp/b6YmBFab67OTAFTZ1GeVl5ndrGcihosluvp4wEkeLk94dIerPEtEHyQBpPGNCFqJwYxfuZfgnzF8oE3dXcdr9JD1bdJjjQTWQLV6z/JeZIyAZZptxPstnOkkOmIcGG8Nx65mapPfT0Q==","layer_level":1},{"id":"1dbe2ebc-ca54-4807-96bc-b679a9ff6368","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"请求处理流程","description":"http-api-request-handling","prompt":"深入解析HTTP API的请求处理流程。详细描述从请求进入路由到最终响应返回的完整生命周期涵盖chat_handler、agent_status_handler等核心处理器的实现逻辑。说明各handler如何解析请求体、调用底层服务如container_manager或agent_runner并构造响应。解释SSE流式响应在进度通知中的应用机制。提供典型请求处理链路的时序图示例展示数据在handler、service与proxy_agent之间的流转过程。包含错误处理模式和状态码映射策略。","parent_id":"3965055f-d9a0-4444-bcd1-b0a107e4d1c6","order":1,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/chat_handler.rs,/crates/rcoder/src/handler/agent_status_handler.rs,/crodes/rcoder/src/handler/health_handler.rs","gmt_create":"2025-12-03T19:18:20.92764+08:00","gmt_modified":"2025-12-03T20:00:49.747832+08:00","raw_data":"WikiEncrypted:VsNEQjl9yOd/19lPlWXnGkPuerJA9+kAQIM7GP6NiLtcOkqrLxR7ePtzXy4hKL8zZEScOu/Me4/b+jE0jb17KNTR19cwNYs5MdGMj0vqC0U4B1F7tV3gzBcFQN0joxFquo8p5MLJJ37EoxDeGKiEfc0G1i4nzZSU00C7ofa/gTcCSkFeAuQ67sZRfL+LzUPvNDJrloOsj0VBZw8kNHx+9gmv5to3sdUysiuYuIUIqo6atHkeqryBPN4WswJyspiymnDsZlS/M8arRwdzjCu8mw+bWj8q0Sy770CGX8kSYxAq3Y/nklVc1+o2TXgkS/+8+M+R2phx7AjDV5MswO6Umw5fEFM7MuuHXUnX8cAZ2lV/XS1TLotYIBoOYoT2ItNBfsAVGlwGXgidk4WnMXrl76H5/J9IyKg65T8/5AklBs/TL4AkCmft0wgDIyBEvo7sp+WhleObwhfAJG2lahOe5GJ8fLFrT4BbFZGK34IwAjBFLU8Yc+14MBPzov8a8AHn/XMGGaca9iGtyClGLE0ELQLkSPph7eT9S1RrQem8+WuMC5Oi6l9sKITAa1huU+5VoGFJYuHklmnTKN64Djq+vgVAAjNkPihpIRKWrZif+KwcvPcE7GRNf8EFTdi2hTaicPKQcafWaBxHJmiooeJXF2ChQjdtxfYS6A2y+xq+g879YLAAoAggK2nz4YjpJeBXm+oLDl8xT9NhfgLcSQQkGjzczIWhAS9M0YzkTkbY0hMHIASL7RnzTqu3k7X3Z5/XxXoFalIXNb82EW9QP8rwoQCj05GrgyxjS1jD8eSV56keVNqLxwyMx/aAkckjBSuySlZ+utES6bO3raGi+8jh/3HzU1HJUWDpjOcU0oBNUrk0gSRXKv+gtx0fv6+RuC5Kfl+sqZfKCL/5mzJkqznKxgXGFT+OVP/3aPavShPFuL+FtSGwQ5V/O6zXx3kTy+wjnyInATlm8DA8Xug5CCr74RNB72gp5EdxBoww/Z7UBXudfn/VnRIHTL7aP4WexD+zArsyI+2ABn8+8uVPclvuAeJ5RL7Y7RGqeZv9qM+WLEENjA8RO7pTodOWzW2gstXekvzB8JaXIwbS+qzoAKg6bqRcSnr7/8IfhPyGr9YaN3deGBGrsAa1vMsM3ZwkDKu5zN+itVsOWXpGnwmcL6HRO2V0ekF1Z8x16BFdoT/wU4TRB2HYLcWCy1lgDyjFKLuOxwuelDnI6CJe6LOb/hqssuZMoBdsA6ELf95j30bhhoR8KtXXp0mP/s+kHsRadNKF4h5WChmk3SxnIlMVwfz62UbgHim5ZpMUreGJGyM26T8b9V/JatgCATjSGlQaoWuN+X6AfZphtrHQ3z8mYWH93t5xDR5t+/4GBT1Q/t5ywig=","layer_level":2},{"id":"149476f0-fe15-4965-ae85-fa4791f19a13","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"许可证","description":"appendix-license","prompt":"创建许可证文档的详细内容,重点说明项目采用的开源许可证类型及其法律和技术影响。基于/LICENSE文件内容解释该许可证对用户、贡献者和部署者的具体约束与权利如再分发、修改、专利授权和归属要求。结合代码库实际如Rust crates的依赖许可证兼容性提供具体示例说明如何合规使用本项目。阐述与其他组件如第三方库Axum、Pingora许可证的兼容性分析。解决常见问题如商业使用是否受限、静态链接的合规性并提供解决方案。强调在贡献和发布衍生作品时的注意事项。","parent_id":"58a6c092-d165-46cc-98d3-51649baebc8f","order":1,"progress_status":"completed","dependent_files":"/LICENSE","gmt_create":"2025-12-03T19:18:24.041257+08:00","gmt_modified":"2025-12-03T19:43:52.502025+08:00","raw_data":"WikiEncrypted:oXFVdwVYdtK9JMQUocGTl2Xg+q6UdpOvwVCjQjhyW7RTvi1a03KiVHswk18WmBBfXXOcwkegZtTy/x3FNx27bZW9BE6c6DGNvx1dDzFONsFXXr3xOYcEHE7nsHvDz/b6XIj83RI1dxYtF+e+SFHZXcflAt5SCwq1Z88L7eXW5HJORrbhIspk/Koo7EYVB4n2jf2klyDnhTaUyOJIhFzXUal7wYHcAqmxYnkBRf7vhJCRo1IhldTDmyOmk79RuOu/ZLCQVVutGgJJkhLK2zYpF7kfRohs3z6MJTggDg96nViDGrT6ol0Sde5GOvSnSkTBO6wG7XMTl6W/CuuVeYtl+aP1fr1hf1EWCrCN5ZN9D7XXqDwru1Vv9PZo6U7hLcKXZY0M2l65uyc/9DaMm2aEsJPCt2NhXZRuSBRL0EXKkKA2HXrPy0t3iFbJxzcdn2wNh4AiierFBMe0W0QFbgY9Rv8c3iXZ3PznTsTUoBvmIaxkT023YDk4tlbsFOTh9apY6kvHbO8ogRiP5gQyiql8dSyxC9HVOpsOqfVj6qT7ksIO1n9dpFIqgem77z1PNLkMyNZKAnxVeUtRaSPZmtmXUqolIHggbeoB4Mvq2EYyx+9tgpe6JIUXsptbuAfc6r30DxBTaLvKUiwkNHAIln06L9iVFdGI4E9jbEX5+LL1WVz3usIQ95JKgrhUJpu2vPLUr1v+QM96Y6sfYBAGAxqeK/P5UTy+OH8uqpr8wenmZnRZbTRarNdzqUKOJCh+By8tWdsiOztGY/Ivbq/y5v2LjqrB2xnNRYqkOFWhC0D0B7lvTMLrQa0mCetyWwtElNm0b7XUI8KhG+Z6Nnzi8xzAq3wG/u8Fmh+EGSpFOqPLORG3I7w1v5uhrFTYG00bIOqjAV9yCB2aNZ5PMUS6UuDpZorOaO8W6jYuj5mevrs3C89ItbDgX7CaOXnCIhMS4tt5sfs+9rZ5tgId/4RLGKAuFZMoX4FtI9hD2SWieewBil1MYWmJtKAqCnZY6Qwo9JKPqGq2QqLKwS/Fvc9vxfsgt7DXkSvChG0WCDOisfsuL2ezaCfPsZ41iQ9phN2y8rL5hq8CYuXEsSXSXmzXtns/aCurnva777b79u3tJSWIOFHzUBAYWoqCiybT8JF3k55N","layer_level":1},{"id":"f6a63ec5-3ee6-4ba2-9b5a-8d24221185a0","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"ACP代理集成","description":"acp-agent-integration","prompt":"开发ACP代理集成的详细技术文档阐述acp_agent模块如何实现与ACP协议适配器的通信。详细说明请求转发、状态同步和错误传播机制。解释如何通过acp_adapter crate实现协议抽象支持不同AI代理的统一接入。记录消息序列化/反序列化过程、连接管理策略和超时处理机制。提供实际交互示例,展示聊天请求从接收、转发到响应的完整流程。说明协议版本兼容性、异常处理和性能优化措施。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":1,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/acp_agent.rs,/crates/acp_adapter/src/lib.rs","gmt_create":"2025-12-03T19:18:40.446094+08:00","gmt_modified":"2025-12-03T20:01:14.390933+08:00","raw_data":"WikiEncrypted:qSWdMtzHCUtWj/UX9EmunATdp//CsSDOnjnELf6NH20i86LH3qAfVdQZSwiaNi9Uo0XhZj1oJUnyuXewEdsPiOCABDp0FnLd5vIf2icLOJUa9juNv8ZybX/FAvx1vrc+adH2Wf/kyVIuFzMlpgat0w5txosbmTh5HbTWCRCXSnD6jU8074Oxq1Fv9ltEeWYEE5Ycq+oDeZ+4AoFDvgVlnSw8nNEva6DrT5EZ4uNJ9XKawxAhqzkX0rErDOs5RFJ18WmCVE2JAPMk8M1F72PnS+Vyv/UQvst1Hv/xifyLhcKVfpTJEdNtnNJCKD+VSRUz3T9WKmq6Au2dpcZYjIx7RIQn0h08j43RB3Q/C615+oNPcxEZadazcExlua3XEU8C6eg7EzNDXGZxpj46yLT1ocG8mFi6sG4wTUfLrF/4iLX3XFZ0WwElitUoowTEvEEsVtHcA9yCC7KTemrBXjfMQXEWFRehhx1e6mCrlg0kYkvJyL4iKd2Z66CiDzKw6PlzE9WDZV1oVkBubz6M2vWYmPcZIQbCRKAfv/nl22jg1LhSEluRjm6kW0Ve7+Wqsny4CIYqXb6J5/KInWKZ6H3LBMZ2njCJm/mx/b/UUeGVtVXd9R92ZvR31oXMMf8CaoI4tB8z529vPnEfvj/pdQULOZnAlf+/Q4rtTkTpXGkkKxBBfnlj63R/7XI4KNNfbELfJLVaMB8axFfrFRZ3DYBwaLOgin00Z5TuI3gyStBkxyiilBPeIFcvN1EOTTUgQqIoaH/kwlvGpZCX2PhKu41euPAkeH4p0Tcyt7s6Ua4ergNy2l53IMwWoytC5M7wpjE/26XCpTr63or3Ue/VVvLPiz/ytTfyOJnuRUxEp2QFvVl5caUHL4w2GxswTkXDxjnVdA7m1cH2npWYFNmImJcDkyqR//Uh269Eds42JSnAJ7AuUMyulIdVsgOJjcLu+b+nuOZKVH7nMKa9TOximZtUcToUTFhbtIO4NAT6PAqxu7WN76pk41XuRC131n7rU/ZMrNzb7ayLtJNJUQaLPdTr7PJk6o7Z0IReSnRqagZ4YNLGI6YAvFu9MbCgogQsDbLtGb7Pr+wlksvGHzJvaJ43/TBL/ksUnRGp70e6eWCDzIU=","layer_level":2},{"id":"32176e98-8832-4b34-9ff3-91270183bbd7","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"快速开始","description":"quick-start","prompt":"创建全面的内容重点介绍RCoder项目的快速开始指南。解释其安装、配置和基本使用流程。详细说明环境要求、安装步骤、命令行参数和AI代理配置。提供清晰的代码示例和操作步骤帮助开发者快速上手。包括适合初学者的概念性概述和适合经验丰富的开发人员的技术细节。记录常见问题和解决方案。","order":2,"progress_status":"completed","dependent_files":"/README.md,/install.md","gmt_create":"2025-12-03T19:16:54.622871+08:00","gmt_modified":"2025-12-03T19:20:17.697082+08:00","raw_data":"WikiEncrypted:1aHEw3M2aeluf1++NE1n1HTCzLNrSYNKzc2IVp06RQtbuAYcMEXChpU7tJYS1f3O0opR6Xc/vB+l5keQe8PgCaQq2LXol1IR+UqmVHRDXJ+hAllBh2e8OerEG4i6DVlAnJIH4DNldZTcibUetTSgsCl8G2ZziaBSf27revMiFWnalHXUIgaMb30BRFNwHDwCNVMAP0CcvUnR7acl11b0VDEJYWzP4Lz6obHy1mtE0mHuSCxZ1qy1VPURruRWcKqBI66aGsHmlsKEkuq44EzhJpL7+jrPn8B2lb+6+rCXzh0BivNTwnAW1zTPAwr+BOLmgp4dq11QaB+qOTi0dJ19lmFPb+MnojJEZARM+T6p6F704QjYZhLwxSUO6x3UqddpY/mlCDX60z4M5WVcDMFbf3bDjP7jc8ye5akVxsPMwhzuImapLyTU4q2n2y4wpb/Fl4OBZsz9gWKFjCu37+uxfQA/xZ1LxC687yRrNVADcPF263vosbWZcd/Y286wi1XgnzSIhBv8v1DloXQ2YdJRo4ojsaG6i0fZ5+ZXBJHh5hV0/TAmz2AsmvgCObkuW+xmIQ/HCCTESjbJsyAjqDGH+0N0IRSFUMqbmNamVA62Yg11vz+h6LU98XUZf3Hklvu73NLg23okv+FIVNqXPX5YTm8j2VLkvXS2N+gY6kJnrHVKT92zHU26C2xQB9/KXA7CXICXOPtCoSvkzSi+EM0s3gXOhEPjoolhYH1epNy8Dkyv9w2vM/UvuYkaDqwlEX+RZq5JwsyTGZoTh9vhn4bPySzqoNYLlmDHOw+QILBAzgM="},{"id":"b331bbf2-322b-4fac-9e77-adcf8c52b231","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"配置选项","description":"reverse-proxy-configuration","prompt":"编写反向代理服务的配置系统文档。全面介绍`PingoraConfig`结构体中的各项参数包括监听地址、超时设置、缓冲区大小、TLS配置等。说明配置优先级链命令行 \u003e 环境变量 \u003e 配置文件)在代理服务中的具体实现。结合`config.yml`示例,解释如何定制化代理行为以适应不同部署环境。提供性能调优建议和安全配置最佳实践。","parent_id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","order":2,"progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/config.rs,/config.yml","gmt_create":"2025-12-03T19:17:15.002976+08:00","gmt_modified":"2025-12-03T19:45:34.10552+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwphuvLS+tubOOToqnyzrn+0I5MI4poc/fHl4g6R12HL1EHpAGdjnxF9uWb4HdK7Sc2SKIkBowydWl/qpC+8RHU6PwBTrPseFTRz+xklUG8kgakIEoDFHpylvaxt6RnpCtHVayXY8/jYirYYg5wwStr2xyVktvSbIfbuMV5BMxBth9aOl7EAnre4u8J1X4sU3s3FUh9QXxBiw/DezdiOPxbaK7wHJ7hi+U9QAvW833ZOKLpLqOplpP7BYN7hn+2JGyiJnA1APqPfBG4kdyO6anu2ALTKJZuJsdwKURjEF5SNXV+TusWlFnTCM0FSSIKLnifcJAFeyJ8oT2CqVGmccTS8dZDqIReVjHdz99Mc6iVQA3nQwQlhfW88kb3ZUYt0gi2U2m42MWMROuCdUILgJNtEz+0EpAE/cTfI0lKOYgnE+UeThBRSYU3HCO70ZI3ZBnKw4pKZh98zJ/lt5Hob9yy7yx6RJhmTtdvErR2yNxacYT0fGHgBDuBvm27Pl75kv0H05DCJR9iuK/w2hl/y5I7vSVEDlDWRAEiMUSeqLBsQ0m9hk53JKdJG1fGfwE21Tffev9tKyUNc9A59YPYm9drlvO/cPmW3k1XLMopESsxmWjVWVGfDTqxEt0/8wZYtcsXFECOSubfYjxxMx2dbDAGJ0RTiw/zZpL7v0uPhitXrdcTHsKqLwpUckwXoxBU5ijluEGg4Bb4/IHTquGQ/20+ptDSIDqp5yzX9ZbZTdsmvZDPhb63RcBil+vyAEjXc2nQnciBZQlVjfAuGbjaoO6JViqxfI+x56t+v4G8ntOGYNjL5fsN5aYk5wNnzIJVBdWkzMuPwOULZrdJp8sbSOS1gM1qjazhZMyDAkbyuqmub+VojTKBNgaae4kT6I1L4S97xiwj2UtmDPNrbhijn90erM=","layer_level":1},{"id":"bce58bbe-a35f-42f7-adc6-30f9a83531c1","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"配置管理","description":"agent-configuration-management","prompt":"创建代理配置管理的详细内容。详细说明MCP配置的加载机制与优先级规则命令行 \u003e 环境变量 \u003e 配置文件解析mcp_config.rs中的配置结构体与serde反序列化实现。阐述system_prompt.rs中系统提示词的动态构建逻辑及其对AI行为的影响。结合config.yml示例说明多代理环境下的配置项组织方式。提供配置热更新支持现状与限制并给出安全存储敏感信息的最佳实践。包含配置错误的常见表现及诊断方法。","parent_id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","order":2,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/utils/mcp_config.rs,/crates/agent_runner/src/utils/system_prompt.rs,/config.yml","gmt_create":"2025-12-03T19:17:20.402346+08:00","gmt_modified":"2025-12-03T19:45:44.833967+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuY6toWpjQ2NZQfeejfFDBWQ4aF4TDbwdQgojdg1yOh9go+kuxS6vSZlsbD28ZCwk45fN0AsF0n8yjDHUNa+a9RpFcYCBZGc5o1KL+2EE0EvKtkSZW34Tnr7bfx9rGN2OuKCT1+I41/3TlT0BHO1MKhfl2x3+y51Coz7+hXnULDc9w14SAEoJODuvNB2qAJHQsBEUZFi7m3hJHZUYvZXoJGfAQDmcCGxF+meN5gG0F28iPBIo+ck1i4K0aJkP7OObHFzx4Cto5kd885klZUmHDYFYcvQvZC5CE0D4Zh4abQoxGT56vEfYD7Z1eeGjbcetGlxtCt5bvodq56/5xJrPudnUIc+6VQFykaL1fDMVZ/OduXBrhVSrwQiRfv0PZh8Q/YdjO7eZI71god9O66Pg2BPA7o82EVwb/LAMqONDxup0nQs5to3a8TWDSN4yoP9Yv3Tisne5sxpA6sbAojq26DHXqNFc8t3JFfyMyuhcl4FxSspddyvBzq7Z3assW8cRD/ZKTEG8kedo5RsLw9w/fUOEGtzZI/sLBUnH8+8myoQNs7Sgp0vYlqrLJ7jP/0DqkIQZJrRNnRgnmYxe2T+i1j3Zm419ZB5faOnaJomt0/mhEM3TfEHbLD/MAawZ6/3Hj82zoNQgMBN8mBx7WPKMmliqmhDRGp8bTBCqzxXHWpQm/xdThHl0AFXPThYBOinFaPl3/HUjAu+/rr+bxK03ZHREDNP5yG73M5r0tfNSqJEV45e2x+H2eEoaZXb7eDDEvlpqa9r2qX3BcoM38P/mkaNYa+C6BqFrCoIoew8ZAwWE3B9pDlAMC7eHrA1b8oCiRRAp8DR8wqvk2r1ZBv0LpPyDdocT4ggAAKXON+P9sGVlquLwlH7KzZFIysTcWO/2J+ZLRnBiSg8j7n4XbppKVR94hscG74z+i5exYYwK31DE1/srgRXPF32tT8UHht2WQEFFQL/Zpe/p5CwIx5+a41sVvzU3CchMmdvMt8OaoqHQKkn87kXaYBC95qx1DB/aNOAy8YjPk+q9zl56WTw9y2LzttCXaTHvddtkOI8M8zI7fODuQhv2nJZwjkChUrkVH+USQM8tN4Ji6KCBEn03nUHMXNHcEbSFlPjFDnWJLUQUCj/AaDK3HFLge0EulEhDed4ywOHA4N6+6psuXgoyK7bt7FuN0YIOIEKbTMt9VWfiYZiSTxYJzSPUh0ZdkJAR9Q==","layer_level":1},{"id":"887880f6-b36b-45eb-8c0c-566502a63406","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理状态查询接口","description":"agent-status-api","prompt":"为RCoder项目的代理状态查询API创建详细文档。记录GET /agent/status/{project_id}端点的HTTP方法、路径参数和响应格式。详细说明AgentStatusResponse数据模型的各个字段project_id、is_alive、session_id、status、last_activity、created_at和model_provider。解释条件序列化机制——仅当代理存活时才包含session_id、status等详细信息。提供成功响应200 OK的JSON示例包括代理运行中和未运行两种状态。说明该接口在客户端UI中用于显示代理状态的使用场景以及在自动化监控系统中的集成方式。","parent_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","order":2,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/agent_status_handler.rs,/crates/shared_types/src/model/agent_model.rs","gmt_create":"2025-12-03T19:17:21.858799+08:00","gmt_modified":"2025-12-03T19:45:21.803039+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVucw1EiI/V593YyumJ/fTbccTFoo5ZaASbiIvJHZt1Mi3hFM5XAQigdFHMAX3ksTTQ58TAtYAREHYspoUg0QbceysJ6dsxiTOx2PQFYWPkcLaTQ6rlNuUJLcJ4fngxcoV8nsNkGQkawn10ZAwd2tWERyz4tWQqjCjtX+zmxiAm4ETMHUNbAl2Wv5UdamzNhmU0C26Junbwd9gFK5lJhgNqJtssZknOpjTANj4aPuqmp0KmDEIgPPYAg9OiUBw28l4kt/l7s/XUiCz3VclYEq8X7YDvrxHFB6X7sK69517rfIvpcAiEFDWBUb82Ne02UcUu3V6eCEcoYGc4mm61cbLLRQux01Bjt32R6eW/eXvyMNuQD+HMyUfnFpqOk3AKP4P8whog3GoXinDDK/yTAGB2kQdKo+2b1NI7hi1D7HJdr28SzjvBMaliCT/IIrCx09bU9IX0ZDncpO7CL3PV5lQ1u3NzyBs3ijYNliGo5v6/M183ydEpP+o9xpPFXdQT/mzqjVpf6EXMObR0Xqdjf1Wh0BrqYdS8TwH0vTfh0yw20g+9N3yTcYUjRDWPBT9isBFjAvMd6z0HTdSpaYS8ttSlyKEp1Q6jKiz6uJzlLxvxW/ZCkhCtR4mMBjzrZRw/QX8DsJogkKXObInYCpbvVmSBbRc9x8cNSMVnmRRoe9m2iqxecadEaP97leKG7UUtgMPH6unJGEdRNdBWE+JkDCHY4ju1C7rJBAWBvDuLw5QbN8NFfRQtf4TQ/h3hhgPRou+COoextxfQ2kN6tHGGr5LVQGxus2cGnRWa60vm6fMXCaejpxG2+APjvZBKpCbDBnCG5Ik+MnvHwc2myFXeseZ64msFWBhpPK/MZadCmIO3j0FlbetP6fFmUzaQ+/dflpWQzupCl1I9lc9uxY20lx+QLa3SIBt0Pwg4IqsQA/Cy8h75hVuE84mKvzvnkEd1OgRXL26owhYj0uvVapT/OQfD6dAIve1KNxLbdpJhIvu3ShBO1ZnWXYO8Lpd0EFMYot85EgJ+EKKBFLppoIiUu/7Smw+Pwa11hbaO5bLNh4JLC2rBKBQf0Mf8W9bdTPAbR4PDlTqP88gKY4Gon54pRGWSDZwt/TRK6fmf4JCZovXlfCl6eYRKHWwka3bpuLMYiGsBxHqeL23HPN8Kw2xIT9JRrm9ELnDih8NBrwTVffrp+ltZ/uNTHg1/CAopzd17IFTmB4C4jTHBKPKHQpst89zqQE=","layer_level":1},{"id":"907707ea-1781-44e9-8ca1-73d63a92b371","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"资源隔离与安全","description":"resource-isolation","prompt":"详细说明容器化环境中的资源隔离机制涵盖命名空间、cgroups和文件系统隔离的实现。解释manager.rs中如何配置容器的资源限制CPU、内存、只读文件系统和安全选项如no-new-privileges。结合types.rs中的ContainerConfig和SecurityOptions结构体说明各隔离参数的作用和默认值。描述host_path_resolver.rs如何与docker_manager协作实现安全的主机路径挂载防止路径遍历攻击。提供实际配置示例展示如何平衡开发便利性与运行时安全。讨论容器逃逸风险缓解措施和最小权限原则的应用。","parent_id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","order":2,"progress_status":"completed","dependent_files":"/crates/docker_manager/src/manager.rs,/crates/docker_manager/src/types.rs,/crates/rcoder/src/utils/host_path_resolver.rs","gmt_create":"2025-12-03T19:17:35.712438+08:00","gmt_modified":"2025-12-03T19:47:40.030332+08:00","raw_data":"WikiEncrypted:WRaIw5LcDrebk4yzceYz73btAW5TYIVFTvLkhh3SvyM4QW+QQqalrbVZtuav0BniX+ABenXI83SxOQ6Z9M2QpU0Qv9/mNA2gbrNy2W+Hb1Pq6vaHWLGkp2XfvFnm5Up//cqnCEMBcvqpKDajQ5ucVofSzZ4D5Wqlxq0Vw0QoAcDpdQ9NDolqUmwn0XK7WMz0uB4GeeedP/SMl5CzIDc5nvWmvRHx1cM8LzvNLA4ufCqbqV2UsvbCenJ+fOPoElzbjJYK2M1fCiWTd/FoX7wommmEsAIVRTqqWSMRt9V4DVDJumOgd5kiIt4vZX91Pk2aVh1cr7me8RdNcLZ5Kpb4eCjHC6T2fVTIARhVKhh4qV58Y+M3beUobVD46dxBsy7menEABwawUYQcoK68lSiKaRZzNDdH1yP21qkEe1tvsMnbtnIxoE5Yud2r+yy2TyAcxnA+HpZm9RVtFhdMPRt52WVFg9pyBd6tl+95200u1BrxOfiT4UxYKII6WAqOVxcVWiyS5pQIRxwUua12Q5sEdSqHdtPdDXgPyFH8qYSbNtAQ+foRTA/MVYBXJwEVlo+VrCgOyr5J6KRsQUzl50wulz90g44GgRBBixMXLvBDKLJ8fBrLw8a5a45LpwmTV0fMUMlbpuTzqZyfvjw7xY96b0cOmtMD3lcL2MqUhQnlDwoFcnNhByGiGJYgnTpF3QoYA/JU3CT9GN8F48RjVT86ep3+dDopDDDJ9VteagUrraf+xqBsQosjqp3OvwIkwORoWy89iZKOSg1+zEqQgwKrtXNmJNTdtKz2aGx3o7kNfi+iRlop2w39kYQ85Aes0nQmjORck5wueNgsFiOzcXiZqxc/s2ll5lgQYJG094vvJc2TkXSSlQfIn7u0sVKfRumhaKS/95cBsZZjlLob/5FtMhmKzDbmnsUkyoB47uypT/JJvhNblBzrpk0ZdmjbmAfuKKIypB6TRiFLzt6RNFOAzdinhGoqzy/0cQfnxC/HpZP7fVw9OzBZs/gdKdmo+Av31wVHQm9qt3KeiU173IJXX3Erff1PIKs17LBOUoZ+M96hADVnFGZLY+1GK2ML05JJPFq7J6jeFBwUm40irnssarA0ELZzIXlnTW1ZnpFhocBc3M4zIu4hSlX1ZVCv2x8nu69uVA+4qXrgDI8lxSTIO3B4yZXde6voI2/BtB8OXAIFp2COUAzUtyHnu60C2YhE/SftgbF+mImi5E+UzFDcuOnAx91MB19rnD20S/vdz6dd66woln4lXQI9YULiv+ckBU/YRcYgs225Ugv0WSQwZmUBPWeG4wkKR4jlxRmytkU2GFTc3qJXn2rEVB0OzWaf","layer_level":1},{"id":"2dea1cdf-f446-492e-a8cc-8b323e075c39","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理状态模型","description":"agent-status-model","prompt":"创建详细的代理状态模型文档涵盖AgentStatusResponse、AgentType等关键类型。解释不同AI代理Codex、Claude Code的状态表示方式及其统一抽象机制。说明状态查询接口的数据输出格式、字段含义及可能的扩展点。结合agent_status_handler的实现展示状态聚合逻辑和错误传播路径。提供gRPC协议映射细节来自agent.proto和JSON序列化示例。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":2,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/agent_model.rs,/crates/shared_types/src/model/agent_type.rs","gmt_create":"2025-12-03T19:17:44.800042+08:00","gmt_modified":"2025-12-03T19:47:26.820014+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuVuyp6KFV8QXKuAUoZZmYItD7mO/kED1P82V0eJWfkF/9AzwubV2bOlz1GYJWckHbBYeKGXoQK8IxH2YJiuqvu+hpnn+VylxOcgmfOc7tZ1KCW+7QYKHmuDwF34QHFNeDyaKI1qMQnJNWQU56erjRY50u9mF7THuAkI1GPNa1k/Vc/sO32IrBF7gEeQ1DaeUhvH8v3+g1XqkyYnu9dsY2oow8yqDr5fCC79ziVyOo8fh7agHyAn2XXhwIbnpXvqQytri0LSIfbPHTLk2rjUA6Eg76jB/j1tUIAF/MHESKqGrCN04AAswL/xUv6gO6Kk2S+pB5E67BsTDzp29cqkbPTCksN4MLo/1zNdycxVChKkMhM7qCe/ogzju30DHt0ik33uXGrCw6x0HMEkMOVL5/SS+EvlBH61zlS2RHzRq5+MSH3FIuwPghQ352fVaidOIJgFY1yqY6rOi6Rh/wdV8Iemun62cpB/71NWvno7c9w1lMiiz1ilAeldt04lw8SbWz6nHdpA0JFMYZoJhjKq6WlnhH83rNsVCPomvap346plQ6MYvn3kiPHLeA7eUtM8AW5pKkIitP2Ms0eXpla6VMBUQ8QsLn8ZwlXgBzlU7J+C6hwp7VVdEKSAPrBKifqlMEHv97AMT23bOu4kV1n+9YcBOipURBJTpOFBBq/CepBd62eDztBwEQJwQjg1t/aX5HwAQdBaoReItUfG2zZegdEvqvcySfWXLTrivMvPPPR9Ht3GoEyq2MJEUM3zztfhmxdj5BsnPIEaOvFWXf0ZZa99MgFS2o7FSSdkaDBFUrfZTmpvEkBBiweqGvv7iCH3BKupMKQNH2Dcsqr3OToq0pMjG4Ofw/RQrGEAcPPu3dnjaJYF4ZpSznTwV7LSljroZHsWy5MMvR29+zrzNl7axWr1p54yZjVVPFmSe//wPxdOZ5vpqQuz7LUTZwt1V0dCbnLPGJiimW7TJuemz4Dwp/5Mrjca6R+P+exoBELgsq7cutnLeolcOVuhlfhYS6g54PA==","layer_level":1},{"id":"d1228ff3-41a2-4705-a14c-352a9420c05c","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理运行器架构","description":"agent-runner-architecture","prompt":"创建代理运行器架构的架构文档。描述AI代理管理的核心设计包括代理生命周期管理、会话状态维护和与AI代理Codex、Claude Code的通信机制。记录组件交互模式特别是通过ACP协议适配器与不同AI代理的集成。解释技术决策如异步任务调度、资源隔离策略和错误恢复机制。包括可扩展性考虑、性能监控和与docker_manager的集成方式。重点说明代理抽象层设计、会话缓存机制和多代理支持的实现方案。","parent_id":"04feb733-c3c4-4520-81b6-fc5e1504055a","order":2,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/main.rs,/crates/agent_runner/src/proxy_agent/mod.rs,/crates/agent_runner/src/service/session_cache.rs","gmt_create":"2025-12-03T19:17:47.61998+08:00","gmt_modified":"2025-12-03T19:47:38.319152+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVud9wi/rc+JqciGEOOtghvxs1CWb//EdL4s2sOcK2k9C1hhRdI6uiImmOJxuJfc9qymIRjfSr1wyJyKt4xBoXykg/fVC2EANMHXqHZa1M9Kch5B+9MpqpxaR3HZBkum/SkqkFEY8NegXGET3Arj3LF52Iy2YHpuLcJfXeZ9sQLuhR6me5y4J3SSGxajQee2TH1TFvoHFICsO22FNdb1Ho6ryogrNytBbYZtbssB2ywFx55gYyDWL0hmm6u21VyONiumV82gCbPGtEEJjW9Vbd/R/hFDvAe8rxZbkRfMNhhI8jcdnxNZFGmoXdpez7WHm8bZymWpOCBk2GehhSyzPtmrqXDGU5CzC3aNky65bJPflWT6VsB/zrH83i7iAuOLbjj1B5f6DNz6MYUt5q0FTgvklQJE8f9JvVwGHISOKmIlN/2QVg6VtL0gw0/5OeDB5RZUhlV3vFDwoe5juDrW+GACcm9A3QutUMi6hUaHNJRPx2niIj9BnZ+K9D83FpiLX4S9hc45sSZ4PfzGksR5OujSPuEBPuxIvBUgs2ZEAo46HwfGJeb3jQ4FIeGHJDcIsmTEGMezNr2tX24UrKUTLS4LmCkheE1fzAT4yHZqW5Nnu2OsjrWd7PSDjs2LlFwgXUFhlz0nBYQlh9tyeQNVymwTB1iQn7026nPUNzi6QqLSdil2YOA1wdHDsY8957j5ZQGwiWzVd1K7cCorRvXrJDs0F32U8Ijzi9fmMX+JhfCuXZiW8vepFt1kn3WtlbxDagH08FeMUTb+ptUqdXCosyYNyosrnF4iqB5Gei/ilNHez2uwfWI4KFppK0oB6du/vde2p6KIpOvP8IKSxtLw5BR4XNKCQOGE9Tj2OYDDnjAkX4IXXj9NbQfP/megEbSy6ojgifhiXnqXO3ch2PXwTzQzVoepVgGaZ83J2lEFAo6RMTaDavSZXMJVtX823UoY7txJi5aYE+OOVQUt8WQKQmKfaptNu0Aq+3dqywNxsi51WEldbNqhfZpY8QllF0mtaixzhOMiVVRmgEPv/BzyXUtd5xt5iy0Y1mZVXSLFmT6nM+8sL+7MwS2OG6mqhsGuSkA7TWsoD/Dr34XpOy7WHB1FuItI8lcKeC+MRAbttru2/VSYo+A4eJfsoOXw/WkCtLgIViOD8U9RO4ibONMIuVeeUCn/PcuRi7Zm5qckjQ2mo0oBBFlcGGYjNUo2+/gRc0Jw==","layer_level":1},{"id":"9e84416a-beed-4ab0-93b9-5c9e282dff74","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"错误处理","description":"error_handling","prompt":"创建错误处理的详细内容。全面解释系统中的错误处理机制重点描述在tracing_middleware_handler中如何捕获和处理HTTP中间件错误包括Result\u003cResponse, StatusCode\u003e的返回模式。结合shared_types中的AppError模型说明应用级错误的结构设计和序列化方式。包括来自实际代码库的具体示例如中间件中错误的传播和日志记录。记录错误分类、状态码映射、错误信息暴露策略等配置选项。解释错误处理与可观测性的集成特别是错误日志的详细程度和trace_id的关联。解决错误信息泄露、错误码不一致等常见问题及其解决方案。为初学者提供错误处理流程图为专家提供错误监控和告警的最佳实践包括如何利用trace_id进行根因分析。","parent_id":"83f27c12-c663-4758-914a-e39985bfed0e","order":2,"progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/crates/shared_types/src/model/app_error.rs","gmt_create":"2025-12-03T19:17:58.276405+08:00","gmt_modified":"2025-12-03T19:49:09.461952+08:00","raw_data":"WikiEncrypted:6q8NyGlBBnWanm8/xPYlxVvKA7lj7BnarVm7oPjPsahwm0lj/dB51zkNlpZpQ5RReam4uughDmGs1OUvVcR/+/77EwhxRYmGTfzQEfLWJMjFepOzRMYuBGKOLQOaTOk8UYA1Y3+SdF2rdJmriDk1nvu8pxiHPibm3/KCAch51s2qciuTOgP9P8ykle4t8JDlfmh/w22Rk3AyqrCM4oKzFaFg9miqFqJnvBJYLWHuAHeGHya9NVpi0yqs8vc3JRjiRnCQ83qVEM8YnJYBnF2a0mrpQPh9FH/kbVpPrrzjg/chx1QRrlzoUzpZ/rlxjaTHMhZ/7P2C+y27WQSkVrq4GqzjaknPgEL37n4XZQ0cilwu5XF7hpjKl85YRl47Y3BSu2c5lZVgwFNW4N2HwMfXBSa6pWHWgrut+U3FkBpB3cHksc4S7s35i04jcoJrxrPhlCEvYtIT+IWulND2L97k+ujv4iNEdKAG5oj9jfntAJBR2zqLs2C1ps2z0cNbndu5Zz+Mza/BAsoJKnNKt/ldK35M6uVHAzh+ja2ERch/Vv0D3sdP1zg/TZmybbBGJc56ZY+GVYWkJjU52mVBSmovzoMHvTjF3M9y9XSjLBnUa8EBRJlLcTXV6SiENCGkTtslMnr5TXMEsdvidtRicuOgBuD6oAI1FRj9MqyOQl7qi3XhJC/kZfCQzVV/6RLOZ0/EdPDSzI8eRUsjMr/5CadFk0Be3qNQ/S8pkPNUYnadZNbcyo9v1+KMk7MJlKmmleQxFKadhJ8VEaUFXhlFK+gL3gyfLCAVp3PfxCAS70pSj6YlB/Tme37nXKkHijUa9J1o4lsvvazqBEuUDuPVZaTzDg9cZl1a5mLYWWC1oRuO+ESUHHcDT8PQ87RLCzgk3rC8SOV3KO3jakQUTvGbSyGyaj+/jlMPIejg//Ddy4E4uakPcShgEUYnx72RvmLfkrZUIgvmPSNM3nj356iIZDQPYTFi4tgM/b9LbAElQW7kF5m3V5ZEoW/jTMRdHNeH1LNo/JBdJl44F87Nt4dIn7Ro39whd0cdhVtstaTATU6nE98pYC+NWFcKlZHScwWEsmx11lBRHbbv9WkKa79nNcd/T2Wv0Or0ym1mokfD/TPuV8ewgVa1XZAH/gUtpwwdxLBegHVK2Oq80hMqHbJVfNv3uDDVhDLoJsHCX/U4WSCTuXvZCNjHh2rETczZsFYi9ucleWlxRp8jEP5BmzZQakdQXTTdyhDiOZB6Ao9XdttQnn2NFbM9IlvFvlUttzOiyZybfCW3XQ61GWRjJW3j5I25H70tsIoMW+d/B3TAteJw01PxYCYdiLf0E5Jz1M2oLFVaGfOtTiB4EehmOU+M3vMDMkhucIMoYVPBnsWEgXOLnnxUUdMDDkK1Ui7D4L3PRqDTiHd0zodlXK9AYAxEUgKuNcbaaPRzkIHapzThdmQ8jFYp8ph3bBcExiXANpTitH6PBQJw7DSukzKADqr2WUDIttgUc50i0+Wkva9OzBRW7VA=","layer_level":1},{"id":"47d77368-dff9-41da-ac79-518087f10612","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"多Docker镜像设计","description":"multi-docker-image-design","prompt":"创建多Docker镜像设计的详细文档。系统说明支持多种AI代理运行环境的容器化策略涵盖基础镜像选择、依赖隔离和资源配额管理。结合docker_manager中的image_selector和container_self_inspector模块解释如何根据项目类型自动匹配最优镜像。描述多镜像构建流程包括缓存优化、分层推送和架构适配如x86_64与ARM64。展示通过host_path_resolver实现宿主机路径安全挂载的技术细节。分析不同镜像间网络策略、存储卷配置和安全上下文的差异化设置。提供镜像版本管理、CVE扫描集成和启动健康检查的最佳实践。针对初学者绘制从用户请求到容器启动的完整生命周期图对专家用户则深入探讨cgroup限制、seccomp配置和容器逃逸防护机制。","parent_id":"8060eaaa-4518-4fa1-9d42-f1385556bfd4","order":2,"progress_status":"completed","dependent_files":"/specs/multi-docker-image-design.md","gmt_create":"2025-12-03T19:18:05.737489+08:00","gmt_modified":"2025-12-03T19:49:40.656164+08:00","raw_data":"WikiEncrypted:Zt230nV3k3ww0eU+N8tTkqelebncL/FolVJ4e0eMNKG1cuK3m47Xb2UVUWnnJrlKxdPIPEMy5W6Dnny/frjYmS/jH0Y4LQx5GkuNNfFTMKjxck8KPIQEp1Zj3HILc7/CfrXt6rJwkdkmrnrWI8uVRPI67u8qk+iQwUemltP4KycHCu8cHNfZQbh5GlWX3C1j04yPfGm9/GafMn2HqimXZXo+rCmXL+cSe+Ah+J2OjXNDjIq12qyTnRMDL05mg3ViIbuvQ2P6L9EweLuc5niqnWhhpJ4MiRdt833M7tc3JA9huuklSX+XPUWb6pcufU4/RYxXgaahXGTB/PlrE+qr+ve3iyl00K09ghIoJYpJjI4s68I+CWKAvfRn9S2TAw8fWGutvLePmT8PRjpmK/0bwAqRwo5xatOgv8onnl1AwlFcX+bxB6Uoq4rigZ/31n2lyLTtXRwL8PAIU4xYILDiA9Xautz4IgrblxMc3TIW5m+qu76wU2gUk4aZoKIM8JnyG/CyhfqMksqdcwia/SvAvjDX8/1I6BUfCQxX9o6Gb30sp+BRyaVvyC2Nx9qqH3jxFQmcb80Sk6fp6MiiSt9J6fUH4Ut8wvZARqmpjqpjuqVOlSjI3HHqeIPb2eNVq9a5/SMI6eLtdv2reMcoT9kFtsU0VgpaKUO0S8bZP1i8aG/ynAGge9IMNamPzonNQRuCi+iVDfC+5gsVnOzQ3C9onZ3KGISb2iImkcyXT+TaE5Jq0a6StnkTTmRePAHISg144KZWAGmqrPbg6j0IAdeUF1pCPZV69JUx4drK826z7Bw+PX38p3ZS6eRxfWgTzVYgWCNw76ZzmvCCvOKScqNZC5lYAguCZo3/7ZHO4EMhEHXjIuSz9939Y2nKFpBBb5gE7Ek6NkBpKmX/tJrk+BQfLudRY0og4QCetKAM9P3itnU9iSYGKERThQJkRJOY5mWD6CrUEBpIEKaw6E6qKW9bD2TEctqqKJ4q5QA7NBlg8rnwZKiPkiEjwMDsJKXa3sLEw14+YSKbeB4504fGCqd9WIZ45alLkLmrUI8V5gEpPrG45CB+crIYTn4GtgKltt4yIKAJdvdp9GCW9gKi4Ck1do93d6BsKwiiUZSvXfDtVTDk58seJ5DjxOtFtTkgtUXwLQMYvuPNJumKZrN62Fy/zxCZ9gCMUDNscLuEmsCOrPpyz4oeRhPHRwdX6fyMQUJBzKUiioYVMwGo35Hu0lrPMAmzirTt2kL3cmZ3Gj8uBWf+U0msRH2lTvkLJf7oF662ev3zAyz+9IUJBmn/mtWJ49bGEPt2PO0Ovq1PJxLBeu58E82vrrrpSaflWvS7IK2zyaSdwrQNXHog/PSp4mtcvP6Q1K86D0GZ63KwvfPynMuBJ//i//LKio4w6QfRNPgUfUbCgYgPzpL/lxCzQ2kw+TaluoIlQtIyy9dB3GHheJU=","layer_level":1},{"id":"109f5c28-92dc-4f91-a990-913951cbb6e1","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"生产环境配置","description":"production-configuration","prompt":"创建生产环境配置的详细内容。系统性地解释config.yml中各项生产级配置参数的含义和最佳实践包括性能调优、安全设置和日志级别。结合analyze-rcoder.sh和generate-flamegraph.sh等诊断脚本说明生产环境下的性能监控、瓶颈分析和火焰图生成方法。记录资源限制、健康检查策略和高可用性配置。提供TLS加密、访问控制和审计日志的配置示例。解释生产配置与开发配置的关键差异。解决配置热更新、敏感信息管理和配置版本控制等实际问题。为系统管理员提供全面的生产部署检查清单和优化建议。","parent_id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","order":2,"progress_status":"completed","dependent_files":"/config.yml,/docker/scripts/analyze-rcoder.sh,/docker/scripts/generate-flamegraph.sh","gmt_create":"2025-12-03T19:18:06.053629+08:00","gmt_modified":"2025-12-03T19:49:21.700814+08:00","raw_data":"WikiEncrypted:1PcQ+NupkgQiLQ506NXlavePJyP+wf7B549e3u2ersPpy5JF1VoqQ97RkijB8uwmSaQKDPK3Z46StclirHvhnkdnk6OU+5ULG7234/XVEdTrSJV9xL73vwi9NbdCdyb+HRPDXv+Xf2aysyeF0bWDxDTxE4ZLMwoVSONCTcS31Jkap2ZM7Q1tMrTg8hwMS7MGdxEC017tbXQZzYewlXGmYf72MrcicOp8Xu6XiRvS3brlB8HYWDQB3KDeIabU4bZbdxeaytzZ9njZ3rpFPJc0eIRbHB1cqmL+h6edVDtJp00v5Cy28+lY6FUPHA3XlmLfyqtyCT74AOK7qyKGxXfXfj7jdka974/qJeCkQCg3diXwKNDhcMJ8TmQncxDI5J4+89Ydiz0RLGXhNYCOwrW/+3lYzGGW+NRuSCilRwtmzepns9DfLQ2RMT1DDgcd0+wbShssWBtL1EsXp1VwHpi2Xds/Uz/lYlclBTHGNEpdxbTlrwHGTzPog0NBhKFHJjCyHanyUqMP6jZwJIuQqR3alZlZixwAtcapuGXYbThIrcWx3CGesNGFqKs+oqrOlz2KrLETFIG/FAL+b4YuIzEKFzp0dzthEod1wI4umanoii6odtgoGm1TH7yfKqnGXfHxKqL1nATHbybqFAcsY8GEO6OTc0+6bF/Uq1iRdKMkrKy3ukD1ESGwc7WGDWZvfmlCvAweihO0voGL70Ff73YR//XMtsTXK3ZzD4AFfe4sM2fkkSrVSl/JtAKHd1t7qvhGHDIFr35XU+dcRu4Bv4iDyyrBN8hwDcjSKLMq8w0C7ehAQQJgOb3u/4O501W/z0RsvOGSawJmI4J5RafCNUX+iSG5U6hxmuPO+Pqn2DYtypkz/TcKu0GbTJPV6/lT2g6wEYQUdE2tdPan+r50i3xMv0Y009qptN9Ad19Pd26vO7L1m3g4UDqsnbfL39iNx9vjZAwHg6rb9ck+1DgiLUQwbVMSpxZLIeWwVdZAZy+m7/z88jM/uXtYevOWJuH+z5C5XFQYWdR3xzUTc48nU059HnSwboZdbyqTb+c+tzduHhRmxQjRq2LFvVusSzsSJwhqKoc+Ff4xSEK36YRlOfJkWP7OTrzVw6tNDI6x8B9J3aSFG4LzpfpGvg326ScTDsIcor/wu1aGMHkq3iPugO7uB+fbtOHG1YWblgT1za9Veah7VfNklb8QQ17XTDKauRamvH0dDE6O56RQagEK8P9NG5K3iV+iNDFLSkfkyyHoVSDdicTspp1YFtav97oNS9I410L+h5lLALuFn7ixDvFW8g==","layer_level":1},{"id":"10afcdc4-17c7-4d8e-a0f9-d756b5868b3e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"性能优化","description":"performance_optimization","prompt":"创建性能优化的详细内容涵盖RCoder系统在高并发、低延迟场景下的调优策略。分析Pingora反向代理的性能优势及其配置参数对吞吐量的影响。探讨代理会话的资源清理机制cleanup_task.rs如何避免内存泄漏和连接堆积。提供系统提示词system_prompt.rs优化建议以减少AI推理开销。包括Tokio运行时调优、连接池配置、缓存策略和SSE流压缩等技术实践。通过实际压测数据和火焰图参考generate-flamegraph.sh展示优化效果。","parent_id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","order":2,"progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/server.rs,/crates/agent_runner/src/proxy_agent/cleanup_task.rs,/crates/rcoder/src/utils/system_prompt.rs","gmt_create":"2025-12-03T19:18:17.642436+08:00","gmt_modified":"2025-12-03T19:51:20.209888+08:00","raw_data":"WikiEncrypted:9uOBpMbLX4DyZqW4us3WmxQTAhABIm8lzolXIG5GMN9yhlPvFA3tKsc77huVvInrhcC4uXpxIwW6/GsiZ+wGXylb4ia8lIUR78QD8VuRW4Prwr0lwbq5hQNSyIeCClJjFs0IhcyEX7yC1g20xLh7Wbrar+B7ppi7KZO3pSnjKaKtdBe9cB29U3Hulh/4ZjFtLVFefU5Rgo0KM15K53yXOaIQKdFl6wLmwgdgveNJQlEScPdgGDaFipnyvYa5YEOsbywbH8c1noVtEzEbKZGE2PaIXgKC8M3fPsGO9RdXbFFp2gMoBfSwe+D/Sq1uptl/P9oYQQQR89J8tDOxnQDnHQEA3kwzYDsCkTVxseIy1zz/zjglTCQbKmRVxHZ9sB2r9jInYf+7yFMuX9oUG8dQQ3rk65aptbOIpNCSFidgyk15ph4b3VQESDV8q/lVXIrD9+PdOvBbLsca5HJZ0MGtttvbtNaBRTZmQJQNJsroOrYnT41bCoVy3EaUt0Q4ML/qlEawlmZCPYYyGMKHJVhrTVJGM3GDP/j7A4gJ6MgjhMfMBV+jYHUmzGCFVIHuYJAP1XatABRPF/H89zZok6m6tvBZatJM6NbupzTcT6Yn6ZoS7wPlbAZpZiTRk/yc/1sbDte6t/O5eL/R8aqfMyZGTeKZmN3yO2E6oYcW6nlPecEcV9SY/hdGQDCLNcaazlD5dARH0JYjxBLdDRtTGPN2J1pJUdaknsDQuPIgSxf8fVXYTJJ3prxfMEroaRVZKNfkWs+K6FwT1qwMRfXuUxXHmUAMMcPJOg6EU0yFh8JhteeH27lZ6d/igkq0YyjQCUzAEspt5W+O4ipdbwEj6gNOrSPsdP3Fmma54HWiN/fkD8piXMtOHLv4mHPvTQ6HYKbf/fO03eBMBPIoxmrwvIMvfxxG/mQ/RtR+sypg5punNapEeztCm6lEDHZdv++CLNyrU1y6Y9Yg90GjDi7HYA393V+LjCaxthOpuV+iXPzfKLp4uSSxwKpt4ro+Y8arMHFMUm7b27WNGrQ2VWB85ieHwHAoHA1pWD63mOqxk0AdzfwtVrsOhzMJ8tYC1aUrERkrLf08y8iI1oiohbb/WeJ/Z3+VI9m2Em6I+p0+u5FNIQcz9gLDdtPzVH04J9OqaGCYiyGYl8i/4TMtDM2pOMZZ/sD+IVo7uGqfKsNgp/iSWB+szURo1tSzPhngNhbJxyC4Ra/Vocoghn436DHiR3c+mePcM4+acNdYQ1y+pHyACy9bma9mEgO0IKcyg8/JuX9UuvoT/PJVfY5bbKG2Vi+bzw==","layer_level":1},{"id":"e9360a9f-18ae-4245-b06f-4db3df4ebec2","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"中间件链","description":"http-api-middleware","prompt":"详细记录HTTP API中间件链的设计与实现特别是tracing_middleware的作用机制。说明如何利用Tower Layer模式构建可复用的中间件栈实现请求级别的上下文追踪、日志记录和性能监控。解释OpenTelemetry集成方式包括trace ID生成、span生命周期管理以及与外部观测系统如Jaeger或Prometheus的对接。描述中间件执行顺序及其对请求/响应流的影响。提供自定义中间件扩展的指导建议,并说明其在调试和性能分析中的实际价值。","parent_id":"3965055f-d9a0-4444-bcd1-b0a107e4d1c6","order":2,"progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/crates/rcoder/src/main.rs","gmt_create":"2025-12-03T19:18:20.927818+08:00","gmt_modified":"2025-12-03T20:02:31.283506+08:00","raw_data":"WikiEncrypted:VsNEQjl9yOd/19lPlWXnGkvhCnmmTZYpznbygg9Ek7e4BhOljeqG7Gws9ULynIvQ+kq1HwK8cb4M4SwaxanifF0cclLvoigi+rOTquYY//UWjdTMZksdgOq5v9i2fiwpJQibmsvyy0DgHY+kXFLZoQ3YPKboqWs50l6VfwPb0sjSaSv92KiPgWogr0DWw7n/EE5br8SdK4M8c6881Y8L9XTKWF2EYMMfwn/HDlcsTdGdSJYMkBqD86C9arIUvHuNWlKNALzDbcsaQcZimZzao/HYwY8kw1XW0B0GI7i1dOIQNJ86u2DCfS8dZSTBmrAEZ/cMJpjqGO5TZWpSgdCcGaRT+VtN5Ge1eC9WXfXYCP62Dotw47/RNB138CJaKAOMzk3SKI6L1uz6F5EvutWQcFxy5/eKQexudTeQDqAutTxmum4BxQqpvOSYGidRuS532ZIjZQUxLPInFkkfGA1Kmy2jNAv+FjTVN/jX3yovklS5AclYENv0/y6wZELtL06YYGgXYiACKHv17/7IDy2VA9B+S36sqxckU4bg+irN2C7hrmUMUBrwvr2+B5Vcbyjw2OL70h+S+YM++5/W6CtRQM0j3Yd5PMaUz0PWLIlC7lBl76HofZcpBy0zrWtm9xtxtQ+w+S/j9/qv7e/lgFpqBODA7Mj3ozwoakiiNuasDjVY+ABkZVeB5DckFiwcBh+AborvSqb0XGAPWLGGjS78VjlVRvNnv8oDg/rHKyOX8vF6Zuq9FBasoXyOPvl0MAIOZbVjdR3bfp1te3WbImIOPi2iGImPJYplxiAgplwk6O9+zhn5bWyiqfv2mrqqQqAYtgywB8PmFUhESQWPFsDJ0UkfaU3hsOzuhH7v6PxYrht5gu1Ln6FCWuvOA3Dik6iyZVJFmZOC6c2Sm526rN7XrUUjGiQSuU+o9C7Q0abJqxzm9AGLuk1ZFBYzXIAcpXsww0ZP3UAXZ2OCyVAFQzv517whG+GBYp00XvxnXkF+RzpXjjohILi6QvNVNhbDKDmnUcTwuc0fLbSOofLsHKvFNhpSyueYMoI8gxPrKHPXAKnVFkKwbeqeOeLTtJnbnv+p4bO+b+oBu6Yk9vDNH6ANP/8Ve+575zVa5npikv8KsIP+VAtPrEXXIT3S5kkFiHOqPD8sq33K7t1znIifV1ypbtx3btmCwrFdpiOOz9/aflkgd5TDzNG3hdLfWWyEJMMhQXlcp1TOr1kDjyPy53bAfg==","layer_level":2},{"id":"1a2a1d66-1024-44a5-81c0-32cf143d8206","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"变更日志","description":"appendix-changelog","prompt":"创建变更日志的详细内容,系统化地记录项目版本迭代中的功能更新、缺陷修复和架构变更。依据/CHANGELOG.md文件结构说明每个版本号对应的关键改动如新增API端点、代理支持类型扩展、配置系统优化等。提供实际代码库中的变更示例如从v0.1.0到v0.2.0中引入的Pingora反向代理功能或Docker容器管理增强。解释变更日志在版本控制、升级路径和向后兼容性中的作用。指导用户如何根据变更日志评估升级影响解决因版本不匹配导致的常见问题。建议最佳实践如自动化生成变更日志条目。","parent_id":"58a6c092-d165-46cc-98d3-51649baebc8f","order":2,"progress_status":"completed","dependent_files":"/CHANGELOG.md","gmt_create":"2025-12-03T19:18:24.04139+08:00","gmt_modified":"2025-12-03T19:51:27.758731+08:00","raw_data":"WikiEncrypted:oXFVdwVYdtK9JMQUocGTl2SMz6U3qOuPlPIyooT2FvVFrfWZmZgQa2fHedfF8f3foSsg6LcxuoKF4b8SLSkF7o5Bj76ChJavjv7IIzfhW4AFsHA5lTZULc3CPb66AV4rRU88WkLQYfSPZLbrN2m+ovSBkoHGXQRpfAUgOD9jMKj9FemoJQRGE2yhwQgDk9qUYEDnKZStFw9cmvjEAmP9HF2WFxe2BobxLvo6EgswtF1jqS8Y2LgQHGRuOEF9ZAf19A9i3YgUXacyeHNELL06OXa6z5kNzp6UAze24TBBcv1hMP90IghwHxLxDrPaVYJZu9xPaWQDfjy29zI73d/sYl3fKLXQ9GYg7wEcxYs2Dkbrmw370cZLd0mbnINldQJg4cBNMyNrnGF6uUWSfViKFlu1ckP+1CEHAEgERnLK6L/MQE807FvvAyNgCjtr1+I+h7B02EY7T6gkOjAjUxb6DYAHXWigBncr6z9cVgKNtc0l78kfc1qevGVovPORrlT/9FTM8LvXWXZWmLmyVmf8g8wjAglZ8PFj/vGB+P2HaS0JpsMvUPtZuaFNFWLNTgOpRVGVg2qDreCFBh2bKtS+LZSKdyebSxD/3q3wZi6lql7LWfNG4kNox+CDjuOGEJ2SKfmjzpGfu+mk7yQXEXIXOJwiW3wBBo97DTqQ/rxL5X7FpOdpVivn3fK2HUULrYyJiM6cS0OJKmoVzE+MkJK1m+Q+F8rJTw4hmFG5IoZpUuFKRSgc6xkjfDIGS82R2Ni/GjDKLbsirnv4uWplRH6WaqGDUahEx1husmTwXUucG32Pg2uLBgNYCDpgMNoNg1og7rHPHg9BnhBsY+V9Eo8HxrkAVCFBlrVhayoDiy0ycxViNG2rTvn433lGMXtfF3CvD93z5393XAr9BE5M2fnEz49hvh9FqcTTJMdPdaJQ1qlmAk2EOUuKFf+WApTmszaMDxMhR7XOH4FDqMovlmJBLv8IFxb/ruhl1SLn77a92MJpj7Eqds+HXDdx9kw42Kk0/feOqh3OYxE1yigl7GugE91pP9Ns+Huz4JkcKvb7/2f5d3JeHbgcmoEge4GBZquBO0jwyUD0qL+TottbZe8v3Fpiqy9+WkQ+jsA9GIpsqItdhpPMUuqxFPUwgrrOvQxT","layer_level":1},{"id":"0edfe839-02c7-4772-ba1d-48744b75b99e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"Claude Code代理实现","description":"claude-code-agent-implementation","prompt":"创建Claude Code代理实现的详细文档描述claude_code_agent模块的具体实现细节。解释其如何封装Claude Code代理的特定行为包括初始化参数、运行时配置和自定义通信模式。说明与通用代理框架的集成方式以及特殊错误处理逻辑。记录性能特征、资源消耗模式和与其他代理的差异点。提供配置示例和调用流程说明展示如何在系统中启用和使用Claude Code代理。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":2,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/claude_code_agent.rs,/crates/claude-code-agent/src/lib.rs","gmt_create":"2025-12-03T19:18:40.446222+08:00","gmt_modified":"2025-12-03T20:02:57.466052+08:00","raw_data":"WikiEncrypted:rCvuSnalNAOznaP59jTsS15FmtMGHg1LbhMS39Mz7yzbWDE+Ds0DyvqSJhAZ3IpLCqzCzapH9kGDozA67tUoT+bgIT/RJokRUoi2h8veabC3AwkfTbfGZ8I/5SBhUHDdYTEfR75mcWfREzBojfsTAIgvS4nl8I2BiVL6MUitL4En/KzUpwC/mOYOdd84co8F/wbXlEggoRLxI3jh8ZQJvcMj8Dp0h6/P8ZUgzJmct25bdDDydfMyoYbNvh3vS2rf13GrjOaliMGA86gIsH73NprRtYeAXR6zIKESmMeFcAoBUygfVTqOKH3uAXrPkF+FifCbdxfoRVjDhDiyHO8bqLn24KlqyUY7YxnDDQ1laKJjOdK/9EQ8V758EBLVO+t+zqv/yCfu5hjUp5HsUdVX9r1ZVcZ1dTmO8tcediw/3Uh3xwGwj/v283F3Ie7w1Hp2r27VT1Flxt3oGM/cFzK3/07hw6vL7reJ0vz50bdPeROQ87EQ2Tu2BBEnR+9WGrUa16aKNPMBSzynpuZ+z4g5S2FBNNIhGmUJrfsMNrdbpgJeaZtrjGTLCikJrBxapPyrtfBNKXAY1r07oVyu6PcDbJRBWmbtQjNt6/t/Fj7kR7bq/7w5UsDxpRi61BghNIhO+FtgHpj0R28C3NreVRa7jpai72462MaatqBtM3faEwpEWyd4e81M9+ulLC8yCPsvsxtKAfB5VwtMi4QmUzbitW88ec1WelBkHOOyIm0588uAfvOyUrvrndHMYUFEyyWKhTCR84165c0Mw6ixVwToYXajIWJYAfRm+PMHbsVz6zmJBwepM3q04VqFhdBm8vqQGH5SpOxRJhrNM8F321zKQL62mnX/kcMBZADrQzKSPI6EcKDSFWCrymuXlNa0WTQyda6gt9Z+WxciuEgdS/jcl+otBh7Lq7/a66POqYkZsUrN807MXtSaueMMgGmjls0DGpxu6b+SzTbf8OzCxMPn4lj91+Fe6VdoXp+Ee/pkJ/PQFFcBXfc46kXklOt2VRnqimaSL4kmYqB8NOyiMdBYZtdKNKedLliGvHrukIPb5cLvJbIwT7rRSCtLQ2Ys37pHBGrI8NTvOrLotW0lKO61B/QsLFhsd3zY5mBioP+h7K8=","layer_level":2},{"id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"API端点参考","description":"api-reference","prompt":"为RCoder项目创建API文档。记录HTTP方法、URL模式、请求/响应模式和认证方法。为RESTful API详细说明每个端点的参数、请求体结构和响应格式。包括协议特定的示例、错误处理策略、安全考虑、速率限制和版本信息。提供客户端实现指南和性能优化技巧。解决协议特定的调试工具和监控方法。","order":3,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/chat_handler.rs,/crates/rcoder/src/handler/agent_status_handler.rs,/crates/rcoder/src/handler/health_handler.rs","gmt_create":"2025-12-03T19:16:54.622955+08:00","gmt_modified":"2025-12-03T19:22:15.325775+08:00","raw_data":"WikiEncrypted:C34GewOyK1SlumqKiPsSg+WPNa2UHH7yP2PPjE4/OPm+x71kOW2715qQ3r+HA/nUOgulUPr54CTyi4xH+SmG3IVoJBjmcwRcXnbDpSIchaPmTF60DJmS5HNEd6IRtcJ08N3dY1nswQDgfDkEs3opfilYU6uPJ+CSb+uYz98nyiRxQsstJhjhW2qiE27ZAkw7ODZflozSyHjKflOMpZNPGFP1orbObDOJA0LJQbiiNqcBkbbPkWMF73a7ag6QVJJ9eAOk/k2wtgCB72YkRa4FWqR0f2Tpq94p/w4xayMHYhER2yHQLifXQEB4MWfA77/Qi5wXc2KM3ki1Gw2kjoC1hOE7BpojHwBiw0B5d2Z5fJXN0ClAfd8OPSHN+zkHoQjhn80x9DnidPryzHuDm/w05EbfmabjVIbuSHrlh0VI8XlX9oWhPvEpWmdqpBa0UBiLziHa24JCXzoB5u2ZsmBmCOQN3zEaidpCmCQZaQrua8FNVAm+bEyyS5w+7vUM7UkEEGmwkEcEfdCynO/4cSNm9ei2pG7S3ZbKMHL9ohKURCPHHH+IrIXL6hPmrfMbhgORAXBu+vIy5BRiNKllBkh4zN0C1LiBLTYBR8XPTSD4vEkd667lVrVgZmmxk3c3MDiZD5Y971zBXrRrgUnLpJc0H+YQvim7Y88ud0KdK8R0H9Pw+C41+1tMz1mZxA324n22nYBmJSOR6XZ4qZirCYfJ8OFpybMKttzvpQxm7tYdTffilCellIf3BYUmfR6eR0o1GqyklI5+Qp2e8dq3+gSLOkdkiJ1Xli4hOZCVqBLgrIJUShqkybtQgzqx6bpLu9+6VnoBswHLkrAU2ISjXzzSCj9iGtjhaCd4Q0JM8d4/sMEz42OtNzMIA4in7AgyfgcngXQ4nfGcx0KllLjKPw3x1NVvi2/dh72ntvHJy+/lJdKRrecSypkhY5AG+OmA1rCvp8E579uxMH70YtCAsWqDS3syYepWew20R0FYN557EnrK6jQSZRugAVDwslHfcJZ5+GaZ41Acc5m/JGp4aO0Yzw=="},{"id":"92a139d8-af83-4351-bf12-82b5b1e27494","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"与主应用集成","description":"reverse-proxy-integration","prompt":"创建反向代理与rcoder主应用集成的架构文档。阐述`rcoder` crate如何通过依赖注入方式整合`pingora-proxy`,包括模块初始化、服务注册和运行时协调机制。说明`lib.rs`中暴露的公共API及其在主应用中的调用方式。分析集成过程中的异步任务通信、错误传播和资源管理策略。提供系统上下文图展示代理服务与HTTP API、AI代理管理模块的交互关系。","parent_id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","order":3,"progress_status":"completed","dependent_files":"/crates/rcoder/src/router.rs,/crates/pingora-proxy/src/lib.rs","gmt_create":"2025-12-03T19:17:15.003666+08:00","gmt_modified":"2025-12-03T19:51:38.527095+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwpoUaFasznTg09VgNjgrmuUCa2HBrDSQgK7HKk9UzLrIE2JBaoutNAnUbIvNLae4twDVmh/FbljLc1Dc1Uq53VCqP8KZIo+Dd3p3s7npB0+2yJi7fu/0bc8rg687tzA5H+/fFc5tnY+9++BHxcwZ2lKSn2Uf4sqcTlPqLoPhmR1jSCs9Y5Doum/2m2garuwYuPv93NadNzQQBgr2ONsGxiBX2B63eDuiawUGdOTu3Ql7Gk6Ls4+QDcK46+oAWPB4aBDsHV+r+hywa1Jn8ZZBwn2HMIqycVI2Kee0uX7nAxYHo9N9RX5ruzhjfATAD1Ljb3nB7Kq0AAjwEJF1PoUdTupO7cpPkcXx9ou75F5T4sWOVMtKg0swmoiStTssyBxBI0P+yxAH8nT2AhKUb7CE9PyIGx5LFutzhCTT2iAqRAEXjBsnoNFimK6kJ4PDD3vs5HOHZVgME3usPcHRPT0kG86bJyfpixrHRH4VQZvz87FClyKYImBovp46g5Sd9GGunQQ10H2M1H4TGEU2jkmSPQbsXlRR0V9OCfFzcsSsOn3L6u1jBXPFolz15oJiWNmQ51GKYzJUOly/FGZk2SFFS66N2CjywFtM+LG/kvTXZ9s1eS9Aw2WdYMtmvQC2kTkfXhGO51du+/86vwftK0HVQKmDdKevMqeAj1ftmlXKR2lwvPpgzAuXpUaAkcOZ/f+J0E7elJmcHP6R3CxOQGFREHZIztQKwxUX+Y6IZrEt9UNDJqLyT5XNcANHz6ISCCyx6/Rgr1nVoEWAqWPV9BlSrocj5ocoTnZgYoJEN0JfwTHujRNb8t8viAyDMVxTGpKBrvOBFPNs/PLLNAPIdJm0Uc6ehIY1nloBpEQMQ9HcPFKCTI6ZpEn/5anCC3LvS6tlh4y001XF9jJAstK1x50E3z/IFCkHzdjscm+Sp1PLdAv1BgrC6xySJG2Q/d9ZMzGfbsw==","layer_level":1},{"id":"d5f761f2-ff1b-44d1-907e-38bf1bc38c0d","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"通信机制","description":"agent-communication-mechanism","prompt":"开发AI代理通信机制的详细内容。深入分析基于Tokio通道的消息传递架构解释channel_utils.rs中Sender/Receiver的封装模式及其在代理与运行时之间的数据交换作用。说明ChatPrompt与ChatResponse数据结构的设计意图与序列化方式。描述SSE流式响应的生成过程及其与前端的交互协议。探讨高并发场景下的消息队列性能瓶颈与缓冲策略。提供消息丢失、积压等问题的排查工具与修复建议。","parent_id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","order":3,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/channel_utils.rs,/crates/shared_types/src/model/chat_prompt.rs,/crates/shared_types/src/model/chat_response.rs","gmt_create":"2025-12-03T19:17:20.40268+08:00","gmt_modified":"2025-12-03T19:52:40.069493+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuTZ+Wtl0uLchf5TvxIFc/pTcEJjdofbic1BmXK5F+RcO0OWK0hxszS38u4qvxu+Kg1+znyHIzvhCyoKLxndFZ0VoRoBsrGRj3tVYURxRym6Vun58gXfercTybeW0DqXjw0dP5Y0dS6LZJ5dIXCnfMzYQKkBTnWuImWQqkVYwekrb7O86yA0kKgC1+gNevLyaPdf1u2UPJig+sDXgBz4glkbyk8o2k8v5SS7R/zIAjINTRRJqmNE3wZMxA2Dwg9I5JlxQ8MQzY1SznVw21NkBOTDxcYubZond70J/AAq5F90TxXECfQdvwvjI2EtxVCjufFD2RTFFawjoxLUpWrAmx/o4lgdXqmihXLC3rdmWEbRE4VN51PwONmQHoFngHcfkEqXsap+ktwCcAfjpHfychRfjUMaqpAxA1NyqBhIfx8eMHQYI/JJiBl2nE0bB2ni8+m1e5OvRIzV0Z88A4Xwrquh3tg5/yk/Kzhw9ND0cllgX/Fz+vUFuYv7Qyh656h4K5qcb/S+dnPyobON52mZ6CNm35rXFB9ZritWwfdJNKJj6/N09R3q4GhuY2ej6T1Sue00vptpNxBtNdC85y1oUEiMaK6sBnRrOk9RQ1YlqbCh9IsgdAkJr4fj8essuI/xcH2EQdcdv+ImXLCCROxJOFzvfOBk7btyd6k4nKvo2qLdLbl2Kv8xYI/cFwV0wjRfQ4uKzpghlBTtn710FRATG2ZSUgAoHnjmw30xv9zjC+qYrthAyzyQXUdtJilzCi5sQR31yRGVrfAIlAEzAW6h7bVoWW18ou7rG1tfxFJrtz2CuJEvzKgsH9lf06ce5a+R6ewmGhGeU1Mm7OKlmstFv1NENx73Il3tR1+lZ7DjYhxJGdvKe/vKTmleMzZGdralSZ/iJHtBVhJCGFDuNtCtfG0HVrRT+SmQje/LHKljMbBLjmBreYKET8fK+9lNL16dAJUbmKPkWN4Rji5/1hO8Ox3rW0ro4xlPzH8xt16+00Ss3byjzo4WvBU2h7LrhQPYLbcp4PXeTaq2NPptOoRJj5P+LOo71g3NrONeAbiocctFMHMBhLhzXWdhv0iHOCGMMjX4LShRj3SpBi8e+O1qhH65/vE33uVrbnESgCEEbrDLisabOGLMbf6jf8gtOPqDnmK4uuo9wZQiR7qRkI69aP2I/KP4VKbVG5o/LwM4XaUABPB3Ml90zjjuq4ZQBFZH3PiWP3rUUQcs8oYBpfB4X83k=","layer_level":1},{"id":"5c49bbab-0fa5-45f7-a771-a2f0b96e7518","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"代理进度流接口","description":"agent-progress-stream-api","prompt":"为RCoder项目的代理进度流API创建文档。记录GET /agent/progress/{session_id}端点的SSEServer-Sent Events实现。说明该接口如何提供实时的AI任务执行进度更新包括代码生成、文件操作等事件类型。解释SSE的文本流格式、事件类型分类和客户端重连机制。提供JavaScript客户端示例代码展示如何使用EventSource API处理进度事件。说明session_id的生成机制和有效期管理以及在连接中断时的恢复策略。","parent_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","order":3,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/agent_session_notification.rs,/crates/rcoder/src/handler/proxy_handler_api.rs","gmt_create":"2025-12-03T19:17:21.859002+08:00","gmt_modified":"2025-12-03T19:53:22.055405+08:00","raw_data":"WikiEncrypted:gTiQk8pR90rzooKLiaXVuVWeonHzSHmOi2LBLkRvpMNo1zQv26LdDmRpJvyWhgb1d3VKwaqGwzFY9u+n7ibV1JQpFrwN5BFJt1GdElE1Vn+XL3Gl5LHGzlxKrQ1C2R9eFDe59GVMD6hLoDjGXvAOcZKNetkz0WWnnqnzMObQkPbHUZroq9diw0Et5hB1jnrf8yV1jeW0ejqEfb30MBaB0cL8pQcpMwlYjckpQJUmVVurIiTMCvT/RSm807zTq7Ib4rCl0q+oqX+ffhfzijZq6WY9TUp1EFPoZr8Qq6pJcn+kprtW85ch0fGw8DyntYOx5aIQPVmj5H7AW0PH4MKb3jthv+Hj1bsEmcCNuy/rQpz6gK+IBwmjDhMPXNuec/Eqbn4EIUMHdzRUeFtN/6U8y30ZxkZ/fUqEbS5X9/bmxa9BPGm4Pb/mX+lqzKMh+L5Lzf65P1uKY21pYtVnAW03mtK4Mq6Z5c5/PHdZZlZUZiNVMjW1OEDgvu7ZAGC+s8U8JVnR6SC3uai+WCcETUa6cI88zjfymkouJ4U4sOKdGauZVZzE+HgzOesFVlhIG4ujIZ4rO/KIVUcfhpByz45w6AtH1PyVsCA94V5hdnbCaBiBvU/MxhYSr+71wuMs5JlnEQMzaC7A1W+3G82N3bT4hsQs8C53uCqGo6bJq9bvXbLXWYUPoR1BTbUkyyr67p1mrs1jJVvzcRFYvAY8R6n382xtjuVG3pvQmDIsGIvqFexraLWv3cHxprSS1m6uAENZr5mWmnlGjwbca7vltKgowxFCzn04t8UXQWi6RJFtCbtyH+AqbBFCDxkETuDNlDtky+EmIInHgw+WnYunsVNzV4/aBMGJyef+BA4atliplO+Dj0NkNfJY5bdkxbGpBkP03EIICd1y2Ayb8pC2dYYiqt7Tb9Tm9e8Y66aQIPQrq6NZTpJ8WBbjzYbkiW8iFVWyajmG1KxEN0BtI2cm1cUt5cfLxyMdm0SeTTpaDhYd32NePQFM84aGRq9Rc4fE41kUrZ9eRnNHLd9rAYSg1zyWk+EMk74K34XDQFk97OG1D6LwqZZco/jQQavNpQbcH/5MFFzfsNi75pIyrqOUrqAoLolWk/3WpTr6zi2RhJNeKSZ08OsYNWM3CQnCpfy54XyH","layer_level":1},{"id":"4d8fbb2d-a41f-4546-983f-629a9c179bf9","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"镜像管理与选择","description":"image-management","prompt":"全面介绍多Docker镜像管理策略重点解析image_selector.rs中的镜像选择逻辑。说明如何根据AI代理类型Codex、Claude等动态选择最优基础镜像。解释镜像标签策略、本地缓存检查和自动拉取机制。结合multi-docker-image-design.md设计文档阐述支持多镜像配置的架构考量。描述manager.rs中如何将选定镜像应用于容器创建流程。提供配置示例展示如何自定义镜像源、添加私有仓库认证或指定开发/生产不同镜像。解决镜像拉取超时、校验失败等常见问题。","parent_id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","order":3,"progress_status":"completed","dependent_files":"/crates/docker_manager/src/image_selector.rs,/crates/docker_manager/src/manager.rs,/specs/multi-docker-image-design.md","gmt_create":"2025-12-03T19:17:35.712647+08:00","gmt_modified":"2025-12-03T19:53:57.087998+08:00","raw_data":"WikiEncrypted:vw8SwXDMWAcq3MVrbhINPMP6e4b6KE/heE+pyN/Hl0NIQupB3RYNLx9uE7NRAQmEeynTIZqdJ7JHF8Rq3ugyZ+stXMDpAtW5sINuDJH9k0Yo4qlXDzVVTMUxhagx31IeuW/l+FqmcwxGziNnse07Gyar0ocv44JmHex0ZBL2qDFVStPDDhODwxCFnu1WY7dub90ZX8QBKcVhYOo0bHt0Eyo7eVfWt3LxD5xfwfRFdpDknPUijGPJTJUeYAdBgUESli3vPWGJdJie2eb3AOnqd+i5FNft9n67annpIv9zPffycPikDqF6zhOvsr+Pb5eiPOV9qwIwygZOl1sXSkos9qJcKEz2k3+Hpec4A9HTTjD9oDrPFgRSgh+OfmWSVxj7sxS1tnl38icU5WAVE85BGVXQjNazqnYL6rGZIeAKSeqpQas8sXVQYJaJE37O9llDnLH12PGbGRVz7CYAS0/Esdx7K3akaAvjhC3NJ3JV6jAQhNvnzKv6m1omjQ5BxraiDcbTLGiomX9kOl/Ari2JswtjD+GpnKrb0Ev7axyQJwFZEAwShX/G6yS+6cMEksOS/see09Wm9dCjODFuziBj2MVOgnwtar256qaqZx2GH4hZyvan3DlIlue8fL9VAy44IO8GQT+o30hTgdZiCL+PtZBlCrPVGOIQseBU/EtBxO5kBFANQxx1vI/6qB09K+LOf+yAfA5uVNUURFUBjLbFSAFIJpMWEBA4Pp0wuTpN9LcRYzJU5W6oaAxMhsB4y0OT1EbD4jXH4yQGTK3xvHAw7Xzq0qLJPYKEuTowocFPMbYJTllFBrJBO5Fp+VYGaHOAhetUsJ3N9PsHlFqWWln3ykqfdJe4FK1AY2L4hnuPbeLylaom8F/9nWpgzo09h/77uwK85wZYtUB1zNJfjZVPhcuJPX2vvzIB367xaUXEI4myKxVwbqrnlAZSY0GRRdxQIA7074fIKp0BAdhTrf83Q9YZSR3geSzOBCoqDVcYGYoAr8rqspJAMWo4XA8CCf0LHnqkThz4QzfLjYWBo7wiTaaN3G6emgTQHVevkWlyoUfnzaH4v9jGR6BX0FQRY9iLOmYMu8SBFNdB4v2Wfvr/GoWs5NQPmL7EzjAm8t6C4TdGgpgYsDBJmMlMcyM3EmOvCNkBnj8Us1Wasw+VfgKO1CAaXp/dwmF6eXp8xeJ7UJxmUe711NqycDPsa0dyPEHqLkVjGonBvJ5cMcPv41BRsA==","layer_level":1},{"id":"fc0536ae-6d3f-4b4b-816e-68a78b68617e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"聊天数据模型","description":"chat-data-model","prompt":"创建全面的聊天数据模型文档重点分析ChatPrompt和ChatResponse结构。详细说明提示词构造规则、上下文管理机制和附件处理方式。解释流式响应SSE的数据分块格式、进度更新机制和终止条件。结合chat_handler的实现逻辑描述请求到响应的完整数据转换流程。提供实际HTTP请求/响应示例,包括边界情况和错误处理模式。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":3,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/chat_prompt.rs,/crates/shared_types/src/model/chat_response.rs","gmt_create":"2025-12-03T19:17:44.800509+08:00","gmt_modified":"2025-12-03T19:54:10.047261+08:00","raw_data":"WikiEncrypted:0qsRRMdOwEPn0wd73bxRObGzp4YExRSCQtvvNthWdu+86c9/gFXzBlQmQydCYxo8Nrex0tZ/vU0FKL1DKTtbZzITAh8cZKN1WxEfgye22nQjvhWfovXFQOzhp3l7T7qng6al61ksxeCji8jB96+P0jPFBvso/+rStu7j6bEHX2RDQczvcu6y0O4qhNHil2yg2jQDikiB+Ax3rQkmXeZvgYokTk/0Ulijj+ogLs3/7jrMF5Jt8H2QRTKU13qhrpbjxGZOasla39PRU4O9JqCrJmtsuL2CnR7LNXiseHejsVfeSbEwXqlQoEy6WQCH0TvsPmTTlEgNXdlv2Vzdq1jgtWH2MUNYaJanY7UL+7EqNF7luQzbPYhLq8OBZ0bS40j9Ko/SGMOjopiN9T/XanEOyWSkJTQWQHYlgUISNcKJpAmY89/J9pBzyURZ6uPo8HBFPJ3H3AuqlRnjgqynnbyY31sOAfShWcCJVWahDZWadFHizth9VIXMCXglLKMlApZIk5jq4d7aZt8z61sIFVyc/5CgC0tEiMzMYTWnUXLEIj64+Mhnw5IaxSPA3mAZizz48SUYhFsynX5yv/wz9E3NUKf6wb0Biostt+q+et5iRajBZoo8jju6cNnquOqApaiSYfRd9ljYEdrNjVsYzYhBcDKWpSimDx2Rtx0VRmgaoE69hre3XyjhM9dH3K6cM4ODNCnWEoPm9GoUretPs2qjZ8nkKT+C/uzIHbvlKOb3NTgxso3opaDHygDqX6WRsFNyh+QF2/uHF/UZi4QIVEdBZfDFJGjC8tbREoFM5982N8yp0cbx4VUp3aG3EdrpRhjLaIeAuN6Wt0mv4t7eHqLCJQKd5h4QqpM62qpPXW3Na4oiD1nnP+VbnKqHoVzYgHbflcxFD4Iu5IbwYpgxJhc7Gs9+36/waXWxWjtqdf2HaViKcCkrbvbxFKQirRCslASB0eaoZNROWJeH5U1M7s4VMo2C1hneglbYG+aFPKSIQGr+37nX6rdcsXzog0XUQaFHeP10EOXjtwkts19zRAlDzg==","layer_level":1},{"id":"e401c8d5-5951-418b-b77a-3671440d21e1","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"容器管理架构","description":"container-management-architecture","prompt":"创建容器管理架构的架构文档。描述Docker容器全生命周期管理的设计包括容器创建、启动、停止和清理机制。记录与Docker API的交互模式、资源隔离策略和网络配置方案。解释技术决策如选择bollard作为Docker客户端、容器命名规范和挂载配置策略。包括安全性考虑、性能优化和故障恢复机制。重点说明启动时清理和运行时清理两种策略的实现以及如何通过image_selector模块支持多Docker镜像配置。","parent_id":"04feb733-c3c4-4520-81b6-fc5e1504055a","order":3,"progress_status":"completed","dependent_files":"/crates/docker_manager/src/manager.rs,/crates/docker_manager/src/container_stop.rs,/crates/rcoder/src/service/container_manager.rs","gmt_create":"2025-12-03T19:17:47.620117+08:00","gmt_modified":"2025-12-03T19:55:32.331815+08:00","raw_data":"WikiEncrypted:OYVOcFWO8QG2KTNzD99v47289T7rkWL3LBDsNMTnDTKkXBLoN4EFLRg22BmUP2k3ZAdZJkok/j+B58lUtqAGcy4ELzcfg6oZOGzVlOPH4aMd8Tpl1LTivcR/CziShn2YIiu8A3pWvCUGbP8rfaXhwCCJ9oklj5hwflU9CDGe9IxIEtpI2gkzeyyEoe28aOSRxjGL/W5LbH6+7DirrfqSfrjLT07+/BHnN27GKwgQsyxHwEgOu6X/ta0uxjuyfq2fVc1QsOqiHkkk8DNLHI1Rffl8T66Z6Eq6z6gJO4pjqUsKDusSyqTLHKKUly1f37J/RjfAl84GhC7sOyqGKZh4n+0bYzR/U+INOEEzheZpaZLRnnz+giOqJqrMTbXGpWSPTqyVshYmjW+0jFCSe9PCW4UAF58ayjKNfAv2vczTUIyS0e7UO6TERDVMG360MJVdKIBVrX2YRT/cYzrlJdqxzphp1lnH8/LZM+jM0V6oMRClGV7ehiYt4DWCdYfdiCQrI9AffvMoK9oJA5ZKz3LNdo7EJFiqmUKh9CXLXkoj4x2uck77Hz9ve6nSQfz1phx86cQoQyUpC2F3mwMDTJFxR3E7VFdrqvSSpFYac9/HnhZnK/fMVAjDmBo9vO38fnKNiKpOJuRWiZ+KWNgqx0RMQ3ux1DGyxiot3J+tbM+zNk/Zfr3TrScNusuzCuOiCVykEYPg+dcwrQId4VcH6KJBJwpOKwh33MDn+yGN5ACP3/Z+7HSaDZcvyTR5ZLEtIFjUGwFoaH7BPWaALmKa8XPf4EAQLc6BOOF6R5vb6bTprtJi3f9k1y73bci18AYYvIIZMy34TBzIkyWCnZXD0ZeUVVpHmocMgzIp4ozRnCn7oRATFk/7iyFm8V5Zx1kDBfR9xCsCVPggJ1BxGbxmoYmVgRY9H8WNNGSxYSgalNazP8Jgwa51fDQoRflUi1Soq2YLSsKM4z7TZFKnzYpefDFJ9qlkh10sGwV5ZwzxpHvxhhw53qcO7s/BBITDFjAmkywuYpuG45HEHVrVch5dI7GsmPQO+6pauuCuWmIlBWpuGDYzGnQX01qWe5d8T7R5MqIVTseFJ6diUrYQ6YeOxrcC31byXErsJWn0SVu2/CDoImaOI8DYoX9jp1kGk5vNcp7px6ZDtVdndT3DjtbqzxmiuPxp+j11xRke9ys7+bBqLGWz5hmFBcEUSNUP8JmtvMV6","layer_level":1},{"id":"ee764122-b4d6-4404-a982-6bc18993427f","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"systemd服务管理","description":"systemd-service","prompt":"编写systemd服务管理的详细内容。详细说明rcoder-service.sh脚本如何与systemd集成实现服务的开机自启、自动重启和状态监控。提供systemd服务单元文件的编写示例包括[Service]、[Install]和[Timer]等关键部分的配置。解释start-rcoder.sh脚本在systemd上下文中的执行流程和环境准备。记录服务日志查看、状态查询和故障排查的标准操作流程。提供权限管理、资源限制和安全沙箱的配置建议。解决服务启动失败、权限不足和依赖服务未就绪等常见问题。为运维团队提供完整的systemd集成指南和最佳实践。","parent_id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","order":3,"progress_status":"completed","dependent_files":"/rcoder-service.sh,/docker/scripts/start-rcoder.sh","gmt_create":"2025-12-03T19:18:06.054056+08:00","gmt_modified":"2025-12-03T19:55:46.720405+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjHTArvkGpbOVp5fWRWHBtIw7UDyOaruiNkXcpG4Qcy3Ut2QB4P8HvTCUE85V1ctbWB31mO/lry9lG5FKInOV/NVYXYywBNajFinW2AiUsn9FAuebodoFGBwSZZstUcCcdn6gDsuvgP1VAdjUR+q519B9cwnnGCWRW85zfg0vzMjJo6Faj310asA5DaEX3qylsEHQzEvmEB1WiB6iodBtFbyoIGKxftBr/cYNxAyw/FCHjcfXjNhGkrxXYFtScIf4InlUK2CRNMKNOmqDUhU6HizJvBzIAever+E96SoWCwjY+7wVxlbTCsmRPHmbYH/xNOsRa4mp13JhpdJYYJQGZDkNnXTO15KJQp/4SMeM2YMS7d/ebcZFUme+3Pn90p6TqDz8qJtW+MN4uc3ReAKX/KvwSHgvbyf2QEWsihXfYoA/JefxORZNPBMYySyxY/f0bteGvKzDhE8vyT7a9G9tIuyRAWIhTGrgNFykOBP5VHnaP+NpyLjTsf3O4H8MBPr5HsQjuoZJgEK2YZw5q6qDGY98ge8LYPy/Zl672w6INnvXhJPnd6LQBmxAh4iugwEKKTPpDiCGq/GgmiHmfgqEEDyvGRjZTC/qCXENBNDzccE4IgyWM2RbLuTOTT0v5Ypxl1+5yL7NmSvWWGXME5Q7XyJtgiijHh4b8Res3x4OCnIKpuwsdRQYVzJv+QvnfF1DTktwchN08YGRn2l3w/ElHhvVoH+V3df1lzncEZnBoQiaAgBSdRya6Rb05OiXHka2TkpePBKd6Kv3pJpHQClAOQaVafjxCudrGQ/ZYKN4F/rzBU/NajhH5jngJJ7gmDi6YDzvFxEY+MgHl0AaONk8nBtuGs6/puMpYIezox9dQJnA3i/Dzk5vsaxam35k4JhBbnONBnFm5MXRKQ2MCeynRUS+mt3NyhGWOnHp+eqKLA5ZUlG8rA9FJkXaymHV2gseqLgwhWzUiTVnFBmJ3kOogeZMSqkUXEPmrfdvyh/ZOtTOK0CDrM2s9lO2wQoIxYIcQK86TWfMppgDxDJmFc0cZdApVJlf4+fds03HTbH2XaGBLeJLOmRbSWYxN+19CmilFAjuD/WBP2e9+JGlo8uMBThhO6WxOgD3eYjCTXP2YRj1cAVAHtPGcE1K+rM1B9YfhTsmr6MemZYzqkOC2A5ym6cRjyVIQgwbwsRvhlHnzmc3","layer_level":1},{"id":"27ed36ca-6746-4593-b491-392bea4820bc","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"安全考虑","description":"security_considerations","prompt":"编写安全考虑的详细内容系统阐述RCoder在部署和运行中的安全实践。分析Docker容器的隔离机制、挂载权限控制和镜像来源验证。解释API端点的访问控制、输入验证和防滥用机制如速率限制。讨论配置文件config.yml中敏感信息的管理建议使用环境变量替代明文配置。涵盖网络隔离脚本setup-network-isolation.sh的作用和实施方式。提供安全审计建议包括日志监控、漏洞扫描和最小权限原则的应用。","parent_id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","order":3,"progress_status":"completed","dependent_files":"/docker/Dockerfile,/crates/rcoder/src/middleware/tracing_middleware.rs,/config.yml","gmt_create":"2025-12-03T19:18:17.642558+08:00","gmt_modified":"2025-12-03T19:56:10.95603+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk+vozb1FmOvLQ1MekXX8A2KBz+v07CEscXEHRN7tP1bYDi/eXafIXgpCAVAoIrbVSdueAf34IHYhVdIhq6swhtHeK8m8w5DJsEO00Y0augzu36RX/916u3eqt+/gXgXsOcB/a8TbcH6YTSRP50JoY/f5bpUzd4cQj4JofbU2epqfvcOuW9k7G3xUd/LcvH+AaPZk1PE8oaMsPUjUFnRq2qgGmfUUYkqLgUJr3ZlrqyNZQjqkog8Sbs4HtqeEsQ8LNGIhLtXtV0EnDIs7TgTwbO5X8U0Vp/M0muu/aE2HZ4jsIYv0F2KNVvMkdXxrfraDOs8qjBIakXQKaLOKmh7eakOOASKLdF8iJsSCJtNkKlKZ27/Jbm16HU30M1QTkoHWjbRwOyoYuIed2YUOCW65EEoHLorsuPhRWbVl9YrfHFMqIQFsJ2034CKJ+UVwsw8B9RKP3TDqYZGpphffRczpQLCrldCva8Nlwzl5AiceE3aX0PBLReCskhY3K9OdaJ83j1yKWQE71/qJBqnjS/K+n+vOEUgFGxyA6lR2NIIKQBZzhOfBviF/cCxJT04s7ab9OO5L8R7FIqI6qEfpmNWmXovqik5nh/r8cbdo9m2TfqKf9QGrBrRhrOuECq1fmBg63FhJmR5zudi7RxceFhcuItsdQEkOCeD44b3n+EDnD/7psrSGZjw9BTMEELjM0OsF3qhs/Qu+0QX+hOAL56EdTD0wCVc7iq5Rjkqw2+W5ZwiME+o3Vnt32rMi/WwZ2Eu9OlXHE0O0tXQZk4MAf9qLtSnTJWZ4h5gsoW1GQ3r7CW4Cr2l4Rrav7dTJFqU+h78Wp0PVWQKEZ7sc/AtYd8hD5TuEFWH1cGtSyiolSw/sVbjufHSAS1/h4mxEb3GMe1aa3FIniLIJamx79hr8aULSPNmtYxhTAELDlCLZuWXoDVvLZjytbI68ZgOgSxBCDgyyNQrR0Vpp1IJQdZkrOIvFqBS5EC8tmGFciFdkSoXZSfF1PcwBiVP8ElbZ+LS4LogzZLDjpyc8MTLGwNfyWEkxnAIhGqCLP2P8KB1K+DVGYljBLLX2VwS4qgJTreViaICeuOLiZouyGUZ8j3wh6Ky1/htCzQHb9IKoZjYN+4+C1zcnX6wm2TvzFQXsiJqH+R9F7w==","layer_level":1},{"id":"922d7d2e-4484-422a-b099-dc210a7989bd","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"常见问题解答","description":"appendix-faq","prompt":"创建全面的常见问题解答文档,基于/docs/FAQ.md及其他相关文档如CLAUDE.md、docker_manager/README.md中的信息。涵盖安装配置如Docker权限问题、AI代理集成如Claude Code代理无法启动、反向代理路由失败、SSE进度流中断等高频问题。提供来自实际代码库的具体故障排查示例如分析tracing_middleware日志定位请求失败原因或通过container_self_inspector诊断容器状态。详细说明每个问题的现象、根本原因、解决方案和预防措施。整合跨组件问题如配置优先级冲突导致的行为异常。为初学者提供逐步指导同时为专家提供深入的调试命令和日志分析技巧。","parent_id":"58a6c092-d165-46cc-98d3-51649baebc8f","order":3,"progress_status":"completed","dependent_files":"/docs/FAQ.md,/CLAUDE.md,/crates/docker_manager/README.md","gmt_create":"2025-12-03T19:18:24.041512+08:00","gmt_modified":"2025-12-03T19:57:11.911113+08:00","raw_data":"WikiEncrypted:oXFVdwVYdtK9JMQUocGTl4GcrV1+JpXzCtYUpXtX4YlDfkmMN+O+XevRDgTX1nKmp9lJS9JjHxXHJOe/FK5fWaZI+JH6hjShAIGMPTkVh536gycIvwREHDBINYGXWkoJUdPYj6ipQKcF3LOQ5hu6DyAmOr69Nq+B4ZlNDY+iG36SKJH1XFuwf3JK2lXOe+uR8bjEIq7pOXuVLOISpBu9ecCoVj8YBsorXbtgG/jb/5c+QdVYRgNTpiD+g6BX1ZUX1h29IET0TxnNCGcvTyaGx6UZbwt6r+aPQYKFBJwDr02ZfdJ3VjZILuoJDR0d4/Mt/YeGgFFC51H7lu/EHN0weSLBJmjh31u+lC0qEXx3CdtNxFzQN2vOXOQ4nG+RThfhyszZo6R3r2Gvn/w7pIlNuosV7mEjFlXoT+LRmbImhF9JuUVLG067ugiHtf1BThE62L+b5mzVA9iAwOgUk38W6QFjENK8iFcNYRZqM31DEdG0MWA9LJVIkHSJqUS8Bzey+Vconh3/xc3/ljLFZelAkVse8z5uXq502AGA0xOl57tMMXWni9F9JokTrQTWX4Bksc0RDwhdXoOFNXpwhqJ39vdGSSKSB1ifidHNk5kv2R8U8pzZfmktEO1ktH14ADSGXIJRKNVG2jYKdEP4Xu5QSss/r3cZn6/f+Eqzja2XdWHDL0oN1fQHTvXGMARhqhTPefBZeUFGQHnGLY3dBCvqtBURdWamizyv1VsGeGNNnUTHBYeWbl8VVKPeUaohkfKI+um6RgihaowLDafDyoSpxDUFsmKR+LR9xGlCf5eF3xIXh8bpBjp2nlpc/gD12UzNZkT6hiyOSAiWu81zE9R7aBvTy1UhPzigZmWCAjIcRUG/UW5lfEluV9/6hKoQGRzP9wfqClSFO1fLhPsiuWKi1iUDF73leEAL732ko9cBZScmNzqfzMBnYdBTeskGVSvM3nRLo3R+OSqp+gt7e/omOxAX9ObGUR6tVnKhpK48HRhB+lpEFEYKwCSSF7u5CYWtEUFPyTBVSSEk/sXdu/amBD+BQ3Jrc+xHw/2AkcqYeLWe/z6OJ9lKJx7cbk9oT3PmDgvZu5s35890bKBjrqhTdewbLmRWw6JIa0QKyEkD3aQQCfI7n8tqCZUlZBTIdH1p7OkqDMT7BCxrYqj3N+vYSY8mBBCp0EXA5kZz6MbUzsQ9AlZvgNLP9YbfNtVEwDCcZ97FmywnLegmwAQmVZemv8sEILpMus0YCL/qNw9beM7Z4AbTQAqXdAf6+CF8WZkrjI9d7zpAlCdzIjhxqx9IwN3RCGzMW+uKYpeoP/JJba8c2QIBTydlKfz1mq9siNNxvBUuRlD1zjBQ8iIaMEBzCe51u2ObfuLwHkLn04mV9eJ5injs/Y9B9HsHLRUPNjNy","layer_level":1},{"id":"2f8b9aa3-0cdb-438b-955a-3335f1ed0836","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"Codex代理实现","description":"codex-agent-implementation","prompt":"开发Codex代理实现的详细文档阐述codex_agent模块的设计与实现。说明其如何与Codex ACP代理进行交互包括启动流程、命令执行和结果解析。解释特定于Codex代理的配置选项、性能特征和限制条件。记录与通用代理运行时环境的集成细节以及与其他AI代理的兼容性处理。提供实际使用示例和最佳实践建议。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":3,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/codex_agent.rs,/crates/codex-acp-agent/src/lib.rs","gmt_create":"2025-12-03T19:18:40.446313+08:00","gmt_modified":"2025-12-03T20:04:20.12291+08:00","raw_data":"WikiEncrypted:5tTolDJK7Xx6oTYP5I1F2a6cQHhW0krMKRyhhFoyryErDhNImXhErfU48MqSq7LEcs3jvNqDM4WicnNfG+7Zg7DlGQQm60SU+AwoOOu6ftKYp95PlQzIa7/iYZUSf1q31YgWQYVk0ZpKUxEQWSSp0X8aDNdIAQeqnVOn3ryOyEJa4aiX82olxK6L1wDucS9vuDgOhAi1PWf5To87mWX9hI2mzAtUUe5VSsIOFzWyvgRJpXD0bf6paDFyRXzdAET/eER5De4lVmYtzUUxXVfdorG01Ft04N+mKCGf1Xr/HBPFX494rxfdt29qNEvIqC3NsujVgSTF0OtqTc2nmNr+x/JSNn1IvuGCsC+SF6TSN4/kqO2ws8rmBQQvl0oUFlI4SPNi6d9VxnLgD4TD73w+sPHIC7GdXUdczk/NgXzdXHZusHoqrsdOzmFnl4PL9ZnOEDTvCTY7TBs55EYaozh9aNa8zOlT1dwHaAe1G7osaFsVApZ7Szb2WPMRrzpLbPx2cKuiXH6aPPg56/lus1/0NqRWTsQpDJDtsFHL5quQ8ghfy42f/YFkD3x2uaI++928oHHexYDsichbXCgeurSdLDT+MMKYQXfk8DJO2Pg6ir3r5lU9ZgN+zWQ/KXytzdS4kqwEluO0F2/LykNcT87zbdHOc/pDEqp2To3dDlTQrhtvsx5hsb/KKYyxholVXqX0sma53ovPI02EGmQerVInRzIzEte3YzXV5QrcyU1TYwLYKIZumbI/SKLasyRz91cJGNt+OpaprfdniBrd89j2aweZ/+dqQ0jA8u/cvFTfYXXKCdZWyLap2fmkRJlTveiw8LgU+4+UBCYCE7Wt07GcxRcDQMyKnM+5r+LxkLl/MKKtpCMB6S2R+Acp6mPgHd2PYn3Tyqe4V+urnJWTXPKDtOuOcXzF/Ctd0lbSvZb6cecfVtU11h/CxGqF0HeCo9qrxPKRs0gUWC+yWe38YKE4/q31kpFe3RL3NUnvel7PYIY=","layer_level":2},{"id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"反向代理服务","description":"reverse-proxy-service","prompt":"创建反向代理服务的架构文档。描述其高阶设计、架构模式和系统边界。记录组件交互、数据流和集成模式。解释技术决策、权衡和约束。包括基础设施要求、可扩展性考虑和部署拓扑。提供系统上下文图和组件分解。解决安全性、监控和灾难恢复等横切关注点。","order":4,"progress_status":"completed","dependent_files":"/crates/pingora-proxy/src/server.rs,/crates/rcoder/src/handler/proxy_handler_api.rs","gmt_create":"2025-12-03T19:16:54.623278+08:00","gmt_modified":"2025-12-03T19:22:50.475783+08:00","raw_data":"WikiEncrypted:FK1S00S/So/d/XqgGPDwpm9tXHZp6Gerci8UmPJZ1V6oiiVUibZzsJdALGjSqBsB/mqv05sVS4+LgMx5WPUayJOFlCk8uMSjnYV5PJPsKX6bRWWxwtETr8Oe2Z5gOwRSxdRDg1c/HcnGL72ZAAZzkOqXAedCYn4qOkxPciEQQwTnJNnq/NimizKzrJKjwg7zpU44/aokdaK98lXgY8FjdEYY2MdghJFGEsrNENxWpkN1wNPVQorQDYaF5aSMLnuQhl0+tRzwxdZgzBVz38zRwh0rJfKeWOTxclwIG18vDsVtiW4dLPV05uM/+KJwllWHRuPLb/+VR5Fiemt9FRknNfb08cydr5xppnJR2aOuww+CvMgMdhhV2nQEyS00pecVAHiqOZZtUux9Y5hazhPmQUJ+ajSrjJ6BkzCszZW4Mv65VBkqfKooU2Om0tL79M0GaFBO7qxTgiYJVOaCdVPQBAxKKjpLWIVRgJM3P9ycc5dvAOzB+YjwLfKpQspLYFf1799n9DRmLTaPEC4sO5DrGaJ31h22wQPl09yFX2rXYJTF07DjftqQMiDdu4mbJBLYj1QUwcZgr9ClbBUc30BMarVbqMWZKfR5HHxwn8jXEb8POX6WnlMscg7h4HSrq/vC0O7G7okpEyxa8b0OclG1z8Cgw/nceW5RTDcCJohNuK46MtP1oU5aUO1VcX4k3ENjvlVuW9+Ol1tMJ8cyL7nUK1RbICwMSu2KrvpGELK2sbFeAdCRilQg01pZwq8wrUUmw0UTai/fGjhKmvpvlDS7ovsIiTKWNayP10803vy9Udoj/uRUgxGLFqoqFVtljaTmSaqd1lyb/OuBdINZbQWWP4Lsui4NPOXATyOfMtuxmDCEcA76Y0dkKhdeE7SMBnbcNSThe4c+E060zbTD3yE0XhSLFYKgmzKDyieK2xwFIYA="},{"id":"2fdf5332-99be-41b5-86a4-24c828e7d360","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"反向代理接口","description":"proxy-api","prompt":"为RCoder项目的反向代理API创建文档。记录/proxy/{port}/{path}端点的路由机制和请求转发逻辑。说明该接口如何将请求代理到AI代理在特定端口上运行的服务。解释端口管理机制和请求/响应的透明转发过程。提供curl示例展示如何通过该接口访问代理的Web界面或API。说明与Pingora反向代理组件的集成方式以及在处理WebSocket连接时的特殊考虑。","parent_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","order":4,"progress_status":"completed","dependent_files":"/crates/rcoder/src/handler/proxy_handler_api.rs,/crates/pingora-proxy/src/server.rs","gmt_create":"2025-12-03T19:17:21.859171+08:00","gmt_modified":"2025-12-03T19:57:32.341522+08:00","raw_data":"WikiEncrypted:+eU7hx920/LG6kTDx8XwnDZKsXslrjlXmSM48NMC0caWIKTsuBBC5wERv9R4VuZW/Si1Y5dfiyHdu0PS+wCM4MrvMpH44nDZ25n8XMu3hcHEU7t1x2S5AeIXqZ7rebJUOZbgWwqBCOUGdhoCEDYHjIULx0CNpe++yl7uZee/jvLcSNES33a00cPtH45KOrwIavsbMW2rvgpzp3fFosqPiYN9WnlToCJGAWxquEjs2bBNaSkc/vhma3PpFRue833jqpDtqKSGpjqUcR4FMc0X4X6nT6KQBjanym7wngEZDHz4H5hrI4+uSVyTgGH3PAHKzLwm/8UxWCFpUBvNd7OJXP7jfvTGlLHv6HTraGHw3FrT0JMNrgT6YxI298nvE39GCNssK345WMNpKdLSp2k1x4oUiBO4uSSkAk6+DZK8l21j+juKRvZbxijaLwowZAPV1dzT1BGXAs9XoYq/X7L3cipFXiAz/q99LirlDM0E+OaIR+X1xfRFLBIE6rzrm51JZXuKjkeKaaVxS4UVBlv0fn8aIyy3mP5lON1F//cqYCs9E5/I7MCnKSJ71bGY4If95/pJl/JdU9AVl3MbIASmHuujM/d08r8CpDUnLh3SvO8T+J6/NHhK6lMzYxnlpWgZgFxFktGKALmU90kcYAAnKAOZeEm+iWOccnPwon/47iA6wCkss3woKhWWInr5g4QjXD9r0zjtsmy1PlnplhSm/bPNM6Xt6XqB+EQ7tlkRpuI5JX8eEht4h+BheIsfstHei1IpX3+fCKwCo22JkFztPUU/qGWA7hxN+A42XiB9C2NYj2yfrCiyoAdRDJ/Pzck3U2fZEg2CNsnQI3tv8r50zC6fuCOMh0a/F9sPxs/Mz2q4eyMy7r5xMggCkbtucw4IQYs1qLw9yc+umx3O9ygNS3Dls1PdvGqshuS3KFvqJ4PU0Pl3rXJSuD58b6TA9MbuTQCGTm3lpV6Fbo5a29Z7NMOyXDsCzHZ7EcUJO91QCPU=","layer_level":1},{"id":"7aab1396-21c8-4db7-8eb6-76ff843d2d23","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"HTTP结果模型","description":"http-result-model","prompt":"开发HTTP结果模型的详细文档聚焦HttpResult\u003cT\u003e泛型结果类型和AppError错误体系。解释统一响应格式的设计理念、成功与失败路径的处理逻辑。详细列举所有错误码及其触发条件说明错误上下文信息的收集机制。结合Axum处理器的返回类型使用展示如何构建标准化API响应。提供序列化输出示例和客户端错误处理建议。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":4,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/http_result.rs,/crates/shared_types/src/model/app_error.rs","gmt_create":"2025-12-03T19:17:44.80101+08:00","gmt_modified":"2025-12-03T19:57:51.441359+08:00","raw_data":"WikiEncrypted:qMLu9FtQc6KJ79qI8iTlnrXwTEs6ERU32JMPFHC0Cafrk2eoZPxHprZDTAfCBA8XdMEnJQUBcDN5L+qVxjXwxN5S+5dXw1LO7idjp1PXzQqYarTy5dULOpkJtfJ66z3mFwj7xQdxr/+lSZ7pCdESvuaKsh0TYr6qHyOVpQTmAs73z3dlBs04azllm+wb709ptnNgwWRLfvRzEBagh8FQDiMfV39yldgJE5zLdpopA77YIbNBHaZgkplp5meZoalV7fmaWcKpsJ70hA1x9tylDJ4JCFMhoyWKk5EbzxpTjHlM93iSP4h5eDdTffwUplV1cUzebi2sYwQE7iefY5OqlsqPtnZYJMHE53TRX+OC4qN3ne0w999mDgDwqIg39Y6VJ/1gIFq6WBKPU39pQEFixMT++2tNq1DnGs0ZA7B1gaoyzOs3AvNhMuXDBs2ppnbGkBNtA+CHOTUZUY6wcVSCQIZFQk/wC1ypAnKvbATF50VY/XGzH/5WhfEucDTVjK2zxdBYdGQd8hACx7sIRh0+uVw7CB/SQ08ygeFdlXgcrUZNse8rM3s+H0LnYJGro4bKVf64KtWxGax8jIT4Lmab9DePw9/Ig3+gQeY8HNFNU8rdGlRXd7BIIaRw1nMgquyGMW4n+kToWZIxlHQeMmnMBgRx6sVH8nYoPgoM7r95eqRL1mu+kriKcEyxQW2FH2YA/lIeHoGhoD4slRZX3TgdK3/QKoDxYkB6LW0HxuBdUG+uQrW+5ssydHwOgFGrZPco6Qo7yUjlLOZZIpZD3SPtpulgNo24+tKRJy9TaOX5hOeu5uGinin8YV7VSBnG3NOaV1rbh0XNk/4+bl2FhCPGaGdReIxiFU4WL94n8kbyqtPNvu5p1+nuz+RrzlttobkcjhHMKYS+N98XzwJz6YiWGxsgKwvrwJuH7dWX9v3i2OsX+lN993AaN2bbc0Btcgb1V5Y4Wf1pUMKoTxsCCUXa3KFH7fd8blWY34NKFECeAqeORydqkVmhXL6udxs11qkp","layer_level":1},{"id":"b4e0b016-8f63-4e91-9e57-513692d71d10","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"会话缓存机制","description":"session-cache-mechanism","prompt":"创建会话缓存机制的详细文档描述session_cache模块如何管理AI代理会话状态。解释缓存数据结构设计、生命周期管理策略和并发访问控制机制。说明缓存项的创建、更新和清理流程以及与代理服务的交互模式。记录内存使用特征、过期策略和性能优化措施。提供实际使用场景示例展示会话状态在聊天交互、进度查询中的应用。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":4,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/service/session_cache.rs,/crates/agent_runner/src/proxy_agent/agent_service.rs","gmt_create":"2025-12-03T19:18:40.44642+08:00","gmt_modified":"2025-12-03T20:03:58.695498+08:00","raw_data":"WikiEncrypted:0Uk4p/ZIoJw1paXZ+Fb51sYTDyJ16mTxnPTqJTccYLbeAm0xRs0p5y3Eat64mwVIairgNe7RuVp9T3+CoDg8uuCxn1jqDuehz9tWuVy45Sp2OoxRl5CvGzwiDNj05Yt6VmjcR215VlDrUmztdV3sTPQn41+rARYkH61cTXnmuyqaWrukVJFXSel0X78ID1ycINViCM4/mD+xzAZjxxt91ht3oo17q/Ng9Qs8MVU4Dey9zh8qtDsqndbvAopRiD/3Gk+ILUbOB/iVrYQl4GVvfeDABdMLMESEsZoAXQL75Ack6jQ4ge/ot1HwcvRbrR6/tC1KtOjwuTDb8h5x1fM3D0UcLZLOeyrmjTQcBw9EB7V1LeroE3fztois0dVBHC/yIuCnuPiVGAOY96R+IDU1OuoJpkte3rFgKp1+rJh7Sp9hsBherK7Fxyqv86aTsAT/0CmnJIIvKMmeQ6EoBGQ/zUhwS4Z1gmycl3ZmqgrrK6EbrJOshQSVeg5DguahSv+qWZZAXhU/JAU5GAm+nCzzEkOQxcRN9kxT9H19rD2TRYGbYX2sGhoEpSWi3uCHC7k06MJmgA+7RTDaWpgPizgrIA6nDKC4GhI2pIX8eOeEFtvQyLXcSAQ13unRqJPUcYJXgbnFZD1GSKXrG45YMeLIXSCK3KarGDzdQFM1sh0wVlRP7/+iI/DAsstFXMYv1z6Vcbq8khAPwS34C4sx7Vblg8ePaQhuVNAtRsjlr7xIHE0r7h80Y1FDW2U9jAmGiiuwB2jYHbp9V0ycXlsfD8n0YOXvKLm9A0ZB9CVV8+7vTKHscYYLLXnpCnBqaRSbW+Uthv4k/SkPiLkDzUFoMAK2Z/DsrQyQbWnyv6xUT1SISG/6SvOoibW7+Q/UQQltcgg2HCS0S8XWHZSU2kR1NWEE+lE4tIhnRyOX2Xcxb1VdQV9gBt864X0n1RmWogXTmRBMUcTY87Lt7qhM5LQVYZxqpOAoaIsSbbHWy4884Y9j/zhBl8wKWAb9pVhnKobFfdYpIftD7ajnPd/jIAv/5E7grObC40+QdiHQ4bSgB3Xmjts=","layer_level":2},{"id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"AI代理管理","description":"ai-agent-management","prompt":"创建AI代理管理的详细内容。彻底解释实现细节、调用关系、接口、领域模型和使用模式。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度。","order":5,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/,/specs/agent-abstraction-layer-design.md","gmt_create":"2025-12-03T19:16:54.623351+08:00","gmt_modified":"2025-12-03T19:22:54.4402+08:00","raw_data":"WikiEncrypted:7+1tGePnSBJWq1VMsF9YKl8vD9Gb0LVC2gKVq8lFlpE0wzI6wpUrD7XiAwjTLQAgcUat0KgpdY+3BwuQ3cFGZI4YmaH4KFn6IriPBgzOt59onqLp24CrcaWM02Ir0BMFTImb2pW39qyM/T8RfPkkqQPeOyrmXM7KD224bG5lXGCb7aA8D5wQmJuYFgBwt/d7Z3WcG844RlauWP0QupxvbrDT8yzF8XiCnKTpSnOsQIIcjEvCuay9VdEI8/zKxGFUq3R81+1leXNXdV5cs0FV5K4VsVvDbe0GWx9cvTAx/TJ/Ch4vYbTg6i6v4Th8uMdJnSxO7TvLqrJpS/bwLEkpYdzrU4R0NU61/8iBhbNr5CnAlpOUD3M9/yogdR8T63eYnl2z1gf1yNA7O+zE1w7CYbFrdfiCkhWClHji3EULpb2NHz5DjXcGrWomL+FQJMMkIgnAglH59+MZOi8rYz8Kh4XpBj2R9xhTNRLE7MdJ/WQl1JyXAOM1ShZV4UDqQuMb07zMYlc93aWEnHeyYWFSQFy+k6hP5iwYiinYl5BmueofUuXUQwNCQ6JJRUW8NsGrctZxeMURu2YJl2a5y16rZT+f0a7MMOvkpWrH98XPnd31258O2kKxQ3WDOvE4TH8j4K7fbgE0jE4rL1nxaumUjBJIiWC6hMBs/2jksc1IVTIAWBCOkIOQbN+wJKI8Wbl4oRf7vQ30zFvFQiPtTIcasqW37iOuct97rhSwnzyqVJ89+H2z2Px1L9YmV//uAIgjqvglu90kTJ8VXntZbl21+SMfN/nSrRFCGt8YtMzICHDMphP14ERm6DXeTBt0CxkXljIiUGqiGawdW+ButlxCcMwAMZFDOsvJY8AARW01mp5B2fLAs5yUjCwRTYqmxJgDRl6fcIgRq6K3GuURq5Ubiyi/d28tceOAP3KlvY3S6dyLxCXTaX9TjCVNFxkRWLHi"},{"id":"51b2cf2a-be01-4ecc-82bd-0b7ba366089e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"附件模型","description":"attachment-model","prompt":"创建附件模型的详细文档说明Attachment结构体的设计与用途。解释文件元数据如路径、大小、MIME类型的存储方式和验证规则。描述附件在聊天上下文中的引用机制、安全检查策略和资源清理流程。结合系统实际用例说明附件如何与AI代理交互并影响提示词构造。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":5,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/attachment.rs","gmt_create":"2025-12-03T19:17:44.801388+08:00","gmt_modified":"2025-12-03T19:58:31.487467+08:00","raw_data":"WikiEncrypted:IVDJPkL66ZUTWVZ1S4lPb1FhAXmDKX1APxXjdlGjzgJo0ejetjVVwUs8aRGYoKlMUNOuJM0rVCctLaBV6g+XUh0mHpFQ8T1uTzAzraBgQvRmvAgYNiOBLwpONV9SMTps0g1j7WJx41b2XVC3+qWkXhTNeB3bZIq0qgxmjB6KUOpGEk/SrCYbZXFHxO3OKxv0Nh5FFKvRu5bV8ruDDVUvUF/LcOzbbpZdnCSavZWIaDIbPCyE30mU3x/DsmvMdEimwmtKfjQOMK5GWOhuyNjyVl+fzKUYzqekBkSS6n9fIDT3sce9ewqFGTLoRynck8d233DoTVebt7Y735BbqE/BDOjswMAcZz1usEMS2aJQW/k+pvX+PSNPzXoHQxKB5slWRYCZSok85NB/uc0IINrW9tnCXKFyZ6WeY/JPQ1jdT528gLZweYID/9UoSuAMOnuOqvhohRScaW0lBttBnDz+1A/BORv9JPKMfGFVcxQ7g6HHaf2zyMhzvEfQCwtnmn4sufhuIZC9+LoVTHrRQ9ds3MutMdkH+EbORrfpuSQ+r5NOZuGHsNE31iZ2bxlgBao3fKfKBd+VJNfkkgkrTH+v/XXrfFNA1NnwrXDZXyUZ4GxCkVeCPQm3/GyfzDv35wS9cI3DuZE6nN1hoevhwaFchF4r6bC2ARMQBRRmgVRaDLpZoERn/v5JA8GSnUyf3RtkaXXI29B8PrnIFwIwQmcNa5ZFyLjQEjqB5asxJHwE+0XP2FBHM3vqfHpP/PbphlIZuFEopWKTldN8NEr5zIoe962CLyIn0yov+jlukspgIly1rsP/lPGx12e7O2+RrLN0","layer_level":1},{"id":"7c622101-ffc7-416e-b93f-b94b9d841563","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"通道工具","description":"channel-utils","prompt":"开发通道工具的详细文档阐述channel_utils模块提供的异步通信工具。说明其如何简化Tokio通道的使用包括通道创建、消息转发和错误处理的辅助函数。解释在代理运行器中各组件间通信的应用场景如命令传递、状态更新和结果返回。记录工具函数的设计理念、性能特征和使用注意事项。提供实际代码示例展示典型使用模式。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":5,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/channel_utils.rs,/crates/agent_runner/src/proxy_agent/agent_service.rs","gmt_create":"2025-12-03T19:18:40.446509+08:00","gmt_modified":"2025-12-03T20:04:35.400846+08:00","raw_data":"WikiEncrypted:xY3VEUQCIIVBr8vVlQSD5Ap5UQZxQESibvtQqg+3ra+TnZdBioPBBsqXctV80W7aeelEVz8KTlk8h9XqK3/JcJsHUH9B1tYf7LLDBF20l4GVDJtJGUeW6WTBsrI9Bv5RAxQltuiRxSUoVr8BEp3VaobqSzvNmVpyEA7CjPo5NwtByjQG8EW+Qiw1F6q9zSslhiSexo4naz6dhX9rZ6uQgdMLWxQ5pRYA0xdk69EZ6s9Hidf/g5/yFCFSUpq8QlkmQV1L4gV3XpbaistsJLpVf2u8V3WgZXjlbdloR2AaEsQCMBz3WWzDuldgHXwGE27eio0TchLu6x/6lggF9zOKzPsQQyKVDgFCK9p8d+m/6S3ERK/4n1pH3tGWVvZTuLWgguWtcfiigalut86Y7V0llNT4/yPOI1r/xG5eXOMhOMc8ce9L65cIWBXYS4m90JWyfoSbCXMe06/GW1R1+Y4qVjw6/j2EVkDWQJx3acG5T64Xb+4Tf9v3EAEo2YvQnZHyFX72HH63XMAxi9C+OC222R6r+MWXjxXnY7aNoxqpqSwjWXNPDBuKv/r1sYBpkKRdsvaFR0CafB0z5va2hrM4+r3zXfwV2GlFlq0H6B4H8BRGksIlpw+oWFgz7d5958pxMpc9r60mkMxYuyO8noZe+PV/WT6grddUfwgEMcNC+Ax9/GhZjA7qPIWA83hIiukMu5mDD2T0y9gta232GTyUeRGyB02auco06DX94Co96MgoteTnaheDvOdnFZ6P+bqBKIQ8k0t7ahECh2duqc0cwyp6lj0nRbk1LFw9ih36tx7TtK4QR0PNa/ICkN2pCBtKryIruJrt3dsM9pZaaZivUy9L6zgVFAozJ4tQj2/hr2Iy4a6UflKS9S8HI06yEoj5+vntEofuTBKSiV2JS6KXk5DU/A8u3fkahsxgtEGl9xUzsUHMRBLQbHyD/7VkBHOf+wetCVHQxcS4suz3FGKB9nbtK2OG/MIBVA+C06Em1gWyOTHK5ro1NpZAlV1AmeNbzk1PuvasfdfOx3rQ0/s5EQ==","layer_level":2},{"id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"容器化管理","description":"containerization-management","prompt":"创建容器化管理的详细内容。彻底解释Docker集成、容器生命周期、资源隔离和镜像管理的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度。","order":6,"progress_status":"completed","dependent_files":"/crates/docker_manager/src/,/crates/docker_manager/README.md","gmt_create":"2025-12-03T19:16:54.623442+08:00","gmt_modified":"2025-12-03T19:24:55.745252+08:00","raw_data":"WikiEncrypted:OYVOcFWO8QG2KTNzD99v4zdd4YuoOOMwK93vzfRDwyPXSIuyt4PYeZoFnliRI0g0k9I+LgjzLETCFaQEa8YvnfcSKgRwn+l7EQHIZTaKoCwuvyffYlsapWIOC5Fzi8j0xLFYqXO5kCqJdYSp+F2c98Kr7txNlhGoMzbw6X33aoRM8CN0oI/RoaB1L914v0XeDtKviqJ/uGZ5AAjcopx7txCNYBC3fywmNicwmLS3YtAyqWzfbLybSD+FguHe7fJ+IzLVOwGRZJHcMtukTCCNIHb6sbHOQrit7eiQDda0vFuYqkHvmxWtzphKvRKMXhYlFCITlb3sDVXQ+lY93noxtP2RfTspduxaZ9rl1tsTq+U2vnOhqD2bPa8v/CmTsMzvBrmmDmXueGELgYRcMaHmKREWEucH3+cNCBpBrKusns8Qmw4i70ugnpBToM+SpiR7Jfmw4eFlq/DJkz91iJQc/KtirL8tl/e2NzzJvyXQkamlW84wooCRZmLo2/V4yiFDSTjXJ6aXY5q//c09cCyXoXj6x3PrIwXhymlExkh50ZAAhBLvQafXAqdnj8W+GlFTyeV9kyuBmJLz1CRKnMfIsLKffZw9bRdKOyBMmn3VVGqrNY4TpLZSFivAA0x7D2aHCHbUZy95KuNoXTBvZ1B0QAE4veIWlZjtPf9iiRMC7VAzrzVUsYUhT5PbmI/EnI+6oyWuX0DM8AP0kgXhrN1TA9scF/3GbGeqoyV52gmZSLp9JngIjFtMT4KXceGMvtaczgaWCBJTIOuyCc93ib9kGNtWX5bcvvjnVk9zc0DOfDtPjXz7ZmHF1Y+scfLu/weoU+fcHyF3AcLOElybrXoLN1yHTn9QqZZwX4WVnO1zLk8Nyww5gZi+fS8wPMG9dluzXswyBisMTQz5yH7/DLdXuJ978i87wY+z9SLvYasbQeV9g1MJImk5rD3JYkW+K5tO"},{"id":"2396b384-dcb0-41be-aa0b-28cd0fd6e211","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"gRPC数据模型","description":"grpc-data-model","prompt":"创建gRPC数据模型的全面文档基于agent.proto协议文件生成的Rust结构体。详细说明Protobuf消息类型如AgentRequest、AgentResponse的字段定义和语义。解释gRPC服务接口与ACP协议的映射关系包括流式调用的实现细节。提供序列化性能分析、版本兼容性策略和协议扩展指南。结合agent_runner的实际调用场景展示客户端和服务端的数据交换模式。","parent_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","order":6,"progress_status":"completed","dependent_files":"/crates/shared_types/proto/agent.proto,/crates/shared_types/src/grpc/agent.rs","gmt_create":"2025-12-03T19:17:44.801614+08:00","gmt_modified":"2025-12-03T19:59:20.898134+08:00","raw_data":"WikiEncrypted:eVLWEwH9Q+z0DZYUSav2EgYW+ImLMNzE7jJ17lm6cuy1zQK+o47tJ8CB9C/niF3rQDQJf55w8uZLi2d8LIBwDXbZ9wZs9hEvEbGrhXoY/b3sfYF5c2VZRcaM/jOUVBrcd/p1t3GrigRmitt21TdMKMhZ3fRIFE2tHGSYkhHIGgQ2tKSHvAXdawwQlFrsWGtd8Umz/97dKX99GQ2p/bDl5o9ol49v79c9iEtYgBZPyuEM3IwBYD66OQOkyhz/KvL4JXNUGHJvjhNYIcJEL73HhGeaKlK3xu7qir5N1S6CJh8PlxawRQyMjoaM6rIz49+o3tQPUo6xZ/Rh8+Avf/mH1N547PGHtRfiIwZY3X4+FTxwwqMsHRgy9Frh+8Rx5fVouOwYw7kkYKCxYEwdlXOWz7BKsI/oFGUr/uL7Yb49hAXPLNXJa4smxWcue5Fjht823fyc18kDvWo2Y7UwbHYQg53Bdgh+WTCEAw4tT43lEcKulil1hdH6sa11jNkAHeSaMmtfjvTEGVdpfG6LrWd4R4UGy8urFtiFfgD4I7hxgjP5WtDL1tCHgItGZJftMm26gEkjG66PzaGOaQAmgUgkzs6Qk/QtjPCZrjoR7+llOyxTYiq9YsisanZheq2FEO3UKV/rYdhplKI9sO4cA3GD3V22b9U4xHgKx5Q8oXl1cGtHnYlQvAsIHvhFk9uX5Hw6nOILCVaEQDUcf/faBvHC56spOmGBCR3qx+lSHAgx3hIp9x6wtcZy/7z4ZNB36mwEK6bmXKrQYGNGlQCcBhy2yloMrKXb5kiArYFOiUewDtxqL11w8dIav1yvnoTAzjkSltuYawDW5ha5qxXgSNPJBRWqt2LJF8MnPE9fctEujwd+S8AJmfFW6lqaF8sgSrKgmDUq/eXO8Xh56+pFVjUBOu5B2BSfmIE+jQBKqZPgjF0jGB1935Bol84RTDrMqmLeLqkxsHQh5RUiK0eXMpEbhkC3vBaMdxet3QDV4ze0eKYWIm0XDy0iC/QwWOuZNYM2","layer_level":1},{"id":"5bdc1671-70b4-4ab7-9bcb-7f6e6f3aa08a","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"清理任务","description":"cleanup-task","prompt":"创建清理任务的详细文档描述cleanup_task模块如何管理代理终止后的资源清理工作。解释定时任务的调度机制、资源释放流程和错误处理策略。说明与代理停止处理器的协作方式确保容器、网络端口和其他系统资源的正确回收。记录超时处理、重试机制和日志记录实践。提供配置选项说明和性能影响评估。","parent_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","order":6,"progress_status":"completed","dependent_files":"/crates/agent_runner/src/proxy_agent/cleanup_task.rs,/crates/agent_runner/src/proxy_agent/agent_stop_handle.rs","gmt_create":"2025-12-03T19:18:40.446618+08:00","gmt_modified":"2025-12-03T20:05:40.143848+08:00","raw_data":"WikiEncrypted:nCYbw0RUlaZLN3ZmJrFd23xw2ZNOAxd3EAqjwtsKqFYBcoYxdYFyPBzc1Xj0elVE38uY+CtPGBbtRK23yd+VZrn1BcTNrkbxUPBkkf8C2TGbSr/tH23qqDpn5JCMYjn79NgbokfQajpHk/ysWz+fJyJmJVMX+8NGnudmsKZ25FdLejkMJVh++bdsJLbpYBp9o0vpDVyKcupOsMytUEFZ775XHT0WSy2QYIFEt+pXfOQPZeZHMEBBz5Wwfl0fRjKDB2OnsWOd0J86ItsZqP9vhW0xo6J6YD1GMubc9nKBNk21woUlUv07jkaBRqWpx8fbRM497jVx55c0Kfsqb2IO+NBvjvtYighryipRKWLl01uuD9CvhPdIYErzQJGrrZ7dlM5hZQXZznabGC2LqGV1ltLIIXvjI1PM5hhuvLPU0bSP7Bmn2xjGdyWxnmipZmtKX3qkYjfujAsU2gGXaOjE7NxC2UklNtLQQn7JQoMqpvs3dg+lFbiC05qt0kAFy4YBYNGdEG5zilSFbxkGiF7sZn1U+eaV+pf7Eyizv5Dbjf5K2BbU6LWAh2TKJEcHhiGsCpgc/e7/6RcJkGsVJSS9uRhQrLU7/5DeHF9M+UlMrg20cRXhOxX1ZOQ4ncv1tHR5V0IxWvIpoTIpJrDCsmqJoP/DfqCxniOU3EHEGib/swXUixqvRJu+ZLHKfVQCbod4jzD0sEOvAN1l9bVgb2CM+C6gT9Uv6qvoj8zyCIc83/C7aq+1iQ4MqKrQ8IdnfO+V9qhZsQkD7ckAaTKa4GfdSDpVo+mTSlJR35b/fh5IPgTYYtWa7PFNSZIruHLwqxQgbuHTqwlUUMq+Gg4RjjMKFlcWAYcrfZ7v8CJ83fPh6vdNwbFbYSrOGtCfrV9zn1pcD3FPznl0fSEYvhHS52+iRAKteJXSs1GoylKsgs/9UC4LZKSBX/Uhwhp82i9Qw407PKitVCEeVRmRIwLtTuN+4s+KQnzDEAG/RWwLA2rsN/PIWCh5uV/gAVjt2uDEk4hH","layer_level":2},{"id":"fb8a1d6b-111a-4fb8-aa25-a6a41fbdf3e9","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"配置系统","description":"configuration-system","prompt":"创建配置系统的详细内容。彻底解释配置优先级、配置文件、环境变量和命令行参数的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问,同时为经验丰富的开发人员提供足够的技术深度。","order":7,"progress_status":"completed","dependent_files":"/crates/rcoder/src/config.rs,/config.yml","gmt_create":"2025-12-03T19:16:54.623522+08:00","gmt_modified":"2025-12-03T19:24:48.859079+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllPAO2EMkHpg2qR1Dd1V26tPi/dWeWTHFMh1XOcZ/Qoe9VCfZi9QqPRei9eS+u124XdTmupbHRS4XDIkXImSBZkOGMgLowtAkHMMYC1NHMUnmz5r1tGd0lunTPbFZDcJmxgVz+6hWl41wcR6gtLQMbKruOqs+8+1A/qjKo04xckURVsH4oK5Owrfwcn6x4g1vxjoyGaF1TJimSWJ9AvdsFBmmMVn0bmyHsZkJue4omi4wDb2B2IHwCqsgpu8FAPJ5mVkPLBBBgk/lO5WFwOY4hEYAGN0Uy/+BLYJ2dp0WE7XYNnX3PDpBXUTSY1LtAL+RtqoTq2IaotksEbJy9vUZK66z0+Y8xd/IkS3cwpyhKJ3+uUH4Kaek3YwC/7HRum52SGgmAPenKsf9Y6l+Td7/11zhTO52FFWgcRkQYzlnwqdesXCUJ9XxuxAeruIxZZmhs14YErjEM/Rzir8nnMl6tmw/ul92ixAQv5d4zpSNY6092FbxihOZdwv0UV7fU+Vm2uWTeIm9/qdk1UQMOHSU1jeiWmsIMpXXKhHpc2upvVtkGSvN0dHxHxtjy3OhBE8poFfHUhWDncTcUj0pkl3wT160/LSas9AExEYq2Vc2kFDz4QZ+dCZ2+wlQ8/jPIBIBKp1S8ZJ7nU5INduRW+HjGPw4AG36BUhNK5o5iWsq3nGO9vjflEjj6LfKPUiBysvfZaF8mPsbgrtcv2rvarvQliqvNUq4UhZ7QQzwQcgbkjgzTwtqy7bVxDSPM659MLVdT5GsxQDBBSkb7gXZtIG5rc8q2cuAFUDU7bd4nYQ5lEcQ"},{"id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"数据模型与类型","description":"data-models-types","prompt":"创建全面的数据模型文档重点介绍RCoder项目的数据模型与类型。详细说明实体关系、字段定义和数据类型。记录主键/外键、索引和约束。解释数据验证规则和业务规则。包括数据库模式图和示例数据。记录数据访问模式、缓存策略和性能考虑。指定数据生命周期、保留策略和归档规则。包括数据迁移路径和版本管理。","order":8,"progress_status":"completed","dependent_files":"/crates/shared_types/src/model/,/crates/shared_types/proto/agent.proto","gmt_create":"2025-12-03T19:16:54.623684+08:00","gmt_modified":"2025-12-03T19:25:39.07155+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFt0NCzj421YGour4SW5ZzEpcc9TsGDM1j0TheyWPaOdgTZU2+7lWztOUHh6DkN7jbIaWz2UScUDNlJGXbBHg1ezZZ4GuG3wbOpcYIJjiCadTP/HmJK8IGgyLZv7DFN1M8BDbciaDKUx/lTU7b8mhdz8yeSZouNwIDAQu0m6SNrXIsAyU9htYhti3sILCeGttrFdEwk2WCMec+88RFpi9cUfACnw/uZCDFXicbWVZaXV/uVfCQC0f1isRqpiAcFOt6xjLYEF3l9Ie/F0IorAUZ9ohyee8p0Na3iMkHgPpnmrc0ivce+L5FEjlZrLmI0lPO7ptZ8RPraZw9g562dCMWYmdpo9b62gWR6BLiWW+APL0TKzrc0SeuRzYvhHY5XHyXNwEKOBP5IY3IZiQlicT/yetcEY7zj4NMccDUSy377RL+u1MLLKBNXLGVvK5M39lBkdV1txVY0gcDaHKE56H4wwKzRCUuy+E/j6KGTQ42Cr1mPaZlaZKV52NCTkI7peCUw+78XKhPTMz1Dg4drbk+Zg6lPjGIWSTB7oYotPOpCQbvWSa5dNNJ2hAjiwidH10PLhxCxXTgsVW64PhJBauvwP7N7RyOleoIg5fqU49ph04+ohJwNAWkVefA82UfaGOhzbJ4+PAqtNigOJZK1CgbX6vy5ozsSVt0XHWLtab1GsyR2iIF0t6kPl7F9DZUdsa8p60dvkg6fwL21DqcDQJ4YOQTRwRTSEV6XBFbroiS9qiWxs2ChD5S6V2pLfiM3qCmV1jeLgvMET8sDgkFJZwpTmENkx5jlnLRjrUECVRxRTQmyM1gtZ5EU8FoihtqHUMN1EO2WSFX33cIXSkwRAE7rXGwwxsR8xBBGOGACDV3WoIp09T0szZOBl1UYqo4/D2+q3Mt315Vuo1T/Q0YVoPD8xFFZl1sEPUdArAeJGgC536I1p82yIJWAilvEOrHkq4Th3XMFg+qO+sB0dD2kpUAWMgbttf0uvgMxlnEHoZGEp2J"},{"id":"04feb733-c3c4-4520-81b6-fc5e1504055a","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"核心模块架构","description":"core-module-architecture","prompt":"创建核心模块架构的架构文档。描述其高阶设计、架构模式和系统边界。记录组件交互、数据流和集成模式。解释技术决策、权衡和约束。包括基础设施要求、可扩展性考虑和部署拓扑。提供系统上下文图和组件分解。解决安全性、监控和灾难恢复等横切关注点。","order":9,"progress_status":"completed","dependent_files":"/crates/rcoder/src/main.rs,/crates/rcoder/src/router.rs,/crates/agent_runner/src/main.rs","gmt_create":"2025-12-03T19:16:54.623743+08:00","gmt_modified":"2025-12-03T19:26:00.026483+08:00","raw_data":"WikiEncrypted:bpQ1QlMq61uqjeQzqQaeFAbsyq6YlZ+whCUMuR4+PZyIjEYWJRV6rlP+OXUs9fA6hQQekMB7xY9k/l+nPxjxfrdHIOPdVpxtPlOJDYlrpPDdFRVCyxRJ6+t+2Ne4/8g/0/So2zq3rEd5AwNWfXuUZr3KYikZBHsBYpZX9FXwTyZ9Pk82uC8PFYbL9aOyQVtei9Lk77QV8IqJMbDzvOSkuZ2T6ucKFZuuYpI4sUHjRdQNjPjxzzZbi9aHMqtOVU1yMXmJ2vPdUP0jQmOMEpgrlIWj39pRhLRnwTKAfE1rzjhVddWa9F9UUF1ep0evGqJNsjbSfl+4yRMeL9ElfGmWETZMu6gsR5sSOYKYcf1loqGzSw+5MBsgNLEAwa7Tk4EU0864ngUfn9dPcs3be37Kn3a3/BUjZ01D5WJfXZoLLr3ljXyq2oVLwhvc35HZJfFKMhd3RTaf6etSZMzH3K46NlVUX1uRcfzCGl+APdEvBkgOxV56+zzjqGjgPC4I+t202yq2A4lVwlFW0pHMLJvnUbwGLugGNECc8nK2Nh3OYA3xpex4QHvT49wzRXK2PhJo/STNt+TXbFVF2YdohVzbqaw1lF39LGpGuOJR2b8/xvQ9QTu2h4debWaBYANOYRmWYccqb9/FZnNeOsdtpYuX4Z/KIxac+u7/fFbHOn6bB2EHiv1twFBMzRfE5bj9h3kZGI89CQlkI2M+KPL8MeUFILWGYySj2wHuZoMvpLKOZPgpe3DS4MEyemE+j264wqwc5c0Atzw9CngC5/Q92fkCf4ApesS9C67mfyY5t75/3rzWZM2hPe2KQ7uP2Am5HoOBLiE7sGudl5CQ+8nLebZHthglePSaRs70OSXDNUuH3imezMzduqirsRI57Ujmj/WMYy/F/F8MebrPDiqK92aSDizfo7PI7/riMT3oOZHXsqkolvwNxfmUTkye5SBaiB1E"},{"id":"83f27c12-c663-4758-914a-e39985bfed0e","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"可观测性","description":"observability","prompt":"创建可观测性的详细内容。彻底解释日志系统、链路追踪、性能监控和错误处理的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问,同时为经验丰富的开发人员提供足够的技术深度。","order":10,"progress_status":"completed","dependent_files":"/crates/rcoder/src/middleware/tracing_middleware.rs,/Cargo.toml","gmt_create":"2025-12-03T19:16:54.633573+08:00","gmt_modified":"2025-12-03T19:27:17.463712+08:00","raw_data":"WikiEncrypted:NHF5QhyRnk0exXzMU2dBwFt4ZGl25A95lXSnXepqjcfyfMn2SJA4MnvUnjUt53Zgya/xM6ro35vwoisomiPTyO1dtvv9H93qdhUGjYC891VJLvKt7DGO5qoICtrbgmkLVRPmpC5fYHKF1qZQGl/Uz5iwKyv+ZuORL6DCtC8oWaR4AfCrX+PUpOggvGPl/V0cU6i6fqVwkSEAGVipL94DW86EMJfNApyAYo6awRu2B2dDo7m6D30/9+CG9usQ5rZZgw56BW7hxMv6U6JNtomD21MfgK/SSBEAJbvK/cdoPyJDGWJqQ3KTIMXyJkHPqDnjzD222ZJD0+dfkn102tmkSz0W2aK1fKOfnG2m/0JseF3XlQCLq1lenwJhLhb3QjDbGYhabPSn5Z6BJp1RnHCHMNH/bscIZpj4eiobbkP6wIdIw24miemNyFLLOkAmdrrE2HtUlVTW1oGF+ASUgHrGuJd8G3Vwd1ghrwGiPc+9kIjJZwUJ56j1QDS6xfjg/avzIbU4GZ1pXuwTC8rdL+p2yMslHC7232qJS823pYlvXwbnK3Kn1V7nFAmSGC18TeNg5EzeTtWg9lORLmYKkWR79VYRFgyzLXzYqnuathV+9G/qdJfyPCtgp9uXuV0Ns6hJJsEpsKBvO1T9v+QgtTvqB7Y4c8XwuQgesfkTra1ZsCpFKcvNd5TD5e7/yZEQx6TZUCtvM+gmyVUN3pg5MLk+cQZJ8ALcOJwxHLJxxo4eyG3qnRl6tBFz7tYtk4v/TFXe4ZQXmwTgBJY/n5xHuz7N/LdSmrb7MuMAMqvDY3wA11T6Nw6iIm8EbHrZcF25XyXOaTLCV8UVpZQ9kTytjVAWg67z7QFcL5pqaVZJjMO+cLI73OQAXFv3jke6+sGPs/y9jAonvmyq+MCnDuv8WDyw/g=="},{"id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"部署指南","description":"deployment-guide","prompt":"创建部署指南的详细内容。彻底解释Docker部署、Docker Compose、生产环境配置和systemd服务的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度。","order":11,"progress_status":"completed","dependent_files":"/docker/Dockerfile,/docker/docker-compose.yml,/rcoder-service.sh","gmt_create":"2025-12-03T19:16:54.633807+08:00","gmt_modified":"2025-12-03T19:27:09.04654+08:00","raw_data":"WikiEncrypted:0IKfLNOWe9mZfG1jVts3wxq1Ie83+Lf6EMuycQSN7s3NFV5ooa3Scq2B9C67gTKq2J61WmIo8uwzopEI3o+rxzrh8mkmtmz+uFG6auxPZk9e1YrFi3LrH8dsfXnGPBDs2giKAmJ5nhaWP2bgl8nr0EehdgUfFy3lLX00aQzrxc6CTnSN9KrDzSPDXm5bOG0hEPfFlx9NSz7G3LPqNBBvpSgEzdYfaDOx2XPC1sbI+xUGlvoam6b+aY59zvW4/LTbd4kP+sq0JxiOmCKS65LbzyXluuVhItAIRJXUbA1PlqrtjVeRgR7Kp1VoJtEmJqAV/o+mWCsHtHyOCeaDm7Xe5zMbW2Q8A9SA0cQYk8OlfUsziPrH8wm5ZOKF5m29Gb1zFEj2ek4JGPyeiLlNXJzuD0f1MiIABo7sL8oUVSeAHhw5X6rj5ejqM5pl8SnyUQVGIr2sMEjOdjLMUJXikS1AJTTlAAbCq6YhYSf/W273gl65F0w4CcdrbJH9x/qthxtBzQ1JdRLTJNK/mJ5qTD3D4ti6Kbtxdrk62NasUVJ9almBJN2TJcC1lEwp3uXNVU2CnylADdITsQbnIzgWwkz4RlUk+Rig+GPoF7jK+T1y9gbFd9o6YrnnZkcwSNMiA/1mqjepdQKn/8N4E2ALl+fyFDiokDtAOVGdlUkNwpFKjMOR+CrRxg+PDuX4BBXR4F/PxVG1Gv7N/S+PMw+/mAiA4t0YqSptTMFHcofKs6O+Fb/kFW+H7j8SBAnWXIOKvyHLT5pFa/jIpy8iafswP6iNhSpTOm4tvjerHfT+rgEI6BZwLw6ArTlUxrG6mlUfRvA9F1fc3a+PGFntYgy+Rie4v04KqF68EKbtYJCQOrTeZuoAJU0WYLUo/mtBsKI8vzoiLA404MeeaBBR3J3T7Kl/e/pt7kgumsrJWW1DbwEkvNpq2gd4fVdqqGNmv5lLCiWF"},{"id":"5923937b-a8ce-4ee1-be2c-364f856e0f66","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"开发指南","description":"development-guide","prompt":"创建开发指南的详细内容。彻底解释代码结构、测试策略、代码质量和本地开发的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问,同时为经验丰富的开发人员提供足够的技术深度。","order":12,"progress_status":"completed","dependent_files":"/Makefile,/Cargo.toml","gmt_create":"2025-12-03T19:16:54.633864+08:00","gmt_modified":"2025-12-03T19:28:01.670724+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C/ucQxiwh0okVA48AmODs5RKNS8ZgNngqmnHSFcG/1UaJxx+3dUn+EkMTpYUsOg40r8xlCPMH80x0v0U+Q6nU2AiP1V54JGfs5X6meLmbrXFPkbZk6P6nCqso3lh8ieSOoJOjyh66Jc2q9vTLfTu1qGumOhK8bwPAemIobxR4WOLR/HQ+hv6th66KitybPJL8SMGDI6ge/blbW6bf51yTCv6QhHY6WAG/smhuvDeqdYS6vr+yFD3aFIAAxnXMhihsFmTGnVh9du6KCljwgpePwZThTAEVRoJGDdKrDttd+t0m43i2gNoY1U8jh6xggRoeI0SzTtYonUuwPbXFq8B+e7RM4PVPixDE9HYYBEhN3FmHqrATrbZ/dWqzTLELHoVCXxKvir7Txjc/aGMHlIiXtqkjPc9sir7xZ8TDbS4RrMIa+S1rfnggeX0+roaDi8vSNftjWYCRn/jYuewfXXOdr6ku3TUv6VGw77iIB1jzWBOqjFvCwzssE7WTTDcQrMPU32MOB2RUX968lvzxp3yxF2tkzuuPsnuCq3uWvEtrlbkbZNMUB83ZyOEWBZCIm9M/gTeLD9F+oe1DG4DkzNs/n3i19qTLj5ZlY8YsJ0mDDeuokgEEaCxIck9mc2zAc5ZLSu2V8hT0ZTSL0hQ73fvZoHOR9NEZ2K8Dte5LVIB0Nb32Xk3zwOkAW5Y7uXctu2hHdus7dYTciavt/82Dk+x6qZqwJ28MOfunrwjZZPvZSg8hDg4RF+srdaUNCkeplilrA=="},{"id":"8060eaaa-4518-4fa1-9d42-f1385556bfd4","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"设计文档","description":"design-documents","prompt":"创建设计文档的详细内容。彻底解释代理抽象层设计、gRPC迁移设计和多Docker镜像设计的实现细节。包括来自实际代码库的具体示例。记录设计决策、权衡和约束。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度。","order":13,"progress_status":"completed","dependent_files":"/specs/agent-abstraction-layer-design.md,/specs/grpc-migration-design.md,/specs/multi-docker-image-design.md","gmt_create":"2025-12-03T19:16:54.633904+08:00","gmt_modified":"2025-12-03T19:29:15.618861+08:00","raw_data":"WikiEncrypted:tQ/n3TmqqyhuGeI8lCgAb1VQ8K5FuacpWk1m3LJD6j1NjXyLBteCuAOm+OUquTrTgs30sRXIPLkn55l8dvZz9KKyrTxDdgBeGhLfexaLzZ5F/WeDNF3ilisPgqVwUmPGt8OJQHmaOiqpJTPYXCvN2n7Vc6qfFnBgBjSWSpczYFqO/LaYPReKPKbYEJ0sV2yu1Fy7ISHu1zlsPw5Gf8o6TPgT4mnWKzjjsyBZLXrbgoE+ptZcbEre7gvZvhEmJHkjx+nC+INI/i8cPDpjzVa+n3Lr3ojj1F3ICdJ0HnYxbBhTW8bQ2pmzvPBDFJDieClKj0WtIWivQlFvfmOwUE9GRmVyAFy82Q0LHCOjpvMM3kdy1HwMqeg2ihz5gW76HFETMNvyG6zsIXyTzkRcaykeZNZz6/U77jInIRcBnDQ8fEb/YLGXvzbrMnDzBQLwaNy6uWko8SFZmiPhLWKTxL4oy8PDGApaEiie7JZYO/QmicKZbZpSzjnLsrD71/Hwd762dZwNqyuSEBA61zBvZx7cWPf3UAJhPxzFCRFtb8+Y4eeqPno85xmUgzHh1jTY6H5QRkv1toO7/oZfXH/biFV1VC/mF3iOdohjTusWcA1zTTIAilEWheWFAXnL+xGbRVDdvhCLQuW3uRdq24FwBPMsXR6k9gZW7tgVjH6kTqhWJDjWaPYqT2oZ2t+5CLFyb79LiNlS9TK2vLkGpo68XMtitMlRY4JYdTn7SBQ4m+jARUwLkrEf+pf19IcWhMC9qSyKVg3eq8kEnoh5RiXnAdDGCk721wnceUOOzKfTU441rLx/6c7mhF1EWs2oWMOY0cinC3NoPBMAOCx476JlHdWxaTA6NS9pw+aE8sVjaPqe2qPBAn01J0NqPa1okpA6juaveiuzmyzCasMAC+ghnRBoiHUYiD6Ay9ziE26p5+LiYRQpk7qjex32BqMPp/qA5XPgNYwq1urVdRraA9ev/MLOwh2bF45vYMIbsQ5J01UOW8Zw/05HceVDE+c3dl6+C2lX"},{"id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"故障排除","description":"troubleshooting","prompt":"创建故障排除的详细内容。彻底解释常见问题、日志分析、性能优化和安全考虑的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问,同时为经验丰富的开发人员提供足够的技术深度。","order":14,"progress_status":"completed","dependent_files":"/README.md,/CLAUDE.md","gmt_create":"2025-12-03T19:16:54.633959+08:00","gmt_modified":"2025-12-03T19:29:39.13206+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0hGGy7zXJE5t3XZJK+9x87Wqy/1Xzi+22LbOfczFZkieMj5WEpLZAHMOxW2WrQJBBFYvf5OiFl2POpd8fkvNrXMKAUFrePnunrUWl5jlXlYGLm8ksZZXdzKHU5FHMgizvN8uw3ql5goSJZNfFQmmx8JtFyfwUOkVpUZr7pwr85Nsx2u5nBQWTytJIUiO7OootXB2qLTUzr5PEK8DvaBVQJmFgVnyenbOTnZzn4jAbByMsIHbutFeXcBVTiBI9YdfSGeVi/MrjpGHYNslHbXUQLpFyTD8BdGUYb97VCVmGciGUw1TOCLjCUULA4+UCeE6phjx2i/lmUpdz77mdUumX0Lb507rJ4xsLA6kCIsSi8yPouEZuBOD+/FbCz0xN4i9du9aRt3ShEUAVP7LUhW2c6nXHJNokMT2iynzu3qAa+82BY9KuGE8FirZ+jPLLnpKRYLvSNlaK79wmjL+Wp+V7xaiXFUbtihvDEfmP/8V9lqLuQC9nvkS2HIFZLTUEJ92o6VTchMNTpxYojInri11AHfet4lpf6jxtMvXnYgr8pSNaCMYim/KopDQehHutrvFfGDY2vTEqpHEHh1+YiiBDXwTXLGVJ0yJb3Bt0GaXdMvLL6KueOR3x50i3nm81ZQc66RQoqFTjY4xrHIfCF1UNKIGGm+sd5iD5wsDqqiUKitMs6SHpd4MOOHMmx4vhLGKRE2vfEl0yXmcbW6ucf1aMr/F9RhxAsLyEzu+6tfwePR4mjS3Rh/q0OXYY502f6BElcvxLusl/342wyAoDK8ndD6QCOny0rODULWl2lpxgjGdVCMJdu83pbjpvP5Ba6/+XBFSvz0oDxlYqMF8ERqIswU="},{"id":"5822f780-8226-4031-b6eb-7f8cdc219dc5","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"贡献指南","description":"contribution-guide","prompt":"创建贡献指南的详细内容。彻底解释贡献流程、代码规范、测试要求和文档更新的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问,同时为经验丰富的开发人员提供足够的技术深度。","order":15,"progress_status":"completed","dependent_files":"/CONTRIBUTING.md,/README.md","gmt_create":"2025-12-03T19:16:54.633996+08:00","gmt_modified":"2025-12-03T19:29:36.782445+08:00","raw_data":"WikiEncrypted:BxDZrTl5aGXx1MaECOB3Neyk0qJpNGfyo5P4oy8YSOOJ7KO8Krt0w/QnZtYrQ6ghjcjAIq8HmCLW4xESwmQJYjn2bdIi/1tOt8bCv98S2yG8BoxvZcggdzOa6mNwgjglDj6jW9zqWHRJebRf0kK+1v2ISZtuIhTuqSiNKHlBmsZ5em04KoBVsAuuOPxdcTW7GglHaNUUsPfJw/lRC+hRNksw9skyhBGh5TRO12PBrOKZYhNiyikjnRJ1YPZu/TYnWk+nAWXsOS8sG6LvKYxdrd2L4UnUgoW6C0gY+YdkqikwVh3egcLjXiG4JwsQnzSg3GEOP5IgWAnJXiETFiFdd6VJryX7+aauXZt4L6/lGbOHUWraZltPnvfPiULwg+FsbDb7TGJXWxlSb0GbQ4cl2IgxqveYRTZd/qqjh9+9cwNLwJQiTCz0WMu1yd4ZUdpSAiQgtiKAUH+gJIJiHPWN+kOGSXrAswHjlVuIlZ9NagVMDagCa6dZpiyTC7Zeja3W79zfcKtC5KRDyzpZ8RDLGCP6bU3L9udhG+0gknC6SS5cYj69mjdTrnU/G2EOzJCYLWXxz494mBanbOZ6K30XhYTwX+MF6CtduTozWCRKCANG81s1TsHBLTaK3iSr5akEggKyQ8bPVKYU0YtY31IP5+23EiXQwtRKVgRABycqXqN9eaA8mns0jwa8PQN1bfJYXkuvvNI4WPj9jrk0NiE8cKHgtTgTykByIEi69VvLxvvwnUcqYI65hPiHAsBVdBdEmi3j4D0LyDTwA8e1llyvBEGSJDUycxlDsBngo0G8wY4="},{"id":"58a6c092-d165-46cc-98d3-51649baebc8f","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"附录","description":"appendix","prompt":"创建附录的详细内容。彻底解释相关链接、许可证、变更日志和FAQ的实现细节。包括来自实际代码库的具体示例。记录配置选项、参数和返回值。解释与其他组件的关系。解决常见问题及其解决方案。使内容对初学者可访问同时为经验丰富的开发人员提供足够的技术深度。","order":16,"progress_status":"completed","dependent_files":"/README.md,/LICENSE,/CHANGELOG.md,/docs/FAQ.md","gmt_create":"2025-12-03T19:16:54.634045+08:00","gmt_modified":"2025-12-03T19:30:21.010606+08:00","raw_data":"WikiEncrypted:oXFVdwVYdtK9JMQUocGTlyjDCilxkw4PGxCXaxjwYlUvHcG+elI7U+qfPm1rQNsArvLPDYjlNeoWNYbWSazdlmLbeGnPMWVhLEIJe2Qkjrtl0SBeC2LtyFVVbE0x6JgA0EWGTKDa4+SgyWSaqml7CVICoQGcwyr3R5M202JbQ3Itn3ewxlYrmpkvX5apyV8qIe+LkU5QupDxmoUjHv/pHGvVUjqWkwN/1+4nktQ/thahxvzXsIRzJKXe74P0UPPAtIWVm6v5GpZXeC39eFVLrXgcxL6xJ/kNEkPEO/OxxuMTbtcUrsZl9z1/AquGKPcI3W+xgIhy+BgQ2jEU5nHL+6eN0lUcgQfctpkN/bOZBuu6+3qvHWbKVn0IAdinegKK9L75xcaORyh4lzRdICYq6Dh96q7r8sKwWTH8cxUgP0QAscRUkzbD+j4Tkx/eu8L490Cm8pwUEYeDz++T2FV4nln5gJGmcQiw5+rd1uGqJMem/tpe44T/Zx98xQLSNN2PPjTIdl01Y8IuEiddeVSHCcaQnmk4gG+pOlJ61W1mdjwNzF15na1A/vkSSEypORsjWUIuXzJCK03iszUskwotKnfNIVtFzRWz0BV6/ZYcsRXOBr3Z+Ekyr6kVziWGeMuTWDgfh/gSjly45SV/WiUu86PPCksLDaj3RGvHU9eDCydGA1ndXV8fbG+0wTYZ3b3lMP5JdpMQkbXIoNaVXlWnAR8bkwZpsVKWTp+TQLDKIMqyIyyTAbIQFvVzU/ZoM3opvSX3DAbXXE+G9pGaQnG8JcBgJ2s7+AF8YBikpUKJm3txyfuDpVUOuKrTp9wSZktHPcriB8/zeQ8hRnV1hEwZhTFLW85mWNWc1p4eYITvKVM="}],"wiki_items":[{"catalog_id":"32176e98-8832-4b34-9ff3-91270183bbd7","title":"快速开始","description":"quick-start","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"9bdf8014-2f2d-4f6c-b338-dbce2cd854ad","gmt_create":"2025-12-03T19:20:17.695037+08:00","gmt_modified":"2025-12-03T19:20:17.697317+08:00"},{"catalog_id":"41c89e8b-e5f5-453f-8344-6c68760f0041","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"8a94ae96-2fe7-46a7-b4e8-d6a60ed1ad21","gmt_create":"2025-12-03T19:21:05.945782+08:00","gmt_modified":"2025-12-03T19:21:05.949166+08:00"},{"catalog_id":"edf55f77-a7bb-4b6a-bfd6-2c8ee3df040e","title":"技术栈与依赖","description":"tech-stack-dependencies","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"227bab28-2479-44f0-b02e-237783c78408","gmt_create":"2025-12-03T19:21:08.462268+08:00","gmt_modified":"2025-12-03T19:21:08.465724+08:00"},{"catalog_id":"7147874f-ec32-4b2f-9ac6-5175d47ec968","title":"API端点参考","description":"api-reference","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"650cec2c-5c4e-45bb-9dd4-6dcb2089011f","gmt_create":"2025-12-03T19:22:15.322331+08:00","gmt_modified":"2025-12-03T19:22:15.325882+08:00"},{"catalog_id":"c8b405ba-ba67-4c87-aad9-7f600cd81ff2","title":"反向代理服务","description":"reverse-proxy-service","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ba20b0dd-b204-43dc-9a43-17cdc8f4493d","gmt_create":"2025-12-03T19:22:50.471787+08:00","gmt_modified":"2025-12-03T19:22:50.475859+08:00"},{"catalog_id":"6fea2eb7-5db7-4faf-8138-a0e515a613da","title":"AI代理管理","description":"ai-agent-management","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"cc76a7b2-065c-4ff3-8f3e-7044e3fc9c3d","gmt_create":"2025-12-03T19:22:54.436447+08:00","gmt_modified":"2025-12-03T19:22:54.440247+08:00"},{"catalog_id":"fb8a1d6b-111a-4fb8-aa25-a6a41fbdf3e9","title":"配置系统","description":"configuration-system","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"00d11432-f314-443b-9dee-f796828dde6d","gmt_create":"2025-12-03T19:24:48.857106+08:00","gmt_modified":"2025-12-03T19:24:48.85912+08:00"},{"catalog_id":"7d0cf3f9-7475-45ae-b052-8e6a5b1877d7","title":"容器化管理","description":"containerization-management","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"8ae171bb-acb2-483b-b095-aeee4cd21e47","gmt_create":"2025-12-03T19:24:55.743326+08:00","gmt_modified":"2025-12-03T19:24:55.745287+08:00"},{"catalog_id":"a7e90389-fb6d-4001-a76a-ba553e4e1bbc","title":"数据模型与类型","description":"data-models-types","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"b3d50416-ee1d-4bdb-bdb3-c13c39e70379","gmt_create":"2025-12-03T19:25:39.068632+08:00","gmt_modified":"2025-12-03T19:25:39.071601+08:00"},{"catalog_id":"04feb733-c3c4-4520-81b6-fc5e1504055a","title":"核心模块架构","description":"core-module-architecture","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"eff77972-3b2d-46de-9304-05881749ee69","gmt_create":"2025-12-03T19:26:00.025297+08:00","gmt_modified":"2025-12-03T19:26:00.026537+08:00"},{"catalog_id":"4636d4a0-17d0-4881-ab1d-590977c0a84b","title":"部署指南","description":"deployment-guide","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"7be69291-7208-468d-a78e-6da30b0de014","gmt_create":"2025-12-03T19:27:09.044715+08:00","gmt_modified":"2025-12-03T19:27:09.046666+08:00"},{"catalog_id":"83f27c12-c663-4758-914a-e39985bfed0e","title":"可观测性","description":"observability","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"c575a22e-fa6c-4a9d-94ef-4514b7185591","gmt_create":"2025-12-03T19:27:17.460858+08:00","gmt_modified":"2025-12-03T19:27:17.463797+08:00"},{"catalog_id":"5923937b-a8ce-4ee1-be2c-364f856e0f66","title":"开发指南","description":"development-guide","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"1c644aeb-2ab2-494f-b69f-c2fe56c22ce9","gmt_create":"2025-12-03T19:28:01.669199+08:00","gmt_modified":"2025-12-03T19:28:01.67076+08:00"},{"catalog_id":"8060eaaa-4518-4fa1-9d42-f1385556bfd4","title":"设计文档","description":"design-documents","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"2683d5c9-cdde-457f-b58c-9507332c70d8","gmt_create":"2025-12-03T19:29:15.617272+08:00","gmt_modified":"2025-12-03T19:29:15.619193+08:00"},{"catalog_id":"5822f780-8226-4031-b6eb-7f8cdc219dc5","title":"贡献指南","description":"contribution-guide","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"d86a0a50-e9a7-4738-b8d3-536175549c72","gmt_create":"2025-12-03T19:29:36.780142+08:00","gmt_modified":"2025-12-03T19:29:36.782516+08:00"},{"catalog_id":"93ec3b5e-3b39-4dab-9fa3-416e9b1a883f","title":"故障排除","description":"troubleshooting","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"1360ddbd-cec6-49df-950e-4c94040f3ff5","gmt_create":"2025-12-03T19:29:39.130381+08:00","gmt_modified":"2025-12-03T19:29:39.132096+08:00"},{"catalog_id":"58a6c092-d165-46cc-98d3-51649baebc8f","title":"附录","description":"appendix","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ed828e22-b2e7-4267-b84d-729540de4dff","gmt_create":"2025-12-03T19:30:21.007893+08:00","gmt_modified":"2025-12-03T19:30:21.010674+08:00"},{"catalog_id":"2e67c0d6-2ab7-410f-aa97-20ff92fdffc7","title":"代理抽象层","description":"agent-abstraction-layer","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"d70af7db-2513-4ad6-af5d-594b6744a79b","gmt_create":"2025-12-03T19:31:31.660563+08:00","gmt_modified":"2025-12-03T19:31:31.662688+08:00"},{"catalog_id":"8cca82e1-862e-4152-b634-45ae724a6f57","title":"启用与启动","description":"reverse-proxy-enablement","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"5aba237b-e2ec-4e37-8023-6eac01b87e79","gmt_create":"2025-12-03T19:31:43.57548+08:00","gmt_modified":"2025-12-03T19:31:43.577079+08:00"},{"catalog_id":"ca3fc28f-b6e4-473a-a6aa-78b0a08a8eae","title":"健康检查接口","description":"health-check-api","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"94901995-8465-4ae5-aa0f-690b10c4589b","gmt_create":"2025-12-03T19:32:42.563958+08:00","gmt_modified":"2025-12-03T19:32:42.565718+08:00"},{"catalog_id":"7d41781b-6594-4831-81e3-04fde9b3b75e","title":"Docker集成","description":"docker-integration","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"05a1530a-83fc-4857-8f74-87b868f71f4b","gmt_create":"2025-12-03T19:33:31.313004+08:00","gmt_modified":"2025-12-03T19:33:31.314847+08:00"},{"catalog_id":"8bd5b35f-19a6-421d-a53d-f41b60dcd7e5","title":"容器模型","description":"container-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"5c0702d2-3e00-4c6f-b280-c59135aa1025","gmt_create":"2025-12-03T19:34:24.850392+08:00","gmt_modified":"2025-12-03T19:34:24.852952+08:00"},{"catalog_id":"3965055f-d9a0-4444-bcd1-b0a107e4d1c6","title":"HTTP API架构","description":"http-api-architecture","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"1e100925-5db0-45c1-b575-23e9ae7adfb4","gmt_create":"2025-12-03T19:34:34.290905+08:00","gmt_modified":"2025-12-03T19:34:34.293429+08:00"},{"catalog_id":"6a8c124e-0c30-46c7-b6cb-2652d3b1c443","title":"日志系统","description":"logging_system","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"b5d34161-66e7-48b0-bfeb-3d6066520a59","gmt_create":"2025-12-03T19:34:55.607857+08:00","gmt_modified":"2025-12-03T19:34:55.609292+08:00"},{"catalog_id":"6f46295d-a02f-45fb-b635-274e9a894d0a","title":"Docker部署","description":"docker-deployment","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"562bdbd7-24be-48d8-b22e-0facb0000917","gmt_create":"2025-12-03T19:36:09.2532+08:00","gmt_modified":"2025-12-03T19:36:09.257039+08:00"},{"catalog_id":"f580c77e-8865-4d4a-80c8-24a78a2df0a7","title":"常见问题","description":"common_issues","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ee7f1824-56ce-4baa-9012-f59817c0c04a","gmt_create":"2025-12-03T19:36:25.877281+08:00","gmt_modified":"2025-12-03T19:36:25.879083+08:00"},{"catalog_id":"58d5a7bd-c0ca-4d43-8864-e00a09bbcbfc","title":"代理抽象层设计","description":"agent-abstraction-layer-design","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"14f5ed5a-bd16-4ed4-9f60-b1ccd52b692f","gmt_create":"2025-12-03T19:37:07.671702+08:00","gmt_modified":"2025-12-03T19:37:07.674243+08:00"},{"catalog_id":"ad7405fd-1ee7-44c5-9983-a0110f94012b","title":"相关链接","description":"appendix-related-links","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"b670fa0c-cc1a-4e09-9dfb-1354c0d4a258","gmt_create":"2025-12-03T19:38:05.443468+08:00","gmt_modified":"2025-12-03T19:38:05.446102+08:00"},{"catalog_id":"6c0fcb35-0911-4997-9917-ba824bdc325b","title":"请求处理与路由","description":"reverse-proxy-request-handling","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ef028fd8-3473-47b3-a55a-5c6c6964e6ea","gmt_create":"2025-12-03T19:38:20.127639+08:00","gmt_modified":"2025-12-03T19:38:20.13116+08:00"},{"catalog_id":"84c19304-e09f-40d5-80be-e6e7e6a5371e","title":"生命周期管理","description":"agent-lifecycle-management","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"9b566cb1-56c2-48bf-bc6a-98d86f1333aa","gmt_create":"2025-12-03T19:39:03.667424+08:00","gmt_modified":"2025-12-03T19:39:03.670341+08:00"},{"catalog_id":"592c06af-500b-4fb7-bc99-7f83ece01ba8","title":"聊天接口","description":"chat-api","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"1a54e87b-2f27-40e9-91e0-5e3976e49c16","gmt_create":"2025-12-03T19:40:15.879145+08:00","gmt_modified":"2025-12-03T19:40:15.883786+08:00"},{"catalog_id":"7cc3e94c-276a-4434-bec0-cc177b4217d5","title":"项目状态模型","description":"project-state-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"faf3b73c-525a-46d7-9dad-879885693f11","gmt_create":"2025-12-03T19:40:29.586868+08:00","gmt_modified":"2025-12-03T19:40:29.588683+08:00"},{"catalog_id":"9be5f632-96f0-436e-813c-8fd6f970b81e","title":"容器生命周期管理","description":"container-lifecycle","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"bfcdcb5b-bd55-4667-8b55-c4811ca5eca0","gmt_create":"2025-12-03T19:40:56.868881+08:00","gmt_modified":"2025-12-03T19:40:56.870954+08:00"},{"catalog_id":"0d2ead5d-8f1e-4ab6-8ac4-253677fc01b4","title":"反向代理架构","description":"reverse-proxy-architecture","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"3c2d641c-28d0-41b1-85e1-d6267dcf2117","gmt_create":"2025-12-03T19:42:01.412414+08:00","gmt_modified":"2025-12-03T19:42:01.414306+08:00"},{"catalog_id":"6a968653-9ef9-480c-ac5e-3d9ea9564759","title":"gRPC迁移设计","description":"grpc-migration-design","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"5dd32670-a9ea-4184-9264-3a9cfa8cd1ec","gmt_create":"2025-12-03T19:42:11.11016+08:00","gmt_modified":"2025-12-03T19:42:11.112209+08:00"},{"catalog_id":"f864ef38-3818-4ed4-8b51-dbd294fc7fa3","title":"链路追踪","description":"tracing_system","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"de460424-853b-472e-9eab-f6d616a7153d","gmt_create":"2025-12-03T19:42:17.198335+08:00","gmt_modified":"2025-12-03T19:42:17.19941+08:00"},{"catalog_id":"ff351485-0a92-47eb-b29e-f19c079d7230","title":"日志分析","description":"log_analysis","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"3370feba-7a13-4479-9da2-132a11a52a69","gmt_create":"2025-12-03T19:43:37.821511+08:00","gmt_modified":"2025-12-03T19:43:37.823291+08:00"},{"catalog_id":"149476f0-fe15-4965-ae85-fa4791f19a13","title":"许可证","description":"appendix-license","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"02b79f7a-a259-47c8-8a25-8209abc6dfc1","gmt_create":"2025-12-03T19:43:52.499496+08:00","gmt_modified":"2025-12-03T19:43:52.502104+08:00"},{"catalog_id":"76565b96-19b9-4dc2-ab87-412cc853b776","title":"Docker Compose部署","description":"docker-compose-deployment","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"22f1892d-ee57-4833-98b5-0719f79b4900","gmt_create":"2025-12-03T19:43:54.447258+08:00","gmt_modified":"2025-12-03T19:43:54.448747+08:00"},{"catalog_id":"887880f6-b36b-45eb-8c0c-566502a63406","title":"代理状态查询接口","description":"agent-status-api","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"2f1a0e9b-9693-4d36-9e15-e10dbc369919","gmt_create":"2025-12-03T19:45:21.799933+08:00","gmt_modified":"2025-12-03T19:45:21.803288+08:00"},{"catalog_id":"b331bbf2-322b-4fac-9e77-adcf8c52b231","title":"配置选项","description":"reverse-proxy-configuration","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"aabc389c-7a7e-4b5f-9ad2-6fa9dd8bdead","gmt_create":"2025-12-03T19:45:34.102076+08:00","gmt_modified":"2025-12-03T19:45:34.105573+08:00"},{"catalog_id":"bce58bbe-a35f-42f7-adc6-30f9a83531c1","title":"配置管理","description":"agent-configuration-management","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"c249dfa6-550f-4fa6-952c-e1669945227d","gmt_create":"2025-12-03T19:45:44.831656+08:00","gmt_modified":"2025-12-03T19:45:44.834005+08:00"},{"catalog_id":"2dea1cdf-f446-492e-a8cc-8b323e075c39","title":"代理状态模型","description":"agent-status-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"95a59712-1242-41c8-aafc-07d60c3dc722","gmt_create":"2025-12-03T19:47:26.815984+08:00","gmt_modified":"2025-12-03T19:47:26.820083+08:00"},{"catalog_id":"d1228ff3-41a2-4705-a14c-352a9420c05c","title":"代理运行器架构","description":"agent-runner-architecture","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"8ed8b531-8753-41d1-a45b-2198b548cae3","gmt_create":"2025-12-03T19:47:38.31127+08:00","gmt_modified":"2025-12-03T19:47:38.319205+08:00"},{"catalog_id":"907707ea-1781-44e9-8ca1-73d63a92b371","title":"资源隔离与安全","description":"resource-isolation","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"cf0c3668-740f-4c3c-a0ba-4a9363b934b1","gmt_create":"2025-12-03T19:47:40.027055+08:00","gmt_modified":"2025-12-03T19:47:40.030425+08:00"},{"catalog_id":"9e84416a-beed-4ab0-93b9-5c9e282dff74","title":"错误处理","description":"error_handling","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"067583a3-2f93-41e3-abee-e49e08254575","gmt_create":"2025-12-03T19:49:09.457867+08:00","gmt_modified":"2025-12-03T19:49:09.462012+08:00"},{"catalog_id":"109f5c28-92dc-4f91-a990-913951cbb6e1","title":"生产环境配置","description":"production-configuration","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ef67d0a8-9450-4214-ba24-61a87e85c821","gmt_create":"2025-12-03T19:49:21.696948+08:00","gmt_modified":"2025-12-03T19:49:21.700876+08:00"},{"catalog_id":"47d77368-dff9-41da-ac79-518087f10612","title":"多Docker镜像设计","description":"multi-docker-image-design","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"e96f2639-9156-442d-a166-6db9e229be0f","gmt_create":"2025-12-03T19:49:40.653725+08:00","gmt_modified":"2025-12-03T19:49:40.656205+08:00"},{"catalog_id":"10afcdc4-17c7-4d8e-a0f9-d756b5868b3e","title":"性能优化","description":"performance_optimization","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"3a255fea-353e-4d44-b005-2a860bc57ff6","gmt_create":"2025-12-03T19:51:20.208235+08:00","gmt_modified":"2025-12-03T19:51:20.20993+08:00"},{"catalog_id":"1a2a1d66-1024-44a5-81c0-32cf143d8206","title":"变更日志","description":"appendix-changelog","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"be44fe68-5546-4dfe-aa72-5411ae780094","gmt_create":"2025-12-03T19:51:27.756415+08:00","gmt_modified":"2025-12-03T19:51:27.758838+08:00"},{"catalog_id":"92a139d8-af83-4351-bf12-82b5b1e27494","title":"与主应用集成","description":"reverse-proxy-integration","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"adedbded-20c2-4652-b2ad-41b09165df22","gmt_create":"2025-12-03T19:51:38.523736+08:00","gmt_modified":"2025-12-03T19:51:38.52713+08:00"},{"catalog_id":"d5f761f2-ff1b-44d1-907e-38bf1bc38c0d","title":"通信机制","description":"agent-communication-mechanism","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"76d984f9-12c3-4781-bb9d-8ad531510353","gmt_create":"2025-12-03T19:52:40.067075+08:00","gmt_modified":"2025-12-03T19:52:40.069538+08:00"},{"catalog_id":"5c49bbab-0fa5-45f7-a771-a2f0b96e7518","title":"代理进度流接口","description":"agent-progress-stream-api","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"4113b853-8a35-4477-a7a4-4ae0f01191ca","gmt_create":"2025-12-03T19:53:22.053285+08:00","gmt_modified":"2025-12-03T19:53:22.055442+08:00"},{"catalog_id":"4d8fbb2d-a41f-4546-983f-629a9c179bf9","title":"镜像管理与选择","description":"image-management","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"c4b7377e-89db-4b58-baf1-3d2289412e76","gmt_create":"2025-12-03T19:53:57.08546+08:00","gmt_modified":"2025-12-03T19:53:57.08807+08:00"},{"catalog_id":"fc0536ae-6d3f-4b4b-816e-68a78b68617e","title":"聊天数据模型","description":"chat-data-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"51c7a953-08f5-4404-861e-ab1fb19aa53b","gmt_create":"2025-12-03T19:54:10.045061+08:00","gmt_modified":"2025-12-03T19:54:10.047517+08:00"},{"catalog_id":"e401c8d5-5951-418b-b77a-3671440d21e1","title":"容器管理架构","description":"container-management-architecture","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"26b39af6-9412-4ccf-b2a5-9391c9f3e8c0","gmt_create":"2025-12-03T19:55:32.329714+08:00","gmt_modified":"2025-12-03T19:55:32.331904+08:00"},{"catalog_id":"ee764122-b4d6-4404-a982-6bc18993427f","title":"systemd服务管理","description":"systemd-service","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"a80625c6-1a2a-4d0e-a708-fc48034010e6","gmt_create":"2025-12-03T19:55:46.718752+08:00","gmt_modified":"2025-12-03T19:55:46.720466+08:00"},{"catalog_id":"27ed36ca-6746-4593-b491-392bea4820bc","title":"安全考虑","description":"security_considerations","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"1db9119e-1c8c-4419-ac5c-2ea7935d6862","gmt_create":"2025-12-03T19:56:10.953967+08:00","gmt_modified":"2025-12-03T19:56:10.956071+08:00"},{"catalog_id":"922d7d2e-4484-422a-b099-dc210a7989bd","title":"常见问题解答","description":"appendix-faq","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"d269b99e-4161-4cf3-88b3-62de75fb6c5c","gmt_create":"2025-12-03T19:57:11.909486+08:00","gmt_modified":"2025-12-03T19:57:11.911153+08:00"},{"catalog_id":"2fdf5332-99be-41b5-86a4-24c828e7d360","title":"反向代理接口","description":"proxy-api","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"3ccd9ae7-6d2a-495b-b43a-c36d1bd3b8c4","gmt_create":"2025-12-03T19:57:32.339515+08:00","gmt_modified":"2025-12-03T19:57:32.341647+08:00"},{"catalog_id":"7aab1396-21c8-4db7-8eb6-76ff843d2d23","title":"HTTP结果模型","description":"http-result-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"9ec0a0d5-504b-4ef3-b719-1613e603850d","gmt_create":"2025-12-03T19:57:51.439729+08:00","gmt_modified":"2025-12-03T19:57:51.441405+08:00"},{"catalog_id":"51b2cf2a-be01-4ecc-82bd-0b7ba366089e","title":"附件模型","description":"attachment-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ccc1a037-17ae-4618-873c-7b3130d34e81","gmt_create":"2025-12-03T19:58:31.485209+08:00","gmt_modified":"2025-12-03T19:58:31.487511+08:00"},{"catalog_id":"727278ba-26bf-4094-90be-0ca4b3ea8942","title":"路由配置","description":"http-api-router","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"8627edc8-122d-4718-871b-642e7a0138ad","gmt_create":"2025-12-03T19:59:05.662252+08:00","gmt_modified":"2025-12-03T19:59:05.664554+08:00"},{"catalog_id":"2396b384-dcb0-41be-aa0b-28cd0fd6e211","title":"gRPC数据模型","description":"grpc-data-model","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"e2e951a5-ab97-413c-a40c-b8e1096891d0","gmt_create":"2025-12-03T19:59:20.895969+08:00","gmt_modified":"2025-12-03T19:59:20.898187+08:00"},{"catalog_id":"ebab85d0-be0b-4db2-9878-afa3783cb555","title":"代理服务","description":"agent-service","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"e4207f5f-520d-4353-8ea3-bc451faad6bf","gmt_create":"2025-12-03T20:00:45.647632+08:00","gmt_modified":"2025-12-03T20:00:45.649855+08:00"},{"catalog_id":"1dbe2ebc-ca54-4807-96bc-b679a9ff6368","title":"请求处理流程","description":"http-api-request-handling","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"c69efeb6-1ec2-444b-9c4d-3c2147608391","gmt_create":"2025-12-03T20:00:49.746335+08:00","gmt_modified":"2025-12-03T20:00:49.747865+08:00"},{"catalog_id":"f6a63ec5-3ee6-4ba2-9b5a-8d24221185a0","title":"ACP代理集成","description":"acp-agent-integration","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"ff7f6c00-ffd8-411a-9eca-a1a7d5765053","gmt_create":"2025-12-03T20:01:14.389243+08:00","gmt_modified":"2025-12-03T20:01:14.391749+08:00"},{"catalog_id":"e9360a9f-18ae-4245-b06f-4db3df4ebec2","title":"中间件链","description":"http-api-middleware","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"fd082c4e-8946-46eb-a057-67fc864e0e98","gmt_create":"2025-12-03T20:02:31.281056+08:00","gmt_modified":"2025-12-03T20:02:31.283562+08:00"},{"catalog_id":"0edfe839-02c7-4772-ba1d-48744b75b99e","title":"Claude Code代理实现","description":"claude-code-agent-implementation","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"7d7aa356-09b3-460d-b943-f36df1fc2cb2","gmt_create":"2025-12-03T20:02:57.463977+08:00","gmt_modified":"2025-12-03T20:02:57.466099+08:00"},{"catalog_id":"b4e0b016-8f63-4e91-9e57-513692d71d10","title":"会话缓存机制","description":"session-cache-mechanism","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"7b8bd774-6463-46fc-add9-634f9b8202b4","gmt_create":"2025-12-03T20:03:58.692789+08:00","gmt_modified":"2025-12-03T20:03:58.69556+08:00"},{"catalog_id":"2f8b9aa3-0cdb-438b-955a-3335f1ed0836","title":"Codex代理实现","description":"codex-agent-implementation","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"97091c2d-94c4-47c3-bde9-89d7a05d0e29","gmt_create":"2025-12-03T20:04:20.120722+08:00","gmt_modified":"2025-12-03T20:04:20.122954+08:00"},{"catalog_id":"7c622101-ffc7-416e-b93f-b94b9d841563","title":"通道工具","description":"channel-utils","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"5410601a-acf7-49f4-9296-7e431128ff31","gmt_create":"2025-12-03T20:04:35.399104+08:00","gmt_modified":"2025-12-03T20:04:35.40088+08:00"},{"catalog_id":"5bdc1671-70b4-4ab7-9bcb-7f6e6f3aa08a","title":"清理任务","description":"cleanup-task","extend":"{}","progress_status":"completed","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","id":"acb1c16a-06e0-4e5a-bbff-ef6151b0066d","gmt_create":"2025-12-03T20:05:40.13988+08:00","gmt_modified":"2025-12-03T20:05:40.143933+08:00"}],"wiki_overview":{"content":"\u003cblog\u003e\n# RCoder 项目分析报告\n\n## 1. 项目介绍\n\n### 项目目的\nRCoder 是一个基于 Rust 构建的现代化 AI 驱动开发平台,通过 ACP (Agent Client Protocol) 协议实现与多种 AI 代理的统一交互。平台提供简洁的 HTTP API 接口,让开发者能够轻松集成和管理 AI 辅助开发功能。\n\n### 核心目标\n- 提供统一的 AI 代理管理框架\n- 实现高性能的反向代理服务\n- 支持多代理集成Codex、Claude Code 等)\n- 提供完整的可观测性支持\n- 实现容器化部署和管理\n\n### 目标用户\n- AI 开发平台开发者\n- 需要集成 AI 功能的应用开发者\n- Rust 技术栈爱好者\n- 需要高性能代理服务的系统架构师\n\n## 2. 技术架构\n\n### 组件分解\nRCoder 项目采用 monorepo 架构,包含多个独立的 crates每个 crate 负责特定的功能模块:\n\n```mermaid\ngraph TD\n A[主应用 rcoder] --\u003e B[agent_runner]\n A --\u003e C[pingora-proxy]\n A --\u003e D[shared_types]\n A --\u003e E[acp_adapter]\n A --\u003e F[docker_manager]\n B --\u003e G[claude-code-agent]\n B --\u003e H[codex-acp-agent]\n```\n\n### 设计模式\n项目采用了多种现代 Rust 设计模式:\n- **模块化设计**:使用 workspace crates 实现功能解耦\n- **异步架构**:基于 Tokio 的高并发异步处理\n- **配置优先级**:命令行 \u003e 环境变量 \u003e 配置文件的多层配置系统\n- **状态管理**:使用 Arc 和 DashMap 实现高效的状态共享\n\n### 系统关系\n```mermaid\ngraph TB\n Client[客户端] --\u003e API[Axum HTTP API]\n Client --\u003e Proxy[Pingora Proxy]\n API --\u003e Agent[Agent Runner]\n Agent --\u003e Container[Docker 容器]\n Proxy --\u003e Backend[后端服务]\n API --\u003e Shared[shared_types]\n Agent --\u003e Shared\n```\n\n### 数据流\n```mermaid\nflowchart TD\n A[客户端请求] --\u003e B{请求类型}\n B --\u003e|API 请求| C[Axum HTTP Server]\n B --\u003e|代理请求| D[Pingora Proxy]\n C --\u003e E[路由分发]\n E --\u003e F[Chat Handler]\n F --\u003e G[容器管理]\n G --\u003e H[启动/获取容器]\n H --\u003e I[转发到 Agent Runner]\n I --\u003e J[AI 代理处理]\n J --\u003e K[返回结果]\n D --\u003e L[端口路由]\n L --\u003e M[后端服务]\n M --\u003e N[返回响应]\n```\n\n## 3. 关键实现\n\n### 主入口点\n- `crates/rcoder/src/main.rs` - 主应用入口\n- `crates/agent_runner/src/main.rs` - 代理运行器入口\n\n### 核心模块\n- `crates/rcoder/src/router.rs` - 路由配置\n- `crates/rcoder/src/handler/chat_handler.rs` - 聊天处理\n- `crates/agent_runner/src/proxy_agent/` - 代理核心功能\n- `crates/docker_manager/src/` - Docker 管理\n\n### 配置方法\n- `crates/rcoder/src/config.rs` - 配置管理\n- `config.yml` - 配置文件\n- 命令行参数和环境变量支持\n\n### 外部依赖\n- `Cargo.toml` - 依赖管理\n- `crates/shared_types/Cargo.toml` - 共享类型依赖\n\n### 集成点\n- `crates/acp_adapter/` - ACP 协议适配\n- `crates/pingora-proxy/` - Pingora 代理集成\n- `crates/docker_manager/` - Docker 集成\n\n### 组件关系\n```mermaid\ngraph LR\n Rcoder[rcoder] --\u003e AgentRunner[agent_runner]\n Rcoder --\u003e Pingora[pingora-proxy]\n Rcoder --\u003e Docker[docker_manager]\n Rcoder --\u003e Shared[shared_types]\n AgentRunner --\u003e Claude[claude-code-agent]\n AgentRunner --\u003e Codex[codex-acp-agent]\n Docker --\u003e Container[Docker API]\n Pingora --\u003e Backend[后端服务]\n```\n\n## 4. 关键特性\n\n### 功能概述\nRCoder 提供了以下核心功能:\n- 反向代理:集成 Cloudflare Pingora高性能端口路由\n- HTTP API基于 Axum 的现代化 REST API 与统一 SSE 进度流\n- 多代理支持:统一接入 Codex、Claude Code 等 AI 代理\n- 异步架构Tokio 驱动的高并发异步处理\n- 配置系统:多层配置优先级\n- 文档与可视化:自动化 API 文档\n- 可观测性Tracing + OpenTelemetry 完整链路追踪\n\n### 实现亮点\n- **高性能代理**:使用 Pingora 实现高性能反向代理\n- **容器化管理**:动态创建和管理 Docker 容器\n- **实时通信**:通过 SSE 实现 AI 任务进度实时推送\n- **多架构支持**:支持 ARM64 和 AMD64 镜像选择\n\n### 特性架构\n```mermaid\nstateDiagram-v2\n [*] --\u003e Idle\n Idle --\u003e ReceivingRequest: 接收请求\n ReceivingRequest --\u003e Processing: 处理请求\n Processing --\u003e CreatingContainer: 创建容器\n CreatingContainer --\u003e RunningAgent: 运行代理\n RunningAgent --\u003e SendingProgress: 发送进度\n SendingProgress --\u003e Completing: 完成\n Completing --\u003e Idle: 重置\n Processing --\u003e Error: 失败\n Error --\u003e Idle: 重置\n```\n\nSources:\n- [README.md](/Volumes/soddygo/git_work/rcoder/README.md)\n- [Cargo.toml](/Volumes/soddygo/git_work/rcoder/Cargo.toml)\n- [config.yml](/Volumes/soddygo/git_work/rcoder/config.yml)\n- [main.rs](/Volumes/soddygo/git_work/rcoder/crates/rcoder/src/main.rs)\n- [main.rs](/Volumes/soddygo/git_work/rcoder/crates/agent_runner/src/main.rs)\n- [config.rs](/Volumes/soddygo/git_work/rcoder/crates/rcoder/src/config.rs)\n- [router.rs](/Volumes/soddygo/git_work/rcoder/crates/rcoder/src/router.rs)\n- [chat_handler.rs](/Volumes/soddygo/git_work/rcoder/crates/rcoder/src/handler/chat_handler.rs)\n\u003c/blog\u003e","gmt_create":"2025-12-03T19:13:30.056981+08:00","gmt_modified":"2025-12-03T19:13:30.056981+08:00","id":"9bbe0654-585d-4ff7-88fe-c329d22f5e65","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93"},"wiki_readme":{"content":"No readme file","gmt_create":"2025-12-03T19:12:32.023735+08:00","gmt_modified":"2025-12-03T19:12:32.023735+08:00","id":"89ec2583-4006-439f-baac-5961aabfc8e5","repo_id":"0f8811a0-196f-4b20-9a96-b9182d14ce93"},"wiki_repo":{"id":"0f8811a0-196f-4b20-9a96-b9182d14ce93","name":"rcoder","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── crates/\\n│ ├── acp_adapter/\\n│ │ ├── src/\\n│ │ │ ├── lib.rs\\n│ │ │ ├── mention.rs\\n│ │ │ └── types.rs\\n│ │ └── Cargo.toml\\n│ ├── agent_runner/\\n│ │ ├── src/\\n│ │ │ ├── handler/\\n│ │ │ │ ├── agent_cancel_handler.rs\\n│ │ │ │ ├── agent_session_notification.rs\\n│ │ │ │ ├── agent_status_handler.rs\\n│ │ │ │ ├── chat_handler.rs\\n│ │ │ │ ├── health_handler.rs\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ ├── proxy_api.rs\\n│ │ │ │ └── proxy_handler_api.rs\\n│ │ │ ├── middleware/\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ └── tracing_middleware.rs\\n│ │ │ ├── proxy_agent/\\n│ │ │ │ ├── acp_agent.rs\\n│ │ │ │ ├── agent_service.rs\\n│ │ │ │ ├── agent_stop_handle.rs\\n│ │ │ │ ├── channel_utils.rs\\n│ │ │ │ ├── claude_code_agent.rs\\n│ │ │ │ ├── cleanup_task.rs\\n│ │ │ │ ├── codex_agent.rs\\n│ │ │ │ └── mod.rs\\n│ │ │ ├── service/\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ └── session_cache.rs\\n│ │ │ ├── utils/\\n│ │ │ │ ├── content_builder.rs\\n│ │ │ │ ├── file_utils.rs\\n│ │ │ │ ├── mcp_config.rs\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ └── system_prompt.rs\\n│ │ │ ├── config.rs\\n│ │ │ ├── lib.rs\\n│ │ │ ├── main.rs\\n│ │ │ ├── model.rs\\n│ │ │ └── router.rs\\n│ │ └── Cargo.toml\\n│ ├── claude-code-agent/\\n│ │ ├── src/\\n│ │ │ ├── lib.rs\\n│ │ │ ├── main.rs\\n│ │ │ └── util.rs\\n│ │ └── Cargo.toml\\n│ ├── codex-acp-agent/\\n│ │ ├── src/\\n│ │ │ ├── bin/\\n│ │ │ │ └── codex-acp-agent.rs\\n│ │ │ ├── install.rs\\n│ │ │ └── lib.rs\\n│ │ └── Cargo.toml\\n│ ├── docker_manager/\\n│ │ ├── src/\\n│ │ │ ├── container_self_inspector.rs\\n│ │ │ ├── container_stop.rs\\n│ │ │ ├── image_selector.rs\\n│ │ │ ├── lib.rs\\n│ │ │ ├── manager.rs\\n│ │ │ ├── types.rs\\n│ │ │ └── utils.rs\\n│ │ ├── Cargo.toml\\n│ │ └── README.md\\n│ ├── pingora-proxy/\\n│ │ ├── src/\\n│ │ │ ├── config.rs\\n│ │ │ ├── lib.rs\\n│ │ │ ├── pingora_server.rs\\n│ │ │ ├── server.rs\\n│ │ │ ├── service.rs\\n│ │ │ └── tests.rs\\n│ │ └── Cargo.toml\\n│ ├── rcoder/\\n│ │ ├── src/\\n│ │ │ ├── handler/\\n│ │ │ │ ├── agent_cancel_handler.rs\\n│ │ │ │ ├── agent_session_notification.rs\\n│ │ │ │ ├── agent_status_handler.rs\\n│ │ │ │ ├── agent_stop_handler.rs\\n│ │ │ │ ├── chat_handler.rs\\n│ │ │ │ ├── health_handler.rs\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ ├── proxy_api.rs\\n│ │ │ │ └── proxy_handler_api.rs\\n│ │ │ ├── middleware/\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ └── tracing_middleware.rs\\n│ │ │ ├── proxy_agent/\\n│ │ │ │ ├── cleanup_task.rs\\n│ │ │ │ ├── docker_container_agent.rs\\n│ │ │ │ ├── mod.rs\\n│ │ │ │ └── port_manager.rs\\n│ │ │ ├── service/\\n│ │ │ │ ├── container_manager.rs\\n│ │ │ │ └── mod.rs\\n│ │ │ ├── utils/\\n│ │ │ │ ├── host_path_resolver.rs\\n│ │ │ │ └── mod.rs\\n│ │ │ ├── config.rs\\n│ │ │ ├── lib.rs\\n│ │ │ ├── main.rs\\n│ │ │ ├── rcoder_default.yml\\n│ │ │ └── router.rs\\n│ │ ├── tests/\\n│ │ │ └── container_path_test.rs\\n│ │ └── Cargo.toml\\n│ └── shared_types/\\n│ ├── proto/\\n│ │ └── agent.proto\\n│ ├── src/\\n│ │ ├── grpc/\\n│ │ │ └── agent.rs\\n│ │ ├── model/\\n│ │ │ ├── agent_model.rs\\n│ │ │ ├── agent_project_runner_model.rs\\n│ │ │ ├── agent_session_notify.rs\\n│ │ │ ├── agent_type.rs\\n│ │ │ ├── app_error.rs\\n│ │ │ ├── attachment.rs\\n│ │ │ ├── chat_prompt.rs\\n│ │ │ ├── chat_response.rs\\n│ │ │ ├── http_result.rs\\n│ │ │ ├── mod.rs\\n│ │ │ └── model_provider.rs\\n│ │ ├── lib.rs\\n│ │ ├── multi_image_config.rs\\n│ │ ├── service_config.rs\\n│ │ └── service_type.rs\\n│ ├── Cargo.toml\\n│ └── build.rs\\n├── docker/\\n│ ├── scripts/\\n│ │ ├── analyze-rcoder.sh\\n│ │ ├── build-docker-image.sh\\n│ │ ├── build.sh\\n│ │ ├── deploy.sh\\n│ │ ├── diagnose-blocking.sh\\n│ │ ├── generate-flamegraph.sh\\n│ │ └── start-rcoder.sh\\n│ ├── Dockerfile\\n│ ├── docker-compose.yml\\n│ ├── install-debug-tools.sh\\n│ └── start-rcoder.sh\\n├── scripts/\\n│ └── setup-network-isolation.sh\\n├── specs/\\n│ ├── agent-abstraction-layer-design.md\\n│ ├── grpc-migration-design.md\\n│ └── multi-docker-image-design.md\\n├── .dockerignore\\n├── .gitignore\\n├── CLAUDE.md\\n├── Cargo.lock\\n├── Cargo.toml\\n├── Makefile\\n├── README.md\\n├── config.yml\\n├── http_test.rest\\n├── install.md\\n├── rcoder-service.sh\\n└── test_auto_arch_detection.sh\\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":"9c52c88248ad4016ae03d8974a4a12b86de537ec","last_commit_update":"2025-12-03T20:05:40.149173+08:00","gmt_create":"2025-12-03T19:12:31.67845+08:00","gmt_modified":"2025-12-03T20:05:40.251119+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"feat-agent-workspace\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"\"}"}}