diff --git a/.qoder/repowiki/zh/content/用户指南/AI代理集成/AI聊天界面.md b/.qoder/repowiki/zh/content/用户指南/AI代理集成/AI聊天界面.md index 6f27b191..dfcfa043 100644 --- a/.qoder/repowiki/zh/content/用户指南/AI代理集成/AI聊天界面.md +++ b/.qoder/repowiki/zh/content/用户指南/AI代理集成/AI聊天界面.md @@ -4,6 +4,8 @@ **本文档引用的文件** - [AIChatPanelContent.tsx](file://components/AIChatPanelContent.tsx) - [AIChatSidePanel.tsx](file://components/AIChatSidePanel.tsx) +- [AIChatSidePanelHelpers.ts](file://components/AIChatSidePanelHelpers.ts) +- [AIChatSidePanel.types.ts](file://components/AIChatSidePanel.types.ts) - [ChatMessageList.tsx](file://components/ai/ChatMessageList.tsx) - [ChatInput.tsx](file://components/ai/ChatInput.tsx) - [ThinkingBlock.tsx](file://components/ai/ThinkingBlock.tsx) @@ -26,6 +28,12 @@ - [ai.ts](file://application/i18n/locales/zh-CN/ai.ts) +## 更新摘要 +**变更内容** +- 修复了AI聊天侧边面板组件中的模型验证和持久化bug +- 新增了双重验证机制,确保静态模型预设(如CodeBuddy的'auto'设置)在组件刷新时得到正确保留 +- 避免不必要的模型覆盖,提升用户体验稳定性 + ## 目录 1. [简介](#简介) 2. [项目结构](#项目结构) @@ -41,7 +49,7 @@ ## 简介 本技术文档围绕AI聊天界面的完整实现进行深入解析,涵盖聊天面板的整体架构、消息列表渲染、输入区域与发送控制、实时流式响应机制、思考状态可视化、以及界面交互最佳实践。文档以代码级细节为基础,结合架构图与流程图,帮助开发者快速理解并扩展该功能。 -**更新** 新增CodeBuddy Code AI代理支持,包括代理识别、模型预设处理以及在AgentIconBadge中的视觉标识。 +**更新** 新增CodeBuddy Code AI代理支持,包括代理识别、模型预设处理以及在AgentIconBadge中的视觉标识。**新增** 修复了模型验证和持久化bug,确保静态模型预设在组件刷新时得到正确保留。 ## 项目结构 AI聊天界面由"侧边栏聊天面板"和"聊天内容面板"两大部分组成,配合AI流式处理钩子与消息元素组件共同完成端到端的交互体验。新增的CodeBuddy代理通过AgentSelector和AgentIconBadge组件集成到现有架构中。 @@ -297,6 +305,39 @@ ReadLoop --> Done(["流结束/取消"]) - [useAIChatStreaming.ts:1-927](file://components/ai/hooks/useAIChatStreaming.ts#L1-L927) - [aiChatStreamingSupport.ts:1-206](file://components/ai/hooks/aiChatStreamingSupport.ts#L1-L206) +### 模型验证与持久化机制 + +#### 双重验证机制(新增) +**更新** 修复了模型验证和持久化bug,确保静态模型预设在组件刷新时得到正确保留 + +AIChatSidePanel组件中新增了双重验证机制,专门用于处理外部代理(特别是CodeBuddy)的模型预设验证: + +```mermaid +flowchart TD +Start(["加载外部代理模型"]) --> LoadRuntime["获取运行时模型预设"] +LoadRuntime --> CheckStatic["获取静态模型预设"] +CheckStatic --> CombinePresets["合并静态和运行时预设"] +CombinePresets --> CheckStored["检查已保存的模型ID"] +CheckStored --> Validate{"验证模型ID"} +Validate --> |有效| KeepModel["保持现有模型"] +Validate --> |无效| SetCurrent["设置为当前模型"] +KeepModel --> End(["完成"]) +SetCurrent --> End +``` + +**图表来源** +- [AIChatSidePanel.tsx:517-525](file://components/AIChatSidePanel.tsx#L517-L525) + +关键改进: +- **静态预设优先**:对于CodeBuddy等代理,静态预设(如'auto')始终优先于运行时预设 +- **双重验证**:同时验证静态和运行时模型预设,避免不必要的覆盖 +- **兼容性处理**:当静态预设存在时,运行时预设会被过滤掉重复项 +- **用户体验**:确保用户在组件刷新时不会丢失自定义的模型选择 + +**章节来源** +- [AIChatSidePanel.tsx:517-525](file://components/AIChatSidePanel.tsx#L517-L525) +- [types.ts:331-342](file://infrastructure/ai/types.ts#L331-L342) + ### 代理选择与管理 #### AgentSelector组件 @@ -397,7 +438,7 @@ codebuddyConfigEnv模块提供环境变量的解析和序列化功能: - **新增** 支持外部代理的统一配置和管理。 **章节来源** -- [types.ts:1-344](file://infrastructure/ai/types.ts#L1-L344) +- [types.ts:1-348](file://infrastructure/ai/types.ts#L1-L348) ### 会话视图与状态管理(aiPanelViewState) 职责 @@ -454,6 +495,7 @@ UseAgentDiscovery["useAgentDiscovery.ts"] --> AgentSelector - 代码高亮:安全高亮器支持语言检测与降级,避免不支持语言导致的异常渲染。 - 图片预览:缩放与拖拽使用transform与指针事件,避免布局抖动。 - **新增** 代理选择优化:AgentSelector使用React.memo避免不必要的重渲染。 +- **新增** 模型验证优化:双重验证机制避免重复的模型设置操作,提升组件响应速度。 ## 故障排查指南 常见问题与定位 @@ -463,21 +505,24 @@ UseAgentDiscovery["useAgentDiscovery.ts"] --> AgentSelector - 错误信息不清晰:使用reportStreamError生成的标准化错误对象,查看errorInfo字段。 - 思考块不滚动:确认ThinkingBlock在流式期间isExpanded为true,并监听content变化自动滚动。 - **新增** CodeBuddy代理问题:检查代理检测状态、路径配置和环境变量设置。 +- **新增** 模型预设丢失:检查双重验证机制是否正确执行,确认静态预设(如'auto')是否被正确保留。 定位方法 - 在useAIChatStreaming中打印关键事件(text、reasoning、tool-call、tool-result、error)。 - 在ChatMessageList中检查pendingApprovals与resolvedApprovals映射是否一致。 - 在ChatInput中验证@与/触发器的光标位置与弹窗定位。 -- **新增** 在AgentSelector中检查代理发现和配置状态。 +- **新增** 在AIChatSidePanel中检查模型验证逻辑,确认双重验证是否按预期工作。 +- **新增** 检查agentModelMap中是否存在意外的模型覆盖。 **章节来源** - [useAIChatStreaming.ts:212-237](file://components/ai/hooks/useAIChatStreaming.ts#L212-L237) - [ChatMessageList.tsx:43-74](file://components/ai/ChatMessageList.tsx#L43-L74) - [ChatInput.tsx:187-218](file://components/ai/ChatInput.tsx#L187-L218) - [AgentSelector.tsx:192-195](file://components/ai/AgentSelector.tsx#L192-L195) +- [AIChatSidePanel.tsx:517-525](file://components/AIChatSidePanel.tsx#L517-L525) ## 结论 -AI聊天界面通过清晰的分层设计与强类型的流式处理,实现了从输入、流式渲染到工具调用与思考状态可视化的完整闭环。新增的CodeBuddy Code AI代理支持进一步增强了系统的灵活性和功能性。组件间低耦合、高内聚,既保证了可维护性,也为后续扩展(如更多模型、代理与工具)提供了稳定基础。 +AI聊天界面通过清晰的分层设计与强类型的流式处理,实现了从输入、流式渲染到工具调用与思考状态可视化的完整闭环。新增的CodeBuddy Code AI代理支持进一步增强了系统的灵活性和功能性。**新增的双重验证机制**确保了模型预设的稳定性和一致性,特别是在组件刷新场景下保护用户的自定义配置。组件间低耦合、高内聚,既保证了可维护性,也为后续扩展(如更多模型、代理与工具)提供了稳定基础。 ## 附录 @@ -487,10 +532,12 @@ AI聊天界面通过清晰的分层设计与强类型的流式处理,实现了 - 响应式设计:输入区支持多行展开与最大高度限制;图片预览弹窗自适应窗口尺寸。 - 可访问性:为思考块、工具调用卡片提供aria属性;键盘导航支持上下箭头与Enter/Escape。 - **新增** 代理选择:AgentSelector提供直观的代理切换界面,支持一键启用新代理。 +- **新增** 模型选择:双重验证机制确保模型预设的稳定性,避免意外覆盖。 ### CodeBuddy代理配置最佳实践 - **代理检测**:优先使用系统PATH中的CodeBuddy安装,确保ACP功能正常。 - **认证配置**:在受保护环境中使用API Key进行身份验证。 - **网络环境**:根据实际网络条件选择合适的Internet Environment配置。 - **环境变量**:谨慎添加额外的环境变量,避免与代理配置冲突。 -- **配置管理**:定期检查代理配置的有效性,及时更新版本信息。 \ No newline at end of file +- **配置管理**:定期检查代理配置的有效性,及时更新版本信息。 +- **模型预设**:利用'auto'静态预设获得最佳的自动模型选择体验。 \ No newline at end of file diff --git a/.qoder/repowiki/zh/meta/repowiki-metadata.json b/.qoder/repowiki/zh/meta/repowiki-metadata.json index 0dac7b64..796bad1a 100644 --- a/.qoder/repowiki/zh/meta/repowiki-metadata.json +++ b/.qoder/repowiki/zh/meta/repowiki-metadata.json @@ -1 +1 @@ -{"code_snippets":[{"id":"4d751ec1471f8f21411cc41c0342fa2a","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"1-823","gmt_create":"2026-05-29T00:33:30.842281+08:00","gmt_modified":"2026-05-29T00:33:30.842281+08:00"},{"id":"68beaf4993338bb9742c455e633984ec","path":"components/settings/tabs/ai/ProviderCard.tsx","line_range":"1-105","gmt_create":"2026-05-29T00:33:30.842388+08:00","gmt_modified":"2026-05-29T00:33:30.842388+08:00"},{"id":"31105659a1dc3645e6699be8c06e9960","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"1-461","gmt_create":"2026-05-29T00:33:30.842489+08:00","gmt_modified":"2026-05-29T00:33:30.842489+08:00"},{"id":"b567ee4b0c85b6acb96613e696267097","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","line_range":"1-56","gmt_create":"2026-05-29T00:33:30.842584+08:00","gmt_modified":"2026-05-29T00:33:30.842584+08:00"},{"id":"0e27aacfcd82c4e50a0acfb57aab3162","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"1-205","gmt_create":"2026-05-29T00:33:30.842675+08:00","gmt_modified":"2026-05-29T00:33:30.842675+08:00"},{"id":"b8802af4d0225098179e020abe79e37f","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"1-221","gmt_create":"2026-05-29T00:33:30.842769+08:00","gmt_modified":"2026-05-29T00:33:30.842769+08:00"},{"id":"79d6778c064e2823bcbcfd650de3aed7","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"1-162","gmt_create":"2026-05-29T00:33:30.84287+08:00","gmt_modified":"2026-05-29T00:33:30.84287+08:00"},{"id":"a98831f9565abcdf7b6b9adb8fddef92","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"1-210","gmt_create":"2026-05-29T00:33:30.842963+08:00","gmt_modified":"2026-05-29T00:33:30.842963+08:00"},{"id":"542bc52f287081a937a5c4a6e7f45706","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"1-186","gmt_create":"2026-05-29T00:33:30.843055+08:00","gmt_modified":"2026-05-29T00:33:30.843055+08:00"},{"id":"490006024000a3833e1c84d694ca0990","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:30.843149+08:00","gmt_modified":"2026-05-29T00:33:30.843149+08:00"},{"id":"3ed388d804efc98edd19a00bca5747df","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"1-66","gmt_create":"2026-05-29T00:33:30.843239+08:00","gmt_modified":"2026-05-29T00:33:30.843239+08:00"},{"id":"7eb3641103d521021753d61ae24526f0","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"1-67","gmt_create":"2026-05-29T00:33:30.843331+08:00","gmt_modified":"2026-05-29T00:33:30.843331+08:00"},{"id":"fe1ff1bc465772999a836ed6ecc29315","path":"infrastructure/ai/managedAgents.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:30.843427+08:00","gmt_modified":"2026-05-29T00:33:30.843427+08:00"},{"id":"1feec8715bc3cbc82757f607ddd359ad","path":"infrastructure/ai/types.ts","line_range":"1-348","gmt_create":"2026-05-29T00:33:30.843518+08:00","gmt_modified":"2026-05-29T00:33:30.843518+08:00"},{"id":"9fc9463a31a92e7e6bd9110beb77d60c","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"90-823","gmt_create":"2026-05-29T00:33:30.843607+08:00","gmt_modified":"2026-05-29T00:33:30.843607+08:00"},{"id":"72f87ad7bc869cad20c872ba09c7909b","path":"components/settings/tabs/ai/ProviderCard.tsx","line_range":"11-105","gmt_create":"2026-05-29T00:33:30.843707+08:00","gmt_modified":"2026-05-29T00:33:30.843707+08:00"},{"id":"44dd1b1a9996e98e7cb98567101c789d","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"50-461","gmt_create":"2026-05-29T00:33:30.843802+08:00","gmt_modified":"2026-05-29T00:33:30.843802+08:00"},{"id":"d8dbd4591219949e387c9389f82bb6fb","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"9-205","gmt_create":"2026-05-29T00:33:30.843896+08:00","gmt_modified":"2026-05-29T00:33:30.843896+08:00"},{"id":"e686b634d3682445e7e7a37965c2e59a","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"33-221","gmt_create":"2026-05-29T00:33:30.843991+08:00","gmt_modified":"2026-05-29T00:33:30.843991+08:00"},{"id":"4658946b7324ce9b5b35116f1efdc3eb","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"10-162","gmt_create":"2026-05-29T00:33:30.844088+08:00","gmt_modified":"2026-05-29T00:33:30.844088+08:00"},{"id":"4e949be1681618f46c911802f35dc3f8","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"9-210","gmt_create":"2026-05-29T00:33:30.844181+08:00","gmt_modified":"2026-05-29T00:33:30.844181+08:00"},{"id":"dbe2f6af5db318f98d98d5329569cc52","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"16-186","gmt_create":"2026-05-29T00:33:30.844275+08:00","gmt_modified":"2026-05-29T00:33:30.844275+08:00"},{"id":"769248b12a32bc4c241c04a7fc364831","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"29-78","gmt_create":"2026-05-29T00:33:30.844363+08:00","gmt_modified":"2026-05-29T00:33:30.844364+08:00"},{"id":"6231010ec6b67ff12eea22675b084a07","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"201-263","gmt_create":"2026-05-29T00:33:30.844458+08:00","gmt_modified":"2026-05-29T00:33:30.844458+08:00"},{"id":"3f4cd4b80ac68cb76e404191fe7553d0","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"142-173","gmt_create":"2026-05-29T00:33:30.844552+08:00","gmt_modified":"2026-05-29T00:33:30.844552+08:00"},{"id":"dc40f33c1b691d1a9aa6abe645c66f92","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"57-62","gmt_create":"2026-05-29T00:33:30.844646+08:00","gmt_modified":"2026-05-29T00:33:30.844646+08:00"},{"id":"309b933a19c25bf047875ae6c7cee92c","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"77-114","gmt_create":"2026-05-29T00:33:30.844767+08:00","gmt_modified":"2026-05-29T00:33:30.844767+08:00"},{"id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"31-162","gmt_create":"2026-05-29T00:33:30.844857+08:00","gmt_modified":"2026-05-29T00:33:30.844857+08:00"},{"id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"61-186","gmt_create":"2026-05-29T00:33:30.844952+08:00","gmt_modified":"2026-05-29T00:33:30.844953+08:00"},{"id":"653843b16f39f833080215e29ff67f30","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"40-210","gmt_create":"2026-05-29T00:33:30.845047+08:00","gmt_modified":"2026-05-29T00:33:30.845047+08:00"},{"id":"d7ccf75382e773bc6ba3cfc722a5033a","path":"infrastructure/ai/managedAgents.ts","line_range":"3-10","gmt_create":"2026-05-29T00:33:30.845264+08:00","gmt_modified":"2026-05-29T00:33:30.845264+08:00"},{"id":"a1fb09c6b6e07296e734466dcb2686d2","path":"infrastructure/ai/types.ts","line_range":"15-40","gmt_create":"2026-05-29T00:33:30.845354+08:00","gmt_modified":"2026-05-29T00:33:30.845354+08:00"},{"id":"d4202b8294bc666f0b25ecd29cfae9f2","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","line_range":"10-56","gmt_create":"2026-05-29T00:33:30.845449+08:00","gmt_modified":"2026-05-29T00:33:30.845449+08:00"},{"id":"4206d311903282917470dda0b1a77de0","path":"infrastructure/ai/types.ts","line_range":"23-40","gmt_create":"2026-05-29T00:33:30.845757+08:00","gmt_modified":"2026-05-29T00:33:30.845757+08:00"},{"id":"82a5ac036b3317cf22e53a0d43f07641","path":"infrastructure/ai/types.ts","line_range":"296-304","gmt_create":"2026-05-29T00:33:30.846164+08:00","gmt_modified":"2026-05-29T00:33:30.846164+08:00"},{"id":"789efde606ab83c6193b42b9389f07c1","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"336-349","gmt_create":"2026-05-29T00:33:30.846255+08:00","gmt_modified":"2026-05-29T00:33:30.846255+08:00"},{"id":"bfe22ea16e523749ee3b80924672d81c","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"100-115","gmt_create":"2026-05-29T00:33:30.846345+08:00","gmt_modified":"2026-05-29T00:33:30.846345+08:00"},{"id":"2a956a100412b6f6939d1d99035ae900","path":"infrastructure/ai/types.ts","line_range":"15-21","gmt_create":"2026-05-29T00:33:30.846434+08:00","gmt_modified":"2026-05-29T00:33:30.846434+08:00"},{"id":"ab8d96527e3718bdc7b675eaa815e4fb","path":"infrastructure/ai/types.ts","line_range":"42-53","gmt_create":"2026-05-29T00:33:30.846562+08:00","gmt_modified":"2026-05-29T00:33:30.846562+08:00"},{"id":"d42e55e836d88f491a817533ec209074","path":"infrastructure/ai/types.ts","line_range":"178-189","gmt_create":"2026-05-29T00:33:30.847064+08:00","gmt_modified":"2026-05-29T00:33:30.847064+08:00"},{"id":"28f57be6f2eeef085ea5047f704afe66","path":"infrastructure/ai/types.ts","line_range":"264-294","gmt_create":"2026-05-29T00:33:30.847198+08:00","gmt_modified":"2026-05-29T00:33:30.847198+08:00"},{"id":"86838b4d4fa12bdc957e6414ec9b7678","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"32-66","gmt_create":"2026-05-29T00:33:30.853128+08:00","gmt_modified":"2026-05-29T00:33:30.853128+08:00"},{"id":"866b1f8c4edaefc96fd27254c45e3e02","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"32-67","gmt_create":"2026-05-29T00:33:30.853266+08:00","gmt_modified":"2026-05-29T00:33:30.853266+08:00"},{"id":"f5295fad218e404d3a577bc0e23bb621","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"132-192","gmt_create":"2026-05-29T00:33:30.853645+08:00","gmt_modified":"2026-05-29T00:33:30.853645+08:00"},{"id":"974d789daa1de3c44d4c888417fdeefb","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"13-78","gmt_create":"2026-05-29T00:33:30.853757+08:00","gmt_modified":"2026-05-29T00:33:30.853757+08:00"},{"id":"6019df266484c641521f679e75021b5e","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"12-66","gmt_create":"2026-05-29T00:33:30.853992+08:00","gmt_modified":"2026-05-29T00:33:30.853992+08:00"},{"id":"333e6755daf6fcbed429adffd4d69bc4","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"12-67","gmt_create":"2026-05-29T00:33:30.854094+08:00","gmt_modified":"2026-05-29T00:33:30.854094+08:00"},{"id":"bd44080415cc705dd669561f3f7229ee","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"172-192","gmt_create":"2026-05-29T00:33:30.854702+08:00","gmt_modified":"2026-05-29T00:33:30.854702+08:00"},{"id":"2b217fc87507bca265df91e3922b4e94","path":"infrastructure/ai/types.ts","line_range":"232-262","gmt_create":"2026-05-29T00:33:30.854932+08:00","gmt_modified":"2026-05-29T00:33:30.854932+08:00"},{"id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","path":"application/i18n/locales/zh-CN/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857192+08:00","gmt_modified":"2026-05-29T00:33:30.857192+08:00"},{"id":"1f1ad6502c179e4435e030f2922c62a8","path":"application/i18n/locales/en/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857292+08:00","gmt_modified":"2026-05-29T00:33:30.857292+08:00"},{"id":"72549edf4576518ab7d937708b43f932","path":"application/i18n/locales/ru/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857395+08:00","gmt_modified":"2026-05-29T00:33:30.857395+08:00"},{"id":"5367e86ddfa76de48c29c511e23479de","path":"infrastructure/ai/types.ts","line_range":"283-294","gmt_create":"2026-05-29T00:33:30.857519+08:00","gmt_modified":"2026-05-29T00:33:30.857519+08:00"},{"id":"627d5d498a908419c0045be052ca5a0c","path":"components/AIChatSidePanel.tsx","line_range":"48-909","gmt_create":"2026-05-29T00:33:53.590753+08:00","gmt_modified":"2026-05-29T00:33:53.590753+08:00"},{"id":"b447f3018e963a5da84b981b9954bfe8","path":"components/AIChatPanelContent.tsx","line_range":"1-249","gmt_create":"2026-05-29T00:33:53.590847+08:00","gmt_modified":"2026-05-29T00:33:53.590847+08:00"},{"id":"64a7395d81782d6cf5bd5201fc086696","path":"components/ai/AgentSelector.tsx","line_range":"1-300","gmt_create":"2026-05-29T00:33:53.590937+08:00","gmt_modified":"2026-05-29T00:33:53.590937+08:00"},{"id":"01c9752d86ab3a9d32a2f6cb2015feff","path":"components/ai/AgentIconBadge.tsx","line_range":"1-242","gmt_create":"2026-05-29T00:33:53.591028+08:00","gmt_modified":"2026-05-29T00:33:53.591028+08:00"},{"id":"b9cb5972f5b64b9eec6c7ca2bd84e426","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"629-657","gmt_create":"2026-05-29T00:33:53.591343+08:00","gmt_modified":"2026-05-29T00:33:53.591343+08:00"},{"id":"bffb18548d41deeaf7e88480c66fa082","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"1-52","gmt_create":"2026-05-29T00:33:53.591433+08:00","gmt_modified":"2026-05-29T00:33:53.591433+08:00"},{"id":"f0377d0c64016366847e7422add570f1","path":"application/state/useAgentDiscovery.ts","line_range":"1-42","gmt_create":"2026-05-29T00:33:53.591522+08:00","gmt_modified":"2026-05-29T00:33:53.591522+08:00"},{"id":"04856c64fe1a06b1cc539b96a60a8d41","path":"components/ai/ChatMessageList.tsx","line_range":"1-468","gmt_create":"2026-05-29T00:33:53.592047+08:00","gmt_modified":"2026-05-29T00:33:53.592047+08:00"},{"id":"db484e38ad1df09c5200d64478bb9d72","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"1-927","gmt_create":"2026-05-29T00:33:53.592135+08:00","gmt_modified":"2026-05-29T00:33:53.592135+08:00"},{"id":"a5fcf22005dd09a47106369f90a757bf","path":"components/ai/AgentSelector.tsx","line_range":"118-190","gmt_create":"2026-05-29T00:33:53.592449+08:00","gmt_modified":"2026-05-29T00:33:53.592449+08:00"},{"id":"e7aaa3cfc2b3d2f1db50e3744a63409d","path":"components/AIChatSidePanel.tsx","line_range":"647-798","gmt_create":"2026-05-29T00:33:53.592536+08:00","gmt_modified":"2026-05-29T00:33:53.592537+08:00"},{"id":"4e4666d66aaf8a3387d9a91a60515b2d","path":"components/AIChatPanelContent.tsx","line_range":"174-178","gmt_create":"2026-05-29T00:33:53.592623+08:00","gmt_modified":"2026-05-29T00:33:53.592623+08:00"},{"id":"5854444f6ca3ab94e2c364f7339e9577","path":"components/ai/ChatMessageList.tsx","line_range":"37-514","gmt_create":"2026-05-29T00:33:53.592709+08:00","gmt_modified":"2026-05-29T00:33:53.592709+08:00"},{"id":"97b16b9274b0e54b6d51d0a8e03dcd43","path":"components/ai/ChatInput.tsx","line_range":"101-264","gmt_create":"2026-05-29T00:33:53.592794+08:00","gmt_modified":"2026-05-29T00:33:53.592794+08:00"},{"id":"b466557ba584a86652aded65971c7446","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"243-514","gmt_create":"2026-05-29T00:33:53.592888+08:00","gmt_modified":"2026-05-29T00:33:53.592888+08:00"},{"id":"03aa04628a434515d2403dec6b9d463a","path":"components/ai/hooks/aiChatStreamingSupport.ts","line_range":"1-206","gmt_create":"2026-05-29T00:33:53.592973+08:00","gmt_modified":"2026-05-29T00:33:53.592973+08:00"},{"id":"2ce13ba157e65c23fd951fe28e11e018","path":"components/ai/ChatMessageList.tsx","line_range":"175-324","gmt_create":"2026-05-29T00:33:53.593056+08:00","gmt_modified":"2026-05-29T00:33:53.593056+08:00"},{"id":"e60d1e84845664e62f70ee788778247d","path":"components/ai-elements/message.tsx","line_range":"55-84","gmt_create":"2026-05-29T00:33:53.593146+08:00","gmt_modified":"2026-05-29T00:33:53.593146+08:00"},{"id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","path":"components/ai-elements/streamdownCodeHighlighter.ts","line_range":"59-77","gmt_create":"2026-05-29T00:33:53.593231+08:00","gmt_modified":"2026-05-29T00:33:53.593231+08:00"},{"id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","path":"components/ai-elements/tool-call.tsx","line_range":"132-314","gmt_create":"2026-05-29T00:33:53.593317+08:00","gmt_modified":"2026-05-29T00:33:53.593317+08:00"},{"id":"606bc93b094363b88c880e862a8bd27b","path":"components/ai/ThinkingBlock.tsx","line_range":"28-135","gmt_create":"2026-05-29T00:33:53.593402+08:00","gmt_modified":"2026-05-29T00:33:53.593402+08:00"},{"id":"84d4622f682597063e7b21bd8700037e","path":"components/ai-elements/message.tsx","line_range":"1-86","gmt_create":"2026-05-29T00:33:53.593594+08:00","gmt_modified":"2026-05-29T00:33:53.593594+08:00"},{"id":"cd022c0be9c9ca808f36306b82ec1070","path":"components/ai-elements/streamdownCodeHighlighter.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:53.593678+08:00","gmt_modified":"2026-05-29T00:33:53.593678+08:00"},{"id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","path":"components/ai-elements/tool-call.tsx","line_range":"1-315","gmt_create":"2026-05-29T00:33:53.593773+08:00","gmt_modified":"2026-05-29T00:33:53.593773+08:00"},{"id":"acbe25c99cb195d0fe75d660c939f1c1","path":"components/ai/ThinkingBlock.tsx","line_range":"1-139","gmt_create":"2026-05-29T00:33:53.593859+08:00","gmt_modified":"2026-05-29T00:33:53.593859+08:00"},{"id":"9763cfd8faa168da0d2ec5ca786209bf","path":"components/ai/ChatInput.tsx","line_range":"187-336","gmt_create":"2026-05-29T00:33:53.593945+08:00","gmt_modified":"2026-05-29T00:33:53.593945+08:00"},{"id":"ea87f28e9e1fdcdd28ead0cda671594e","path":"components/ai-elements/prompt-input.tsx","line_range":"34-110","gmt_create":"2026-05-29T00:33:53.594047+08:00","gmt_modified":"2026-05-29T00:33:53.594047+08:00"},{"id":"327de3e2a81b0b2b64f48efa73d23eca","path":"components/ai/ChatInput.tsx","line_range":"1-955","gmt_create":"2026-05-29T00:33:53.594243+08:00","gmt_modified":"2026-05-29T00:33:53.594243+08:00"},{"id":"5b96fdba00fecee9acdc5f1af9a7c5c4","path":"components/ai-elements/prompt-input.tsx","line_range":"1-215","gmt_create":"2026-05-29T00:33:53.594329+08:00","gmt_modified":"2026-05-29T00:33:53.594329+08:00"},{"id":"fe90149e17952539249c367cdae4b08f","path":"components/ai/hooks/aiChatStreamingSupport.ts","line_range":"8-89","gmt_create":"2026-05-29T00:33:53.594646+08:00","gmt_modified":"2026-05-29T00:33:53.594646+08:00"},{"id":"6bd6848f24bb599b3dc26d6f3bc64a6d","path":"components/ai/AgentSelector.tsx","line_range":"237-284","gmt_create":"2026-05-29T00:33:53.595061+08:00","gmt_modified":"2026-05-29T00:33:53.595061+08:00"},{"id":"34ea52e428db926ef92c005738524fa9","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"61-173","gmt_create":"2026-05-29T00:33:53.595383+08:00","gmt_modified":"2026-05-29T00:33:53.595383+08:00"},{"id":"cf2be59058ec94e10617138246740824","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"172-206","gmt_create":"2026-05-29T00:33:53.595471+08:00","gmt_modified":"2026-05-29T00:33:53.595471+08:00"},{"id":"d4f513f7b7317663ad7541d9881f792f","path":"infrastructure/ai/types.ts","line_range":"1-344","gmt_create":"2026-05-29T00:33:53.595888+08:00","gmt_modified":"2026-05-29T00:33:53.595888+08:00"},{"id":"43b38419087f8994012956a2ddf78ea4","path":"components/ai/aiPanelViewState.ts","line_range":"1-95","gmt_create":"2026-05-29T00:33:53.595979+08:00","gmt_modified":"2026-05-29T00:33:53.595979+08:00"},{"id":"540a5ba8238ea8a483e865692a81f838","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"212-237","gmt_create":"2026-05-29T00:33:53.597549+08:00","gmt_modified":"2026-05-29T00:33:53.597549+08:00"},{"id":"0fc485e20a60d7df0cd756978c49340e","path":"components/ai/ChatMessageList.tsx","line_range":"43-74","gmt_create":"2026-05-29T00:33:53.597678+08:00","gmt_modified":"2026-05-29T00:33:53.597678+08:00"},{"id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","path":"components/ai/ChatInput.tsx","line_range":"187-218","gmt_create":"2026-05-29T00:33:53.59778+08:00","gmt_modified":"2026-05-29T00:33:53.59778+08:00"},{"id":"fb4bb0dc0232c0358067c351faefeb97","path":"components/ai/AgentSelector.tsx","line_range":"192-195","gmt_create":"2026-05-29T00:33:53.597871+08:00","gmt_modified":"2026-05-29T00:33:53.597871+08:00"},{"id":"638bdc16647cd7f02142c1c065ca3f0a","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"1-113","gmt_create":"2026-05-29T00:34:06.341941+08:00","gmt_modified":"2026-05-29T00:34:06.341941+08:00"},{"id":"ccbc4a05b367edbbf8ecd673d06a645a","path":"components/ai/ConversationExport.tsx","line_range":"1-88","gmt_create":"2026-05-29T00:34:06.342039+08:00","gmt_modified":"2026-05-29T00:34:06.342039+08:00"},{"id":"100bd4a254411503caf7376831d4386b","path":"infrastructure/ai/sdk/providers.ts","line_range":"1-478","gmt_create":"2026-05-29T00:34:06.342373+08:00","gmt_modified":"2026-05-29T00:34:06.342373+08:00"},{"id":"28cfa354e1b7170c007690877c62b8be","path":"infrastructure/ai/sdk/tools.ts","line_range":"1-177","gmt_create":"2026-05-29T00:34:06.342474+08:00","gmt_modified":"2026-05-29T00:34:06.342474+08:00"},{"id":"3d4db1f7d087ceb76ea5545b48871bbc","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"1-142","gmt_create":"2026-05-29T00:34:06.34258+08:00","gmt_modified":"2026-05-29T00:34:06.34258+08:00"},{"id":"247f7b23c2f1b7560d9a2d26ba0ca17a","path":"components/AIChatPanelContent.tsx","line_range":"69-249","gmt_create":"2026-05-29T00:34:06.343465+08:00","gmt_modified":"2026-05-29T00:34:06.343465+08:00"},{"id":"e9e9976384f8d9f81e9c91d4890b7508","path":"components/ai/ChatMessageList.tsx","line_range":"37-468","gmt_create":"2026-05-29T00:34:06.343558+08:00","gmt_modified":"2026-05-29T00:34:06.343558+08:00"},{"id":"22e7685c78002f80d08cd6213247801c","path":"components/ai/ChatInput.tsx","line_range":"101-955","gmt_create":"2026-05-29T00:34:06.343649+08:00","gmt_modified":"2026-05-29T00:34:06.343649+08:00"},{"id":"441a9a4b1424f75556f79af23f5711fa","path":"components/ai/AgentSelector.tsx","line_range":"118-300","gmt_create":"2026-05-29T00:34:06.343737+08:00","gmt_modified":"2026-05-29T00:34:06.343737+08:00"},{"id":"fe1f8aef45b10a07b603f8ee72076c85","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"22-113","gmt_create":"2026-05-29T00:34:06.343826+08:00","gmt_modified":"2026-05-29T00:34:06.343826+08:00"},{"id":"935963cc2a872d5f86edf8dbc4b557c1","path":"components/ai/ConversationExport.tsx","line_range":"32-88","gmt_create":"2026-05-29T00:34:06.343916+08:00","gmt_modified":"2026-05-29T00:34:06.343916+08:00"},{"id":"36b8d0a32b856a4af6aa1b189ecb5295","path":"infrastructure/ai/sdk/providers.ts","line_range":"247-478","gmt_create":"2026-05-29T00:34:06.344005+08:00","gmt_modified":"2026-05-29T00:34:06.344005+08:00"},{"id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","path":"infrastructure/ai/sdk/tools.ts","line_range":"33-177","gmt_create":"2026-05-29T00:34:06.344094+08:00","gmt_modified":"2026-05-29T00:34:06.344094+08:00"},{"id":"cfc7d370cd35900cc754c0edc190c2ce","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-142","gmt_create":"2026-05-29T00:34:06.344227+08:00","gmt_modified":"2026-05-29T00:34:06.344227+08:00"},{"id":"8f3dad4abe68b1f924501fbb7348d772","path":"components/ai/ChatMessageList.tsx","line_range":"169-433","gmt_create":"2026-05-29T00:34:06.34466+08:00","gmt_modified":"2026-05-29T00:34:06.34466+08:00"},{"id":"1a43524f0697efe9b361810c0cf012b1","path":"components/AIChatPanelContent.tsx","line_range":"115-248","gmt_create":"2026-05-29T00:34:06.34475+08:00","gmt_modified":"2026-05-29T00:34:06.34475+08:00"},{"id":"61d03453faf350475d772ca6e0b5afe9","path":"components/ai/ChatInput.tsx","line_range":"174-336","gmt_create":"2026-05-29T00:34:06.344955+08:00","gmt_modified":"2026-05-29T00:34:06.344955+08:00"},{"id":"a6ec45894b1ed02e3be025898d456a24","path":"components/ai/ChatInput.tsx","line_range":"424-955","gmt_create":"2026-05-29T00:34:06.345047+08:00","gmt_modified":"2026-05-29T00:34:06.345047+08:00"},{"id":"0dad39b4141fd71cc091c8c7713ee397","path":"application/state/useAgentDiscovery.ts","line_range":"12-108","gmt_create":"2026-05-29T00:34:06.345354+08:00","gmt_modified":"2026-05-29T00:34:06.345354+08:00"},{"id":"e1c64756264cc7254af6c9145fdc053b","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"36-44","gmt_create":"2026-05-29T00:34:06.345667+08:00","gmt_modified":"2026-05-29T00:34:06.345667+08:00"},{"id":"f41977e182e15c0f950e62a5b8151043","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"8-67","gmt_create":"2026-05-29T00:34:06.345868+08:00","gmt_modified":"2026-05-29T00:34:06.345868+08:00"},{"id":"f97f3b58e398b7aad8853a3167d57840","path":"components/AIChatSidePanel.tsx","line_range":"589-597","gmt_create":"2026-05-29T00:34:06.346616+08:00","gmt_modified":"2026-05-29T00:34:06.346616+08:00"},{"id":"d5ddf712ec10bbdae1b48c624392ffc8","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"14-113","gmt_create":"2026-05-29T00:34:06.346705+08:00","gmt_modified":"2026-05-29T00:34:06.346705+08:00"},{"id":"6983e2aa9104b0fcc506cafb4644e4f2","path":"components/ai/ConversationExport.tsx","line_range":"20-88","gmt_create":"2026-05-29T00:34:06.346791+08:00","gmt_modified":"2026-05-29T00:34:06.346791+08:00"},{"id":"3fa5f6beb3b87bd68bc4098df6894ffb","path":"infrastructure/ai/sdk/tools.ts","line_range":"44-115","gmt_create":"2026-05-29T00:34:06.346988+08:00","gmt_modified":"2026-05-29T00:34:06.346988+08:00"},{"id":"bf899ad495850daf0202760da02dc100","path":"infrastructure/ai/types.ts","line_range":"43-53","gmt_create":"2026-05-29T00:34:06.347518+08:00","gmt_modified":"2026-05-29T00:34:06.347518+08:00"},{"id":"a99f462e4b8bf088b908b35f7fbbe8fd","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"54-173","gmt_create":"2026-05-29T00:34:06.347619+08:00","gmt_modified":"2026-05-29T00:34:06.347619+08:00"},{"id":"fb235213378aeb07ae9a20bc1270b4e7","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"54-461","gmt_create":"2026-05-29T00:34:06.347935+08:00","gmt_modified":"2026-05-29T00:34:06.347935+08:00"},{"id":"be40f537e25221baebe8c5864c51b198","path":"components/AIChatSidePanel.tsx","line_range":"104-116","gmt_create":"2026-05-29T00:34:06.348127+08:00","gmt_modified":"2026-05-29T00:34:06.348128+08:00"},{"id":"498ca8240be0ec198d8dcd16e39e08f3","path":"components/ai/ChatMessageList.tsx","line_range":"280-292","gmt_create":"2026-05-29T00:34:06.349217+08:00","gmt_modified":"2026-05-29T00:34:06.349217+08:00"},{"id":"7b8e979bf92d58979700a69fd9c5b27a","path":"components/AIChatSidePanel.tsx","line_range":"693-711","gmt_create":"2026-05-29T00:34:06.349474+08:00","gmt_modified":"2026-05-29T00:34:06.349474+08:00"},{"id":"44c54ebf29feebb634b2f7957297dfb9","path":"application/state/useAgentDiscovery.ts","line_range":"19-32","gmt_create":"2026-05-29T00:34:06.349608+08:00","gmt_modified":"2026-05-29T00:34:06.349608+08:00"},{"id":"67538f95d3000f59efd6a6f7fec74e6f","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","line_range":"1-128","gmt_create":"2026-05-29T00:36:03.433588+08:00","gmt_modified":"2026-05-29T00:36:03.433588+08:00"},{"id":"9417fce74f6b6f53a599238c0ecaae53","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"1-261","gmt_create":"2026-05-29T00:36:03.433675+08:00","gmt_modified":"2026-05-29T00:36:03.433675+08:00"},{"id":"ef28c67ed1ff92a24029da16f6553c21","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"1-240","gmt_create":"2026-05-29T00:36:03.433763+08:00","gmt_modified":"2026-05-29T00:36:03.433763+08:00"},{"id":"7dcdfeb34122a1981bcf72e93260425a","path":"infrastructure/ai/acpAgentAdapter.ts","line_range":"1-323","gmt_create":"2026-05-29T00:36:03.433849+08:00","gmt_modified":"2026-05-29T00:36:03.433849+08:00"},{"id":"cb4197d4817c8abbde89ddf45a94e0e8","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.433937+08:00","gmt_modified":"2026-05-29T00:36:03.433937+08:00"},{"id":"f716923ec2c150e5314e4b76edeee49f","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.434024+08:00","gmt_modified":"2026-05-29T00:36:03.434024+08:00"},{"id":"d55f61ffd4a94399c84fdb1f3d553b73","path":"electron/bridges/aiBridge/providerHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.434113+08:00","gmt_modified":"2026-05-29T00:36:03.434113+08:00"},{"id":"5387fddb54f5dbc949a84416e7f6a3fc","path":"electron/bridges/mcpServerBridge.cjs","line_range":"235-269","gmt_create":"2026-05-29T00:36:03.4342+08:00","gmt_modified":"2026-05-29T00:36:03.4342+08:00"},{"id":"d941aa3503f71dd1a195ad74f2746fb9","path":"infrastructure/ai/cattyAgent/safety.ts","line_range":"1-99","gmt_create":"2026-05-29T00:36:03.434499+08:00","gmt_modified":"2026-05-29T00:36:03.434499+08:00"},{"id":"81391bb13afe350160619c0771563cfd","path":"infrastructure/ai/sdk/providers.ts","line_range":"247-399","gmt_create":"2026-05-29T00:36:03.436934+08:00","gmt_modified":"2026-05-29T00:36:03.436934+08:00"},{"id":"4aff5e834a93bcb12ba76d9d392ec3e0","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"123-200","gmt_create":"2026-05-29T00:36:03.437039+08:00","gmt_modified":"2026-05-29T00:36:03.437039+08:00"},{"id":"5e2dd6938ff0dcd3632b657156af0c73","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"66-116","gmt_create":"2026-05-29T00:36:03.437233+08:00","gmt_modified":"2026-05-29T00:36:03.437233+08:00"},{"id":"8cd29c387c0a9a43cb308f923c0709a3","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"53-89","gmt_create":"2026-05-29T00:36:03.43732+08:00","gmt_modified":"2026-05-29T00:36:03.43732+08:00"},{"id":"4c618aeec634eea5f99214f915aa1020","path":"infrastructure/ai/acpAgentAdapter.ts","line_range":"132-249","gmt_create":"2026-05-29T00:36:03.437939+08:00","gmt_modified":"2026-05-29T00:36:03.437939+08:00"},{"id":"747b2a89815ba74e040420f0f2c1ca33","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"66-240","gmt_create":"2026-05-29T00:36:03.438548+08:00","gmt_modified":"2026-05-29T00:36:03.438548+08:00"},{"id":"aa59a13521f82ab4cf5b39c3ed9995e5","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","line_range":"58-117","gmt_create":"2026-05-29T00:36:03.438641+08:00","gmt_modified":"2026-05-29T00:36:03.438641+08:00"},{"id":"10728caa367c0ab746a192e5ac6c24ad","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"53-185","gmt_create":"2026-05-29T00:36:03.438757+08:00","gmt_modified":"2026-05-29T00:36:03.438757+08:00"},{"id":"69f45bef07c7394a439ae80da49caefe","path":"infrastructure/ai/cattyAgent/safety.ts","line_range":"76-99","gmt_create":"2026-05-29T00:36:03.438845+08:00","gmt_modified":"2026-05-29T00:36:03.438845+08:00"},{"id":"1a7099e01fde4608b291fac03c453e1b","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-65","gmt_create":"2026-05-29T00:36:03.439361+08:00","gmt_modified":"2026-05-29T00:36:03.439361+08:00"},{"id":"ceda80a34996ffcae8fb0a0e8789d2dd","path":"infrastructure/ai/types.ts","line_range":"160-177","gmt_create":"2026-05-29T00:36:03.439447+08:00","gmt_modified":"2026-05-29T00:36:03.439447+08:00"},{"id":"ec07fe3dcd32336f62ab2834095f336f","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"4-121","gmt_create":"2026-05-29T00:36:03.439743+08:00","gmt_modified":"2026-05-29T00:36:03.439743+08:00"},{"id":"7e7bc7d50badd78dabc2b7d72af40215","path":"electron/bridges/mcpServerBridge.cjs","line_range":"245-269","gmt_create":"2026-05-29T00:36:03.439939+08:00","gmt_modified":"2026-05-29T00:36:03.439939+08:00"},{"id":"dab01b344f15667205c31d761866acb7","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"4-141","gmt_create":"2026-05-29T00:36:03.440584+08:00","gmt_modified":"2026-05-29T00:36:03.440584+08:00"},{"id":"9612c547c5baace638605ed8993427fc","path":"infrastructure/ai/errorClassifier.ts","line_range":"121-156","gmt_create":"2026-05-29T00:36:03.443041+08:00","gmt_modified":"2026-05-29T00:36:03.443041+08:00"},{"id":"ec7aa1cecef34429b91fe813e6807485","path":"lib/logger.ts","line_range":"1-25","gmt_create":"2026-05-29T00:36:03.443137+08:00","gmt_modified":"2026-05-29T00:36:03.443137+08:00"},{"id":"ca79d3f86e64656ced8e62b11241c5e6","path":"domain/sshAuth.ts","line_range":"1-125","gmt_create":"2026-05-29T16:04:30.665084+08:00","gmt_modified":"2026-05-29T16:04:30.665085+08:00"},{"id":"a3def397ad1794ae80408f70257853e4","path":"domain/credentials.ts","line_range":"1-111","gmt_create":"2026-05-29T16:04:30.665209+08:00","gmt_modified":"2026-05-29T16:04:30.665209+08:00"},{"id":"0239e67753852e82d4d41579e207c5dd","path":"electron/bridges/sshAuthHelper.cjs","line_range":"1-981","gmt_create":"2026-05-29T16:04:30.665311+08:00","gmt_modified":"2026-05-29T16:04:30.665311+08:00"},{"id":"47777a4c85b6514d718e48b1e04b0118","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"1-104","gmt_create":"2026-05-29T16:04:30.665423+08:00","gmt_modified":"2026-05-29T16:04:30.665423+08:00"},{"id":"8b8d8ae929a16344538886a81db8f214","path":"electron/bridges/passphraseHandler.cjs","line_range":"1-191","gmt_create":"2026-05-29T16:04:30.665517+08:00","gmt_modified":"2026-05-29T16:04:30.665517+08:00"},{"id":"53ccbc21b6b3804a9fa8cc8edbcac476","path":"electron/bridges/keyboardInteractiveHandler.cjs","line_range":"1-107","gmt_create":"2026-05-29T16:04:30.665611+08:00","gmt_modified":"2026-05-29T16:04:30.665611+08:00"},{"id":"924bb1a806344a0eb311e8d8c7575b2c","path":"components/terminal/TerminalAuthDialog.tsx","line_range":"1-307","gmt_create":"2026-05-29T16:04:30.665706+08:00","gmt_modified":"2026-05-29T16:04:30.665707+08:00"},{"id":"a06b108e573556a03a1c12c0b59891eb","path":"components/KeyboardInteractiveModal.tsx","line_range":"1-228","gmt_create":"2026-05-29T16:04:30.6658+08:00","gmt_modified":"2026-05-29T16:04:30.6658+08:00"},{"id":"52d0b0ac416628922950e54478ba650d","path":"components/PassphraseModal.tsx","line_range":"1-184","gmt_create":"2026-05-29T16:04:30.665893+08:00","gmt_modified":"2026-05-29T16:04:30.665893+08:00"},{"id":"7a65710ff0c1db23e5f91241e7c2cc03","path":"application/state/useVaultState.ts","line_range":"156-199","gmt_create":"2026-05-29T16:04:30.665985+08:00","gmt_modified":"2026-05-29T16:04:30.665985+08:00"},{"id":"91c695ba16ad5d471aad8daba5d1f6f0","path":"application/defaultKeyPassphrases.ts","line_range":"73-93","gmt_create":"2026-05-29T16:04:30.66608+08:00","gmt_modified":"2026-05-29T16:04:30.66608+08:00"},{"id":"6b5969e1d95eaf558be41b6443750eba","path":"domain/sshAuth.ts","line_range":"44-103","gmt_create":"2026-05-29T16:04:30.667429+08:00","gmt_modified":"2026-05-29T16:04:30.667429+08:00"},{"id":"35bc085ff57418a6ef690b0e579fc49f","path":"electron/bridges/sshAuthHelper.cjs","line_range":"464-718","gmt_create":"2026-05-29T16:04:30.667524+08:00","gmt_modified":"2026-05-29T16:04:30.667524+08:00"},{"id":"8970034d832fc470e0fe605b1e89da38","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"43-97","gmt_create":"2026-05-29T16:04:30.667616+08:00","gmt_modified":"2026-05-29T16:04:30.667616+08:00"},{"id":"21353a724957792ec2d18d735b25b472","path":"domain/credentials.ts","line_range":"30-110","gmt_create":"2026-05-29T16:04:30.667705+08:00","gmt_modified":"2026-05-29T16:04:30.667705+08:00"},{"id":"9693d9bf7f30c39aca2f495b6f7f7799","path":"components/terminal/TerminalAuthDialog.tsx","line_range":"18-39","gmt_create":"2026-05-29T16:04:30.667799+08:00","gmt_modified":"2026-05-29T16:04:30.667799+08:00"},{"id":"5db6727740eb5df8599c1adbdad450f1","path":"components/KeyboardInteractiveModal.tsx","line_range":"25-48","gmt_create":"2026-05-29T16:04:30.667895+08:00","gmt_modified":"2026-05-29T16:04:30.667895+08:00"},{"id":"58960be2def6fe290a3d622cc938d4b0","path":"components/PassphraseModal.tsx","line_range":"26-31","gmt_create":"2026-05-29T16:04:30.667986+08:00","gmt_modified":"2026-05-29T16:04:30.667986+08:00"},{"id":"2ec6f65bdac68ddac752edc9432c2dc1","path":"electron/bridges/passphraseHandler.cjs","line_range":"76-139","gmt_create":"2026-05-29T16:04:30.668411+08:00","gmt_modified":"2026-05-29T16:04:30.668411+08:00"},{"id":"2a34fd2cd38b67d2bda9ea5476346bb1","path":"electron/bridges/keyboardInteractiveHandler.cjs","line_range":"26-49","gmt_create":"2026-05-29T16:04:30.668503+08:00","gmt_modified":"2026-05-29T16:04:30.668503+08:00"},{"id":"6896a2e499ef113d1f2f61fdf44d3e8d","path":"domain/sshAuth.ts","line_range":"25-42","gmt_create":"2026-05-29T16:04:30.668598+08:00","gmt_modified":"2026-05-29T16:04:30.668598+08:00"},{"id":"6c3987ab9234bb35ea7475369bb5ac50","path":"domain/credentials.ts","line_range":"30-52","gmt_create":"2026-05-29T16:04:30.66892+08:00","gmt_modified":"2026-05-29T16:04:30.66892+08:00"},{"id":"88239c80ddd044b453557fe8fa6f27bf","path":"electron/bridges/sshAuthHelper.cjs","line_range":"296-373","gmt_create":"2026-05-29T16:04:30.66913+08:00","gmt_modified":"2026-05-29T16:04:30.66913+08:00"},{"id":"ce55c6d05dcd873f7342ed01b7472d53","path":"electron/bridges/sshAuthHelper.cjs","line_range":"782-790","gmt_create":"2026-05-29T16:04:30.670233+08:00","gmt_modified":"2026-05-29T16:04:30.670233+08:00"},{"id":"51702a7a5dd3dbdb9c48d645a91dbd9f","path":"electron/bridges/sshAuthHelper.cjs","line_range":"828-861","gmt_create":"2026-05-29T16:04:30.670326+08:00","gmt_modified":"2026-05-29T16:04:30.670326+08:00"},{"id":"4b66f1a9cc38229f9896cd834b152ea5","path":"components/keychain/GenerateStandardPanel.tsx","line_range":"14-30","gmt_create":"2026-05-29T16:04:30.670859+08:00","gmt_modified":"2026-05-29T16:04:30.670859+08:00"},{"id":"d360cba87d971df99a7724cb8e0cdbe8","path":"components/keychain/ImportKeyPanel.tsx","line_range":"15-29","gmt_create":"2026-05-29T16:04:30.670946+08:00","gmt_modified":"2026-05-29T16:04:30.670946+08:00"},{"id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","path":"components/keychain/IdentityPanel.tsx","line_range":"16-34","gmt_create":"2026-05-29T16:04:30.671039+08:00","gmt_modified":"2026-05-29T16:04:30.671039+08:00"},{"id":"dc4e286965a8fc1eff96b3ddfdf34d10","path":"components/keychain/utils.ts","line_range":"29-34","gmt_create":"2026-05-29T16:04:30.671574+08:00","gmt_modified":"2026-05-29T16:04:30.671574+08:00"},{"id":"05fa54de15d257c2519e65d4841cbfc9","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"41-85","gmt_create":"2026-05-29T16:04:30.672564+08:00","gmt_modified":"2026-05-29T16:04:30.672564+08:00"},{"id":"b4d4ead9b619e67de1c6708b706b437e","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"1-92","gmt_create":"2026-05-29T16:04:30.672772+08:00","gmt_modified":"2026-05-29T16:04:30.672772+08:00"},{"id":"3bf9ff51a47ed7bada8360a480c612f2","path":"electron/bridges/sshAuthHelper.pkcs8.test.cjs","line_range":"1-87","gmt_create":"2026-05-29T16:04:30.672867+08:00","gmt_modified":"2026-05-29T16:04:30.672867+08:00"},{"id":"fd080f88b1aef2580b3a2a9ba10550b3","path":"electron/bridges/sshAuthHelper.cjs","line_range":"140-162","gmt_create":"2026-05-29T16:04:30.672957+08:00","gmt_modified":"2026-05-29T16:04:30.672957+08:00"},{"id":"8eb4f9cc1e654cbf97e316351af95c10","path":"electron/bridges/sshAuthHelper.cjs","line_range":"120-134","gmt_create":"2026-05-29T16:04:30.675563+08:00","gmt_modified":"2026-05-29T16:04:30.675563+08:00"},{"id":"e5a37c8ad7a3d71da27c7701fbe45aba","path":"domain/credentials.ts","line_range":"59-110","gmt_create":"2026-05-29T16:04:30.675798+08:00","gmt_modified":"2026-05-29T16:04:30.675798+08:00"},{"id":"434d0a22feaba8201e2f028767a2ed4f","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"76-92","gmt_create":"2026-05-29T16:04:30.675887+08:00","gmt_modified":"2026-05-29T16:04:30.675887+08:00"},{"id":"87599e4f906c1f8774fd4bc92c06bc11","path":"electron/bridges/sshBridge.cjs","line_range":"696-722","gmt_create":"2026-05-29T16:04:37.479103+08:00","gmt_modified":"2026-05-29T16:04:37.479103+08:00"},{"id":"7531e57a28dfe8b57dd9a3c3c2780a10","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479202+08:00","gmt_modified":"2026-05-29T16:04:37.479202+08:00"},{"id":"79514ea5593b67be4cd9989564b3cc96","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479314+08:00","gmt_modified":"2026-05-29T16:04:37.479314+08:00"},{"id":"04d021e72f01a784d4bc6e6f79456a29","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479408+08:00","gmt_modified":"2026-05-29T16:04:37.479408+08:00"},{"id":"dc5ee5a48c639579c5a363bc06add941","path":"electron/bridges/sshAuthHelper.cjs","line_range":"140-180","gmt_create":"2026-05-29T16:04:37.479498+08:00","gmt_modified":"2026-05-29T16:04:37.479498+08:00"},{"id":"e6139ea5aed00d4df3606d79ae72ea59","path":"electron/bridges/sshAlgorithms.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479715+08:00","gmt_modified":"2026-05-29T16:04:37.479716+08:00"},{"id":"f6e27e4da6cbd578f71fd26a99b7275e","path":"electron/bridges/sshAlgorithms.cjs","line_range":"196-213","gmt_create":"2026-05-29T16:04:37.481064+08:00","gmt_modified":"2026-05-29T16:04:37.481065+08:00"},{"id":"2156259f8a615062cc2924c5f3f541fd","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"516-774","gmt_create":"2026-05-29T16:04:37.481279+08:00","gmt_modified":"2026-05-29T16:04:37.481279+08:00"},{"id":"9d127c152834958b27afc8c36276422d","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"52-97","gmt_create":"2026-05-29T16:04:37.481488+08:00","gmt_modified":"2026-05-29T16:04:37.481488+08:00"},{"id":"58363df82b870c4a85924d02ac30a632","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"38-120","gmt_create":"2026-05-29T16:04:37.481694+08:00","gmt_modified":"2026-05-29T16:04:37.481694+08:00"},{"id":"27308e69d5f8068b00feab164863555e","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"480-695","gmt_create":"2026-05-29T16:04:37.481786+08:00","gmt_modified":"2026-05-29T16:04:37.481786+08:00"},{"id":"b598e20f6b4aaf2c232501136381d1ff","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"718-774","gmt_create":"2026-05-29T16:04:37.48188+08:00","gmt_modified":"2026-05-29T16:04:37.48188+08:00"},{"id":"a2f9b4aa9aebb38a23c5cb3474c20a56","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"120-185","gmt_create":"2026-05-29T16:04:37.482526+08:00","gmt_modified":"2026-05-29T16:04:37.482526+08:00"},{"id":"90fdd9a212a58f938dbdf87a08a34080","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"4-69","gmt_create":"2026-05-29T16:04:37.483066+08:00","gmt_modified":"2026-05-29T16:04:37.483066+08:00"},{"id":"098d7680b66c291640f039d0bf3490db","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"71-238","gmt_create":"2026-05-29T16:04:37.483157+08:00","gmt_modified":"2026-05-29T16:04:37.483157+08:00"},{"id":"d61b5c8f9e540fa898bf04d4bab73668","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"341-477","gmt_create":"2026-05-29T16:04:37.483255+08:00","gmt_modified":"2026-05-29T16:04:37.483255+08:00"},{"id":"dc193a31e0350ecb17c2dfd447fbb186","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"483-800","gmt_create":"2026-05-29T16:04:37.483345+08:00","gmt_modified":"2026-05-29T16:04:37.483345+08:00"},{"id":"f36205d8dfc10116396d04afb380c007","path":"types/global/netcatty-bridge-session.d.ts","line_range":"1-269","gmt_create":"2026-05-29T16:04:37.484878+08:00","gmt_modified":"2026-05-29T16:04:37.484878+08:00"},{"id":"967f615a0ce86206176eec4b3893cb44","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"16-17","gmt_create":"2026-05-29T16:04:37.485654+08:00","gmt_modified":"2026-05-29T16:04:37.485654+08:00"},{"id":"94e45c6ed659ac90a26ebdde4c5a22cd","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"635-643","gmt_create":"2026-05-29T16:04:37.486411+08:00","gmt_modified":"2026-05-29T16:04:37.486411+08:00"},{"id":"cee005eaf45a172ad51021cc4bd9d4c8","path":"electron/bridges/sshAlgorithms.cjs","line_range":"27-46","gmt_create":"2026-05-29T16:04:37.4865+08:00","gmt_modified":"2026-05-29T16:04:37.4865+08:00"},{"id":"521618219a325c099c292d5fa478afa1","path":"electron/bridges/sshBridge.cjs","line_range":"300-355","gmt_create":"2026-05-29T16:04:37.48662+08:00","gmt_modified":"2026-05-29T16:04:37.48662+08:00"},{"id":"b5f085fd266e5a8356c23e7558819bc5","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"776-800","gmt_create":"2026-05-29T16:04:37.48684+08:00","gmt_modified":"2026-05-29T16:04:37.48684+08:00"},{"id":"f1f993940acf565ba73bee22d5919a7f","path":"electron/bridges/sshBridge.cjs","line_range":"259-294","gmt_create":"2026-05-29T16:04:37.487072+08:00","gmt_modified":"2026-05-29T16:04:37.487072+08:00"},{"id":"5f4e293cf8044ad4c29f4529f63bd2fa","path":"electron/bridges/sshBridge.cjs","line_range":"380-691","gmt_create":"2026-05-29T16:04:37.487293+08:00","gmt_modified":"2026-05-29T16:04:37.487293+08:00"},{"id":"0933fbd748da17c3030fa1daeb479520","path":"electron/bridges/terminalBridge.cjs","line_range":"471-514","gmt_create":"2026-05-29T16:04:37.487383+08:00","gmt_modified":"2026-05-29T16:04:37.487383+08:00"},{"id":"f0eb3f39c6cfaadb71decee64be5dc18","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"34-60","gmt_create":"2026-05-29T16:04:37.487584+08:00","gmt_modified":"2026-05-29T16:04:37.487584+08:00"},{"id":"067c09dc937014b6ffa0ff44112be9d3","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"5-10","gmt_create":"2026-05-29T16:04:37.487679+08:00","gmt_modified":"2026-05-29T16:04:37.487679+08:00"},{"id":"c2f102204f8ebfea0a2b298c795ae9b9","path":"electron/bridges/sshAlgorithms.cjs","line_range":"180-213","gmt_create":"2026-05-29T16:04:37.487786+08:00","gmt_modified":"2026-05-29T16:04:37.487786+08:00"},{"id":"ff313b8f1240962ed5e23d88b3e1dd0c","path":"electron/bridges/sshBridge.cjs","line_range":"60-68","gmt_create":"2026-05-29T16:04:37.48799+08:00","gmt_modified":"2026-05-29T16:04:37.48799+08:00"},{"id":"208ea0f7860a43fb1ea8f4dd152fc91d","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"1-14","gmt_create":"2026-05-29T16:04:37.488085+08:00","gmt_modified":"2026-05-29T16:04:37.488085+08:00"},{"id":"c6e60f3a17a2be4bf084b33d41eaeeea","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"88-92","gmt_create":"2026-05-29T16:04:37.488177+08:00","gmt_modified":"2026-05-29T16:04:37.488177+08:00"},{"id":"6ee23a1e0c2b29c99c711a042bbd095c","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"1-93","gmt_create":"2026-05-29T16:04:37.488615+08:00","gmt_modified":"2026-05-29T16:04:37.488615+08:00"},{"id":"41746efa23f23ba4cf6b9016d10e1cb2","path":"components/ai/AgentSelector.tsx","line_range":"118-171","gmt_create":"2026-05-29T16:05:13.398851+08:00","gmt_modified":"2026-05-29T16:05:13.398851+08:00"},{"id":"d0f4e4df420db34782b941798d15b8b0","path":"application/state/useAgentDiscovery.ts","line_range":"19-37","gmt_create":"2026-05-29T16:05:13.398949+08:00","gmt_modified":"2026-05-29T16:05:13.398949+08:00"},{"id":"333bc4c2289c780b32a0e15ba2023e89","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"29-68","gmt_create":"2026-05-29T16:05:13.399048+08:00","gmt_modified":"2026-05-29T16:05:13.399048+08:00"},{"id":"c83c9f798a0891e9f73808f9e8f47550","path":"infrastructure/ai/types.ts","line_range":"191-230","gmt_create":"2026-05-29T16:05:13.399257+08:00","gmt_modified":"2026-05-29T16:05:13.399257+08:00"},{"id":"05677de111768694bf13a5bc6ab7be71","path":"components/ai/acpHistory.ts","line_range":"398-428","gmt_create":"2026-05-29T16:05:13.399357+08:00","gmt_modified":"2026-05-29T16:05:13.399357+08:00"},{"id":"c7cb5b6e4ba59524d65b9d22137d0b66","path":"electron/bridges/aiBridge.cjs","line_range":"921-958","gmt_create":"2026-05-29T16:05:13.399451+08:00","gmt_modified":"2026-05-29T16:05:13.399451+08:00"},{"id":"3e0f32caa6877953faad8ce7eb17f0f9","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"143-221","gmt_create":"2026-05-29T16:05:13.399543+08:00","gmt_modified":"2026-05-29T16:05:13.399543+08:00"},{"id":"6ab0ae7644299980bb5ee29e079bcb84","path":"electron/bridges/ai/shellUtils.cjs","line_range":"267-291","gmt_create":"2026-05-29T16:05:13.399635+08:00","gmt_modified":"2026-05-29T16:05:13.399635+08:00"},{"id":"a5d2f490756c2a5809570f1057d7f781","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"16-59","gmt_create":"2026-05-29T16:05:13.399868+08:00","gmt_modified":"2026-05-29T16:05:13.399868+08:00"},{"id":"9da62b56d2f1f61c66b6365b6d500e71","path":"components/ai/AgentSelector.tsx","line_range":"181-190","gmt_create":"2026-05-29T16:05:13.402187+08:00","gmt_modified":"2026-05-29T16:05:13.402187+08:00"},{"id":"91a902b0e21cb83af9922c7ce982be12","path":"components/ai/AgentSelector.tsx","line_range":"131-161","gmt_create":"2026-05-29T16:05:13.402665+08:00","gmt_modified":"2026-05-29T16:05:13.402665+08:00"},{"id":"492d335dfaa3489b286de567804b1d10","path":"application/state/useAgentDiscovery.ts","line_range":"42-73","gmt_create":"2026-05-29T16:05:13.403218+08:00","gmt_modified":"2026-05-29T16:05:13.403218+08:00"},{"id":"8cb669b0ea9e9a68866929205039784f","path":"infrastructure/ai/types.ts","line_range":"217-230","gmt_create":"2026-05-29T16:05:13.403425+08:00","gmt_modified":"2026-05-29T16:05:13.403425+08:00"},{"id":"ad1a57f19d7514ade7d42187b5d85ba5","path":"infrastructure/ai/managedAgents.ts","line_range":"35-53","gmt_create":"2026-05-29T16:05:13.403976+08:00","gmt_modified":"2026-05-29T16:05:13.403976+08:00"},{"id":"64df9400788f461bea6619a6474c0330","path":"components/ai/sessionScopeMatch.ts","line_range":"3-28","gmt_create":"2026-05-29T16:05:13.404428+08:00","gmt_modified":"2026-05-29T16:05:13.404428+08:00"},{"id":"e93da680ddf45f077fd5867ee142df5f","path":"infrastructure/ai/types.ts","line_range":"204-215","gmt_create":"2026-05-29T16:05:13.404641+08:00","gmt_modified":"2026-05-29T16:05:13.404642+08:00"},{"id":"716fc714b8fb0d6150fd439696067af7","path":"components/settings/tabs/ai/types.ts","line_range":"111-140","gmt_create":"2026-05-29T16:05:13.404734+08:00","gmt_modified":"2026-05-29T16:05:13.404734+08:00"},{"id":"a4f498b7c851c6fe8fa3863827006c8c","path":"electron/bridges/aiBridge.cjs","line_range":"931-957","gmt_create":"2026-05-29T16:05:13.405047+08:00","gmt_modified":"2026-05-29T16:05:13.405047+08:00"},{"id":"310b560b4ae2f2ce1cffaa873a363c4d","path":"electron/bridges/ai/shellUtils.cjs","line_range":"162-189","gmt_create":"2026-05-29T16:05:13.405362+08:00","gmt_modified":"2026-05-29T16:05:13.405362+08:00"},{"id":"871dcbd9f180ec72a75242d4906b94ec","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-43","gmt_create":"2026-05-29T16:05:13.40767+08:00","gmt_modified":"2026-05-29T16:05:13.40767+08:00"},{"id":"4102225781abd3e0cba30d9dc2e5f3e2","path":"electron/bridges/aiBridge.test.cjs","line_range":"398-487","gmt_create":"2026-05-29T16:05:13.410086+08:00","gmt_modified":"2026-05-29T16:05:13.410086+08:00"},{"id":"4492c48235534414c985d7aafc68d67e","path":"components/ai/agentSendEligibility.ts","line_range":"10-15","gmt_create":"2026-05-29T16:05:13.410206+08:00","gmt_modified":"2026-05-29T16:05:13.410206+08:00"},{"id":"1f3197fea2ebbd0d1615c84e3c674985","path":"components/ai/acpHistory.ts","line_range":"355-378","gmt_create":"2026-05-29T16:05:13.410333+08:00","gmt_modified":"2026-05-29T16:05:13.410333+08:00"},{"id":"8938b76f040af3dee978b382fd44d53b","path":"components/ai/sessionScopeMatch.ts","line_range":"23-25","gmt_create":"2026-05-29T16:05:13.410436+08:00","gmt_modified":"2026-05-29T16:05:13.410436+08:00"}],"knowledge_relations":[{"id":1,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 72c92ab5-35c1-4b79-b485-e9f12ce2fae8","gmt_create":"2026-05-28T21:32:33.725001+08:00","gmt_modified":"2026-05-28T21:32:33.725001+08:00"},{"id":2,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 2c41cd44-9608-4cfc-bae9-2825c596789f","gmt_create":"2026-05-28T21:32:33.725265+08:00","gmt_modified":"2026-05-28T21:32:33.725265+08:00"},{"id":3,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 21014d8b-82b1-49fa-b9a5-6e9d0aded67f","gmt_create":"2026-05-28T21:32:33.725606+08:00","gmt_modified":"2026-05-28T21:32:33.725606+08:00"},{"id":4,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e cf7f749e-8e9a-42b7-958c-19c55410410d","gmt_create":"2026-05-28T21:32:33.725909+08:00","gmt_modified":"2026-05-28T21:32:33.725909+08:00"},{"id":6,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e b16d96dd-1d17-4426-a57f-2a7fbd6076a5","gmt_create":"2026-05-28T21:32:33.726231+08:00","gmt_modified":"2026-05-28T21:32:33.726231+08:00"},{"id":7,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 83ef41c8-3531-4600-9d56-76e1eff02a93","gmt_create":"2026-05-28T21:32:33.726389+08:00","gmt_modified":"2026-05-28T21:32:33.726389+08:00"},{"id":8,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 076f60a6-04ca-4485-aaaf-9093a6a2c260","gmt_create":"2026-05-28T21:32:33.726528+08:00","gmt_modified":"2026-05-28T21:32:33.726528+08:00"},{"id":9,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"dc88333f-8744-4c40-9790-3466bdb408b3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e dc88333f-8744-4c40-9790-3466bdb408b3","gmt_create":"2026-05-28T21:32:33.726699+08:00","gmt_modified":"2026-05-28T21:32:33.726699+08:00"},{"id":10,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"f4139171-e9dc-4289-9492-ce7bc9e73974","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e f4139171-e9dc-4289-9492-ce7bc9e73974","gmt_create":"2026-05-28T21:32:33.727017+08:00","gmt_modified":"2026-05-28T21:32:33.727017+08:00"},{"id":11,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 6911f629-88c9-46a5-a025-dad6e315f1e3","gmt_create":"2026-05-28T21:32:33.727166+08:00","gmt_modified":"2026-05-28T21:32:33.727166+08:00"},{"id":12,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e e99874cc-51a8-4b68-8a1c-9daecf64145f","gmt_create":"2026-05-28T21:32:33.72732+08:00","gmt_modified":"2026-05-28T21:32:33.72732+08:00"},{"id":13,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e 3d2b5605-9785-46cf-9081-f52ded42e6c9","gmt_create":"2026-05-28T21:32:33.727458+08:00","gmt_modified":"2026-05-28T21:32:33.727458+08:00"},{"id":14,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e a9e9905f-e5fb-417a-bb3a-cc85c47635a5","gmt_create":"2026-05-28T21:32:33.727603+08:00","gmt_modified":"2026-05-28T21:32:33.727603+08:00"},{"id":15,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e 5f2c2451-499e-4dc0-9d7c-adfc98ec195e","gmt_create":"2026-05-28T21:32:33.727755+08:00","gmt_modified":"2026-05-28T21:32:33.727755+08:00"},{"id":16,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"8960eec6-53de-41f2-9da2-35c059bfd993","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 8960eec6-53de-41f2-9da2-35c059bfd993","gmt_create":"2026-05-28T21:32:33.727929+08:00","gmt_modified":"2026-05-28T21:32:33.727929+08:00"},{"id":17,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"7027494b-ee06-47c6-ba86-fa80d1bf638d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 7027494b-ee06-47c6-ba86-fa80d1bf638d","gmt_create":"2026-05-28T21:32:33.728076+08:00","gmt_modified":"2026-05-28T21:32:33.728076+08:00"},{"id":18,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"44c64a89-94ca-4e97-8cfe-c248c6cde27a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 44c64a89-94ca-4e97-8cfe-c248c6cde27a","gmt_create":"2026-05-28T21:32:33.728214+08:00","gmt_modified":"2026-05-28T21:32:33.728214+08:00"},{"id":19,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","gmt_create":"2026-05-28T21:32:33.728347+08:00","gmt_modified":"2026-05-28T21:32:33.728347+08:00"},{"id":20,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"4dc539e5-a853-4edf-9ca0-48e6322562ef","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 4dc539e5-a853-4edf-9ca0-48e6322562ef","gmt_create":"2026-05-28T21:32:33.728577+08:00","gmt_modified":"2026-05-28T21:32:33.728577+08:00"},{"id":22,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"f018dbe0-35a9-4ac2-abcb-da04c336a890","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e f018dbe0-35a9-4ac2-abcb-da04c336a890","gmt_create":"2026-05-28T21:32:33.728853+08:00","gmt_modified":"2026-05-28T21:32:33.728853+08:00"},{"id":23,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"326cecd9-d969-462d-9281-a1d57888dccd","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 326cecd9-d969-462d-9281-a1d57888dccd","gmt_create":"2026-05-28T21:32:33.728996+08:00","gmt_modified":"2026-05-28T21:32:33.728996+08:00"},{"id":24,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","gmt_create":"2026-05-28T21:32:33.729227+08:00","gmt_modified":"2026-05-28T21:32:33.729227+08:00"},{"id":25,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"54acc46f-d6ad-4f2c-850a-93c684202570","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 54acc46f-d6ad-4f2c-850a-93c684202570","gmt_create":"2026-05-28T21:32:33.729389+08:00","gmt_modified":"2026-05-28T21:32:33.72939+08:00"},{"id":26,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","gmt_create":"2026-05-28T21:32:33.729587+08:00","gmt_modified":"2026-05-28T21:32:33.729587+08:00"},{"id":27,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"c6203bd1-7727-4496-bd98-180f6da076fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e c6203bd1-7727-4496-bd98-180f6da076fe","gmt_create":"2026-05-28T21:32:33.729726+08:00","gmt_modified":"2026-05-28T21:32:33.729726+08:00"},{"id":29,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"f2bbaae1-29e0-4399-9142-1d3f26b371ef","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e f2bbaae1-29e0-4399-9142-1d3f26b371ef","gmt_create":"2026-05-28T21:32:33.733638+08:00","gmt_modified":"2026-05-28T21:32:33.733638+08:00"},{"id":30,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"2e7a9992-3118-4134-95d6-362c34c77b26","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 2e7a9992-3118-4134-95d6-362c34c77b26","gmt_create":"2026-05-28T21:32:33.733811+08:00","gmt_modified":"2026-05-28T21:32:33.733811+08:00"},{"id":31,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"ecaffc2b-e494-4ed5-8f02-db5fa282aa72","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e ecaffc2b-e494-4ed5-8f02-db5fa282aa72","gmt_create":"2026-05-28T21:32:33.734678+08:00","gmt_modified":"2026-05-28T21:32:33.734678+08:00"},{"id":32,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","gmt_create":"2026-05-28T21:32:33.734932+08:00","gmt_modified":"2026-05-28T21:32:33.734932+08:00"},{"id":33,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"45af2034-e7e9-47d9-90fd-0a031df9231c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 45af2034-e7e9-47d9-90fd-0a031df9231c","gmt_create":"2026-05-28T21:32:33.735108+08:00","gmt_modified":"2026-05-28T21:32:33.735108+08:00"},{"id":34,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"36703908-4de5-4a47-ae0c-1560ce2453e4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 36703908-4de5-4a47-ae0c-1560ce2453e4","gmt_create":"2026-05-28T21:32:33.735279+08:00","gmt_modified":"2026-05-28T21:32:33.73528+08:00"},{"id":35,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","gmt_create":"2026-05-28T21:32:33.735437+08:00","gmt_modified":"2026-05-28T21:32:33.735438+08:00"},{"id":36,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"250e1ffa-0511-4e9b-9572-3b94da7ed30f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 250e1ffa-0511-4e9b-9572-3b94da7ed30f","gmt_create":"2026-05-28T21:32:33.735601+08:00","gmt_modified":"2026-05-28T21:32:33.735601+08:00"},{"id":37,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"e0edb13e-c272-40b7-ace2-3355efd887d7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e e0edb13e-c272-40b7-ace2-3355efd887d7","gmt_create":"2026-05-28T21:32:33.735768+08:00","gmt_modified":"2026-05-28T21:32:33.735768+08:00"},{"id":38,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"7ff04dc2-a695-40d1-8102-cfdd1bcbd276","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 7ff04dc2-a695-40d1-8102-cfdd1bcbd276","gmt_create":"2026-05-28T21:32:33.735958+08:00","gmt_modified":"2026-05-28T21:32:33.735958+08:00"},{"id":39,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"9a20a6d8-32b5-472c-8f96-f55fddf76d5a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 9a20a6d8-32b5-472c-8f96-f55fddf76d5a","gmt_create":"2026-05-28T21:32:33.73618+08:00","gmt_modified":"2026-05-28T21:32:33.73618+08:00"},{"id":40,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"a16a3ff5-48da-45e5-99f9-96588d5b79fa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e a16a3ff5-48da-45e5-99f9-96588d5b79fa","gmt_create":"2026-05-28T21:32:33.73634+08:00","gmt_modified":"2026-05-28T21:32:33.73634+08:00"},{"id":41,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"8f287c60-fbc7-4023-a21d-a9904046e89f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 8f287c60-fbc7-4023-a21d-a9904046e89f","gmt_create":"2026-05-28T21:32:33.73651+08:00","gmt_modified":"2026-05-28T21:32:33.73651+08:00"},{"id":42,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"59643266-d11f-47e4-acd1-e4caaa810589","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 59643266-d11f-47e4-acd1-e4caaa810589","gmt_create":"2026-05-28T21:32:33.736665+08:00","gmt_modified":"2026-05-28T21:32:33.736665+08:00"},{"id":43,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"1694ef25-1221-4fed-8be5-64690fff9c70","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e 1694ef25-1221-4fed-8be5-64690fff9c70","gmt_create":"2026-05-28T21:32:33.736893+08:00","gmt_modified":"2026-05-28T21:32:33.736893+08:00"},{"id":44,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"37433958-d11a-47cc-8b45-7f963b7c3801","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e 37433958-d11a-47cc-8b45-7f963b7c3801","gmt_create":"2026-05-28T21:32:33.737072+08:00","gmt_modified":"2026-05-28T21:32:33.737072+08:00"},{"id":45,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"f6e21ee1-4113-45ba-ac8f-1eba088c1b24","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e f6e21ee1-4113-45ba-ac8f-1eba088c1b24","gmt_create":"2026-05-28T21:32:33.737239+08:00","gmt_modified":"2026-05-28T21:32:33.737239+08:00"},{"id":46,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"b68a612e-3c3f-4c43-9676-bdb3f91bb678","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e b68a612e-3c3f-4c43-9676-bdb3f91bb678","gmt_create":"2026-05-28T21:32:33.73741+08:00","gmt_modified":"2026-05-28T21:32:33.73741+08:00"},{"id":47,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"bb9f89dd-b0e9-4cfa-8153-b52d1904911e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e bb9f89dd-b0e9-4cfa-8153-b52d1904911e","gmt_create":"2026-05-28T21:32:33.737596+08:00","gmt_modified":"2026-05-28T21:32:33.737596+08:00"},{"id":48,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"74c23b15-a37c-415b-8ad8-d01a28fa32ca","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 74c23b15-a37c-415b-8ad8-d01a28fa32ca","gmt_create":"2026-05-28T21:32:33.737869+08:00","gmt_modified":"2026-05-28T21:32:33.737869+08:00"},{"id":49,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"71c44865-0b1f-460a-863f-5a4f24a4fce7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 71c44865-0b1f-460a-863f-5a4f24a4fce7","gmt_create":"2026-05-28T21:32:33.738039+08:00","gmt_modified":"2026-05-28T21:32:33.738039+08:00"},{"id":50,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"2098231c-2de5-4da3-b958-08734c3a8419","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 2098231c-2de5-4da3-b958-08734c3a8419","gmt_create":"2026-05-28T21:32:33.738332+08:00","gmt_modified":"2026-05-28T21:32:33.738332+08:00"},{"id":51,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"c51ce701-f39e-4770-bfe9-7ed664d78ece","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e c51ce701-f39e-4770-bfe9-7ed664d78ece","gmt_create":"2026-05-28T21:32:33.73893+08:00","gmt_modified":"2026-05-28T21:32:33.73893+08:00"},{"id":52,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"7b1c56ff-3c51-4274-bcf5-d3d1f8477382","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 7b1c56ff-3c51-4274-bcf5-d3d1f8477382","gmt_create":"2026-05-28T21:32:33.739248+08:00","gmt_modified":"2026-05-28T21:32:33.739248+08:00"},{"id":53,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"1df8b934-e8f0-45d5-a44e-2985b5f62201","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 1df8b934-e8f0-45d5-a44e-2985b5f62201","gmt_create":"2026-05-28T21:32:33.739416+08:00","gmt_modified":"2026-05-28T21:32:33.739416+08:00"},{"id":54,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"5a51d08c-b7e1-4b2c-8196-8e3d248e854a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 5a51d08c-b7e1-4b2c-8196-8e3d248e854a","gmt_create":"2026-05-28T21:32:33.739587+08:00","gmt_modified":"2026-05-28T21:32:33.739587+08:00"},{"id":55,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"cf2d1803-be1b-4f5c-abef-19c145d455cf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e cf2d1803-be1b-4f5c-abef-19c145d455cf","gmt_create":"2026-05-28T21:32:33.739756+08:00","gmt_modified":"2026-05-28T21:32:33.739756+08:00"},{"id":56,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","gmt_create":"2026-05-28T21:32:33.739912+08:00","gmt_modified":"2026-05-28T21:32:33.739913+08:00"},{"id":57,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"765a165b-9816-400a-83ba-473f4418e1ba","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 765a165b-9816-400a-83ba-473f4418e1ba","gmt_create":"2026-05-28T21:32:33.740074+08:00","gmt_modified":"2026-05-28T21:32:33.740074+08:00"},{"id":58,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"5ef9349b-68d6-4060-bdd6-f994eb94b4b0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 5ef9349b-68d6-4060-bdd6-f994eb94b4b0","gmt_create":"2026-05-28T21:32:33.740315+08:00","gmt_modified":"2026-05-28T21:32:33.740315+08:00"},{"id":59,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"1ee90d0b-1543-46d7-8d77-8c6d5a040e35","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 1ee90d0b-1543-46d7-8d77-8c6d5a040e35","gmt_create":"2026-05-28T21:32:33.740462+08:00","gmt_modified":"2026-05-28T21:32:33.740462+08:00"},{"id":60,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"7484d7a0-8b35-44d2-a7da-139ec01da695","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 7484d7a0-8b35-44d2-a7da-139ec01da695","gmt_create":"2026-05-28T21:32:33.740614+08:00","gmt_modified":"2026-05-28T21:32:33.740614+08:00"},{"id":61,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","gmt_create":"2026-05-28T21:32:33.740799+08:00","gmt_modified":"2026-05-28T21:32:33.740799+08:00"},{"id":62,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"ec9e3933-aba5-4959-a593-ae110a420f06","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e ec9e3933-aba5-4959-a593-ae110a420f06","gmt_create":"2026-05-28T21:32:33.740963+08:00","gmt_modified":"2026-05-28T21:32:33.740963+08:00"},{"id":63,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"95f25b79-6d2b-4805-bd19-d055bce67908","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 95f25b79-6d2b-4805-bd19-d055bce67908","gmt_create":"2026-05-28T21:32:33.741133+08:00","gmt_modified":"2026-05-28T21:32:33.741133+08:00"},{"id":64,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"f12bccb7-c5ba-4609-9741-e46383cbbc70","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e f12bccb7-c5ba-4609-9741-e46383cbbc70","gmt_create":"2026-05-28T21:32:33.741395+08:00","gmt_modified":"2026-05-28T21:32:33.741395+08:00"},{"id":65,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"fc559a24-ee72-4904-afc4-365c2a61c21f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e fc559a24-ee72-4904-afc4-365c2a61c21f","gmt_create":"2026-05-28T21:32:33.74156+08:00","gmt_modified":"2026-05-28T21:32:33.74156+08:00"},{"id":66,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"fcc17a60-93fe-4e71-b393-74e8fde83291","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e fcc17a60-93fe-4e71-b393-74e8fde83291","gmt_create":"2026-05-28T21:32:33.741747+08:00","gmt_modified":"2026-05-28T21:32:33.741747+08:00"},{"id":67,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e 9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","gmt_create":"2026-05-28T21:32:33.741904+08:00","gmt_modified":"2026-05-28T21:32:33.741904+08:00"},{"id":68,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"28e4f2ee-c8ca-4994-b62c-9ac71403d04d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 28e4f2ee-c8ca-4994-b62c-9ac71403d04d","gmt_create":"2026-05-28T21:32:33.742126+08:00","gmt_modified":"2026-05-28T21:32:33.742126+08:00"},{"id":69,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"dcb07678-55bd-469e-a441-411c1c8b7571","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e dcb07678-55bd-469e-a441-411c1c8b7571","gmt_create":"2026-05-28T21:32:33.742295+08:00","gmt_modified":"2026-05-28T21:32:33.742295+08:00"},{"id":70,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"3c9c8608-9041-4736-bff6-4b6c08e234ce","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 3c9c8608-9041-4736-bff6-4b6c08e234ce","gmt_create":"2026-05-28T21:32:33.742446+08:00","gmt_modified":"2026-05-28T21:32:33.742446+08:00"},{"id":71,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"2d2a4c62-7798-4c1c-81a0-200c0748b4d2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 2d2a4c62-7798-4c1c-81a0-200c0748b4d2","gmt_create":"2026-05-28T21:32:33.742633+08:00","gmt_modified":"2026-05-28T21:32:33.742633+08:00"},{"id":72,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","gmt_create":"2026-05-28T21:32:33.742815+08:00","gmt_modified":"2026-05-28T21:32:33.742815+08:00"},{"id":73,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","gmt_create":"2026-05-28T21:32:33.742974+08:00","gmt_modified":"2026-05-28T21:32:33.742974+08:00"},{"id":74,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"5fad6bf9-012b-4055-8a0b-bdec02248b2b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 5fad6bf9-012b-4055-8a0b-bdec02248b2b","gmt_create":"2026-05-28T21:32:33.743145+08:00","gmt_modified":"2026-05-28T21:32:33.743145+08:00"},{"id":75,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"1f554e89-41a3-4589-9116-715d7326d7df","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 1f554e89-41a3-4589-9116-715d7326d7df","gmt_create":"2026-05-28T21:32:33.743386+08:00","gmt_modified":"2026-05-28T21:32:33.743386+08:00"},{"id":76,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"6d891e74-605c-4f85-84f1-6c9277f6ae57","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 6d891e74-605c-4f85-84f1-6c9277f6ae57","gmt_create":"2026-05-28T21:32:33.743548+08:00","gmt_modified":"2026-05-28T21:32:33.743548+08:00"},{"id":77,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"020d314c-4da8-4e4e-ab48-4212b49c5659","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 020d314c-4da8-4e4e-ab48-4212b49c5659","gmt_create":"2026-05-28T21:32:33.743709+08:00","gmt_modified":"2026-05-28T21:32:33.743709+08:00"},{"id":78,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"4c7c01e9-edfe-4726-81ca-4b4aceaae66a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 4c7c01e9-edfe-4726-81ca-4b4aceaae66a","gmt_create":"2026-05-28T21:32:33.743876+08:00","gmt_modified":"2026-05-28T21:32:33.743876+08:00"},{"id":79,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"73f98836-cfe0-46eb-a986-2349ae88c8c1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 73f98836-cfe0-46eb-a986-2349ae88c8c1","gmt_create":"2026-05-28T21:32:33.744235+08:00","gmt_modified":"2026-05-28T21:32:33.744235+08:00"},{"id":80,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"49a94704-ca02-4541-a00e-692fc26c346b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 49a94704-ca02-4541-a00e-692fc26c346b","gmt_create":"2026-05-28T21:32:33.744395+08:00","gmt_modified":"2026-05-28T21:32:33.744395+08:00"},{"id":81,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"861be5e2-69ca-4618-8fb5-950adbbc35fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 861be5e2-69ca-4618-8fb5-950adbbc35fe","gmt_create":"2026-05-28T21:32:33.744544+08:00","gmt_modified":"2026-05-28T21:32:33.744544+08:00"},{"id":89,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"6f52536a-2f63-46a3-ba9e-99c7d0669a75","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 6f52536a-2f63-46a3-ba9e-99c7d0669a75","gmt_create":"2026-05-28T21:32:33.746075+08:00","gmt_modified":"2026-05-28T21:32:33.746075+08:00"},{"id":90,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"de284344-f31b-48aa-8fd4-91b2e96d4f6b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e de284344-f31b-48aa-8fd4-91b2e96d4f6b","gmt_create":"2026-05-28T21:32:33.74624+08:00","gmt_modified":"2026-05-28T21:32:33.746241+08:00"},{"id":91,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","gmt_create":"2026-05-28T21:32:33.746399+08:00","gmt_modified":"2026-05-28T21:32:33.746399+08:00"},{"id":92,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"966e6580-5798-40b2-8453-4626ca83115b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 966e6580-5798-40b2-8453-4626ca83115b","gmt_create":"2026-05-28T21:32:33.746548+08:00","gmt_modified":"2026-05-28T21:32:33.746548+08:00"},{"id":93,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"9293b231-76ae-4669-ac34-f4aaa7babac9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 9293b231-76ae-4669-ac34-f4aaa7babac9","gmt_create":"2026-05-28T21:32:33.746713+08:00","gmt_modified":"2026-05-28T21:32:33.746713+08:00"},{"id":95,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","gmt_create":"2026-05-28T21:32:33.747027+08:00","gmt_modified":"2026-05-28T21:32:33.747027+08:00"},{"id":96,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"f5dbfab0-b49d-4f86-9bec-8c5d833d7193","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e f5dbfab0-b49d-4f86-9bec-8c5d833d7193","gmt_create":"2026-05-28T21:32:33.747189+08:00","gmt_modified":"2026-05-28T21:32:33.747189+08:00"},{"id":97,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T00:33:30.857684+08:00","gmt_modified":"2026-05-29T00:33:30.857684+08:00"},{"id":98,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a27362064fa400c3e97c1a000e552e79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/types.ts","gmt_create":"2026-05-29T00:33:30.857889+08:00","gmt_modified":"2026-05-29T00:33:30.857889+08:00"},{"id":99,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5237285e3a5e2e142393725731d08c5d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderCard.tsx","gmt_create":"2026-05-29T00:33:30.857999+08:00","gmt_modified":"2026-05-29T00:33:30.857999+08:00"},{"id":100,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"8b1d34afa2224b6a7bf1941920a68370","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:33:30.858111+08:00","gmt_modified":"2026-05-29T00:33:30.858112+08:00"},{"id":101,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1d9e2bfa84c643dfd8943c98b44978c6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/AddProviderDropdown.tsx","gmt_create":"2026-05-29T00:33:30.858214+08:00","gmt_modified":"2026-05-29T00:33:30.858215+08:00"},{"id":102,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"83135da0abfcf440c7efb97ae897451e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/SafetySettings.tsx","gmt_create":"2026-05-29T00:33:30.858313+08:00","gmt_modified":"2026-05-29T00:33:30.858313+08:00"},{"id":103,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/WebSearchSettings.tsx","gmt_create":"2026-05-29T00:33:30.858413+08:00","gmt_modified":"2026-05-29T00:33:30.858414+08:00"},{"id":104,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b44dbda354c6c8909f0317b6663f1522","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/managedAgentState.ts","gmt_create":"2026-05-29T00:33:30.85851+08:00","gmt_modified":"2026-05-29T00:33:30.85851+08:00"},{"id":105,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6ad577a4254ce03ae3bf4bb5bab1824d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/claudeConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.858655+08:00","gmt_modified":"2026-05-29T00:33:30.858655+08:00"},{"id":106,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.858769+08:00","gmt_modified":"2026-05-29T00:33:30.858769+08:00"},{"id":107,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5ca8bae6463de0b40f57611b28b72f18","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ClaudeCodeCard.tsx","gmt_create":"2026-05-29T00:33:30.858865+08:00","gmt_modified":"2026-05-29T00:33:30.858865+08:00"},{"id":108,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"f3ad59bf21544cd788609383a4dfd381","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodexConnectionCard.tsx","gmt_create":"2026-05-29T00:33:30.858963+08:00","gmt_modified":"2026-05-29T00:33:30.858963+08:00"},{"id":109,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T00:33:30.859061+08:00","gmt_modified":"2026-05-29T00:33:30.859061+08:00"},{"id":110,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T00:33:30.859431+08:00","gmt_modified":"2026-05-29T00:33:30.859431+08:00"},{"id":111,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:33:30.859672+08:00","gmt_modified":"2026-05-29T00:33:30.859672+08:00"},{"id":112,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-05-29T00:33:30.85998+08:00","gmt_modified":"2026-05-29T00:33:30.859981+08:00"},{"id":113,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"45c84a3f8e4c5341a283f9efbe86b7fa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/en/ai.ts","gmt_create":"2026-05-29T00:33:30.860127+08:00","gmt_modified":"2026-05-29T00:33:30.860127+08:00"},{"id":114,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a82180419c8b5ffe5685fd5cd7bf7c16","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/ru/ai.ts","gmt_create":"2026-05-29T00:33:30.860238+08:00","gmt_modified":"2026-05-29T00:33:30.860238+08:00"},{"id":115,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4d751ec1471f8f21411cc41c0342fa2a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#1-823","gmt_create":"2026-05-29T00:33:30.860378+08:00","gmt_modified":"2026-05-29T00:33:30.860378+08:00"},{"id":116,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"4d751ec1471f8f21411cc41c0342fa2a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-823","gmt_create":"2026-05-29T00:33:30.860476+08:00","gmt_modified":"2026-05-29T00:33:30.860476+08:00"},{"id":117,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#1-105","gmt_create":"2026-05-29T00:33:30.860615+08:00","gmt_modified":"2026-05-29T00:33:30.860615+08:00"},{"id":118,"source_id":"5237285e3a5e2e142393725731d08c5d","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-105","gmt_create":"2026-05-29T00:33:30.860727+08:00","gmt_modified":"2026-05-29T00:33:30.860727+08:00"},{"id":119,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#1-461","gmt_create":"2026-05-29T00:33:30.860902+08:00","gmt_modified":"2026-05-29T00:33:30.860902+08:00"},{"id":120,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-461","gmt_create":"2026-05-29T00:33:30.861037+08:00","gmt_modified":"2026-05-29T00:33:30.861037+08:00"},{"id":121,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b567ee4b0c85b6acb96613e696267097","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/AddProviderDropdown.tsx#1-56","gmt_create":"2026-05-29T00:33:30.861216+08:00","gmt_modified":"2026-05-29T00:33:30.861216+08:00"},{"id":122,"source_id":"1d9e2bfa84c643dfd8943c98b44978c6","target_id":"b567ee4b0c85b6acb96613e696267097","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-56","gmt_create":"2026-05-29T00:33:30.86134+08:00","gmt_modified":"2026-05-29T00:33:30.86134+08:00"},{"id":123,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"0e27aacfcd82c4e50a0acfb57aab3162","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#1-205","gmt_create":"2026-05-29T00:33:30.861476+08:00","gmt_modified":"2026-05-29T00:33:30.861476+08:00"},{"id":124,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"0e27aacfcd82c4e50a0acfb57aab3162","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-205","gmt_create":"2026-05-29T00:33:30.861576+08:00","gmt_modified":"2026-05-29T00:33:30.861576+08:00"},{"id":125,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b8802af4d0225098179e020abe79e37f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#1-221","gmt_create":"2026-05-29T00:33:30.861704+08:00","gmt_modified":"2026-05-29T00:33:30.861704+08:00"},{"id":126,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"b8802af4d0225098179e020abe79e37f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-221","gmt_create":"2026-05-29T00:33:30.861793+08:00","gmt_modified":"2026-05-29T00:33:30.861793+08:00"},{"id":127,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"79d6778c064e2823bcbcfd650de3aed7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#1-162","gmt_create":"2026-05-29T00:33:30.861919+08:00","gmt_modified":"2026-05-29T00:33:30.861919+08:00"},{"id":128,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"79d6778c064e2823bcbcfd650de3aed7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-162","gmt_create":"2026-05-29T00:33:30.86201+08:00","gmt_modified":"2026-05-29T00:33:30.86201+08:00"},{"id":129,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a98831f9565abcdf7b6b9adb8fddef92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#1-210","gmt_create":"2026-05-29T00:33:30.866313+08:00","gmt_modified":"2026-05-29T00:33:30.866313+08:00"},{"id":130,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"a98831f9565abcdf7b6b9adb8fddef92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-210","gmt_create":"2026-05-29T00:33:30.866473+08:00","gmt_modified":"2026-05-29T00:33:30.866473+08:00"},{"id":131,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-05-29T00:33:30.866619+08:00","gmt_modified":"2026-05-29T00:33:30.866619+08:00"},{"id":132,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-186","gmt_create":"2026-05-29T00:33:30.866715+08:00","gmt_modified":"2026-05-29T00:33:30.866715+08:00"},{"id":133,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"490006024000a3833e1c84d694ca0990","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#1-78","gmt_create":"2026-05-29T00:33:30.866854+08:00","gmt_modified":"2026-05-29T00:33:30.866854+08:00"},{"id":134,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"490006024000a3833e1c84d694ca0990","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:30.866945+08:00","gmt_modified":"2026-05-29T00:33:30.866945+08:00"},{"id":135,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"3ed388d804efc98edd19a00bca5747df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#1-66","gmt_create":"2026-05-29T00:33:30.867071+08:00","gmt_modified":"2026-05-29T00:33:30.867071+08:00"},{"id":136,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"3ed388d804efc98edd19a00bca5747df","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-66","gmt_create":"2026-05-29T00:33:30.867184+08:00","gmt_modified":"2026-05-29T00:33:30.867184+08:00"},{"id":137,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#1-67","gmt_create":"2026-05-29T00:33:30.867313+08:00","gmt_modified":"2026-05-29T00:33:30.867313+08:00"},{"id":138,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-67","gmt_create":"2026-05-29T00:33:30.867404+08:00","gmt_modified":"2026-05-29T00:33:30.867404+08:00"},{"id":139,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T00:33:30.867543+08:00","gmt_modified":"2026-05-29T00:33:30.867543+08:00"},{"id":140,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:30.867635+08:00","gmt_modified":"2026-05-29T00:33:30.867635+08:00"},{"id":141,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-348","gmt_create":"2026-05-29T00:33:30.867756+08:00","gmt_modified":"2026-05-29T00:33:30.867756+08:00"},{"id":142,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-348","gmt_create":"2026-05-29T00:33:30.867852+08:00","gmt_modified":"2026-05-29T00:33:30.867852+08:00"},{"id":143,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"9fc9463a31a92e7e6bd9110beb77d60c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#90-823","gmt_create":"2026-05-29T00:33:30.867985+08:00","gmt_modified":"2026-05-29T00:33:30.867985+08:00"},{"id":144,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"9fc9463a31a92e7e6bd9110beb77d60c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 90-823","gmt_create":"2026-05-29T00:33:30.868077+08:00","gmt_modified":"2026-05-29T00:33:30.868077+08:00"},{"id":145,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#11-105","gmt_create":"2026-05-29T00:33:30.868198+08:00","gmt_modified":"2026-05-29T00:33:30.868198+08:00"},{"id":146,"source_id":"5237285e3a5e2e142393725731d08c5d","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-105","gmt_create":"2026-05-29T00:33:30.868304+08:00","gmt_modified":"2026-05-29T00:33:30.868304+08:00"},{"id":147,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"44dd1b1a9996e98e7cb98567101c789d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#50-461","gmt_create":"2026-05-29T00:33:30.868437+08:00","gmt_modified":"2026-05-29T00:33:30.868437+08:00"},{"id":148,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"44dd1b1a9996e98e7cb98567101c789d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-461","gmt_create":"2026-05-29T00:33:30.868531+08:00","gmt_modified":"2026-05-29T00:33:30.868531+08:00"},{"id":149,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d8dbd4591219949e387c9389f82bb6fb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#9-205","gmt_create":"2026-05-29T00:33:30.868708+08:00","gmt_modified":"2026-05-29T00:33:30.868708+08:00"},{"id":150,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"d8dbd4591219949e387c9389f82bb6fb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-205","gmt_create":"2026-05-29T00:33:30.868831+08:00","gmt_modified":"2026-05-29T00:33:30.868831+08:00"},{"id":151,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"e686b634d3682445e7e7a37965c2e59a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#33-221","gmt_create":"2026-05-29T00:33:30.868977+08:00","gmt_modified":"2026-05-29T00:33:30.868977+08:00"},{"id":152,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"e686b634d3682445e7e7a37965c2e59a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-221","gmt_create":"2026-05-29T00:33:30.869098+08:00","gmt_modified":"2026-05-29T00:33:30.869099+08:00"},{"id":153,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4658946b7324ce9b5b35116f1efdc3eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#10-162","gmt_create":"2026-05-29T00:33:30.869249+08:00","gmt_modified":"2026-05-29T00:33:30.869249+08:00"},{"id":154,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"4658946b7324ce9b5b35116f1efdc3eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-162","gmt_create":"2026-05-29T00:33:30.869367+08:00","gmt_modified":"2026-05-29T00:33:30.869367+08:00"},{"id":155,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4e949be1681618f46c911802f35dc3f8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#9-210","gmt_create":"2026-05-29T00:33:30.86954+08:00","gmt_modified":"2026-05-29T00:33:30.86954+08:00"},{"id":156,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"4e949be1681618f46c911802f35dc3f8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-210","gmt_create":"2026-05-29T00:33:30.869649+08:00","gmt_modified":"2026-05-29T00:33:30.869649+08:00"},{"id":157,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-186","gmt_create":"2026-05-29T00:33:30.869789+08:00","gmt_modified":"2026-05-29T00:33:30.869789+08:00"},{"id":158,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-186","gmt_create":"2026-05-29T00:33:30.869879+08:00","gmt_modified":"2026-05-29T00:33:30.869879+08:00"},{"id":159,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"769248b12a32bc4c241c04a7fc364831","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#29-78","gmt_create":"2026-05-29T00:33:30.870005+08:00","gmt_modified":"2026-05-29T00:33:30.870005+08:00"},{"id":160,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"769248b12a32bc4c241c04a7fc364831","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-78","gmt_create":"2026-05-29T00:33:30.870097+08:00","gmt_modified":"2026-05-29T00:33:30.870097+08:00"},{"id":161,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#201-263","gmt_create":"2026-05-29T00:33:30.870238+08:00","gmt_modified":"2026-05-29T00:33:30.870238+08:00"},{"id":162,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 201-263","gmt_create":"2026-05-29T00:33:30.87033+08:00","gmt_modified":"2026-05-29T00:33:30.87033+08:00"},{"id":163,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"3f4cd4b80ac68cb76e404191fe7553d0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#142-173","gmt_create":"2026-05-29T00:33:30.870454+08:00","gmt_modified":"2026-05-29T00:33:30.870454+08:00"},{"id":164,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"3f4cd4b80ac68cb76e404191fe7553d0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 142-173","gmt_create":"2026-05-29T00:33:30.870576+08:00","gmt_modified":"2026-05-29T00:33:30.870576+08:00"},{"id":165,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"dc40f33c1b691d1a9aa6abe645c66f92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#57-62","gmt_create":"2026-05-29T00:33:30.870743+08:00","gmt_modified":"2026-05-29T00:33:30.870743+08:00"},{"id":166,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"dc40f33c1b691d1a9aa6abe645c66f92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 57-62","gmt_create":"2026-05-29T00:33:30.870859+08:00","gmt_modified":"2026-05-29T00:33:30.870859+08:00"},{"id":167,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"309b933a19c25bf047875ae6c7cee92c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#77-114","gmt_create":"2026-05-29T00:33:30.870982+08:00","gmt_modified":"2026-05-29T00:33:30.870982+08:00"},{"id":168,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"309b933a19c25bf047875ae6c7cee92c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 77-114","gmt_create":"2026-05-29T00:33:30.871076+08:00","gmt_modified":"2026-05-29T00:33:30.871076+08:00"},{"id":169,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#31-162","gmt_create":"2026-05-29T00:33:30.871202+08:00","gmt_modified":"2026-05-29T00:33:30.871202+08:00"},{"id":170,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-162","gmt_create":"2026-05-29T00:33:30.871307+08:00","gmt_modified":"2026-05-29T00:33:30.871307+08:00"},{"id":171,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#61-186","gmt_create":"2026-05-29T00:33:30.871445+08:00","gmt_modified":"2026-05-29T00:33:30.871445+08:00"},{"id":172,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-186","gmt_create":"2026-05-29T00:33:30.871535+08:00","gmt_modified":"2026-05-29T00:33:30.871535+08:00"},{"id":173,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"653843b16f39f833080215e29ff67f30","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#40-210","gmt_create":"2026-05-29T00:33:30.871677+08:00","gmt_modified":"2026-05-29T00:33:30.871677+08:00"},{"id":174,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"653843b16f39f833080215e29ff67f30","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-210","gmt_create":"2026-05-29T00:33:30.871771+08:00","gmt_modified":"2026-05-29T00:33:30.871771+08:00"},{"id":175,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d7ccf75382e773bc6ba3cfc722a5033a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#3-10","gmt_create":"2026-05-29T00:33:30.871987+08:00","gmt_modified":"2026-05-29T00:33:30.871987+08:00"},{"id":176,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"d7ccf75382e773bc6ba3cfc722a5033a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-10","gmt_create":"2026-05-29T00:33:30.872079+08:00","gmt_modified":"2026-05-29T00:33:30.872079+08:00"},{"id":177,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a1fb09c6b6e07296e734466dcb2686d2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#15-40","gmt_create":"2026-05-29T00:33:30.872197+08:00","gmt_modified":"2026-05-29T00:33:30.872197+08:00"},{"id":178,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"a1fb09c6b6e07296e734466dcb2686d2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-40","gmt_create":"2026-05-29T00:33:30.872289+08:00","gmt_modified":"2026-05-29T00:33:30.872289+08:00"},{"id":179,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d4202b8294bc666f0b25ecd29cfae9f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/AddProviderDropdown.tsx#10-56","gmt_create":"2026-05-29T00:33:30.872426+08:00","gmt_modified":"2026-05-29T00:33:30.872426+08:00"},{"id":180,"source_id":"1d9e2bfa84c643dfd8943c98b44978c6","target_id":"d4202b8294bc666f0b25ecd29cfae9f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-56","gmt_create":"2026-05-29T00:33:30.872559+08:00","gmt_modified":"2026-05-29T00:33:30.872559+08:00"},{"id":181,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4206d311903282917470dda0b1a77de0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#23-40","gmt_create":"2026-05-29T00:33:30.872886+08:00","gmt_modified":"2026-05-29T00:33:30.872886+08:00"},{"id":182,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"4206d311903282917470dda0b1a77de0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-40","gmt_create":"2026-05-29T00:33:30.872986+08:00","gmt_modified":"2026-05-29T00:33:30.872986+08:00"},{"id":183,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"82a5ac036b3317cf22e53a0d43f07641","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#296-304","gmt_create":"2026-05-29T00:33:30.873397+08:00","gmt_modified":"2026-05-29T00:33:30.873397+08:00"},{"id":184,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"82a5ac036b3317cf22e53a0d43f07641","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 296-304","gmt_create":"2026-05-29T00:33:30.873511+08:00","gmt_modified":"2026-05-29T00:33:30.873511+08:00"},{"id":185,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"789efde606ab83c6193b42b9389f07c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#336-349","gmt_create":"2026-05-29T00:33:30.873645+08:00","gmt_modified":"2026-05-29T00:33:30.873645+08:00"},{"id":186,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"789efde606ab83c6193b42b9389f07c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 336-349","gmt_create":"2026-05-29T00:33:30.873738+08:00","gmt_modified":"2026-05-29T00:33:30.873738+08:00"},{"id":187,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"bfe22ea16e523749ee3b80924672d81c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#100-115","gmt_create":"2026-05-29T00:33:30.873857+08:00","gmt_modified":"2026-05-29T00:33:30.873857+08:00"},{"id":188,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"bfe22ea16e523749ee3b80924672d81c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-115","gmt_create":"2026-05-29T00:33:30.873951+08:00","gmt_modified":"2026-05-29T00:33:30.873951+08:00"},{"id":189,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2a956a100412b6f6939d1d99035ae900","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#15-21","gmt_create":"2026-05-29T00:33:30.874098+08:00","gmt_modified":"2026-05-29T00:33:30.874098+08:00"},{"id":190,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"2a956a100412b6f6939d1d99035ae900","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-21","gmt_create":"2026-05-29T00:33:30.874238+08:00","gmt_modified":"2026-05-29T00:33:30.874238+08:00"},{"id":191,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ab8d96527e3718bdc7b675eaa815e4fb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#42-53","gmt_create":"2026-05-29T00:33:30.874359+08:00","gmt_modified":"2026-05-29T00:33:30.874359+08:00"},{"id":192,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"ab8d96527e3718bdc7b675eaa815e4fb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-53","gmt_create":"2026-05-29T00:33:30.874447+08:00","gmt_modified":"2026-05-29T00:33:30.874447+08:00"},{"id":193,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d42e55e836d88f491a817533ec209074","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#178-189","gmt_create":"2026-05-29T00:33:30.874668+08:00","gmt_modified":"2026-05-29T00:33:30.874668+08:00"},{"id":194,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"d42e55e836d88f491a817533ec209074","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 178-189","gmt_create":"2026-05-29T00:33:30.874774+08:00","gmt_modified":"2026-05-29T00:33:30.874774+08:00"},{"id":195,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"28f57be6f2eeef085ea5047f704afe66","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#264-294","gmt_create":"2026-05-29T00:33:30.874917+08:00","gmt_modified":"2026-05-29T00:33:30.874917+08:00"},{"id":196,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"28f57be6f2eeef085ea5047f704afe66","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 264-294","gmt_create":"2026-05-29T00:33:30.875021+08:00","gmt_modified":"2026-05-29T00:33:30.875021+08:00"},{"id":197,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"86838b4d4fa12bdc957e6414ec9b7678","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#32-66","gmt_create":"2026-05-29T00:33:30.875421+08:00","gmt_modified":"2026-05-29T00:33:30.875421+08:00"},{"id":198,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"86838b4d4fa12bdc957e6414ec9b7678","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-66","gmt_create":"2026-05-29T00:33:30.875508+08:00","gmt_modified":"2026-05-29T00:33:30.875509+08:00"},{"id":199,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"866b1f8c4edaefc96fd27254c45e3e02","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#32-67","gmt_create":"2026-05-29T00:33:30.875632+08:00","gmt_modified":"2026-05-29T00:33:30.875632+08:00"},{"id":200,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"866b1f8c4edaefc96fd27254c45e3e02","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-67","gmt_create":"2026-05-29T00:33:30.875729+08:00","gmt_modified":"2026-05-29T00:33:30.875729+08:00"},{"id":201,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"f5295fad218e404d3a577bc0e23bb621","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#132-192","gmt_create":"2026-05-29T00:33:30.876024+08:00","gmt_modified":"2026-05-29T00:33:30.876024+08:00"},{"id":202,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"f5295fad218e404d3a577bc0e23bb621","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-192","gmt_create":"2026-05-29T00:33:30.876112+08:00","gmt_modified":"2026-05-29T00:33:30.876112+08:00"},{"id":203,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"974d789daa1de3c44d4c888417fdeefb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#13-78","gmt_create":"2026-05-29T00:33:30.876241+08:00","gmt_modified":"2026-05-29T00:33:30.876241+08:00"},{"id":204,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"974d789daa1de3c44d4c888417fdeefb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-78","gmt_create":"2026-05-29T00:33:30.876326+08:00","gmt_modified":"2026-05-29T00:33:30.876326+08:00"},{"id":205,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6019df266484c641521f679e75021b5e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#12-66","gmt_create":"2026-05-29T00:33:30.876539+08:00","gmt_modified":"2026-05-29T00:33:30.876539+08:00"},{"id":206,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"6019df266484c641521f679e75021b5e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-66","gmt_create":"2026-05-29T00:33:30.876626+08:00","gmt_modified":"2026-05-29T00:33:30.876626+08:00"},{"id":207,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"333e6755daf6fcbed429adffd4d69bc4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#12-67","gmt_create":"2026-05-29T00:33:30.876785+08:00","gmt_modified":"2026-05-29T00:33:30.876785+08:00"},{"id":208,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"333e6755daf6fcbed429adffd4d69bc4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-67","gmt_create":"2026-05-29T00:33:30.876877+08:00","gmt_modified":"2026-05-29T00:33:30.876877+08:00"},{"id":209,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"bd44080415cc705dd669561f3f7229ee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#172-192","gmt_create":"2026-05-29T00:33:30.877332+08:00","gmt_modified":"2026-05-29T00:33:30.877332+08:00"},{"id":210,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"bd44080415cc705dd669561f3f7229ee","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 172-192","gmt_create":"2026-05-29T00:33:30.877422+08:00","gmt_modified":"2026-05-29T00:33:30.877422+08:00"},{"id":211,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2b217fc87507bca265df91e3922b4e94","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#232-262","gmt_create":"2026-05-29T00:33:30.877628+08:00","gmt_modified":"2026-05-29T00:33:30.877628+08:00"},{"id":212,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"2b217fc87507bca265df91e3922b4e94","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 232-262","gmt_create":"2026-05-29T00:33:30.877715+08:00","gmt_modified":"2026-05-29T00:33:30.877715+08:00"},{"id":213,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/zh-CN/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879337+08:00","gmt_modified":"2026-05-29T00:33:30.879337+08:00"},{"id":214,"source_id":"c1865efdde019a1bb983e62ece393764","target_id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879446+08:00","gmt_modified":"2026-05-29T00:33:30.879447+08:00"},{"id":215,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1f1ad6502c179e4435e030f2922c62a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/en/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879568+08:00","gmt_modified":"2026-05-29T00:33:30.879568+08:00"},{"id":216,"source_id":"45c84a3f8e4c5341a283f9efbe86b7fa","target_id":"1f1ad6502c179e4435e030f2922c62a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879655+08:00","gmt_modified":"2026-05-29T00:33:30.879655+08:00"},{"id":217,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"72549edf4576518ab7d937708b43f932","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/ru/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879799+08:00","gmt_modified":"2026-05-29T00:33:30.879799+08:00"},{"id":218,"source_id":"a82180419c8b5ffe5685fd5cd7bf7c16","target_id":"72549edf4576518ab7d937708b43f932","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879886+08:00","gmt_modified":"2026-05-29T00:33:30.879886+08:00"},{"id":219,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5367e86ddfa76de48c29c511e23479de","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#283-294","gmt_create":"2026-05-29T00:33:30.880023+08:00","gmt_modified":"2026-05-29T00:33:30.880023+08:00"},{"id":220,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"5367e86ddfa76de48c29c511e23479de","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 283-294","gmt_create":"2026-05-29T00:33:30.880117+08:00","gmt_modified":"2026-05-29T00:33:30.880117+08:00"},{"id":221,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"bf12794fa3af4f8a34b46c4788eb49b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatPanelContent.tsx","gmt_create":"2026-05-29T00:33:53.597911+08:00","gmt_modified":"2026-05-29T00:33:53.597911+08:00"},{"id":222,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"a8885d6fc90746342140bbfe91af9830","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanel.tsx","gmt_create":"2026-05-29T00:33:53.598106+08:00","gmt_modified":"2026-05-29T00:33:53.598106+08:00"},{"id":223,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"7b7ce5726d29197b98aaada0cd869771","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatMessageList.tsx","gmt_create":"2026-05-29T00:33:53.598216+08:00","gmt_modified":"2026-05-29T00:33:53.598217+08:00"},{"id":224,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"74676637fb845b2ffcd105a04750ae2e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatInput.tsx","gmt_create":"2026-05-29T00:33:53.598337+08:00","gmt_modified":"2026-05-29T00:33:53.598337+08:00"},{"id":225,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ThinkingBlock.tsx","gmt_create":"2026-05-29T00:33:53.598432+08:00","gmt_modified":"2026-05-29T00:33:53.598432+08:00"},{"id":226,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5f31d5c329226007a74c5e7b0586ea8b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/conversation.tsx","gmt_create":"2026-05-29T00:33:53.598533+08:00","gmt_modified":"2026-05-29T00:33:53.598533+08:00"},{"id":227,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"2abab935c0a79eed1ce181092931cc62","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/message.tsx","gmt_create":"2026-05-29T00:33:53.598625+08:00","gmt_modified":"2026-05-29T00:33:53.598625+08:00"},{"id":228,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e22fe9068de2e790e0671a3418b42bd8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/tool-call.tsx","gmt_create":"2026-05-29T00:33:53.598737+08:00","gmt_modified":"2026-05-29T00:33:53.598737+08:00"},{"id":229,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c9beb905d94690a24421f7b362b6cdfd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/prompt-input.tsx","gmt_create":"2026-05-29T00:33:53.598831+08:00","gmt_modified":"2026-05-29T00:33:53.598831+08:00"},{"id":230,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"8c9bacbd7f17b1998fdf2110cbbf796c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/streamdownCodeHighlighter.ts","gmt_create":"2026-05-29T00:33:53.598923+08:00","gmt_modified":"2026-05-29T00:33:53.598923+08:00"},{"id":231,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b18de7ebca418c2b4d28d9552f95792c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/hooks/useAIChatStreaming.ts","gmt_create":"2026-05-29T00:33:53.599016+08:00","gmt_modified":"2026-05-29T00:33:53.599016+08:00"},{"id":232,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e3784575d3f66a3dc61a1b398b2d1925","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/hooks/aiChatStreamingSupport.ts","gmt_create":"2026-05-29T00:33:53.599139+08:00","gmt_modified":"2026-05-29T00:33:53.599139+08:00"},{"id":233,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:33:53.599232+08:00","gmt_modified":"2026-05-29T00:33:53.599232+08:00"},{"id":234,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b324d0760f3f9e92d0e9729e449bb14a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/aiPanelViewState.ts","gmt_create":"2026-05-29T00:33:53.599322+08:00","gmt_modified":"2026-05-29T00:33:53.599323+08:00"},{"id":235,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e4564da3181becf136933451147a56f2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentIconBadge.tsx","gmt_create":"2026-05-29T00:33:53.599412+08:00","gmt_modified":"2026-05-29T00:33:53.599412+08:00"},{"id":236,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-05-29T00:33:53.599503+08:00","gmt_modified":"2026-05-29T00:33:53.599503+08:00"},{"id":237,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T00:33:53.599594+08:00","gmt_modified":"2026-05-29T00:33:53.599594+08:00"},{"id":238,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:33:53.599685+08:00","gmt_modified":"2026-05-29T00:33:53.599685+08:00"},{"id":239,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T00:33:53.59981+08:00","gmt_modified":"2026-05-29T00:33:53.599811+08:00"},{"id":240,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:33:53.599934+08:00","gmt_modified":"2026-05-29T00:33:53.599934+08:00"},{"id":241,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-05-29T00:33:53.600041+08:00","gmt_modified":"2026-05-29T00:33:53.600041+08:00"},{"id":242,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-05-29T00:33:53.600149+08:00","gmt_modified":"2026-05-29T00:33:53.600149+08:00"},{"id":243,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#48-909","gmt_create":"2026-05-29T00:33:53.600327+08:00","gmt_modified":"2026-05-29T00:33:53.600327+08:00"},{"id":244,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 48-909","gmt_create":"2026-05-29T00:33:53.600464+08:00","gmt_modified":"2026-05-29T00:33:53.600464+08:00"},{"id":245,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#1-249","gmt_create":"2026-05-29T00:33:53.600588+08:00","gmt_modified":"2026-05-29T00:33:53.600588+08:00"},{"id":246,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-249","gmt_create":"2026-05-29T00:33:53.600679+08:00","gmt_modified":"2026-05-29T00:33:53.600679+08:00"},{"id":247,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#1-300","gmt_create":"2026-05-29T00:33:53.601851+08:00","gmt_modified":"2026-05-29T00:33:53.601851+08:00"},{"id":248,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-300","gmt_create":"2026-05-29T00:33:53.602011+08:00","gmt_modified":"2026-05-29T00:33:53.602011+08:00"},{"id":249,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"01c9752d86ab3a9d32a2f6cb2015feff","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentIconBadge.tsx#1-242","gmt_create":"2026-05-29T00:33:53.602227+08:00","gmt_modified":"2026-05-29T00:33:53.602227+08:00"},{"id":250,"source_id":"e4564da3181becf136933451147a56f2","target_id":"01c9752d86ab3a9d32a2f6cb2015feff","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-242","gmt_create":"2026-05-29T00:33:53.602357+08:00","gmt_modified":"2026-05-29T00:33:53.602357+08:00"},{"id":251,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-05-29T00:33:53.602493+08:00","gmt_modified":"2026-05-29T00:33:53.602493+08:00"},{"id":252,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#1-67","gmt_create":"2026-05-29T00:33:53.602657+08:00","gmt_modified":"2026-05-29T00:33:53.602657+08:00"},{"id":253,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#629-657","gmt_create":"2026-05-29T00:33:53.602834+08:00","gmt_modified":"2026-05-29T00:33:53.602834+08:00"},{"id":254,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 629-657","gmt_create":"2026-05-29T00:33:53.602933+08:00","gmt_modified":"2026-05-29T00:33:53.602933+08:00"},{"id":255,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"bffb18548d41deeaf7e88480c66fa082","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#1-52","gmt_create":"2026-05-29T00:33:53.60307+08:00","gmt_modified":"2026-05-29T00:33:53.60307+08:00"},{"id":256,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"bffb18548d41deeaf7e88480c66fa082","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-52","gmt_create":"2026-05-29T00:33:53.603175+08:00","gmt_modified":"2026-05-29T00:33:53.603176+08:00"},{"id":257,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f0377d0c64016366847e7422add570f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#1-42","gmt_create":"2026-05-29T00:33:53.603309+08:00","gmt_modified":"2026-05-29T00:33:53.603309+08:00"},{"id":258,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"f0377d0c64016366847e7422add570f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-42","gmt_create":"2026-05-29T00:33:53.603458+08:00","gmt_modified":"2026-05-29T00:33:53.603458+08:00"},{"id":259,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#1-468","gmt_create":"2026-05-29T00:33:53.603996+08:00","gmt_modified":"2026-05-29T00:33:53.603996+08:00"},{"id":260,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-468","gmt_create":"2026-05-29T00:33:53.604089+08:00","gmt_modified":"2026-05-29T00:33:53.604089+08:00"},{"id":261,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"db484e38ad1df09c5200d64478bb9d72","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#1-927","gmt_create":"2026-05-29T00:33:53.604212+08:00","gmt_modified":"2026-05-29T00:33:53.604212+08:00"},{"id":262,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"db484e38ad1df09c5200d64478bb9d72","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-927","gmt_create":"2026-05-29T00:33:53.604301+08:00","gmt_modified":"2026-05-29T00:33:53.604301+08:00"},{"id":263,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"a5fcf22005dd09a47106369f90a757bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-190","gmt_create":"2026-05-29T00:33:53.604612+08:00","gmt_modified":"2026-05-29T00:33:53.604612+08:00"},{"id":264,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"a5fcf22005dd09a47106369f90a757bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-190","gmt_create":"2026-05-29T00:33:53.604722+08:00","gmt_modified":"2026-05-29T00:33:53.604722+08:00"},{"id":265,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#647-798","gmt_create":"2026-05-29T00:33:53.604852+08:00","gmt_modified":"2026-05-29T00:33:53.604852+08:00"},{"id":266,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 647-798","gmt_create":"2026-05-29T00:33:53.604953+08:00","gmt_modified":"2026-05-29T00:33:53.604953+08:00"},{"id":267,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"4e4666d66aaf8a3387d9a91a60515b2d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#174-178","gmt_create":"2026-05-29T00:33:53.605081+08:00","gmt_modified":"2026-05-29T00:33:53.605081+08:00"},{"id":268,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"4e4666d66aaf8a3387d9a91a60515b2d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 174-178","gmt_create":"2026-05-29T00:33:53.605227+08:00","gmt_modified":"2026-05-29T00:33:53.605227+08:00"},{"id":269,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5854444f6ca3ab94e2c364f7339e9577","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#37-514","gmt_create":"2026-05-29T00:33:53.60541+08:00","gmt_modified":"2026-05-29T00:33:53.60541+08:00"},{"id":270,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"5854444f6ca3ab94e2c364f7339e9577","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-514","gmt_create":"2026-05-29T00:33:53.605514+08:00","gmt_modified":"2026-05-29T00:33:53.605514+08:00"},{"id":271,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"97b16b9274b0e54b6d51d0a8e03dcd43","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#101-264","gmt_create":"2026-05-29T00:33:53.605661+08:00","gmt_modified":"2026-05-29T00:33:53.605661+08:00"},{"id":272,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"97b16b9274b0e54b6d51d0a8e03dcd43","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 101-264","gmt_create":"2026-05-29T00:33:53.605769+08:00","gmt_modified":"2026-05-29T00:33:53.605769+08:00"},{"id":273,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b466557ba584a86652aded65971c7446","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#243-514","gmt_create":"2026-05-29T00:33:53.605918+08:00","gmt_modified":"2026-05-29T00:33:53.605918+08:00"},{"id":274,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"b466557ba584a86652aded65971c7446","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 243-514","gmt_create":"2026-05-29T00:33:53.606023+08:00","gmt_modified":"2026-05-29T00:33:53.606024+08:00"},{"id":275,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"03aa04628a434515d2403dec6b9d463a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/aiChatStreamingSupport.ts#1-206","gmt_create":"2026-05-29T00:33:53.606173+08:00","gmt_modified":"2026-05-29T00:33:53.606174+08:00"},{"id":276,"source_id":"e3784575d3f66a3dc61a1b398b2d1925","target_id":"03aa04628a434515d2403dec6b9d463a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-206","gmt_create":"2026-05-29T00:33:53.606272+08:00","gmt_modified":"2026-05-29T00:33:53.606272+08:00"},{"id":277,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"2ce13ba157e65c23fd951fe28e11e018","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#175-324","gmt_create":"2026-05-29T00:33:53.606398+08:00","gmt_modified":"2026-05-29T00:33:53.606398+08:00"},{"id":278,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"2ce13ba157e65c23fd951fe28e11e018","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 175-324","gmt_create":"2026-05-29T00:33:53.606486+08:00","gmt_modified":"2026-05-29T00:33:53.606486+08:00"},{"id":279,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e60d1e84845664e62f70ee788778247d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/message.tsx#55-84","gmt_create":"2026-05-29T00:33:53.606643+08:00","gmt_modified":"2026-05-29T00:33:53.606643+08:00"},{"id":280,"source_id":"2abab935c0a79eed1ce181092931cc62","target_id":"e60d1e84845664e62f70ee788778247d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 55-84","gmt_create":"2026-05-29T00:33:53.606736+08:00","gmt_modified":"2026-05-29T00:33:53.606736+08:00"},{"id":281,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/streamdownCodeHighlighter.ts#59-77","gmt_create":"2026-05-29T00:33:53.606878+08:00","gmt_modified":"2026-05-29T00:33:53.606878+08:00"},{"id":282,"source_id":"8c9bacbd7f17b1998fdf2110cbbf796c","target_id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-77","gmt_create":"2026-05-29T00:33:53.606964+08:00","gmt_modified":"2026-05-29T00:33:53.606964+08:00"},{"id":283,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/tool-call.tsx#132-314","gmt_create":"2026-05-29T00:33:53.607096+08:00","gmt_modified":"2026-05-29T00:33:53.607096+08:00"},{"id":284,"source_id":"e22fe9068de2e790e0671a3418b42bd8","target_id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-314","gmt_create":"2026-05-29T00:33:53.607202+08:00","gmt_modified":"2026-05-29T00:33:53.607202+08:00"},{"id":285,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"606bc93b094363b88c880e862a8bd27b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ThinkingBlock.tsx#28-135","gmt_create":"2026-05-29T00:33:53.607321+08:00","gmt_modified":"2026-05-29T00:33:53.607321+08:00"},{"id":286,"source_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","target_id":"606bc93b094363b88c880e862a8bd27b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-135","gmt_create":"2026-05-29T00:33:53.607413+08:00","gmt_modified":"2026-05-29T00:33:53.607413+08:00"},{"id":287,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"84d4622f682597063e7b21bd8700037e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/message.tsx#1-86","gmt_create":"2026-05-29T00:33:53.607629+08:00","gmt_modified":"2026-05-29T00:33:53.607629+08:00"},{"id":288,"source_id":"2abab935c0a79eed1ce181092931cc62","target_id":"84d4622f682597063e7b21bd8700037e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-86","gmt_create":"2026-05-29T00:33:53.607716+08:00","gmt_modified":"2026-05-29T00:33:53.607716+08:00"},{"id":289,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"cd022c0be9c9ca808f36306b82ec1070","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/streamdownCodeHighlighter.ts#1-78","gmt_create":"2026-05-29T00:33:53.607891+08:00","gmt_modified":"2026-05-29T00:33:53.607891+08:00"},{"id":290,"source_id":"8c9bacbd7f17b1998fdf2110cbbf796c","target_id":"cd022c0be9c9ca808f36306b82ec1070","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:53.608014+08:00","gmt_modified":"2026-05-29T00:33:53.608014+08:00"},{"id":291,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/tool-call.tsx#1-315","gmt_create":"2026-05-29T00:33:53.608149+08:00","gmt_modified":"2026-05-29T00:33:53.608149+08:00"},{"id":292,"source_id":"e22fe9068de2e790e0671a3418b42bd8","target_id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-315","gmt_create":"2026-05-29T00:33:53.608238+08:00","gmt_modified":"2026-05-29T00:33:53.608238+08:00"},{"id":293,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"acbe25c99cb195d0fe75d660c939f1c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ThinkingBlock.tsx#1-139","gmt_create":"2026-05-29T00:33:53.608362+08:00","gmt_modified":"2026-05-29T00:33:53.608362+08:00"},{"id":294,"source_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","target_id":"acbe25c99cb195d0fe75d660c939f1c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-139","gmt_create":"2026-05-29T00:33:53.608448+08:00","gmt_modified":"2026-05-29T00:33:53.608448+08:00"},{"id":295,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"9763cfd8faa168da0d2ec5ca786209bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#187-336","gmt_create":"2026-05-29T00:33:53.608591+08:00","gmt_modified":"2026-05-29T00:33:53.608591+08:00"},{"id":296,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"9763cfd8faa168da0d2ec5ca786209bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 187-336","gmt_create":"2026-05-29T00:33:53.608686+08:00","gmt_modified":"2026-05-29T00:33:53.608686+08:00"},{"id":297,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"ea87f28e9e1fdcdd28ead0cda671594e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/prompt-input.tsx#34-110","gmt_create":"2026-05-29T00:33:53.608808+08:00","gmt_modified":"2026-05-29T00:33:53.608808+08:00"},{"id":298,"source_id":"c9beb905d94690a24421f7b362b6cdfd","target_id":"ea87f28e9e1fdcdd28ead0cda671594e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34-110","gmt_create":"2026-05-29T00:33:53.608898+08:00","gmt_modified":"2026-05-29T00:33:53.608899+08:00"},{"id":299,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#1-955","gmt_create":"2026-05-29T00:33:53.609112+08:00","gmt_modified":"2026-05-29T00:33:53.609112+08:00"},{"id":300,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-955","gmt_create":"2026-05-29T00:33:53.60922+08:00","gmt_modified":"2026-05-29T00:33:53.60922+08:00"},{"id":301,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5b96fdba00fecee9acdc5f1af9a7c5c4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/prompt-input.tsx#1-215","gmt_create":"2026-05-29T00:33:53.609345+08:00","gmt_modified":"2026-05-29T00:33:53.609345+08:00"},{"id":302,"source_id":"c9beb905d94690a24421f7b362b6cdfd","target_id":"5b96fdba00fecee9acdc5f1af9a7c5c4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-215","gmt_create":"2026-05-29T00:33:53.609437+08:00","gmt_modified":"2026-05-29T00:33:53.609437+08:00"},{"id":303,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"fe90149e17952539249c367cdae4b08f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/aiChatStreamingSupport.ts#8-89","gmt_create":"2026-05-29T00:33:53.609726+08:00","gmt_modified":"2026-05-29T00:33:53.609726+08:00"},{"id":304,"source_id":"e3784575d3f66a3dc61a1b398b2d1925","target_id":"fe90149e17952539249c367cdae4b08f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-89","gmt_create":"2026-05-29T00:33:53.60983+08:00","gmt_modified":"2026-05-29T00:33:53.609831+08:00"},{"id":305,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6bd6848f24bb599b3dc26d6f3bc64a6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#237-284","gmt_create":"2026-05-29T00:33:53.610203+08:00","gmt_modified":"2026-05-29T00:33:53.610203+08:00"},{"id":306,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"6bd6848f24bb599b3dc26d6f3bc64a6d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 237-284","gmt_create":"2026-05-29T00:33:53.610325+08:00","gmt_modified":"2026-05-29T00:33:53.610325+08:00"},{"id":307,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"34ea52e428db926ef92c005738524fa9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#61-173","gmt_create":"2026-05-29T00:33:53.610662+08:00","gmt_modified":"2026-05-29T00:33:53.610663+08:00"},{"id":308,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"34ea52e428db926ef92c005738524fa9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-173","gmt_create":"2026-05-29T00:33:53.610768+08:00","gmt_modified":"2026-05-29T00:33:53.610768+08:00"},{"id":309,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"cf2be59058ec94e10617138246740824","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#172-206","gmt_create":"2026-05-29T00:33:53.610903+08:00","gmt_modified":"2026-05-29T00:33:53.610903+08:00"},{"id":310,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"cf2be59058ec94e10617138246740824","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 172-206","gmt_create":"2026-05-29T00:33:53.61099+08:00","gmt_modified":"2026-05-29T00:33:53.61099+08:00"},{"id":311,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"d4f513f7b7317663ad7541d9881f792f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-344","gmt_create":"2026-05-29T00:33:53.611355+08:00","gmt_modified":"2026-05-29T00:33:53.611355+08:00"},{"id":312,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"d4f513f7b7317663ad7541d9881f792f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-344","gmt_create":"2026-05-29T00:33:53.611442+08:00","gmt_modified":"2026-05-29T00:33:53.611442+08:00"},{"id":313,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/aiPanelViewState.ts#1-95","gmt_create":"2026-05-29T00:33:53.611579+08:00","gmt_modified":"2026-05-29T00:33:53.611579+08:00"},{"id":314,"source_id":"b324d0760f3f9e92d0e9729e449bb14a","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-95","gmt_create":"2026-05-29T00:33:53.611684+08:00","gmt_modified":"2026-05-29T00:33:53.611684+08:00"},{"id":315,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"540a5ba8238ea8a483e865692a81f838","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#212-237","gmt_create":"2026-05-29T00:33:53.612866+08:00","gmt_modified":"2026-05-29T00:33:53.612867+08:00"},{"id":316,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"540a5ba8238ea8a483e865692a81f838","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 212-237","gmt_create":"2026-05-29T00:33:53.613021+08:00","gmt_modified":"2026-05-29T00:33:53.613021+08:00"},{"id":317,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"0fc485e20a60d7df0cd756978c49340e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#43-74","gmt_create":"2026-05-29T00:33:53.613156+08:00","gmt_modified":"2026-05-29T00:33:53.613156+08:00"},{"id":318,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"0fc485e20a60d7df0cd756978c49340e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-74","gmt_create":"2026-05-29T00:33:53.613262+08:00","gmt_modified":"2026-05-29T00:33:53.613262+08:00"},{"id":319,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#187-218","gmt_create":"2026-05-29T00:33:53.613384+08:00","gmt_modified":"2026-05-29T00:33:53.613384+08:00"},{"id":320,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 187-218","gmt_create":"2026-05-29T00:33:53.613497+08:00","gmt_modified":"2026-05-29T00:33:53.613497+08:00"},{"id":321,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"fb4bb0dc0232c0358067c351faefeb97","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#192-195","gmt_create":"2026-05-29T00:33:53.613654+08:00","gmt_modified":"2026-05-29T00:33:53.613655+08:00"},{"id":322,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"fb4bb0dc0232c0358067c351faefeb97","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 192-195","gmt_create":"2026-05-29T00:33:53.613769+08:00","gmt_modified":"2026-05-29T00:33:53.613769+08:00"},{"id":323,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"bf12794fa3af4f8a34b46c4788eb49b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatPanelContent.tsx","gmt_create":"2026-05-29T00:34:06.349663+08:00","gmt_modified":"2026-05-29T00:34:06.349663+08:00"},{"id":324,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a8885d6fc90746342140bbfe91af9830","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanel.tsx","gmt_create":"2026-05-29T00:34:06.349858+08:00","gmt_modified":"2026-05-29T00:34:06.349858+08:00"},{"id":325,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"7b7ce5726d29197b98aaada0cd869771","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatMessageList.tsx","gmt_create":"2026-05-29T00:34:06.349998+08:00","gmt_modified":"2026-05-29T00:34:06.349998+08:00"},{"id":326,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"74676637fb845b2ffcd105a04750ae2e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatInput.tsx","gmt_create":"2026-05-29T00:34:06.350107+08:00","gmt_modified":"2026-05-29T00:34:06.350107+08:00"},{"id":327,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-05-29T00:34:06.350225+08:00","gmt_modified":"2026-05-29T00:34:06.350226+08:00"},{"id":328,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"dcf899a1b054004d5d623fe6308f9a0c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ConversationExport.tsx","gmt_create":"2026-05-29T00:34:06.35033+08:00","gmt_modified":"2026-05-29T00:34:06.35033+08:00"},{"id":329,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"4b2ad61be711f800135cd68fc3a930ee","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSessionHistoryDrawer.tsx","gmt_create":"2026-05-29T00:34:06.350454+08:00","gmt_modified":"2026-05-29T00:34:06.350454+08:00"},{"id":330,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b324d0760f3f9e92d0e9729e449bb14a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/aiPanelViewState.ts","gmt_create":"2026-05-29T00:34:06.350556+08:00","gmt_modified":"2026-05-29T00:34:06.350556+08:00"},{"id":331,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:34:06.350678+08:00","gmt_modified":"2026-05-29T00:34:06.350678+08:00"},{"id":332,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c8328c5d6c794e20b30b02be124bb9dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/providers.ts","gmt_create":"2026-05-29T00:34:06.350827+08:00","gmt_modified":"2026-05-29T00:34:06.350827+08:00"},{"id":333,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"22f26535963a86066c99a83289088c84","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/tools.ts","gmt_create":"2026-05-29T00:34:06.350928+08:00","gmt_modified":"2026-05-29T00:34:06.350928+08:00"},{"id":334,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T00:34:06.351028+08:00","gmt_modified":"2026-05-29T00:34:06.351029+08:00"},{"id":335,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"8b1d34afa2224b6a7bf1941920a68370","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:34:06.351131+08:00","gmt_modified":"2026-05-29T00:34:06.351131+08:00"},{"id":336,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"5237285e3a5e2e142393725731d08c5d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderCard.tsx","gmt_create":"2026-05-29T00:34:06.351234+08:00","gmt_modified":"2026-05-29T00:34:06.351234+08:00"},{"id":337,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-05-29T00:34:06.351333+08:00","gmt_modified":"2026-05-29T00:34:06.351333+08:00"},{"id":338,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T00:34:06.351455+08:00","gmt_modified":"2026-05-29T00:34:06.351455+08:00"},{"id":339,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T00:34:06.351564+08:00","gmt_modified":"2026-05-29T00:34:06.351564+08:00"},{"id":340,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:34:06.351682+08:00","gmt_modified":"2026-05-29T00:34:06.351682+08:00"},{"id":341,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"94617cf09e47c0a5c1bdd1716b294063","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-29T00:34:06.351781+08:00","gmt_modified":"2026-05-29T00:34:06.351781+08:00"},{"id":342,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:34:06.351882+08:00","gmt_modified":"2026-05-29T00:34:06.351882+08:00"},{"id":343,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-05-29T00:34:06.35198+08:00","gmt_modified":"2026-05-29T00:34:06.35198+08:00"},{"id":344,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#48-909","gmt_create":"2026-05-29T00:34:06.352114+08:00","gmt_modified":"2026-05-29T00:34:06.352114+08:00"},{"id":345,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#1-249","gmt_create":"2026-05-29T00:34:06.352284+08:00","gmt_modified":"2026-05-29T00:34:06.352284+08:00"},{"id":346,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#1-468","gmt_create":"2026-05-29T00:34:06.352453+08:00","gmt_modified":"2026-05-29T00:34:06.352453+08:00"},{"id":347,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#1-955","gmt_create":"2026-05-29T00:34:06.352617+08:00","gmt_modified":"2026-05-29T00:34:06.352617+08:00"},{"id":348,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#1-300","gmt_create":"2026-05-29T00:34:06.352782+08:00","gmt_modified":"2026-05-29T00:34:06.352782+08:00"},{"id":349,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"638bdc16647cd7f02142c1c065ca3f0a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#1-113","gmt_create":"2026-05-29T00:34:06.352947+08:00","gmt_modified":"2026-05-29T00:34:06.352947+08:00"},{"id":350,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"638bdc16647cd7f02142c1c065ca3f0a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-113","gmt_create":"2026-05-29T00:34:06.353042+08:00","gmt_modified":"2026-05-29T00:34:06.353042+08:00"},{"id":351,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ccbc4a05b367edbbf8ecd673d06a645a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#1-88","gmt_create":"2026-05-29T00:34:06.353183+08:00","gmt_modified":"2026-05-29T00:34:06.353183+08:00"},{"id":352,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"ccbc4a05b367edbbf8ecd673d06a645a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-88","gmt_create":"2026-05-29T00:34:06.353285+08:00","gmt_modified":"2026-05-29T00:34:06.353285+08:00"},{"id":353,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/aiPanelViewState.ts#1-95","gmt_create":"2026-05-29T00:34:06.353444+08:00","gmt_modified":"2026-05-29T00:34:06.353444+08:00"},{"id":354,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d4f513f7b7317663ad7541d9881f792f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-344","gmt_create":"2026-05-29T00:34:06.353623+08:00","gmt_modified":"2026-05-29T00:34:06.353624+08:00"},{"id":355,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"100bd4a254411503caf7376831d4386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#1-478","gmt_create":"2026-05-29T00:34:06.353786+08:00","gmt_modified":"2026-05-29T00:34:06.353786+08:00"},{"id":356,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"100bd4a254411503caf7376831d4386b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-478","gmt_create":"2026-05-29T00:34:06.3539+08:00","gmt_modified":"2026-05-29T00:34:06.3539+08:00"},{"id":357,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#1-177","gmt_create":"2026-05-29T00:34:06.35405+08:00","gmt_modified":"2026-05-29T00:34:06.35405+08:00"},{"id":358,"source_id":"22f26535963a86066c99a83289088c84","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-177","gmt_create":"2026-05-29T00:34:06.354143+08:00","gmt_modified":"2026-05-29T00:34:06.354143+08:00"},{"id":359,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#1-142","gmt_create":"2026-05-29T00:34:06.354276+08:00","gmt_modified":"2026-05-29T00:34:06.354276+08:00"},{"id":360,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-142","gmt_create":"2026-05-29T00:34:06.354388+08:00","gmt_modified":"2026-05-29T00:34:06.354388+08:00"},{"id":361,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#1-461","gmt_create":"2026-05-29T00:34:06.354518+08:00","gmt_modified":"2026-05-29T00:34:06.354518+08:00"},{"id":362,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#1-105","gmt_create":"2026-05-29T00:34:06.354698+08:00","gmt_modified":"2026-05-29T00:34:06.354698+08:00"},{"id":363,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#629-657","gmt_create":"2026-05-29T00:34:06.354859+08:00","gmt_modified":"2026-05-29T00:34:06.354859+08:00"},{"id":364,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-05-29T00:34:06.355145+08:00","gmt_modified":"2026-05-29T00:34:06.355145+08:00"},{"id":365,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"247f7b23c2f1b7560d9a2d26ba0ca17a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#69-249","gmt_create":"2026-05-29T00:34:06.355969+08:00","gmt_modified":"2026-05-29T00:34:06.355969+08:00"},{"id":366,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"247f7b23c2f1b7560d9a2d26ba0ca17a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 69-249","gmt_create":"2026-05-29T00:34:06.356162+08:00","gmt_modified":"2026-05-29T00:34:06.356162+08:00"},{"id":367,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e9e9976384f8d9f81e9c91d4890b7508","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#37-468","gmt_create":"2026-05-29T00:34:06.35737+08:00","gmt_modified":"2026-05-29T00:34:06.35737+08:00"},{"id":368,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"e9e9976384f8d9f81e9c91d4890b7508","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-468","gmt_create":"2026-05-29T00:34:06.357573+08:00","gmt_modified":"2026-05-29T00:34:06.357573+08:00"},{"id":369,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"22e7685c78002f80d08cd6213247801c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#101-955","gmt_create":"2026-05-29T00:34:06.357781+08:00","gmt_modified":"2026-05-29T00:34:06.357781+08:00"},{"id":370,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"22e7685c78002f80d08cd6213247801c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 101-955","gmt_create":"2026-05-29T00:34:06.357941+08:00","gmt_modified":"2026-05-29T00:34:06.357941+08:00"},{"id":371,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"441a9a4b1424f75556f79af23f5711fa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-300","gmt_create":"2026-05-29T00:34:06.358127+08:00","gmt_modified":"2026-05-29T00:34:06.358127+08:00"},{"id":372,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"441a9a4b1424f75556f79af23f5711fa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-300","gmt_create":"2026-05-29T00:34:06.358277+08:00","gmt_modified":"2026-05-29T00:34:06.358277+08:00"},{"id":373,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"fe1f8aef45b10a07b603f8ee72076c85","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#22-113","gmt_create":"2026-05-29T00:34:06.358457+08:00","gmt_modified":"2026-05-29T00:34:06.358457+08:00"},{"id":374,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"fe1f8aef45b10a07b603f8ee72076c85","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 22-113","gmt_create":"2026-05-29T00:34:06.358556+08:00","gmt_modified":"2026-05-29T00:34:06.358556+08:00"},{"id":375,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"935963cc2a872d5f86edf8dbc4b557c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#32-88","gmt_create":"2026-05-29T00:34:06.358699+08:00","gmt_modified":"2026-05-29T00:34:06.358699+08:00"},{"id":376,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"935963cc2a872d5f86edf8dbc4b557c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-88","gmt_create":"2026-05-29T00:34:06.358816+08:00","gmt_modified":"2026-05-29T00:34:06.358816+08:00"},{"id":377,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"36b8d0a32b856a4af6aa1b189ecb5295","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#247-478","gmt_create":"2026-05-29T00:34:06.358953+08:00","gmt_modified":"2026-05-29T00:34:06.358953+08:00"},{"id":378,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"36b8d0a32b856a4af6aa1b189ecb5295","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 247-478","gmt_create":"2026-05-29T00:34:06.359048+08:00","gmt_modified":"2026-05-29T00:34:06.359049+08:00"},{"id":379,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#33-177","gmt_create":"2026-05-29T00:34:06.359465+08:00","gmt_modified":"2026-05-29T00:34:06.359465+08:00"},{"id":380,"source_id":"22f26535963a86066c99a83289088c84","target_id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-177","gmt_create":"2026-05-29T00:34:06.359598+08:00","gmt_modified":"2026-05-29T00:34:06.359598+08:00"},{"id":381,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"cfc7d370cd35900cc754c0edc190c2ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-142","gmt_create":"2026-05-29T00:34:06.359785+08:00","gmt_modified":"2026-05-29T00:34:06.359785+08:00"},{"id":382,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"cfc7d370cd35900cc754c0edc190c2ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-142","gmt_create":"2026-05-29T00:34:06.359896+08:00","gmt_modified":"2026-05-29T00:34:06.359896+08:00"},{"id":383,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#647-798","gmt_create":"2026-05-29T00:34:06.360047+08:00","gmt_modified":"2026-05-29T00:34:06.360047+08:00"},{"id":384,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"8f3dad4abe68b1f924501fbb7348d772","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#169-433","gmt_create":"2026-05-29T00:34:06.360561+08:00","gmt_modified":"2026-05-29T00:34:06.360561+08:00"},{"id":385,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"8f3dad4abe68b1f924501fbb7348d772","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 169-433","gmt_create":"2026-05-29T00:34:06.360786+08:00","gmt_modified":"2026-05-29T00:34:06.360786+08:00"},{"id":386,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"1a43524f0697efe9b361810c0cf012b1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#115-248","gmt_create":"2026-05-29T00:34:06.361062+08:00","gmt_modified":"2026-05-29T00:34:06.361062+08:00"},{"id":387,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"1a43524f0697efe9b361810c0cf012b1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 115-248","gmt_create":"2026-05-29T00:34:06.361201+08:00","gmt_modified":"2026-05-29T00:34:06.361201+08:00"},{"id":388,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"61d03453faf350475d772ca6e0b5afe9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#174-336","gmt_create":"2026-05-29T00:34:06.361645+08:00","gmt_modified":"2026-05-29T00:34:06.361645+08:00"},{"id":389,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"61d03453faf350475d772ca6e0b5afe9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 174-336","gmt_create":"2026-05-29T00:34:06.361776+08:00","gmt_modified":"2026-05-29T00:34:06.361776+08:00"},{"id":390,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a6ec45894b1ed02e3be025898d456a24","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#424-955","gmt_create":"2026-05-29T00:34:06.362075+08:00","gmt_modified":"2026-05-29T00:34:06.362075+08:00"},{"id":391,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"a6ec45894b1ed02e3be025898d456a24","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 424-955","gmt_create":"2026-05-29T00:34:06.362205+08:00","gmt_modified":"2026-05-29T00:34:06.362205+08:00"},{"id":392,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0dad39b4141fd71cc091c8c7713ee397","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#12-108","gmt_create":"2026-05-29T00:34:06.362566+08:00","gmt_modified":"2026-05-29T00:34:06.362566+08:00"},{"id":393,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"0dad39b4141fd71cc091c8c7713ee397","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-108","gmt_create":"2026-05-29T00:34:06.362661+08:00","gmt_modified":"2026-05-29T00:34:06.362661+08:00"},{"id":394,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#36-44","gmt_create":"2026-05-29T00:34:06.362969+08:00","gmt_modified":"2026-05-29T00:34:06.362969+08:00"},{"id":395,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 36-44","gmt_create":"2026-05-29T00:34:06.363063+08:00","gmt_modified":"2026-05-29T00:34:06.363063+08:00"},{"id":396,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-186","gmt_create":"2026-05-29T00:34:06.363221+08:00","gmt_modified":"2026-05-29T00:34:06.363221+08:00"},{"id":397,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"f41977e182e15c0f950e62a5b8151043","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#8-67","gmt_create":"2026-05-29T00:34:06.363409+08:00","gmt_modified":"2026-05-29T00:34:06.363409+08:00"},{"id":398,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"f41977e182e15c0f950e62a5b8151043","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-67","gmt_create":"2026-05-29T00:34:06.363499+08:00","gmt_modified":"2026-05-29T00:34:06.363499+08:00"},{"id":399,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"f97f3b58e398b7aad8853a3167d57840","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#589-597","gmt_create":"2026-05-29T00:34:06.364182+08:00","gmt_modified":"2026-05-29T00:34:06.364182+08:00"},{"id":400,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"f97f3b58e398b7aad8853a3167d57840","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 589-597","gmt_create":"2026-05-29T00:34:06.364276+08:00","gmt_modified":"2026-05-29T00:34:06.364276+08:00"},{"id":401,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d5ddf712ec10bbdae1b48c624392ffc8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#14-113","gmt_create":"2026-05-29T00:34:06.364402+08:00","gmt_modified":"2026-05-29T00:34:06.364402+08:00"},{"id":402,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"d5ddf712ec10bbdae1b48c624392ffc8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-113","gmt_create":"2026-05-29T00:34:06.364494+08:00","gmt_modified":"2026-05-29T00:34:06.364494+08:00"},{"id":403,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"6983e2aa9104b0fcc506cafb4644e4f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#20-88","gmt_create":"2026-05-29T00:34:06.364646+08:00","gmt_modified":"2026-05-29T00:34:06.364646+08:00"},{"id":404,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"6983e2aa9104b0fcc506cafb4644e4f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-88","gmt_create":"2026-05-29T00:34:06.364737+08:00","gmt_modified":"2026-05-29T00:34:06.364737+08:00"},{"id":405,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"3fa5f6beb3b87bd68bc4098df6894ffb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#44-115","gmt_create":"2026-05-29T00:34:06.36494+08:00","gmt_modified":"2026-05-29T00:34:06.36494+08:00"},{"id":406,"source_id":"22f26535963a86066c99a83289088c84","target_id":"3fa5f6beb3b87bd68bc4098df6894ffb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-115","gmt_create":"2026-05-29T00:34:06.365033+08:00","gmt_modified":"2026-05-29T00:34:06.365033+08:00"},{"id":407,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"4206d311903282917470dda0b1a77de0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#23-40","gmt_create":"2026-05-29T00:34:06.365474+08:00","gmt_modified":"2026-05-29T00:34:06.365474+08:00"},{"id":408,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"bf899ad495850daf0202760da02dc100","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#43-53","gmt_create":"2026-05-29T00:34:06.365624+08:00","gmt_modified":"2026-05-29T00:34:06.365625+08:00"},{"id":409,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"bf899ad495850daf0202760da02dc100","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-53","gmt_create":"2026-05-29T00:34:06.365718+08:00","gmt_modified":"2026-05-29T00:34:06.365718+08:00"},{"id":410,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a99f462e4b8bf088b908b35f7fbbe8fd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#54-173","gmt_create":"2026-05-29T00:34:06.365848+08:00","gmt_modified":"2026-05-29T00:34:06.365848+08:00"},{"id":411,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"a99f462e4b8bf088b908b35f7fbbe8fd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 54-173","gmt_create":"2026-05-29T00:34:06.365941+08:00","gmt_modified":"2026-05-29T00:34:06.365941+08:00"},{"id":412,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"fb235213378aeb07ae9a20bc1270b4e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#54-461","gmt_create":"2026-05-29T00:34:06.366264+08:00","gmt_modified":"2026-05-29T00:34:06.366264+08:00"},{"id":413,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"fb235213378aeb07ae9a20bc1270b4e7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 54-461","gmt_create":"2026-05-29T00:34:06.366354+08:00","gmt_modified":"2026-05-29T00:34:06.366354+08:00"},{"id":414,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#11-105","gmt_create":"2026-05-29T00:34:06.366498+08:00","gmt_modified":"2026-05-29T00:34:06.366498+08:00"},{"id":415,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"be40f537e25221baebe8c5864c51b198","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#104-116","gmt_create":"2026-05-29T00:34:06.366665+08:00","gmt_modified":"2026-05-29T00:34:06.366665+08:00"},{"id":416,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"be40f537e25221baebe8c5864c51b198","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 104-116","gmt_create":"2026-05-29T00:34:06.366755+08:00","gmt_modified":"2026-05-29T00:34:06.366755+08:00"},{"id":417,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"498ca8240be0ec198d8dcd16e39e08f3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#280-292","gmt_create":"2026-05-29T00:34:06.36729+08:00","gmt_modified":"2026-05-29T00:34:06.36729+08:00"},{"id":418,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"498ca8240be0ec198d8dcd16e39e08f3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 280-292","gmt_create":"2026-05-29T00:34:06.367386+08:00","gmt_modified":"2026-05-29T00:34:06.367386+08:00"},{"id":419,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"7b8e979bf92d58979700a69fd9c5b27a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#693-711","gmt_create":"2026-05-29T00:34:06.367558+08:00","gmt_modified":"2026-05-29T00:34:06.367558+08:00"},{"id":420,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"7b8e979bf92d58979700a69fd9c5b27a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 693-711","gmt_create":"2026-05-29T00:34:06.367649+08:00","gmt_modified":"2026-05-29T00:34:06.367649+08:00"},{"id":421,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"44c54ebf29feebb634b2f7957297dfb9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#19-32","gmt_create":"2026-05-29T00:34:06.367806+08:00","gmt_modified":"2026-05-29T00:34:06.367806+08:00"},{"id":422,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"44c54ebf29feebb634b2f7957297dfb9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-32","gmt_create":"2026-05-29T00:34:06.3679+08:00","gmt_modified":"2026-05-29T00:34:06.3679+08:00"},{"id":423,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"32966a55fd80ba72927bce4c6b230fd6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/acpAgentAdapter.ts","gmt_create":"2026-05-29T00:36:03.443392+08:00","gmt_modified":"2026-05-29T00:36:03.443392+08:00"},{"id":424,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T00:36:03.443554+08:00","gmt_modified":"2026-05-29T00:36:03.443554+08:00"},{"id":425,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/sessionExecutionQueue.ts","gmt_create":"2026-05-29T00:36:03.443654+08:00","gmt_modified":"2026-05-29T00:36:03.443654+08:00"},{"id":426,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"22f26535963a86066c99a83289088c84","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/tools.ts","gmt_create":"2026-05-29T00:36:03.44375+08:00","gmt_modified":"2026-05-29T00:36:03.44375+08:00"},{"id":427,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"c8328c5d6c794e20b30b02be124bb9dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/providers.ts","gmt_create":"2026-05-29T00:36:03.443895+08:00","gmt_modified":"2026-05-29T00:36:03.443895+08:00"},{"id":428,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"992d124cda8932a4c5e38d85570fcfd8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/toolExecutors.ts","gmt_create":"2026-05-29T00:36:03.444021+08:00","gmt_modified":"2026-05-29T00:36:03.444021+08:00"},{"id":429,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"6985509692e54dc77249694cb7661c41","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/approvalGate.ts","gmt_create":"2026-05-29T00:36:03.44415+08:00","gmt_modified":"2026-05-29T00:36:03.44415+08:00"},{"id":430,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:36:03.444249+08:00","gmt_modified":"2026-05-29T00:36:03.444249+08:00"},{"id":431,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T00:36:03.444349+08:00","gmt_modified":"2026-05-29T00:36:03.444349+08:00"},{"id":432,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"462038004d507ef279adb14d31a8ee79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/safety.ts","gmt_create":"2026-05-29T00:36:03.444444+08:00","gmt_modified":"2026-05-29T00:36:03.444444+08:00"},{"id":433,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"94617cf09e47c0a5c1bdd1716b294063","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444559+08:00","gmt_modified":"2026-05-29T00:36:03.44456+08:00"},{"id":434,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444656+08:00","gmt_modified":"2026-05-29T00:36:03.444656+08:00"},{"id":435,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"bc4a0507dc381b23e9ee7e1a807af949","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/providerHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444766+08:00","gmt_modified":"2026-05-29T00:36:03.444766+08:00"},{"id":436,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7f0a86fe9691da422de38d0fc11b73dc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/mcpServerBridge.cjs","gmt_create":"2026-05-29T00:36:03.444856+08:00","gmt_modified":"2026-05-29T00:36:03.444856+08:00"},{"id":437,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"f314c06de44f0cf0a7f57f70cf337645","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: lib/logger.ts","gmt_create":"2026-05-29T00:36:03.444966+08:00","gmt_modified":"2026-05-29T00:36:03.444966+08:00"},{"id":438,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ffed7f2b98f0876b0764a46178326f05","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/errorClassifier.ts","gmt_create":"2026-05-29T00:36:03.445069+08:00","gmt_modified":"2026-05-29T00:36:03.445069+08:00"},{"id":439,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"96d07bd1774515a99147d7a22077ab18","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: types/global/netcatty-bridge-ai.d.ts","gmt_create":"2026-05-29T00:36:03.445165+08:00","gmt_modified":"2026-05-29T00:36:03.445165+08:00"},{"id":440,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"100bd4a254411503caf7376831d4386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#1-478","gmt_create":"2026-05-29T00:36:03.445323+08:00","gmt_modified":"2026-05-29T00:36:03.445323+08:00"},{"id":441,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#1-177","gmt_create":"2026-05-29T00:36:03.445489+08:00","gmt_modified":"2026-05-29T00:36:03.445489+08:00"},{"id":442,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"67538f95d3000f59efd6a6f7fec74e6f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/sessionExecutionQueue.ts#1-128","gmt_create":"2026-05-29T00:36:03.445654+08:00","gmt_modified":"2026-05-29T00:36:03.445654+08:00"},{"id":443,"source_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","target_id":"67538f95d3000f59efd6a6f7fec74e6f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-128","gmt_create":"2026-05-29T00:36:03.445763+08:00","gmt_modified":"2026-05-29T00:36:03.445763+08:00"},{"id":444,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"9417fce74f6b6f53a599238c0ecaae53","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#1-261","gmt_create":"2026-05-29T00:36:03.445885+08:00","gmt_modified":"2026-05-29T00:36:03.445885+08:00"},{"id":445,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"9417fce74f6b6f53a599238c0ecaae53","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-261","gmt_create":"2026-05-29T00:36:03.445974+08:00","gmt_modified":"2026-05-29T00:36:03.445974+08:00"},{"id":446,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ef28c67ed1ff92a24029da16f6553c21","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#1-240","gmt_create":"2026-05-29T00:36:03.446116+08:00","gmt_modified":"2026-05-29T00:36:03.446116+08:00"},{"id":447,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"ef28c67ed1ff92a24029da16f6553c21","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-240","gmt_create":"2026-05-29T00:36:03.446207+08:00","gmt_modified":"2026-05-29T00:36:03.446207+08:00"},{"id":448,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7dcdfeb34122a1981bcf72e93260425a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/acpAgentAdapter.ts#1-323","gmt_create":"2026-05-29T00:36:03.446361+08:00","gmt_modified":"2026-05-29T00:36:03.446361+08:00"},{"id":449,"source_id":"32966a55fd80ba72927bce4c6b230fd6","target_id":"7dcdfeb34122a1981bcf72e93260425a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-323","gmt_create":"2026-05-29T00:36:03.44647+08:00","gmt_modified":"2026-05-29T00:36:03.44647+08:00"},{"id":450,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"cb4197d4817c8abbde89ddf45a94e0e8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.446628+08:00","gmt_modified":"2026-05-29T00:36:03.446628+08:00"},{"id":451,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"cb4197d4817c8abbde89ddf45a94e0e8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.446746+08:00","gmt_modified":"2026-05-29T00:36:03.446746+08:00"},{"id":452,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"f716923ec2c150e5314e4b76edeee49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.446864+08:00","gmt_modified":"2026-05-29T00:36:03.446864+08:00"},{"id":453,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"f716923ec2c150e5314e4b76edeee49f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.447189+08:00","gmt_modified":"2026-05-29T00:36:03.447189+08:00"},{"id":454,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"d55f61ffd4a94399c84fdb1f3d553b73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/providerHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.447378+08:00","gmt_modified":"2026-05-29T00:36:03.447378+08:00"},{"id":455,"source_id":"bc4a0507dc381b23e9ee7e1a807af949","target_id":"d55f61ffd4a94399c84fdb1f3d553b73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.447511+08:00","gmt_modified":"2026-05-29T00:36:03.447512+08:00"},{"id":456,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"5387fddb54f5dbc949a84416e7f6a3fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/mcpServerBridge.cjs#235-269","gmt_create":"2026-05-29T00:36:03.447665+08:00","gmt_modified":"2026-05-29T00:36:03.447665+08:00"},{"id":457,"source_id":"7f0a86fe9691da422de38d0fc11b73dc","target_id":"5387fddb54f5dbc949a84416e7f6a3fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 235-269","gmt_create":"2026-05-29T00:36:03.447785+08:00","gmt_modified":"2026-05-29T00:36:03.447785+08:00"},{"id":458,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-348","gmt_create":"2026-05-29T00:36:03.447931+08:00","gmt_modified":"2026-05-29T00:36:03.447931+08:00"},{"id":459,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#1-142","gmt_create":"2026-05-29T00:36:03.448137+08:00","gmt_modified":"2026-05-29T00:36:03.448137+08:00"},{"id":460,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"d941aa3503f71dd1a195ad74f2746fb9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/safety.ts#1-99","gmt_create":"2026-05-29T00:36:03.448345+08:00","gmt_modified":"2026-05-29T00:36:03.448345+08:00"},{"id":461,"source_id":"462038004d507ef279adb14d31a8ee79","target_id":"d941aa3503f71dd1a195ad74f2746fb9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-99","gmt_create":"2026-05-29T00:36:03.448503+08:00","gmt_modified":"2026-05-29T00:36:03.448503+08:00"},{"id":462,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"81391bb13afe350160619c0771563cfd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#247-399","gmt_create":"2026-05-29T00:36:03.450806+08:00","gmt_modified":"2026-05-29T00:36:03.450806+08:00"},{"id":463,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"81391bb13afe350160619c0771563cfd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 247-399","gmt_create":"2026-05-29T00:36:03.450949+08:00","gmt_modified":"2026-05-29T00:36:03.450949+08:00"},{"id":464,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"4aff5e834a93bcb12ba76d9d392ec3e0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#123-200","gmt_create":"2026-05-29T00:36:03.451088+08:00","gmt_modified":"2026-05-29T00:36:03.451088+08:00"},{"id":465,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"4aff5e834a93bcb12ba76d9d392ec3e0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 123-200","gmt_create":"2026-05-29T00:36:03.451187+08:00","gmt_modified":"2026-05-29T00:36:03.451187+08:00"},{"id":466,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"5e2dd6938ff0dcd3632b657156af0c73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#66-116","gmt_create":"2026-05-29T00:36:03.451472+08:00","gmt_modified":"2026-05-29T00:36:03.451472+08:00"},{"id":467,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"5e2dd6938ff0dcd3632b657156af0c73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 66-116","gmt_create":"2026-05-29T00:36:03.451572+08:00","gmt_modified":"2026-05-29T00:36:03.451572+08:00"},{"id":468,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"8cd29c387c0a9a43cb308f923c0709a3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#53-89","gmt_create":"2026-05-29T00:36:03.451723+08:00","gmt_modified":"2026-05-29T00:36:03.451723+08:00"},{"id":469,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"8cd29c387c0a9a43cb308f923c0709a3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 53-89","gmt_create":"2026-05-29T00:36:03.451828+08:00","gmt_modified":"2026-05-29T00:36:03.451828+08:00"},{"id":470,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"4c618aeec634eea5f99214f915aa1020","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/acpAgentAdapter.ts#132-249","gmt_create":"2026-05-29T00:36:03.452494+08:00","gmt_modified":"2026-05-29T00:36:03.452494+08:00"},{"id":471,"source_id":"32966a55fd80ba72927bce4c6b230fd6","target_id":"4c618aeec634eea5f99214f915aa1020","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-249","gmt_create":"2026-05-29T00:36:03.452596+08:00","gmt_modified":"2026-05-29T00:36:03.452597+08:00"},{"id":472,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"747b2a89815ba74e040420f0f2c1ca33","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#66-240","gmt_create":"2026-05-29T00:36:03.453243+08:00","gmt_modified":"2026-05-29T00:36:03.453243+08:00"},{"id":473,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"747b2a89815ba74e040420f0f2c1ca33","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 66-240","gmt_create":"2026-05-29T00:36:03.453365+08:00","gmt_modified":"2026-05-29T00:36:03.453365+08:00"},{"id":474,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"aa59a13521f82ab4cf5b39c3ed9995e5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/sessionExecutionQueue.ts#58-117","gmt_create":"2026-05-29T00:36:03.453543+08:00","gmt_modified":"2026-05-29T00:36:03.453543+08:00"},{"id":475,"source_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","target_id":"aa59a13521f82ab4cf5b39c3ed9995e5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 58-117","gmt_create":"2026-05-29T00:36:03.453647+08:00","gmt_modified":"2026-05-29T00:36:03.453648+08:00"},{"id":476,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"10728caa367c0ab746a192e5ac6c24ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#53-185","gmt_create":"2026-05-29T00:36:03.453827+08:00","gmt_modified":"2026-05-29T00:36:03.453827+08:00"},{"id":477,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"10728caa367c0ab746a192e5ac6c24ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 53-185","gmt_create":"2026-05-29T00:36:03.453926+08:00","gmt_modified":"2026-05-29T00:36:03.453926+08:00"},{"id":478,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"69f45bef07c7394a439ae80da49caefe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/safety.ts#76-99","gmt_create":"2026-05-29T00:36:03.454066+08:00","gmt_modified":"2026-05-29T00:36:03.454066+08:00"},{"id":479,"source_id":"462038004d507ef279adb14d31a8ee79","target_id":"69f45bef07c7394a439ae80da49caefe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-99","gmt_create":"2026-05-29T00:36:03.454164+08:00","gmt_modified":"2026-05-29T00:36:03.454164+08:00"},{"id":480,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1a7099e01fde4608b291fac03c453e1b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-65","gmt_create":"2026-05-29T00:36:03.45472+08:00","gmt_modified":"2026-05-29T00:36:03.45472+08:00"},{"id":481,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"1a7099e01fde4608b291fac03c453e1b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-65","gmt_create":"2026-05-29T00:36:03.454821+08:00","gmt_modified":"2026-05-29T00:36:03.454821+08:00"},{"id":482,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ceda80a34996ffcae8fb0a0e8789d2dd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#160-177","gmt_create":"2026-05-29T00:36:03.455985+08:00","gmt_modified":"2026-05-29T00:36:03.455985+08:00"},{"id":483,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"ceda80a34996ffcae8fb0a0e8789d2dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 160-177","gmt_create":"2026-05-29T00:36:03.456195+08:00","gmt_modified":"2026-05-29T00:36:03.456195+08:00"},{"id":484,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ec07fe3dcd32336f62ab2834095f336f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#4-121","gmt_create":"2026-05-29T00:36:03.456582+08:00","gmt_modified":"2026-05-29T00:36:03.456582+08:00"},{"id":485,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"ec07fe3dcd32336f62ab2834095f336f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-121","gmt_create":"2026-05-29T00:36:03.45671+08:00","gmt_modified":"2026-05-29T00:36:03.45671+08:00"},{"id":486,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7e7bc7d50badd78dabc2b7d72af40215","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/mcpServerBridge.cjs#245-269","gmt_create":"2026-05-29T00:36:03.456968+08:00","gmt_modified":"2026-05-29T00:36:03.456968+08:00"},{"id":487,"source_id":"7f0a86fe9691da422de38d0fc11b73dc","target_id":"7e7bc7d50badd78dabc2b7d72af40215","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 245-269","gmt_create":"2026-05-29T00:36:03.457071+08:00","gmt_modified":"2026-05-29T00:36:03.457071+08:00"},{"id":488,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T00:36:03.458379+08:00","gmt_modified":"2026-05-29T00:36:03.458379+08:00"},{"id":489,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#36-44","gmt_create":"2026-05-29T00:36:03.458623+08:00","gmt_modified":"2026-05-29T00:36:03.458623+08:00"},{"id":490,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"dab01b344f15667205c31d761866acb7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#4-141","gmt_create":"2026-05-29T00:36:03.458848+08:00","gmt_modified":"2026-05-29T00:36:03.458848+08:00"},{"id":491,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"dab01b344f15667205c31d761866acb7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-141","gmt_create":"2026-05-29T00:36:03.458974+08:00","gmt_modified":"2026-05-29T00:36:03.458974+08:00"},{"id":492,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"9612c547c5baace638605ed8993427fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/errorClassifier.ts#121-156","gmt_create":"2026-05-29T00:36:03.461739+08:00","gmt_modified":"2026-05-29T00:36:03.461739+08:00"},{"id":493,"source_id":"ffed7f2b98f0876b0764a46178326f05","target_id":"9612c547c5baace638605ed8993427fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 121-156","gmt_create":"2026-05-29T00:36:03.461878+08:00","gmt_modified":"2026-05-29T00:36:03.461878+08:00"},{"id":494,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ec7aa1cecef34429b91fe813e6807485","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: lib/logger.ts#1-25","gmt_create":"2026-05-29T00:36:03.462006+08:00","gmt_modified":"2026-05-29T00:36:03.462006+08:00"},{"id":495,"source_id":"f314c06de44f0cf0a7f57f70cf337645","target_id":"ec7aa1cecef34429b91fe813e6807485","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-25","gmt_create":"2026-05-29T00:36:03.4621+08:00","gmt_modified":"2026-05-29T00:36:03.4621+08:00"},{"id":496,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","gmt_create":"2026-05-29T00:36:04.045992+08:00","gmt_modified":"2026-05-29T00:36:04.045992+08:00"},{"id":497,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"930fbb30-624e-4be4-b9d7-3467b84db500","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 930fbb30-624e-4be4-b9d7-3467b84db500","gmt_create":"2026-05-29T00:36:04.050584+08:00","gmt_modified":"2026-05-29T00:36:04.050584+08:00"},{"id":498,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e d1f115dc-76be-4ec7-8145-b3a79feceafa","gmt_create":"2026-05-29T00:36:04.050842+08:00","gmt_modified":"2026-05-29T00:36:04.050842+08:00"},{"id":500,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0872749e-a205-426a-8c47-ea163a05e729","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 0872749e-a205-426a-8c47-ea163a05e729","gmt_create":"2026-05-29T00:36:04.051178+08:00","gmt_modified":"2026-05-29T00:36:04.051178+08:00"},{"id":501,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"82f9a2a7-0743-43ab-98ff-8557eb71151a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 82f9a2a7-0743-43ab-98ff-8557eb71151a","gmt_create":"2026-05-29T00:36:04.051353+08:00","gmt_modified":"2026-05-29T00:36:04.051353+08:00"},{"id":502,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0d77fffe-d1dc-48c7-a372-e75b8a87db6b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 0d77fffe-d1dc-48c7-a372-e75b8a87db6b","gmt_create":"2026-05-29T00:36:04.051502+08:00","gmt_modified":"2026-05-29T00:36:04.051502+08:00"},{"id":503,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","gmt_create":"2026-05-29T00:36:04.051657+08:00","gmt_modified":"2026-05-29T00:36:04.051657+08:00"},{"id":504,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"cde4dc83-ca09-4401-a05a-438e589695c6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e cde4dc83-ca09-4401-a05a-438e589695c6","gmt_create":"2026-05-29T00:36:04.052186+08:00","gmt_modified":"2026-05-29T00:36:04.052186+08:00"},{"id":505,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d433a6a730c2603ba4e3bfecff9c6ff5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/sshAuth.ts","gmt_create":"2026-05-29T16:04:30.675925+08:00","gmt_modified":"2026-05-29T16:04:30.675925+08:00"},{"id":506,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6d287e279b7ca41b46ea004fd85f5033","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/credentials.ts","gmt_create":"2026-05-29T16:04:30.676113+08:00","gmt_modified":"2026-05-29T16:04:30.676113+08:00"},{"id":507,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d6dfa972f57094438cb3eb40295463ad","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:30.676288+08:00","gmt_modified":"2026-05-29T16:04:30.676288+08:00"},{"id":508,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"de02ba181120d7d3c45b25027607954b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:30.676406+08:00","gmt_modified":"2026-05-29T16:04:30.676406+08:00"},{"id":509,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ea757801c8b59a1ce3ab79853638a417","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:30.676498+08:00","gmt_modified":"2026-05-29T16:04:30.676498+08:00"},{"id":510,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"43e0f42bd09636b152f7c44cac37ef9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:30.676988+08:00","gmt_modified":"2026-05-29T16:04:30.676988+08:00"},{"id":511,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"73bc0acd848c3ed206cd2f7c830ff4e5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/passphraseHandler.cjs","gmt_create":"2026-05-29T16:04:30.677125+08:00","gmt_modified":"2026-05-29T16:04:30.677125+08:00"},{"id":512,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"bff59e82f605e20195da97a526dd016c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/keyboardInteractiveHandler.cjs","gmt_create":"2026-05-29T16:04:30.677273+08:00","gmt_modified":"2026-05-29T16:04:30.677273+08:00"},{"id":513,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a5a4bcff2795d6fddece1c37463b5d11","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/GenerateStandardPanel.tsx","gmt_create":"2026-05-29T16:04:30.677382+08:00","gmt_modified":"2026-05-29T16:04:30.677382+08:00"},{"id":514,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a686bce16a4757ffc087fd1d439dfd0f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/ImportKeyPanel.tsx","gmt_create":"2026-05-29T16:04:30.677515+08:00","gmt_modified":"2026-05-29T16:04:30.677516+08:00"},{"id":515,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"3e9186e3c491d88874d860d8f92d6c21","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/IdentityPanel.tsx","gmt_create":"2026-05-29T16:04:30.677648+08:00","gmt_modified":"2026-05-29T16:04:30.677648+08:00"},{"id":516,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"f9bacab6e427f918ae35e14852f5366b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/terminal/TerminalAuthDialog.tsx","gmt_create":"2026-05-29T16:04:30.677865+08:00","gmt_modified":"2026-05-29T16:04:30.677865+08:00"},{"id":517,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"cf19562ecc2d4f153e231f9752664ad3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/KeyboardInteractiveModal.tsx","gmt_create":"2026-05-29T16:04:30.678029+08:00","gmt_modified":"2026-05-29T16:04:30.678029+08:00"},{"id":518,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/PassphraseModal.tsx","gmt_create":"2026-05-29T16:04:30.678143+08:00","gmt_modified":"2026-05-29T16:04:30.678143+08:00"},{"id":519,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"9403814343c15f11bc49b8af34bf3cd7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/utils.ts","gmt_create":"2026-05-29T16:04:30.678707+08:00","gmt_modified":"2026-05-29T16:04:30.678707+08:00"},{"id":520,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"bb281d4ee5af69ae7677438d3275e233","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useVaultState.ts","gmt_create":"2026-05-29T16:04:30.679073+08:00","gmt_modified":"2026-05-29T16:04:30.679073+08:00"},{"id":521,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"39ced6df00a8ad2103ed345174c561e0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/defaultKeyPassphrases.ts","gmt_create":"2026-05-29T16:04:30.679238+08:00","gmt_modified":"2026-05-29T16:04:30.679238+08:00"},{"id":522,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#1-125","gmt_create":"2026-05-29T16:04:30.679429+08:00","gmt_modified":"2026-05-29T16:04:30.679429+08:00"},{"id":523,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-125","gmt_create":"2026-05-29T16:04:30.679592+08:00","gmt_modified":"2026-05-29T16:04:30.679592+08:00"},{"id":524,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a3def397ad1794ae80408f70257853e4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#1-111","gmt_create":"2026-05-29T16:04:30.679758+08:00","gmt_modified":"2026-05-29T16:04:30.679758+08:00"},{"id":525,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"a3def397ad1794ae80408f70257853e4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-111","gmt_create":"2026-05-29T16:04:30.679867+08:00","gmt_modified":"2026-05-29T16:04:30.679867+08:00"},{"id":526,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"0239e67753852e82d4d41579e207c5dd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#1-981","gmt_create":"2026-05-29T16:04:30.680229+08:00","gmt_modified":"2026-05-29T16:04:30.680229+08:00"},{"id":527,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"0239e67753852e82d4d41579e207c5dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-981","gmt_create":"2026-05-29T16:04:30.68032+08:00","gmt_modified":"2026-05-29T16:04:30.68032+08:00"},{"id":528,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-104","gmt_create":"2026-05-29T16:04:30.681011+08:00","gmt_modified":"2026-05-29T16:04:30.681011+08:00"},{"id":529,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-104","gmt_create":"2026-05-29T16:04:30.681182+08:00","gmt_modified":"2026-05-29T16:04:30.681182+08:00"},{"id":530,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8b8d8ae929a16344538886a81db8f214","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/passphraseHandler.cjs#1-191","gmt_create":"2026-05-29T16:04:30.681386+08:00","gmt_modified":"2026-05-29T16:04:30.681386+08:00"},{"id":531,"source_id":"73bc0acd848c3ed206cd2f7c830ff4e5","target_id":"8b8d8ae929a16344538886a81db8f214","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-191","gmt_create":"2026-05-29T16:04:30.681513+08:00","gmt_modified":"2026-05-29T16:04:30.681513+08:00"},{"id":532,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"53ccbc21b6b3804a9fa8cc8edbcac476","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/keyboardInteractiveHandler.cjs#1-107","gmt_create":"2026-05-29T16:04:30.681743+08:00","gmt_modified":"2026-05-29T16:04:30.681743+08:00"},{"id":533,"source_id":"bff59e82f605e20195da97a526dd016c","target_id":"53ccbc21b6b3804a9fa8cc8edbcac476","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-107","gmt_create":"2026-05-29T16:04:30.681887+08:00","gmt_modified":"2026-05-29T16:04:30.681887+08:00"},{"id":534,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"924bb1a806344a0eb311e8d8c7575b2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/terminal/TerminalAuthDialog.tsx#1-307","gmt_create":"2026-05-29T16:04:30.68218+08:00","gmt_modified":"2026-05-29T16:04:30.68218+08:00"},{"id":535,"source_id":"f9bacab6e427f918ae35e14852f5366b","target_id":"924bb1a806344a0eb311e8d8c7575b2c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-307","gmt_create":"2026-05-29T16:04:30.682387+08:00","gmt_modified":"2026-05-29T16:04:30.682387+08:00"},{"id":536,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a06b108e573556a03a1c12c0b59891eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/KeyboardInteractiveModal.tsx#1-228","gmt_create":"2026-05-29T16:04:30.682577+08:00","gmt_modified":"2026-05-29T16:04:30.682577+08:00"},{"id":537,"source_id":"cf19562ecc2d4f153e231f9752664ad3","target_id":"a06b108e573556a03a1c12c0b59891eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-228","gmt_create":"2026-05-29T16:04:30.682706+08:00","gmt_modified":"2026-05-29T16:04:30.682706+08:00"},{"id":538,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"52d0b0ac416628922950e54478ba650d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/PassphraseModal.tsx#1-184","gmt_create":"2026-05-29T16:04:30.682869+08:00","gmt_modified":"2026-05-29T16:04:30.682869+08:00"},{"id":539,"source_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","target_id":"52d0b0ac416628922950e54478ba650d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-184","gmt_create":"2026-05-29T16:04:30.68297+08:00","gmt_modified":"2026-05-29T16:04:30.68297+08:00"},{"id":540,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"7a65710ff0c1db23e5f91241e7c2cc03","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useVaultState.ts#156-199","gmt_create":"2026-05-29T16:04:30.683121+08:00","gmt_modified":"2026-05-29T16:04:30.683121+08:00"},{"id":541,"source_id":"bb281d4ee5af69ae7677438d3275e233","target_id":"7a65710ff0c1db23e5f91241e7c2cc03","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 156-199","gmt_create":"2026-05-29T16:04:30.683215+08:00","gmt_modified":"2026-05-29T16:04:30.683215+08:00"},{"id":542,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"91c695ba16ad5d471aad8daba5d1f6f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/defaultKeyPassphrases.ts#73-93","gmt_create":"2026-05-29T16:04:30.683352+08:00","gmt_modified":"2026-05-29T16:04:30.683352+08:00"},{"id":543,"source_id":"39ced6df00a8ad2103ed345174c561e0","target_id":"91c695ba16ad5d471aad8daba5d1f6f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 73-93","gmt_create":"2026-05-29T16:04:30.683578+08:00","gmt_modified":"2026-05-29T16:04:30.683578+08:00"},{"id":544,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6b5969e1d95eaf558be41b6443750eba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#44-103","gmt_create":"2026-05-29T16:04:30.684857+08:00","gmt_modified":"2026-05-29T16:04:30.684857+08:00"},{"id":545,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"6b5969e1d95eaf558be41b6443750eba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-103","gmt_create":"2026-05-29T16:04:30.684986+08:00","gmt_modified":"2026-05-29T16:04:30.684986+08:00"},{"id":546,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#464-718","gmt_create":"2026-05-29T16:04:30.685119+08:00","gmt_modified":"2026-05-29T16:04:30.685119+08:00"},{"id":547,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 464-718","gmt_create":"2026-05-29T16:04:30.685218+08:00","gmt_modified":"2026-05-29T16:04:30.685218+08:00"},{"id":548,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8970034d832fc470e0fe605b1e89da38","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#43-97","gmt_create":"2026-05-29T16:04:30.686962+08:00","gmt_modified":"2026-05-29T16:04:30.686962+08:00"},{"id":549,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"8970034d832fc470e0fe605b1e89da38","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-97","gmt_create":"2026-05-29T16:04:30.687106+08:00","gmt_modified":"2026-05-29T16:04:30.687106+08:00"},{"id":550,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"21353a724957792ec2d18d735b25b472","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#30-110","gmt_create":"2026-05-29T16:04:30.687256+08:00","gmt_modified":"2026-05-29T16:04:30.687256+08:00"},{"id":551,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"21353a724957792ec2d18d735b25b472","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-110","gmt_create":"2026-05-29T16:04:30.687364+08:00","gmt_modified":"2026-05-29T16:04:30.687364+08:00"},{"id":552,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"9693d9bf7f30c39aca2f495b6f7f7799","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/terminal/TerminalAuthDialog.tsx#18-39","gmt_create":"2026-05-29T16:04:30.687488+08:00","gmt_modified":"2026-05-29T16:04:30.687488+08:00"},{"id":553,"source_id":"f9bacab6e427f918ae35e14852f5366b","target_id":"9693d9bf7f30c39aca2f495b6f7f7799","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-39","gmt_create":"2026-05-29T16:04:30.687639+08:00","gmt_modified":"2026-05-29T16:04:30.687639+08:00"},{"id":554,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"5db6727740eb5df8599c1adbdad450f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/KeyboardInteractiveModal.tsx#25-48","gmt_create":"2026-05-29T16:04:30.687772+08:00","gmt_modified":"2026-05-29T16:04:30.687772+08:00"},{"id":555,"source_id":"cf19562ecc2d4f153e231f9752664ad3","target_id":"5db6727740eb5df8599c1adbdad450f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-48","gmt_create":"2026-05-29T16:04:30.687911+08:00","gmt_modified":"2026-05-29T16:04:30.687911+08:00"},{"id":556,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"58960be2def6fe290a3d622cc938d4b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/PassphraseModal.tsx#26-31","gmt_create":"2026-05-29T16:04:30.688044+08:00","gmt_modified":"2026-05-29T16:04:30.688044+08:00"},{"id":557,"source_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","target_id":"58960be2def6fe290a3d622cc938d4b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-31","gmt_create":"2026-05-29T16:04:30.688152+08:00","gmt_modified":"2026-05-29T16:04:30.688152+08:00"},{"id":558,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"2ec6f65bdac68ddac752edc9432c2dc1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/passphraseHandler.cjs#76-139","gmt_create":"2026-05-29T16:04:30.688583+08:00","gmt_modified":"2026-05-29T16:04:30.688583+08:00"},{"id":559,"source_id":"73bc0acd848c3ed206cd2f7c830ff4e5","target_id":"2ec6f65bdac68ddac752edc9432c2dc1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-139","gmt_create":"2026-05-29T16:04:30.688677+08:00","gmt_modified":"2026-05-29T16:04:30.688678+08:00"},{"id":560,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"2a34fd2cd38b67d2bda9ea5476346bb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/keyboardInteractiveHandler.cjs#26-49","gmt_create":"2026-05-29T16:04:30.688803+08:00","gmt_modified":"2026-05-29T16:04:30.688803+08:00"},{"id":561,"source_id":"bff59e82f605e20195da97a526dd016c","target_id":"2a34fd2cd38b67d2bda9ea5476346bb1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-49","gmt_create":"2026-05-29T16:04:30.688893+08:00","gmt_modified":"2026-05-29T16:04:30.688893+08:00"},{"id":562,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6896a2e499ef113d1f2f61fdf44d3e8d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#25-42","gmt_create":"2026-05-29T16:04:30.689018+08:00","gmt_modified":"2026-05-29T16:04:30.689018+08:00"},{"id":563,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"6896a2e499ef113d1f2f61fdf44d3e8d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-42","gmt_create":"2026-05-29T16:04:30.689112+08:00","gmt_modified":"2026-05-29T16:04:30.689112+08:00"},{"id":564,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6c3987ab9234bb35ea7475369bb5ac50","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#30-52","gmt_create":"2026-05-29T16:04:30.689401+08:00","gmt_modified":"2026-05-29T16:04:30.689401+08:00"},{"id":565,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"6c3987ab9234bb35ea7475369bb5ac50","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-52","gmt_create":"2026-05-29T16:04:30.689512+08:00","gmt_modified":"2026-05-29T16:04:30.689512+08:00"},{"id":566,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"88239c80ddd044b453557fe8fa6f27bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#296-373","gmt_create":"2026-05-29T16:04:30.689713+08:00","gmt_modified":"2026-05-29T16:04:30.689713+08:00"},{"id":567,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"88239c80ddd044b453557fe8fa6f27bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 296-373","gmt_create":"2026-05-29T16:04:30.689825+08:00","gmt_modified":"2026-05-29T16:04:30.689825+08:00"},{"id":568,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ce55c6d05dcd873f7342ed01b7472d53","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#782-790","gmt_create":"2026-05-29T16:04:30.690982+08:00","gmt_modified":"2026-05-29T16:04:30.690982+08:00"},{"id":569,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"ce55c6d05dcd873f7342ed01b7472d53","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 782-790","gmt_create":"2026-05-29T16:04:30.691095+08:00","gmt_modified":"2026-05-29T16:04:30.691095+08:00"},{"id":570,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"51702a7a5dd3dbdb9c48d645a91dbd9f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#828-861","gmt_create":"2026-05-29T16:04:30.691234+08:00","gmt_modified":"2026-05-29T16:04:30.691235+08:00"},{"id":571,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"51702a7a5dd3dbdb9c48d645a91dbd9f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 828-861","gmt_create":"2026-05-29T16:04:30.691327+08:00","gmt_modified":"2026-05-29T16:04:30.691327+08:00"},{"id":572,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"4b66f1a9cc38229f9896cd834b152ea5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/GenerateStandardPanel.tsx#14-30","gmt_create":"2026-05-29T16:04:30.691841+08:00","gmt_modified":"2026-05-29T16:04:30.691841+08:00"},{"id":573,"source_id":"a5a4bcff2795d6fddece1c37463b5d11","target_id":"4b66f1a9cc38229f9896cd834b152ea5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-30","gmt_create":"2026-05-29T16:04:30.691951+08:00","gmt_modified":"2026-05-29T16:04:30.691951+08:00"},{"id":574,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d360cba87d971df99a7724cb8e0cdbe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/ImportKeyPanel.tsx#15-29","gmt_create":"2026-05-29T16:04:30.692085+08:00","gmt_modified":"2026-05-29T16:04:30.692085+08:00"},{"id":575,"source_id":"a686bce16a4757ffc087fd1d439dfd0f","target_id":"d360cba87d971df99a7724cb8e0cdbe8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-29","gmt_create":"2026-05-29T16:04:30.692218+08:00","gmt_modified":"2026-05-29T16:04:30.692218+08:00"},{"id":576,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/IdentityPanel.tsx#16-34","gmt_create":"2026-05-29T16:04:30.692351+08:00","gmt_modified":"2026-05-29T16:04:30.692351+08:00"},{"id":577,"source_id":"3e9186e3c491d88874d860d8f92d6c21","target_id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-34","gmt_create":"2026-05-29T16:04:30.69244+08:00","gmt_modified":"2026-05-29T16:04:30.69244+08:00"},{"id":578,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"dc4e286965a8fc1eff96b3ddfdf34d10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/utils.ts#29-34","gmt_create":"2026-05-29T16:04:30.69291+08:00","gmt_modified":"2026-05-29T16:04:30.69291+08:00"},{"id":579,"source_id":"9403814343c15f11bc49b8af34bf3cd7","target_id":"dc4e286965a8fc1eff96b3ddfdf34d10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-34","gmt_create":"2026-05-29T16:04:30.693+08:00","gmt_modified":"2026-05-29T16:04:30.693+08:00"},{"id":580,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"05fa54de15d257c2519e65d4841cbfc9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#41-85","gmt_create":"2026-05-29T16:04:30.693832+08:00","gmt_modified":"2026-05-29T16:04:30.693832+08:00"},{"id":581,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"05fa54de15d257c2519e65d4841cbfc9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 41-85","gmt_create":"2026-05-29T16:04:30.693943+08:00","gmt_modified":"2026-05-29T16:04:30.693943+08:00"},{"id":582,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"b4d4ead9b619e67de1c6708b706b437e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#1-92","gmt_create":"2026-05-29T16:04:30.694163+08:00","gmt_modified":"2026-05-29T16:04:30.694163+08:00"},{"id":583,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"b4d4ead9b619e67de1c6708b706b437e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-92","gmt_create":"2026-05-29T16:04:30.694251+08:00","gmt_modified":"2026-05-29T16:04:30.694251+08:00"},{"id":584,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.pkcs8.test.cjs#1-87","gmt_create":"2026-05-29T16:04:30.69437+08:00","gmt_modified":"2026-05-29T16:04:30.69437+08:00"},{"id":585,"source_id":"43e0f42bd09636b152f7c44cac37ef9c","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-87","gmt_create":"2026-05-29T16:04:30.694477+08:00","gmt_modified":"2026-05-29T16:04:30.694477+08:00"},{"id":586,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"fd080f88b1aef2580b3a2a9ba10550b3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#140-162","gmt_create":"2026-05-29T16:04:30.694636+08:00","gmt_modified":"2026-05-29T16:04:30.694636+08:00"},{"id":587,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"fd080f88b1aef2580b3a2a9ba10550b3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-162","gmt_create":"2026-05-29T16:04:30.694756+08:00","gmt_modified":"2026-05-29T16:04:30.694757+08:00"},{"id":588,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#120-134","gmt_create":"2026-05-29T16:04:30.696688+08:00","gmt_modified":"2026-05-29T16:04:30.696688+08:00"},{"id":589,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 120-134","gmt_create":"2026-05-29T16:04:30.696782+08:00","gmt_modified":"2026-05-29T16:04:30.696782+08:00"},{"id":590,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"e5a37c8ad7a3d71da27c7701fbe45aba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#59-110","gmt_create":"2026-05-29T16:04:30.697009+08:00","gmt_modified":"2026-05-29T16:04:30.697009+08:00"},{"id":591,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"e5a37c8ad7a3d71da27c7701fbe45aba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-110","gmt_create":"2026-05-29T16:04:30.697121+08:00","gmt_modified":"2026-05-29T16:04:30.697121+08:00"},{"id":592,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#76-92","gmt_create":"2026-05-29T16:04:30.697247+08:00","gmt_modified":"2026-05-29T16:04:30.697247+08:00"},{"id":593,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-92","gmt_create":"2026-05-29T16:04:30.697334+08:00","gmt_modified":"2026-05-29T16:04:30.697334+08:00"},{"id":594,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"09217e072e7bb6388888a4a02830e1cf","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge.cjs","gmt_create":"2026-05-29T16:04:37.488658+08:00","gmt_modified":"2026-05-29T16:04:37.488658+08:00"},{"id":595,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f707844f8fa482fd6b5d794ce185da9b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/startSession.cjs","gmt_create":"2026-05-29T16:04:37.488849+08:00","gmt_modified":"2026-05-29T16:04:37.488849+08:00"},{"id":596,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"3f10b28d75b4fd9dc3a1428cab158740","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/execCommand.cjs","gmt_create":"2026-05-29T16:04:37.488983+08:00","gmt_modified":"2026-05-29T16:04:37.488983+08:00"},{"id":597,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"836f76b9a7acad295ef9d2d80d79a693","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/sessionOps.cjs","gmt_create":"2026-05-29T16:04:37.489145+08:00","gmt_modified":"2026-05-29T16:04:37.489145+08:00"},{"id":598,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d6dfa972f57094438cb3eb40295463ad","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:37.489266+08:00","gmt_modified":"2026-05-29T16:04:37.489266+08:00"},{"id":599,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"de02ba181120d7d3c45b25027607954b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:37.489383+08:00","gmt_modified":"2026-05-29T16:04:37.489383+08:00"},{"id":600,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"7c3b81f22362e95e47f1b104375c608a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAlgorithms.cjs","gmt_create":"2026-05-29T16:04:37.489499+08:00","gmt_modified":"2026-05-29T16:04:37.489499+08:00"},{"id":601,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"bccb9a8e255ff857b14f5915dbe9e900","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/terminalBridge.cjs","gmt_create":"2026-05-29T16:04:37.489592+08:00","gmt_modified":"2026-05-29T16:04:37.489592+08:00"},{"id":602,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d433a6a730c2603ba4e3bfecff9c6ff5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/sshAuth.ts","gmt_create":"2026-05-29T16:04:37.489721+08:00","gmt_modified":"2026-05-29T16:04:37.489721+08:00"},{"id":603,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"1df01ca8b4c2189f72f995abd5a68708","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: types/global/netcatty-bridge-session.d.ts","gmt_create":"2026-05-29T16:04:37.489856+08:00","gmt_modified":"2026-05-29T16:04:37.489856+08:00"},{"id":604,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"68753ab2db898d0493b7925be056450c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/models/terminal.ts","gmt_create":"2026-05-29T16:04:37.489985+08:00","gmt_modified":"2026-05-29T16:04:37.489985+08:00"},{"id":605,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"43e0f42bd09636b152f7c44cac37ef9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:37.49009+08:00","gmt_modified":"2026-05-29T16:04:37.49009+08:00"},{"id":606,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ea757801c8b59a1ce3ab79853638a417","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:37.490219+08:00","gmt_modified":"2026-05-29T16:04:37.490219+08:00"},{"id":607,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"87599e4f906c1f8774fd4bc92c06bc11","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#696-722","gmt_create":"2026-05-29T16:04:37.490355+08:00","gmt_modified":"2026-05-29T16:04:37.490355+08:00"},{"id":608,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"87599e4f906c1f8774fd4bc92c06bc11","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 696-722","gmt_create":"2026-05-29T16:04:37.490497+08:00","gmt_modified":"2026-05-29T16:04:37.490497+08:00"},{"id":609,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"7531e57a28dfe8b57dd9a3c3c2780a10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#1-120","gmt_create":"2026-05-29T16:04:37.490657+08:00","gmt_modified":"2026-05-29T16:04:37.490657+08:00"},{"id":610,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"7531e57a28dfe8b57dd9a3c3c2780a10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.490764+08:00","gmt_modified":"2026-05-29T16:04:37.490764+08:00"},{"id":611,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"79514ea5593b67be4cd9989564b3cc96","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#1-120","gmt_create":"2026-05-29T16:04:37.490895+08:00","gmt_modified":"2026-05-29T16:04:37.490895+08:00"},{"id":612,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"79514ea5593b67be4cd9989564b3cc96","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.490997+08:00","gmt_modified":"2026-05-29T16:04:37.490997+08:00"},{"id":613,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"04d021e72f01a784d4bc6e6f79456a29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#1-120","gmt_create":"2026-05-29T16:04:37.49113+08:00","gmt_modified":"2026-05-29T16:04:37.491131+08:00"},{"id":614,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"04d021e72f01a784d4bc6e6f79456a29","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.491258+08:00","gmt_modified":"2026-05-29T16:04:37.491258+08:00"},{"id":615,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"dc5ee5a48c639579c5a363bc06add941","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#140-180","gmt_create":"2026-05-29T16:04:37.49138+08:00","gmt_modified":"2026-05-29T16:04:37.49138+08:00"},{"id":616,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"dc5ee5a48c639579c5a363bc06add941","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-180","gmt_create":"2026-05-29T16:04:37.491497+08:00","gmt_modified":"2026-05-29T16:04:37.491498+08:00"},{"id":617,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-104","gmt_create":"2026-05-29T16:04:37.491634+08:00","gmt_modified":"2026-05-29T16:04:37.491634+08:00"},{"id":618,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"e6139ea5aed00d4df3606d79ae72ea59","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#1-120","gmt_create":"2026-05-29T16:04:37.491818+08:00","gmt_modified":"2026-05-29T16:04:37.491818+08:00"},{"id":619,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"e6139ea5aed00d4df3606d79ae72ea59","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.491905+08:00","gmt_modified":"2026-05-29T16:04:37.491905+08:00"},{"id":620,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#464-718","gmt_create":"2026-05-29T16:04:37.492795+08:00","gmt_modified":"2026-05-29T16:04:37.492795+08:00"},{"id":621,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f6e27e4da6cbd578f71fd26a99b7275e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#196-213","gmt_create":"2026-05-29T16:04:37.493051+08:00","gmt_modified":"2026-05-29T16:04:37.493051+08:00"},{"id":622,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"f6e27e4da6cbd578f71fd26a99b7275e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 196-213","gmt_create":"2026-05-29T16:04:37.493172+08:00","gmt_modified":"2026-05-29T16:04:37.493172+08:00"},{"id":623,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"2156259f8a615062cc2924c5f3f541fd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#516-774","gmt_create":"2026-05-29T16:04:37.493454+08:00","gmt_modified":"2026-05-29T16:04:37.493454+08:00"},{"id":624,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"2156259f8a615062cc2924c5f3f541fd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 516-774","gmt_create":"2026-05-29T16:04:37.493592+08:00","gmt_modified":"2026-05-29T16:04:37.493592+08:00"},{"id":625,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"9d127c152834958b27afc8c36276422d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#52-97","gmt_create":"2026-05-29T16:04:37.493847+08:00","gmt_modified":"2026-05-29T16:04:37.493847+08:00"},{"id":626,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"9d127c152834958b27afc8c36276422d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 52-97","gmt_create":"2026-05-29T16:04:37.493969+08:00","gmt_modified":"2026-05-29T16:04:37.493969+08:00"},{"id":627,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"58363df82b870c4a85924d02ac30a632","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#38-120","gmt_create":"2026-05-29T16:04:37.494206+08:00","gmt_modified":"2026-05-29T16:04:37.494206+08:00"},{"id":628,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"58363df82b870c4a85924d02ac30a632","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 38-120","gmt_create":"2026-05-29T16:04:37.4943+08:00","gmt_modified":"2026-05-29T16:04:37.4943+08:00"},{"id":629,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"27308e69d5f8068b00feab164863555e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#480-695","gmt_create":"2026-05-29T16:04:37.494431+08:00","gmt_modified":"2026-05-29T16:04:37.494431+08:00"},{"id":630,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"27308e69d5f8068b00feab164863555e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 480-695","gmt_create":"2026-05-29T16:04:37.494553+08:00","gmt_modified":"2026-05-29T16:04:37.494553+08:00"},{"id":631,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"b598e20f6b4aaf2c232501136381d1ff","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#718-774","gmt_create":"2026-05-29T16:04:37.494719+08:00","gmt_modified":"2026-05-29T16:04:37.494719+08:00"},{"id":632,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"b598e20f6b4aaf2c232501136381d1ff","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 718-774","gmt_create":"2026-05-29T16:04:37.494831+08:00","gmt_modified":"2026-05-29T16:04:37.494831+08:00"},{"id":633,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"a2f9b4aa9aebb38a23c5cb3474c20a56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#120-185","gmt_create":"2026-05-29T16:04:37.495439+08:00","gmt_modified":"2026-05-29T16:04:37.495439+08:00"},{"id":634,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"a2f9b4aa9aebb38a23c5cb3474c20a56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 120-185","gmt_create":"2026-05-29T16:04:37.495551+08:00","gmt_modified":"2026-05-29T16:04:37.495551+08:00"},{"id":635,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"90fdd9a212a58f938dbdf87a08a34080","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#4-69","gmt_create":"2026-05-29T16:04:37.49602+08:00","gmt_modified":"2026-05-29T16:04:37.49602+08:00"},{"id":636,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"90fdd9a212a58f938dbdf87a08a34080","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-69","gmt_create":"2026-05-29T16:04:37.496131+08:00","gmt_modified":"2026-05-29T16:04:37.496131+08:00"},{"id":637,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"098d7680b66c291640f039d0bf3490db","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#71-238","gmt_create":"2026-05-29T16:04:37.496252+08:00","gmt_modified":"2026-05-29T16:04:37.496252+08:00"},{"id":638,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"098d7680b66c291640f039d0bf3490db","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 71-238","gmt_create":"2026-05-29T16:04:37.496342+08:00","gmt_modified":"2026-05-29T16:04:37.496342+08:00"},{"id":639,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d61b5c8f9e540fa898bf04d4bab73668","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#341-477","gmt_create":"2026-05-29T16:04:37.496467+08:00","gmt_modified":"2026-05-29T16:04:37.496467+08:00"},{"id":640,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"d61b5c8f9e540fa898bf04d4bab73668","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 341-477","gmt_create":"2026-05-29T16:04:37.496573+08:00","gmt_modified":"2026-05-29T16:04:37.496573+08:00"},{"id":641,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"dc193a31e0350ecb17c2dfd447fbb186","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#483-800","gmt_create":"2026-05-29T16:04:37.496693+08:00","gmt_modified":"2026-05-29T16:04:37.496693+08:00"},{"id":642,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"dc193a31e0350ecb17c2dfd447fbb186","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 483-800","gmt_create":"2026-05-29T16:04:37.496788+08:00","gmt_modified":"2026-05-29T16:04:37.496788+08:00"},{"id":643,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f36205d8dfc10116396d04afb380c007","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: types/global/netcatty-bridge-session.d.ts#1-269","gmt_create":"2026-05-29T16:04:37.498073+08:00","gmt_modified":"2026-05-29T16:04:37.498073+08:00"},{"id":644,"source_id":"1df01ca8b4c2189f72f995abd5a68708","target_id":"f36205d8dfc10116396d04afb380c007","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-269","gmt_create":"2026-05-29T16:04:37.4982+08:00","gmt_modified":"2026-05-29T16:04:37.4982+08:00"},{"id":645,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"967f615a0ce86206176eec4b3893cb44","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#16-17","gmt_create":"2026-05-29T16:04:37.498889+08:00","gmt_modified":"2026-05-29T16:04:37.498889+08:00"},{"id":646,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"967f615a0ce86206176eec4b3893cb44","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-17","gmt_create":"2026-05-29T16:04:37.499015+08:00","gmt_modified":"2026-05-29T16:04:37.499015+08:00"},{"id":647,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"94e45c6ed659ac90a26ebdde4c5a22cd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#635-643","gmt_create":"2026-05-29T16:04:37.499636+08:00","gmt_modified":"2026-05-29T16:04:37.499636+08:00"},{"id":648,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"94e45c6ed659ac90a26ebdde4c5a22cd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 635-643","gmt_create":"2026-05-29T16:04:37.499727+08:00","gmt_modified":"2026-05-29T16:04:37.499727+08:00"},{"id":649,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"cee005eaf45a172ad51021cc4bd9d4c8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#27-46","gmt_create":"2026-05-29T16:04:37.499847+08:00","gmt_modified":"2026-05-29T16:04:37.499847+08:00"},{"id":650,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"cee005eaf45a172ad51021cc4bd9d4c8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 27-46","gmt_create":"2026-05-29T16:04:37.499988+08:00","gmt_modified":"2026-05-29T16:04:37.499988+08:00"},{"id":651,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"521618219a325c099c292d5fa478afa1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#300-355","gmt_create":"2026-05-29T16:04:37.500108+08:00","gmt_modified":"2026-05-29T16:04:37.500108+08:00"},{"id":652,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"521618219a325c099c292d5fa478afa1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 300-355","gmt_create":"2026-05-29T16:04:37.500232+08:00","gmt_modified":"2026-05-29T16:04:37.500232+08:00"},{"id":653,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"b5f085fd266e5a8356c23e7558819bc5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#776-800","gmt_create":"2026-05-29T16:04:37.500432+08:00","gmt_modified":"2026-05-29T16:04:37.500432+08:00"},{"id":654,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"b5f085fd266e5a8356c23e7558819bc5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 776-800","gmt_create":"2026-05-29T16:04:37.50052+08:00","gmt_modified":"2026-05-29T16:04:37.50052+08:00"},{"id":655,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#120-134","gmt_create":"2026-05-29T16:04:37.500645+08:00","gmt_modified":"2026-05-29T16:04:37.500645+08:00"},{"id":656,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f1f993940acf565ba73bee22d5919a7f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#259-294","gmt_create":"2026-05-29T16:04:37.501892+08:00","gmt_modified":"2026-05-29T16:04:37.501892+08:00"},{"id":657,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"f1f993940acf565ba73bee22d5919a7f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 259-294","gmt_create":"2026-05-29T16:04:37.502046+08:00","gmt_modified":"2026-05-29T16:04:37.502046+08:00"},{"id":658,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#76-92","gmt_create":"2026-05-29T16:04:37.502189+08:00","gmt_modified":"2026-05-29T16:04:37.502189+08:00"},{"id":659,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"5f4e293cf8044ad4c29f4529f63bd2fa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#380-691","gmt_create":"2026-05-29T16:04:37.502343+08:00","gmt_modified":"2026-05-29T16:04:37.502343+08:00"},{"id":660,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"5f4e293cf8044ad4c29f4529f63bd2fa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 380-691","gmt_create":"2026-05-29T16:04:37.502451+08:00","gmt_modified":"2026-05-29T16:04:37.502451+08:00"},{"id":661,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"0933fbd748da17c3030fa1daeb479520","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/terminalBridge.cjs#471-514","gmt_create":"2026-05-29T16:04:37.502588+08:00","gmt_modified":"2026-05-29T16:04:37.502588+08:00"},{"id":662,"source_id":"bccb9a8e255ff857b14f5915dbe9e900","target_id":"0933fbd748da17c3030fa1daeb479520","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 471-514","gmt_create":"2026-05-29T16:04:37.502693+08:00","gmt_modified":"2026-05-29T16:04:37.502693+08:00"},{"id":663,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#1-125","gmt_create":"2026-05-29T16:04:37.502811+08:00","gmt_modified":"2026-05-29T16:04:37.502811+08:00"},{"id":664,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f0eb3f39c6cfaadb71decee64be5dc18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#34-60","gmt_create":"2026-05-29T16:04:37.50301+08:00","gmt_modified":"2026-05-29T16:04:37.50301+08:00"},{"id":665,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"f0eb3f39c6cfaadb71decee64be5dc18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34-60","gmt_create":"2026-05-29T16:04:37.5031+08:00","gmt_modified":"2026-05-29T16:04:37.5031+08:00"},{"id":666,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"067c09dc937014b6ffa0ff44112be9d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#5-10","gmt_create":"2026-05-29T16:04:37.503221+08:00","gmt_modified":"2026-05-29T16:04:37.503221+08:00"},{"id":667,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"067c09dc937014b6ffa0ff44112be9d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 5-10","gmt_create":"2026-05-29T16:04:37.503333+08:00","gmt_modified":"2026-05-29T16:04:37.503333+08:00"},{"id":668,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"c2f102204f8ebfea0a2b298c795ae9b9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#180-213","gmt_create":"2026-05-29T16:04:37.503465+08:00","gmt_modified":"2026-05-29T16:04:37.503465+08:00"},{"id":669,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"c2f102204f8ebfea0a2b298c795ae9b9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 180-213","gmt_create":"2026-05-29T16:04:37.503553+08:00","gmt_modified":"2026-05-29T16:04:37.503553+08:00"},{"id":670,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ff313b8f1240962ed5e23d88b3e1dd0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#60-68","gmt_create":"2026-05-29T16:04:37.50378+08:00","gmt_modified":"2026-05-29T16:04:37.50378+08:00"},{"id":671,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"ff313b8f1240962ed5e23d88b3e1dd0c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-68","gmt_create":"2026-05-29T16:04:37.503868+08:00","gmt_modified":"2026-05-29T16:04:37.503868+08:00"},{"id":672,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"208ea0f7860a43fb1ea8f4dd152fc91d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-14","gmt_create":"2026-05-29T16:04:37.503985+08:00","gmt_modified":"2026-05-29T16:04:37.503985+08:00"},{"id":673,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"208ea0f7860a43fb1ea8f4dd152fc91d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-14","gmt_create":"2026-05-29T16:04:37.504072+08:00","gmt_modified":"2026-05-29T16:04:37.504072+08:00"},{"id":674,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"c6e60f3a17a2be4bf084b33d41eaeeea","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#88-92","gmt_create":"2026-05-29T16:04:37.504189+08:00","gmt_modified":"2026-05-29T16:04:37.504189+08:00"},{"id":675,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"c6e60f3a17a2be4bf084b33d41eaeeea","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 88-92","gmt_create":"2026-05-29T16:04:37.504292+08:00","gmt_modified":"2026-05-29T16:04:37.504292+08:00"},{"id":676,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.pkcs8.test.cjs#1-87","gmt_create":"2026-05-29T16:04:37.504606+08:00","gmt_modified":"2026-05-29T16:04:37.504606+08:00"},{"id":677,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"6ee23a1e0c2b29c99c711a042bbd095c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#1-93","gmt_create":"2026-05-29T16:04:37.504766+08:00","gmt_modified":"2026-05-29T16:04:37.504766+08:00"},{"id":678,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"6ee23a1e0c2b29c99c711a042bbd095c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-93","gmt_create":"2026-05-29T16:04:37.504853+08:00","gmt_modified":"2026-05-29T16:04:37.504853+08:00"},{"id":679,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-05-29T16:05:13.410604+08:00","gmt_modified":"2026-05-29T16:05:13.410604+08:00"},{"id":680,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-05-29T16:05:13.410772+08:00","gmt_modified":"2026-05-29T16:05:13.410772+08:00"},{"id":681,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T16:05:13.410881+08:00","gmt_modified":"2026-05-29T16:05:13.410881+08:00"},{"id":682,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T16:05:13.410991+08:00","gmt_modified":"2026-05-29T16:05:13.410991+08:00"},{"id":683,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"b44dbda354c6c8909f0317b6663f1522","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/managedAgentState.ts","gmt_create":"2026-05-29T16:05:13.411093+08:00","gmt_modified":"2026-05-29T16:05:13.411094+08:00"},{"id":684,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"77062236202633127d331c0805a2be01","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/sessionScopeMatch.ts","gmt_create":"2026-05-29T16:05:13.411212+08:00","gmt_modified":"2026-05-29T16:05:13.411212+08:00"},{"id":685,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ab34263c1c4e1440ea68d771ca649a29","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/acpHistory.ts","gmt_create":"2026-05-29T16:05:13.411345+08:00","gmt_modified":"2026-05-29T16:05:13.411345+08:00"},{"id":686,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"2da456e7f00f7c523a604d47d918c6b0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge.cjs","gmt_create":"2026-05-29T16:05:13.411448+08:00","gmt_modified":"2026-05-29T16:05:13.411448+08:00"},{"id":687,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T16:05:13.41155+08:00","gmt_modified":"2026-05-29T16:05:13.411551+08:00"},{"id":688,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6000be96fbff2c3cc1130507c6268930","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/ai/shellUtils.cjs","gmt_create":"2026-05-29T16:05:13.411649+08:00","gmt_modified":"2026-05-29T16:05:13.411649+08:00"},{"id":689,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T16:05:13.41175+08:00","gmt_modified":"2026-05-29T16:05:13.41175+08:00"},{"id":690,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T16:05:13.411867+08:00","gmt_modified":"2026-05-29T16:05:13.411867+08:00"},{"id":691,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"35e6ab7aa766ddfadb0ee716c927de1c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge.test.cjs","gmt_create":"2026-05-29T16:05:13.411968+08:00","gmt_modified":"2026-05-29T16:05:13.411968+08:00"},{"id":692,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c1e1a7ce236b5f68b899e2f8ec0310ec","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/agentSendEligibility.ts","gmt_create":"2026-05-29T16:05:13.412066+08:00","gmt_modified":"2026-05-29T16:05:13.412066+08:00"},{"id":693,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T16:05:13.412182+08:00","gmt_modified":"2026-05-29T16:05:13.412182+08:00"},{"id":694,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"41746efa23f23ba4cf6b9016d10e1cb2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-171","gmt_create":"2026-05-29T16:05:13.412337+08:00","gmt_modified":"2026-05-29T16:05:13.412337+08:00"},{"id":695,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"41746efa23f23ba4cf6b9016d10e1cb2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-171","gmt_create":"2026-05-29T16:05:13.412461+08:00","gmt_modified":"2026-05-29T16:05:13.412461+08:00"},{"id":696,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"d0f4e4df420db34782b941798d15b8b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#19-37","gmt_create":"2026-05-29T16:05:13.412612+08:00","gmt_modified":"2026-05-29T16:05:13.412612+08:00"},{"id":697,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"d0f4e4df420db34782b941798d15b8b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-37","gmt_create":"2026-05-29T16:05:13.412711+08:00","gmt_modified":"2026-05-29T16:05:13.412711+08:00"},{"id":698,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"333bc4c2289c780b32a0e15ba2023e89","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#29-68","gmt_create":"2026-05-29T16:05:13.412845+08:00","gmt_modified":"2026-05-29T16:05:13.412845+08:00"},{"id":699,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"333bc4c2289c780b32a0e15ba2023e89","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-68","gmt_create":"2026-05-29T16:05:13.412943+08:00","gmt_modified":"2026-05-29T16:05:13.412943+08:00"},{"id":700,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T16:05:13.413096+08:00","gmt_modified":"2026-05-29T16:05:13.413096+08:00"},{"id":701,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c83c9f798a0891e9f73808f9e8f47550","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#191-230","gmt_create":"2026-05-29T16:05:13.41326+08:00","gmt_modified":"2026-05-29T16:05:13.41326+08:00"},{"id":702,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"c83c9f798a0891e9f73808f9e8f47550","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 191-230","gmt_create":"2026-05-29T16:05:13.413401+08:00","gmt_modified":"2026-05-29T16:05:13.413402+08:00"},{"id":703,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"05677de111768694bf13a5bc6ab7be71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/acpHistory.ts#398-428","gmt_create":"2026-05-29T16:05:13.413534+08:00","gmt_modified":"2026-05-29T16:05:13.413534+08:00"},{"id":704,"source_id":"ab34263c1c4e1440ea68d771ca649a29","target_id":"05677de111768694bf13a5bc6ab7be71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 398-428","gmt_create":"2026-05-29T16:05:13.413637+08:00","gmt_modified":"2026-05-29T16:05:13.413637+08:00"},{"id":705,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c7cb5b6e4ba59524d65b9d22137d0b66","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.cjs#921-958","gmt_create":"2026-05-29T16:05:13.413775+08:00","gmt_modified":"2026-05-29T16:05:13.413775+08:00"},{"id":706,"source_id":"2da456e7f00f7c523a604d47d918c6b0","target_id":"c7cb5b6e4ba59524d65b9d22137d0b66","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 921-958","gmt_create":"2026-05-29T16:05:13.413867+08:00","gmt_modified":"2026-05-29T16:05:13.413867+08:00"},{"id":707,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"3e0f32caa6877953faad8ce7eb17f0f9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#143-221","gmt_create":"2026-05-29T16:05:13.414042+08:00","gmt_modified":"2026-05-29T16:05:13.414042+08:00"},{"id":708,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"3e0f32caa6877953faad8ce7eb17f0f9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 143-221","gmt_create":"2026-05-29T16:05:13.414139+08:00","gmt_modified":"2026-05-29T16:05:13.414139+08:00"},{"id":709,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6ab0ae7644299980bb5ee29e079bcb84","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/ai/shellUtils.cjs#267-291","gmt_create":"2026-05-29T16:05:13.414269+08:00","gmt_modified":"2026-05-29T16:05:13.414269+08:00"},{"id":710,"source_id":"6000be96fbff2c3cc1130507c6268930","target_id":"6ab0ae7644299980bb5ee29e079bcb84","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 267-291","gmt_create":"2026-05-29T16:05:13.414381+08:00","gmt_modified":"2026-05-29T16:05:13.414381+08:00"},{"id":711,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#201-263","gmt_create":"2026-05-29T16:05:13.414512+08:00","gmt_modified":"2026-05-29T16:05:13.414512+08:00"},{"id":712,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a5d2f490756c2a5809570f1057d7f781","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-59","gmt_create":"2026-05-29T16:05:13.41468+08:00","gmt_modified":"2026-05-29T16:05:13.414681+08:00"},{"id":713,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"a5d2f490756c2a5809570f1057d7f781","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-59","gmt_create":"2026-05-29T16:05:13.41482+08:00","gmt_modified":"2026-05-29T16:05:13.41482+08:00"},{"id":714,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"9da62b56d2f1f61c66b6365b6d500e71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#181-190","gmt_create":"2026-05-29T16:05:13.416825+08:00","gmt_modified":"2026-05-29T16:05:13.416825+08:00"},{"id":715,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"9da62b56d2f1f61c66b6365b6d500e71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 181-190","gmt_create":"2026-05-29T16:05:13.416936+08:00","gmt_modified":"2026-05-29T16:05:13.416936+08:00"},{"id":716,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"91a902b0e21cb83af9922c7ce982be12","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#131-161","gmt_create":"2026-05-29T16:05:13.41741+08:00","gmt_modified":"2026-05-29T16:05:13.41741+08:00"},{"id":717,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"91a902b0e21cb83af9922c7ce982be12","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 131-161","gmt_create":"2026-05-29T16:05:13.417549+08:00","gmt_modified":"2026-05-29T16:05:13.417549+08:00"},{"id":718,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"492d335dfaa3489b286de567804b1d10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#42-73","gmt_create":"2026-05-29T16:05:13.418151+08:00","gmt_modified":"2026-05-29T16:05:13.418151+08:00"},{"id":719,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"492d335dfaa3489b286de567804b1d10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-73","gmt_create":"2026-05-29T16:05:13.418262+08:00","gmt_modified":"2026-05-29T16:05:13.418262+08:00"},{"id":720,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8cb669b0ea9e9a68866929205039784f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#217-230","gmt_create":"2026-05-29T16:05:13.418675+08:00","gmt_modified":"2026-05-29T16:05:13.418675+08:00"},{"id":721,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"8cb669b0ea9e9a68866929205039784f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 217-230","gmt_create":"2026-05-29T16:05:13.418882+08:00","gmt_modified":"2026-05-29T16:05:13.418882+08:00"},{"id":722,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ad1a57f19d7514ade7d42187b5d85ba5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#35-53","gmt_create":"2026-05-29T16:05:13.419462+08:00","gmt_modified":"2026-05-29T16:05:13.419462+08:00"},{"id":723,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"ad1a57f19d7514ade7d42187b5d85ba5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-53","gmt_create":"2026-05-29T16:05:13.419704+08:00","gmt_modified":"2026-05-29T16:05:13.419704+08:00"},{"id":724,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"64df9400788f461bea6619a6474c0330","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/sessionScopeMatch.ts#3-28","gmt_create":"2026-05-29T16:05:13.420534+08:00","gmt_modified":"2026-05-29T16:05:13.420534+08:00"},{"id":725,"source_id":"77062236202633127d331c0805a2be01","target_id":"64df9400788f461bea6619a6474c0330","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-28","gmt_create":"2026-05-29T16:05:13.420707+08:00","gmt_modified":"2026-05-29T16:05:13.420707+08:00"},{"id":726,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"e93da680ddf45f077fd5867ee142df5f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#204-215","gmt_create":"2026-05-29T16:05:13.420976+08:00","gmt_modified":"2026-05-29T16:05:13.420976+08:00"},{"id":727,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"e93da680ddf45f077fd5867ee142df5f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 204-215","gmt_create":"2026-05-29T16:05:13.421119+08:00","gmt_modified":"2026-05-29T16:05:13.421119+08:00"},{"id":728,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a27362064fa400c3e97c1a000e552e79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/types.ts","gmt_create":"2026-05-29T16:05:13.42126+08:00","gmt_modified":"2026-05-29T16:05:13.42126+08:00"},{"id":729,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"716fc714b8fb0d6150fd439696067af7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/types.ts#111-140","gmt_create":"2026-05-29T16:05:13.421356+08:00","gmt_modified":"2026-05-29T16:05:13.421356+08:00"},{"id":730,"source_id":"a27362064fa400c3e97c1a000e552e79","target_id":"716fc714b8fb0d6150fd439696067af7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 111-140","gmt_create":"2026-05-29T16:05:13.421486+08:00","gmt_modified":"2026-05-29T16:05:13.421486+08:00"},{"id":731,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a4f498b7c851c6fe8fa3863827006c8c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.cjs#931-957","gmt_create":"2026-05-29T16:05:13.42181+08:00","gmt_modified":"2026-05-29T16:05:13.42181+08:00"},{"id":732,"source_id":"2da456e7f00f7c523a604d47d918c6b0","target_id":"a4f498b7c851c6fe8fa3863827006c8c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 931-957","gmt_create":"2026-05-29T16:05:13.421926+08:00","gmt_modified":"2026-05-29T16:05:13.421926+08:00"},{"id":733,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"310b560b4ae2f2ce1cffaa873a363c4d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/ai/shellUtils.cjs#162-189","gmt_create":"2026-05-29T16:05:13.422262+08:00","gmt_modified":"2026-05-29T16:05:13.422262+08:00"},{"id":734,"source_id":"6000be96fbff2c3cc1130507c6268930","target_id":"310b560b4ae2f2ce1cffaa873a363c4d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 162-189","gmt_create":"2026-05-29T16:05:13.422395+08:00","gmt_modified":"2026-05-29T16:05:13.422395+08:00"},{"id":735,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"871dcbd9f180ec72a75242d4906b94ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-43","gmt_create":"2026-05-29T16:05:13.423679+08:00","gmt_modified":"2026-05-29T16:05:13.423679+08:00"},{"id":736,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"871dcbd9f180ec72a75242d4906b94ec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-43","gmt_create":"2026-05-29T16:05:13.423777+08:00","gmt_modified":"2026-05-29T16:05:13.423777+08:00"},{"id":737,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"4102225781abd3e0cba30d9dc2e5f3e2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.test.cjs#398-487","gmt_create":"2026-05-29T16:05:13.425116+08:00","gmt_modified":"2026-05-29T16:05:13.425116+08:00"},{"id":738,"source_id":"35e6ab7aa766ddfadb0ee716c927de1c","target_id":"4102225781abd3e0cba30d9dc2e5f3e2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 398-487","gmt_create":"2026-05-29T16:05:13.425251+08:00","gmt_modified":"2026-05-29T16:05:13.425251+08:00"},{"id":739,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"4492c48235534414c985d7aafc68d67e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/agentSendEligibility.ts#10-15","gmt_create":"2026-05-29T16:05:13.425446+08:00","gmt_modified":"2026-05-29T16:05:13.425446+08:00"},{"id":740,"source_id":"c1e1a7ce236b5f68b899e2f8ec0310ec","target_id":"4492c48235534414c985d7aafc68d67e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-15","gmt_create":"2026-05-29T16:05:13.425549+08:00","gmt_modified":"2026-05-29T16:05:13.425549+08:00"},{"id":741,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"1f3197fea2ebbd0d1615c84e3c674985","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/acpHistory.ts#355-378","gmt_create":"2026-05-29T16:05:13.42569+08:00","gmt_modified":"2026-05-29T16:05:13.42569+08:00"},{"id":742,"source_id":"ab34263c1c4e1440ea68d771ca649a29","target_id":"1f3197fea2ebbd0d1615c84e3c674985","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 355-378","gmt_create":"2026-05-29T16:05:13.425782+08:00","gmt_modified":"2026-05-29T16:05:13.425782+08:00"},{"id":743,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8938b76f040af3dee978b382fd44d53b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/sessionScopeMatch.ts#23-25","gmt_create":"2026-05-29T16:05:13.425905+08:00","gmt_modified":"2026-05-29T16:05:13.425905+08:00"},{"id":744,"source_id":"77062236202633127d331c0805a2be01","target_id":"8938b76f040af3dee978b382fd44d53b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-25","gmt_create":"2026-05-29T16:05:13.425995+08:00","gmt_modified":"2026-05-29T16:05:13.425995+08:00"},{"id":745,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 397afdaa-9617-42fa-a07e-4c1a29bb6acc","gmt_create":"2026-05-29T16:05:14.018213+08:00","gmt_modified":"2026-05-29T16:05:14.018213+08:00"},{"id":746,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 6383ad91-1e59-4001-bc06-a9f279ea4ada","gmt_create":"2026-05-29T16:05:14.018646+08:00","gmt_modified":"2026-05-29T16:05:14.018646+08:00"},{"id":747,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","gmt_create":"2026-05-29T16:05:14.02138+08:00","gmt_modified":"2026-05-29T16:05:14.02138+08:00"}],"source_files":[{"id":"5cde75f9d56d83b1e9da869d9456bd42","path":"components/settings/tabs/SettingsAITab.tsx","filename":"SettingsAITab.tsx","gmt_create":"2026-05-29T00:33:30.841406+08:00","gmt_modified":"2026-05-29T00:33:30.841406+08:00"},{"id":"a27362064fa400c3e97c1a000e552e79","path":"components/settings/tabs/ai/types.ts","filename":"types.ts","gmt_create":"2026-05-29T00:33:30.841547+08:00","gmt_modified":"2026-05-29T00:33:30.841547+08:00"},{"id":"5237285e3a5e2e142393725731d08c5d","path":"components/settings/tabs/ai/ProviderCard.tsx","filename":"ProviderCard.tsx","gmt_create":"2026-05-29T00:33:30.841593+08:00","gmt_modified":"2026-05-29T00:33:30.841593+08:00"},{"id":"8b1d34afa2224b6a7bf1941920a68370","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","filename":"ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:33:30.841642+08:00","gmt_modified":"2026-05-29T00:33:30.841642+08:00"},{"id":"1d9e2bfa84c643dfd8943c98b44978c6","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","filename":"AddProviderDropdown.tsx","gmt_create":"2026-05-29T00:33:30.841678+08:00","gmt_modified":"2026-05-29T00:33:30.841678+08:00"},{"id":"83135da0abfcf440c7efb97ae897451e","path":"components/settings/tabs/ai/SafetySettings.tsx","filename":"SafetySettings.tsx","gmt_create":"2026-05-29T00:33:30.841716+08:00","gmt_modified":"2026-05-29T00:33:30.841716+08:00"},{"id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","path":"components/settings/tabs/ai/WebSearchSettings.tsx","filename":"WebSearchSettings.tsx","gmt_create":"2026-05-29T00:33:30.841752+08:00","gmt_modified":"2026-05-29T00:33:30.841752+08:00"},{"id":"b44dbda354c6c8909f0317b6663f1522","path":"components/settings/tabs/ai/managedAgentState.ts","filename":"managedAgentState.ts","gmt_create":"2026-05-29T00:33:30.841789+08:00","gmt_modified":"2026-05-29T00:33:30.841789+08:00"},{"id":"6ad577a4254ce03ae3bf4bb5bab1824d","path":"components/settings/tabs/ai/claudeConfigEnv.ts","filename":"claudeConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.841823+08:00","gmt_modified":"2026-05-29T00:33:30.841823+08:00"},{"id":"6f12ac751fdeef81a0e4d298829cf6f5","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","filename":"codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.841863+08:00","gmt_modified":"2026-05-29T00:33:30.841863+08:00"},{"id":"5ca8bae6463de0b40f57611b28b72f18","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","filename":"ClaudeCodeCard.tsx","gmt_create":"2026-05-29T00:33:30.841899+08:00","gmt_modified":"2026-05-29T00:33:30.841899+08:00"},{"id":"f3ad59bf21544cd788609383a4dfd381","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","filename":"CodexConnectionCard.tsx","gmt_create":"2026-05-29T00:33:30.841935+08:00","gmt_modified":"2026-05-29T00:33:30.841935+08:00"},{"id":"b57e008aa7659838d6c364b3d76493ab","path":"components/settings/tabs/ai/CodebuddyCard.tsx","filename":"CodebuddyCard.tsx","gmt_create":"2026-05-29T00:33:30.84197+08:00","gmt_modified":"2026-05-29T00:33:30.84197+08:00"},{"id":"8feb651cec1b28587a45be78f8c85138","path":"infrastructure/ai/managedAgents.ts","filename":"managedAgents.ts","gmt_create":"2026-05-29T00:33:30.842004+08:00","gmt_modified":"2026-05-29T00:33:30.842004+08:00"},{"id":"ae646328bbd7749e384a345d5e1da076","path":"infrastructure/ai/types.ts","filename":"types.ts","gmt_create":"2026-05-29T00:33:30.842039+08:00","gmt_modified":"2026-05-29T00:33:30.842039+08:00"},{"id":"c1865efdde019a1bb983e62ece393764","path":"application/i18n/locales/zh-CN/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842075+08:00","gmt_modified":"2026-05-29T00:33:30.842075+08:00"},{"id":"45c84a3f8e4c5341a283f9efbe86b7fa","path":"application/i18n/locales/en/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842109+08:00","gmt_modified":"2026-05-29T00:33:30.842109+08:00"},{"id":"a82180419c8b5ffe5685fd5cd7bf7c16","path":"application/i18n/locales/ru/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842146+08:00","gmt_modified":"2026-05-29T00:33:30.842146+08:00"},{"id":"bf12794fa3af4f8a34b46c4788eb49b7","path":"components/AIChatPanelContent.tsx","filename":"AIChatPanelContent.tsx","gmt_create":"2026-05-29T00:33:53.589704+08:00","gmt_modified":"2026-05-29T00:33:53.589704+08:00"},{"id":"a8885d6fc90746342140bbfe91af9830","path":"components/AIChatSidePanel.tsx","filename":"AIChatSidePanel.tsx","gmt_create":"2026-05-29T00:33:53.589761+08:00","gmt_modified":"2026-05-29T00:33:53.589761+08:00"},{"id":"7b7ce5726d29197b98aaada0cd869771","path":"components/ai/ChatMessageList.tsx","filename":"ChatMessageList.tsx","gmt_create":"2026-05-29T00:33:53.589803+08:00","gmt_modified":"2026-05-29T00:33:53.589803+08:00"},{"id":"74676637fb845b2ffcd105a04750ae2e","path":"components/ai/ChatInput.tsx","filename":"ChatInput.tsx","gmt_create":"2026-05-29T00:33:53.58984+08:00","gmt_modified":"2026-05-29T00:33:53.58984+08:00"},{"id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","path":"components/ai/ThinkingBlock.tsx","filename":"ThinkingBlock.tsx","gmt_create":"2026-05-29T00:33:53.589877+08:00","gmt_modified":"2026-05-29T00:33:53.589877+08:00"},{"id":"5f31d5c329226007a74c5e7b0586ea8b","path":"components/ai-elements/conversation.tsx","filename":"conversation.tsx","gmt_create":"2026-05-29T00:33:53.589912+08:00","gmt_modified":"2026-05-29T00:33:53.589912+08:00"},{"id":"2abab935c0a79eed1ce181092931cc62","path":"components/ai-elements/message.tsx","filename":"message.tsx","gmt_create":"2026-05-29T00:33:53.589949+08:00","gmt_modified":"2026-05-29T00:33:53.589949+08:00"},{"id":"e22fe9068de2e790e0671a3418b42bd8","path":"components/ai-elements/tool-call.tsx","filename":"tool-call.tsx","gmt_create":"2026-05-29T00:33:53.589985+08:00","gmt_modified":"2026-05-29T00:33:53.589985+08:00"},{"id":"c9beb905d94690a24421f7b362b6cdfd","path":"components/ai-elements/prompt-input.tsx","filename":"prompt-input.tsx","gmt_create":"2026-05-29T00:33:53.590043+08:00","gmt_modified":"2026-05-29T00:33:53.590043+08:00"},{"id":"8c9bacbd7f17b1998fdf2110cbbf796c","path":"components/ai-elements/streamdownCodeHighlighter.ts","filename":"streamdownCodeHighlighter.ts","gmt_create":"2026-05-29T00:33:53.590079+08:00","gmt_modified":"2026-05-29T00:33:53.590079+08:00"},{"id":"b18de7ebca418c2b4d28d9552f95792c","path":"components/ai/hooks/useAIChatStreaming.ts","filename":"useAIChatStreaming.ts","gmt_create":"2026-05-29T00:33:53.590114+08:00","gmt_modified":"2026-05-29T00:33:53.590114+08:00"},{"id":"e3784575d3f66a3dc61a1b398b2d1925","path":"components/ai/hooks/aiChatStreamingSupport.ts","filename":"aiChatStreamingSupport.ts","gmt_create":"2026-05-29T00:33:53.590148+08:00","gmt_modified":"2026-05-29T00:33:53.590148+08:00"},{"id":"b324d0760f3f9e92d0e9729e449bb14a","path":"components/ai/aiPanelViewState.ts","filename":"aiPanelViewState.ts","gmt_create":"2026-05-29T00:33:53.590267+08:00","gmt_modified":"2026-05-29T00:33:53.590267+08:00"},{"id":"e4564da3181becf136933451147a56f2","path":"components/ai/AgentIconBadge.tsx","filename":"AgentIconBadge.tsx","gmt_create":"2026-05-29T00:33:53.590301+08:00","gmt_modified":"2026-05-29T00:33:53.590301+08:00"},{"id":"12b7b36ce5c7594830ad681a692c761e","path":"components/ai/AgentSelector.tsx","filename":"AgentSelector.tsx","gmt_create":"2026-05-29T00:33:53.590337+08:00","gmt_modified":"2026-05-29T00:33:53.590337+08:00"},{"id":"c371f92e9cccce372d0407a41c1e232b","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","filename":"agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:33:53.590552+08:00","gmt_modified":"2026-05-29T00:33:53.590552+08:00"},{"id":"e45f5d746a1a5fc78f589e402b22daca","path":"application/state/useAgentDiscovery.ts","filename":"useAgentDiscovery.ts","gmt_create":"2026-05-29T00:33:53.590587+08:00","gmt_modified":"2026-05-29T00:33:53.590587+08:00"},{"id":"dcf899a1b054004d5d623fe6308f9a0c","path":"components/ai/ConversationExport.tsx","filename":"ConversationExport.tsx","gmt_create":"2026-05-29T00:34:06.340523+08:00","gmt_modified":"2026-05-29T00:34:06.340523+08:00"},{"id":"4b2ad61be711f800135cd68fc3a930ee","path":"components/AIChatSessionHistoryDrawer.tsx","filename":"AIChatSessionHistoryDrawer.tsx","gmt_create":"2026-05-29T00:34:06.340562+08:00","gmt_modified":"2026-05-29T00:34:06.340562+08:00"},{"id":"c8328c5d6c794e20b30b02be124bb9dd","path":"infrastructure/ai/sdk/providers.ts","filename":"providers.ts","gmt_create":"2026-05-29T00:34:06.340711+08:00","gmt_modified":"2026-05-29T00:34:06.340711+08:00"},{"id":"22f26535963a86066c99a83289088c84","path":"infrastructure/ai/sdk/tools.ts","filename":"tools.ts","gmt_create":"2026-05-29T00:34:06.340746+08:00","gmt_modified":"2026-05-29T00:34:06.340746+08:00"},{"id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","filename":"systemPrompt.ts","gmt_create":"2026-05-29T00:34:06.340782+08:00","gmt_modified":"2026-05-29T00:34:06.340782+08:00"},{"id":"94617cf09e47c0a5c1bdd1716b294063","path":"electron/bridges/aiBridge/acpHandlers.cjs","filename":"acpHandlers.cjs","gmt_create":"2026-05-29T00:34:06.341163+08:00","gmt_modified":"2026-05-29T00:34:06.341163+08:00"},{"id":"32966a55fd80ba72927bce4c6b230fd6","path":"infrastructure/ai/acpAgentAdapter.ts","filename":"acpAgentAdapter.ts","gmt_create":"2026-05-29T00:36:03.432454+08:00","gmt_modified":"2026-05-29T00:36:03.432454+08:00"},{"id":"28c7ca8e4abf5bfebee0bb97fb6329a7","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","filename":"sessionExecutionQueue.ts","gmt_create":"2026-05-29T00:36:03.432611+08:00","gmt_modified":"2026-05-29T00:36:03.432611+08:00"},{"id":"992d124cda8932a4c5e38d85570fcfd8","path":"infrastructure/ai/shared/toolExecutors.ts","filename":"toolExecutors.ts","gmt_create":"2026-05-29T00:36:03.432777+08:00","gmt_modified":"2026-05-29T00:36:03.432777+08:00"},{"id":"6985509692e54dc77249694cb7661c41","path":"infrastructure/ai/shared/approvalGate.ts","filename":"approvalGate.ts","gmt_create":"2026-05-29T00:36:03.432811+08:00","gmt_modified":"2026-05-29T00:36:03.432811+08:00"},{"id":"462038004d507ef279adb14d31a8ee79","path":"infrastructure/ai/cattyAgent/safety.ts","filename":"safety.ts","gmt_create":"2026-05-29T00:36:03.432963+08:00","gmt_modified":"2026-05-29T00:36:03.432963+08:00"},{"id":"bc4a0507dc381b23e9ee7e1a807af949","path":"electron/bridges/aiBridge/providerHandlers.cjs","filename":"providerHandlers.cjs","gmt_create":"2026-05-29T00:36:03.433125+08:00","gmt_modified":"2026-05-29T00:36:03.433125+08:00"},{"id":"7f0a86fe9691da422de38d0fc11b73dc","path":"electron/bridges/mcpServerBridge.cjs","filename":"mcpServerBridge.cjs","gmt_create":"2026-05-29T00:36:03.43316+08:00","gmt_modified":"2026-05-29T00:36:03.43316+08:00"},{"id":"f314c06de44f0cf0a7f57f70cf337645","path":"lib/logger.ts","filename":"logger.ts","gmt_create":"2026-05-29T00:36:03.433196+08:00","gmt_modified":"2026-05-29T00:36:03.433196+08:00"},{"id":"ffed7f2b98f0876b0764a46178326f05","path":"infrastructure/ai/errorClassifier.ts","filename":"errorClassifier.ts","gmt_create":"2026-05-29T00:36:03.433229+08:00","gmt_modified":"2026-05-29T00:36:03.433229+08:00"},{"id":"96d07bd1774515a99147d7a22077ab18","path":"types/global/netcatty-bridge-ai.d.ts","filename":"netcatty-bridge-ai.d.ts","gmt_create":"2026-05-29T00:36:03.433261+08:00","gmt_modified":"2026-05-29T00:36:03.433262+08:00"},{"id":"d433a6a730c2603ba4e3bfecff9c6ff5","path":"domain/sshAuth.ts","filename":"sshAuth.ts","gmt_create":"2026-05-29T16:04:30.663674+08:00","gmt_modified":"2026-05-29T16:04:30.663674+08:00"},{"id":"6d287e279b7ca41b46ea004fd85f5033","path":"domain/credentials.ts","filename":"credentials.ts","gmt_create":"2026-05-29T16:04:30.664108+08:00","gmt_modified":"2026-05-29T16:04:30.664108+08:00"},{"id":"d6dfa972f57094438cb3eb40295463ad","path":"electron/bridges/sshAuthHelper.cjs","filename":"sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:30.664169+08:00","gmt_modified":"2026-05-29T16:04:30.664169+08:00"},{"id":"de02ba181120d7d3c45b25027607954b","path":"electron/bridges/privateKeyNormalizer.cjs","filename":"privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:30.66439+08:00","gmt_modified":"2026-05-29T16:04:30.66439+08:00"},{"id":"ea757801c8b59a1ce3ab79853638a417","path":"electron/bridges/privateKeyNormalizer.test.cjs","filename":"privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:30.664449+08:00","gmt_modified":"2026-05-29T16:04:30.664449+08:00"},{"id":"43e0f42bd09636b152f7c44cac37ef9c","path":"electron/bridges/sshAuthHelper.pkcs8.test.cjs","filename":"sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:30.664502+08:00","gmt_modified":"2026-05-29T16:04:30.664502+08:00"},{"id":"73bc0acd848c3ed206cd2f7c830ff4e5","path":"electron/bridges/passphraseHandler.cjs","filename":"passphraseHandler.cjs","gmt_create":"2026-05-29T16:04:30.664543+08:00","gmt_modified":"2026-05-29T16:04:30.664544+08:00"},{"id":"bff59e82f605e20195da97a526dd016c","path":"electron/bridges/keyboardInteractiveHandler.cjs","filename":"keyboardInteractiveHandler.cjs","gmt_create":"2026-05-29T16:04:30.664583+08:00","gmt_modified":"2026-05-29T16:04:30.664583+08:00"},{"id":"a5a4bcff2795d6fddece1c37463b5d11","path":"components/keychain/GenerateStandardPanel.tsx","filename":"GenerateStandardPanel.tsx","gmt_create":"2026-05-29T16:04:30.664621+08:00","gmt_modified":"2026-05-29T16:04:30.664621+08:00"},{"id":"a686bce16a4757ffc087fd1d439dfd0f","path":"components/keychain/ImportKeyPanel.tsx","filename":"ImportKeyPanel.tsx","gmt_create":"2026-05-29T16:04:30.664658+08:00","gmt_modified":"2026-05-29T16:04:30.664658+08:00"},{"id":"3e9186e3c491d88874d860d8f92d6c21","path":"components/keychain/IdentityPanel.tsx","filename":"IdentityPanel.tsx","gmt_create":"2026-05-29T16:04:30.664695+08:00","gmt_modified":"2026-05-29T16:04:30.664695+08:00"},{"id":"f9bacab6e427f918ae35e14852f5366b","path":"components/terminal/TerminalAuthDialog.tsx","filename":"TerminalAuthDialog.tsx","gmt_create":"2026-05-29T16:04:30.664732+08:00","gmt_modified":"2026-05-29T16:04:30.664732+08:00"},{"id":"cf19562ecc2d4f153e231f9752664ad3","path":"components/KeyboardInteractiveModal.tsx","filename":"KeyboardInteractiveModal.tsx","gmt_create":"2026-05-29T16:04:30.664775+08:00","gmt_modified":"2026-05-29T16:04:30.664775+08:00"},{"id":"1f0b00b35fb6a716e5a70f1e2376f2bd","path":"components/PassphraseModal.tsx","filename":"PassphraseModal.tsx","gmt_create":"2026-05-29T16:04:30.664817+08:00","gmt_modified":"2026-05-29T16:04:30.664817+08:00"},{"id":"9403814343c15f11bc49b8af34bf3cd7","path":"components/keychain/utils.ts","filename":"utils.ts","gmt_create":"2026-05-29T16:04:30.664865+08:00","gmt_modified":"2026-05-29T16:04:30.664866+08:00"},{"id":"bb281d4ee5af69ae7677438d3275e233","path":"application/state/useVaultState.ts","filename":"useVaultState.ts","gmt_create":"2026-05-29T16:04:30.664904+08:00","gmt_modified":"2026-05-29T16:04:30.664904+08:00"},{"id":"39ced6df00a8ad2103ed345174c561e0","path":"application/defaultKeyPassphrases.ts","filename":"defaultKeyPassphrases.ts","gmt_create":"2026-05-29T16:04:30.66494+08:00","gmt_modified":"2026-05-29T16:04:30.66494+08:00"},{"id":"09217e072e7bb6388888a4a02830e1cf","path":"electron/bridges/sshBridge.cjs","filename":"sshBridge.cjs","gmt_create":"2026-05-29T16:04:37.47833+08:00","gmt_modified":"2026-05-29T16:04:37.47833+08:00"},{"id":"f707844f8fa482fd6b5d794ce185da9b","path":"electron/bridges/sshBridge/startSession.cjs","filename":"startSession.cjs","gmt_create":"2026-05-29T16:04:37.478407+08:00","gmt_modified":"2026-05-29T16:04:37.478407+08:00"},{"id":"3f10b28d75b4fd9dc3a1428cab158740","path":"electron/bridges/sshBridge/execCommand.cjs","filename":"execCommand.cjs","gmt_create":"2026-05-29T16:04:37.478448+08:00","gmt_modified":"2026-05-29T16:04:37.478448+08:00"},{"id":"836f76b9a7acad295ef9d2d80d79a693","path":"electron/bridges/sshBridge/sessionOps.cjs","filename":"sessionOps.cjs","gmt_create":"2026-05-29T16:04:37.478486+08:00","gmt_modified":"2026-05-29T16:04:37.478486+08:00"},{"id":"7c3b81f22362e95e47f1b104375c608a","path":"electron/bridges/sshAlgorithms.cjs","filename":"sshAlgorithms.cjs","gmt_create":"2026-05-29T16:04:37.478688+08:00","gmt_modified":"2026-05-29T16:04:37.478688+08:00"},{"id":"bccb9a8e255ff857b14f5915dbe9e900","path":"electron/bridges/terminalBridge.cjs","filename":"terminalBridge.cjs","gmt_create":"2026-05-29T16:04:37.478725+08:00","gmt_modified":"2026-05-29T16:04:37.478725+08:00"},{"id":"1df01ca8b4c2189f72f995abd5a68708","path":"types/global/netcatty-bridge-session.d.ts","filename":"netcatty-bridge-session.d.ts","gmt_create":"2026-05-29T16:04:37.478823+08:00","gmt_modified":"2026-05-29T16:04:37.478823+08:00"},{"id":"68753ab2db898d0493b7925be056450c","path":"domain/models/terminal.ts","filename":"terminal.ts","gmt_create":"2026-05-29T16:04:37.47886+08:00","gmt_modified":"2026-05-29T16:04:37.47886+08:00"},{"id":"77062236202633127d331c0805a2be01","path":"components/ai/sessionScopeMatch.ts","filename":"sessionScopeMatch.ts","gmt_create":"2026-05-29T16:05:13.398313+08:00","gmt_modified":"2026-05-29T16:05:13.398313+08:00"},{"id":"ab34263c1c4e1440ea68d771ca649a29","path":"components/ai/acpHistory.ts","filename":"acpHistory.ts","gmt_create":"2026-05-29T16:05:13.398358+08:00","gmt_modified":"2026-05-29T16:05:13.398358+08:00"},{"id":"2da456e7f00f7c523a604d47d918c6b0","path":"electron/bridges/aiBridge.cjs","filename":"aiBridge.cjs","gmt_create":"2026-05-29T16:05:13.398395+08:00","gmt_modified":"2026-05-29T16:05:13.398395+08:00"},{"id":"6000be96fbff2c3cc1130507c6268930","path":"electron/bridges/ai/shellUtils.cjs","filename":"shellUtils.cjs","gmt_create":"2026-05-29T16:05:13.398496+08:00","gmt_modified":"2026-05-29T16:05:13.398496+08:00"},{"id":"35e6ab7aa766ddfadb0ee716c927de1c","path":"electron/bridges/aiBridge.test.cjs","filename":"aiBridge.test.cjs","gmt_create":"2026-05-29T16:05:13.398651+08:00","gmt_modified":"2026-05-29T16:05:13.398651+08:00"},{"id":"c1e1a7ce236b5f68b899e2f8ec0310ec","path":"components/ai/agentSendEligibility.ts","filename":"agentSendEligibility.ts","gmt_create":"2026-05-29T16:05:13.398689+08:00","gmt_modified":"2026-05-29T16:05:13.398689+08:00"}],"wiki_catalogs":[{"id":"189657ad-d00c-4381-8f6b-550190edf068","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"项目概述","description":"project-overview","prompt":"为Netcatty项目创建全面的概述内容。详细介绍Netcatty作为AI驱动的SSH客户端、SFTP浏览器和终端管理器的核心价值主张。解释其架构设计理念,包括Electron + React + xterm.js的技术栈组合。阐述项目的主要功能特性:AI代理集成、多协议连接支持(SSH、Telnet、Mosh、本地终端、串行)、终端工作空间管理、SFTP文件传输、保管库管理等。说明目标用户群体(开发者、系统管理员、DevOps工程师)和使用场景。提供项目的发展历程、许可证信息和社区支持情况。包含系统要求、支持的操作系统平台和硬件要求。","progress_status":"completed","dependent_files":"README.md,package.json,App.tsx,index.tsx","gmt_create":"2026-05-28T20:04:49.696497+08:00","gmt_modified":"2026-05-28T20:10:15.615411+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV7ojrH0+b4JMz5OewwhBN1GJOluPw4Iq9D0QjTTbLqCrKi3+Iu35BqFKVSDPMN1DeytGwjBMWMaqfZJw9U+for3BPoNjk1/JjOG6KuYsCPdEcAknrmZ4jJN8DnVUcKf8zogvv1vXLJbBaQw2zuG4KWsTADIAr7IrN1VDy/8QS+CBB62XISctRgV0cycmni5aDsMBktWIlLpqjnw4Jz+H+JijzgrE6KCZoLu+cQaCjEgF8irt2jB/2pggj8ZvfE7ykNEcasH/3o3+Qd3wa3nyOk/TlfMScJiWLigWoJEsjfz+UqSQYvU2eBByf00Dk7+lsTzgq6Kxpeuhst+qdvEdeDeMgeCVFb3wuX4hpTBejUFIj1yxKtDxQcLNvEegCzxQ2QGrD27PY+F0+ipWazNTQeGps+e8SaFDydPngKWCc5EihO/ujLKaJe80/FsPJRWQMtVoZpUZR8HHbeoyzgyldHBlIhUEFTAWvhI7t/PMM/Uf7lau1ElrtVwMjV1vWhrO9RspvTIXM9I3t8KDgKxAUoP0oE/X54XFOAn20Hok78UMlzmselXkBXKy2SYvWLPiQlBbUxCxyuyMM1JeB35vyfvIOLg/Z5F0L/aJPbPTnnsYklcBoV7RP2fGdZzYVzmQiouNrq2LggBPkwhKzHGho4KCldsXTgb4dqVZ3XOMmFWsCnd/6pReVzL4wI64Xzy28ulJX/tV6rpWbIzyr+2h5GVDqvwTsSdtCpR8AqxyhdZXQW9sPBiqPahUAxbwC/gz7wpo+477XOfV5H6k2aSUQ7Ifa6a8KoTpzIIgqIsbNAJvm1Nsm4uN4LnArintcLxIgh6YDawPmSKkuQM4w1ruvaz2DEEipnzoj/MEhvlh/X/fo52jJgF84ixYrVWfpLetZm9Wxpp4EzdejQKj9FBKuRWYIK01KZTIqh0pSrQ3VUMAM8Cv10Txp798GgvG4xrjOjVuKpkHS57j1/5g+8HNCiyp9FG9cgH5K0O9OHgaIDTG6Seesb4QJHyUeDjiwQ8GkR4U07PrvhI32E4PR8UazfuUlrQWd7xNWWKYSA1DgaZLzr/SagnclaB2qPuY5dIucu/EAHYU23JGYG60oldJqLfkyl31gbplFD3QSyvTTQCi3JAhIACA53vlyzBDGwnZC0O2MzXS6rgqwH1IUMZqNyM8aCbeCcE3sxPX9srKu2Y7Ikb7YoGZX+u7AF+3dPxtVw=="},{"id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC桥接API","description":"ipc-bridge-api","prompt":"创建IPC桥接API的详细文档。详细记录主进程与渲染进程之间的通信接口,包括AI桥接API、SSH桥接API、SFTP桥接API、终端桥接API等。对于每个桥接模块,文档化方法调用规范、参数格式、返回值类型和错误处理机制。说明IPC消息格式、事件类型、数据序列化和反序列化过程。包含具体的代码示例展示如何在渲染进程中调用主进程功能,以及主进程如何响应和处理IPC请求。提供错误处理策略、超时机制和重试逻辑。记录安全验证机制,如发送方验证和权限控制。包含性能优化建议和最佳实践。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,electron/bridges/terminalBridge.cjs,electron/bridges/windowManager.cjs,electron/bridges/ipcUtils.cjs","gmt_create":"2026-05-28T20:05:12.557039+08:00","gmt_modified":"2026-05-28T20:17:23.597953+08:00","raw_data":"WikiEncrypted:91RWQJnBa3YVIbYB6FTbWi43PhsVS1yEriCfEAJ5KhYTOSEOcsPR3ge4Vp/M+F8yb8pyfpZGz1tulC3CvtzyRQspplqiIwW/wxNoRw69e8qf9KP70u7qhAlARGxJ5AUo6zBKAsbsjn0amtsQpxYH+gEIBTI/LTgArNME23TLz80OIrvuRC9sFIycKye7dXqEVRLVud0Dw+X2GjdJx2k0UvOmkRdVfpGW8W6qAX8ELC9edT3SPi4oPcMiIqw0QEEaI1itYi417N+tn6MV0+hUeBXLYJKaEO1fGE5AWLxQB90l0EcK+wsxpLbwnXxHsgRiiZQHh7F8xj8y7XvlgzPapWn0dbu4hUEjYcRLoOBo/Sdkn3Y62+wp1NKqitGNwUSD50FKrzBQ5Ao4/6vW1SkRqtlN4VThCLLgbDl1aT/LfUgf1bH4TztPlwjnp5J9RyiXvoIqPG9mp9E6ZJvkXgrQXAWBeVs9tD1PxaVrcpN8po5bILIXQhxyOD3B9qZ/FI6KcrK/l5p9pVcE9Ou/biWCKkErMlSplKeSlJsoH2DWTlku8ozOrL99y61EID9PIxsIjTIfn7SfxKzYxaZLMBTqoD1vPShy/mj6d0AY6vkGwah2VZi/ri+KzretC9LqkIWWa8YBtujGJps63QU7D6uNSKosGKF9r2cslUE8bBCspbfb4890mitO4UXMtvVe8hOUgXE7hEAA4fxH/OV3yfbmMCoVIRivEwEzJRGrdjkLvNJWLwrlJUhgQzw5wJL8cCoDC1BbS3PiBzuhypBeMdjugjUorvJloUblaMGrOyRv97SpdXD7/guLZWmMwzqRGHXHvDb0vdJXfKoBwIccd1dg07c65w/UBd6iY7TDyGyVvsbtNuFa8t+v3371pOgfo9miWOXBmp2sfSlsY+Myn4UgHepcsLiX6pli2wqd/iq5rlmfBzvYDJafxgvOzLaJNLZFvL5Hg3hQn4aoD3M1PBemMvDDL5WzntAXgCDkxzjo9gaaw0Ah+mYIwlqW8yX5oxup1HUdo9YSJTp0ZHU5TmPNA0wzBez8FcGeuj2GJJRjpkVDegyVvRfKm+ojCt6vGS2WhOQ+1a3MSdkPaXzH6z3nb/kgdHlIXlkFRVgnG1t2SOukRH3gc/TgW5SbT90pKD9TX9kXV2r+Fh/hCUad0azTEYGogB0wOTcgJNxzqfa/FjGULr06q9e3NGvxopDQ/IkHHdkXo7kUaerPTIJ/UbEI2Fmo6OW7ifQP06mQimUgaMM9j+T8xuZ9q2l7XjW0cgcVnCh6LLpcHqlYbvoDzGECbWfYntlsAci77mG+JSx2GYto1MbStfPHzxIFCKtFoVPobqzJPX77UTxB4KTKardjC7DFsanZPQyELFOhbnUPtuygTD2JDUHmIs+nErbl9kQdTzeWSX8ih9U+I3y52J44tDsFtEjp/TtDgjjHBLidgXzXOXnEzPh2LX89rAXjzkCDBQDmUd4zC2BD8lazab+qF20FHrHkgGJ5xC7w84LM356j67W/4cABF88mMlkCtMW2jOFd7l9IZBMbEtDLrAwzkKsAWcimYXrm50KeYt0m3ZRolhuLcKIQ+MMTNKjE78QM","layer_level":1},{"id":"f348201e-855d-4899-83da-3a544ea6e040","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SSH客户端管理","description":"ssh-client-management","prompt":"为SSH客户端管理功能创建详细的用户指南内容。深入解释如何添加、配置和管理SSH主机连接,包括主机详情面板的各种配置选项、认证方式(密码、密钥、键盘交互)、协议选择(SSH、Telnet、Mosh)。详细说明快速连接向导的使用方法,包括Quick Connect格式、一键连接功能。解释主机分组和标签管理,凭据安全存储机制,以及连接日志和历史记录的查看。提供实际使用场景,如批量导入主机、连接测试、故障排除等操作步骤。包含最佳实践建议和常见问题解决方案。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","progress_status":"completed","dependent_files":"components/VaultView.tsx,domain/host.ts,domain/sshAuth.ts,application/state/useVaultState.ts,components/HostDetailsPanel.tsx,components/QuickConnectWizard.tsx","gmt_create":"2026-05-28T20:05:22.526441+08:00","gmt_modified":"2026-05-28T20:17:29.827194+08:00","raw_data":"WikiEncrypted:osxu6WuDyYg810JxK49fHXtauWdiCPZHAzenwmCaEqURZhhQwKTgJ4OkHPlHR4Kdy10AvBZxAM9uJuUXfQRoFj7gQeIH2bgX9qEBQEU5OOLIkyqMLuZrdvlK4AF3mEWn2nDP3nt3tOO5VLgMiGffoTiq9X5gQrgBY1XLhcThIUFVouHHRFvTrZjHsCn8yyWb7AJgdaaLNzrCctdF9gtngpntQ2lOExDoOmzjyb0WVIh6wpLRWiR/U6w5qc2AhF9wq6KpweHVyIYVfeF5rjeUjAdspPegCka9yGqyLuD02fQbeDPISltGY1W0gmscVo2AfjRE+WZJbygwiqiNaUoo0mF6M2TIKUhNUBwUHPNr1270Y44VUY1OgBfQKyDUf4Wyqqz8NZdMtGubh1idVl72aUKlIqs1C0FqywdBBbpyOZ5mmHDkF8hKSpLBxAdSGNsS4sEKk9ng/V2KIAR9HTBZjw8FEcp24l0oN9eYVNzFUQsMVv4Va6GMb+IBHcgJA4ILnbhiwXjoyL8NQt4hFoPq+v5tNMCOLMVbndlShVzWEDhH/5QtBi6iI06kV+5dB+VFG3SMn7dXNd1jFpqT9G9LFqJV8YSa4UwcGU5FtqtkBmM8PT7vkrw41D6evZ3xpBtFmRdgJC2t8KyIVJiQQxddT9Ex82VobOUdHAWlskjyw92DNa0phLUDsaSvNVMVu2urupiCPdlmoPJBQ8hGwxp13iXjux2Rmc2Ei6gfCOTTreGWH5IsYiZ7YMPEj1bNPzYaL/qF/dA+fR1y1DdhOneMvFKgRMi2OZNq3su1U7OePFkFurAGwxPwlXe2JBrV8vHtF1RFxgC5Y5ZMJDagmZSHe7LHPefx9z5E91o10thP7dmUMz8zng6fIEDDl/74LZXvtKqM2YDu5BOlomNY2sL4eC5q6agYIoFAPb/fdYeat5zxXZCMkmp6ORy/ed2IfuLI1EdTK+cobU6Ptm8Okz6d1qw5J+2DDP2HfleogEPfkOP1jtZN/Z1Bc3elo8aOFuDFbGPOecwrhjNKCxjQ1Y+epcAsfD5lIF/NPtpMKIMKSkzyHOB2YD3d30xrYk6SKqPUzn8qE4Izv/ADfRJtBbw/8+tmiiv23n0xa4ywHEhvDoCxy/kMFjBY3w5QRvE+4zMg31Fp3aZPWlIK7u4egVus+hiOpLwSKOe6ERvR7empufKgpkaLGZY+pXlRdNjkZPuVH+cEiXTBAvdgjR3jx2AII7CBoLXGbKZoQObiw6g2bDenHImEb/7x3nipp0PmHw50xGiZ5J9z6KibY+TMagjQ8n88FtmahRxn/vhGbBnarPfxGXAlEk2INq4bKPSRxBVqCwo45B3nZ3j25ooR/LH/AW3/9+Exq5KrM/3iK2M1MlCxTng6MIXlc7/OGRPOAcRTkmxIganTA2Z4I09QDLf1UktgPTr3l1zTRbHDdE8rPYM=","layer_level":1},{"id":"fe2c716e-f60c-4887-86c2-802954fe9d11","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"插件开发","description":"plugin-development","prompt":"为Netcatty创建详细的插件开发指南。深入解释插件架构的设计理念,包括AI提供商插件、云存储适配器插件和主题插件的开发模式。详细说明插件接口规范、生命周期管理和注册机制。提供完整的AI提供商插件开发示例,包括认证处理、请求响应格式和错误处理。介绍云存储适配器的开发方法,支持新的云提供商接入。解释插件的配置管理、动态加载和卸载机制。包含插件开发的最佳实践、性能优化建议和安全考虑。提供调试工具和测试方法,确保插件质量和稳定性。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","progress_status":"completed","dependent_files":"skills/netcatty-tool-cli/,infrastructure/ai/sdk/,infrastructure/services/adapters/,electron/bridges/aiBridge.cjs","gmt_create":"2026-05-28T20:05:26.320528+08:00","gmt_modified":"2026-05-28T20:16:48.571124+08:00","raw_data":"WikiEncrypted:ukPV2tcWPRGn89Upsee0BMJPbHQX0hwXHlyElH+Po4OMND5qukbyLNiyKhqcozSK7l/XPUqpOuMmVJZuaFxCDZ0oI7IbNNqsrXtCW59B2lwmg0zWxELxYXtRmxzDvpJgz5mHHcqsCSHCymLqJ/etarLzljB3hDUwy416ZiAJoltul4vDWHmqKVKqKmh3IoPDBembGw5ZuhFN4kQEz7Rjf+b28hUpqqGEtBd5s+zsc+rIdSArfVVZX8QUPHTtFL4eF8L3NyJ2EC1MLtNQNrp4LklIcEJ1aHfz4HobY0v6+nuk0bNCqHfBtcKdoq+kGML4h/mrkv0wBNPxHD4FD41TU6m6N2htKe/MRZY1AzqpqA6O/GTChvhzZ6SmLQI3/tsG1Ecr6Vui9DBh0ufPkd7brbXS6nLpgl+Zu3TPAGVkygSGUzbsxlFE7f3rb84lyD2VK11r2K/7HQntXyekbskfZQKx7KIfDNUxWwR6bZuh9Jk0zcRkNntlcpzseEKeWR1G8VUuHoZQMbdMYb/pOZ4w0QlnlTR6dLZm4AciwLgckXPM2t1d9/WaTKl9reBWKf1pAjJmTTLAXjx5j93xIabvkFXl9EoM6g7wPA0LvCjv6wgi43vflp5/Rrlitm+kkQtrxUrUTXCUcqcCc2VC9xvHfIDXfPVuhh6f9kg3++Uc2H1LNvRQz2W9cxA2owMVLkrc3hvwvH0NevmgFwxHKKWmT5uRTbvF6HvfnSd1ZWBcNN52piye3ntU/EyD4dRQUJgCpZq8DH7J0xXKogc9sqAClsjZ6veV40tS/plNFrICHYrO+NzLMLLXTE8Ke4njq4DT7o7bXZr6LK/3csRBlg372yBCrI3Rrk3kOlkeuqKxF/YErvQ2CblrvtXIb6mjzK/E1aswnTeJ4ku778cGxTjigQC6tyfTjxsCSzAEQQ2qNn9V4a7EoMTLMnRYCPMcaWi9/2aidcjzIe1yekQj3je13CUbuf//amDQ6DHEjTOwtRIjOx0l9gIJzP7CW5nqfJKKrPFx2WiaH00siuYlwuLz6zVH4TDum9N22hOnmjI2EH1PTBzKq9n18hp1guI1uO9K4dusSjJKZP2SAU1Vz/qXsb1RXDIg6+eKv/0QfgApqDN5cCYeoZuPdFzlGXW1g5E1fnksLUfC96YZpvedZfUftKk82BsyQRyi0zzjUcwCMquvYQKQRFpZ++4fglAyEi5XFBGBiyejlN8nHxSSkAcEz5owNZsPc+mIN8akWjFoEWocN5pbXFD4xgZBXhd673Uhle1dQ2LBUzeVSmf73uNCjbkg1Ybsggy38wj9z7fPomA=","layer_level":1},{"id":"e346232a-5e19-4ce6-90f5-396d9804cddb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"架构概览","description":"architecture-overview","prompt":"为Netcatty创建架构概览文档。详细解释项目的整体架构设计,包括前端React应用、Electron主进程、IPC通信机制和后端基础设施服务的协作关系。说明MVVM架构模式的应用,包括Model-View-ViewModel的分离实现。解释模块化架构的设计理念,包括application、components、domain、infrastructure、electron等层次的职责划分和相互依赖关系。描述技术栈选择的原因,包括为什么选择Electron + React + xterm.js组合。提供系统边界图和组件交互图,展示数据流向和控制流程。解释跨进程通信的设计模式,包括IPC桥接的实现原理。包含性能考虑和可扩展性设计。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,application/app/AppHandlers.ts,application/app/useAppStartupEffects.ts","gmt_create":"2026-05-28T20:05:48.207137+08:00","gmt_modified":"2026-05-28T20:19:47.650373+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"53dbf0f0-acdf-4479-a847-d36e1f74b9c8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI桥接API","description":"ai-bridge-api","prompt":"创建AI桥接API的详细文档。详细记录AI代理和工具执行的IPC接口,包括AI提供商API调用、代理工具执行、Catty执行处理器、代理CLI助手等功能。文档化AI会话管理、流式请求处理、代理发现和进程管理接口。说明AI提供商配置管理、API密钥安全存储和解密机制。包含具体的代码示例展示如何在渲染进程中调用AI功能,如启动AI会话、发送消息、处理流式响应等。记录AI代理的生命周期管理、错误处理和超时机制。提供AI功能的安全验证、权限控制和最佳实践指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/aiBridge/providerHandlers.cjs,electron/bridges/aiBridge/cattyExecHandlers.cjs,electron/bridges/aiBridge/agentCliHelpers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,electron/bridges/aiBridge/agentProcessHandlers.cjs,electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-28T20:05:50.532693+08:00","gmt_modified":"2026-05-28T20:31:43.128839+08:00","raw_data":"WikiEncrypted:g7Oo9+wyBG6cI2PajQ47tE6h/2JO0T4nL7B7mUav4kvBZw7a8Iv/YoLdd/64W4t2XsA3Pyhqb4KP3KYQma3DQp74aipPOobZz5AeFZeipKsx1RmwM8sSv5/f2+GklhSOXLDZif1ixrZJ7a321p7NPgI43VgWRjizpHN1ooZgW+zhpalNEEpqAo3CDvEs6yA6bJ7AGqE/RMhpBhXePV7Z590Q6FVyMSbv7ga/ZU5bDBsYDmb5HAWW8tAsiLUSq6lAp8XqzEv+V6Lh4cE/b6ZwBazuLUb9qJsOFmYzPfzSuIah24tokUpugCsrYo4YfnlMmAjY2ZeOERxYIOaY55tE+aHgBput/D+GjIDVNR3ZLGFw26HNvZBTN/1T+WPUOSUWO8kMXmhImgNFM4uIQwb3O658w06QVXyTvR7DcPiauL1lKu59WAtipVk/RM8J8g79plqnnZ2HM5LVCYXLOlHaWhkdpAsALNgyB+DIcg3EjnyzR3IuvY8EKGcmCgC3c4v/nnS3Qk9xknKSfgBfc7K4gnkx7pi2ZKf2HdbU8cH5/d8ShtG3yOy4StaKs+j5QPeQW9UfpoDynn+SwF4q6SoC6UA4B+V7kFQWFWVkAV1Apze1PYjwnTZm1m/BwSybd9o4w7m+yCl2TLgxKQ7M8U4eutAekmHIK7QW8QUQohDvS/i3kQTzQ7pU+gjTtBTchwCna0Lm4fzmgXPPC3DKV5UsW84hneBs6PY5RBIrpsjglA9GJv5ZIrtcJk8OV1ggkW4Vjn87HGfPuSvzSfVoQmH6hERzWKiV7PLRBC8OKrL+Mk3Pgodo2HZgptsnJemqiAqLmDoThqNtTgx1ffGaUh7wrGP6UIhWrpxaH+Tum9wY3z5gjUl2Hmna7jaWk5sm/yZBm8gghSTjukSUmUltFN/J+g/67J5N1BSE9H5Cz4kfYc3eCmJrFkNGOia7KTpxPfO9N2V3svxcPzZj8Nsxkm1Nf8tq4t84gVctaW6UNvk7A8OYnyz0T+J9IFsMnKNYiVCZdsVT5+P65jqGWaASlzehieGequAJ/Hke2W3mLeIfCHxBL+4hVVIjnFCverKfzJVoV/1YehkZYfnKMkUBozXLX9IWhpb6qysROSxDdMDnNU3EaTlSWmj+qODufIdBTr7szmTH9NtM1k40eDFDtjXLRt01yyHrGhoqPQachKNrFBDX9+3TFSVWRFgRmF51wmEUy1idUCjl+Vd42qUWPwOgHw8tWOmvZVNqmfTbEyhxym57fZWtxt1v+LrdgaE7XHV5MmTJjFIxOiafu8BmM8u0MJ4JFeAaWh2afcAeN/HTApKZE1d2vplSj9kiKUcVkHLbN/k04/1tFdiiehqDzlZX8Aj5Sbz//nW8LHX0kXAvdtcuxbbcw5yWERoBl7BYHmEUX5nSjVPsGOzErzsdIGyVihGpiTPJlb5gCMENuHAmv1kOUsAtlyCs5xb72qqGfPoWnWUxOShQpm7qgk3Xc3J/xaPA+tv172nTD8/8Ym5NUyIUvmLQ5jnCY8r1VOMzb7AE2GYBZ4Z99mPIvE+BbOSG2Oey+1cvUw3dxyB37mqDJ66S3Hkq/KC41MFCNTV4sGGNOUI1Kf1JLlljKsZvYIwIfA==","layer_level":2},{"id":"bf18a7e4-a0d1-4ea7-a632-794bbd1a9f8d","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"UI基础组件","description":"ui-components","prompt":"创建UI基础组件的详细API文档。详细说明所有基础UI组件的属性、方法、事件处理和样式定制选项。记录每个组件的props接口定义、默认值、类型约束和验证规则。文档化组件的事件回调、状态管理和内部方法。包含组件的可访问性支持、响应式设计和跨浏览器兼容性。提供具体的使用示例和代码片段,展示常见用法和高级配置。记录组件的组合模式、嵌套使用和样式覆盖方法。包含组件的性能优化建议和调试技巧。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","progress_status":"completed","dependent_files":"components/ui/button.tsx,components/ui/input.tsx,components/ui/dialog.tsx,components/ui/select.tsx,components/ui/switch.tsx,components/ui/tooltip.tsx,components/ui/popover.tsx,components/ui/context-menu.tsx,components/ui/dropdown.tsx,components/ui/tabs.tsx","gmt_create":"2026-05-28T20:05:51.881782+08:00","gmt_modified":"2026-05-28T20:31:57.443527+08:00","raw_data":"WikiEncrypted:olAPfnTddGwpj/UgpBjR2+Msft6uTT20LZDm0DpzpfXJf1j6Qli/K8yG3JEE4DqgSg+7bYoVYaIkZopkJZGpD8ptcg+miSoZPPPwoIRF4AAqO2Ruz1BRE+5kXRD7RbUciM8AkFTvX8xISk3DRt/0ACNZel/B+oca6HfzPWXcHeOq/NEk2fw5y/GLhn/KhSt6etSdVRMe443XnupsrVtiTEMaKnzH6CS8ajiasbOk5UiMai9LY7259ib7CPbcYDwZqQ5OmAwqcuAc9dAhyaLTdzCqi8SOlX7Vl/wsaQNrmPfK7pGaDrl7aApRm0V7w0A3pUIlTebWfvWXr1CKshUu6uxYKB5ztPo63aaBh03lBFyR7xviEVuMvLaI5oPFo78DvFqK9ikqHKqezSwJfYZ/MrgWfMplZuHk7CmG9+zG6KPF9/UNHBjwqG4zZLHrDC3hgvlfldkr+h1UmeSvljTf8tJLTZkIh5AAfx4hcpRgplCKC3rysVTwlR2R/g4WuMUvZh9VH4s0akH83V6xDAamV+DBEXFi84qcGE8OO0AbJIUW7dvIMAsGRlmZP0WarfB1wrJEMIDe7B144d+igSh6Y7zbRX4rpwIBtrlgwdu7UM98BNw8QFa1gfKchCaSYexxf1GY7qXhsDulr/As+24q3R3zXZd2pTHDPet7Q8/JQYCSnE3iVJChFGFEMPtlXsCg74yX1/MIl4uB8AzbfOpBMtfPAow4Oc1eDw+yUrgXtfhIX7dnYDL/hfprgJSAiTyj9w1maEzIPQCbO7IKXOYrc/v0Tku8i2qaOecTBPtq/+VZjteVWkwmdlFeY+KwrRcmfOoSX99LX4FRnvLMH3OYPemIkhpal0544+ft4Z1WQ+HGa4VHBKDZDHZJn2pbhCW6T5/7PpV8mm8a5nk/ERm8PmUGF7UHODlO3Wcni3gRk4Z8XOhm7ZUKM3dM6tolYYsiQuE8sULQbLvDWvbDTaJ6xHnCYSvbj5+pQicfvLfdC63s6P0KZ5fdsAA+Snj6+bMEzgw0P9qLh2tLwLcfsF/h0yUZTTDASgnizFRLcv1dZC4/wJVuM4ztmSGsk3RHlhEbPLj8UPRRp4bcVmOybtLbyLTjoafFsDrvlBU1E9L6nkHEuu2JHKM3G1OPVddFeWH856qP999NrMwP1aAi3f33H7CfXJLKuqFXOiyJiTxbvdzbUv9lsIgo+as5oe4mOYvlXx7+ABsv1YkKf/pFOOQkBmeWONK9/pasAGPgXVKZWKUcHH6qa8k6wZF8eufCoDewuq0hAAGIi/l8wngYlb4QPiASeV/xK0AuTXIFmssVHocYP8CU9YIEhSPxUH5besQQyzBItlx2LgGAVkCummvpyDUsJjYRLP2wp1bkHRh96ik=","layer_level":2},{"id":"dbb11819-90c1-4dac-9f47-6a4b3c6adf08","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机模型","description":"host-model","prompt":"创建主机模型的详细API文档。详细记录Host实体的完整结构定义,包括连接参数、认证信息、分组配置和元数据字段。文档化主机配置的所有属性类型、验证规则和默认值。说明主机与分组、凭据、代理设置的关系映射。包含主机创建、更新、删除的API方法和参数规范。提供主机配置的最佳实践示例和常见配置场景。记录主机状态管理、连接池处理和错误恢复机制。包含主机导入导出、批量操作和迁移功能的使用指南。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","progress_status":"completed","dependent_files":"domain/models/host.ts,domain/host.ts,domain/sshAuth.ts,domain/knownHosts.ts","gmt_create":"2026-05-28T20:06:08.451221+08:00","gmt_modified":"2026-05-28T20:33:55.529523+08:00","raw_data":"WikiEncrypted:NYk4L3+0w9kUBbFwNwG4DPx9Grq8DigO3dbydickFSx/Hpgk1vNFny4z3dQVwffEIQB+0w5tCZUo1tBT1eahqjjHGB/9rutHEbNCWQSHSgeZ7qmUL5ikmOMZIDp1XvIW1W7fecocP+WL0PUEmooGitKuJF/N2z4bUxmanyomiyLyqiW3QQCKfqoHDBspvtM+9EDAJU9E46I+iFiGuix9dhI8bC5whPkI47BEOX38770oUTd4+JzBsXkuDEqxBtYFtorPexFzd3EbkRJUgpcfZjL/wBZOzgod5xKLnDMXW0Wgc4No6kwk8wlbA9YfPjd2ABw0GhToxr/a4YN3PE3tzxOZVD+ooKYy8gtdArqgGK4A6wHwPjCyfsbdhVhQUNS935xeSESdPnC7Oh5Ry5LlszUB1ClUbI4nQRfRtBxeyCJ+4/b7Em5tbMtlPyIbmkERIRe3+1AXtktqaXVS5jwGwd30FLBQRuW0H+eLow2xIJ127gzHqSGMMyVqK+PgYYdZXyD7YpAdLk3MbNuNym6W4J7jZi92/tsdcvKOneFPT/77B8zFu4S/ubnMzC2ICLetHGbhCYBYcW9PtHH44LKTQV/XN99NRfzBYy7Cx8FieGrUD9G/HZyZhM6ESkIgzi4fGJJqe0FMtyCS9xakYY+fKwRiNoBHyuvN7jVObFfA9vb7cT2lt+yyK0nTyQaLs/I55TueumJ5kM/T0z5ZRnlnBkJiaVRP+aOz7zEu26NV7oIwvaKL3KlrMB3ylLG4ItCJ1kmFf6rXt3BXT3R2FOv8SybOMpotsI29ESSLGwkEo1xIOYryxmxD5GjoswTG5YtNCnU29ZYwN2Tqz4eb4bKCc/6Cv+90j0ewyyceVaRvbGzGj2CevrDrQ0QBKwuGGqqW3T8OWYZpRf3bJFv2+CJLLpdlq9Rrd5wTeBgFFr8Psl3fOtzuX8hdx/cyx2Ihr5/VF9Pjz8AG5XYiLt4c7/nyfgDoBmSqTPW4Z3eeye9E6pXKkTmy6zr1AhMeZHzfoQUV7Iq+TTbOZp5O93yS9fNhHUqz6E2j/emLn0X7GjoY0nw6Qmbb6vLRPdmLlylcSJS5nM24tApT80IjscsgrXpim4eWtI8e0YZKb/r7XRP5KsPU2ePvrmf7CfoYxXSHdrWKthqutgkQ0t+Wl8fef8o+/0iyH/+T0w5prrUESL6v+kQ=","layer_level":2},{"id":"20b46ffd-42d2-46ea-ad8b-7c8881b3c4b0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机管理","description":"host-management","prompt":"为SSH主机管理功能创建详细的内容。深入解释如何在保管库中添加、编辑、删除和组织SSH主机连接。详细说明主机的基本配置项,包括主机名、IP地址、端口号、用户名等基本信息。解释主机标签和分组系统的使用方法,包括创建自定义分组、移动主机到不同分组、使用标签进行分类管理。说明主机列表的显示模式(网格视图和列表视图),排序选项(按名称、最近连接时间等)和搜索功能。提供主机复制、批量操作、导入导出等高级功能的使用指南。包含实际操作示例和最佳实践建议。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","progress_status":"completed","dependent_files":"components/VaultView.tsx,domain/host.ts,domain/models/host.ts,application/state/useVaultState.ts","gmt_create":"2026-05-28T20:06:10.067244+08:00","gmt_modified":"2026-05-28T20:34:28.614148+08:00","raw_data":"WikiEncrypted:NYk4L3+0w9kUBbFwNwG4DDMc9L1nLtRk0GPugaGimxNaZhi0/qcSAXmCtYDITz+l580TBD1MpRmula7I0icm5YRrsPsBL2Vkl72Hq1jl+kaF543zKjNZpSe9HvZA/5qK4dY2qzzktx42SYZuBj2hEmUZD5j1MbySZVf/jqtNYjhAW73vnCBjleHy6cfacB//ex9Zd31Tqjec+h1nhaJKfq980EVE/zope5UFcNSBAIOrZEQShFYOaaaaYnZYFwTEg+kVGIiIU4Hl3HcP+l44lOaojxFSIXsNO3C3ayzDg7+VnAIO23GwSJZPQnSXFJH76lPXev56tPuZIY2uW9hNx70FSgQ1zOCFk/clK+A1sHhsQx2H6xc7JUs5aywEowgI6vBP0eTiflrd7CXb1g1QYvTlQvabhFmjhwt0pn8V2dgi9RNk2l9dm8VsoAJLb+R8FbrF260E2o6QiUaccXKFicS67cQayC6iRHp/80rVxSeluNtvMRKHlWcW7alEbZrFb3UfF+I2DKW81wLKCO4GDy4B8dpTPnS7Hhvj7Ki1Leh18URFHT27wG21iljAFNGjNnKKn9Vi0P+n5GaBKDLuQ9mUuKDDU+wGCpfkNySEefZ2aBmuk60pYoVLjpFqUjsXatrWIbye/IpKnCj4eOofbv8qRk8oAl8Y4yMo1//TradMdPA2S67ewn2oBa1v+rYK8sKeP8kzDIprezayNEwUACX810dVOINgkc6ijkljp/asSDJRqIpW5VYK2KDFLvyXcN/qL30YgoapNBAjtpVP/XPJ1zBEUaAklYdYTWXLYLqbpkyjLZ1wdFtx0BcukThmsMd7YFml9IqShQkmtR3TpZqmUlo5NEnlVYis874228QyqKgiWkgOG0mB2v8mvTgeDgpw7tnWF8QQt19L8+VY0qjUCYWeZZ7R9bROSs7dgYr353lX86qAgR1oeA2/+RMZSfWSPr9iVARoJEQJQ8IyJHfGGW3A8z9PIeoVt3HQzvPm2LZ2aeHD5OaTov79MQomjOSulg716kSgqUjmCCj9WmQPGQZBIICZ0WyASe6eTHVimMaxkn3rRbdV2jfii6oBuBbcHolxuLtxSoltBq/pLBmGwgR52GZGqER+PKZoAJ8VLLbORsFWlf0XzqLvcBQ/Tzk4hFoY8jv1qCUKMnvaSgp4nHhbkt8x/2Cvg9KFzm6IGYcdr/+xaqQxWdCcHGq7Gj2uRTt7JKhb4sQ6y/S1oI7O/NbgM2Kz6vbP0OFJSMKm6TllemsSo8T6k7TyRCX1uJEm7hkGye3lPl1bohTNK4qKf12ErxlkFcmxrUsi2dc1+XLHZ7nPrDbpT/ttLxTB","layer_level":2},{"id":"5025fc02-78cc-4128-a1af-0999e00e0ef0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话状态Hook","description":"session-state-hooks","prompt":"创建会话状态Hook的详细API文档。详细记录useSessionState、useTerminalBackend、useTrayPanelBackend等会话管理相关Hook的使用方法。说明会话生命周期管理、活动状态跟踪、会话工厂模式和退出意图处理机制。文档化会话状态的数据结构、初始化流程和状态转换规则。包含终端会话创建、销毁和恢复的具体实现。提供会话状态持久化、并发控制和错误处理的API说明。记录会话相关的事件处理、副作用管理和性能优化策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","progress_status":"completed","dependent_files":"application/state/useSessionState.ts,application/state/sessionActivity.ts,application/state/sessionActivityStore.ts,application/state/sessionFactories.ts,application/state/resolveTerminalSessionExitIntent.test.ts,application/state/resolveTerminalSessionExitIntent.ts","gmt_create":"2026-05-28T20:06:17.569205+08:00","gmt_modified":"2026-05-28T20:33:55.935482+08:00","raw_data":"WikiEncrypted:0Uk4p/ZIoJw1paXZ+Fb51lXVcYkHnmv36HEBQaMOzDXtVPe7XF4vddWBGBcCxaNmSGUa+VsumEEA/8OOlDVIWFPnPxy4wLiMytnZ8zIk0msIdrAPLZmTg/QNq5qWp736NaiX5vzniLXWgV5C/0R8kueVQPGpD5hQXpFsoTyP5ZLWeQJpotCH5g2g228wOP1yM6akKqdmeJmZkGeBBdH3VpXY0aM8q9bG0tQ+2V6xlLvWrveOH9J02hHfaU0tW8f9DvGEvJxnGsx1+DkUMoyL4W8jdtvLBxy1TStIO9GU39rhSaFXhEGUbCXNSt2g5glmPHI0YSgw38vPlGio4VWozx7Z5jBS5IDHZ6CyxAwdJIAzpSQizeB4z/0fhIEMF/ChmPz47lB5YaTUVw0Fl7E89MrU7TeMqAjLxPC6IoZxCY0YivfTSg6GEyonlXsB3Bk0pyD3dD7LRgnho76BdXN0cFdDj6NWWcms0aiih3+IIkDqYmpk2JWrn1m+mmTt+/pP1fYbkj98ZPffKpUok89nZa1LEar2SFB+J3fOCsDkVdj9eY42KEgReoezzix0dMqsPHgaUiypOSYTchxO7k5jLzGinlTuqp1feEUzbTJ9pcUIaL2f7LUbTy4elgS5VT56BzG/dSPFOY89F298o23edHnQ6H9C4kkI4KoVO/4WNkbmc5TmI94KN8jOhPsy+SX4X4IGU91xZ/bpp+dlXBRN9i6vMy4tlQY5rJB64RxrNHPD7z31FjF5XLkR/iIl8/RpJD83+sepZ11+LVdAIu1+gaLciBdweWIZZ9i0k2RJC/7d5/GIARVZhsI5RmkaB0p8G4gQsCmb5VIPdnA4jzJVW62MMqH4RrqPiUkZVHaAV5Ld+gxx9p4d1XjntCI1fnRqX+BmP2pgosG4+ZszDgRPClZDL8kqits9hOxmYxUgnu6jmaOxCV5eo4AMqkhuGtGMBxD5ycc7VQNG2yeGzEuGDZ37aOrBXRiWR33ApuKPo6EhPyL3m/iIGU4cz+eKNgHB/lHhetEzjlT5vRKu8JD9ZZwLxe3BuaftKxY448g9bAIwZCtnk16Sedy8Tgh+RchY8FLtynDlqcNwi1QsQW0SsRwNsJbvJ/zqMlY3xUscsVTD2b3/B79Yt5pWBr1ut4m8b5qztUcrlRmphUJH+hup5yHkahUw8VWzGDDyNmnAmuRnLw8dqeMPoTKd4ceGvezWrmxxfEQVj2SyBwTN6Mxz8Ecj8GaNey6m+u7usK6/MsKu+Ry8BOu18BOR32UagdutgX9mbC9J5j67/VBw/PCgj46MROxSXCleG560ZvI1giP4p/rTyiATBL3YL224vPh4MPeNYK1iLb8I84LrL41lhXBX33GwCEGetVN0FQcEMKTew/beyy8y8L5DTttfhCwgnd6fgH/wdlx3ZpIOA8FZpQ==","layer_level":2},{"id":"d85c536d-3df2-4f81-9a4a-b66cbead93f7","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机组织与分组","description":"host-organization","prompt":"为主机组织与分组功能创建详细的技术文档。深入解释分组系统的架构设计,包括自定义分组的创建、删除和修改操作。详细说明组配置管理,包括分组属性设置、继承规则、权限控制等。介绍主机树形视图的实现原理,包括节点展开折叠、拖拽重排、批量操作等功能。解释分组与主机的关联关系,包括一对一、一对多、多对多等不同场景。提供分组最佳实践指南,包括命名规范、层级设计、性能优化等建议。包含具体的代码示例和配置参数说明。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","progress_status":"completed","dependent_files":"domain/groupConfig.ts,components/GroupDetailsPanel.tsx,components/HostTreeView.tsx,domain/models/host.ts","gmt_create":"2026-05-28T20:06:30.343543+08:00","gmt_modified":"2026-05-28T20:36:40.389635+08:00","raw_data":"WikiEncrypted:Jb5xnTgrYYo4d4kTKe7rnPMJpFHAeFk4krCeYNr1oc4QF/Wp5SN/UEgOES7JJhHN50jBSdp4lNPRkd5EacXpAAI7RbcZvhM9cagRGh+F5Zfm40LIgMdGsBnD+af7qZirRSCrrl14fQrpajFFy96pzU5laxHIL71ZlDt/fWfLpUbPMKHZC4TCd4tg2Dz6tajnwJTZm5qK84sNUGXSzZEpOu9+ICawlXlZeJOEGQzTisO/x353VnmHELPgi10mMo029EvxeKG3+r06f6Po6zm+rsJBd8fDumd/+47DSqs6xiEx7OVnY47SAVEKBMCuNMk0EfeVOQ0vKQDa3/boqAX4Fn8ST81n78xL1jhO+9e1QF1WVzw5OJRpFmaoAxZorKjOEVbVyKSXAHYQ9X4tAb4Rk8GExLGyb0uGaQYFPTg9JKdcLIO9nJa+CMCBAL6q2z+alRNe06TMMNP4E2MRyYc4Qd9MDVweUPXgUG861sxLqT3lWoSf6MEFkVT67k1ber02L+9Yfcww6my+fir53Y/PlYp17Rv77RaUR4fUr1qfqyQmHj6NAZZGYnnljP/KyV2mQ/i08rljgoSvkGekM+9MwiiwN/vcJWvVSkDv37q0yRQ0K6OUNOpJvrC3H7AsMNfNkflqXEKGdadQM+x2S/+f9aT0LDsU9RD69UYuzeIycOTzjutsLIXsMWe7XHrimWpy+IPxANoLZ3vcV9gwN69MVoN+lkNQDUXxBp8vkqN5b/7Wor0L83B5rAMzlEP9OSHdn5+qRIEsozOsNTonCCP2u7DgYosCa6msiMwU4mG3vqs0nEJK6X+K/6NJxwHbPDFFFwLMnZRb+JFB++mGqcBRnx9HiGqSZYmbGjG3WB8q9M2dQdOfxYKnF4KSoBhSqGrW1h+Kr2sMnB8VrLAwMDbzuhUA1aVHTfIsQdkN1/0HtwoNS/KL8JrKgApOLzIKv/HxZB/lLgI9hIXGJfWNzmDsbNLMZFk2NkEzhO9epGTrLlSOCwgMIkwQJpQfGtdGqAGDp/RnLQYHgqBC2nrIClJz+VHcTYSVkL6ox/XDIGJxphPYNSbeZnkiPhaZFXY9ozU/ccPnIq3LjnqQOWhpukxyaB7Iry3W611DymdeytpFjPv5YB/IDMjcL2w1A5F+1CjgqU29Gfs+K0/wVVNkW3V8wks3pGoWdkXm3oCBTOm1R1je8frBgz28bASfD2dGscS+NxZa/AMlhydy5D0wqmwAuccgjl7bKTHEJePKVqb4sB2YmCiZKfvGxmxEheHQxiZd","layer_level":2},{"id":"201aeb54-f4d8-4e97-b976-71048aa09370","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端视图操作","description":"terminal-view-operations","prompt":"为终端视图操作功能创建详细的技术文档。深入解释终端组件的核心架构,包括XTerm实例管理、会话生命周期控制、容器布局适配等关键机制。详细说明终端工具栏的功能按钮,包括复制粘贴、清屏、全屏模式、会话分割等操作的具体实现。解释终端组合栏的使用方法,包括命令输入、会话广播、快捷操作等功能。提供终端视图的响应式布局处理,包括窗口大小变化时的自动适配、高DPI显示优化等技术细节。包含实际代码示例展示如何正确初始化和配置终端组件,以及常见问题的解决方案。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","progress_status":"completed","dependent_files":"components/Terminal.tsx,components/terminal/TerminalView.tsx,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalComposeBar.tsx","gmt_create":"2026-05-28T20:06:31.734144+08:00","gmt_modified":"2026-05-28T20:36:26.943851+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjLp9LTMnrFmjG7ltUGaBNclARnGI8E5G/QeKEy/6G9/almJ7f6WAx5L6VT9PnE/l0yciCVdGY5zk6b8bfLCsOq+hpnrDvoK6GI6nxPfwsDfxGzz2FIne8ueafwnm2tTrHznmI5tKIEvKPzu7wl8CofEUmDrT+f/TOYkIfP6bCiCDik2XG+fBFbNGfL02tk2eb6XH/Dx7fCtdKXMEVRXDDUd79PhY0xuj/qMaU/gBgW6WnrBZx8AijU5iRVvDPeB7ieU8Nn5sezkAel20pVHvApT96PbdqJCxBKRy2OpXqFmeXV9UmrHTpdYeZociZWKkpWHgC8NcxqLlMFkUU0Mf7FeqGfKkcevbYhttjgasLUwfM+WgOA6vWdRG4qaP5Qv1HXCa1F2cgvZREycQAcAb2+nlfmnA3BAXpccRxuRihJZxyUemIj91A9X38J0dTchPFf5QiGYktgaXdaJM9LK5uiYpQlu6Pv+cvpRd1X5RUVCvZZfxtngC25Ww+LPNQY3OsYvBwFz8XTFmkO2p0mZB/zEp9BmeS3LvMWVfTdcU0uu2ULNDotihLhYeAgFTL5DOA0HHOjYCtKEm3qBogkuTe1gg0iiMSB5FAxvirLgXMQL7kwNRl3kZod/Hlca6lDYx6X93k9TNJ74acPhyO3KZr1Th6OIh6M9rn5n0snyAui1O6/ixLuFoLboF6/QAxOoB57Q3zc/Mnv5sQC6E/9HvbZ+2VoAkNqelaoCE58tCW5oaoAORA0qt3RqMzqMNfzGDD2t8zbqGLlOzWHCPOMY/hoptxr79drDXB0ByjqEkKC9ahf5Fk8bTtF6j6NeMxt1lvlg7Mx0wo4rIgE+6SWuqkWeb4KD+J6+ONQ2DYJ0+zMj9ygko4pjSpTIoccHrnZK+J3eFr2KUpE27balqyZ0BGSpoKjudlHSto9qkL0HUeKGEaOVYG3bSPN2kvKbd4ORj8cVimpFzOHUwR4fXSDzf4eFDz/Qo0EmfLeEvBK/mIdDm43Ztf0rriH/Omab8Bzl7bblcrjn6ee6WCnMtUq4K+YZLX3Hdq7M3hLCSm/LpRVbISQtYaCp2ZZbnmX4+im+2h/GvMI7XyeHb3ctUpAmu5J8yNDeh0j4TGXHtL5g8Zrevi09GTUebQ+ByF2jhwcpQ6ZV0LC3+cRs5gOYBgTYC9/OX8Xiz9A00wWT9t7Gm+NeXQ5gA7X9/DxM+o6lo2Vm8HN1F6gu2gEeroof0O82lrwQ+NCOKMFBc0IZAPinjao5CvLao1CAbf5u7iirC8wjdI+30P62afCyfqQLJfr2pv+2LWQOfiIhW0OvIlSqO7unkSW/2PGjPnh7j4lt5RlJTzEU7nEkndVymH+8XZ+90pzY=","layer_level":2},{"id":"964d0138-2e03-4183-8eed-c1f8f31b16df","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件浏览器界面","description":"sftp-file-browser","prompt":"为SFTP文件浏览器界面创建详细的用户指南。深入介绍双面板文件浏览器的布局和功能,包括左侧本地文件系统面板和右侧远程主机面板的使用方法。详细说明文件列表视图和树形视图两种显示模式的区别和切换方法。解释面包屑导航的作用和使用技巧,包括路径快速跳转和层级浏览。介绍文件行组件的交互功能,包括文件选择、右键菜单、双击行为等。说明标签页管理功能,包括多标签页操作、标签页拖拽移动、标签页关闭等。提供文件浏览的最佳实践和效率提升技巧。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","progress_status":"completed","dependent_files":"components/sftp/SftpPaneView.tsx,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpFileRow.tsx,components/sftp/SftpBreadcrumb.tsx,components/sftp/SftpPaneTreeView.tsx,components/sftp/SftpPaneTreeNode.tsx","gmt_create":"2026-05-28T20:06:36.995566+08:00","gmt_modified":"2026-05-28T20:37:04.158943+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnpujfNhNNsWpxmBb+4iGgasNHez/Rje8TH7IVt6/KF9cyJFjaKbd4FkHg6HkKWfrLwmN2CqPACkzO4P8OO6oGK8MPLVWzN2VqNcXIv844iYIEElHyw2NvRj5CZ1gnLuvUffeaslHO3nmdYTRn1Nuhi1ujECtinatXpsa/ZJJGfnflxtYOM1r8vqTwT27DIkTTII52nLTm1+eKFM8YwwoXhTPjzuHJ0zx/lZpJlg2tjJuJH5w/OHEoI+NREnl2zB3JXmbexrUxyuzITM99pjK257I1nniPAKj8HDoEhNrRzcITnq0tZvJ3mcdUWbHgkVicXDkadpF+hqyuvqrBnNQAo0gGWiyRojC6LaNHq+hiZVC1ELBfr2WJKCwdlR8/gms77YhQDW4gMlwl5L1HrMC0IBC7tVMoIOgwYcB3NVqKfyfaQlB0laAzKbjeltDq1puDHut7wyp3ry4WW4ehdeaB6QP2YIbGcgflPglmm1+cNXS93PlHSeYO1Wqh6oyvP4BOJx7/Aa0eqS+MbDU8ZCCvBXjh7cGn0/0dTNLlMEbJYs6AhAra12W1Z96oQ+OE6tksJpjA16pK7LUrOq7JKv5h3ieKpSm6C/oQ7Fm8bnmXdugOvy+pcah4POp9BdOkA63F+nkRrupbs95DULWaDdvtaqnk/1EQ4a187Az9J33cckwfFbiBR6RKg01RVxbQpXDiK/eiLJCAtf08xg/ju2lipfQs1xcnsnohGa6SM53KZELL9EacO/GlSS+zuOrAmmzByguAzvPUSNg2rgIDxofcdA+z2BC8asS5Z8ovye6YPvY/iBh5gUN449nVUvm1TLGQXr28B0xO6ozCf9Cc9NXsYr98sI1H1l+A9h1r5bo/mS9K+jYrmhCUb9x2bElyyfBunuUi0xsDeroe2rse/mJEEwqFjC7yM6RJhTPogmZjYCL1zRyMdlOeBwYNqHiPa3ZX8ErtexjmDW8nu+n2Yh9ON+hIN3Z8KqAvznGiCx4ef1rOTYS7V94oECIHHW1U81WjFDF/IsJAjQUySc90qThy2ebhTLR/r4YvNyINTnxhMdiILZTW74SeC0bjjb+f09J96cM+fZZRXxpJP3xdaTohVV5p/VEyjq5L9uLiPRp3dDU1ef/98NXyOaouw+ymhi9roqn73JVydRhbAUnPA9MFQkWxUGc5Zz6lohbb35LqL7IZBUTjwi+w5wf4V3I9VKbyZ+Go8Sj/znQwvYSUafyRXp+gEo5xHMIW3tiGKQwr9IKEDcxiC0aUL/rbC0G4VxHuQ1PiYFQsK3b2D6USfLpkZrhRRG0kkpklXBfZpqWEwBDJATUAB7PLzw57wDyenZ6WgyGeNx4bqlMi8hysUorzEUiRfpOcuEkgIb1eO+kIG1jaDaF2QgfBRP/1Kexc7levZoJ4F1Y0ZnhB4WJTyS/GOQN9kRCX0cbvwxqAN0l0VDb3/pQd06NJ31tZWijquIKsHtEjGAvg24/ehGDsmdj8wGHHcJa5a3EBb/modmUFVBZEi7Eub4mCyNxzxTILF+ZdQ==","layer_level":2},{"id":"b8f706d6-4db2-446f-9991-e7c85519a828","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI聊天界面","description":"ai-chat-interface","prompt":"为AI聊天界面功能创建详细的技术文档。深入介绍聊天面板的整体架构,包括消息列表显示、输入区域、发送控制等功能模块。详细说明消息渲染机制,包括文本消息、代码块、工具调用结果等不同类型内容的展示方式。解释实时流式响应的实现原理,包括数据流处理、进度指示、中断控制等技术细节。介绍聊天输入组件的功能特性,包括文本输入、文件附件、快捷键支持、自动补全等。说明思考状态的可视化表示,包括ThinkingBlock组件的工作原理和用户体验优化。提供界面交互的最佳实践,包括滚动行为、焦点管理、响应式设计等技术要点。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","progress_status":"completed","dependent_files":"components/AIChatSidePanel.tsx,components/ai/AgentIconBadge.tsx,infrastructure/ai/types.ts,components/AIChatPanelContent.tsx,components/ai/ChatMessageList.tsx,components/ai/ChatInput.tsx,components/ai/ThinkingBlock.tsx","gmt_create":"2026-05-28T20:06:51.153462+08:00","gmt_modified":"2026-05-29T00:33:53.613946+08:00","raw_data":"WikiEncrypted:DuyAfD1NuNl6uQpeUxV+Z3/TX4lDLKg0b1zR4RFQvguMC3clziF0M0s6qla7T7nArI5R6fZ53T0/ciiigXdmfQ4yNKJSlsWNB0VGff29jubGDBVOukJf3KEe7pEP/HO5cs7rZnjeVRH5wA+2x3iJ0tt3HayzIlIPXmcVZohaCs26maP67u9S5LKyHYFzhy6tsjyLJ7QNiJBw0OpvhTqeAEbw9wUdcgj3hf7i0WwE+ndeSKFrAb7y36Vy1Ir2qzzRnvZUT1ia6jmeteMvUFvryDxxSUN0/Zz0XIrdrVwX4DJvfwQO37c9flKPEfZUchKFFvDLPwlPWurezMDVL+2DIDwasWX4mBYIusQ5sTntaFDWcuKy5/b4SjyrKE4v4EGOWabrcbrz15RDd/OqR9DPdFx8IR/CkWGpYreaDToIHKVASFaccDsAdOxk6o1rpEazLxrmN8CH8iWfWgWj3c6EL6yqXNTUpMGXX43R5L9jS9FuCiUy0cVsc9EWDXM1ws+uQbp+2Mfl3HWQHj40L1O32bE2rLRql8o81Gyl1Zgicj/F3lsSWTjCk0CkbtF7SO5zPgHf7wAjmv7dEZWrX5hP1rjlU96RJNIh04nwFSln8e8l/BQof7B7N7Fc7ygnYEGb8CHKmBt7Gol2ZRGzii7sCPVrUhj31+hKJRackDgzf4R30sVfPJB6izn30qZijvH2RKdTSIGnB6vb2tviFxOhQJPiKr9PZ3KZ9AAqHgjWxrzQ6NqAaWE1TpeW3gyh6vhX4gqF1wdyqixPGBu2ba3Hewht8FHH7IASSUA/l8s1djxrwFkQZYS3hwudZWjMFTtzFC4uspR5rfXX1tG+YEL7a8E+J/DHgB9QTcKOMr7YPns04Bff0Sa2amfVzL4KkgA+LKMfy0YIY+PsTmCILjFJRIFZgRkOs76cHNUrmD6XD9NrE31QfCrOZ+fafWDojRq6BYGxNllXUVcL7hFDysVkb1+/D38YoF6TbyQGG8SoxUxzBSKWVPt7Y7dHOL6m2iTVqYpUbTV8FosGL4wMLENWZViAZDR9cOJscv6fyVMwEwaist4ODjvROga1QQRJU6CrM9ejWKSwE24+Nh+O3D7ZtnQeB58+WgJWrVnpLZwtd3XCTLsltXFvjIs8DR4a09n0QMJqpOqNSskH5bFTNW64RdMuCS0vEwNu701gEMYLyEecUdL34kCZ8lzLUySUoQJ2N76nh/hb0FNkFDiN/4Eyt6pvVO3fx976mCoaSZoWvgIIsY2aKUbNbEHnD/6aL4sTtI6vJ8/17Bv8CwfEPGeZtNmGOQqlbYPsTMAsPYSSwPFxBpWR7DWu7Z68j4eZ3V3pSEBwy2krRKEbfrHxKjqSELyFOKuAq5QcXgCmjS2lCOlIimWh/vJOZwe2XXuNhswfQgHDJZVew2dFRyfvyeX+p4zfptbblmtsvU5cgjFk1TG/GDPwycRyVE6nbF1Nm2OUC6ZbHFYjJRtDYfjsaxD3I95J9heDc2Vt602ioUsFY2TKGKpg4PXCCI415ZYAIyMxWaP22Ec/oyZAdZ+BT4K2/y6asAlSUVMhyXpJYdPDDOU=","layer_level":2},{"id":"56d1bb3b-a501-4cb5-bb1e-9d7e4d0e8bf5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"整体架构设计","description":"overall-design","prompt":"为Netcatty创建整体架构设计文档。详细解释MVVM架构模式在项目中的具体实现,包括Model层的数据模型(domain/models)、View层的React组件(components)、ViewModel层的状态管理(application/state)。描述前端应用的组织结构,包括组件层次、状态管理策略、路由设计。解释Electron应用的双进程架构,包括主进程(electron/main.cjs)和渲染进程(App.tsx)的职责分工。提供系统架构图,展示各层之间的依赖关系和数据流向。解释模块化设计的优势,包括代码复用、测试便利性、维护性等。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,application/app/AppHandlers.ts","gmt_create":"2026-05-28T20:06:56.177379+08:00","gmt_modified":"2026-05-28T20:39:07.489868+08:00","raw_data":"WikiEncrypted:KLd6hqS3YDnCCH772QA0H2M72vhloXaaGFeQu7n99ah0T38iiccnL5WfkWKT9WeReE9pcEGvkPK500VTVodUmfocYfYaU4+c0RSyEAJKTT0yLs5qanGqVhEPp1qxVu7SLMnnZa60cugtc409qW4Xdsn+LU+6hFS7tQsuUX+8iyZ854GBj/VQA9qDRVlygza1iBpRMEPNAicJX1QxvQl9sPHFS3hP7gPCHTNRVBWZeRkcTRJJDi2Dx0OQnA1rxmdT99HTMYwKQi5bjkt3jCpytOONvphw4nhaDv9XaP5cQZ9b56hx7xqscQOhxVrAtLTRF3TZJeKMU4bQ2QlzUPcNT06JgVx4AZ4oxGL+AJsC4osMdMOGtVudv1SAvzdZam5HmeYiEek3VmXfGhhqQOB0G3i8Og2bDwVIZyAoAYvfsEfzCyUONAqSwmjTF8aUAxHpBbDcGhRvoesnSXQfifUuqFqS2v9NI25Rj1s0yp7zoZQqker9iu11RHfkd3B9uPQ8j/EI6hWg7/3nT88oljCkEFuokGyZgiZwXVhzcdoqXhREUKnwq5lKljbYIEFYRU078X3Por539art42ryghq3VfZ31DU2MWfqr66xqsNmZW7mODLvpPE3eBR6P/DQb+5YeoQRuqHRJ1Zxm/3mNM4svt24tiV1+CulfbSpcXPdGH/cXRqqLG2abJPK0Q/REuJcBG40LiP2C9QFWAA934dMPub8Wo8s+NKeUWbPJ1eTf2KAgOjW1m+3BNXeHpsRtSlqEGGTho6THipAgOmXv0mPlf8G/BjhA6EhU8/Y44nVPDLiFSAP/ItCLnshMJM82BriPkGcARyNbMhUU7vaVCRN/puhoBMPtcwOe0TwuoFMFvOjNPolzSLR0SSOnigTJXemOe56mTf7GHW8IDuHasJLh4Z7wjD9Sp8xQP8tlnIO2fOrj6g1E0EbuTbk5G7cFformhPuAG5CIvNDQsAKrB5YqzExx/mG1cE6jV0E8494TG3nTK6AyHAOjT3r+P/Y1I47jor9IGqEDR/yY4DxnKbwi5Zps+Fvd/VSQbHWpooAWVvSMet8heGJfyj0exUhdLUhpgPe1TWkoblWzGA3Ur/D6trUH0Qk4wJ781Qgdj0Wx+LZPIy4eOG1D+KxJjTHUSLIkz1VIG1jsIglMmtt9IMYdWcrq4xpZWbtSKvol2J/AaGnn8RqXGKBa4nAqCEwHBy/Sd5pKwj5ZWcWhrHhqTW2n6lyOrNtGIsKQoQY3b7B7PoOqAvPpPehcSgL+DNarfNx5llHHbV/uRRk2irTH2Hi9nF1cv/KsxCG1e8s1vOqIrmYvuzWBAveM7Saswa/eqQw","layer_level":2},{"id":"28e1e3bb-505c-44f8-a1b1-87c5d1bbd609","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"状态管理","description":"state-management","prompt":"为Netcatty的状态管理系统创建详细的技术文档。深入解释React Hooks在状态管理中的应用,包括useSessionState、useVaultState、useSettingsState等自定义Hook的设计模式和实现技巧。详细说明集中式状态管理与局部状态管理的结合策略,包括状态更新的触发机制、状态持久化方案、状态同步策略。解释workspacesRef引用的作用和竞态条件的处理方式。提供状态流转图,展示会话创建、工作区管理、标签页切换的完整状态变化过程。包含状态调试技巧和性能优化建议,特别是针对并发调度和StrictMode的处理策略。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","progress_status":"completed","dependent_files":"application/state/useSessionState.ts,application/state/useVaultState.ts,application/state/useSettingsState.ts,application/state/activeTabStore.ts,application/state/editorTabStore.ts,application/state/logViewState.ts","gmt_create":"2026-05-28T20:07:11.126528+08:00","gmt_modified":"2026-05-28T20:39:36.333162+08:00","raw_data":"WikiEncrypted:29DQGcj0Xkj5ar8OataJBBxhchc25ft/oSjDSUQ9oFMuTtSh8oXnlbImzVMruuEkrfNOa4VI6r5QPuUjp3qOo+6xiTEi9NGTuXBtPr9vn1cr8as5EjRdhCw2hoR0+V/NuVlPraNxpD1FsezBQSsF5zrUYB5k6m2qC7KPCIKShOlSqEvib/IVaMYhUmCG3oae7gCV8z7ImDfiXw6ep6ntn+X5yAysRitlXozeaa2RmSDfYiQFlPckSDcahj9c3QH80ONZ15O4yTHh/scx9ZLpgBZT5Mb5M7UFbrQI0JHNIdHKhDs1f3KSDnRXWW6b1zsbkRD4lq4pQJ0HTm5932ynXer3fFcVfi+VW2spd64fzyPmOif35Oau1zub11eoyyckSfgcu+inaOGBIz4D1nSpU49uTyrdU4K0oqqap6Tn5q6jr8Ncpfo5URLbtnrggCYyfdKuW8JcKcT42cMZbYuYu4CpGxrUsMZsXBRL8M2//UlEbILvbiqWo6O0lxGjGKEmyN4uyP/0n2C0kUQ5FBntvAleJL1H1Y+XsGqqLWpc4qm3dxHpOL+neMrHVHDssWTVPFgKH9jUxfyiElyngrK5GGATWyLiAMOHJEL03Ih1MUt0aMHubXzrmTMnLOnILvS2zXcztlDO9EE3RrZ4UrisvZaMYnlCC/zWt/FI1a+dPxlfftUAHv8EpLrVxY05WhZ1UwbkdApA0wT1CCeeGkJJcj9BYhyyKBKrbON5KMwC41f22UVBUHGdosOdVLeMdtJ6sBzgzP8VeKazxvCyb+MJcQN9G7rrebEW87tX0vnPVwoaWTMwKSg48yd/xdgvG5qivoSQwTa/a6Y5mqbhDxf06YlQFOZPHiOfPFwXUYT/P+XDkWN50t391Bcx0VcgXV47KK0ka3dAbflT81I+lfYQVflhUnnx7RNQHTt3wZIzIvteHRstLkN1027jlEKsvO5GOkUi1CY6kZJ1fCuuAJBiyCuszn6qkQwEK+uGyb2bE1ghL+kI1a4VXR3Ku8hswAS1MiQUUpI9PIX6XQF0BwWJ/qQ+BdtzkoflHmLUdeqJCiCq7+ZNfbh/YpBb3jD7tKtM8R1yIaeJAvSlu/QJcC3ADMSuQl0HhO5FCbYXCv5smlcagox3jljXTipFipUKHhyJ86mUUPDSMcwRdAFK47uawXXH7EbeVYiDijyC5ZQWLqjGXJi39+WAUOKWs1Vdr+pnCAvgHJLIS9P9/GgHiyQDMLthRbjMc6Yqg7XtobuveoCcEY41eTsqOeJb03dOH2Kd2e+oI93xs/ZN6OwUWpYfyXQgW+RVQOxAbK6NIQLEtiqXdqvQDMWrbxYqMtJx6AAhHw4nuqAb7mfwt9MiovXWQB+ecWYSiILiBUHQHORT28BQxS90vOhO36rrZwp/qS38fPFUh7xtEXBRJ+cCV2BN1gDgTGRgqkqRzxUP1VJInek+f91zdBsd9r5/ofhYcLpTpmKHbvyJv9d95XaSeMot4Q==","layer_level":2},{"id":"c690e6a6-c8b9-40d6-87eb-75ee01a32f99","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"应用程序设置","description":"application-settings","prompt":"为应用程序设置功能创建详细的用户指南。深入介绍应用程序级别的配置选项,包括自动更新设置、窗口控制、启动行为等。详细说明更新检查机制,包括更新频率设置、更新通道选择、手动检查更新等功能。解释应用程序启动时的行为配置,如最小化到托盘、窗口热键、全局快捷键等。提供系统集成相关的设置说明,包括开机自启动、系统通知、崩溃报告等。包含设置重置和恢复出厂设置的操作指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","progress_status":"completed","dependent_files":"components/SettingsApplicationTab.tsx,application/state/systemSettingsEffects.ts,application/state/useUpdateCheck.ts","gmt_create":"2026-05-28T20:07:11.893498+08:00","gmt_modified":"2026-05-28T20:41:13.930806+08:00","raw_data":"WikiEncrypted:6Fw6zeKwEGma9eKCQx5PdwXaKWrqC1fOMK0n353cEU/fctJWa8H0UAw33/eGDzNOKM8JsoFyNcxKLa9zagRVcSBtpxDNv1bwZ+dAkt3rEZMWMxpSFAYQB+zbfAwIgLeVKGBPpqu33SJ1dkuMYHknvs40FCGmwM/bMvJnE7Zb0GTwwm8M+BTAsqDcOE0HOpXa/6XkXDbW/uIww67GyZLdfu+d9nJR5A+A7c2Q1l/1yE0vzOxVx/IFMk362TWbUZK7vkkB8qK0CYOuJhB4bK2FwlY4kcHGNCvw8VQJkbdsGCky15YZiO728tirOwfkOVem31fRDd7bJ52F5iiJpBdV3LJF/B0txBgpNIh0jdwG3I6JG/GNNWkJDYkC+djEu+N38AvCEPeKsM0spYZlOMtAQ+RjgGs3h7ZX2fnWlqNvlcv2baoldCMucBfCHily/xOdKSROcEFZFnD01wBHGyWYtLrpOoKa9jrl8PdMR11HXKcGZIsjiZ5uteBnuQYwBt8JdKBKdWnTgaBy9rVrpMGp0yrdpBLBdbak9PdkGrsIQV1+p7cLs0xM2HLoH7EcZhV236CuC5fSptJ0G/sfPkL+TfupjLJiKzu6O3AjENxCaMo4Um7sc/Hpr3KHInbT02TpZlshVZNnLNsWfzGBXhtAe2D4kR03TdqZa3XOLl6RH4wauPKpoOdf+OKQusihCcNXQdFBYShgvuuaJN8RlWBjx/NkRilbTUJDtsT2EGj2MzzkbhzLADrUx/vy0d60br6Y2dN4exgTnWCk7WDCtqbexNDhK5ZH1+5w8VyVBi97GjKaxS19ToIVriiu9AwyRkcHcx1dQ6n6C9VpZvUSSH3vECV8PKm7KweWOgidcMgsnstAFLRiBM7KS1tP2hyhslwkgSZ7+cjIRgT/2ukbcrt5XcUTHJ1+bFPLpAuL6Bodbtx4BW6N4zJEswwf+P2swjeBpwEAnWPF0giZ8zfbHJUiImM7G8E75ZY73gu6YWMHaxV51+PHBSCNGCIwXtntzp2mVUbGdn84sUoBlX6319Y4gp+Kl487LCT635IFBABq2hnhReRPR8U97ojXHEy32Rlzpw3md3FV9UHO8Uv6Z+3YEjd7/RDSdr91kHvc/L3bli3pVua/LEm99i/m2PrpF5RCSaqyyEdmpXOuO4L/9Jbym2ey31ME4ypkQns8QJxMv1ALua3qc9qVu51Fl01a0Mw+q7CzNY94llYW7HRLQSzoSAnjEwOoiDhwvri6ndC4we4=","layer_level":2},{"id":"49eed28b-d88a-412b-b7a4-ad89b94535e5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主进程架构","description":"main-process","prompt":"详细解释Electron主进程的架构设计和实现。分析主进程的职责范围,包括窗口管理、菜单系统、系统托盘、自动更新等功能。解释主进程与渲染进程的通信机制,包括IPC消息处理和事件分发。提供主进程启动流程图,展示应用初始化的完整过程。包含错误处理和异常恢复机制的实现。详细说明GPU加速配置、协议注册、权限管理等关键功能的实现细节。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","progress_status":"completed","dependent_files":"electron/main.cjs,electron/main/registerBridges.cjs","gmt_create":"2026-05-28T20:07:13.148698+08:00","gmt_modified":"2026-05-28T20:41:42.592805+08:00","raw_data":"WikiEncrypted:N3DUkHMg+KblPET/NIpQd41HLt8bP1h/EhTUBNQ3jdGJ5W0hqQGGE0IxnPWBWc809i2qDpkmtCTwyyIcwAw44S15SCKIYRModBjyyG7DzbpFgdO8pqOHQhQ1c37gK30VrpjIkmUjdeg5ChzdaRKZoDK58pbSBVFEPx7MKGapfcJSf9Ts1q8Dq05JstO1u9YYnCq6ozj8D7nNMnYXDXRRimXSZ6l1jd1Wb22qOwekT7mxvGZCGTjYn5LBnt1VaXoZPsN7/lFFdkqgsnjc5jAbAsKk8PSlU9wwwgFQeLAOXotIcaDA0RA4Kn8k4OCwCOAvc6MBoJIzv80rJ9D4r2U/PG7m/SL5VWWPMJq0PxTjh/hizCUSU0/dRtd1SwiLvHqNs6o8cSisE2w0GqUIwETjvJtJ56pPWYl+/u30iqw5psyMoGsEVM0xV03CerysXINjiMAv9uENWDM4fVepNjxpGx8Q3mVLZSESrppcHFXEIOFoJYRF5J6Y4rI76OSw/qawXjYXZd/2vucqyuyURib3L5cDdFMZW5I3H3E1z1LDocggItU7d5LcBnYEFxfU0Vchtfr5tWc4wxLFAYzuLCj96yHE9doG+GIPV8chnx5lEBhCij7LPGnoh3GNhyerjkmPf8Q4kbs8mfCvDobHvLnqwemWZXFuR2xIXweJXDni6FwxTtr+9oRgpVKxyOmrHqlyqt1xECEjnsz6yWTZQuxdEpa5nCqwTUzLTsMWeAduJ15FG1KKClNRw/6oUG57dgjjVnOZoqzBkos/sWkXtMvdGJlNQYQOHy4KSBfPhW0woMRZDv8SzWL351y9EkwW0WdYWsW/jstTBhTaOoz1Od+HV1hkCyPjY/Uzr5n5ZXjVdVEbmGihGivJI3IRJrL970R1Hugb/AEG8Exll4O0/ZOQ/829ZMHqpxFN5ttD+nvl9TqAwJqhNF+uQ9xXyfdfrvJNlMn7SiKcXZtHceYV7bkSDgqUh7WhoiPkwaM2hhc6N4A8MPh89ujBZkzj6MhyKxWGrFb4yIWe4Nlm2qNLxu3aa5uOEQtJ16bwRANe5/uDfX8=","layer_level":2},{"id":"ccc96a62-baef-4616-ad83-4919e22a284c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"云同步服务","description":"cloud-sync-service","prompt":"为Netcatty的云同步服务创建详细的技术文档。深入解释CloudSyncManager的核心架构,包括安全状态机(NO_KEY → LOCKED → UNLOCKED)和同步状态机(IDLE → SYNCING → CONFLICT/ERROR)的设计原理。详细分析多云提供商适配器的实现,包括GitHub、Google Drive、OneDrive、S3、WebDAV等提供商的OAuth认证流程和API集成。解释同步策略和算法,包括增量同步、冲突检测和自动解决机制。提供同步流程图,展示数据从本地到云端的完整传输过程,包括payload构建、加密、签名验证、版本管理等关键步骤。包含同步性能优化、错误处理机制、自动重试策略和故障恢复方案。详细说明三向合并算法、锚点机制、设备标识管理和跨窗口同步功能。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","progress_status":"completed","dependent_files":"infrastructure/services/CloudSyncManager.ts,infrastructure/services/adapters/,infrastructure/services/cloudSync/,domain/sync.ts,domain/syncGuards.ts,domain/syncMerge.ts","gmt_create":"2026-05-28T20:07:29.922099+08:00","gmt_modified":"2026-05-28T20:43:17.782699+08:00","raw_data":"WikiEncrypted:42GucIVlAI9L6q+fifwcxbHuglWgD4IQde1RSN7A9sGaMev0hSB9C2OMiDI06n7i932Yf37uZ2V5IP6KvE+G32iOmaucFZdMzqvree0wWXGlhUTtVi5g5b1+RlU1sDxRoUYgPGQB7NrNmhkKNllMFKPR4i867TYTtNPcMivFrwt7RErOAZizjLKOyuTtA4SF9bP3sH1XYkXHQ5UYW0MuBHy5hqlLTVSoHELXBPnvWcqFIZnQURJtDEsT8gGLlDImtL6AHNwDBFLa9ee7qiVM7SucX6+EpJonAP6W2HGQrQm9GEq/Ikqd2QSyiVbqB0NXgSnSVYTuavsfspvYNZrR/F2a/o06Q/qClFBKvKjwIuP+UFrYfF2KXTZLYSjRDeDiS4pij/5JKU2I6pGbZ7T0dFK0Is12ljLOiond4ei51NuXkd5sHy2jFAVQrgLEAu1PCj1RQkq0UTRZIhlN1iCD4k+5DIyxgl5039ArQqckB8dQPvvzUAKSya9ir+PCcqIR6JnrlaKGUjZxD0GaAR3jIIOvhogj/N6F73JtksiVpv7x4Y1EaJH/2WDqSrZ0CN8vaqcuOx1g9vVYg0WeFc9yZTBOB+MflfJsltfMYXk5rYYi5uxpLx2D3yBLLWaBcZQfnr7z1kuZeH2sjEhFNpKRLnvGU5Lt+6tTJ7Ub6QIDBTXKGLZJFAJllz+WXxAt6V08RzuuoYiSE9AUtMqczBJHcKLI8e3ThXr9r2CEk1qvv6Fn4r0FPCqYAVAboZNECr6ctwyiNTBkafcl+uhKSqzXZxLnS67VKqfzSC2bd4gRkxLmy05z+uWXI4IrUuXAk1H+hnOp/2kHwU09KBF/tJ2jx0k2WN2PlMtJ8aI61dJG8law/UPDxFLbLwfnpN4i3IXnehkADP5bohwcqewEkzEswTulOqJmDxLSVesGx86wJwfz0RZnRZ52P8yFcH/Pmy+mhV43nxd4kYEuowcsQ1eu6W9CPyCwNYO/yw6C7Ki7LzsxevgG3eABLXr9bNB0klUasg/Q77lbEjXopkydd/uiIydWXVTjBPBnrwOO3fS9TaUGNvkcOzbkM6cPiIU62jRCnfPh5zX5ELziE4s1fYqE5HNNmXtGjowzeaGNA/9awtfQWkcUNZp+NXThSE/eUieqFXSCpqDNkhyQCiXQjD1qdcJBu+DKyRxyu9swOn7AL8RUA73JXzy472SGuEdVdG2POjveZWwtsEJIpxJ1zOPVOeH24mrnijqiapSg7QmmQbn2hsiLmeeCokLs0R0k5PuTqdfDQIGamtbKfWeN/UMeqnVYaIBN7vd3TM973XV1FJcLgUJ5ZtQ4d9a4++ApCjY/0k+CrdSXnnVb+0p+29bAnO7GY+wtnKnc6RmpVZNyW0AX2cUSZekENkOKA4CteCQHP9iyFHe5dRZT0P3R0Hg3ynnsueWPJRzD6LvqxFYnJEC2y80EUHj0C/qYTuLJvcSaMZ9YKeFAThbJHCxSnWofqFRL2GJtruVA6jKSWpq1mm09vbhyrwCWViJrk4IcRk4bE6mxqjvmO4KzToSTsCx1ItY/u9oND1mE92m9eSkDTiwbOdsR9wwW2ItXZ4XP4WlcL8T2pRG2/XldXt30ZHLfBKwk3F0ENT5NYGI68RtWIDAilBXFyYxOFSTwT0rgYVU3","layer_level":2},{"id":"f48f62d9-42f8-4ac9-b4fc-f58aff629b9a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快速开始","description":"getting-started","prompt":"创建Netcatty的快速开始指南。提供详细的安装步骤,包括从GitHub Releases下载预构建版本或从源码构建开发版本。说明系统要求(Node.js 18+、支持的操作系统)。提供完整的开发环境搭建流程:克隆仓库、安装依赖、启动开发服务器。包含首次运行配置指导,如创建保管库、添加主机、配置连接参数。提供基本使用教程,展示如何建立SSH连接、使用终端功能、进行文件传输。包含常见问题解决方案和故障排除提示。确保内容对初学者友好,同时提供足够的技术细节。","order":1,"progress_status":"completed","dependent_files":"README.md,package.json,vite.config.ts,electron-builder.config.cjs","gmt_create":"2026-05-28T20:04:49.696897+08:00","gmt_modified":"2026-05-28T20:09:15.861899+08:00","raw_data":"WikiEncrypted:qfgbutC7oyxR6nMxrwk1ODnNMBEQ3/sG78fQT1yXWju83LC7H/jAM8CEAvWT8huE5OClmQiIfNYNxHQ9s7RRS0qKOV1Xow/Q40Lf5w81YusS2iGllJNnbMYTNb7aHpUoPLLbcBft3atcY03mgvzcqN+qSgzX01PL3to1QaLqYvXzFNnrv+sLNMoz/Eh5RsTeJ8nItWN5fzRod6su3SOeR/BoMPeD27Avpq6x0LiMoAYuEGOcoZ2DkIeVNaM2zkHfKY80MCbcqNKfYc3gUIDUpDAAmIbpbYrgqPcIn12jqy5joMI2xg7T5vF7SZYSfcjRjHxxGLYTbp6Wlpw5GHkNEHIJwVGpyNXlebHOmX7IPQSEPEAh9v1/pwjo6DMOZSUPk/f22kQYk8AGutZ4d51ui4eFdUSxX7KL+S1U8ASpGjcwgOI/4qNTcbb0CJkdWomnZjcQTMqm0816kPEO8Y2UHKz05oGW07I6H4YpahV/oYL3aA8OGt2wu5/Mar9dBnyduGxVS90eyApwJ1RqqWJ1nujLZ/rmp3cex3zsnFrnHdb7NDxSdEcyGynxGf1ttkCqAUkylfKNKYkTpg8V4A2WHiasH/pbngmlGXZWfJY2z36I4xy/qOb2pz09GssTdVi6QP3d3nNzkGcY0+DPPapfJT6NDwa6+8sa5JGh5nH37J3BiaThcnZe8POJySL/osTOOLPqmDmleNm0YAlrArfixLl2G6KqJnFtwMdvLlM3JWr8qGdrgloE/hLedopch1pGSG5mvbz1ohf4YVdXV1qtYrfy4Rws2j25ELIfHeIOLVXqIQir/mGDgapTCusf4U1+2G3UUFBkrAjQpiZ0+eMk/HPoArE3mP+fng92u9FFHYpwsVrqIrkXipBVtios1RRq3w1mEIrFgxPzjH5aDSDI1LPQfm3lnizyH7HpSG6E7lc+dS2gDxDPIuarvpMlZ61VnPZA0nXYZyCOyaGonJ1xgJrFPgv9fR2xUhJq64SmnQqiNMTnynO+ZWoM8IeSm+0d/hntuj7MmVj4F769kCfjfeuntXsD0ZS8rLLGpLH3co06byjk+1uCYtNwkuC157JlFLkDfh/GW1HTsggoxo2ndch+XOdvCnF+RRwQqUCsTfKrQCoGZB1ufPi7Z43IEl218rXLqmvfFBWFmJfGkVY/dnEMUD1g8R7w9yRo2YLYBvU0V50tdtDpPhexDa4r080Qx1dXmIK1bdFsbrtB1WmzITw8TqZCm4rxDH/+gEMzC7c="},{"id":"386a2336-3e78-4cc2-ab49-8a27056c4185","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"组件API","description":"component-api","prompt":"创建React组件API的详细文档。详细说明所有公共React组件的属性、方法、事件处理和生命周期。对于每个组件,记录props接口定义、默认值、类型约束和验证规则。文档化组件的事件回调、状态管理和内部方法。包含组件组合模式、嵌套使用和样式定制选项。提供具体的使用示例和代码片段,展示常见用法和高级配置。记录组件的可访问性支持、响应式设计和跨浏览器兼容性。包含组件性能优化建议和调试技巧。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":1,"progress_status":"completed","dependent_files":"components/ui/,components/Terminal.tsx,components/SftpView.tsx,components/VaultView.tsx,components/AIChatPanelContent.tsx,components/SettingsPage.tsx","gmt_create":"2026-05-28T20:05:12.557275+08:00","gmt_modified":"2026-05-28T20:19:39.317166+08:00","raw_data":"WikiEncrypted:4Zqjl5aZEo1Vv5NKBpebTmQamokIAvQiI1+6JDmOqu/Bx8ChbLc0PanZPq76b1wHhydlvUe787G5ske9sp/8XUOm1cwoF4QKfDtzzMVBPTUiKf/0sl4b5TUWo9uYOQReoKpvTbyZBjgVroTNfx1Wvj8UmqW0bWuNg5+D0GlauanyQAjoREZ/D7NqcznuASgFqNL878+CNr347/2lKbwW5ZWDo2rCnb9qC48T+n4cJ9ivbOh4o9KOGBdC5LBsSQGmG+f4gSi0ac+HGytpTpFzWu/I4zjSwVvwenZ5MsIpb8OAlSh2albYdu8R22UQRhsx72tt5bLl4YUkDDvyJMrVUMzkgVDpDeWyNvACgjbeKXL55qNMSlU9eaM7PRv0ChA9l3h86Ed3MnUSH59ttJfVOyL1vOyBnmlqrCSuNo7jOZ/wHGp0unq2vayRE1OgxU8+wA97qNPQZQnXcEOuAgCQYd0B5oG3t1K0Hh5WAV0Nn9QjhmZRjgKivkzvxA189eZbA9dmVbdaawyW13IChbNc89iOk6ytSVi139bNvdHX+cft3GzFT59ZXk34jPh3+pbgZdlUkmfyv1fIRk8kgxPWgy03gSvMBv+n3kOB3XP2Ki7XjFI2Ld1eSN4bQEpMVJB40vmUlsOqdHzD31lMYJab3EdiiLbxDrLkHowkPJGC6XiCLxAHM3C+t/so/Lilxa3dqtqILTHF+0CvLIgciciXIVCOjUab7T7yEw7JWlcZfrR8Cwr42sKxVq+T3/AWmfqbn4/wxSos1UMYchNIsxUKa9y1banIgAho6lcovFRqwHdbQ8fOx58EKowaW9pRiPn+GtIwlEQpEvLApzlFvqkYACB6Tzd4G8WN5jG0o9wrGgXmNDBF3yKAlMrJW0A/uEs9hWVQIIC228M6a6qak3SLxN5k7OTAleJbgBGavXqbO3kKRFMq9FwBGLAqSL1bNYPo+9TVLt58/iuC/oCCcxd344XQLTdkoYX6YG2/XKNx3nYDXcZWDENuzTa+mg086jGwJNkSR50SK0MAZIZbp0u0owufy1AaCAabWy4NY18XOKpdEyL7llpOi3Js2+r7V3TE3pc2xLoc71dnx+lgjgt9NqFdNWwbD2C9mEqKh+D7Meig93bg0qX/t5H60SzOSqrTBsunoGYtJjKoT4vPKf1ph4AQaOg9WU5xHoA65U8PHj0E/yH+bFjx+N8HxBEx5A0j9cyVygvWQ4OOYKNqtnhERFmvF8pUNfBhh5YFDK3fqPvBQJlZEe8wfk8dEq7GNFfoKWvPLFSt46cvpEYC9rcgVnwVjtU2Arhg2puTRBUdnrDGhzELMdMSLurZ6uuIhfpm9pg6Epl3TPwcoIsCXBIqew==","layer_level":1},{"id":"5e01c9ba-995a-4393-8368-183efee045f3","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端功能","description":"terminal-features","prompt":"为终端功能模块创建全面的用户指南。详细介绍终端视图的操作界面,包括分屏布局、标签页管理、会话切换等功能。深入说明自动完成功能,包括命令历史、远程路径补全、代码片段补全等。解释终端搜索功能的使用方法,包括文本搜索、正则表达式匹配、搜索结果导航。详细介绍主题定制系统,包括内置主题、自定义主题创建、字体设置、颜色方案调整。说明终端工具栏的各种功能按钮,如复制粘贴、清屏、全屏模式等。提供终端会话管理的最佳实践,包括会话保存、恢复、共享等操作指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":1,"progress_status":"completed","dependent_files":"components/Terminal.tsx,components/terminal/TerminalView.tsx,components/terminal/runtime/createXTermRuntime.ts,infrastructure/config/terminalThemes.ts,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalSearchBar.tsx","gmt_create":"2026-05-28T20:05:22.526685+08:00","gmt_modified":"2026-05-28T20:19:53.608673+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjMzFuazrgZvxoY34w3BajXSuymcEjk/wpN2FSaxN6a40jAZP4ZtyD7vSenYGZ8uD/iJ4XvxGPyiGr4n8m0BTQS3wycbXylUtj+fgqeKuF0CWq+RbQsKEz7d6c3Q7BBN5ncxoF8pGvDGg2/4sdN2nYFYMspS02WXxzUzQHEiN/2s8zEAhcp83eiYqG1tzxfSZ+yY4WIhLRHGVk1oGFQNRTQh0SDIAHUVOKEK8yHn813TvImXaPu2YlQQ2sKLsYCeHWc95+FRyU/0TlwRgmO/1r/bBDkIANEKnzw1QpH/HfnlOkeCqN8z7XOqFzYJo2ATDM9PaaB2K/ynsOReeGfunqFD5AqTGx5G/T5EqrmyHgc8EPSX+YQF6A31qS2Qf6fwsJufrN9P7lHMJMzIDvZPIwCQsnlG6VhmCQCGvTYORr+M0mP7zULIXeUUGoWgyd677nSlYmqpvfah5bhCOKzY3OJmcqhjAnHtnxJ86ezupWy6G2l3qyFJ8MVLKYz0i6ozOBJzp8M3RW8LS06i1o8LqOyLE8q5cEbMnguX5vFXv7szIurnW0gaDNG47YpwDZUk5McX4x+7Dox/b0XP5dc5CP4B70PIDygaB4XL0OnO1kVQGDTAFyIwN4fd3kyHDEbhjqPK+UkqZW9EkAC5g1xDLkP3Kr+41CNMHKpJr6wZUBZnQxzTfFpRrfA4jcmMvJOF6rAL2d2lNLGDEHrLGCdr+LJJwU+3hC31BrTmXm+T+qsp+fT7kIHR18ualXxTJm1YEPcM6SiNOiXEf+X1391kIyJ5XQmP75gQDGxgtX/MmWODRQJHrv9dE8TEKZicVniquE108H9KIs9VebqFwaK50pEOImXmnzPWsF2pM6Yvg3PGkCeIJur6oDvbtHAWncWNIRSuvbqfl0SR+qQGKzp9/mX+TlxNadecKdXfrcOigcHp3NDf7xFMxsMaL4cCBoxrQOhwNWHP71+lHwLTFUK3dSFMQLi34BoluOa/DvBkIAjQlyFDgpO6frWX0UkUWjJZTp8VwogMWRXUtDHfnbZNGBeqmP2DQKVUhGaRyVxCEdy23ciJIuwYa/hCdDWc+Ks94g6bzJwybILiYbDIik1iSFhf+x1GZRuFQ1NEq0QoJLTh4A06vXC49EzwyC8T+q0pkiHCGVipsRakn+YL/kI74a8feLndXKSdAsj+vJJkJT3DjpT9NShcgKUB4s9sT27qKedyce5k1O4EPefDCezx7gXxKpAwzKZxIZMHmrc3BklnSPK+CLVWeK0QmfJ/IFpIvg9w6yINu/3J4dGPZLNOgnfxUs8eSnFAgqv9RI6uNqewlB+HdIj+pvA/P92iI69t/f8NB+iMFwvsTs6jdWbY0GAdBs7yz4dRhjEcXswFBb/xSyPmI66KH5QePV1i+ou4KPyfQDJk5ASXxoM1WXOw6W9wp1cVyxJYE1l3UD9+RkR/aqZFDnfy5eonR6fACaGIhCL9pjlAGjj5XZew3SOl3DHGUYelg0XSzFMGI0cGmt8/KlVLA4Eyb4JcW3YuZNblBeQ==","layer_level":1},{"id":"2315654d-d8cf-4b7c-a65f-ca077b52828f","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主题定制","description":"theme-customization","prompt":"为Netcatty创建主题定制开发指南。详细介绍主题系统的架构设计,包括终端主题、UI主题和字体系统的实现机制。解释主题配置文件的结构和参数定义,提供自定义主题的完整开发流程。说明颜色系统、字体选择和布局样式的定制方法。介绍主题的动态切换机制和持久化存储。提供主题开发的工具链和调试方法,包括实时预览和兼容性测试。解释主题与系统主题的集成方式和暗色模式支持。包含主题发布的标准和最佳实践,确保主题质量和用户体验。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":1,"progress_status":"completed","dependent_files":"infrastructure/config/terminalThemes/,components/ui/,infrastructure/config/fonts.ts,infrastructure/config/uiThemes.ts","gmt_create":"2026-05-28T20:05:26.320761+08:00","gmt_modified":"2026-05-28T20:21:26.693321+08:00","raw_data":"WikiEncrypted:MxodVyPG/Qm3b50NiN9IZsCNNUZ3nQMWcDViVmGOLpbX3nLuIisZDNo8Rj95fXNuzIOJmx362I20kPdai9x/XUQEIjC8cdpIqZAq9UgDPip14A+OZWTj+bfMYmffUD8pKQ2SJphntQ7iEg8EAZgSshScEJMN3RrwLOCLOMUndqEF0xowUlSz3I9QUfJi1/gVC4I1VYza90gtctFD1hQIXTF7jR/dEOQzbCGi6yazpTWbAew5sEwaozYhBaN1u19PdP/gLwWv57khuh9Bn3WYdAxF7HSGe5vxSRT8a10msEkeP4uAT17aZw24PF2K/spDI+Nb5rB0pU4E2xJKc1sSnbd+jE98kIHPU5ElDRHZtnqk/f35eeCdMWNmdFZqYiOZNZzn/1jWudB1++xorAJZAgvbxGFkbU6RR8g9YwMwn5O2CvHcuShye0Jc7JXubmYNWkTAZpQVreQfdMj4weCfbFbTPlPOPSvQHS9wG2yaHuTpCde/cLF9ewr0wQyfI1QYMWP4GvVNmyRrGqn+fG5WGOYDFxBQlb7JtcXHv2J7D3ih/p9Kz4wuhck625RgsyerpBRMKHdw+8eYd2Q/hH7sDk/XZdC+T24vRKgQsxLJseKb/bGUuLQcvGVTa28SoLSmxOGoJzi8ZtWTMpkSYOEVv4V0zM6FOCtbLM6OzPrEj33v+X0k8iR/Bx+D7CifQ1fKGGahPEqwM39EtRkP9u2NUkmDGIKdXIro4Je1wIFfYrhY1Z2Y/L2GXEfLNGpToKuS0FwsZv34MU0s74u2rCSbHRHqqcCBCc0ccnY3R8cmSYA9wCNWCoYnlUtsDoQT7jJvhrwnf6iXmy7lLMWQQH/aJwgPhAQBQ/rUVJlyRo+9Sxeirqmxxaq0HQcqzlT/bytPYGgIs54+i6TPeD81brz/rAaGqDkYTBaZzfzYwaWzdMw6nqHybFU7+mLXDUlqgnK78r3Y29xUWHLmtYN0slltwDiInB9xv+QeCcBvCQsUvF9faiwRJMeFgWTkFVPk174KwK2+rGWHNU+5tJAAYsvCxQ4D9O0wDcewjct++ED39C5gYlX1BnDSVbCubA/w6jx/UNIBKiEbmJZpAUHueQ+16nZaRiP09/mcNKoXHyjJjNcvxCQsKsx71srIKVQrlkTJx2dGdO1Zq50QwRBA8gPzOlu52Dv5/8+n9vp+jxYN4wp0DEQpv5eGBWmSHKiCgGoSeWlZt9I1jw6QQvXnQGi774XEzYzZHWtFelNg2JXx5ZepTO/n+2sPp9Ier+YSlyKhYoaj5tbmaE3rwCmfcdwf8A==","layer_level":1},{"id":"478f9651-04e6-429b-ad0a-f182114e1102","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"核心模块详解","description":"core-modules","prompt":"为Netcatty的核心模块创建详细的技术文档。深入解释应用程序状态管理系统,包括useSessionState、useVaultState、useSettingsState等Hook函数的实现原理和使用方法。详细说明领域模型的设计,包括Host、TerminalSession、SSHKey等核心数据结构。解释组件架构的设计模式,包括高阶组件、render props、hooks的使用。提供核心算法和工具函数的实现细节,包括状态更新机制、数据验证规则、业务逻辑处理。包含性能优化技巧和内存管理策略。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":1,"progress_status":"completed","dependent_files":"application/state/,domain/models.ts,components/,lib/","gmt_create":"2026-05-28T20:05:48.207372+08:00","gmt_modified":"2026-05-28T20:22:14.125621+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"a2ac83be-41a4-4ac9-8946-bec086179f45","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SSH桥接API","description":"ssh-bridge-api","prompt":"创建SSH桥接API的详细文档。详细记录SSH连接管理的IPC接口,包括会话启动、命令执行、会话操作等功能。文档化SSH连接建立、认证处理、会话状态管理和连接池管理。说明SSH会话的生命周期管理、超时控制和错误处理机制。包含具体的代码示例展示如何在渲染进程中发起SSH连接、执行远程命令、管理会话状态等。记录SSH协议支持(SSH、Telnet、Mosh)、认证方式(密码、密钥、键盘交互)和代理配置。提供SSH连接的安全考虑、性能优化和故障排除指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":1,"progress_status":"completed","dependent_files":"electron/bridges/privateKeyNormalizer.cjs,electron/bridges/sshAuthHelper.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sshBridge/execCommand.cjs,electron/bridges/sshBridge/sessionOps.cjs,electron/bridges/sshBridge/startSession.cjs","gmt_create":"2026-05-28T20:05:50.532876+08:00","gmt_modified":"2026-05-29T16:04:37.505033+08:00","raw_data":"WikiEncrypted:0NYVLoSOQsjXVeZ7lSLhLUtdwYzKKTAAoc2elpZAh/N4wrZjvTrPXheAKKwrTV/2AV0zXMiCazWk9OQTNBPKAH22V3G8TjVcnEJgkcUrqau552r92EnQoRtGfcFxoPH91iixcEuOoOSUou8WrUdxiRxZBt9JXewTM5CvWMgkzr5t9mGa2wU63NTMtkRF+p/06f9+UVFDVzlYmstVaERxGkJG2/q9ZBvjwLQOD9FO1X18M/Fx8ER+WjP7j/800Js7zexfBmJKnJdhwIUK8uaAlEcec53KjL0M37zLVBt4O3MywuXNuv8fl+dDBk15KzDP73kBpIcxb8x52B5PJ09S/cjQQ+9I4mUBVXW1n0LgTzCVfIkb3IXBDgyrEfkuj+xjljN5xACVidhW+YcjGInZkQCfLND53Ehfuf2UAjJO3+71IpzvhBhM6b+kHOqz5MInXAdqn6j97LCrC0daR3/PJhwRw/PSCgaU9j6dGWIKzBdruTsG3ib4DlI0bwoV9dpy46UBGgHorYZQsi0hbIktVv3L0KnrMkiKrqTHwqDYTQS7deaYaC5b6Z0yBlc4iYYpz96svuCXUFAMGxZ0kYXiZDEzyNdCcJERHXr0Imy3q8jlmjK6PvUZ5Ddtv/9YEg1jXbEJLfkeC7Ff0hT8s5ZRdJ77IT9oWuFVXCyWwO0rpypMQFKOPy+D+5oG/kIeaUdWhpiKXo99BDEyAxCcexYdC4G58sideQwGHrCD0m8cYjHdiXdLSp4J+Eamqd+RWqAFGU7JOdG42BdNH6DqOKKxTpYRfRDIByi4QQMKmuTEyt5j64OmTB7UGoQxoew6FBZ1t1GR95uO9o3yEIZB/1yUvM+UsyEc7UMkcBEwARvNfm+uYT0UEeQyhfL35A5xJwZQPsrwQJk9B+1rMYXX82i9Cj/zTlq3HadmtwD3pWu9mmzrTPG6UyFrByv6Y1N9mME9VZQwj/9VT5hUJgkbsUx9uOazYE0Sf1M97Kyy0pk/1KrePvGTech3sXXMy1Ht8ofQAdDQoij4cJhsV/ekpckiqEviW2f6puZNzsPuhYrtGDjDRy/GmU5xCTJCkxUIQk40yCdUboqVwSMJ1aV8zODZ/2B6ebFFEPvt/aEKEvq7DwTyXnPegCnjGAbY9STbcT70O3lNgnDczpf2KM4rpj00RpECfXe3uEYIr+CHbu4/vhoJL3Oiw+GHC7dU4inVw3h2wFIXPNk7s7abBxHL+LuyEj59vHN0TSs4YSmx/ulwNO3EqfEMDJBpAviveHNQBWkWqmbMESTuU3wVcXCj9eL7U02tkr+iaI5npdIhProyjxgNRH1ZUC65S9V6p4vFs3gbrRb865tyTPbBVkGkoX3oyqA+EBHb2bDh9Kzf0KGkMjqxefV+M7gY84C8eHtYjwwfENw7DQ6iG/oYoSn7G5lAJr9/Hrf/CJv9EpiWanwyJkhtOCNu+/ZclYEBC1IiCSP4IE1RvxGX0C9u6P6xMfh9gg==","layer_level":2},{"id":"e536cbcb-452c-40e1-9547-0991822ec22b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端组件","description":"terminal-components","prompt":"创建终端相关组件的详细API文档。详细说明终端视图、终端层、终端工具栏等组件的属性、方法和事件处理。记录终端会话管理、自动完成、搜索功能等核心API接口。文档化终端主题定制、字体设置、关键字高亮等功能的配置选项。包含终端会话生命周期管理、连接状态处理和错误恢复机制。提供终端组件的组合使用模式和高级配置示例。记录终端性能优化、内存管理和资源清理的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":1,"progress_status":"completed","dependent_files":"components/Terminal.tsx,components/TerminalLayer.tsx,components/terminal/TerminalView.tsx,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalSearchBar.tsx,components/terminal/autocomplete/,components/terminal/runtime/","gmt_create":"2026-05-28T20:05:51.882072+08:00","gmt_modified":"2026-05-28T20:44:29.808586+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjGkHGm30P0xPRiG9jz/gRD++LFT1Oj9gcFDBZRlkovFBEq/Qn4kFXq5fG2Cpehi3OuUTYrHOG0ZTzSp9i9xElQAcTq5iM200WNm1wU7kYaq31r9bwlCa+m4Q/s/zpim4NUffbbX+6Ns9kYvfGR+6WrLyHa4EOKlKz9FWlQBkvq+JHm0CghrC/T75Y62SDJtZuem3mRn5HGJx17jJ8BQS0edDnk1eGbPbG/ARszLLll3XCwSvbrPvTmBnpfBsVJbGl1LLKWW4LCK5n3yMUtjlkLTAuZgS5Hsup/N3yeNGxClrhj138omhSe/5bqL90JmqZp4We9YUDXQfpodMQ6ily0hKRHqQyvbvzCdj6GIX5vOJCk+9ZnmWXmoYypdgLXqyUcj6pH28WhEU54PCQeBGSp+LQAsc81Kketwtj6TgTltl1RtcJH3BIw4cPrjraIS608LNLBdw8Z0ungrxnjglQOKJhRQfHMq6F5Xxki8y0wp2eG6yd2IoNajbmIeMZ+zbxNgrLd6fGxQtNQmSlTE9L7gsNRCNHcrZm3OIlvGsJoL7N/1i9Pgfn3se+tJtF0aFa40YLV2WsswJshaP2kVONnFlIn5Y9DeI2fwwUapvIkhdyXIe1rxcWw8Z8PPsB1Y5YxmAf+GjZNueeVlnVFTmTd4f0/eFL7gCffakxxXojPy/FXYLOb2lYZKM84QlkZB4SR73JTSw8pHQCStpp4n93xqy2ePzy6wR7q7pmM4TyDsSOT2tD85hhsDArqsC+IF7yaIhVuJyenHZtoJHU2tQTtIZpTPnqHT2OG4Ufg01rtVvsuNAcHHRy5faNK3CsUtgmPRAKIxhGB/WVq1kZgfQ9n9u3bpEAMerLF/yXQ954ftwayCq7/6NiWbOEbCDcoQhw2JHa36Pexc12/cOOE5rs3eYr5+vDxKKzDH7IElwU60h403Y3mNSktOxMDwN+DhohXetEcN1zbjZJDMc6UGzLoz5hbB0TIzNWTtINRdZWtIqXQZkPpa+R+EYVOWLOnBe6p88Dw9R1fl8x7H8zIKHfDqIIZH370QwNhqYiClHITXeKrC7hWVKHq/4uHeCbLCbXGyOJYyQHplSVAtiwXCtXJrH4NwtiK7Dm+zJJ6KNIohwdsaR3FpBsgPAZucEMOZw6WAzGyZudBagwyFoPdIDoFXX8NR0GsDTHkmY0fYUDWRb0Wo2l9qPLGzI9xSVDgAAntdMNfy6qoM6ipf/Ob4asqtPld0bt4wOGmgJ5Rt/rRT8XCI5BWTmiNgjp4l+KF3R39Gf6Q7X3EZmsKi39iAUihqZk4BjwGUCdAsIvw9yUEpD","layer_level":2},{"id":"fcdc1e35-7fc1-428b-ac53-5a9dea163038","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端模型","description":"terminal-model","prompt":"创建终端模型的详细API文档。详细记录TerminalSession和相关终端实体的结构定义,包括会话状态、配置参数、外观设置和行为选项。文档化终端会话的生命周期管理、状态转换和持久化机制。说明终端配置项如字体、颜色主题、光标行为、键盘映射的API规范。包含终端会话的创建、连接、断开和恢复方法。提供终端性能优化配置、输出缓冲管理和日志记录的实现细节。记录终端与AI集成、自动完成、搜索功能的接口规范。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":1,"progress_status":"completed","dependent_files":"domain/models/terminal.ts,domain/terminalSettings.ts,domain/terminalAppearance.ts,components/terminal/runtime/createXTermRuntime.ts","gmt_create":"2026-05-28T20:06:08.451601+08:00","gmt_modified":"2026-05-28T20:46:23.853953+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjMUeZC/xvAXXzxREtaNUAWjkc3Zaffvvs9i0RLGX2I/FzUO+W5Pc7VE9vxWrzuHLdDjjPxAleuVIXXbTYoE8zZAHe9vwmik39cw7oLSGgL2nf4oC9WfjP2zyG8ytoI1pi+HrpkfU9ztAZK5mDjUDVte3h7Lxm2tYlsF1VoNt+a4gCYAppHLH/WUh0307BJvBe3xQpRCoYRgNkoN2XHyRse8kutVViDFFmmOopMuu5+K7BZyHZJj+3xseXMMOtTj471lBOVfyzQSdDnrmljr/d+x4Zru0TpY9vUp/huUnTSWiB9+gPZgPWjY0lnm4zqxXiAdOXLeoqUsFNjqIcpzMfxr97zrXl8KZMP0qy/cOcF/prLq40qZymWv/W7f2kVvOmcZcJfOxlk0SSgmcwsS+16bgjCZJ0pZyiVWaW5hVf3angVLvC0qVoHlWQz3apvhgF1hhn4mqHU9oJwtX84yEuhUKtJMZdEj2fPCYC9JByW+NO0MbJ4G++Ap1SSzK1Y0kO6RUDkRlnnQ1ycvWqTTmNe7ZLi0KfMYIP+qtiRgB5TVxjEzy0JIdQCLXCBYFOCt6AaoKjlIiF+z3WZZ1qAiimUTO6Z5zYY9bU3/nNWB1dZAdz7WLDxkWwDIQsmwVEYqkhdsz8NfWRRPTcUTJsV34ga6fCrsAzwLH61w+h95dWFRO0g2Cyz0oS4ufgpl/XZOcK/SVMYosvFEIb7GeuKGF5aTkvMOFJdCHibXj4kBZH7khAKB6bBkDe1zJm/UKDMuPc01jo+wTb5JnefTapOV02a6Bbm+6UwVPADAdnpsQvPh3lPTRdb+4JEEXRvop/wckaOxKibTmvPNoolpV6bqjaa1e9PCF9POIZYpSTpKQCZ3sH4cBlO3aeh4KohJvdXnm01veebc+e3l8LFf+oAorFIdedDZJTsKcidNlT6dWtms+SMSbWEI7JzHGBBGkR27iMlGqqvkJCETxmyR8GxnPtuuftrCjb7EvgCNO3eeLmOFWx+hXpBu07TLUScx1qj1BX4maaKwZr2d4gjrI4cLdVMZDOXy6kaABlOJU76VtbKopoAUuLMZQPKBPql/klVAxuX6gzY0iCGU9gL1ceYYB3oyCMFru+PZnigY1UHLT4GRYJN5+UsoLOSKRzaMv6PCxrXdw/Z2zOGA+pZMalDhBZTWjd3Teo8NnITy6Zou8USS9E9RW5TjFt4aFhTmgptBeqAjgCsLVqZEV8YeN1UYBK6TOVjKTmvz9TlOCEk8a5xo4lAP9ge27qZ0pHVXSkIfhQA==","layer_level":2},{"id":"89dfd6ab-5e0f-454c-ae5b-7ea42272a2f0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接配置","description":"connection-configuration","prompt":"为SSH连接配置功能创建详细的内容。深入解释主机详情面板中的各种配置选项,包括基本连接设置、高级连接选项、协议选择(SSH、Telnet、Mosh)和端口转发配置。详细说明认证方式的配置,包括密码认证、公钥认证、键盘交互认证的具体设置方法。解释代理配置和网络设置,包括SOCKS代理、HTTP代理的使用。说明连接超时、重连策略、Keep-Alive设置等网络相关的高级选项。提供不同使用场景下的配置示例,如企业环境、开发测试、远程办公等场景的最佳配置建议。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":1,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/host.ts,domain/groupConfig.ts,components/HostDetailsAdvancedSections.tsx","gmt_create":"2026-05-28T20:06:10.067474+08:00","gmt_modified":"2026-05-28T20:45:35.642798+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AMv2jBQdiPo7oi/nJR36/nlkCGAZ1QWynWEKw13q1Bf7MD6jcqfleJdhNwM6UjdavxcF2lmxsib5LGvfciWaE6qxdou6YfvuyZ7jS2C23z29vHUbWyDbV7m+nSheW8ptSQ/orP6OFmLpOFU7qAS+hKk68if4tlu+4NHuk5QDCVYGtz2y1uMto4tjRznLf5G4i4kdBfNBFpUvbRZK7KHwXA4DU9iFJqxGzJhNs004YDNX4X8L/u1bCTv/q3k4yB8yETDDvX1O5Q1xAmn+QoQ2TZqeugs51CJfayopTebSckXN/52OR4HUm1S47aN/O4Aycfn9NB5b1PRTXW4T4j9sh7LsFI8RnueKt9mTFyDmWlG3CjXRGV1aRb0xKtZSA3gq8NmE0XGEbvNoly8YeaFnAcds+gXhOQzHwO0AE9bvz0XajRfkkYBuHkfP0hxzyY6uo9waFt8VQ3eh3lbGJgfxvhODrdt1aNy8Na2KoGw7K0bPGTnSKtAMxtAcaQEPy33fDJ3kfA7tiA6yYf3sjmggw0YSDK2kKYMwIT/1BYpekW0hJaPTXlLaZNLPik8DfEby9HPSgMxCVBU/Z/jNIAPGRvYAI1FnqI4YYmImqHLqX4qgQxSWwdeTxw56WB6NCN/0b3mkIpd+B5Y7icWg0QkA1X+MOLGfIaqiucfskKTZHYcCfuTX2+fL4LLvU4YwewnjqQetXusqKURrnRkIXWa8u2VKK2Wb8H36A/MElu+qCihjJguIvokTL/zNDxVErclXvlypJbTET8aGN9PqSiBekfIRBWHTpuBFEZs2rP/GtL8UZ8QqO3+/qXboheWJ6we2AZufGzYiw/02419j9N4ZdeeHYSNqB5Olu8LUeFlkDtMniKq5J2d7RfbWDxG/dD9UKnrcp/FWWWCV79rsT2bwfEzIN+vx/9CgJ3NhQMNBpkPRUJo00B76ld2tGgw2KWz9Wd+JOJonRv757XBLiO+OCrvNItoqlYAo5Ww13UyhbFpCP0LyYKiNXfKyQ1brm8mBAOflpiCtr6/5RihgvyeifAKs2OipbrtnEVp8ZHD1Ls19YQ0zKAyMiIbVmQTgwh4e2EKGK7O12QNY0TxoYhBbyOiZ9FkWC66DuiFxypfwV0HyeeJBhXYG6ZwgX20N3N5JdmFMxSX6DmgHLDbO94F+0qxkgh+8EPlaEDghhYhKuIztu+RRW7SvQgqCWbO85Lz9oLDhYGnC6nVrzrEerqfiuV//hrxsr6VqU7IbUSTOUpqd2UkWXM8i1lqruN7uzYZ+mxoY+WCAahRnGAFnek9DeQb/r/0LymjtcZXx+H6HYmJKRwshnvGe00Q6wk1XGyo8nw==","layer_level":2},{"id":"03c019d8-c4c8-4af7-b8b9-d24d0a6953ef","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置状态Hook","description":"settings-state-hooks","prompt":"创建设置状态Hook的详细API文档。详细记录useSettingsState、useStoredBoolean、useStoredNumber等设置管理相关Hook的使用方法。说明设置状态的数据结构、默认值管理和同步机制。文档化设置项的持久化策略、IPC同步和系统设置效果处理。包含主题设置、字体配置、快捷键绑定和视图模式的API说明。提供设置验证、迁移和回滚的实现细节。记录设置相关的副作用处理、性能优化和调试方法。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":1,"progress_status":"completed","dependent_files":"application/state/useSettingsState.ts,application/state/settingsStateDefaults.ts,application/state/settingsStorageSync.ts,application/state/settingsIpcSync.ts,application/state/systemSettingsEffects.ts,application/state/settingsTerminalTheme.ts,application/state/useStoredBoolean.ts,application/state/useStoredNumber.ts,application/state/useStoredString.ts,application/state/useStoredViewMode.ts","gmt_create":"2026-05-28T20:06:17.569362+08:00","gmt_modified":"2026-05-28T20:46:33.848219+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFQeF0csLmEQTq8U82uhQ32vHn+0zZYATCArHISZ+gUURGT/DjoEmh5qNGGmR/qGu934qnigK/nMNxtCyIMrEsup2mhe/kao9FDkfFM2UA/nTj4z9F+Jtd8BUSzMwfrB409iSLA9Dm6zJMbZKkg/hhXdR9wUN6CBxfQ8cm46sJhdlq0y+wUas7OzEN02CqugscRciZZxUwYsYNvhoLSduzzrYm7/6uziZUKHw7PHNlpaV/BmhRdDWOtdHUOZINoJFeR8eYo/mWHfL2dBvPPJRS3QKAHPtNdrYY8ge+hMP52Kv2FtnjTp8SkxshrTTZ08WxbXNSqCL/EvmuMh20jtptq4RjHKP2RF/o6WBudZlDa1vVaL/F+pG9jG6hbZH+OoQC3L4Ok5ZM97/mCgDrtOoE7z7Sp0vN9Zp0pQ4Aa2xlBKMAyiuLOZYrN1t7UJ8RkDqukGYMIkQItue81s9IDbSxcE0k9QiJqG7jY1sLilKbWECsy08WnovoQd5d76simXnrV41tS3vIG1wNm/8K+H+Lv2u6a10pt12xmwRK40WWaUMrIGxG/XvIvOzrwoTAEKL06KvONNw3sqMhkvgkZ3DCT7gkz/ZJMXeAFC5XE7a3J1ZMkJjGGfoaJLpNU8FOIBjhPh4MVesfYX5o3+QL2XOCzGay3GUQVDFYpogbIri+wRpuFUmT/lku5YCbO3XWvIhBjG4cNtByYEvXMsljW92bXOADIJmrAqp6vgcKe6rhCH+M1LFkbrol6FmYPp1b5s70SB9xObcvjMz1B3Lx9KThMP5ErKBXE/03Q6ymsg/NaG8I1DCX81UOz/JANNLdlXy8ns5JIxNn+2HE5eY42Uug80komARPFuEgQGKlQmza44wKgctLUWltLvZXrPgmQEOkbkj2Q1pvcR4/sZU2iiukzFszaiJgHzP8quZ/D+TGsDUcSCWDQd8apGcMJKBl/TGpnc1eNoHdUvNqOvv6J8wbi8xfTvIGRD0ChG9TD+lIy1kxGmzCh1sWacQa1VlH2eTrD9YBUGN4cRetDVzZ3d+2AKYL3dahf8Z0uJ/v3NURkmk3UKun7T3MDGc5Mb/Ux22i+QbKyt0p/tB+jGzsaZQLU10CERdmfBHVdUXEeQCPXgDq/sf5HvMq98/EhSGufifSEgkoPrlSxa3IeXAxfJy1YcuUVfJpTL3qvZyo2GaGxpYHfBudPNJbuxtpxOCSdZLNvxmet2Bvvx0T9DLkPVtY7z0GeOswKvJnDQQHWHHyyCgQiUqNQkZ5stXZQ1y18+naAe43cK0/Y/XLM40DVo/G7ftuPpV8rsKKa4zwFM7YKjZQ3O32ictfQnsSEbXqMoWjqgUh3xqA6ph2MdhRD61XE3p0Zwg3Kes0XmoUyT59RjdHodt4BLgyYgKPynbOGf9czav5I/i5JdqFCd3P9Iby2Ij57Z8qE3qthYmVAogx6vIBgicIlqt7sms42+H4llZL9gYf+I2oW1TRS3CflMbcpXaTmF2xCKqg9XjqDYGBl3n+71AAkqNneWEYpiDD5anhKyEFOlfgbiBn/I6cDKY7Ng=","layer_level":2},{"id":"543fbb38-22d3-4edd-beaf-500a9d27eb05","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"导入导出与备份","description":"import-export-vault","prompt":"为导入导出与备份功能创建全面的操作指南。详细介绍CSV格式导入功能,包括文件格式要求、字段映射、错误处理、批量导入等。深入说明配置备份机制,包括自动备份、手动备份、增量备份等策略。解释跨设备同步功能,包括数据迁移、版本兼容性、冲突解决等。介绍导出功能的使用方法,包括完整导出、选择性导出、格式转换等选项。提供数据安全和完整性保障措施,包括加密传输、校验机制、恢复流程等。包含常见问题解决方案和最佳实践建议。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":1,"progress_status":"completed","dependent_files":"components/vault/ImportVaultDialog.tsx,domain/vaultImport/csvExport.ts,domain/vaultImport/csvUtils.ts,application/localVaultBackups.ts","gmt_create":"2026-05-28T20:06:30.343934+08:00","gmt_modified":"2026-05-28T20:48:30.779974+08:00","raw_data":"WikiEncrypted:jfiGld/9+H9KtUv+q1149WDS//olibIBo0tW4NHoA1OhLGaJlg6Sai/gXpgwgypsm9SJaKitVpi2XmFyyhJct3qoLNoyPChnqPXZECiSvCHdH87PEbPkCxVJI60142hDyaQoGGdu/AoOXIsccGtfVvWaD7oRS4092VQO9V2sDkJ2mJ0Uc4ZSw38Zj3bmYkquMrw+oIajqXCDmqRz1B+vUvefr7xsqUCVSrcJsVbCT0bUEgKOIiEhDqMwkEzxw7P6rTTriBmECBhGxM639c1MfjwO5oGBh7cqNrj/SwWkxGwPor3NX+S6iDe6opf88Babwp7fUt7enbIORNnvjF1JnPUsOw2z+BZwCIr26h+uTdvDuBOuoqPVIUF4T9t6PcxSROqvn8CBIgXo/pOMan9pB1ODYkMopSnM0SOwuYrl9gJtrdq6MBZv7x6zDcl0WQ9wajrO4xCLKOU4Hxkj4BED9CEbNuDJXlEZtaMGFLyl8fOFEYecZUgSY3fg1F0IhPbrgGayROXRaadMcOSbQu7rRa0ALoasXwVmgSJ9zAVAmVEt6j9zKmOpRHeFAj3WKONw6ZnYk2iVJtG/SDXg5y11YwyLhHmwZrYsinPKM4QOV3Vgk4QrvrxzZcM+OvJFa9mw6nKZXUjIEKsbfpqdBXZXeMAg7Ffg6owg/A9qw8PGz/HG7FIyCSExNzn41jn+VTZg/LVGxNcC2tghvZfl52oCnCPBhtfMH0N5tUgzzTNhANa1vi0iilQX2JxaFoJs+aRQci19cpVN/VC+bURe7Ahi4jUgY7Xs45jpYWITDBIku16lqh7HLmBymYRZBj9pjrL1h8Eu/RgMqUcPbsKomgsIBq4O1VcjOo2e+rQ2wl+ldQ/zlw8jZjtr/igNx7rLEIg//bTt0OdSO+vE7gdqaG2/4Bds7kQ6X4R8SUuMKB3pkec6PfVhRyK3Vmum8KPCUiWH/VSUc+n31NFINcmKAigEMEx0Y50Y0e2GGhGAW/y5vN1VLzpVhqJrhfL3UyNopnyrfZSCpDIMxQySP6dVazgVCriAYtB4JYPlqUX0rmIVaxtazaQ4vJdFxC8Vitl1Bcshhx/H0/NtbAF0s0b8ty1uAWn0Qjt4Z1d0lNQ6W+rZ2zvYizYhmI0+HgEFLQu8216cSjIHHF7JL2La7mvLL9ex+O6ITEj1yesJ2o7Ukx8rChy824jICt6M6DxuL3xpAF/J9ZvOnHqknGKwfvHQWeBdEV9OYF9dQTzb02FeP3vh6gtYNuuxBV+Z3sO1is+vEAI4983YS1oj2wk039TdNj7Juh2HzS2j5qPAZHddZ5OHV8K5+E3s6r4vMTs0XwqUShRr","layer_level":2},{"id":"0e8576ec-5da3-4ee7-a79b-721f16083b55","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"自动完成功能","description":"terminal-autocomplete","prompt":"为终端自动完成功能创建全面的技术文档。详细解释自动完成系统的架构设计,包括补全引擎的工作原理、建议生成算法、缓存机制等核心技术。深入说明各种补全类型的实现,包括命令历史补全、远程路径补全、代码片段补全、参数补全等功能的具体实现细节。解释自动完成的配置选项,包括启用/禁用设置、延迟时间、最大建议数量、最小字符数等参数的作用和最佳实践。提供补全触发机制的技术实现,包括键盘事件处理、上下文检测、建议列表渲染等。包含实际使用示例和性能优化建议,以及常见问题的调试方法。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":1,"progress_status":"completed","dependent_files":"components/terminal/TerminalAutocomplete.tsx,components/terminal/autocomplete/useTerminalAutocomplete.ts,components/terminal/autocomplete/completionEngine.ts,components/terminal/autocomplete/commandHistoryStore.ts","gmt_create":"2026-05-28T20:06:31.734336+08:00","gmt_modified":"2026-05-28T20:49:21.877784+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjN+sZFbyYJcHftBnMmJU63fPtfWKEB9cnA7D/1gi2Cxsotjn8ejlC01O2gKspX1qvnu+/uQSlOoU++ykwNp0O1ZQmeuRxWb0ztDz86NXJyV/rGGLhUdb5KLko+/bu8kY4Dml7bk5BadWH+j8BgTh1X9umqOTvXdtS7qws7DPrxXMa/1zP7VfV3K1AImy/TCadVsDpco0ddg3oOzI3D0m4SfN9MJr8n4H4Kb+YgkJNQ9mFOxc3Wc0YW3En+i2swgs7gEbH36i6K4Uwt43492rHIwZL5Bg3KzaBJXqQh9ovf0UHPuLqnclyGaor0AStPZBH+09LTeONBvfMM506uDdxtwpABGjsDP0dkYCQBhUGRWF8aCEGuN8Yk0/aY2BOjzdoSneoTNys2jD6Tu5KGMIAyvG+1cdjgBq8qegdl/2hILT8OsuZRVl8GwLRMSgBvpetfY1Ld2Ei4exdd+wNWDVtgV07nH0z9T34bq4TOsz+lpDYh6plM7tJl+bzbVPjsXW0XEPjC0wkHyLtZ1TU9KLxBvC+ICQ8dHkyoop7VAuFP8N1gSuNl4dCdyQQFsVvYxQZgxK9J6t63W3uVC9iknC+nLHvHZYo44v9vzjYS2UorN68fzGjlpem8o9eVkQpptDqZwwjFdi/iyL5PuEyziNwiiyUbQCMhJp2DkPBuZ7oJ9YRnoQZwxRBZXqPK0kwV+p+4PBbVV8ti0rpB7NcTBJoOdbjVoSce33gS9jFS1rl2hF5DrAEMSKWRqmSSpXI3MScf0+QN2rvDa17D9NhqGk5y9+V8wVjBm9GYR4rN+qyeTVA4bpigXIpRRm1xuwYwr4fsJmZd7IblbgV2XdQ/jp22wWPs1t5l4M4JC7/NZWjl/+fxMrgd8Nthif1l3p4D2Fbj6t2COmqI2P6U+UUnKR5RV4VyhyH59rTCqtVPnFssNahIQlcmKDUYkJk+ZelQky75tUjbfq5BbpC4+2yNB7XnTHTwGFV4qcafGf5bPOttX6RRDgx0E9sbsnw/1WElqe7tTSlQ8MIub1ioRCSRV/uCmBg5MfYaelUNSvDPiYreoAM47k+eMIdfZhhB+ovbSP1YY0LwoAYsLxGAIjjvlMeadN1/PhSlwgbDIgRkjjTog8qtNAxJ+SGggtb53T0NeHHLi4OvRNIFZfYOqANyPBUGwvEu9UW/x8hjSL7UgRY7HHOZBcAhioHF4XthrjV6DJOw/tmNp0IWpsheYQXTXmxYSg9OhaSREBuSFmzAYvYf4tiTHbabPouUwkkxFkyjp7EuWUcKZUQXpe2fEBt5YxsCpKw34X+I0jFyRbFEby3Ook9rpziFRxvhatoShXl328zRBG0TDNadofcXC8fJncBci/DeRjBWxh3pz8KrY3h+itxUgYdXC9hiXQY9KZYB8s7gqQKpsc2+nQJrUWfs8OcrZw6+UmzV1h8ocNxKTZxJFkH8OXneT9braKQPk8TQ18uUqL42eplTysuX0efkpKe5nMTxczJYcgpXR0pw+lA7WjcvLRNVduvVUqjYQEzMD28UiHWRzYdEgWpe+0t0m1WY9Elsnolrsf/4pG4m3+hKme","layer_level":2},{"id":"65f95f28-e6ac-4777-aded-6ef175e0df13","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件操作功能","description":"sftp-file-operations","prompt":"为SFTP文件操作功能创建详细的用户指南。深入介绍各种文件操作功能的使用方法,包括复制、剪切、粘贴、删除、重命名等基本操作。详细说明文件权限修改功能,包括权限对话框的使用、权限设置规则、权限继承机制等。解释文件移动和重命名操作的具体步骤和注意事项。介绍批量文件操作功能,包括多文件选择、批量重命名、批量权限设置等。说明文件冲突处理机制,包括覆盖确认、跳过选项、合并策略等。提供文件操作的安全建议和最佳实践。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":1,"progress_status":"completed","dependent_files":"components/sftp/SftpPaneView.tsx,components/sftp/hooks/useSftpViewPaneActions.ts,components/sftp/hooks/useSftpPaneDialogs.ts,components/sftp/SftpPermissionsDialog.tsx,components/sftp/SftpMoveToDialog.tsx","gmt_create":"2026-05-28T20:06:36.995984+08:00","gmt_modified":"2026-05-28T20:49:05.757133+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnqOpLopxiGyJ5KPw39eckfMmzou+5MFTviOmjuyf0inDRl/lDiJjlSJ9UR0qhvyU2Xb1zWkiujoJdI0YHfKdi8umsJFeNO+58kpiOHBSWcMd+LmB0cxt0aWvxtIfJKPIpykSU/PohHBR2gbNB9RhC3F4saNlW+XY8OwMospoLjEYBE0FcKe0eR9C5xqY9Pth92xpoH0tgwFddhvCtjanqlwK0l9xpC28FBRCQK5UDSVvTCTvNxzckahhXdoHw/+pa5ETZDEsAvoaABU4Drow/Jb9W63ChA6mpS4NLmA58506haI1VBw5hFxpfHnSkesPXbfFD5u3CnstUxyFCiZ71AiF9PAzGPn9r9xQnBUz1wNFw9/L9FiChuSN5MXtlzx+yR39201hoRcWsKWscQVBcuTDK2yOCDyIQ94RtJ7Z6pDDvj0FTGl4wYzZxeeFXV7bOptwoD6A0FtoN1B5ImJx7zUCb5QC2BXnwCGtH6H8d2/f7MF/YpH5yZN5quwKwMuItzIxu6OSo7yjshrzWJblvH+mn2aRzLgAmq4Xxf6hi+TPmCjmgHrQGHvV3QT3BGiECofhqMDge+6+Pa39VQoWFBtZThIKq7pTI0rS0iRVB9adpGtv3b7hkYMssMdirBVHbn+WvJAGtI5iCY6/kXUrjQrLWhp8vc31jCcl9SuQJf4W6ZKZjslrwGgb+1IXcD8GFpF6hTR5DsfKERZrn9TI+LRVv4SWCFjTCkVbA55r5PAkzGtiJar327zVYFtLFOpP1KsefPRPcwnUvhkjfTXtjtQivQlVEpxl6g8u5XGJ9XtNLbcRvdS0ogpE6dm5aLuaoVPzvWJmS6CJKZ5jKW0YZI9gGlwD9L+s+Wj35pRQg7TO/OPO1v0AVAQSvrGy12dr/GVbFLY0njEBKKV8CWKu6yBBH6n/A/7k0K11YNJKGSk1I0jolDnlCQOYYbx5Wc0ZaxgA2Aok19iI24pfiWkSs5re5PCR/uhzjdHbe5rNt/Rm7jJhiZ7+C20lffqgLrcrZ27nouG+jY8VpvdXu7totJg6cADYHCDmSs5rmEOfsgLF9Cc9VLimrvJumNyAW9ovo6RdF5mm6xjhPQnJuUaPIQnuub7DfgZVOsKpbDpYZLQQDE0TgfsbbB8aUsAb9rMrNpORY6dWzOccTEZ7FpM2/VZ0yEpM3leV4o6pg8eBknofNbdikuvZ+aZ/3e7OklpW3EJXnfnENNFDA/W7RVlnwxjtMvfvIGNeEwVV3WjDXN3C4n2FLDIjc/MPCyWrj8TA/+wUT8uZF7STxSt9Muct+SiOWxVvn5o+jmDM88NRSt+F/BQ5/51Ra5SSfB8BT7ePzfYA10J3ws+iA6CmI6ilHwXQBBDu8RujDpkdl4ExlQcGZ+Qk20jJiHpv/h7Yi2N+8BLsWyVnOOE/Husp3JFBU7ioVwtQvNfor66nuC9cIHug+5hAmZQoaF0eTsIfwpi8XSpqf9ZTG6t2UoLKS46RrcYhVybOE2t60ivvWduBVCF4","layer_level":2},{"id":"bb641495-1f33-4d48-a42e-b1cbc65d7beb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"代理管理","description":"agent-management","prompt":"为AI代理管理功能创建全面的技术文档。详细介绍代理选择器的实现机制,包括内置代理和外部代理的识别、切换、配置等功能。深入说明代理发现和注册流程,包括ACPI代理的自动发现、状态监控、启用禁用等管理操作。解释代理历史管理功能,包括会话记录、状态跟踪、版本兼容性检查等机制。介绍代理作用域匹配算法,包括主机匹配、权限控制、上下文感知等智能选择逻辑。说明代理配置管理,包括模型预设、参数调整、性能优化等配置选项。提供代理管理的最佳实践,包括代理选择策略、性能监控、故障诊断等运维建议。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":1,"progress_status":"completed","dependent_files":"components/settings/tabs/ai/managedAgentState.ts,infrastructure/ai/managedAgents.ts,components/ai/AgentSelector.tsx,components/ai/acpHistory.ts,components/ai/sessionScopeMatch.ts","gmt_create":"2026-05-28T20:06:51.15387+08:00","gmt_modified":"2026-05-29T16:05:13.426322+08:00","raw_data":"WikiEncrypted:GQFdSJOKsQ3S4UCOLD0PX4FQhFuum02aMEDUSCEF3h3Ty3neroA4sWKKiVF4/7iiRpKAYQg9yVBQJqnIelnmxMkuBgF0kabxhXgegpJscB4vDUCDmSyDQhXggmq1idiKArjzFG3V6nuh7K0ilTfIbfJFCjazT/IGajeFyJGPR+gVeqS4f6FrKS4Zhv71+hvu+Mkl6CZGmp2k3j3t78AkgJK/q7t4y4tUk0kcX+WoDjqj+bYZYghKXSrzte5N2qJ4m4MNPTnISQDuyhLJxv7bv+uaC46ODz7iGVE3FDphC/dkg7sHGzDV0i4aSfjVyfYZEby57x+LQs2kWsuVdPftx4a+42PtjyuBLBrLLN+Sf6vkzRSiu1/ihJoUfUzpzWMeH45gopqT6O7d8D0+6E5BOtZ9jRLCGbnX1EExix04I0oYmknMD8XEtrTZIS27lPF1+l7NYvmvUOsN+MUPhbleNczS5ZDHH8hKpKur3x0VxW32qUSccnhAi5IbPBTTNXCfLzLShNyrXRn00UtTdf7IR9KNBFcpSymWb2sNouKe0RTgdF6WAJQwNcooVnxXkVZw1PBJwcCJopVrZ7zhYVWxMVL38P/H9VNb2ric1ZSkT2+Do17nF4jmunEpIctnBGtKIb+5SRzJEETy+hlM+K3l+rmKc6fjU5DmbracTMuwOiL9sZwifEU0kzlyX7p2ZfeK5xkV5lv7hveNSGrPH/CWhWeklKsdCtDnbW7PnupfE0OUhF9swAnzNKcyY0Pn/SM1b38nqpvck3GzUKIvEjxJANPeWYbhURHIgy7N7dtmxurj/gb0yu7wFG7Yl7vzRXt/+rIWJaQm381muTz4r8TtXqDeTJObrVkCQaMk6YiCvzt/Um8vqrTDPy++fuuecLsnRI126SnZPRdEDubrt6lHO8O36Upd+QbpsQJuu/2ium+qGDKFuINzcn/S+6DekXlChOzzdH0LgHO2eNR13aBh7PzT7rSDD/5i4rc/yuSdVZtee+AxOdVBNqHB8ZHIbagCbEVWe5CKzk49rFVavdJ3tQBX9RBCFbYxdX7FPxvYwpIn+RXIMP0nzA4sKr5XQMTwwO2s5Ry3lW5IW4trMWPU1G1lEzVcnLw+JzpguFZRA3pwV5H4g4vX2F67UcAiqwsRcUtTsrTfNWychHg8puWHdDCEgOJjPbJBM7YKjqKWq+d7fPHhv0idvvRXUMbfGECFoyjC3nLlBcHc9PvcZGKUzrxSY47VRrZN/r+Q6YNynjh2ublnfCffRU9SVyjcC/YghPq88AhUXUTof/mx2lKM6HDymeDGHZUfCF7RMhxi8gQt4+K4Ws8pSx3slCJwraJ5IUTwSYi3/DHSMDDQshohBS0Mr8bbWOLDIq8nMAM6RJ8QR7lo7MkuzqcVNhXA9EMgB0cq3Rw9ugswLK8sWlZ16LETgbyQ/i5Kzs2cEKkbS35RkK4gD2ncXHE9QW0zo/Y2mublYBVGhQ6j6X+pqvdWbNBhdvOa2smvgFtKZPiFNng=","layer_level":2},{"id":"f21a1842-6cf5-49cd-bbe8-77311dc5b845","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"技术栈说明","description":"tech-stack","prompt":"为Netcatty创建技术栈说明文档。详细介绍项目使用的核心技术栈及其选择原因。解释TypeScript在类型安全方面的优势,React 19在组件化开发中的作用,Electron在桌面应用开发中的价值。说明@xterm/xterm在终端渲染中的重要性,Radix UI在UI组件库中的应用。解释构建工具Vite的选择理由,以及相关依赖库的作用。包含版本兼容性和升级策略。提供技术选型的决策依据和替代方案对比。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":1,"progress_status":"completed","dependent_files":"package.json,tsconfig.json,vite.config.ts","gmt_create":"2026-05-28T20:06:56.177882+08:00","gmt_modified":"2026-05-28T20:51:39.410236+08:00","raw_data":"WikiEncrypted:oBrvfSzFtfprSLUQmyvOPvoGiOBBvTkFwTu2jPQeykOsCXLf7qhBrgPx/JE155vqk75WQGkLvb3efj/1qzjYKVs4X4oAuNWWFf+LuomQQuu3c/OvRbIF4aRp5lLqbMH4Nk/2GdbUCfwSbBwqubwYzffP5MozU3VKtuwMv8mQa7NzX0iNfBppdtD5d57O1rg24CooWcO8d7MCJ3yTJr387dYbjGEsVCn34idEE5fyFMz8KrzVnzrf9C2JExtlgOKxG8/g/4sjAPq0xqgwXsdDjmRSkEd2Vndk5ZaWkKXYleZub15UFjQLro05ppF2aRQMZHzRPoKFmVnq7LNRf7ppquzDMSMVFi/KIpHsroFBGmwW6ILr3hlxd01ukpROtefzacRCUc8X07AS2ezZTSZMbRgG2VNm0j83BusVlJq2UCCT5OejtnjOP9DTF+5f7IUg/hQUTZy0B8MSBj8dCLnHblFH2Hn7watXcP/8mciMyg8qC0QurVQyTGJfP1XTXcc1dydIy2Y8hQogstHhTXcvue2TnC5/5uT6V9sRK1b3d+Q6QIaZVBD6AROfu7l1r8FdRL3Jg0mlBkHPlo9dfDKGZoHEULxai8/W44KSKQIsrtYxLV2mCFK0/ioldH3l5H2qR/gCFQTGCPBsOmLIZl9sfaT/6KwQVrp8pSbDqZASV/HkhO5w1fP/vaBeZwC893KEQzYfynIOFeaLeD4CeYTtGI501SjWEdyZT57d82yHSROQU6CAZ0Fjm2Nu81AXk8vaprSV/utIq7wFuD3DronvgL+Ubg2qEl8azoanpSB3Q36UrYbCZaJPa9h5jaDCu5FHw9Xy26kpG5ZC3IigE2ybygUSV6kHr/+Gn6RUJmdoYDw2Of/xp/7ut37lxA6wJ41u5Pns8PcoFVzsbjIu8RrtHcoLKCLH0g4yqAwZOgioqhXEJuPbMatosa+EmwbvYL1+b8tYhII4l89y1NZyZRDl9adduZUPpg5W0WzOcYepFuMXrEOE1lNtiYIrRxmIKKpVF4HffB89DTcN+YwXEZtVuw8d97lBW7jdiqT/8PXcKIGmAnj2MiUKKqRNn27oZk0kV1BJgbt+vAKHC3Aconyfrg==","layer_level":2},{"id":"af3b4fa1-5540-45d2-a8f0-5da6a08e1577","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型","description":"data-models","prompt":"为Netcatty的数据模型设计创建全面的技术文档。详细说明核心数据结构的定义,包括Host主机模型、TerminalSession终端会话模型、SSHKey密钥模型、SFTPFile文件模型等实体的字段定义和关系映射。解释数据验证规则和约束条件的实现,包括必填字段检查、数据类型验证、业务规则约束。提供数据模型图,展示实体之间的关联关系和继承层次。说明数据序列化和反序列化的处理方式,包括JSON转换、类型转换、默认值处理。包含数据迁移策略和版本兼容性处理,以及数据完整性保证机制。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":1,"progress_status":"completed","dependent_files":"domain/models.ts,domain/models/host.ts,domain/models/terminal.ts,domain/models/sftp.ts,domain/models/connection.ts,domain/models/history.ts","gmt_create":"2026-05-28T20:07:11.127134+08:00","gmt_modified":"2026-05-28T20:51:20.935188+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzxL0nPpsuPMPxr5hj83lS7zLbVY013R4TC8XNEUYbb5qxIyzNIzP0UIL5gcgWgb2Ak+tm4u+/D4jYOwuwcop/MvtnvGQhmFN79isTX1muzk3+P282lOReWUR3PGdLI85g29keevFKnt1taAFkFh5EgmpTMngdW6HZEphuA+pfmwA8VroKQR5KDycM5nfv3rkwH/yUj1Qg359heiOcA4z/aTx3sfYE3URoTr7vu5X6GQLdnPkJFphyrYgQTnefhEDh/amzDtsnNk8urYyLUZ5t3jbmpa5NgVf15VYacigezfS0dsH7VwWgEdmCW7yFpSt4LHEG/cKAokktlzgAbp1h50uktRxqyxlhDhVN7p+o1VRWUK3xT5jMozyT5HF6Mw6BAKW/xW8F4ZiIG8zAyZOeOoeWasYBRNWoziO6Bs0Bqq9m5cLweS5Glb1zybH2XuBddUczDdcA0iTXiyWUJndmqe/2/pDr7cmwBQnGx+T+Y7f5+2zvxctM1sarRfu1GdBBlMx9scqq96nAq7AhxZNz5Iye+77K2MT3LyP0nNc/0AK8J3p5cxfy7b3fxOIr/W4nrraXzhH6JtpxcdAK42htLfKvp9/QsgEix0lZkFecG87zGL1DQxhtKGQt3dVoOD2nCfSSVJbdA89/EMknQucZrzP4H7mY8lOizv9MfmoJJYEivvlQGAfYouzzmt5PiUU669BkbHEV6qWwVw7ae64S1PqVQ8tajSpIXotQzOtgxRRywLOLhdLW/peRTumAJUA0SypUc+ErKQ6fZc5tL0SYP/U2wRFKiupFCRfNsBwntPSRoWL3gAULhERwmpd76cXS6U2I9kgID6Vyjp+tMf9l5n2byPT3p9jNT4f9YN7DJAeO4FNAP1hAuHKmSL6iIoQlxobasm/xfc7G74+Kp2aJ+r7gmEH4A6xkxn1bM50vRjGFaE/vSRNvJdepGQYtBq6qrwW0/9FV3eKsGwZosEcMw2XFJxUzXqcwm3T2sLvMoJuq3WLAa0Peou3HZWTX5BfYaqaZobUo0Vmc/RXxvZQ02YNJHNNpJt3gFjSa2nJ7QLP6sFHkHro1XGUI1YDsAt9iWBOUBOxrge0PJ5QAQ0Yxn14uyZAsaw3Sgdn7wYpg07c+vv0x866JTg9gOSDu4lWr92v+eagiENFoMyOYHysafJcYVp5Jvxfyb+QB6V20dA8UCTZAJRfng3YKBHFKDsTcX92PljKMke5PIKz8XEGNc9vtr/GvnWHL2MH38DmTQ/c/CrqWUmBFGlREA6rNxRPx6DmB1SOMJC96TWnAJe+35p4y1GeTUseUIfBN5TuKWISjyipm9/ZQ/pBL8zO4Vxnw==","layer_level":2},{"id":"aea259ba-0cb4-4f60-b819-6fdab52f91bd","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"外观设置","description":"appearance-settings","prompt":"为外观设置功能创建全面的用户指南。详细介绍主题系统配置,包括深色/浅色主题切换、自定义主题创建、主题预览等功能。深入说明颜色方案设置,包括强调色配置、自定义CSS样式、主题变量覆盖等。解释字体系统配置,包括UI字体选择、中文字体支持、字体大小调整等。介绍界面布局选项,包括侧边栏显示、最近主机显示、分组显示模式等。提供主题导入导出和分享的功能说明。包含外观设置的实时预览和效果演示。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":1,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsAppearanceTab.tsx,components/settings/ThemeSelectModal.tsx,infrastructure/config/uiThemes.ts,infrastructure/config/uiFonts.ts","gmt_create":"2026-05-28T20:07:11.894215+08:00","gmt_modified":"2026-05-28T20:52:23.242217+08:00","raw_data":"WikiEncrypted:DKQNobJ1HI3aQ8/krZaNMY0MSQEEWbgyF/9/ntfO6niFD/SYUZXvuqiGMhyQVRHR5s97LDUA+EzSh5W3qovclXIK4uEuFAkmdXShm5M+Uz14nwl3LrqAiuJw8cnwHBDCWBAQeFMgBLAw50yTntRd+6MS5FjNJrNVI7W/4tyM8Tvk7jIBgGWrlKTvnG4ddURNozZyFkVoBuuj10YHbfKtGXlTJQUOizmyQf8kDuMQZREam2c47qccN+S/xMQRr9BMpY/JauQkiPBs2DIE6z393hzKhzeMPgauel5YFAqc9og9+0cuVXp+iEusG0DrjRI7XpyYthXZVe58IIBqknjLZVPAUb5kVOHQFKnjcdwURAGG+KEYLtOIziJV5jAmXR1z6qvl9U/ROsgQZiL7qORPo0UBfjI6rqrq9DqVRodxCzgg720NzIXnPQ/OzQdlbR+e32H98fxczXJwzO/TwfHuiBsZEyM9/VZo4DnYmBx+2zz59gW/Qo6N9U1uP4xG/9InwORO9UFNULiedaEZguIsaKPy3sVhGdP9oDl9cO6+GaQNVKdqeOGdoldhYGt6fltQEy3zeBasAm2hNREQh99ZpEk/0NrlI5PWxE+8/l50kkGh0SRZzEdDXhaAz1y+y1CP+j3nViGgqlZgYckF9wlhhr24iUL7O2mx0DyQDfLEwY0K8jKy4My/oCo1qsGlYANG+dICTLmcA6XFSKMP6fYVypfinypEI/BB97vagpHz7pbaxZTemDpZ2INNmIgKxYJLCJuH/AalYg6KoXew4mkrjHjVqPb+I7OnTHwt6EB/TIcbXzk9OVsHTCY8+CkhOVNE99CD6pYhGVmZM9rwQBT+/9CMRbC/IGphkLpFkCq+ZnYVMpLO3DWY1hcPgfSeDks9RfWl9e5isumEPz2qqDWxcjIEg3bsGEXFYHypuGo5MBuKlv5XMwbh7qokDJ+HWTawnlj3WmFixwEvkRQVQkil2QnktPGA0Mgd91G1AsLdY3gidhm2UAzS2HTPJh/YG9NRndkumfqGC8UHc8gLaoL0wBI4ejNlfkdnn7U/4NC6E5gvTImhUXQ7UsD2os3elm7yfZJhqE8LUKvFSPKXWI4wq8Zo0V4t1w9k6f8nTUwn/Up0Ez+0IW3aKkRCi/yWa0OghvjmezpYa2pw6W/rMIbegH7rNm4SyZdu4fji7QTKMLyHfJ6Oc85PIlSdlOFmlhBSRsyldZuCwnhxMz+MdCd4u2URNX0EsAshrY6tX6VA9UeMlTu8h0oUDwDuPCye4qzGHfTqHuWCXm0QyJIuLpHSQQRtDhr+a/ZIGXqT5upZj3e75JT/ViZMoXJoBlzK5bA6DqRC0hRjtIcEJKyjJMMydQ==","layer_level":2},{"id":"b5087fef-552a-44f1-9c4c-c6fd70eb1a72","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"预加载脚本","description":"preload-scripts","prompt":"深入说明Electron预加载脚本的设计和实现。解释预加载脚本在安全沙箱中的作用,包括如何限制渲染进程的权限。详细分析API暴露策略,包括哪些Node.js API被安全地暴露给前端。提供预加载脚本的实现细节,包括类型定义、错误处理、性能优化。包含安全最佳实践和常见安全漏洞的防护措施。解释如何通过预加载脚本实现安全的IPC通信桥接。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":1,"progress_status":"completed","dependent_files":"electron/preload.cjs,electron/preload/api.cjs","gmt_create":"2026-05-28T20:07:13.148994+08:00","gmt_modified":"2026-05-28T20:53:29.566587+08:00","raw_data":"WikiEncrypted:zCeb92q5gvzQHMTHwsr80ug8ITU0jvEjWzqXZHcNFHowQWJw7w5bPwsIR2ZNOd3rQYYMUy7U2NoVtaVjbfswhyUsJI4XADLtci0KtF8V+m6Qrt9bPUh9jUGnvyjlS1M7vAbyBkflbkNKvESgTN2Sv3EbtQhFBo5qeGvXgL714nvoK5zX+q/bRsgrJkdBmSbwjVsUJOgYPZ2f+r2fNgr+I4oKmmYCBtRVcIzUQl6gGhQ+iM5559nfxKwl3SrH6oIbZ/yBmvbjF9x/RB9Kh6Pykx52sSCIpIyGkxJRpvpZlD8EwE3LjOUz6MgGm3egUPrZRamS7RJmbiQEWowbC++TsDU8u1f4Nv6PxzgitXZ72jSkMBL+uTiiRnk4jSshGEBplkbsSum3ZmbV72aS403MTcrCxL+Yje4bldZ0OEOejQ2LzvwN6G8OoPpHDoddAZ87mjdobTE356zsObsRTbV7fbdsYS1Tne5skXVx2dzoLhxZIp7h3W+xb6Z8sWIOgE5WxBtlakzJ4s7tUFnFTZHk78/zR5Vo1i9+QYwXVv/z4vl83vFmTiWOlkYpJjVY/siq9Ue/JzzMiXDJuqyfT0k6EDrqgcRZkWPgXueLIatouy6kRA2+jB8OACbedcq+Ssh7ukEl1BuYhiLtS9owZfXB5M211FsmIt4bzhDzrV+VmBjBBWRiNLbxeHGKWm1SAuRTUL/C1IJVe22PYvPE7xUafKO/0ICTzaRhK786dNyxvICfiq2F4+w25HE3j0EpOlkKoJLH3UlW64GPy9aSOpn6j0NitpoWHWYwY+zmrEecGr2TkNrgNp948EgZxnrXE/PdzE7Cbqh2Ct+jKykikHA4208e843dTtdjITr/tgpHWOZ+/arTH+WwBTpGfDz2n7ISax6eAYGjlntTUQUMIGNs27qxeb/YQX9+5HqbDHKr+FSL4Zbh3kon02zZLsH0zebxOKy5VtV8EqWZtP5xIu3dwi0li4QJQoW3904DB+6VtCXcXhlxsnVZcsMYrFHSaoQ9NSpM1ImrU+LnvtXIpGVUmQ==","layer_level":2},{"id":"4bb1d350-1bd4-4289-a7bf-a0901b7406fc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"加密服务","description":"encryption-service","prompt":"为Netcatty的加密服务创建全面的技术文档。详细解释EncryptionService的实现原理,包括对称加密算法的选择和AES-GCM模式的应用。分析凭据保护机制的设计,包括SSH密钥的安全存储、密码学安全的随机数生成、盐值管理和迭代次数配置。深入说明安全字段适配器的架构,确保敏感数据在存储和传输过程中的完整性验证和防篡改机制。提供加密流程图,展示从明文数据到密文存储的完整转换过程,包括密钥派生、初始化向量生成、认证标签计算等关键步骤。包含密钥管理策略、安全审计功能、密钥轮换机制和安全威胁防护措施。详细说明跨平台兼容性、性能优化和内存安全考虑。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":1,"progress_status":"completed","dependent_files":"infrastructure/services/EncryptionService.ts,infrastructure/services/credentialProtection.ts,infrastructure/persistence/secureFieldAdapter.ts,domain/credentials.ts","gmt_create":"2026-05-28T20:07:29.922615+08:00","gmt_modified":"2026-05-28T20:53:23.315071+08:00","raw_data":"WikiEncrypted:Bk1wQ0TRVArLL6ArLjPCdqNDi2q6+1TsNhN3c0qUcRxaTwwxM33mLt5ro6egqMgdmUDxPBzsfpr9sUED3R4iI+O4KSRu1Im9KkwIi36VW7hqaYxfXmj89/ENy70ujzuUKKVTrboRZN/IsFTAT4dFwZTPO1ef4krQ3L1v9jzRWjzbx7HyUzn5flqOGcy6pu4CJsy7rIhRrTg1FeGi2gPL1EuNkSKi9UQ6FP6StJ6JpoksQJqbooBSvYXzk23MQTl2PXd/0+gBt2lDVYsDgA22yDRA4LYN34RNgxndCvEPe2Rfxn3suErm9F6aJIuXU/q8GmwxJpgoK1ojdebVHsJoiiOIEK8PEkoLzx8hQhsjANFmIPAc0rQ+1exHhaqz1tKQrzfJO3zqITs2EwRxz9ahPFGP8OeqUeqJiVo5OUqOO8WIvXlq/yqYPG1zTZtpq+72xRhZU5VqCM2yKEteWmRjopPqtvEBzt854a3UM06PhshqsXR3llq+t63WvZNujIDFbdPV7HVfVFzbdZ+exehXhLQN6gDtVRyv44S71wkRq5uO/Kqw4ilBlQpDmbJ/EPqB2UXDIfUklTxr3lVKxDKpH+lZFoYKS9Cg0uFMuWpJ2L3sF5gMcoIHJh1n/ALMBOAW9wVXxIl4Udp5it8u63pwitNcZm1Rj3M+nI0h9pgJXavQG99JykOksjfHNI1NgJQULX7s4+I5bNTTvtxPZ3231UuWTZ+ZVg9AyZHsmcOyZiR1GDBoRK65SQxiXB1pERbTtpyybfM2vOYylBfwbJbvTzbPY6nGaXp9STRVNj5vAeWLXf++sglnBRlRvH6TvlEP4XXV3TScmsK5vP62sHeCj6KyBgrU3Y7DZ+Ssnv9cSYiTbOLZtwdB7K+qGacqW8fCSAGc9yZyxa4ibCkGkQDrq3K6mHRfxjPFi6kAhNoDQC0Yc319Tso4tev98G66+LWSDGOchm6p+HAi9G/kWAScnxbX91IrN/h20qn8WrYKvYDsN23qGUyB0gsIIVqfARmoJhLcGbUst+hMrbhu6GHLXNX88sOmcztv0a13oQrcLS78ePV0x85siHp0vUv/5KS5fQy+j/VHVdX9sJuuxIZBs0oaPOHE18O2uP9eGxq9HKtiKoOTuMKkgZpYlncPhf7f8WWX/plrH3TiinWH8RrWUkAalQ3h5Z68Sr9Hq20echi+BR/EE3WPG4YXThZeJGM0ZYp0kZcZjiDwEyOeatx0tbOloqKXcuH7pO/M8Lrne42HG2UBT06+yRTbk5aemoa6WMBE7UcEjV9eKc5W1ouBSmdTwuJjYHgZ3YG8Aack7X7gPy7prkTOfeXQEYoBsvRKcBP8JygZDInvBY9tVLMqHfI5lMykEP391a2LRA79jqNKLJB4GDx15eK8v70ju+vwzwqOfco5ioCYtyyoESgYdxondQrQazqwQvlCcVhLRMrNmYLxKQfz2Li0MPUV98V6e6utCOc3LEHh+B92NmMeHCI9WOcM5IZXac1VTHNKzNe/bo0RrvEoB1Mp5Y4AP51ZWekaU5nRqNwWQnHFdKAxq6SQxBE9gnqhIsum26iLWQpAJ3x6ZdQY4chWNv5qFHrf","layer_level":2},{"id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"用户指南","description":"user-guide","prompt":"为Netcatty创建全面的用户指南。详细介绍各个核心功能模块的使用方法和最佳实践。包含SSH客户端管理的完整流程,从主机添加到连接建立;终端功能的高级使用技巧,包括分屏操作、会话管理、自动完成和搜索;SFTP文件传输的工作流程,涵盖文件浏览器使用、拖放上传下载、文件关联和内置编辑器;保管库管理的组织策略,包括主机分组、标签管理和凭据安全存储;AI代理集成的自然语言交互模式和多主机操作能力。提供每个功能的详细操作步骤、快捷键说明和配置选项。包含实际使用场景和案例研究。","order":2,"progress_status":"completed","dependent_files":"components/VaultView.tsx,components/Terminal.tsx,components/SftpView.tsx,components/AIChatPanelContent.tsx,components/SettingsPage.tsx","gmt_create":"2026-05-28T20:04:49.697046+08:00","gmt_modified":"2026-05-28T20:09:18.455788+08:00","raw_data":"WikiEncrypted:g1KqSTtvSE4cpwDOyYAP8LNO0MIQAfyvA9uCFUGoup4vFX64uHj8XW7YLptO8JHzLtEQ24lbwQWKj1gRzvMoNNue5nlZyQFDfcfSoucaaIsgDhQhrpn2gpmtHaJoXsa/1HvLziLsqO/274D10g80RM7AmxYlaDVBxqBx3af1cXWQSH+N9oTbsJ4NSnoTYM0Of/IKYuPIRUCCNR6U4K/l43cg6xxpg0po92t+17dBJCbQirVvj1wsXuJUETBcQbDMD2DRZ2k+5O4QORzn8iHTdH93EWlHs8zrKAJvDE1W2il2yZwX4hXzP47q3/lGzgf9waWs24qkWxIpLEiVwSL1E98RakX3arftGinIkcqDKpq27D/DsnGRBes/jJOUXw4sWLRRM6+i5wUHjU84aixiPC7s24I7D+Nr+V9nnqfMp7RA+HSffkDO9jIR03rIJdFrvoZehlwkGjjK6AHXd9PMdVxF9yyz5/6aXE4DSgunMC6b1KssvGjHZLMaD/4bSQJbIuV+beisXqDIRJmgypfAOiol0RIGDOhPcLE5xJa+u3ytbEH7sxlT3qvEieAhzOmCoVBHf+H5UUOpQ4pa9oQQL/6dutiwrJjjb0VUMhByrTL0X4+hYuFuLakrFmVTVUeC4sgK9vUkhMaPKbPcVbx+NYewuqNtxI3lRz99yAZmG/9XrwynvPvqE8yUIeZXmDdBNoWK1zXmmCzHyEySDKcwKjuoaA5CgaPjfloUOM2Kjm/0V/Vqfp3zi3MmVWEWoymQCV51zXL4Im3LKrm2HKzbX5b+3ZzVkS+OLywRUOek5En7nciu+Ji0vwBOUQ3auVvoF1B7Clrp6o5YPt/9Vw+RWzaihem3aoW+imxzve+sW2a39xPOCdHgwNKCL+/8/kfGR2WxmSNE4DXiAgI/DDJ0q3uCciL8QWQmVI1WGJfsO1+VzeU89FG5y0y2MA4X7KXEOpOuyRnco2o2n2Dv4xQEavazGQdM3BZiTXBrCPJbQMxfTG/lnKT7l3G1HclCU56OfNa9Tapq2+W7ZGTSz89KFd0Y6M6lDYZK+sfwNLX6Ei7RytyoLXWR2JP83NnmWRvFi798BSOzfOCr1jTmgEw7AkU2W1flGqYrpMHv1MfcczappGRP7EGIrtKdYXfOJpGM9racJXdySr8mY7YHYYv2cbbUy+waKeqgIsFCOiUQJPRL8T1i4sUTTfT1RzGn8K+EKKNM/gE3WWfyAYqXTyoVVPkCr8N2l89uG8An3s/jo/TgqyJgUgli2fOGJ3NhyM9nwQwcb8s1rvVHRxUMIli/czNIzlICVOHD1HxaNUxeJSDjm5bO4DF6A1SxIpeT4OWM0oqwPeKhbALpyMu0rgij3dMhtgTl6ZcAHY4phLhYimw0aPPu67F7ezh48z/TVFiXYq68Y0SbSQFkOlow53DMKwDCXUjRB0iJg8vkvnt4PChQJZ8wtQwzhYugpcG2S+cE+FLtUGSFfHztPSC1optSpXtXbZme3c0+tcBvxtXyjgZ+WCQXvBK9ydkIHNTbAXFB5BPRTpCls5AgbemN9oZoCQ=="},{"id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"状态管理API","description":"state-management-api","prompt":"创建状态管理API的详细文档。详细记录所有React Hook函数的使用方法、状态更新机制和数据获取接口。对于每个Hook,说明其作用域、状态结构、初始化参数和返回值。文档化状态订阅机制、副作用处理和异步状态更新。包含状态持久化、同步策略和冲突解决。提供具体的状态流转示例和使用场景。记录状态管理的最佳实践、性能考虑和调试方法。包含状态快照、撤销重做和状态导出功能的API说明。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":2,"progress_status":"completed","dependent_files":"application/state/,application/state/useSessionState.ts,application/state/useSettingsState.ts,application/state/useVaultState.ts,application/state/useSftpState.ts,application/state/useAIState.ts","gmt_create":"2026-05-28T20:05:12.557405+08:00","gmt_modified":"2026-05-28T20:23:05.903358+08:00","raw_data":"WikiEncrypted:29DQGcj0Xkj5ar8OataJBNm7CU+12ownBEixUjUevTpChppreAgkSKyD4othC7DDPl2QT30Arl14pnNr+84pNDSp5AMfNybvIg3BWfvOGVRgeSIFg6zUgHhUenxYXiJwhyqWmLGJ+UmdUTXsDf0wy/o2WQQi9I6HdHUmL031bfb4Cf8wSS2mml6T6JZdX8P2wenkuJIVlzke9SjnwpNutiLPJtsN4rmdaOFBar5IVohPzb5T/SCuv+iDwAVoyC6MMawpP6TlxNJ7d4y8BrTVSUXuXCx+tqMkw2KcWom+JEqnGAnfC6v16xL3csUhtx0bQvjPYYKTktro24AcvyQ6uvOVQNKHCDTZ6oQ3hLi/DgG/lrgB8rwq+weyt0mdh4R5S+p2wrC1BzCPhl5+pkdJi19DBTCInnefjFXUiMdrsd7Y9qfO/zig8DM4t+t74Pm/4rxM7AyNeo9UGhSpnZmRApTWrmciA+hGEP7EuISQIAX5Ka0SD+RTqSghn34CUFfm1dSAZyQwcoPkUhaKqUKqgiQGyLtFrKYfD9bk4Vscvg4sztiAQx7QLfRXzbuGQ4IylzmTuci+ATRXlrsk6faoOssuTiMOnXYkOAIr4oN23sHzJARIrCvBG912U/9AtCzMkmT5veTeAkIM6mGq813+qFtFnPjE8x52scjTrQHrWgOiKs7U2/0ihqFPtaCRkEBiEHPuDLUAx0HV9wgvi7W0bNQr9yQdCYaXqgqtLc6LnPm+Ow4LZnNzBMqAfOe4fDIPzs3aL35YqtzAzj5z9inINVvk25ySE0VxUvdkm59YTSW/7W91YGfosmFp/hyNX6C9LEcKZu9hFdpPl/4CdWi9JBDoi+mOhLnLPOzVM5qiqB37yVXrq3keVhuus/+UMhu9xpByjzDWnsKqGdXdfhR6t+C6e9IZmjjRpfQ0LLJnKZH1KyLz8S/XxxW2VVYZq2N9knSDTSfxKGYoEMb5m1HD5eWKG9k4z7y8UFhYi3GaNKIK/kfK/jJtTc2dSjpqFTMv0BWywfwkiY7Pc1aNf/8a46JpcPsz1I06ZorLU0Yj0NA3M0I+z9TNEG5u+yP5rGXE6RZx3fJrRJd76EMzy82r15TEVtZigrLOChmh6Gi4l1mOO7OAnC/hRP2nTVOBCtO3BZCuovg+HmTCWX1JwSkJjIzschttNJpiXxkPZH84f+FPZoeb/yzb2XO18z8vOZb5OCHQPExd4WxIpHonHuIUdIfavuO/MIwgsd5s5Qyjk4mbmurJ8H/A8XmTIzl7gfyLxSofFzfHuvfgPg+AeXrq3Dvabdyw+MziSslypEUjLCIPzyAufQwfjO2fE+aMcqeUzSP9BNNetEQsYF3418GpT6Z1iOznWkWW96gOyE6Hi5bVCiANhdbaA0xhyTwKXjFze0+lJhNk7ewS4gvXlhOvuoaHI50GMuOPqmtnagVtSuKbApxvVV7YJM2/uSN0jsul","layer_level":1},{"id":"bd3266f2-d226-4e56-b968-4fc41e840104","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP文件传输","description":"sftp-file-transfer","prompt":"为SFTP文件传输功能创建详细的用户指南。深入介绍SFTP双面板文件浏览器的使用方法,包括文件列表视图、树形视图、面包屑导航等界面元素。详细说明文件操作功能,如复制、移动、删除、重命名、权限修改等操作。解释拖放上传下载功能的使用方法,包括文件拖放到目标位置、批量文件传输、进度监控等。介绍文件关联功能,包括内置编辑器的使用、文件类型识别、外部程序关联等。说明传输队列管理,包括暂停、恢复、取消传输任务,错误处理和重试机制。提供文件传输的安全性考虑和性能优化建议。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":2,"progress_status":"completed","dependent_files":"components/SftpView.tsx,components/sftp/SftpPaneView.tsx,application/state/useSftpState.ts,electron/bridges/sftpBridge.cjs,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpTransferQueue.tsx","gmt_create":"2026-05-28T20:05:22.526828+08:00","gmt_modified":"2026-05-28T20:24:23.508148+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnkCFBDhdLhs0qq8EVp7GtziAlV7+wB6B1QNHBlk8EJKx3O1QefjT63HunLOjZDtJpkKsJEiGF7a49tZC27Pl565ZCzKnkluQje/ll+7Eb+/cBRIVvghA/hpRqHGRKqxTTtlvYC8fNgC6ZvIhp8WSQ/Ic8AW+bgMxriwfqL3RwIG5QL8tfJR3zKQKcZhIhrWgHxkCPVDW2s/wDEnpbmzmV1N/mGXwB9ONNv18fTb8QSyT2NusHhD+v1x53lG9N9pitsw2UrB1sA/S9V15gqD055QoWRCzG8rhZ+O4qwe5XdJBnkDefuEv8Rgqhl04KLyJ+Oom7whTCmA8n2hGmRJ4AlIyvN37FIlcz0X+L4ave+5Yaeft5HOyzi4pGr5FlZJQEP5WxpBaBBJPMmYynAmiY0CbrPsaodEf5A+MW7S/HTRwLxpIJsAIZNfmUfTAXQ49A2hxvfFDBoDrxCunAdkEx4GkL0mWS9TlySnGGTQT0YgJkJD5tJCNfee0m3YpNI2Xvr9rDYP1Cq6q6tNbl/2uSuwNfJld4iakvfnXeYGJOI5owRSGJ2kCaOsKS0RLKpfTBnEI7Ey95fLNgI2JNVnYsgPfNDCP90fIdFgqjMk32V47HV323U5viyhjHs43R6OmRGajHcxO/18tvbFckVDnHHICRMIOW97ZgHabzbcKIhBjkAncyRA13ki/dWEgjRDihS51ojbQ0z+tay5Z2Nv3X0kUp/6gCkXsVtMqiGIi7tHbegG45LPWjVhnqAvONkDU0i25PPz4ThmxElrrMMtr6jkEW6l2DmjRZNUIhQZxeGasOu7Tdy5JBCvU8gJyhvqgWHy5KbS8bH9bDH4jBxTa+dYxhV1UBOCUj8HcymVcp/41HNu9r0Fjed/EOU0qYhAlv4dl1YMVlLcpfkTCWCdvSnUoOFVt9YWBAyn63kUvAn/TCgn9LmbdS0VjH8hTXTEX90Rc/2h8xtcMpCyI80me0SDUezVA4Wvpg7siLv93pf7igmrpPW2Q5xg766sg1/XZ2tKndKSQP54KTuUcfh3VzQL9hrvSoj0YFJ6jcWWaZSf7C14ZZef/wJ5F5+2KWzU3zdxcr08TU/GcRQvgtQAMBoErcih5Eq9YpmXMY5IJCw87uS9hrVPmZwuPSUcUgbSrsH/ggGInQzuRFodB1dNRVaFsA3URE8QVO3ynOKYiJKRUtn2NPHVCft+BEn02Ev6MUV0J2zBEGRypq++d8cPtC/wFZUd7h1N5F3C9XbTSumaPx3IIZbBOb98AThK6Buxgg8naAu6IeJ5ZhK3UX0JFcLOge8+mUywBom6/oWAdokzItwqEKQVzS9oIRMTyUnyOVWeTQlgQRo4WeMPi0DHFhCf2xAAfhie07Y5PYrNiPf7e13hd69clZUkgErMNnLMkcPPqMMGUYOdxP2EsuEh7fOD4KcEjB331N4rKXvmAIwb3+pt0zmGfG1x0wsWPhyRC8cLs6Sa8DqAx1cLlLazur/wDiCxHdunN6H7gTBCp0KiJUD1WFIQK9M13InvDmW5SLg==","layer_level":1},{"id":"556ed570-1cfd-40f6-906f-450d95ce0cf1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"第三方集成","description":"third-party-integration","prompt":"为Netcatty创建第三方集成开发指南。详细介绍外部工具集成的方法和接口规范,包括命令行工具、脚本和外部服务的集成模式。解释IPC桥接的扩展机制,支持新的系统服务和硬件设备集成。提供SSH客户端扩展的开发示例,包括新的认证方式和协议支持。介绍终端扩展的开发方法,如自定义终端模拟器和增强功能。说明文件系统扩展的实现,支持新的存储后端和访问协议。提供集成测试和兼容性验证的方法,确保第三方集成的稳定性和安全性。包含集成开发的工具链和调试技巧。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":2,"progress_status":"completed","dependent_files":"lib/,electron/bridges/,infrastructure/services/,components/terminal/runtime/","gmt_create":"2026-05-28T20:05:26.320886+08:00","gmt_modified":"2026-05-28T20:24:32.293496+08:00","raw_data":"WikiEncrypted:WxCGFGSl9zR6IDeUdkqKNACFcGLyx5HNn0UQzHtkOJVoVN2BLrMtPbbNkfhYYzEQGaeK3o4fBODff6YTXKxAV9r25PiA91pVAyCIpt0MINvO5TEzagiYmkeX0/qD++l8zX/bXS6/Xa4/0mQUodNU53H4Xd3JPbaEwPXoJcnfrsQtvNdYtrflHxz4Gh5tyflMlJW39JNYrhdXKUQ+oJOx6QQpLQu1/w3LIzL/fhJghX+S69KvJOdG1L04LA85Rv5pzsYQmo5cGtYSVvfki37ASqZH2qb9Tk5FOUtkabveMAM6sQdJNFAGWw11gg2UgAr6LbpdbilLFO0uyGzNpO2FlU1yhfhzZIpvpcqscdqlgZuq3wqfpiw7/+QL0wpLS2/sOZUfgPZLmCDA//uWHEPIFU1dtp6kuZv/XuDJngeqFgNeLxsEp2ZlAQ7MuGEhPPKfNBzidRtpE4D0pGZpCMwZ4ZhM/y/8c/FcushJAmKBYoFnRvLdAYKjAqC1mviSTLCqg5UNdmFAzG8OxZY+59FnoRxyD1IS0DB2kT0IpC+toEewRQMePsQSg5nfYqeB9c2nJlDCp6JHroiZAPakf7moqVSH/daO+eEhPVSaP0Ns7DezMFfx5DDzyw6tJ7JjL8weBwizE77QWwJffDih5Q4GG6csDhqTspvwa3q7MrHqWsP6UVNP8mSTUqqJrIcd3PSpHoJvjpvnZJ7GrNT+WSMi1iGq4z/GI394jmGbxQLwHPA7D+cNbv04gUZxBnvmVRkqlnrHhdSL/Sq3YBohMWpzcItHhCMYp0Gp/ucf8VsxFxkFjIXzpRYNJylbAfomVGZwUm+UqSsS3HTpBxYiMuuZJL0MnOxZ62jFYxjqxnbNBJ2IcFIDqzLigKVyGb9FzsiIaGI/MIWLhCQtb22HeKZGccn8t/V5XL0ZrU5PvkfQq8wf/sNK+zc0tEk2qW4NZa72UZhxlM4/eIiSS+/48MYxyZGO6Sw8a7zroVAjoWFDKsfmrxftX7E44EiWtj9ZdJHoFd6cOlr6ZSkU2nrSLJaq3ajHLuy+HBrbFOaIns/e1k/PGb5+H3EisfUrvP2wHNte++nod7vpKpT1Li0qGhi5/FkZFJSwkM1kBOZ+Vv4LoHkT3XK4CtjPIJtU6NyNwAhHM0nJrf482R+b21F1EY7elR+VprzNZ+BW26V41ka4m+b5aKtediLZ9AlDaAHIzkrft1sbgYM7qrTn0VEFAQ/a+riplr67fUjsj5kNsv94j62bhHgosdgbjxJduEXBKthS/ulaX3fhneS4+S/YASzNLCrie4mD9rOhOVQWMzNvgRE=","layer_level":1},{"id":"da5af3f0-4251-4700-9284-7ee621720087","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"Electron集成","description":"electron-integration","prompt":"为Netcatty的Electron集成创建详细的技术文档。深入解释主进程的架构设计,包括窗口管理、菜单处理、系统托盘集成。详细说明预加载脚本的安全机制和API暴露策略。解释IPC桥接层的实现,包括如何将Node.js API安全地暴露给渲染进程。分析CLI工具的实现,包括命令行参数处理和工具链集成。提供Electron配置的最佳实践,包括打包优化、安全策略、性能调优。包含跨平台兼容性处理和平台特定功能的实现。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":2,"progress_status":"completed","dependent_files":"electron/main.cjs,electron/preload.cjs,electron/bridges/,electron/cli/","gmt_create":"2026-05-28T20:05:48.207496+08:00","gmt_modified":"2026-05-28T20:26:15.045066+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"f5e61dbd-beb3-44f7-b208-05f97451f629","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP桥接API","description":"sftp-bridge-api","prompt":"创建SFTP桥接API的详细文档。详细记录SFTP文件传输的IPC接口,包括文件操作、连接管理等功能。文档化SFTP会话管理、文件浏览、上传下载、权限设置等操作接口。说明SFTP连接建立、目录遍历、文件传输状态管理和错误处理机制。包含具体的代码示例展示如何在渲染进程中打开SFTP连接、浏览远程文件、执行文件操作等。记录SFTP协议特性、并发传输控制和断点续传支持。提供SFTP操作的安全考虑、性能优化和大文件传输的最佳实践。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":2,"progress_status":"completed","dependent_files":"electron/bridges/sftpBridge.cjs,electron/bridges/sftpBridge/fileOps.cjs,electron/bridges/sftpBridge/openConnection.cjs","gmt_create":"2026-05-28T20:05:50.53297+08:00","gmt_modified":"2026-05-28T20:54:32.303649+08:00","raw_data":"WikiEncrypted:Maf+1BBT+sdBc4z1SxSjjm58SgfmL9TsjKIObMk4uB2ZQ1ruKlIruMGXw4PsmCvwjIv2Y3lsfZjX+E7SvMXXP6cc6bIZzQAOrZouqIlXclFwegwwZi+MNAVUX7zBSx1Kdzt6yGyXsWI+gNK4SPfIoTcxBu+6zv78z58RrB6/7Ra5ImXQd1CVIfuX2O3vdzGc8VY6GxEoc8NlR+K9LVQ3S74Y+uKLxY/aPDgJf+IDid0+t1wmIilaJE1WbDOduviQ6Fqa3Ex5X8vPhjjf2UTvMM2+1vrFvHgfzIl3aLicu15tPH/pYpPcLVx81l1V5aK9UxpFHAinpoCEVTTB+1yePJVnTkI2+s7UyJklfSswp0YmP9fqYeYukYu3SKTzq6/C6gcjcMD44BkzPd4ZuX//QivSpGi/dvJ92E+FtNbSpREO6qJrP3nM1auhYb/pBtvcSI4WACrF3msDAH9wa1UyWYg6wsBdxSuVwigPpYHDkqCuzjTUuuXGn6VQpCD6dG9rY3bp1vtUEPN3vlK1nDEaRX7WqH+Y3kCrmGtcy3Scm8oCckXq7u8T1nN64BOaotbgFNDZmCL1INlrmMDzmW8ncOdCzNGZdrfO7xEM0NhfpWMDHfJY23e5+6FrdLcpkDbMR6bn8npyRGYgFjdxV6qSqRMrpNChQyVNGtbtBYQlXcxbwZ9jHyt0w8QBaJmHJ451cU4pU4CIsgFXlzLdYB3NjqnXNv0uvaIHAF3Or3R/n8kcvUjd7ilY28nPzOWdiKKCXyBMt0g4OXtYRYA1cYRJyp/SdsH4GwRIjXVwbMNYuu+RpxzcZqNbc4aSQW6WE7Fml5Uoo2gGJmEVzHqtygC9XLrVJQuX+zOAPlPjoA1qKSX39DOPswH8sjpNiKEhrpd5Kfz9waUCzvNvFpRhJZG01F3vLnvswPoE62ZGhsyQM7fAgcr8GclWjMgFqwj2pVr0EYtQUk3HW690vMSPmhMj7L5Wh/v5JUxh6+hidNnoyHkbgFd5njx4uRVtpaYg2Pdm6DYH8stAc4brLMvneh766uvdnNL+8TwY8nTW698VXIQZOBg34PvwWz2DxvY4Eee06xzCnvsIXJRrh/aZgAvE8THMMIEm5Lv8DMZ0EnQM0CIxw/SrScPSfVOGxFT41iqlF81Tr9VlbqsWhv8dyOXNmc9Omzb2quBlAJ8CdkoFKU/28OeZCT21giTrTnbPQfYKMxe7dAH/MdrlM0kYWi1mmy6r80/YBmPkwfowf5DUit4QgCFVcLMXAT+V95MoiCdF","layer_level":2},{"id":"371e9339-c3fa-472a-8aa1-01e31ae98f5e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP组件","description":"sftp-components","prompt":"创建SFTP相关组件的详细API文档。详细说明文件浏览器、传输队列、树形视图等组件的属性和方法。记录文件操作API、传输状态管理、冲突处理等功能接口。文档化文件选择、拖拽上传、权限设置等交互行为的配置选项。包含SFTP会话管理、连接状态处理和错误恢复机制。提供SFTP组件的组合使用模式和批量操作示例。记录文件传输性能优化、进度监控和断点续传的实现方案。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":2,"progress_status":"completed","dependent_files":"components/SftpView.tsx,components/sftp/SftpPaneView.tsx,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpPaneTreeView.tsx,components/sftp/SftpTransferQueue.tsx,components/sftp/hooks/","gmt_create":"2026-05-28T20:05:51.882198+08:00","gmt_modified":"2026-05-28T20:56:20.7541+08:00","raw_data":"WikiEncrypted:V6SBJOxOqVqHyrjzZsh7p3y3WtTasWjAFCuwitrI854leUgT5gCB0l1xUOogy4VEw+JCPKxU9GgPVmlBykeTXFOFsRiBXgIWRcb9QfjN+WzZya8rTGLQgrolsCPuQyRztqI1h0gbNE2ppbuovQvjoQOXb0R4TT6Bcs1Sw/v/Uy6qlSPB0Q5380idH4mA8o32DIHzP+st4ZXffBcBqH4Lb47VYaQbfKRj+tkhpQuhBDtlozPmpahl4TKI3MMyKnEY4Z/ddOxOyFL3SBoioxhz4iEKAxmhuRGnzBZ73MWy9nU+L9kZonfRHfnsLCbZzMoRdky5/MrALbMEzTs0lxDhJHhyFae42083fC56lASCP+sHZgfYIE4uVIv80iKj3BbgeB/xAKGpkGWxp4Izeibs5YSctpAvP9LXDfVk2yb1Tpw9pTOCKeOg6H/KJO49YCa1DL2lL0ab7VyvtOBmJPrbdS+HJwy27BO7vNULlQVJKWXyS9g3WeWvXiWkYKwj3kAh2HmyPsT9SnTd5QmgSyJtlrvoPNx2G1Z2j+QCRM+hwpSi8aIOELTruJlITXmvrk3Es5DYmQwJ59JSI3SgAvv5qOZiuqERf0qXJp3qhFMBGkd40zx+AjMQuAgDcvPnXUUIl4Nf3CavrhsN3+wNnI5gxF1aL4y8C2zqtuMmMLSgmwgiavIx/kspE7Zk5ACdw5pnWT6ENwD29E1loAawfZR3z5du/tm01R2p/y4vPKRbOKQsjcQp42sgQzVECvSU+LVU07XsuC6SWBVaVurzSS5nqceMoo2nsUq4GZLjZN7kH89e4wAgkiQOhZNHI2WvP9fzZ401NOk9aKluqkmW//BqzILhes0i/VcZxH3Jj8P2f0jChqCv2fL6aTuVR2p53l7aRpGfny5VHsb9c1hd79VT97aC4R+P/LqL8QxMvzMoJ6TOPi8SlxV8/Z5IHbqR2xv8AOnxaTeto/E9CPQfhQ/hSXlWU8oHhGruoPNlzt6EmKVZkJEG3TftSyKhPRcgaApu2umiVmCMFKpWtw3gcled7IqJ7Lwwf2FbU98Fm+SWxw2EdAJSIHE7WbwhZDrzQa6ietB+4hNYWerfYN2oTsWBNq4bb6QkL2HnBVmXUM3EL5UUaUbhZEvQmCeN/rxPqK6AiHrhm2iPoiosJtg632lKP7oBtbLrGRaHAAyHtDvlbjq95XY7+SdVfj+CaFopfFLycXvjanHb7wmTbQn1m5bFEg==","layer_level":2},{"id":"4d7ffc05-5416-4089-88de-4afeccb391b9","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP模型","description":"sftp-model","prompt":"创建SFTP模型的详细API文档。详细记录SFTP文件传输相关的数据结构,包括文件信息、传输任务、目录结构和权限设置。文档化文件对象的属性定义、元数据字段和类型转换规则。说明传输任务的状态管理、进度跟踪和错误处理机制。包含文件操作的API方法,如读取、写入、删除、重命名等。提供文件监控、冲突解决、批量操作的实现指南。记录SFTP会话管理、连接池优化和并发控制策略。包含文件关联、预览功能和缓存机制的技术细节。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":2,"progress_status":"completed","dependent_files":"domain/models/sftp.ts,application/state/sftp/types.ts,application/state/sftp/transferTaskOps.ts,electron/bridges/sftpBridge.cjs","gmt_create":"2026-05-28T20:06:08.451734+08:00","gmt_modified":"2026-05-28T20:56:02.763045+08:00","raw_data":"WikiEncrypted:swhmj8W4Qkl9biGmcvbwwlC2Qvr99GYnVq0XEZZinlrzIdCMZgmLhGBovVKbM3IBWGaqjJiC8stW7dKp6V/VwSHbsuk7kP0reVjKcJOfhkOjrR4ViwbrtTZ/41wp4l5knMopMGk08uErdZ4tPQiOLrFJ3HVlo5k65H+8RHIflVdtulUr+9NGZAcAxXvJqHnDQj4FStYk6tPYmB7pDFjp4BRarvgJzixMUcM+kNbQdZOmZI7pQJQVBt0AzWGMguqLoq+2pDPsslA4HU5iWYU1/gwjeAH95Bpw5B9edX7sOWohfPW3A6lC/ZHFGgkzGXQkwBE215TpWNYoMQsAf8lZSOuIDJqhplNR5pXzmjbLQR+K8W5ceN0pHVn9hcB+lMYYt5GgL6bwNk7dPJ3fm7KrGVX4Zh8/f+3yXrLzysOpE9rvQjiY7XVTc3DOjRC3FFhHtCEtIN+l8gxEWYVXbE+0Uk/bzfOqoSIgsR/bIPk+hCeHG1NmmB8TPubAzsApfIFTjWBVJgNeLABjjBG6LCz72yKR32pemXNltS0JgfUVcZ9iA8retjkzLaZD4O/9981sH1DZtnrV4xLGuayqyieAhMBFSPLtha1FT/1U3lKnA10Qz5zbCwXqmSfpkAqHJH/UF9WY7WUpcFgy0E7PoUMUbdyqDkoV9YHazExroMcm+ZYHu3tCnpJILS8VpTRqHsXbp+oQ9GhgB3YbQQ/a2y8Q9tUsjQZdcBjgtM0/0jFza4Qo1qEF3itNO8oPRkCziRhiUFqo8FHjlnkzBAH0GJy9MLa1BWzVdSPaZxuHdWie9j7VbtOVZ7lBFiycagGntEhvyEHYfZKtuKFMQPTar4Wooi4UjXrPEyL8JaUaqn4fAqotzqVVPWAHB6itcyfXu8UzJsABoB5zPHjk5jzZ1Qx4jeTifG6a9IkIb0sUOz5yhWei8Vvj/VUVMkk0LA6LsRNpizSqZhQY4ZcMpxlII9k7GD7MzX9YT2ijgc9PFR18YhUvi99GceaaY/QbVw+4h7yqVhRnyBMzS7qJ8RnnVtuXvc9oD1tNi9kNtg0Ytyn8T71Y7Q9UfAqO026j2OC4lE/vTPqFYyGX6pUeSRFMiXZTJMDGmVs3h1ry28zkMgZGxG0riuvueaCf9TgIihjoow1KCmsow6KNGGCgIzKj37G0XvKCH2ta+BRmCtcyWbCnZcnXJ7I7ojiKqgepUmZ4flJCq/dRTKSPtNO6iABLstBl0RFLE0V084AcpEoaHi2o4lg0udV6wEupUhQ56KrWdBsLfngT9J775CEPVuuyuOYAQsOQSeh2U4bGVYxT3eC0bRY=","layer_level":2},{"id":"dfa19a59-6ae1-41f8-af37-7dfc7d5a0dad","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"认证方式","description":"authentication-methods","prompt":"为SSH认证方式功能创建详细的内容。深入解释各种认证方式的工作原理和使用方法,包括密码认证、公钥认证、键盘交互认证、证书认证等。详细说明SSH密钥的生成、导入、管理和使用,包括私钥保护、Passphrase设置、密钥格式转换等功能。解释凭据管理系统的工作机制,包括凭据存储、自动填充、安全保护等特性。说明身份管理功能,包括多个身份的切换、继承关系、默认身份设置等。提供不同认证方式的安全性对比和使用建议,包含常见认证问题的排查和解决方法。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":2,"progress_status":"completed","dependent_files":"electron/bridges/privateKeyNormalizer.cjs,electron/bridges/sshAuthHelper.cjs,electron/bridges/sshAuthHelper.pkcs8.test.cjs,domain/sshAuth.ts,domain/credentials.ts,components/keychain/KeychainManager.tsx,components/keychain/IdentityCard.tsx","gmt_create":"2026-05-28T20:06:10.067837+08:00","gmt_modified":"2026-05-29T16:04:30.697563+08:00","raw_data":"WikiEncrypted:1O68LCvyq1zgacF3KZk5YW4/xVzMHveN9mCj4545ml52jH/1T8laYOzlVCjBmW499P3TKh652iEwUKwxO6r3mfclnfd/rIhi+ClePK15NxhwOJfl/PoCHJQDWA5MCvXgD9yPJWdRotOet8K5jgpjI9gpkfHbPrJyVFPguG8DLXTkmrB1PDvoljB8ABuQGXhhsTh1gQEnH+3OlKFINOeKLc9TRtlfzi/Tm/NiHatMbALqORMPa5gNZQotZh2T0n5G4F/yZCdeLLUt53OvlLNHbsdjihzQC2w0QiKwWmAn11BZwv6hTFM6LFIcpazrGmqXVsaCbm2bOmi9JWe/fzAYEFT7sHhHyX5vqWn+Pny0OJqIZphaq1MEm0beiqAW1AAdWu46mWiMEO/ei+SwdQrw1wEU7tH7kEZrTcim18WtsLIcHKYAJObJfehGsCX1fB5pKHiXy5g41zcRmcEZQ8+y/asxmNte2mpIeXp6V0TNhFolyCTX3vVfyB1y6Lf2wyS1Mu6JO6rmC8AEbkOYnmem2YKM95IElXTL+sL/h4gY9Caf6WakT3XyZduNniaQCRjcMpmF30mXbY7K9ANPZpZJ6feEqymPttfatjC4iWFVWmhnaP1jVBKL0iyynJNVWqhU8pOLTwXDXCe7jv6z0rFCY+zuZpL+RLcqx6tCnYjsmj5gbU0FoZ8VcuLk1f+XNZmvn/cJJOtKbQPCwfDQD55f4SODcENHupiA9nCsbdGmrW3m15i/VUamU+PqUxPeF4/TYxe6lQuFrrdAPN2LPCyek/H/PNZX/g9Vmmw0UAZy7UIgyj1TVKhNrgJSJwVyaVRpmFUw2VyVJhLUie9Uw3jPmxGKESSaz7rRAXIthWlfHR6wT3y3JbxBki+6ZFypvegvMryYxEU6aoD8vuhmz22PxP/vCfLZQmX1ppgsdB5rNghF93zYttCBxtbmQbiNNu0xLJx6DYr+O43+BqphlMQZppIYDNveCXId3EHjKrrqWYylL85t0KE7xuVDPDtNQWfw9Bh8/V+o/i0z5N+tRAFF6F9gYqb2y8YrqW8LWQ4jHnjSonNM+ap3hY2jl4fSacjQAb/cIZjJaFGCcQJCumnHHKGHqGQBhRKE2YFEOkvSjZ7tw58QfdY7V7xqaXwyaFKcJIc23eB53QUrRhBJ9T46lGK+4A2IE5VehrF6S5glOPqrsbBqlizZDKNid95z1uCvCRooAt6rQY9tPl92JnxIq0o5KeDeDsKwlcJFflCBb0rC7UpzD1qmnkfczh4ovJ8NF2rsLLZnixzUCLGrNijEw8TGcn1zgSU0G4GwSSV4NIurWflU/BuwiVkt/XzDNZmjqvh6qgk1BxJnv5M9ETk66ognZmgOxDnTxM03RufcUWhg+X0o0egMmsGZbNBxZv+BavnJMRxzchVYUf2GlXzK4rS8v+Ufzk108O2PdQW1cooUqXHdTXaahZVbXYh7Q3e8DSjh/ewueAiD6GdB0Ng0aHLfq3JcSxpLLSjqYaQObDtvpsb179Fmsy1LzZKvwmYz","layer_level":2},{"id":"c9f7477f-6d5e-4f96-854a-19ed0c429466","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库状态Hook","description":"vault-state-hooks","prompt":"创建保管库状态Hook的详细API文档。详细记录useVaultState、editorTabStore、textEditorSaveCoordinator等保管库管理相关Hook的使用方法。说明保管库数据结构、主机组织和标签管理机制。文档化编辑器标签状态、保存协调和SFTP桥接的实现细节。包含主机添加、删除、编辑和排序的API说明。提供保管库导入导出、备份恢复和同步冲突解决的实现。记录保管库相关的状态持久化、性能优化和错误处理策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":2,"progress_status":"completed","dependent_files":"application/state/useVaultState.ts,application/state/editorTabStore.ts,application/state/editorTabStore.test.ts,application/state/editorTabSave.ts,application/state/editorTabSave.test.ts,application/state/textEditorSaveCoordinator.ts,application/state/textEditorSaveCoordinator.test.ts,application/state/editorSftpBridge.ts,application/state/activeTabStore.ts","gmt_create":"2026-05-28T20:06:17.569463+08:00","gmt_modified":"2026-05-28T20:58:34.487801+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3r5gZfJKUF1AdcmJx1i0X995HgdM6KPNUQ49Q5YB5tPqwGsqH5CxuxamgigOA0HtwBtchU1sSzM1neEna3tBHQ7bWXEnNaU0sxZ0bw1MqrglBoOZKdXxkDkm4jwaWM9+TuhYC3Z7CDuR0Cq2oD0PaOzh06TkzEHjXi2ooMKpmAyth9BqDa7m+9mhGhhqYFuik2S6yYA1YqXgNstXExjBLsMY6o8+a/9tP5d645Qagcq3zq5VKX+OwCPJ81DJ7tHqcBZBS1cBICkUFEVWAJu+GEPFHAvOUw5FEhYliy11cp21QFIxUWtkJFwr0HYJHcwR1zW8K1EHCxLCIFzpb1pNwGcG3b1845Hlm1V7F8Na6FVmDoq96uG8IJyLUF9kiL/HL6JZPPn/rmiAkrFwcLTrzIMeXFkt3XDYcdTBUDK0vGnStLZMEhKFiuZi5xrI1rcjFtvjAtMUoPH1zuY6Exe0IuDyVGkA8bxrFWuWBgaI0py61uDjja1T3jvYSF1XE5/9drV5epDEv3DQIVUB4G9atZbP8vJ/I5Mu7kR9eeN9eBk8DmRlCjLGoF3Yc2OtBaRC2gCcRpSyhevdrlvqAY8OkfO1gzRKlZQe5/OIS81O+gYaotJoj0pffz0+txZx9d2fFyEJbbGGy+eLm+Az7jAI/LK9KL3BD+ESRyde+ihl/ryxlTixqsUCRQz2o/w2gnWD9H600/IQc3ilJ9xrc/yUk0FYOf6Mt0G2M85H+7jhywFhZPPNAk7peq9pd4XeNmh3v+XYC0F45vLQDFHgR4WaZk5F9rctr9JInmd/zdVx/16x/+S1pQkIhFGjFHVpv17hk2+c7ZeifWx/GXqzSYjEsbIdekL0iAyGMq7uehZWcdM2FPLivs00ALjTfbKnCpIe7BqSprnihGHBiYtV3bxk8NACK91dUCixG9eizeZ2R7Kf+LKDaZIs4x7MB64uUy04cZAoXYJeHxzqQB+Treu6GJnvc3Z+achE6gJwm9r8ToyLgz6BlEi6kDD1FS20+cALBjkw6CwZi+Xr1Xk3++dPtCQ0Vd+1X9DyN06hpMileIx4sj9KG+zL0ULCBpXlkTB6N80OOp5qoVqJTaRSx1ehxB8WveOiEqpokfk2jD2aIyQDswHcw3acHpMw7BOqWgs/zClcgSmgjFWGw27KImn3yV7thlwCWLpRPDFEZuYKVG0kjwLFkShhci/HTSTuEje3pcO1cfrLctI7O1i+z6YasJUEZZcUJxJ0+qcQ/l1ic0kvnKbsZ32icu/52p0uE5OFIFkqGNeeBpVXr/wtJpgQLNJPED41hoSOP+rpPiAavvnaEtUjieRmVkAFrzwGOXFRYhSdi+mkjsu8rJsTkL4BdRsVlDZ/+QqVOPVsm8uLixUnu22D+s9w7PvOOtz3KBZQF9rFyGmWe7wVsUTEabvWSEWlMWv5YZDsRcRUiaCi/Tmt2LUqfbU9leCtHwF5CMM7iV+NgmwJdpgnf6CKFC0LXQg=","layer_level":2},{"id":"7d32c18c-49bc-4690-8248-e2296c3b0159","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"标签系统管理","description":"tag-management","prompt":"为标签系统管理功能创建详细的使用文档。深入介绍标签的创建、编辑、删除和重命名操作。详细说明标签的分配和移除机制,包括单个主机标签设置、批量标签操作、条件筛选等。解释标签的分类和组织策略,包括颜色标识、层级结构、命名规范等。介绍标签搜索和过滤功能,包括精确匹配、模糊搜索、组合条件等查询方式。说明标签在不同视图中的显示和交互,包括列表视图、网格视图、树形视图等。提供标签管理的最佳实践,包括标签命名约定、使用策略、维护建议等。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":2,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/host.ts,components/HostTreeView.tsx","gmt_create":"2026-05-28T20:06:30.344092+08:00","gmt_modified":"2026-05-28T20:58:21.634581+08:00","raw_data":"WikiEncrypted:sAdMLjEpcxajdAKOCNqfND2nHzYJkziLNMRbARNqKOjZoOsSXlLJLDxfYTDKa+BlQyJ/ALTt/6aQScoAiMouSM2V7fyi8UQSdXJ9txHxM+fTxwDENMR4DWUeVNSoESYthbmeOe+WxxGcrXCCMTNuyJbGVaUg2M1y86QLLU2klvOCxJjal0sRviHibnpkCdpQmb67eh5ekV2P6TBBXLH6FwC9KKQY6pd1NOIkTbxppGPRis6fh2dmtz1GsfnjTQZhRSWiaYEB1Q5etUaPXJ0mODF94hK4jfKYWXhWY7jIi0Lh3asLhrRN4xFxVbYD8LjUFWpIUcsW7APY8Ixq2AqZB9jIEx0NKJITdH1xno1xauEWn53x75Pjn2I2kRP9P3l0Rx+/xMkviFy7nTgl7hOM61FJlWT3z5yLgo3vXnVp06z+ElJY1H9VuM1iLyjDyGuXT/Nj1H9i0vU+h8pOS6SxbjEhlosaAj/EkSSc0/E1hmvvjZn/IKl/Z5Vw5qrBgF4gXLshm7v7ugRQ4aC0Vh4MWgyGFIFWZTCCtobH4rXww3u5sKFY6gERPSKO9ou9pW/oTZUQaGIQhPct5nhEybxOUmzj2GegzzzZE/SNNmfDTYJD/1ZTWihfXMEfDax4cngTnHBTnbig/chSGmDPykTvtLyU/TZJ2wSzlpuITKm4MhUbhdAj8zKm8EfZtxXLi3CASBQCaoSDTprLeGxfVhuOm5zByKrKS7A6z31CwOA3iz7f+T7491OMXv8f2nP9Qr1kSXUjw+VCLQdN2Oxfjn5ZzTrJc3XEYwR6Www3Gmez/rzYGV8oHBEoBx2nC03VmMSlkgz2NK7uVuxosP5tMe1S3g5hHZ9oqle9x2EUjUyRRW89W+xZVHZKb6o7fSi3G/Xpel43HDCA4ztLOWWOPnivH6Z+9Iu7nWRXvd9Ong5BfUiYxjNzmwPRiN4X8KWvoryc5J/5NBSe8iGmHucYyyCZ5+xVBLFdhuG8nio/8YGM3MkCen0lxOjbnUZWsGmBqTOILtaSKqDw8u8PWesmCVks5GpUBRf6P+gh/IZLSRobqppSulc7UfMjY4rD/FGUfAcw5htulGRwbsAf9PZiApa4dl7qa9pSf1/xyXr3Rn3Yss9Rfi5Q+lRVenlj+YJnvd92ppFqFtedtQXuT3jYU12qLzU4gGp2VpeUM3S/5Qftb8S0GmS+e2fey4qgLkdX5dDcpM/aaDtlPguu0EMJtQO0rw==","layer_level":2},{"id":"7464267a-5878-4386-b52f-5b5fa2ef0315","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端搜索功能","description":"terminal-search","prompt":"为终端搜索功能创建详细的技术文档。深入解释终端搜索系统的实现原理,包括搜索引擎的架构、搜索算法的优化、内存管理策略等核心技术。详细说明搜索功能的各项特性,包括文本搜索、正则表达式匹配、区分大小写选项、整个单词匹配等高级搜索功能。解释搜索结果的导航机制,包括向前查找、向后查找、结果计数、高亮显示等用户体验优化。提供搜索性能优化的技术实现,包括增量搜索、搜索缓存、大文本处理等策略。包含搜索功能的配置选项说明,以及实际使用场景的最佳实践和故障排除指南。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":2,"progress_status":"completed","dependent_files":"components/terminal/TerminalSearchBar.tsx,components/terminal/hooks/useTerminalSearch.ts,components/terminal/autocomplete/useTerminalAutocomplete.ts","gmt_create":"2026-05-28T20:06:31.734701+08:00","gmt_modified":"2026-05-28T20:58:37.58907+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjD3FibYHeHj35G1lgTCeAi5G5zHAtv2RBUx5GheTDGjFOzes0o0WzWf2tdKrwA57ldMzthih+06+1d0hz1gs7SxQSkKPQCCHBJV9JjSRcwnPnvWr5TVgWbIzSouXHv32d6Zx4m9NvvUBrxKosp4qzEATAc9m7nbvxvrItZds+9Muj81Ir0hQ+g+DSkTDTPEwXQzDm8BCVE7cISJ0igPe3Mk/Tx67JiVE0BrjcEs5U/I+g3PjVd5NpkTVnfizjqctHCSoxGEW3UKtkHfT5q98BvOPcZwheGx8rfqMNycsEz9MmsTRg43b0Yc7xKETqwmDckccXwbzPQJUfnAMzQs1/D8j0P17aCTbxJGkg9NwtvHV/t5ruLrnni0kYc/fJEhY7DExYrNflEVNZiTDkEmAdLjYsLRHZFUcfOMZZAKboPhlVwuygGPf9nQkV3/fYFmDn5wz3YEy0OlRwRLaQuJqbLQg/pq1brQIPkbGTatb0cvgFIFe7NCgnYapB3gxmA/WdFeJ/dH+bJPWK5ujsvbODSbpcmEAHyz8C2oBKvVfz/bPS4sB5S2NaHhACPyAISHtKEmC29juG9dSlQIItkPVAZfU/kwzGq8+nVWe34qFHZ5UE844kZUiCect+5DG6ryoR4Siv7ZrKR5T82JQNO7JDX5bah/2MjNFTGxx9LbZW4wsVuIQRLTlQH23wa87DDJCDntn890bZ2gscaf3bLK7/VfG46GuszljuPklGfknv9LUpMAfsRihygjW3aPr9e+KKDWGGImzJOTy0Y3h/yd5KwXFUjejqdrrv7730PPz7zeKnqYDuzDq6mbfsb8T/ZA1CTpqJCsDwc9GD8XB58OKVWqn556hDp0fZj3noZ60sK6+sJfA4IJdxP/HlTT4r6mK70pCxKG8XEs0z7x/G3IuQ+6tVeGFpTHu9vBJQw1PHmXYysgcmo5k9nUjCrECm/AEaAUrL5sHDMke+h3cpbEzTW8QfdnoZxVZiBQ+yxjM+CAnYASCwQn7Av1FEvtfbZx61MAYW7eLzY11N+ilyj+dpoqvqoy/5cAS5WHL/wD8FffZaOz6/wIFzJLzLM2QuGlsUyvrE/OmNoiL6/0oEeaOR5sJ7Ui9a7KaodnMhQBkt7jnE3sgzeHPC0xnY5ethVOKVZynis1JIw+3sCgt86U2xqpIAJzVP1EPEkEJePRg7DOM+7bQO59qye74NjMUXvPg24gnHBrocqjCYWkA8aVEskweIbuTuqzb/Pn8pZKFlVdKKYptQOndhpuT3hi06lKpjeYgJfLndW2Xwz81Bwv5HgrN9wCg6TvSKVUBc/m9t6TKf0dcFo8JkLiLjtRXvYLfxs1Ds8J4p+TQtMObd+Xj3bxkEgHgXGk+lac5IPJ0iGyM4VLkkaBb6JHo3eMeHAmbQA==","layer_level":2},{"id":"57b18839-40f9-4af4-9a44-e46ef4e2ecf2","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"拖放传输功能","description":"sftp-drag-drop-transfer","prompt":"为SFTP拖放传输功能创建详细的用户指南。深入介绍拖放上传下载的使用方法,包括如何将文件从本地拖放到远程服务器、从远程服务器拖放到本地等操作。详细说明拖放过程中的视觉反馈和状态指示,包括拖放区域高亮、文件预览、传输进度显示等。解释拖放传输的限制和约束条件,包括文件大小限制、文件类型限制、权限要求等。介绍批量拖放传输功能,包括多文件拖放、文件夹拖放、拖放队列管理等。说明拖放传输的错误处理和故障恢复机制。提供拖放传输的性能优化建议和使用技巧。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":2,"progress_status":"completed","dependent_files":"components/sftp/hooks/useSftpPaneDragAndSelect.ts,components/sftp/hooks/useSftpViewPaneCallbacks.ts,components/sftp/SftpPaneView.tsx,application/state/sftp/uploadTaskCallbacks.ts","gmt_create":"2026-05-28T20:06:36.996678+08:00","gmt_modified":"2026-05-28T21:00:34.813278+08:00","raw_data":"WikiEncrypted:vFKxQ8aURhv19P5Srs3fZ8LYTF3b7UUBp7pUuBrbybla3gGSPVDOPJZ5GIKYesvpKRCew5pVdpSzQkk1PP1PO6G3p5UIqThtAo+8aTMYVX8+MVu7hvIpoMK3MwcqR8TAanDtgckncWdm7s/+KGQ3mbdY9uZC7PbjxDGVlrFoi/W0VVXKUw/ub/9o/6qBOqDCPe8anIC/B/cN2jDT3D0176oRAX5v5XAdd8LBub1I0KG7lKFkwaDrBvPAvLBDog3wcakpbCyC+gxu3NKfFvWBBgKn81k9havLLvcX6mEikiLWh+bQ96a+Ok9MIGCJn44XCVH/cm/u9yHTtV41GJJ91S0u9HLtgNZpGDPJIMEcZnqPTWJHr9hxztGPvL4ZHy03ZNaGyorkK15NUUsWBOShKqkSPtrfZRO4vWIb/Q24VeuSkTardb37QehxvtI8w8erNGs3dnzy9JP5fBzYWwfQNfBy7vJ58O7aFghuDSjfDINuzOriaXhhUg6v4oeJb/GldEiYPMUoyvrYJIQmPnxm3iyYiga8SD1zVUUHSrTTEGa3/0Ux5oCwuI9V8Bduev4nw1e82UFee76PjHAEONn1xjlDkRtIqc40tRPy1tzTaSTaCEHChLw6zaJLs7vJ29CiNpAl0Z32WRnfPiAIrp5T9ts3BAX7y2LqvIm4SWz2hXBNEI3uBnH50KUFSunFlDkVbd6CQhNfrWc9iRaFbqG1CvPjnEXsGIODY9oPOGcSTSX40C8ubo5fqSKiM3NcrjygUtZRKUEkuLSs8XJE9ColmQOYVdEB09ksKcPorDYNw3iR/w+sIfTZHXGTuY3JiczsXnJO8COiSMMwZKWnZEVc1iDa0AT/8mrco6OcthhVSippToDAR3gP/US/7+wGWBwGpOrrSu55baQ71eTsV+IXtYzLMV4Q3aYqZljpPkKw8o/kFpM1wh+jjZNqOfTxX1tR+m41DZKIbZAINvYSP92JoxAX6Y8Htyc9rWY6l9AyNdFI1cmF8LfUFdpzrVy5NEX6tzPAUvSoF8Ivhm+UGaoIOhWbmsqVfpnTwQReLJVqcFLL6+3+1LoS3MHTFEmWj5GWqRUOAESOpW6TlBW9MMJSaonXdflqZa/6gY4mSUkWrB9AH9Tgsk0/adkbx6SrMCvKB/Gj3GMniXhwcSv0H2eXBMTzeEzxSQiYUJk0MPmUln1CGVc45RHHRYVmC3f/H7dXKK8i/I8sU9Wci3crynG0pb++IGcYzxKRaKPnRhgDhTDtTepgz6ry3jDFp3+J0/YMW48aBLCiv1ZkW7yvtBvgk3ahzmLMKl1dGvRYEqR1lB20dfhoBKLjUEGP8Dsp6ddW0fNb6uFhUypiyhVaaC/Cg5XqhVRZSeGQFPtRc0iIsVgaeKbCkPcFg+Rdj1A/QzTsmHGvRwi7vQgpMRWztBubdX1+bZCc902H62U4fYvc3PFSrIU6hr2swALERfvk2/o5t2gcRaMnyCRPmPTolmZyQSWX0VVMLFti69zBHgCmhH8nS87VwiDXxk0xJgCeGEQ5XpDFQuVaBB9sKBM4ZQ5Kgn4PgxrLyB6bKk/h4R+rB0xpjjgOYDFL6FDhPWkdC1tk","layer_level":2},{"id":"9bf4fe2e-010c-4877-877a-14aac3fb2337","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"自然语言交互","description":"natural-language-interaction","prompt":"为自然语言交互功能创建深入的技术文档。详细介绍自然语言到命令的转换机制,包括意图识别、参数提取、语法解析等核心技术。深入说明多主机操作指令的处理流程,包括目标主机选择、命令路由、结果聚合等复杂逻辑。解释上下文理解功能,包括会话状态维护、历史信息引用、环境感知等智能特性。介绍流式响应处理机制,包括实时数据传输、增量更新、错误恢复等技术实现。说明发送权限控制,包括代理可用性检查、命令安全性验证、用户确认流程等安全机制。提供自然语言交互的设计原则,包括用户体验优化、响应时间控制、错误处理等最佳实践。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":2,"progress_status":"completed","dependent_files":"components/ai/draftSendGate.ts,components/ai/agentSendEligibility.ts,components/ai/hooks/useAIChatStreaming.ts,components/ai/hooks/aiChatStreamingSupport.ts","gmt_create":"2026-05-28T20:06:51.154251+08:00","gmt_modified":"2026-05-28T21:01:25.915547+08:00","raw_data":"WikiEncrypted:4L3GExt23LSb2hB6m8C4Qm8cndvGMSfEZ6KJ3tVTZf4N3nj8QfhHMkPwsJBG3tygjCsQe8J3pzrdi2DNOU93HGMScep89pmdTkaTosc0vohiux3hJe3YYNgJh7bHXCjytfg3k/DlfgZNVMgdaH/GWRZ9VzeRdmEpD9jTStCTWhvATG4djj2FekayEoZO2sPZIpnd8kjTDPCzpXonaZRVrsZE892shM2GVpFyETYqdjCMhD7ALH27V3LY+EJHIi+nb2JHwJBCx9e0Rlnf75zeBASvBdbXxKat3T09k1jokMBfmXODjZZn7P0BAwef2f3Aui2V5aGmevrfDSdnSwySkfGWsjmARWA2CLt6OFKt8z4I5EZrYvtChAQAQTCos7TIT/Sm+Si90BC//wiqOh0OPzSVCwvc/6aDP1KGLZ/VDJ8fDeQ0sMaLV1pXH7c2POFYI3nSfrL8F/q+3jZt9yOF4sz7MPK1KC+dQ3XY0Dmhg3GCRsmZbL3jaizwFq5FHx286+uHckyxbyZKUjUv+6hrKH7fl1x2aXTALJT6vkoiqxSGUrUWT2nviFU1aGzo43vP+o7CjskzaI/X1ISW62qmnlnT7iChyULvuImVU+u9bFYLnO7tK3OKYTBPlhXro6F/02gBXnfN/gQmm5OchWu4hh2Vnm5ir6VkBFsRGh78TF220GnjamLgAHbYxl6eySmnNuSnme5FTdB/BxXmd/ZlXkbYFy9DJlb0STxoI4LheeRThTVMDQTecNcZf0E73pBXP5oPk4B4b73PzQ+7uB7jQx2wPMZwaheJiYQI102XEp6/4c0FCtwwU1WZ2+NOE7CiB7HH2H69e/OmDYW/XkiQhkzChL2LokxJp8rplBc4nC5wlXe0+F0aL9dL0cv8pjkFwT4gJ/JwP6aH5q1MhmClKixae6DBPtsoupTe+8eLJ4+q+AZaA7Dm+g+eX/swXcORu1wr9bZv7Sj1YbTGzNQpXpPdDFCCwqaIfBSluG3hVf22vKNU/kOnJEpkkYsMRTw0tbTTxsemlc8ucI3Hj3opWFn+WvbSnsoKjvuKLgV3q9vQWDP68IYekelE5FMq0ys8tPF4pieKVLT8J6YA+I/WNV/T4tlAHqvX9t6IrkNazekt4O+qVRt2A9Ca/8ntZUkMgHJlcyc4dK1v/8ULPo9yi/YG9b4hOPajE1/8zYhLQ5X7iEkmZzeExHIibqhWyeTk0PjSbrfgv5AyacXINCKgl8W7yYCfNltEuP4zuHPx6uoS8Sfv/ziRAwZ38gqd2wnTXwvEyoI8Bs6dXC4eetYQ2UX9gPVQ/A6D6Z9NYUsGah9fs54JahtqCHaYoHY/A1wsYiK/giqzo0koD1jCDF8Pa/L1vymVGikn3j41AVervUeuy4a3JxTbCUZDv/FPXigihj28tYN9st9mmIYCbnZPsWErduphZ4avOpaNgzuOaFpMm1vJyPi/CtiBtH/ETC7KCxbHUYTrAYAE/cVCn2NfiFENSkpsENxixY3Zh53o/HdKbH3fTMPzqt3SMr6ksH9DenxYNPTXBZVFZrtdgiGpo9kOmxOc/l5N/X+XQ8mi6Wz/IUpmc5/6bL8flumm1jZ3","layer_level":2},{"id":"5823d155-378b-4d13-9e56-b4f4513a55c6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"模块化设计","description":"modular-design","prompt":"为Netcatty创建模块化设计文档。深入解释各模块的职责划分和相互依赖关系。详细说明application层的状态管理模块,components层的可复用组件库,domain层的业务逻辑模型,infrastructure层的基础设施服务,electron层的系统集成模块。解释各模块之间的边界定义和接口设计。提供模块依赖图,展示模块间的耦合度和内聚性。说明模块化设计带来的好处,包括代码复用、测试便利性、维护性等。包含模块扩展的最佳实践和注意事项。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":2,"progress_status":"completed","dependent_files":"application/,components/,domain/,infrastructure/,electron/","gmt_create":"2026-05-28T20:06:56.178447+08:00","gmt_modified":"2026-05-28T21:01:25.916209+08:00","raw_data":"WikiEncrypted:R6haB1SeBlY44pGM1lXrC7LA7na0QZLfwtXT3AtpSwuyFPuyj0mYrOrl+OnaEPq6ZTwOOl/PUaXqvz4eYTCRsLoj4hXmJzls3aXqNngd+NEArEJVYczQLpzIWZiHgoVwM5pUFeQojR0dis2JTHXopnKoyiQkjMS7Zg6uW9YJRCCdWZ+ed8e8ELJuCzK72DCW493EuKAopRBy2en5Z73RzU+kHhBbtB6bktbVHlYqG6LOu4JRsShl4PjKJjEk5B/pvq3E7TbjHGUj4CwQqt5z+j6WiladX6ekCNH4M+les50Q4V/o9bulb77MbMoaoKYsVxHKeJvg+3fGP5JGtujGnQD4YBN0mMVHGHIpC9IymldeTQso9DzUj6qOS0rv951p2/nANCyzhQEbLuk9YABaUQqx3gDmatuOX3OZb0sd8JfqfcsSD7Xx6FEGrSHyo2E9AQy7YUqQAjNboLBULBe7kG1VocSE3dvaoWLwtsIkT94i9FTMHIAOQYvkfXdLfgIWpkDGiEI6AGsNTaCrJHOIfqjLIOThBfRK2dfqo8wpP0rsMIy7AAg5vaMmL4XX+ryCSO34H1+F49qOQcqmKCiz0QCOZ57twHkbVHOArQjKBt0mjs+iGMpRdgkjcpZA3uzTR3DLpnrv0ZfGdEtN8deiACc2M98Mnq0ykr85xK9YBMzCuTqEnuO5kUFaXmoQJz2WKOeBy85sbnf4HQfXk3DubgfQ7140V2GCCfbijE9Un/G9YhAFQXKXQTDEuLzwaw2jAiB7wa24RghVP1vd8Ip68FgXn9hpXLbU1sbGRIO0ocpnTE20kIjbjMOKys0Y8ZRWC6U9F43gZpO6hGCa23YWQUa9ewLza4OTWGLQuWVo84vFm8YlWRdCV1ZetIbPDCanGyTfvShNTCHzbEDZAoUqazI64/ZUWqbAXn3/bRrbsFZD78EFcVbij8qL+wAYpWKKN5pEjPje9Vvbkp2v3Km9DCp592/oAPzRmK5tlJsdo6vbpbiIyhaJBm2p8+/PbfNRCoQ+8d7BgRaSYEw9puUlxM1Ht+j93AwpQ/lrt04CzA2oMC25OPbRzrOyMbtE0z0BabfTNmeowI9njeVCpegugZVpEYvyhbMLl9DTs/oKydJVuY3urJVBkyubArTvSFMxGDjjgfpwt3xkybqxwgn7n/q7hIbFyTt3IBdLumZbgEr3c9JuPIsIWBaZbAQ7aRtpKe7osRGAV2TL/BGMcyWgxO1H9ilkew5gb+HBNBs04cA=","layer_level":2},{"id":"8cc41ec0-2de7-4a7e-8273-e22748136cea","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"组件架构","description":"component-architecture","prompt":"为Netcatty的组件架构设计创建详细的技术文档。解释React组件的设计模式,包括函数组件、类组件的使用场景和最佳实践。分析UI组件库的组织结构,包括基础UI组件(button、input、dialog等)、业务组件(Terminal、SftpView、AIChatPanel等)、复合组件的层次关系和职责划分。详细说明组件通信机制,包括props传递、事件处理、context共享、自定义Hook的使用。解释组件生命周期管理的最佳实践,包括状态初始化、副作用处理、资源清理。提供组件测试策略和性能优化技巧,包括memoization、lazy loading、虚拟滚动等技术的应用。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":2,"progress_status":"completed","dependent_files":"components/,components/ui/,components/terminal/,components/sftp/,components/ai/,components/settings/","gmt_create":"2026-05-28T20:07:11.127466+08:00","gmt_modified":"2026-05-28T21:02:30.900571+08:00","raw_data":"WikiEncrypted:4Zqjl5aZEo1Vv5NKBpebTrhhtYD66qBhjJj5t1JUbIghxc3iF87VlRGevdnD7bNeBqscosNCTB//5XBH4qdo0anekrXMnQhSPFoCJ8l2IkVBqy0mrUtm6AHxOTmvq6Fkb0C3T3FMj4aDSs5LRtEPywvolR5daA9RgjLbz0plMy0RnpDm4lY4QLtOkGRYWXSGd/Z4mtMFVz3ax5QjctuQ5RYSC8fspTsPRnuCbN7uo3XmRu5xYWrmz+VW8g9AGtyOa165ZxPMsyafTPji7zFGjz7rP+Nbw6W6ZwifPaS4juvR8ip1e9kZ0VI7N1uox448EWfGDt4HSJC8+CCW+2oaRkFB9HNL7BHPKRNWFHpNUe0mRU61TgQPwdFRE8eYMMNbk7lfh7lOddTtF1+A7UMARrU3k/TI1+GyyZ+5nLSW6HppTIJn1JEEBQKQLVcLVeBiSVwWEj/w70WSYfGCK8CKYvCtFtHueQWibtIfPql2HEfBn8wQCXwMOQ3t/zXQH7MrbdH9iTcw8pvJGCFsfUHP0jkqYUDR4+crVdG2le4+IFXLInD8a8aCiWJi23UCSQ6DfJ3/C1J15pHMshi9163ppn9en/BRhoOV031PoerJt/ibf55hAGsoYmI1wglkY2rONollFKZev7HqM+1iodowqa3Iz3l4CFe21RHnEPgUiUtyEuUdQtFS+xdGblQ6EO/cuMlW/ldHjCCpxP/PWgpAHITuhtPuwCLzTJ2XZ9k2GCAc84v0a+fLbXn+9Ljacklulkk/kjSaRFaq+/KI0XkyrK06x4no/SQ6lNO0MQeV5TSgLeo48UcF4JeJmMUgjwLAEvEaiYckQmn7mVjaLOLzVMeAPdCFE12xd5ozkj10qgNpzgpgLEd68zhzEUnnOpzDInkaZGXV3b/Y5bAATGAhOazm8dYrYmAagloQ+KR2yHXofnzteE3y1c04SjHXAEa3TTliO6pnGypG3SqgNmCdQHXGjfdOTUnmb4FGMRbHPtZUERrvyK91ny/h/CfeqJKZxbJliFBpNParDCiEhW9nDs4HzzcRdndcXZ9AJ6uhKiBVOjQGv/P+eCw2zPoKr3+j6SC+i64G+valMj8l7GuGo7TYKj4sbVz2AvaxX1bet2Y3craPOHZJatI5bxBNbsQD/dRXFPpGQ9TcTbKvcAu3O+eeLlrNvHP+doQVXaalVUSaA5oIrp+COOwGPLVp9L06973lh4FkBpSR2lWKVhckDKYuiJzaob9u8CqaACCo7aD9hL6s2saMV2XbRQ0Wot+DzaxyqWfTbcL4TQjAMxo4sRj3CEi6bZsevWwiDF4SeuMvZWukvYoXx+vvBMOCpKGSlVg7k/bH1EserLkjVkvZdk0+44x99tJXrQtdQesHV5k=","layer_level":2},{"id":"3856196c-0e63-462e-9090-d6089a6c4b22","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端设置","description":"terminal-settings","prompt":"为终端设置功能创建详细的用户指南。深入介绍终端主题配置,包括内置主题选择、自定义主题创建、深浅主题分离设置等。详细说明字体设置,包括终端字体选择、字体大小调整、中日韩字体支持等。解释终端行为设置,包括光标样式、滚动行为、输出控制、提示符处理等。介绍终端性能优化选项,包括渲染模式、缓冲区大小、刷新频率等。说明终端快捷键配置和自定义绑定。提供终端设置的高级选项,如性能监控、调试模式等。包含终端设置的最佳实践和常见问题解决方案。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":2,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsTerminalTab.tsx,components/settings/tabs/SettingsTerminalTabControls.tsx,components/settings/tabs/TerminalBehaviorSettings.tsx,infrastructure/config/terminalThemes.ts","gmt_create":"2026-05-28T20:07:11.894372+08:00","gmt_modified":"2026-05-28T21:03:38.656193+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjHXR+VVxOjvLBw0PRRlR755FQKWvulU9A5WkiK2e5l3rQzqo6bM2PUzV1pIZrnperEjO8YbKWIb57Vu0x25Lu6c40PFBnOGU2behBPsa86ySYZ39dyOZJFI+JjzQu6uh+EVV+I35VxtwebjiMuNYO1PVnzcRMHyo3m2Vrv2CpxQ4ttTf0rKXA8pGA6yRdOJLs3OzoiHe5RfyZSj56dZPqFGU4PfTGHj665H4xqy49vAqXYPFR5vZxMrIkN5YfAxmdq8LhvU+fnXdJaD3WHXiE44E2WbUx8MqrIsIKKCcvk1kvixE9WIt/nNphuSlLyITfY75EFSK1c3RwuzISrbvxyiD07kk2kU86yq7B+xPmXIBCWAKBE7yhYqki/bMCidJEKLg7Ia3mt2+2m6nLMl74pobzC8Fjt959Iha2e100ZCzIK9U/RrKhICR62FXcmVncrm8lg5bTYYXL/oQsr4QDDNVYAEbwCTUIT6mzc/oIvSF+QdhodAhEq8U0qdiLUUi6QXWFcsJwEpIFHHHXTBHe0gTgfCAUaeRndEI1W2tYCM+ZQfuQXVQTKk9rTnNzGthJTQ2Hz+z5PM/3l2t1vPAiLCurtDkB55drGsX7wIXliBy5a15RqQpT3g6AJ/6dxAK6DfAZ2f8Eagn6ruxQRX02Z+waFJhczsf5jzxJ1XtCDo9gzjzY2OpqVl20LIrGDo/Bdi2wAdE2nv70/cIykHlRMrRDHIj5/2q0UfSB4iyj1QsznwGnJowULb5gn5XWlJTDeLR1uA7VJW9bvzD+wYO5FEyo9HeaxgFHQ9N0hD7Ht6vfTpwcXfowjJaYu95sLWOpsU+4BJGSDhB/SIZnPX0fzhgG5SquTjGF0U3VZpdOInZbEnGaADa//Uo91CzvW+JPFOhYU6P2xiPSxrFqcd74OGxAZEtHr4NyyjwAcAO6nZxahStEdVf5xSMx0g0TsYFPKIzBkgLky6BrjPVMayZBcJrfAowVldcxgOU0mPgiltVUxcM3HyJhg31+64Z+CscsPPIXEordKxtVcLRlKujzNFFKREJn5FWmki3G6xVC+bnUKkyRS/puin91by/YyReYmAy139DKW0bk8LAufjqGzxFhCQT2veFgRC+5v87uCL/O9JVM1siiSm/yadPQJ3QOelOaVk+x/GLQ7KOi6M0+EdX2qi9fkqENZl2lD4tIfZs/XQyjLbcxWUO+9aUZZIdlyuLBOWkKSEqmyyS9GB60Ya+41QhS+5qtCwC9PqyzO6MWoGikqK54vBOkeBKVf3w/UTcoF70cYXG8kL9yQ8o7Pn36ji2dUEZ3sV21HHl4/huWK5yUPExKR78B+fbAT4sx5SVTVOw1RmZIOQ9vAK5zavA2hMATM8Y783DdqBUKaI2i8ltA3+kepnkwe9NGNJxULREpGPuo2W4yFVFd6VHB0eMvtnItRL01lCRSboM0S+yMA+RaLsUoCa6Nldygrd9vG6iKJA0YQhtBGY0TGr4Q2E=","layer_level":2},{"id":"cb787d46-a943-46c4-bae1-df40a40459e8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC桥接层","description":"ipc-bridges","prompt":"详细解释IPC桥接层的设计和实现原理。分析不同类型的桥接API,包括AI桥接、SSH桥接、SFTP桥接、终端桥接、窗口管理桥接等的功能和实现方式。解释桥接层如何封装底层系统调用,提供统一的JavaScript API接口。提供桥接API的调用流程图,展示从渲染进程到主进程再到系统调用的完整路径。包含错误处理、超时控制、并发处理等机制的实现。详细说明桥接注册机制和模块化设计。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":2,"progress_status":"completed","dependent_files":"electron/bridges/,electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,electron/bridges/terminalBridge.cjs,electron/bridges/windowManager.cjs","gmt_create":"2026-05-28T20:07:13.149143+08:00","gmt_modified":"2026-05-28T21:03:44.867252+08:00","raw_data":"WikiEncrypted:91RWQJnBa3YVIbYB6FTbWhg32DnalNQFOwyfMnVwTkDuoFAtemuCBV7SNq+OqPAGaGifQ2Ue0Sk+H4GX5+c5rEc3dDrRG+0hsWz1e6nnqcRJ7Z46M9krH8LaWPNpEtCU/oE6Bf6jbL4fRkwmHvygyQw+YkHc8MgZiXrDQkCbS6MLveeN1sfRamzoySCgS9UTXWSW4lfKf74gcsT1ZF01ms9xZ9Z2kYj5+l7ostwu5KcdKu4+io1I5NXXPv99obt316wED6hUrAieFDuVcXGchAGrU7sYwirU/q21moeevj7tdOi67kaut0NfTdC0BOzV/IMeS7FzvnFYUM/lGR621wdZfJzFIbhr0J7HTm+yB3bGRFyTAF+YldZTykRoMoEM59kKJm7UYBd2DMp1zFWmi2U2cRHjzqPpgVUgHX/fqf8lcyNVj7y33HYYes59ZqbsMOdsz4xOjo3vvw0mbvhhaYvWhfddNLPfui37+rVAvdtpxnoOIvCwU4dzIt25BwTCfZUaRgcntps0P1NfgpsmzOCDjVkctBWsrdU9X88b0BFiP3Pl/yADm86MXGwC2oUwiDPMz2ZdzM4hzRYWLkp2Zd8DmFrxo3vzutkGE+CEhIkcER1hPmB+DaiycnylhuYzX+L/bg1k7nUI7BYC7Ovx8r5aq0nYVoNANursDmXPtBXY7Eese9wwPp0mXJhOWNDg39nGKHnu2xclDKqODXaLKkoBimYgKZnTiaVL+hrL7Cv+OYoNY5gk+pPik8AIGcrKlnwvfG2kom3WX06WHmiZXULbhgvnHDKm6y8wLu+PvjeWUUv7HVuTiJPMNoT5h08MzOF8hM3F6fcv3pbFhkIsPEErfjYXPwBY1B+g/7fY5oi6XfWj/vp/voXcaV0laEUfyvEjVx9NAFVZLRwN58szAvihLf9LC/+dJcBKoTxneLwzCpI16fdxqq6gwWNRwZrxC8wvq1MulBw0bDjrD+gI6rBTb5ULiEJzkAY/icnwH6iUKe32e6fxL7he4WEomfLO0T3rV2+CSqIsksJJEDjMkhRDA4eAL+nc61hARngJO/lGLLtvAEJP14xsj0zQOEg5pyJ99EIdfdBofApib2K+TRQZ1IPX4MulfoyVFDRPs4YYpiql6VVkaeAlEvMIAIiDtN5WumrIyt4slgSDVr3ykx8TcJrZPf04Babn1bTZrHKDUnwAZsMxhL6rV4t7fJuyYU3TYiFUMpkeiSSDdtAsHuwpxCb/RSg77an4Bp3m2fC9MG07+j+K9YVkeB3L/GsM2zIRybQpEMLXdPqhcuET2xlkkOn11FAw93vb1tzlirYP92DPrOJgPa5q+VZkba1f","layer_level":2},{"id":"6047dcc4-e68e-4b0f-a011-afcbedb871ba","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"字体系统","description":"font-system","prompt":"为Netcatty的字体系统创建详细的技术文档。深入解释字体配置系统的架构设计,包括终端字体和UI字体的分类管理。详细分析等宽字体的选择和配置,包括Monaco、Consolas、Sarasa Mono等字体的特性和适用场景。解释CJK字体支持的实现,包括中日韩字符集的渲染优化和字体回退机制。分析字体可用性检测机制,确保应用在不同操作系统和平台上的字体兼容性。提供字体配置选项的完整列表,包括字体族、字号、字重、行高、字符间距等参数的设置和效果。包含字体性能优化策略,如字体缓存、预加载机制和内存管理。详细说明主题系统中的字体配置,包括自定义字体的动态加载、字体变体支持和响应式字体调整。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":2,"progress_status":"completed","dependent_files":"infrastructure/config/fonts.ts,infrastructure/config/cjkFonts.ts,infrastructure/config/terminalThemes.ts,infrastructure/config/uiThemes.ts,lib/fontAvailability.ts,lib/localFonts.ts","gmt_create":"2026-05-28T20:07:29.923079+08:00","gmt_modified":"2026-05-28T21:04:30.976463+08:00","raw_data":"WikiEncrypted:6EviL9DKFrS+G4ZYXaJUIn6JzqC3BLB2lu87vjrG22qx6cBr8+QEDbygtSwHBWG2xKJqdmmgUCWUu65P8vBhPdX3lj4G1zT8neATWpOzQIeaWJqQhVKLJJkuCNngdrKzwT3T02Jt7LuBdgGQpI1Ov8BAc15Qbkf24b/50iaBJVwwHr0lrrT2/2sMWKcNNkj6FGIfvDXVgqmGHdISE3QcXTl2LjkjgTwsDubn+IjE98YDExVmzwhKKpuYqGHl/cKk+0bT/+Ao6nvaC0jhV8C83qGZUvGacw+RYlYJoOV0K83c3mcKnrgvo/XYTIj6Nh5NO3tjwMFLxFduT7zGKBWIgdnqPdLY1RtymUkEdfrhtP9t0OWntuArZev1LgFPacDVOLoo0QMhYqntuqS1W8YrTJRtIomtJaG8ufeKIleE7mqOtsQ0x/04oalkJLPhKTOsiLZdTorJ8XJs/5/3x9TofeY1dmswRvRgcbLQJvrbtGoXJ2lXzGpM8HQt6pkZyuS0pqYq1iYkwZeTLMWp9+s9eyuUwpYUpXJUG/9tNxCKo6uTAhTsvyQdgqsxWmTsUQOeUuZypgbD+zhjtXVmaKcaJeXq2lm8eJioVnq5Z8Yaf/PrOpFCcJMAaLrU8Aq5PED8geyJU9Brr1Kl6Gl2rvrfQMRAWytqPXMEMxcUDrrft+guF3RmMZQ2Ae79lHeWZ/k9+fXXL83DlMq8lg9L5Gbx3Nhs9NkMqe6LxfxSXZ+9/lAWYV675sonmfy0c0ERNg++Vwkvsvy7Nei1GujlQ7DyluxFaQPEpgkTEySgq+M8MfD2O1oWsKTulIu/CIDqNH57uGKlFRLUWHy9uXJJg1FNzXkCW9l0bT0t7YtFF5vT9BGSdmOkj+zuXD0EDXYU8IpU+xFNukXVE6EYAavTqo+F4u9PU7OCXKRetPR12DzccLhte7DcVkmtVNdgz+sJAA1MsarCQ/5gTvF3bNK8FaQMNawRcve/cL25d9EPEA0DIaWDYi7MVmJbkX6CnUeBWcQUc5qdoZ8Ec2jHbIV36pjcSMPdrkFzki+Tm63PufzCaJM3E5qP1p46gg2eTGVFvM/8niBqsVXi3MyKW0e9MhkcI7vNanAo8GROSioqinzohv74aMUBVrc5I6Rd53Xv1GjRmI3bhkAjhiqNsk8IY2tHAJbzYvSDQBFEyGy8AEOAZFcn3b4nCjZUAQIfgkirOrYrOltYK14UrA9dhJVcS/liJAzux81LECU+1QIkojS7sUJ8mor4FojMb7ZFr6TzpzTkFY317tgKbsH4jxUowHSOjrySxPZHvRJwk0Mkw1bCONSbZz+ZcJYiocqMt5YdPbToAEgOCD6VmGJUGEVCNYjOk7s+4Gslt40NL7pX0pAE636GS6AlcDQakWB/CcPmhVDBCWRWQtry2CUgUDiWCQKihrP14NSlwNbqaOgLXuhZRUHNUGUrsUtL9XWTyvLoeAp+IVViYm5RlucZ9OaJcaln/PvOs+Z2eHGunKuBNf9amto99jv0Hxhjvzv/45nU7Oc5tFfhwMrtjaUSMRWsOvfGRl6nHqfpK0yghR6HdxbFgCXB95rhzrOuEpFhT/9LzkIIVXX8pNpJt7h3fCHf7blzHpe1rGTRlD7KrhPuZUkPJGEP7UkfWH3F/oMvIi/5xi8y/f4waHJF6T5+4054dRR+JQ==","layer_level":2},{"id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"开发者文档","description":"developer-documentation","prompt":"为Netcatty创建详细的开发者文档。深入解释项目的整体架构设计,包括前端React应用、Electron主进程、IPC通信机制和后端基础设施服务。详细说明技术栈选择和架构决策,包括为什么选择Electron + React + xterm.js组合。解释模块化架构的设计理念,包括application、components、domain、infrastructure、electron等层次的职责划分。提供核心组件的实现细节,包括状态管理机制、组件通信模式、数据流设计。说明Electron集成的实现方式,包括主进程与渲染进程的交互、IPC桥接的设计模式。包含数据模型的详细说明,类型定义和业务逻辑实现。提供开发环境搭建、调试技巧和性能优化建议。","order":3,"progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,electron/main.cjs,domain/models.ts,infrastructure/services/CloudSyncManager.ts","gmt_create":"2026-05-28T20:04:49.697156+08:00","gmt_modified":"2026-05-28T20:11:54.690717+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C0xzVOz3ePIlM4h9CwWuUWO/9J0JsQBGCbPojFuRGofdjGwguEKkBuYbvNuPmYogBfXDtWNlvKUUscXnJMx7ZX4CUmHA7R9uS4x4XfP//GLyJj8UaOl/I0wGXxL3i+3hosj1Of/S80ih5U+FLQ4mqo2v5CK2BpyYde0wk/qi7bgyKiAvIZ3YIBOVWj2cqy+X7C5P9DG2l/CfWm/J4TpE8mxhZ3FuGcHBQ6jfcy9Dv420vpk8TX8zr57tysevHwfwk9FrkOG8lqkPtnbWOW7RjkCluwtSMTpT6XYjcT2O5rt/xTYOOTKwikeVlhhYdJvv68yjBDBWTIKyxvzkC0LtNwJK8LzyGSd1PI6ydu0oaFJsk6ysLT8oEGGtWEPxzYq5XpAyuiCyJCFZeePmqB7CBuaWGFrpgNbBCHvaUrs9mdClnPBbF89kjYR/ZCrgx27qVWv6nsd/ps+O807sJo39e9Lg7ZuOk70k6xl3GojoelZKIlHy6VGgooItTk+mpGI6Us1tP042ioHj9iKnu+X4oUrWI6YFshvgnC5vlpP4ccMVAfb7xVGDRUCELzMv1fyr9aPM6to+RMSnQbdUKBgWd9n/dqMmTPtBb6N7JdKa00jfjLjQfCW3TVgtyeLYXxD2GujT0mJjEfxCozl7CkyWBpPKxUea9xBKbXatks/K5EGMWMCCHO81rwLC053Jmhwugq5WXO7XEZR1NTqV6lI0avdkcGVefi2kwS7N9DEmRqtBEaFPo1GxUx01Xwv//dtUyv56zZ/5K8J/qWne5P3Ywk/13WMIo27aGmR68CKz/30g4YHfu2ZUARRrYnE7dQg6fdntTZym5WWbx3bx5nTd7s7vy4cX7VktrX1Om71Tqw0+yXSKud1x3/viVYk81kwu663ZqAxIRojEa+erwZnlq1b1wRNa2MlRmxmXS4d0BjryGr0nB4XJNolTjogy1S/rggS3Y96Wrx/bTfJwCLMMrnu44FHRiOetGjxQdEF6fQQ5dAvSvhe+cuslbrfnVOSqWcn79k/Fq3aWMN7jn+dtO6cHIwPKXzfU+LVh07GaCbgmCNQTTBzNMXA08iVwJAUaS+LrP+e8Jyp1ygZ9LtKcTWYZ5qKtPpI1RIeXdDZ/rEE5v0iFEhZuZJ5TyHFkQbyu9908m8ej17BZPjwYwb19MROHLBf/1k9PnegeorkeN+ngIL9yl7yCAsUMezQ+J2L6iZIhX6XcqrvZYzRWXFTQKtFyIud65jCLgC2JKtbPQebu+XFWAX64+snBGhKQc4EJoD5snV0AeRhiw/+lUycrJaZ71pchOeP13446PY1/p2sCMRuTGiq0Pe+M3YA7IvCzgP8OYCUXDZkJ0Pi+2cKIyd72+HI46kU6VeQLFjzzjq2/PasQOqZFcDKrsVrsPpBxO1O8FMe3EjPZCdKWOCPkFb69kcKofuScPY9SptR3sZhArBA+4X9rPeQaahR/WxM4/iq8SlVMfnEyG83nEap1pylo0sKcLhbQxRfBS1NSEOXHZUJZMW/q8/vUrBVDCSB9F6l+9OYExciqeZ0ECDJIZHnH7zyRJ5nzXtzXIW/y3kEAkPZVQIC0mGmiW1Jto4v5ccj32XDMAsegjtPySsqV+hREqwrp9PG9p1HvnqeXjHcl"},{"id":"b2c73fe9-3ff8-4080-9401-37ae61553767","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型API","description":"data-model-api","prompt":"创建数据模型API的详细文档。详细记录所有核心数据实体的结构定义、字段说明和关系映射。对于每个模型,说明属性类型、约束条件、默认值和验证规则。文档化实体间的关联关系、外键约束和级联操作。包含数据序列化、反序列化和转换方法。提供具体的模型使用示例和数据操作代码。记录数据校验规则、业务逻辑约束和数据完整性保证。包含模型版本管理、迁移策略和向后兼容性处理。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":3,"progress_status":"completed","dependent_files":"domain/models.ts,domain/models/host.ts,domain/models/terminal.ts,domain/models/sftp.ts,domain/models/connection.ts,types.ts,global.d.ts","gmt_create":"2026-05-28T20:05:12.55755+08:00","gmt_modified":"2026-05-28T20:27:14.884359+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFt2A1PBDo3xheqfZCRJvQ6W1QkIBnXNOWbLZMHWeu2gLHFuAbi7XW17pvNeqBnbmTXGt3nbUqZPGUmM5nuWJ2w7+t1pBD9S5/9cvzKhsH5THoLhOD5VdqIsaW+1npj+GBhoaq6IWctx21m8RRZnG+tKre/OdlqILbhwAFS66o/MCW7E4Ye/Gm7BT4vGMJZCRruoKLTV9GO4XlGb8NA0JKw0KL0nNqLvX8geRQDjWLntgyag8C30IC7Yis4ar7P1Pyav/QBOaD7qRYOk61bliDmwVCxmql6VS/CQ8YT+b/oeXeGa6gDja598iM44vNF6NTGi7GrifYbhVM7NypcHvXoHQuW5vT1+d421gig3z4hFkuuVxMckZqAF+9GMAjGPkzxUO+XMk2mSEMgkWrKXpHiW4/g9UEC5QTcQLTICaK3rg0fTpYvQgQxVWbn1irVX4z0KXPJKtwAxq57xZi2o8pr7FqWtFEKIGGntAbkF1d1YrdQgmnuqOI0eKd4HoZ4cK7Lh8H9zRZ47HiIYbVAf47yyiMdtwjY9E7u739OGu+TjFqTFmBUB+ki6+bhcY/1VUqBwv9Rj5tSz9zqmJ1uuTYtuEMNyBGmPoTKmy/Bel3odMQB7g4Qg4POU456mF2bHefH+u+kxcuujZd4d8CVZseHZplVUPAxHbgVA6cFmrOd6bfLl64IJsaFkAjIfwc70mOm+QjhSI7Z69WWiovBEerFOsTX8thsszVnu9inhuakBtG8ZODzsf4Wl002o3I4958KJ3ys7HBBT4BycBreDE++33i6D6c/uivbeHlLbblzw14wKzKC9tHPrmALoRHdwbydzcD4be1OFJcZbEvPl4YDYY9MZ6GHZyRQ6uIESMkcLL18VlAyfjgbyp3ZGjmfiHjsdsuWB4PXfrYWav2Fp2qRe15nXVwkx6ZlHBNmI5ZVQYmiRLBdS9mX4qYkGXJp1kRQUotkR4q+5jHI7GengtYPAiExg6eV59Qww8jtzugVUJoBXzEWIB92niolb/8BXud8XwYS1eXRrULWBWhOUcnop8UaTg6kRVKYuzUCHPaHBdEyh74n/lyu0V19cAhXcAxiZCJpj0KSm3anz//6DkBDj8s0rWNBUOTFrLKp5e52FTyQE+B8gVUub/6HqFTBp9sk8c7iXxEHDE6G2aAYhPlIBLEAYRRR6henVfbKp9/3nEJZ8AiUSKhUw3TkuoT5qEPz+uCJnu0I1NtmfjQNGnn1oingAEVJ+/tkTYoDzGJSr17TOVUTUeZw/GA5Wj2bzL3hr3rYjkxFw32ikeprvG1FkeRvQpNCzDEBSCMZhPNR687","layer_level":1},{"id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库管理","description":"vault-management","prompt":"为保管库管理功能创建全面的用户指南。详细介绍主机组织和分组策略,包括自定义分组创建、组配置管理、继承规则等。深入说明主机导入和导出功能,包括CSV格式导入、配置备份、跨设备同步等操作。解释标签系统的使用方法,包括标签创建、分配、过滤和管理。介绍凭据安全管理,包括SSH密钥管理、身份认证、凭据加密存储等。说明主机搜索和筛选功能,包括按标签、分组、关键字等条件进行过滤。提供保管库维护的最佳实践,包括定期备份、清理无用主机、优化存储结构等建议。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":3,"progress_status":"completed","dependent_files":"domain/models/host.ts,domain/groupConfig.ts,application/state/editorTabStore.ts,components/vault/ImportVaultDialog.tsx,components/GroupDetailsPanel.tsx,components/HostTreeView.tsx","gmt_create":"2026-05-28T20:05:22.526962+08:00","gmt_modified":"2026-05-28T20:27:16.395694+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3stvxHGCsfJoCtq0BGRfuCqY5wAO/QxEOnD+cvzki5mCRiZPT0nBRQQ6nl8aKtiVUZNbCoKcA6SqMkxYj9fvv6ZHl6foK7TX5rfjS5NJaliVrLW35vSiuLny6ACicWIar0eI/XuWZCe1TzqCm29lnCgwy+QOQL6YYFsIF9vptQ5m1IOsHLzg/mus+X2g0lvQZWwpfwPHTlQbjrQfMCzGObiJRKNHuRh/6Y+B+U6IakNrmfivEvRckxaOaAkZd/xrzntrWMt6URbmC0OpP+VfG7GB77cH1NSiMgaAaB6/8KVno3fmQ2c7f3Pu0rsQ9mHy65226xHnvPF1Dj+OHoWdmuYoipV1ohwIT2Dw12fN0G1ELB4czE2hcbqdRaHWMCBLyTmumLnE/kmIggE2112QfhbhXPFXk/zNIYgwhJ4TCpW3gM+P0bW24D0W41RMfQBuyjSsQUOVl5e3dUhgm4u5ltdIsj55n5Uusd8JIxqjAkkESqawWIN6L7dFqyGVl3E7r0GAoJkGkR0aT4K7rWzUSxQjMNNuuWBNLSuyuZ/rgNnk3QzhrT8WXdAupPk7rKMcnl/Enu8Gn3ZRmtgG9efa7OzBf9X2buwsaqQPMgrvM2FnuVfupHtERL+6YBHCHrI8ft0ZeRdOLpMvYmE8eqKvra6pmhLgNvMZcYe4H+hvZEeZILtPVgyvewqRAOntYgVqU2hQcNz9yBtNUulykfF8QJItLi9mVU2t5wwKAABa5PGp5UPeaykYeblg5FnEwuqrc4qYMBLmNRnC7ELRXACZ14Qx3nt6CMJQ/sSDVW7q/uQzsLIq7x31f8gZJpSj+RSocyGVcEZCMZbo5t3Bar4WSFvuo0XJBT3ZEKSbcs+FVdm0dlCsDDQYM0R1yHQSV0d6wGXXtamGC35l1/zUDOoxpe8Xz218AbxjjKhgiGxQy58yDCrQD/agPQabBk+Swgj7oR9LliqBbd6vQmC0ZdF8+hJEqgPKY1slt2Fkh//jSTj9qcrfgRRP7mnJaWSgw4gRNbC4cnpSUQ+IhHmti//Kg2MCZ1a9gjqo0Il6YN9aCU+DFnbVCYqtZ8o9yVW9nebRA49fXBsx5Tx/jazHGdHRkemOqtdWA1b8zE2lPglkxQ5n2kt5NTsKsClKSFfe2GGVleu1OXqHAiU9yB4rYMnbMtEowhm1QO7DyAIRN0o7xsmeh8mCPaM00zKpmiGCr6g675E01UtRxp2y9/pldByY0I45iWfmWNyCcIy58w1NiP2hdPJCnb1BMu1JNR2pTptHCRJ3KhkmBnuz9XxVhxzuq3cELUdTSvbBXD0IvxACDNLNrmXt6h8VzxTUzporQ9b7jLvzN/H2BTcPzS08dE4Wc6ZNSv6A9HHWdAs1KQnwxiqROjoS1UP8F3hRzD2gTGXex4IVjC48jiVw4Kx1RrJlR2TQaHk0fxmIoB8MAjKPGWui","layer_level":1},{"id":"9b3b9267-ab7b-47f8-b4d9-6ebd98d66b3b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"开发环境设置","description":"development-environment","prompt":"为Netcatty创建开发环境设置指南。详细介绍开发环境的搭建步骤,包括Node.js版本要求、依赖安装和环境变量配置。解释项目的构建系统和开发工具链,包括Vite配置、TypeScript设置和ESLint规则。提供调试环境的配置方法,包括Electron调试、IPC通信调试和性能分析工具。介绍代码规范和提交规范,包括Git工作流和代码审查流程。说明测试环境的搭建,包括单元测试、集成测试和端到端测试的配置。提供IDE配置建议和插件推荐,提升开发效率。包含常见开发问题的解决方案和故障排除方法。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":3,"progress_status":"completed","dependent_files":"package.json,vite.config.ts,tsconfig.json,scripts/,.gitignore","gmt_create":"2026-05-28T20:05:26.321007+08:00","gmt_modified":"2026-05-28T20:27:59.519998+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C3v0Qi9GTCuJoVK/Ltu5T/d3fQnwNF9y7uZrMS22VD25MRnDWhj2EgLAmZVnBDDwS4P/6SZlhG2yucP/Ac/5ySxdYCXqUSexlJo+/yxWKLv5QDcSHWktDdYhsxRTRadtdi5tSC+DROwSiEhDFOCggOE3UGj2RwTRIeEua+j+rPG1/8Y/A/3NpDKJ7V1bss0RRUuvYJ2eBwRG5sQxsiTNiZKOC1O90Csz4T3oI6NEcKe6uRqFDUQ/8ZQame1dVfRMCmFhkyCBVSo2WldB3fuQhCgcB0pVu3xp0/GIBqLhlwgzusygdN3OgM0jHl/vamkVT5ybstTHOUjlKTRRo6pfX3+vZEwlW9p2SuUJidVC4GIkNdp+UqYeuS6LbdPkDonqI7RDFMV2C6U/Wz23SnJf/Gfb0/Dd7noAI+qwpdYzON+mPAvmU3jLYaU1VnJQtkX4aUzKaa8QrsMwgVz8vnGvdE2yOrMksZrNAC7uYR8naJmn72E2v/T9B7zuP0NtnOnWCHHcW0G7y0qxNEKUr2mQUsLRsitBi/v4sjtRSbj1a3omqWx1OzHr+Ig7KzSwaCrlcnfvIEA9kLeKp4R5SAq4wQQwWUnzkt7mhm4WNBWn0fbYjChycd1Oe/Qmklir4mt8IdKednJ4TKs7rcPjnwIi9LVqOSE1zDgZQHq6b1EjCrMIGB3fFxVWwp3b3QriEiHfdQ42E6rn0I229wGhk5kiVwIQSCdKzoPC8Ubi8jwoarOXtexCFVlA/x+u2iIg+eCAoDv3GKGD+pl0OG80a/rNi2sJRk/OR0iFW4DUtDyB9Nm/rCiK19wY4t5HmxuPyEz0xRuZ4O7FBFF3HVCmexNa4h+2TimVuOJJJrS4G0cPIxU8sWwz0EjIn1etUcIfNjsti6ceb/wnpdoxLi3BjMgD+WLw4FqRC9bMtAW2iIFIDhpSY7vkerqIEvJSulUAwwRhcRx0qrNBSj892QuwA1MbmZwalCSvO4YAhCMzS0FXj434Z/SL3TAQgE8e2rWCOGkDw1bjn4PDoHEQ500xO87KBMr1eTNVMwFf2lSKQms+02biGfpv0g9/bSYjuwRXjaDli9bHebh2Bvm10mAy1dCzORrOHZgnOSosTzpUsbtwr7rvfy78IYPoC3+vubCGPGDY/sSHnaAE+PjhkDE53qaO9JxY/vo+DZEAWf7NMi6nmHEMxQKlAqqriPo1wnblHTxRYSpyEsRM5hwXUM6Uo82mbEIMDLF3TZLy/qdgrzgSCbZPrljhOdBUPi2sPexNEukpfqIq6yXtEgmRH/vkhwiSkM0=","layer_level":1},{"id":"3c02a9d4-09e1-40db-8b01-ccb4e222aef5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型","description":"data-models","prompt":"为Netcatty创建全面的数据模型文档。详细说明核心数据结构的定义和关系,包括Host、TerminalSession、SSHKey、SFTPFile、SyncPayload等实体的字段定义、数据类型、约束条件。解释数据模型之间的关联关系,包括一对多、多对多的映射关系。提供数据模型图,展示实体之间的依赖关系和继承层次。说明数据验证规则和业务规则的实现。包含数据序列化和反序列化的处理方式,以及版本兼容性的处理策略。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":3,"progress_status":"completed","dependent_files":"domain/models.ts,types.ts,global.d.ts,domain/sync.ts","gmt_create":"2026-05-28T20:05:48.20762+08:00","gmt_modified":"2026-05-28T20:29:32.49806+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzxL0nPpsuPMPxr5hj83lS7zLbVY013R4TC8XNEUYbb5qxIyzNIzP0UIL5gcgWgb2Ak+tm4u+/D4jYOwuwcop/O7ik9PflSodk0xGpMIvL7BHNItHcteutOj6XUDEw4nZAEIi8w80OYgcDiKubo4aXDa4KwbbBbhhV8eZbvm/xYMwBpuEb1Z0s9eiYgTb0LKIEogZOyQZ4YcEDQ7sT1GdMe63nAPfk5GnSh9TGlD+Vts9bhQ+TjkzDAnuQWheH/PnXBx5Bl6Ji5H2kUsWw1xUmKBsjKnmBtAgT4kPHPsLC997dTS6zNrkUZe0ruta1jhpIElsslJuxpN9Ot+OimMGX9UsMxgo7qqSDk0tkn0XRh6+QTxrjmmcDwTvbRWMzXUBSq6VimAZ2yYvjV/8aMVr7aJ7uXA5A2InMuoTyKlJZR2bf3oitw6vIuym26mKTcv5FAHeOXu9Voxo0NrEMMi41nlsuaDqvLJ5Ba5I4MfSBLD2FwBHOlm4O2EXnLlsVXpgwjXDrTy9UenUjgCVb1xyJCMa6C1uC7duVt61wxtzZGh0SD0Vw9yXNayoqyOr+Zylbn21CoXlUd/RCrpfxmhnhc2U0Luanx3FHtwwhA0JPHDwnsoDr2Oe55Xx24xRU6kuoKIBzT8J5t2wxeBN7yf3Fq5yG7rp5qWP63d4jFK29K/121fGebCvSRnZhImKd9Te2Jockmyq1NsI8kLaK5eu+Xlvvcl/39DtTHvvI6NRaVe7fgFnj6rkDrfn5xlRJz0bm1YS5Tuos5+cBLu9OVw5yIYSCF+3hr/suAQmkZx4OiQf2QyH3mfd1+1L8wqHYQEBqEX9VpGJCIkNMuVsbdccyOVDe2qqP1wEeD0ODYNx7/Gs/yakwml+3abcge5xo97d7SEaP0hj9gkPGij9a4m8wQVwzQxAXPjjtTvNdnjlfoODh1edeBANHnkyiRLgW8RPuwlb1V5la9OqO40gw0lLrH5t7N5DUw198HS+juZJwIbYgODu+wMCmLY7LLp2mbKWbRiE8dahxYDRKUQB0ZuDrZS+0x/KeHc4ct2j8c69bQP","layer_level":1},{"id":"ef953a09-2620-4559-bfd9-2bcb4e38577b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端桥接API","description":"terminal-bridge-api","prompt":"创建终端桥接API的详细文档。详细记录终端会话管理的IPC接口,包括Mosh会话、Telnet会话、路径验证等功能。文档化各种终端协议的支持、会话创建和管理、输出流处理等接口。说明终端会话的生命周期管理、协议转换、字符编码处理和回放功能。包含具体的代码示例展示如何在渲染进程中创建不同类型的终端会话、处理终端输出、实现会话恢复等。记录终端兼容性、性能优化和用户体验改进的技术细节。提供终端功能的调试方法、故障排除和安全配置指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":3,"progress_status":"completed","dependent_files":"electron/bridges/terminalBridge.cjs,electron/bridges/terminalBridge/moshSession.cjs,electron/bridges/terminalBridge/telnetSession.cjs,electron/bridges/terminalBridge/pathValidation.cjs","gmt_create":"2026-05-28T20:05:50.53306+08:00","gmt_modified":"2026-05-28T21:05:58.258707+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjBXZaWH3GZnY7y4ZvxgO+K6vJ1STogMikcOY3ryGDA+01jLtWD0AFyUwYq2WT1NXLn1Sn5vCXKqoWzDW6tImcisQdV0Yve/rIDg4PlZ/1zk1XaCd91hImQuHHY5lzYAKxS4V3idXsJI74htyVDSXHOF1+RrkwR1cxMD/QUf5w2Vq24NR/jhMwo15rQcAigIxfsq7G48f1SXEiwGj5QYwgpL4+orVcHk6GR+vOdBOABAkG/IOZMcdeVS5f8vKnfF73sTpi2KJ4AhHeiDfP+r8dpcrNfppwkvggd+pr/TZpp+6+nSpRaGtq8svYBy44/g/50khHTioFQeRYVzQTZLmloOaRKTdS6yeIIYyrXhGyTZYGq4tOJiVUygqNshgxrOow+OM8a98hYKgoeJtSdOnDSgSF29dfNWW28KRb1RwxQ6oPvnXkHveX8zFDKESUvgMIDxi/h5m6iZyW3RIl2QXbyM719fCT1VuG4F8ZEYGBYuRQamtMLpbmpeUBTYK6xMbwqgRZdqyHV+LTIud8kD5z3A95pNFvQlylqQoTEHyt5/GESsi0E1BnnyhU4gjP/+VD/5XZwN74xn9w2SGNFbdFBKLMcnWh+sNJDArpD3oyHSfv2DLSSSRY425qLFWgwzUHHeFZwkZSgsVqqFea/KWQQdUmaAtHX+HKm+Gf4Ltg3fj6mQmUuNkM0ykdkySuWPCCLl8Dfv+C7LCiafSTj0EVw3K0uEG9p3H6cY9stfmZQlkRihlqzWKYcxtjqPzrECty9ouPgdIX5xeTwR8auT+z6UecuyujtuRKAYTyiI0YXSMhFnvEatcQCa6V2grsGWjKyhO7afvwahJIYTS2JbaEeQ63ONlrH6gEzrXO4YOaLgerDKpf+D5hnrmygOl9u566QlAzO0qVoshfaavaf97y+QJLikCHe3uEZJdnc9gcGQoIl2/WZmcXWKSoEQWee9yujAYwAEbH06wjnYFfyQiUz0ueTAOhJkh8R3oDZk5cVXXNz9wgNoy3M8vCKjcwGmjFxOj6Rcn6tITRn+hGPE9f9QtzD94+JOfE6iq2TQ8HNr0G72ew4tmLx0SRkRu5Obnd3ueQFB07bVvFVB9DyZ8PKy8sued8Z7+Ru17u6n6cUA7rr2tN4roDpbbHhxfeBFdkEsbPDcN8UZkL0HGlaz6dK+1GuaK6h15qm60ujkZUUkIk1FpdCIUGBGRuhWoeZZgfmSSR2j+gWiD0Yb12ZQRkonjgYwjdMHoHaeDfIq+dM6Lxpf1Jm1sV59S4UKZq3rE8SQvPQ+Uhj0mE048qMB7Qq7ijOH5G/ncN9b3SosfQU/qubiBRQWXEYb0yAK7Mne4xNp0Q1uOMdIhErcm4I9C2TKymO1E1vwVsYtACG31MY3VMr2EBz2bpBGqkMl3jWiDVg==","layer_level":2},{"id":"b4067c14-ddaa-47ff-8b33-41d5a27efd23","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库组件","description":"vault-components","prompt":"创建保管库相关组件的详细API文档。详细说明主机视图、主机详情、分组管理等组件的属性和方法。记录主机配置管理、凭据存储、分组组织等功能接口。文档化主机连接、认证处理、代理设置等配置选项。包含保管库数据模型、关系映射和状态同步机制。提供保管库组件的组合使用模式和数据绑定示例。记录数据安全、加密存储和访问控制的实现方案。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":3,"progress_status":"completed","dependent_files":"components/VaultView.tsx,components/HostTreeView.tsx,components/HostDetailsPanel.tsx,components/GroupDetailsPanel.tsx,components/KeychainManager.tsx,components/vault/","gmt_create":"2026-05-28T20:05:51.882318+08:00","gmt_modified":"2026-05-28T21:06:58.815962+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3jByHmp/WGTQ0DdBu7Gm25OuqylRbGc5evU956fNR3Fj2/UD5BOlasxQLuED4oT9CbeeJpY2s/GM5HFK5OnI028EMjl/iOc1jpWH27y9NOyZJP+DW8z5Kl8Na3+zTgS5Q0KFVt8PPfdszTwlTY2uhaLkNer6eyED7pRujSq/c8TYn9vCo047RzeV2AzyUFr8qygK5C77/w464tGj9qUy/Eso4Lh/dMFDIQXHDz9ICRvk1xYJ8a0Rn9+dRlXe7QRs9fQuhUcoJIZVWXJ4TTc91FUCCq3OsVjPYwosT+pTzQvocqAOFE80g9pMZ149rVC5NVGulhlFCuDXlg7UpuXYQiFZYcUpvSN1+lcPVmUxa2zsaqYWG5DAFTsiV+XlF0k2O4b3F2e6gIHSCKdmE34T6wtn59cLaoyhPbB1JAaC31J3ohdNmFnRqB/NyW4c2OqfW9/ZV6QtY3RI6DoWBLvrgLOKgI44OV3fHhCU5Nyn+OfCoHYR3MTGmVPyiFfKBev1S8/xqVprUQSYI4BpxgMG579riAFV4IIZAK77rmWctYcVGNL1Xy659MH9hjaNrLVB9umfkdY6/zdbAXjCeTzQBS1IAAG/d/4hIH5X6dpbGRtacRrFZI7q9C3iuPPQW8Srk2EPHAXcJus55tMYGhSGCFTZxdinnOMVa9yNqiNIJ3Gs8vhloHDS6eLXvNeh/rJLuPtYGGJIdU3Zn3xNrGff7Pb1NxjUkjrPFtvCnVgyy5WkHSs3tkhNj4MCHq2D74zqEd54ZIxNhjJ7a8QqNXcsGRZO4uJ6impPVn04iLS3aWZG3Nv5n4ayFftZut+9GV425zqSqEblSvLgYQtz44NzYTjoPIAmmzMI12AL18rQpgy4JMs7OFB/6EmQzwq2FxpMf40VzxW/qNqv/Bs7rCQ0Ind8edckXCIXGwXCFzfgRrtboyAZKXT07IIv2eV/9EWLAGSwHKsdHS/UMfDGKxA+q1r0hSdjlKhk3GHIQF8Z8fgiLbTYw1cOyQa4uQRnPcudIYIMklF+cPJSOAHYKDDFcfdteKrM3fWn7i4inYRKDm/SqT1A6eQO5kbPWqd/4nhe2ksLlcMrZpELunhit9Lsyf6yJqAzHQMElhTBllQjSc+FnezYytAr8Ve6mUG8sJRqsXu5f4U9H631k7pN2R7oiso=","layer_level":2},{"id":"0fe183f4-652b-49e9-86be-7ee73ed050e6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接模型","description":"connection-model","prompt":"创建连接模型的详细API文档。详细记录各种连接类型的模型定义,包括SSH、Telnet、Mosh、串行连接的配置结构。文档化连接参数的验证规则、协议特定的配置选项和安全设置。说明连接建立过程中的状态管理、重连机制和超时处理。包含代理配置、算法协商、认证流程的API规范。提供连接测试、健康检查和故障诊断的方法接口。记录连接池管理、资源清理和内存优化策略。包含快速连接、连接历史和最近使用的连接管理功能。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":3,"progress_status":"completed","dependent_files":"domain/models/connection.ts,domain/quickConnect.ts,domain/proxyProfiles.ts,domain/sshAlgorithmList.ts","gmt_create":"2026-05-28T20:06:08.451845+08:00","gmt_modified":"2026-05-28T21:06:38.517968+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AJNHKkXYt0MquX9FMhKnhTbWTwtYbmqmnixki7VM7fcFLLb1O0emDKO8T/wn/NBkscM5W4yTSjVqlgKpKh1g3G4KiIuj2zjVOb/Hnj6PUAZid8j3wqkJjn+QrH0Y/pXJCbfxXPoIFJ0XLE3ADsEckWleOSlNtYfABK23xKDEzkPay0K/9EwSpSS0/rNd/z4VhY9XZG8cBEgxl7oA7hZmGRwpp1e0WNuviQVfDH+a6Lbo6uvo/k1kfEmXBHfARg8hGMnQvk9G4WlnGbqh9/pZ7Tn6AV8MShQsZOxnUuLgmOVBer5GWQLutgfSKC8+LUr+aucmF3PVUOr6QMbpXKEJUQoUn9ln8jktPtiqRG5XEGRHVgMGVeZiKp4Ig+90edFF+sOrO3QPzkZSIsE/S4nfkzRq/0GXscU+aJMQKZCucj3rBlvsq+cPPHKAH44c9lgw41Zg5PYRnWqu3GDgqRbX9Jn2Tb65DtigkYGBJFlJgJSbt1Z8WasFVWUnF0w1p4QFR9CjMhx2BWkt+jVQ5VgpKscGl4/cp2HvGYgqP+70bUA+tSbs3xY0L2PCqYBOENIRHFHsGuaXXCvkovr1FGf2RP5HT2gk5+7YnJRXLmlrV8OKpag0IWJm5+AcOFsQQy1yUqEMzPJ2G0SVC/6F5j7Q6QPsQ53T37Ug0IgA0hkZscOK6bIUM1l211MQZUZSnMxXI/XS51QG/b+uRPy60ytlVNqRswQt1rJmjwBSb2cD9ohp0dfL1yFnsjjmB9mngkHsVkLPiX+Kt5HE0CLThsTtaJtyfCyrLaqS+etca6elE7JLf+fSOcV3MwpRGRlp2ulkBTrtQymZvKpm+jaoz8cSRaBwnjeP51mPL1WWLHuzZ+5rm6Ac5uIET3G46Hwc4iYdkVA8C37P4Xae6yokj+eiJWXV3km2uKe7U3sd3k+gn31NLaovfrIERsuK3FEDNyeToOCaijkFeyK1V0yJEekPCrNxo1JTYVlRXpGiOFpPm9tkjCRrmZD0w1dS/dUsV+/ZhTfDo0nIDq8gyPPUz32aCNJVQYWmkW1hQ36BYXiwhFH4igAfiRS3TmQwgeOiOLzBey84oLrVfJzHPbxsxARXNl8km2PHP6Sy3soQvRCoiPwmoNxchYlW2TAbatL4CaqWPaElzFn0tzXDvjyryh9onD0imZsDuMzRqPLMERbEcGau+MoaT+osJVOVQDQl/R7SzVk4XC9+aIh8URdSmwz7xLs0NY5FiLG3KhB2ESgFSeUY","layer_level":2},{"id":"ae037469-2c02-419e-89fa-7982b8a8fc56","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快速连接向导","description":"quick-connect-wizard","prompt":"为快速连接向导功能创建详细的内容。深入解释Quick Connect格式的语法和使用方法,包括标准格式、简写格式、协议指定等各种输入方式。详细说明向导的交互流程,从输入连接字符串到确认连接参数的完整过程。解释协议自动检测和选择机制,包括SSH、Telnet、Mosh协议的自动识别和手动选择。说明快速连接的安全检查和警告机制,包括不安全连接的提示和风险评估。提供各种使用场景下的快速连接示例,如一次性连接、临时访问、批量连接等。包含常见输入错误的纠正方法和连接失败的故障排除指南。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":3,"progress_status":"completed","dependent_files":"components/QuickConnectWizard.tsx,domain/quickConnect.ts,components/ProtocolSelectDialog.tsx","gmt_create":"2026-05-28T20:06:10.068341+08:00","gmt_modified":"2026-05-28T21:07:49.341303+08:00","raw_data":"WikiEncrypted:1aHEw3M2aeluf1++NE1n1G3LCMcvVk9CAu/UGxl63djIX3ZK9YOG/YC4PMilPmTNKKLtcywAnTk3LD6P6fXvrucJ9rxaek99Rv/i/S0vUR/iZ3ZQ1NFixAQlYb0/8fK2OsR8qlaOCWUvTWRVvKcStUfu3ijppkDD+wg8nvzGB284o8t05Jm/eatydwMxilXZ+MuZufwbjsl7/DXISyII4rpCTFnOzEPOqzS1Hfp1da31XCGPwVr8MF1qKXhDvrBjMdlGfQ3lAV4HQo4p7tzAdrWokVnQR7mEoYw1lRcXOwNHMhYtYAhwnb1AZIj7kluNseenvZfOLsHXDcPIuCCZmoJLA/TBgxtdTFaTjQK3JMpN4U7vB9ObdBh6+xMtPIWIPRcFwM0hTu7VuhrpstdLsBSc1/KCrMQCecUnQ9k3raamW9auvFTAnm02rh07oF1wGO9vpIz05Yo2Smb7xwGe5NPKhttc8dObQmEsny2Dfnw4U+zFDesD32nC+mtvYHJXyXzp9SJzpdgYIIW5eam7M6Z+rnthWc304jM2kI7gN6QYJgylzwJsQsdUBXp32UG/Xlx3NcOf1xYLEcNPTxAyMDVMOzbJ9B5HJDwcnw7p3uDj39kBns8q2KhVMCvnRxgEd7mtZDieq+wUsiO1eYaXdDw0pDDC4VC5PbhkYmT7iakE8z0egyRbw84eQbsyOugX3iFTuyYQTTS17A01jG0iesFib1rTRJDZZ9LifyAz49jwJGHZbVByb579gWKF292CUChcrP41CBK2zBbHgRogDmv0TVC+E3tSb4b8fR4NjIfrSRlHNbVG2CpMi34NWvoRgHLLvDr+/LBi4m6rv7s8GEkFsbPHeabLbgF1AlKOSX8JLOtARqXD0y57JpgIQkGorNwHx616lYYpjTyOqc6BppAiRGHDoOeLy3zHZ6WgzIEOZdOPewsCp/2Kx6qNAY2YIQjSufHZurtBwgEdeBnpeJrEuZicZUl6+pRyauw7CS1+Xn1EVtPziShVlfhtlZhZUG01zWqmfPB1zeD6FLXlMBVP31j9Z6WWwjKDsd8XVt6JhMaip/M+V5C4gQFjPF4IFiPb4XccuiIdh4kCaQUXbedITfN+Oh+XbCDF+VcDMBF6MXj8q9QuG2g+HBi0pOxsN03v9Hd72i6uy0sDjKh9EuxFWr+0UoqYT4Qs1oC76BgUViU3rhTTtUh2x9hJHyu17MjfiA5PD8UuXY6SvViAg02uuZCEdN88lX9RaBymoHbo+aacO+5bpFhRIx6aI2qMylEFuj/E1JSlpJiaf9mMMYj7z6GykCr0TZjn/HoMlhOXTFZnhRwWGjuTkxgl7F2V1DNq5R3g+/5ONO7VP/5Hv1XmPRmMMSZ+RFwlRvHA3XMtejQm9n06gaVt/TayOubi","layer_level":2},{"id":"991f3dd4-c9b9-472c-abb2-dbcf1445dceb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP状态Hook","description":"sftp-state-hooks","prompt":"创建SFTP状态Hook的详细API文档。详细记录useSftpState、useSftpBackend、useSftpTransfers等SFTP管理相关Hook的使用方法。说明SFTP连接状态、目录浏览和文件传输的数据结构。文档化文件关联、标签页状态和外部操作的实现机制。包含文件上传下载、冲突处理和权限管理的API说明。提供SFTP会话清理、主机凭据管理和文件监听的实现细节。记录SFTP相关的错误处理、性能优化和并发控制策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":3,"progress_status":"completed","dependent_files":"application/state/useSftpState.ts,application/state/useSftpBackend.ts,application/state/useSftpFileAssociations.ts,application/state/useSftpTabsState.ts,application/state/sftp/,application/state/useSftpConnections.ts,application/state/useSftpDirectoryListing.ts,application/state/useSftpExternalOperations.ts,application/state/useSftpFileWatch.ts,application/state/useSftpHostCredentials.ts,application/state/useSftpPaneActions.ts,application/state/useSftpTransfers.ts","gmt_create":"2026-05-28T20:06:17.569561+08:00","gmt_modified":"2026-05-28T21:08:52.790837+08:00","raw_data":"WikiEncrypted:IisJrPimgG/RiDycqfO1L5X8PCHWhl3CtfoQA8R7RKJ3wJ1Cv3DlP/Lx1RG0Mg9mqIwStrytRrv0Pic9sdZuTD6q/X2ErJ5f44v3QEhtEmLaRAITcuSSA2MFWptcQJAadh029PRNNlTZ/pX/rwdFgVBSWfJct8Q6AZ6ZrqIsjvjJka3SSHmKoT0hG4n3jJuoec8FI8WtbdhWALPRnt0Om8z5J26ZwvblXdf7pNYEywY/igEuduYgDlg4C4OXFmDKuDxTVRI9pA0DMJv6sIruJIdtD+MTDJt8ivX81RuQTm9hhuRDe3i/kHmwf2pok3LdSoBJ22eM9nWbUfhoXdrlu6pkQb16iMVXU13QlQOh9pXDWjOQnhgghtF8oBMe69GNICEuWzzMB+g4P7HhfodcQxgHtR1SJSFGB5+7jH9bB5+PNdEa7SZww0e5LcjyLTLQE+/hDS93BuGt3/jxtmWAwusAU+/kY45Cg+znOno6PHXU+FMm8lEM3fiFrdSAvh9w4Rx8H+Vpt9VhxXa1KLjLzytji72wnx6RbSOAAJIaoBpgSKSYUjWc7XGPp+gNa2BB2YFMNfbUzfTdGMTInq6o5osEhSEdbqjKTPYTI0A1fHlUxPu3eVPJf2w7djUIyo1IDjWyOh1mwFgGgi0P21jQ9jgtpXHwlogMUPd9lrrFUOeh1EjrkAYRqETE+/jAZu9nJ4WFA+udTsmNTelMfL/cZJSX0Obyc8NWkeH0OQ/2rnECBaAQQy4n8AR9nrhO2v4YUygrVXRMgBCD76y4ZOd/TPsD7QMy3FTbpISZw+rfmASeH1wrD4lIm3STH078WFKl6zO3sF/qUql4S2cIfkJGvvWl8Ir2NwxCJla168mxrg7I/CYaZ7EwRVWrwcmjXjhrjMhv8RCP32/4mTBdEP0c8zG4OlD65+siL7o3ZctqYtatlm7U9eqpyDNc2I07Ljk91mINhqxBbJH63hXgUzlIEPt1QjpmM1+/bkDQgbv1GiQ20at5R6fPV+E9HG7UV/GEXDiUGM1ombrFbWdcVT0XOFsTrMroFotc/xAVLwUn5ufppMD45G/qLWtBm1YGY5Ic2PPZYvhT6t5HqlTh+V8eBdg2h8EZuEjlL9SQPJYMQSsGOPnhtw4fCGyvRSl9PQDvcBEp+bwFLGnka/P/+hGOT95+hIUfbWiIAMp68aDtv40hpiuNl0NhnW6ID5Lbj3Wjv/VxCrLv93aprzLfr7YmRq9GlbesuzNqiTTc4/KJW1fkyb1ZIIseED4iON6/VTYHJIb50JuY2lw6vuiVVYx/rpiJ76ZxROCVEqOlANRFJMwh5KYdJDzfFAwvxnKHW7TnWdvhPDXU34hW4fj8+muxwePYQDRdCLyA+J72WhCD0EXteYIXzx9yhPIMor4ypKeAP9sm7RhB+Bi5P62jg0eyBFYYNP82FMhZGbEmWRVBOLmC2MJGsvAzMklWaGY7oVF5DCkLI0m+BUYp/tigsfJB9FDGzcSA8or4Zb0ZhFBhstZF+4BK//v4bSr5Thavw+kWfbOUfrOjBqVfRAKMrwoE0B+T8CD1V6LqqXGrMuEaqY+Uc7DSxC4TruO6VtBycns5exUtGr2QPGX439UJmf9oG2B36GvUEaK4S6Wzk+PbxbsWl3joM2FF5XLUw9dN6+2P","layer_level":2},{"id":"f2e87c7b-b2d2-4b60-97bb-02df5afcae18","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"凭据安全管理","description":"credential-security","prompt":"为凭据安全管理功能创建专业的技术文档。详细介绍SSH密钥的生成、导入、存储和管理流程。深入说明身份认证机制,包括密码认证、公钥认证、键盘交互认证等方式。解释已知主机管理,包括主机密钥验证、指纹比较、信任管理等。介绍凭据加密存储机制,包括加密算法、密钥管理、访问控制等安全措施。说明凭据的备份和恢复策略,包括安全备份、灾难恢复、迁移流程等。提供凭据管理的安全最佳实践,包括密钥轮换、访问审计、风险评估等建议。包含具体的安全配置示例和故障排除指南。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":3,"progress_status":"completed","dependent_files":"domain/credentials.ts,domain/knownHosts.ts,components/keychain/IdentityCard.tsx,components/keychain/KeyCard.tsx","gmt_create":"2026-05-28T20:06:30.344194+08:00","gmt_modified":"2026-05-28T21:09:04.402512+08:00","raw_data":"WikiEncrypted:lWJu5Y2JZOiGlWPLQVzpPixziG16BT8TXqibNpEuC9FyvdKqyn7skCX20dENSJwsQbVZIdIbGdHsQ8EsTfX8+dV5kM6+Rqum0Ori8LwBke59baNCN+n+VEGhu1CfMEW5ZwokbFuCkWfLwxDJkL8PT4Su+5Se9FV/TCPI/c7dYKIvyE1k19IFlJkaruFPHkagxEJg6HikgDTfe4p5YPGvO85jmWRWuKe++WISJo0jde7DDjanUV9ygumZ4JK8mTixvJSJhYlLEPZLpImz8oQQ97BIwT10ICDwBGFrrJdkrJ+JQF485Ao43gcF9VhTuMLWO/L2RP3KQ3SLLODd/th5oiiWu4Yl80FTafBc0thvUNLDKO+BLu5guYGCDwcI761KOh/LD1OYu33GNZCpuAmwSae0crgazA7yUh7SZoDacpvqmx5WN44N4RDEHn5mbyHx4o/dc4yOHT0QtP8NN84+mm4L5VayUWrFqF2FVXdB/dCH4opsXx1hLq0dtEEnBLBcqE5NaUwWq9LiZW/+++ibKV/5wXDJ3zeX0EXq8UBvvfCMiPorEi1gfxODIbPmuO6YOZfINYTMnUxcWdc7clG+u/9dM31JiY9CU5mKGMvDN6xAelnDEddAKlGmYMMRLiu9vm4UEDVIK+f7ljy5oJGN8S/1VkbMePXc1na1yE1XGlRJYfn+HVrAHd1Nn1g6Fh5ghKWN7PNoRQmCKogl5JJNhX3J5aSiDkJBHC6GJxJCNzaq0VqhuXETNCxCnodjBDAvIGD8jMKx7wfnHNiVoZLK77OTtcJ0Z5ntRNINCsowIB7T9EXAg6P9tOposV2PIwMLat1ANHoY5MP2yAD3Z12hTMERA6dNwY9BVO/3W+3GnE+6zFQGgByP1wpcdx5Fs3NFtT6gVm5oBfXIaIPxJMoNRJ/XOlyVTUJmyFDcSVeKlgTt5LT4vj5Tvbi3cJJ+F7KQEdvVeEqiKJYMkaIOBxjVUI3BhFIcS/I2bZlktlwVsyVWd1hHeJk9PiBR2qBdA4ZofqkqYoBWkcbSy3PQT1yIkOLjLeTFz6RU9va2bwtH6ZMG5bMfaR4UrCR+NzGO0PdQmeZV3nxuWDVk8+DLyIeuYDDwqoHXnCFP4Gtsg2eQH3nP/ch6zrChqqm81Kf1xNddkt16pOC38zbhXZnJwFjRbqbOdDqN3INU3dx2g+iHsnSjvk4I0wP/oiqg/+4jCjvblqiXL1GmX4URmGsNo0B0oyt3NtG1tidQ3c9cNb0klc77DiNo3iEnCgfIA5BuLS8d+inCs/Gi5sRazuETFCdYK8D89y3nOyVchsy+WasRWuAPu7fpQdxsQ7uma7aHhORzvX5cYje0uamIl1mtav+boqCOs+lSLS+A7ly/HNMcKwQ=","layer_level":2},{"id":"f65b1d62-7cb2-4475-acba-acba86b920e0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主题定制系统","description":"terminal-themes","prompt":"为终端主题定制系统创建全面的技术文档。详细解释主题系统的架构设计,包括主题定义格式、颜色方案管理、字体配置系统等核心机制。深入说明内置主题的特性和适用场景,包括经典主题、现代主题、UI匹配主题等不同风格的设计理念。解释自定义主题的创建流程,包括颜色值配置、字体设置、透明度调整、渐变效果等个性化定制选项。提供主题预览和实时编辑功能的技术实现,包括主题参数验证、即时渲染效果、配置持久化等用户体验优化。包含主题开发的最佳实践,如颜色对比度考虑、可访问性设计、跨平台兼容性等重要指导原则。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":3,"progress_status":"completed","dependent_files":"infrastructure/config/terminalThemes.ts,components/terminal/CustomThemeEditor.tsx,components/terminal/CustomThemeModal.tsx,domain/terminalAppearance.ts","gmt_create":"2026-05-28T20:06:31.735042+08:00","gmt_modified":"2026-05-28T21:11:17.302102+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjJ4RRjoG0xN6MwiHdB3p0JzKFJwIbwGQSp4YLdlUtqIDeynuZhKJEvqOdmN52YBAxhQlN4BOBuFS+xHjvNloCL1Ao2QznX5/siGvvEo22t0hb41JxcD4IXlXJqRhgVkVxFRaWQqsTd0cHRl4ZXjWzIgg5u8PuKTVdcibQ6z+9lgdXJxMVwLVLarhWxcG7einCioku7+LyUtorSlO9eS8XEkbOtgkoMHUqrBQ3WCmpYfcW7ecqZ/AcHFf7PkZwxHOXLpn/CWJtyppl/5uor+jUSwrPaZmTbuz2RfntBmSi6tfOuOGbSkyXp+ewTDATaM+R8DeY5rxLGY47DqbPv2+twODV/502MX8FtejSu/+wsU7228EFGFfo91zGpvVyxcVqNvHGlhtSS/w5eergEF1bXDi0uiPwM2jj+cB3GPe/PfSKJUU0ZIrX8ndyC5vVddH6qgzjM6D8qQB36lkZFESL82eiSoHxLyBpbXhttK+YCbzkD6qC+9iNJcTSLA9UuPuPihm3lp0odkho9RWGc3Yp52ok8WnSldeMxkLBUCVGk0vSF4ctFz7hvhDnUdKM/uDa48EFltNMBEQHwTtnomM+0JkuK4IqRP49NJ1ODlVaFRSQUua+9am+BY9pqbv25pHOvU1JDqR5kjGJntKrjV4kX9G8ed1R1o2IC68VUjoW3Wf3YRsVMU3Th7bhPFBX5YkzKEqF8r/EyS0BH1DZLB5J+U9uzcx5rzipRxYPInioCzPOVCj8qIyDAQO6rDCkZGJdC5IOM7u11KIQwulHcj8X5QwNCy+ZpwXkXsfFAKAm3Av1vfhlHcxNZEif4QzBZgAA//ETvNRxa3vdtjeY+1E1ogxWJAE9PccWkqt/TwhAj7sar2ajzH4nLPon+feQwkDqUZFMqHIRKek11+1IXjQVBV/t3/KGi0vW87e2eT+aT7GRJLK4fHHy9tNLsjA6yYA5JdraQyIZM0xQKP/pCxW9TrFbaSr8OGrkebWBYPMTFkn/mYeziq2VQSJSmyoXpwzHQql62RwF06rrZcpbvDB1UsZtDQuJsM/qkR1cju9t9l5YYKoL36lfuP05zOH493T+jyPmhq9/fhmWjVB3C5U/Pdz+Ks8lT7l+o5uV8zT7yERg07M+x4joC2JZMEKl0gIVYrrltti96EZnx8P736gAJg/74iOpAk0E/8LEDrAtkiU+tjo/s1EArRyOwA/7ggIKpisICkJOGRSy/r9tYFYExT6Gy6iKandNp6qplLbeVau6AwMoz7Mz8X/KUKP0bVIusfjLkgMcy67wzO3sbpusnv/O5lC/IitHV7RnLQLpReJJAlhjoxhUKh7WxKo+muVUiyW+Em3eeiWuoTmqIwvQjRdlPt/9dUa72qyzChT9EFB7mp+jiMy9kDDk0ko/ZhiJGJdgzrST7iTkfRL8IQz7wi3r7xgs4wjinHfA42R6Pnq","layer_level":2},{"id":"6fd20312-1e9b-42d7-9ac2-5bca9f46eb5e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件关联和编辑","description":"sftp-file-associations","prompt":"为SFTP文件关联和编辑功能创建详细的用户指南。深入介绍文件关联系统的使用方法,包括如何为不同文件类型配置默认打开程序、如何添加新的文件关联规则、如何修改现有关联设置等。详细说明内置文本编辑器的功能和使用方法,包括语法高亮、自动补全、代码折叠、搜索替换等编辑功能。解释外部程序关联机制,包括系统程序选择对话框的使用、程序路径配置、参数传递等。介绍文件类型识别规则,包括文件扩展名匹配、MIME类型识别、内容检测等。说明文件编辑的保存和同步机制,包括自动保存、手动保存、版本控制等。提供文件关联配置的最佳实践和常见问题解决方案。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":3,"progress_status":"completed","dependent_files":"application/state/useSftpFileAssociations.ts,components/editor/TextEditorPane.tsx,components/editor/TextEditorTabView.tsx,components/FileOpenerDialog.tsx","gmt_create":"2026-05-28T20:06:36.997071+08:00","gmt_modified":"2026-05-28T21:11:35.913749+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsng7FonfvwF2a+iOpR/z8qrYlLcqxKV2xsUTNKkEz2Y3rrNQKdAn7FS2eMjPQgaNwZ3d2PaEIMbr83uf+4+3oplzCd5hIeSDRIKhzs2WzxlC1AiCZNZiSmNNNjvkEt7/OnXY4OWSIguuC8yPLBlWqa6/YCPIIy6yqL+tYTddmWx8sJRC5nDP5srstKnj1JAERwWeisPDFgdv+Go/+5aWHcMJ9cCy1URCkqWOImU3OGJn6d8AX8rCyUuDqNLrOk2ezuTELkA9XwW+WhdALr1D0o1hoHZQUNna2SM+IIWUI/Aei3rsHzAgPAaCvn9m4wl2spPtvjVAx9bgncykri7mT3T+Otu1UGNV+rGa9tIFBF+SFpglEysg7JkBqXxQkxvkwO75bm68qJYMDAzCbA2jLLT6pcd3AVZ3gUGj29UAtG4ogXknKv05pTl7NR3E4V00SAVNhrOJQ/pANe2wI8QydLYdm14CwZMtEzHyBX82x0V8NHL6HysSJC5ILoelZOFPT7Ikw/h7oMP/2WarBKOuk2g27v2P6B03q1O+d2KO7EPVLmX5KD/Cw5rWBpHhH1tnKkIYqJZmR7CruSejnGNajgfaH3FYPLI53Jz33icPHiWRKXmqbKQKmAw/FtkXdc6cX83x7jalAYp7p0He672rGSLtb+GCnaWMQMRApZwqgvUn8XxjrcZZmqlVTL/tZzjbyOQWJJTuBhRxdtWUbtnPmpIFRHJ92seLmnt/U0do84BaAhy6VyuoLANlfAU1vHBHh8/jNrxKnNEGVpURZM4At3CMZnk//SDtf0aEP28MW/vpxcZOB4o/Y3QTM1NfrNHhjPx6/IE5xCgIv9Ig6A3d5QdFM4NqVTCj0Vl4M2tken034ei20l9YX/u+wX3wFQLqy1cxfX5TAnWFRIA4aOQKKQwMxIU4mhlpHb1qU+W/uPypxkefiZ6M5cSu75Kty6r39JilX4zrn6EtchMax91kHwWIVOPKbDfshCbScEhiuWOZll06eCRWwVQI488TdKW6Tg87Ml6Cf27W7bV8W78qNmRv70w/rTYZSjt22Qv/Tyzyv5B/4krok2XhMhQUWjD3d0q1LEZwxHc0Kma5AhzcdAr9Vb7SsLVL+Ev505A3ofpiTpHQE+2Ih5F4QY6jrc/nTk8nLd/aQ5FyVH9AMpMq4vhgwWhO0Gi+pZzhudSdA+J8xMyyFCMV4IR4lTgxE1lto+8JgCuMSAxWEB2k26TkUfpNmDOwMuWaRRIcqsKvTA2VNVzXuVvqw5swdzf9yA4zE7s8CMIGYEKe18CdF+xK2AeFrA/gM6bIXRmprcv8M2duKW+UZX+2vVenssDB3aFunZEtXDZIE5m36gZQ/xM35ZBpQHK6nDQtRL3IBwMjIdLwW1jqhVAw4tuWHmEPRfReWOLQtV6zTQ3BavW7LeVmU3bbjc4+xP5Nn2pjrDGestPUcKQLSsuTlRWDGRqS7ad0bkdVka0UgOlHUrAvcv7TQdEMUZ7Ff5vTTjzNqyHh1A/HMMcE5gGLvnqeCOPAKGb1yJJjbrgp48lmzJLX0IOBlgsYJEQroa0/MDXCgLOFI9Wd+hmFdF2bplxQjXqJtRtnDHlQSBC+285sKaleMsiBVZiuJFVVW0Bj4ZEGmzZKTOMKSTzM3ECEHVleKxDEMvzgfOPWGPZXJPDWF1EuJ9lNs0XU=","layer_level":2},{"id":"2b57cd0f-33e0-4b9d-9a23-efbdd7e042fc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具调用执行","description":"tool-calls-execution","prompt":"为工具调用执行功能创建详细的技术文档。深入介绍工具执行器的架构设计,包括工具注册、参数验证、执行调度、结果处理等核心机制。详细说明内置工具的功能范围,包括文件操作、系统查询、网络检测、命令执行等实用工具的具体实现。解释工具调用的生命周期管理,包括调用发起、状态跟踪、结果回传、错误处理等完整流程。介绍工具调用的安全控制机制,包括权限验证、命令白名单、资源限制、审计日志等安全保障。说明工具调用的可视化呈现,包括工具调用块的渲染、执行状态指示、结果格式化等用户体验优化。提供工具调用的开发指南,包括自定义工具开发、测试验证、性能优化等技术要点。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":3,"progress_status":"completed","dependent_files":"infrastructure/ai/shared/toolExecutors.ts,infrastructure/ai/sdk/tools.ts,components/ai-elements/tool-call.tsx,components/ai-elements/conversation.tsx","gmt_create":"2026-05-28T20:06:51.154394+08:00","gmt_modified":"2026-05-28T21:12:12.34123+08:00","raw_data":"WikiEncrypted:bVhjjtdabUbjpHV1gusV8M8VOKy2PexSNGd7xWq6gXgRvu7huSZwtDXlP2iUJTreUW8ojcEcxj9HVT0A/XxG7tVn9mhiqrPdhHzVZTLCFmPoyKgEYYt8p2kPagPi5QdOzvLTnoWDRyWPmjkmyU7Vuf2wB426AGRtv9Ms1JrJrfOjXgE1VMKtRWASUGugvE5Of9iLU5NEv89xEun/J3RefqSwnxherjPjuj3ODfqN3c3vnc96pq3JsrG+OToGUkICzh1d3eTawCEQkBBD+K96CVK4ttNhtHhofk8kb+8fQJ/uON+cdiEnaBYUQ66INJrUtIwvlrK+z5B9FUp3pm4EgFVhKSpTfht6nKEUrTuD/w7nHDn8rwnNp3GAZxJG90Xi39UI45TrSkMgXS7kLKwwwB16upoz58nAxdV4xU0jbVQ3yImv6PhHWhHJ8WgQVz9nYDdXvbLVmy0LTPViZn8wZ8cpiaIiWMoNhYYTI0IIPQW4Xd4z97xhTSiFqmbZQ99p19ycXIFN8/qyo9oyXvAFsfjhwRKQW0bE58HWQ4eB/EMRAkgdkBzpp+aD5j2wDjXL9/t099j8AlTNH8ZyJpiL2Xs3VGXSyksiItS0PogvQZIvIecSmsK7ydGsoZcu+y0UI+XcfL0skhBNFHQBwnwUsCoSUhcmK9U7QWNWL5klytYqRb+boOS5TLyPfTRtk4Twt4s0hon+ZUGWM1KuTSnpkGzWp5vEtbjE0mSTYS6QQ6zWQ89nG0hZKuPs3ez7TvxtDZNGZhhA/+j2hNd38iUS/VGcD2lfqG54KkXC6Vu+ISQ3hXBpbkUbUvV50v+09Fm9u0ycVjdAOipj3f41FbeqxJXriVsQ547kBzpmR93YbiJRp2kafAUtYvgmpWDArXZhuWlv0SiGqkAeRRyc36YrnZ6LcXt3zCHyWmHrZceiGwLcyoBT5yhvdHe7tw6oaAMqjjkThcGIyT2FQ/DdckBuMUtKAgICEEWN02vfigK5DaFv0TqnWSB8edIiTC3Obm5m17NcNYZUBLuqAggW2gojKHRo8fmtLc+ZFpiOPLErUXTG/V8m9MJ1/0bKVRBAAYMbu0tWZB5qWJxz/BCfr2Vx6Emt0JvdTiwAzbsxPVN9ONSmG5ldNX1XxpQa78Y3Xd61G5DfHduKM1R+40odk93Yh7uFodjxutpTtEhjYHTIl8Wkhtml0fEOmuJcomd/DKL7nYs94oCEVhOqAmT8LxMRwiAoBp+sPRmuGWaJDKp7C7gNlm5G23UG2tSN0T2Nzo2JG1E/ifS0uRMyBieBpcdhhasBYjQLYhbdvNTSFeDEEbrY3gYLLyEfruqZB/uuWZ9VED9NMldOdjdcSop80YeIhXtNDSll47m9oB19nFmTgWgNn22CUl3JyMQ8zpjiG+rRDBO+mHt/745BhXlEx/rjSBrk2m8o8rReAavMpqBAMJw0OOOubHLkMCL/b5X1OVxHK/sewvf4VypVeeNgIy28NTUhb8zecPve31/AaE+aALcnn+0+riEcgImGsCddH0bHgHMmuqNr1omGR9wEBJlHLJBHEtyalfMXXUOSuKvWHwqZ38pej4uePEBrg1dmG68XutadwzTWtieSaM1IYkgtp6WcoXohVK47RsfFFVmrbYQ=","layer_level":2},{"id":"2154cf33-167b-49cd-b5b4-73427e843b34","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC通信机制","description":"ipc-communication","prompt":"为Netcatty创建IPC通信机制文档。详细说明主进程与渲染进程之间的通信模式,包括请求-响应模式和事件广播模式的具体实现。描述IPC桥接层的设计原理,包括如何封装底层API调用和处理异步通信。提供IPC通信流程图,展示消息传递的完整路径和数据流向。解释错误处理机制和异步通信的实现方式。包含性能优化建议和最佳实践,如消息序列化、批量处理、内存管理等。提供常见通信场景的代码示例和调试技巧。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":3,"progress_status":"completed","dependent_files":"electron/bridges/,electron/preload.cjs,electron/main.cjs","gmt_create":"2026-05-28T20:06:56.178634+08:00","gmt_modified":"2026-05-28T21:13:32.704257+08:00","raw_data":"WikiEncrypted:vsblGOysfqWFeFET2CTzTH3yjSKE3IAuVwffmBFa56DSijFF0xCsfD5iSmpUKbcIKXdOsqgfVOWutHeWOU/AeAbMXvAhpSqLxqZCS44Oit5/RMY+bSYQg8qp7ffZ31lrUBeVVLZjIz+JiWNIkj6ZKaH7cvDNvp71DPoIXimInk8LV9SOIeAfuf1kX3HMS2nOGzojWKA0RisXs76BT7Nizx+79ao21Tx0p3yME+1jZ0OAYn7/0vAwJb4X+KC6pceRW3PEQhbPL2J5PGag/bo1vXCuYn1qIHCfDeyFWdbLw8kDG1KKU3dzNkEvdWCQ2kPoGGNnum4JSDG7Y9UlFaxa0tNZka5AhT0BAsLPoiJ5teHjG2/yuwNC2QTqRJcYCg41HOqQ9eRsxn2I70+VWuOixPLTig4b0fJVRP5qX+qTu/lSVxcJ8F6wXsItuSC9fj93tqfwnN4IgXwx84oxRtm5wBB4zZaxYOElGu585BscK7zyzRJ+L1CeHqxPUypivib6/PFpaJyo2qznh9nNtg+l2tTuDMw1SpG4gSiINNZ5rko35hr6QT7kwwXGOyfnNvnqJ4dr956L1QFzOQ/DSsoid5/S63FIo+PpBDKSV3pb1ouHtr4ib1HH+b7/+Br4r/T4gVFP0qSLxD4w7ERb4hhTrU1A3MXFW4HTSGktiq0o76sfM16ehLHMBfElYZNEq5SoKbGR8HjFyjUESwlnpjzxHAmSLEI+hpN7U7zUDLvDnPqSveuiUtJL+mR9FWO8e2tTf8JFuTFOaKWMLCspZwNMsjqo1OZctj65X2yhTlK5H4O9WhV1ztbLaU9bU2F0sNWDg1SSAkse2W3QMHJxHOeYLnpvbYWeqJFWsLsU9YjSGoPlgpaRovZ7Sp137RsGhuKA6lJxbPJnS2djca7r3In8n9S2dnLzL17wGm3o7iEkq5kwCJOFUDS8uL7vivhUqq4ldOvyg/5MK9qD5ChgpgEG/2ooXMSRvFh913yuI/egSRYwtjeizwe/h4UwgcOKFM7H4zUABa80tKuF0tcWr/oi8ZfdmXXR3bBJNHwCmcPOgk0Hh8E/xjw90vMZEW10o8JErq2S//HiiqYUr9TCYBktT3VSZtIqjXku9DXBHeXhbpTIZscwOPfkMAeYoht2StGCFXso/KKVThRJsaQnXLfPKQhvjqDYyRKcPsGkr4jWf5SRbISERexXTWW3uh3gRsGi8XA4LFobGdNhN2Hd01jVNFWqDMmyD+oR8Fs4uCRZWJs=","layer_level":2},{"id":"ee9178f8-f4f8-4b57-90fa-6462c4acb72f","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具库","description":"utility-libraries","prompt":"为Netcatty的工具库和辅助函数创建详细的技术文档。解释通用工具函数的设计原则和实现方式,包括字符串处理、数组操作、对象合并、类型判断等常用功能的实现。分析上传服务、本地Shell管理、字体处理、标签页交互等专用工具库的功能和使用方法。详细说明每个工具函数的API文档,包括参数说明、返回值类型、异常处理、使用示例。提供错误处理机制和异常情况的处理策略,包括网络错误、文件操作错误、权限错误的处理方式。包含性能优化技巧和内存管理策略,以及工具函数的测试方法和质量保证措施。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":3,"progress_status":"completed","dependent_files":"lib/,lib/localShell.ts,lib/uploadService.ts,lib/utils.ts,lib/fontAvailability.ts,lib/tabInteractions.ts,lib/useDiscoveredShells.ts","gmt_create":"2026-05-28T20:07:11.127632+08:00","gmt_modified":"2026-05-28T21:13:33.318851+08:00","raw_data":"WikiEncrypted:SvMc2PRoWqDcMfdzcPf97AuVTkmybn75mqW1cLNr+OIrZEaeH5sTVFgcR2BkTeXmfVEreLIaVCLUtVvd+3WaSBjMYmVcdBHau+8C1CsRNAjTTa2lPZA/bsjJia+5mOrgH4d0xVs/7KjMLohvewVD/80l0f7xJ0NhNJZF5kMar1fGcBUULUw0YupINcOlzr2n2T5u9HYNmOX/MN9xrAD7Gou9iNQBdHm5uTXfvu3s/FxGVRlb6WuZhE/xjoFv9ZVYoR/UPpwKrKXrVyDroGZA78GptasHuC5I4SvJEt0CoqF+xQgGCH0Cs1rshbqXIKVeky1xZJwm4bB0aHvbGP0j/Mng3atmIZ5BUp+v24D9hFu2PxFgD4eHLF8yu2UdwcLRxeXfNiaHl67ay3gSCFL3yc9cIMvTWoXkqBac4XR5Rf4kJprVhuqopmjL+y9hUkeyG5W+v8X4pDW8PMGNDSz3DtGRNI3R8D+myn68wVmXAtHjG2MO3uv/cD/0xT/ATbgD15+bTLFi/2fuDsscEDlNTvlyvkJaTO1yeDlg5/hFh2BtqVcxySkPdta9g1WfPFqYweEWyHmghZNeMU6tv3DsH+I2oNAO5JydLzFuB5da4aETxIBdbtMpWin09el8jW0SLKOr1+roTAIv9nVcXxvkMVg5DqYWbsfrfOVd3qqnXTdnh2hND3/PDXEgB7OEBuFIwY+x8X2Xkugvd45jye/qPc3fdYgqlCq8uTd4RtoV/hAxQewk5bnUMYIvSBYWP0S0oPtAedXu9IDdIdYtYED5TEn0zJnQ/1ApRz4hLLBbM1hQV1fsUycvDvKK9t/zEnzrSNr2CEFZXXxPKe1mRS4vTqSPKsDVmJCV72mEmhuOYehi2NLePPGrd0+zjMU9gojAVrmRN/Zi9spQ+hhLjoEVjQr3sfFo9hx6FtiYtoAMzrIpcjPQabYrRDBGt0pWezFVHIAyukvN+GVMat8Gg0ALb/aGLczFzLSxJMXO++Vc+63iRaGVbo6xpNYkqXR92td4bQpoaa9lrl+e4hkalnjwLS1CMZum0hTrG3ZDfoVl0QvUsElG5Yljzuvx9q7Hk9JhutzXfbneNaqAGt1nx8eYcp3gXhoRH8e0g9FbxhXVNtb7uccy9boroEIatw7PPccBHK3FuZCGoouNUkLNqSKl3U2bX1taRUZ+lz/OUfIKchC4JlPjF7Qp5hi6P2PDw4vGx6U7gitLMbTgcgFNpsWq6IS/wNVdLLdeY0qUiUJbaFWffxttrVaPZ1KsxTbMrNW4eSiBLvI0TGDpafQ6oN2V5i/IGF+SAOxv5vuGHr0+7PhOAbU3tzjsxeRookH16IyErE1lnLqR2uEFZUGxAnl8Ahf9wGZz1tTb4UJOXNZVyRcOLMIAockfrDqRZmoa69Gz","layer_level":2},{"id":"2af9b53c-66bb-4ae8-8cfd-72579a55e354","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快捷键设置","description":"shortcut-settings","prompt":"为快捷键设置功能创建全面的用户指南。详细介绍全局快捷键配置,包括窗口切换、应用控制、系统操作等快捷键绑定。深入说明局部快捷键设置,包括终端快捷键、SFTP快捷键、AI面板快捷键等。解释快捷键录制功能,包括按键组合捕获、冲突检测、重复绑定处理等。介绍快捷键方案管理,包括预设方案切换、自定义方案保存、方案导入导出等。提供快捷键冲突解决和最佳实践建议。包含常用快捷键推荐和个性化配置指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":3,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsShortcutsTab.tsx,components/settings/tabs/SettingsShortcutsTab.tsx,domain/customKeyBindings.ts","gmt_create":"2026-05-28T20:07:11.894919+08:00","gmt_modified":"2026-05-28T21:13:58.2467+08:00","raw_data":"WikiEncrypted:IAgkkogvFzAPSrRdUGePIyX0FVR9arRO1F711SqrMo3txF+/4XReNNTTpj0Tl+knB5GwPfgXQwnG+t21jGkLuFQxfhClwVtxCUwdO8FIpRn+hLlwyi4xDmDXW8PYfTeqPIm7MtzGRFnwZduJaBnthpzuX0Nq42pZqRmCVLM6X1LlVn0E1Rcf4VcUW75Em3UxP9jrsZxyxz+Jbs6KramE8xk4Yftiq/0D7ONuh0Qha7HnpOf351czyG2oGOfrz8baBtmxRnTx7SEP14zbwjSJ/CaEadvOKZ2YN0wAry0Lz8GD3FWEdWhhsx+7utvtqH/gt4tZsIqVHxLVlTvnonFhnZg2vp4R9jhZ2iMn0C4hbzn9KlL5bquvzBTZsW98d/bf2KcJc6rxk65jAAPXtge1qj5JFkAguYzKubbSV2QBKsOwVNCeOugzn/t1/aRHHY1HepjpAtYHOB8WklXEZF0EOJeKp//siCJi2K4mJug98noH7XTMjJAS7tR/2SxEKNtbTPGZAzG5RwIhp6IeFvvMOVKl7vTZXUdb1YBCrTeUNT34x1+em4hELKWDm7j5Z0K3GxpV8nMXX/3J7ES+cZmWJWwSyHu1pmxvRiBOlTqGDgI8k3ZWJxFgnkXv9Y0LcIewzdIm5T3WIziE8a7v1yvgAKKzs1af3Yu02/8VnMuYm3kM2v835frcV/VqWpP8W3IbMABSdgUnvdZBLEt2CX1ZMKCnzK4DbS0fIzeu5Shhyqnx7lNbjWCR9HyHvCT6X8N8Ook/hmdSaCXjUdwCzmhh7wAIlAJWAAgwWfnnXVIkZTid1pUmTKAi4oh86MemgYR5NOVWeTTPbi+gstAxokZifmiHHA3htpvFStEIU1cCoNNQDL6avDCobAFP40arbMEUTL5NJeFwFqOGnEj1I3dVhQt4PMhJijIGByXa/6qg7q2tzu10/oudA0rbgeO6CY2mHc4pRkkST16Xj7ILyOxZnz89VWCV2vfDtBdURv1ympdj02Zhbhw00CIVq0yxoy4OWLl5L54oTVSn0zzWJRURJi1PRNYTFXNjFGi3i0Ki1VVPsxk5KJ0CWj86zC+dioEed6libs4lt2dLc5+9krlOPd7SIGH/UN0iN/eYtj0g6vZShcgtUfUdJSEowObUdgZ7esiWm2W2zyjkhhNawGREQraY/RkcfsDYwObkACCU1ZlJNANWC2d/reouOyrZ/o0QEXWsKEPLIjCNJXICVzCO/BEU4d+zCo2Tz7iXLwbVoYAx245XPnck1fruohijdsip","layer_level":2},{"id":"d9afe811-1714-4c00-9188-6b5535c6700c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"CLI工具","description":"cli-tools","prompt":"介绍Netcatty的CLI工具集和实现。详细说明netcatty-tool-cli工具的功能和使用方法,包括命令行参数解析、执行流程控制。解释CLI工具与主应用的集成方式,包括IPC通信和数据交换。提供CLI工具的使用示例和最佳实践。包含命令行工具的扩展机制和自定义命令的开发指南。分析CLI工具的发现机制和路径解析实现。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":3,"progress_status":"completed","dependent_files":"electron/cli/,skills/netcatty-tool-cli/","gmt_create":"2026-05-28T20:07:13.149326+08:00","gmt_modified":"2026-05-28T21:16:18.018385+08:00","raw_data":"WikiEncrypted:N3FJ1M6uXIDpqziw7Sfc36FmOqr+zpJRLjIee1Rqnmhce5m9z/wf8n/LboE3aJ8uCo/HoT8JxDZH9mU/hUnJM7FlOtZdlP/wVj8Ilh+38f2bvyOLYTY/JPcOu7jajpddNJ7BfkrK1G1VP9rwtDyT7dz0AgdIXBEjlAJMp0jtuz4L/9vowX1+p+/BEPjdV3KARB32lpjwppN728etn17jKY0wySBif8zsg+FrqG3oHGuFHVMr8xQJVewr0q8P17dhFdXfrIWMuudja8vw6ylXqrY9OlCjJp373TXEWIGA3kijzulcOi9wu6hfmcz5qm03WIFnRYUAms4m8k+3mMFnfEnrq4bdiCBJMczYlWKsqVU057ZAZsMZB/pKqE/pmIuSFWHjIUXu2sMhyDcK/knDmmf4McuC9m3vqR1r1KyLw+taLNVQkeJW8j2hN2tVxDrLfq3Q4nr3eP/u3NjVciTF/iyn7gZ/pwZF3ZUvOn01/PrJqrxQgEnwz4cbTbXku0rnyUKv86Vi92GXw8MuxEhE3b3Gze3vf6Ml0ijuPvBKASXgpaPWumEwQYzikRbIcSEKhD9p/erZ2VO5hn528MNCSnjdipmg4Qs3Ohv1rb2OWRvPcc1iTS37xPYIL+WFveCKT1pCIevhaUnJ/USJVUxVY1PGFC2RbJ88Zk9/fZvEitFefRlh/7Zmc81HmFWBZ95bENY9iVgCsle7eoZioOQ1nH5zZl1hJ547mHSexRD3kJAUvf0zuTPo5GNH3SbYfzBRNReztU6v5GJj4wqRuUAXC4a12M1skGVQZ4gk1MauT+XwhEdAUJFA/lbsWA85w65IgqR9YoMMFkjLmk3uilDkMFRoRXZW7Et6X92pHSaMGZe62/hRtyx28cMU/AflS/2cySvdgg1ffKApqqtEULnxEkUOQj+k9+jK0N9CQtdc6zU2Uhbkh43eDZaP2BLt9F7elUUjNQhx2oBDJbE+9TJLuw==","layer_level":2},{"id":"8433df7e-7804-4604-ba3a-45580e402754","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI基础设施","description":"ai-infrastructure","prompt":"为Netcatty的AI基础设施创建全面的技术文档。深入解释AI代理管理器的设计架构,包括代理发现机制、生命周期管理、资源调度和并发控制。详细分析AI SDK的集成实现,包括Claude、OpenAI等提供商的适配器设计、API调用封装和错误处理机制。解释共享服务的架构,包括会话执行队列、工具执行器、安全控制和输出解析器的实现。提供AI服务的完整架构图,展示从用户请求到AI响应的端到端流程,包括请求路由、上下文管理、流式响应处理等关键环节。包含AI服务的监控指标、日志记录策略和性能优化方案。详细说明ACPAgentAdapter的实现原理、工具调用的安全边界和会话状态管理机制。解释AI服务的扩展性设计,包括新提供商接入、自定义工具开发和插件化架构。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":3,"progress_status":"completed","dependent_files":"electron/bridges/aiBridge/acpHandlers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,infrastructure/ai/managedAgents.ts,infrastructure/ai/types.ts,infrastructure/ai/,infrastructure/ai/shared/,infrastructure/ai/sdk/,infrastructure/ai/acpAgentAdapter.ts,infrastructure/ai/agentOutputParser.ts","gmt_create":"2026-05-28T20:07:29.923282+08:00","gmt_modified":"2026-05-29T00:36:03.462458+08:00","raw_data":"WikiEncrypted:wIw+pCZoifvNCBWjhMJ7PoDhza76sphxtpVC5ozYPJG8j2olGFc73bHPg97BWQhod5M7+Vpk2Jd7lVpn9Y/CryO30pVRvwjxfOARgR6ezVhdxxfqlYiKJrGj0mj6kM7YAyRq3QFhjk17sn0hrQyrrqNAMXfdh/nmxC2N5McMtB9Dld/HkWw+ee4gy2Ssw7Z0OIbPcXlDK6VZqEgPlsulucVzfs0r+s5FbDjZ9afkWU5wZMWOVezkP0t1G23KKE9O3Z62mG6uR9Whv7chLVxtTqYB7nQjS42eVYnLtOUilg5OkhC7sIkdXidqc8k0sx8Dp859Q8z6dl4szcD/fpTbA7vEuixQly0wHfnuYmdFKqyiE7LTs3HYlAb7Mty7mLdgEPWf84FluJA52K7+NzvZlpVRGtizvbNyMEmtSMU1k8glfSDnCxGSOHxJoMwAsC0y9zUdDEaZ0AgXQ2A7fD4lQk0us7jovKocP6qSNzvREuF28qDvv8blrrXV8G1n56hQs7xqA5zM/kGBRU5GS+H7JQ0yUtDCytPXnEXzmyj/unfOi+AX5YLh17ZJ0me4QpbICK1v2B+RwsuoPTSAsDTNKdRUez+ZQG/tgaJ4dJRnACjrN3Piy0NxulgOnppv3BbdVKM4bKayjId00zMhyjCoBXLuHm63N0eYNuzMcIOzpE/+rQun1rMj8t4CRFFss8WCbbk6hIC1c3kZMUSBe7/SUp1Kws5Ej1JIaJkxUa4BwmxOZsGXYea0RezlOzrSmvhG/9+8hVMDD4/2fgevDPJFZ8BT9ILgJhzpaeC1wbheE1I6/6wpygjR0SShYlcOsG/l0zlba+joqTxtkyu3FZCEzNCb2wjOBUiflBUg2/58TrApaC+mg45naziRhoa5O7DODn0C/nDJ1oG64mAKlVrHqbQ5VXvswQ6bm7pRv/0dKvmGfpjhQQaDAkvAngqGlYeNDgyBaBhBCF8dio5WsA2m0C6YpxqnSWrQBoLQAvC2CUn8syuVhUE4P2ia85A/FOk8ZlHk13usirWm/tTVNBYyLhOKOo+0GcoYU2wqzBGdxMVCuQQbXKYDt9dGAv4rR6lwdswBVhGmB4KP7nV3xZIBTRQbSXCivDG/eGWfJtT0K2SyOMEa7HD6q6tbYuw8MeKgLmK4Fc/Oe3q8LRgitTO+PGykoKtk3XKw79UHFS3wz2v0m2t0xlgCdE9c+R7+EP9u0c+EZDKgF3Sm9R52WbymhwCHBw5ZaHU3qnA55ru6GWkv+YMJn4n19u0MH8I6iMtp3YRtyoM1QkLlYidO8f1dHFkL2Tm0q4a7zArlUm2qYGtZbCT1XUEQrm/Uxnu/9sUCGdQ0MJpES85r9TBwW+qy20g5aPRxMtAg3MGLLOY4ASigDTqVg3G/xkz2EU4YzuihrL/mE7Vkx0QUuVJyZZMZ+6SPEA4hzjRktv7f8PmDYJvYN8+8/nY3pkyKsNXrgn1ywOvyPl+S7CymH3ADTKUjFacTzy0I+xUVGJDfw08NQCz5ygUZRlSmFEaUriv20+d3RnqhoI2JvDBuT8+O0rsYUPQm3Z7BCCt4frc3Ld0T01hTh9NPl1KWKKgk1+gLcTJ4fHpelYxiAED4OZ2kxDFSOxmykBJzEKT7c/PB4Op/tTN+ckjQEhtryDhmX7ZqAaQZMf/AucR/n0UVNXwsiwj/Bnn/4vmDxMt/9tUpUmC2YjzVt6AJWL2rX8CQe3pt6tcR3yazZrvSGZVrd9F7SZuyHNozmytZ5HWAPoxqKr1kh5h1XZ6hK5qnN1G8nlyW5hhiEzqCAG9Eyo1CdObvJqLN04NgcccRZ9JzXa/DYb5OXas6EWqTcx75JYwmJK47XlOMa4kjMSLHO2ENGsFpB5iCs1OTAFNbf/RVnS1O9r4bqA8/qmKUqWt37jsWUXxUtCvS0ugV7/u/I8h7ZwQcHc37a0Xe/4qQT8wLfOqasW3cZV4=","layer_level":2},{"id":"78d9aab1-277d-456d-b81f-c6226b357a1a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"API参考","description":"api-reference","prompt":"创建Netcatty的完整API参考文档。详细记录所有公共接口和API端点,包括IPC桥接API、组件API和状态管理API。对于IPC桥接API,文档化主进程与渲染进程之间的通信接口,包括方法调用规范、参数格式、返回值类型和错误处理机制。对于组件API,详细说明React组件的属性、方法、事件处理和生命周期。对于状态管理API,记录所有Hook函数的使用方法、状态更新机制和数据获取接口。包含具体的代码示例和使用场景,说明常见的调用模式和最佳实践。提供API版本兼容性信息和迁移指南。确保API文档的准确性和完整性,便于开发者集成和扩展。","order":4,"progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,application/state/,components/ui/","gmt_create":"2026-05-28T20:04:49.697265+08:00","gmt_modified":"2026-05-28T20:12:29.294441+08:00","raw_data":"WikiEncrypted:C34GewOyK1SlumqKiPsSg+WPNa2UHH7yP2PPjE4/OPkUytUlTK+XtmhJqDmkbtEHEAcR/fQDGzU2bqlmJ29g1SqsJHGFyO6zV++81fOfKXcggn4oOr9aX8VYJkXLAnsre4qAusShy6ujMgmAACbEcpgFFwLG/hPwTx+JTYtVjn238Rjhmm16TTP1WBayMOZu8p8A5LlPenKF97WCfXBj5pJyvhUN9bMqhenFW0vzbls3Yw6NgX64Sln/IVXShZUmg4+5gi+e0IvRWB/ZybB+vjRUHFuTBfgI+aNPRe0h3Vj8v9IJjDJbiw558VdombcgkrCk1gdHDf59UjULxvuGiQ1O5l36rJhI5j41Bfsqf/GSGRUmM2c16CLmxO+QY4bKc3q7R/0Iu4n7uiFw1iRsVROY2JIkSp+Ncen3q7UvYCApdpSXFy7Ss5Zz1uufNBKNZ3GAAJAuYX+iUITfhu4Ir5KKPr9bDs8oDVoP9a+lLCwvnI13HhLKUZtCnbaQzqKL4O6jH44Dyk3rUypEiGFXyU6ZwU9mgDSa8EGuLM/qfkk3O76+ZcesKGJF3CGQyavFURbNs6Tn2aUVojcNZPHm3+tzH++EEjAfxtfP79JI5SqlSaoeSYVLilaAx6hrtIihMbhFyV/AqpddNnp2TS7Z2Ca5tKSk2p2FfsFuGTBVyi29iRFsQiTY3/FbfBvb8VzNuT5zYUgfbQX3jACxOXKSoo9LYXa5K0zMok25zHRpjFVwW0zptFIBb1Bpv40I+N8a6NyHq6ZpNE/pB0eXDKSQAZxas29gG5C2Y9c+UgDCthL9PW5UA0UzYxWU/aYMuK+VQ2pLwb2fXzA/J+a5HapoIRr6EiElQTP8xIxr3Tfztkb/xe5jjNI+0NvgCiRfJ/b1wWKEcDHKuEz6pRbdkdl/yViFUpch3igMnz3Ga3z1KQZGSfz0zoTx05AL/op7J+w2P5Rpq2XVfHAprxn/Mx3sBDeTvGOdPOMZCBbryWDjeZuzY9heLAmovid97IhG8fae7VhjElP4o355hTx9ecdbgZloL5/iBsuZoVgOV2DLq+YwG8IkeVbtvb/zUb7dvUQxJKwJS/l7qTbgvYS7sDhRsKLrt8dYZRiSIIByi9hcdiOvOykimfqj7k4lsC53BNb8cLSDoUfT+p5Ow1RZ/K8jWHFOrV/uTXAjP94We/wu7WbgLkc7lsHFsA/zByRlpCPylFTwWaYm9iMYuOi2uvQR0a6nfYr9ajdCvw62XvQb41dvUBN/WoZqoQ4aKOvSTVtuf7v8+My3wj5DO0G4ncPCdc3Mm31A9J49hznQ7QDRc/+t7hM4E0cRhj0/oJR9EGNq5Qo9c9OI53Ux1j6btaMyKLlXUgji0pWMixrfApByG11U40o13CLxFVzC/1+T60c8ze+Iq1Ll2Jt1cClNJUwUqQ2xGlqs6nYFGxu7RECzYdDMRiSfMZt8agwpfIi+C5UtbRhvJhEuW0z9FkwhrH2Cpf0udQEXtN1sAgtrksh77RXo43hSmriKfdTLig0bgy94YxdJr0Gtf1KsFMRxTh4mnA=="},{"id":"827df142-1133-4deb-97f5-fe3c3e67ba38","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI代理集成","description":"ai-agent-integration","prompt":"为AI代理集成功能创建详细的用户指南。深入介绍AI聊天面板的使用方法,包括对话界面、消息历史、会话管理等功能。详细说明AI代理的选择和配置,包括Claude、OpenAI等不同提供商的设置方法。解释自然语言交互模式,包括多主机操作指令、任务执行、上下文理解等。介绍AI工具调用功能,包括文件操作、命令执行、系统查询等实用工具。说明会话历史管理,包括历史记录查看、导出、删除等功能。提供AI代理使用的最佳实践,包括提示词编写、多轮对话技巧、结果验证等建议。包含常见问题和故障排除指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":4,"progress_status":"completed","dependent_files":"components/AIChatSidePanel.tsx,infrastructure/ai/managedAgents.ts,components/ai/AgentIconBadge.tsx,infrastructure/ai/types.ts,components/AIChatPanelContent.tsx,electron/bridges/aiBridge.cjs,components/ai/AgentSelector.tsx,components/ai/ChatInput.tsx","gmt_create":"2026-05-28T20:05:22.527078+08:00","gmt_modified":"2026-05-29T00:34:06.368112+08:00","raw_data":"WikiEncrypted:FY4xlKL4tdBVaLrcCgRorOz7jLqOUNjAO93nSA6sBmgS9PaPVcVgV1+++ZDcRKlQdIPn35K11Iv9aGWeK87nnC8uc2I7CpvRqASAPOD4TMyJeIxckMjU9kVVsnxzVI9W8nJdQSbia3Px6YUW/4SgRg6ElCvKf0MfsznjSA3sRUvGyjnv9fbtuRwAs7Ay4+n1xrMdHgqb/WMBwJumDFrHBxZPm+tHpTyldRkQzhq7Le4u1z+ahRK82sGoLaCGQaemXw/cEbTdMgB/rLxhHqDURnTwkT0EDcdOmuNQHBuotcdAXAXtmZ61wLZhyE7x8nsRQODcWXiMbh8hHYjgz3ApSMbPNobQrg6LLCtrz/PZ59h3G0VxWczzEUDCRGx4IeIBR/WECLjGBb7bN0FXNqlm5/JyupFg4FnHQxTTwWRYovsy0j2w1iBN0s64vtIUPC45TVl15mIqGQgRcsbDhcKSrqlbx7PlCJw8hb/ofdtvTolmoS6mCGrVA4tlezKKbsSggmS/DRDmb9ZrH1uqCn48EogSCovKi27cQMORAFpV73BO+xpNDbtYBFMrJ0Aicd7Yyls744fTne65z7kKwRZvXKBLB4YipYP/GMpBszG/4UY4QlxvUbnYrLVVCN+4bFwCGHpHDxP0l7dNz1HcUKRzXhpYG2ndd6+kbOk2t1fThV9AuVPUA6u4/x3ZeNSGvMNHHgS6xjLBJf8jt0FPM3WPyCEp9ffl1db7yxrKCQ+o7Z7wTB4K3SkUue5zVhdtgwJC2gOugcVUiDWYF+RjmM3XNNGZ0NBohNKbAMMOgdGk+3lnDX8o8DpSXlvyZlPy6rNklWFizaFYKGekxYBN8vf8HFP1rs6Sp5LR9r1E9xVexQe3kE9WEqyZOCtjNAJZsZDq926hc2/MPkqoWtpkW1pPvpsK03j9mZxkcGNeJITiibm9HaAghWKNf9BEdOFGKzs4Vgg2L/j4NDFRSrssXVTmOKHIEX7ll2ltOJS0usL0S8VvHKClzHMQc3sOsM7A2fDaCe3C5y2mIgIXKD/lnKou65FL28jDMjdvHVencnG7AwIZpr4UrRHl8E37+4gmwzo3amnLQzmgswmVbtiZvJalRiz3eV3b1ncEFPXg/myjKKJGh+K3iDHX9DCsvmBoiwrVJGaYhX6sidOmU0OHlvGkFVZ+qLOMkZajd8Hzbk+Qb+JEjA00iY1TfZs28jofd+X1udaTrM3OMoYpHB/yf5i15CTn3Dlwh7E1L+shvaYZJJINu/fUmuNOziq+IPy/7CzuBUmqU+PchwiMcsXSueTH8aCAGRozqVQTNv8D1FGagxCnvyGJSRoioBturslrOwMQJ21EzznHqx9ai+thoU1RIHJORgenbuE+f6sDOvbisxRw8V/xH2Tn5efffB5jJ8c8Y7dy8pEOUl26+xlD2QUzdP9LEjH81jqjPOJaJjU7OBiX30JHl+F1Pkg3ACgjv2RMG90UkI5Zd84qgM2KzkzU0UJB7p5rDLl86fboKloMo0AgxpvLB/+DlKlRIk704sxm0rIl1UPT7CGrNGyA3pGg4ylmVXri5AAJlEtY4WU+dNkvVeW/KYQdcHvm/cyI6fIrEZ+uJ2ivh2d8S7WSSts/Pg==","layer_level":1},{"id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"基础设施服务","description":"infrastructure-services","prompt":"为Netcatty的基础设施服务创建详细的技术文档。深入解释云同步服务的实现,包括CloudSyncManager的设计和多云提供商支持。详细说明加密服务的实现,包括数据保护、密钥管理、安全传输。分析字体配置系统,包括终端字体、UI字体的管理和动态切换。解释AI服务的集成,包括AI代理管理、工具调用、会话处理。提供基础设施服务的架构图,展示服务之间的依赖关系和交互方式。包含服务配置、监控、故障恢复等运维相关内容。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":4,"progress_status":"completed","dependent_files":"infrastructure/services/,infrastructure/config/,infrastructure/persistence/,infrastructure/ai/","gmt_create":"2026-05-28T20:05:48.207712+08:00","gmt_modified":"2026-05-28T20:29:52.471428+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"f82dd286-099d-4821-8190-abf67ab92593","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"窗口管理桥接API","description":"window-manager-bridge-api","prompt":"创建窗口管理桥接API的详细文档。详细记录窗口管理的IPC接口,包括主窗口、设置窗口、外部窗口等功能。文档化窗口生命周期管理、窗口状态同步、窗口间通信等接口。说明窗口创建、销毁、最小化、最大化等操作的实现机制。包含具体的代码示例展示如何在渲染进程中管理应用窗口、处理窗口事件、实现窗口间数据交换等。记录窗口管理的安全考虑、性能优化和用户体验设计原则。提供窗口功能的调试方法、故障排除和跨平台兼容性处理指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":4,"progress_status":"completed","dependent_files":"electron/bridges/windowManager.cjs,electron/bridges/windowManager/backgroundColor.cjs,electron/bridges/windowManager/externalWindows.cjs,electron/bridges/windowManager/mainWindow.cjs,electron/bridges/windowManager/settingsWindow.cjs","gmt_create":"2026-05-28T20:05:50.533146+08:00","gmt_modified":"2026-05-28T21:16:17.784634+08:00","raw_data":"WikiEncrypted:FUZS6U84+pFN68Gw9RhawQxXblPQbPgw8tBLC1PUFTM58d+8ciaaaCL8htEJ6kFdp/FaXiBMRUxa415qFlHtxclePHbST5W7CP28oS5Nc89JWSJunROE+VIB76X4GZAKDtan6LTtasfCaF9vgi1S6odZzapSW64vzYvDWGJNCJxDn016tfgKv0CbBLLjIHUcu4CGOu6mLVSEKZ2c7ecqwU9Hi8TwudeIzY81f+VylkAuL17MpLAt+74IvZxwk5monASgZqGUakC5tXGdo8E//AX6cIoVpoCw8EdRJlEAjG1K50bYfaKSa5KC61O8SKvxZAP6awJLMn6O4SxbGJyHMXRqDqq7eDthC1ezI4ICQOsnqsnKAYtdcWhQcq+bjtPrV4h+407F+jNEmx0QBT+c6zbwqG+wegwY+0rg3Ba4PuwBkO0OdArBZCFvmEWsAvZWNUsiEuKsQogwxp4nXoD7zfl8L2Ab4JW8lvps4KwV3M3OVUgtKN/s54Mbab9VZtqY8nx/oMXcc+deD4wvCusLdw3xq0UG6bvCzq05pxpdREmif4mvPzvZ5/PAc1jSZkOagrQtrdWurp/VZhkHONCL/WUEhfff7n1h64gNX52ugtukL9HewjzgITsgRU6XsCVYCwbegzH4CNo/tLoVjvlpfRM4xr86rhYYjhFS9dPj4gr43HMHPfT+jxMB6Vk4ezM05idztg8wdRj6MClHE9J9KubhEaxwC3mFd5zb5tHM24MhBpZdNjQ5JFGksvrXB5s4PyJX19BtxSlH6TlV0KBtwxc3qbm9//X4zZvO/h/tzAgMVhf2X4TOzCxE9UYdMOxDOk3HcCYcQE9t6kGxAJKX92n8gYFUveBAXUZ6yXTR7g1qfxWqsVSkVYZKswaowihp/Y/8W7FEa+p8aXUqTGIlxVcx9RxF7fmdAVGIKEpEut5tKzFbotJQaYwfQTkCGJnGh3vs5RvltLhhgzH3WWgOpSblm/6k31YF6M7C4ga/jeIOsf4JuQZqkajeAGLcjJCT/1hwb+BFVpAdQ2jz2rHcfTLK/SUVt1fq9asGIAScCjT8B/FPTmHfLE8viuk5ZR+zdITB2ADPpYqrEM8yzvebbBy4wGxqFAQ4KUtXOvPB+6FITRp0TQt5390If6txmrw1xA7SeM6fBrMAT6NTPJaC1P0S7S9h3yEVAmu2KMBy37mPul6etBbiVizcGm6OGBDP6TPyMQfzm/Njlkczzvg56PZaI9EAxLJ6ichd9a30K1/85wt3UaGfffzXFH/SAyQHf7YF66fl+KY43lXi9Xk9Sdb5HrWBFiXeNJNSF6G1LL/G1/b4yzjZuECJrnW5N3YeBzCI+wkODHDZiEdM/LNQXDdUfvha9vOZvhRRYJY85snw12h4jwIwSrk6VNB2bTVnNIFOmZ7RKjxUKBPX3vBdOKsX0y/i/wJZVcNsSaD02oJXxsFY3JLVVHD6GaTLQdFgudpdjwXj9dE65W9rU6jdHQ==","layer_level":2},{"id":"d281abbd-5367-47dc-ab13-aff302093b89","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI组件","description":"ai-components","prompt":"创建AI相关组件的详细API文档。详细说明聊天面板、消息列表、输入框等组件的属性和方法。记录AI对话管理、会话历史、代理选择等功能接口。文档化AI工具调用、代码高亮、思考过程显示等特性配置。包含AI会话状态管理、流式响应处理和错误恢复机制。提供AI组件的组合使用模式和自定义扩展示例。记录AI性能优化、内存管理和并发控制的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":4,"progress_status":"completed","dependent_files":"components/AIChatPanelContent.tsx,components/AIChatSidePanel.tsx,components/ai/,components/ai-elements/,components/ai/hooks/","gmt_create":"2026-05-28T20:05:51.882431+08:00","gmt_modified":"2026-05-28T21:18:59.642815+08:00","raw_data":"WikiEncrypted:9VLW8p8ml1pWblbBtgr3NLNqQL5RYc5NHrUxEWux8qG3izAd+GWOnpuVtHNRNXQrCpoiDC9ICz7Qm194G0j2+MRt7iAn8llFK/1oVIX1xp2lS6NInxtnyf5ZTfT7XGugzrf0tsA/FxE7tNUeZhT1FjZhf5IrBPZTUiA1RrfiVtspvpLtem6lthRhhIHd8jNXgECnrpM2sCz16Ps66pnPnBwEqu6dFQ2HCaR9ISNqotuqZSQCmFgxS1lJ9pghho+cjHHEvWjOBADrjJ4LvoN9Ttt4r6WzvBuoOHCtfLWAhPf4aUFZxYn64rSiw4OQsvpb1x7+tMEb3QdS1RkvagruHgUcqU0Jq4dCwJc1CFHoor0etlScFpI5S21R2UcCXabrcFBYl67iOmCPZaR9gTubHAAuVx/7Q1TE87GFFSQlkbTFU7IAz4NrZ8m4jwcIdYGCMssajWcjG6nuLj3ADKcDpCIznYDd61Fl90Ewzzy5BaWfB4OXMPv+pMWbu7YaDSAxpEgfymtkzbGpBcfaiFaSvVJTGENZpnz4u7aa0IS3j2ll3nqSVq7+OwzS2Uod0yE63aK7znhgncyDdF0J1Jv7dtUlL7EMdIjBz4RsWbxf7HSdDX2S/h/XQR+jeDiQcVRhuTZ3NNR92yp2zWGWOKQ94HuNaXSTtVQgcU0TsbQYp7rPD6u+gQ5dbPvbMcAZ5urXJFvSL+MYXa5fEfY545ZfJdt9SrTQMHYY1Yd3coqSvgxv58kiFo0k3wsoxZ5hkdvFefQQWVZ8O2TmO4MAQrJ7r91U/c90e2PuqfyyPZZus/CQ5vm2B0SwZ7qUvT/230MKKkCuraiuJ7PKZ5peeMhrPa5pysil0fZ8/XMHIrgJ2XQNXy0KBkpHCavQJ1D2/3B94erd20Hk/5PYbnu9UjLqzLTmZOajpTfB5Efjfw96OJGNl5CXqwrOXHcltpUZSBS3TRxPnmgy7k9kWs0q8cQ3DnBfpkPEZCRu6XjHBql/Il3V4mCkkpoThekHoARjX1Qizc07x1pcIaGSFw8RRvox61grHB+mcrOB9aIwmD857gxom6Uj7SioijEPMxU11BaTuxipkQ87TuywgvwvkMGoIsFF4GgxFMjLxlsdSsvBv1A68aq1NBMOFm4+eIXD9ZhI","layer_level":2},{"id":"a34970ad-c11c-48af-931c-5cca9ef2f01a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工作区模型","description":"workspace-model","prompt":"创建工作区模型的详细API文档。详细记录Workspace实体的结构定义,包括工作区配置、主机分组、布局设置和共享权限。文档化工作区的创建、修改、删除和复制操作的API方法。说明工作区与主机、标签页、会话的关联关系和数据同步机制。包含工作区导入导出、模板管理和版本控制功能。提供工作区安全配置、访问控制和权限管理的实现细节。记录工作区的备份恢复、迁移升级和数据一致性保证。包含多用户协作、远程同步和冲突解决的处理方案。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":4,"progress_status":"completed","dependent_files":"domain/models/workspace.ts,domain/workspace.ts,components/workspace/AddToWorkspaceDialog.tsx,application/state/useVaultState.ts","gmt_create":"2026-05-28T20:06:08.451947+08:00","gmt_modified":"2026-05-28T21:18:29.930859+08:00","raw_data":"WikiEncrypted:Di1ozXFlWwX2EdovvmvRIisdNiYMwYbseKvawaE9z5G0iSmeWHgXo57qpjbmPwoWXgFxUVM4yspXFfcZXHeRYmVcB7oSGtT+1vZWdXc3Tf8bsPrEzK9qtAUCaouns+rZEYPKPA9DFPeUtB1yOmRCLlE7JOrDDTBzl5v0V15b2a+OG5Vc6expSZsA/bkuT+gnUxYDHePXLmkanRCOuyCCX8B1XS+02nB/TT+GbGEYdxVUbXcmJqCnBOanx9XfXkGew/n/lFh1DfzhCsfeWT5/fsujkn4qM5ncddGa0JNNWISOHfmyvWsP8vti6zyt3D6fT3WF9RXWeezKW7wZdGhUkM2rhp3PGsA6k+1RNfGVqtmNErkgGURC8aO7UOpimwhAwuAjrAeMBZkdzikd13vCrJAmum6vETxhCcFgzCQT0GM97pRhlXxCrvIQSHs7uyeKTqf7Vz9oVzzYR7kxUoRAhjkG+uDO07hH2IPX+WMxd/obnJlyzdxjQ3CX1jXxtN7yeBdJBGEnE54tDCP3RysqIqkXEskJXz0gD5a84bLMk2Oy6pxgtYnSExdxXCoEsRbEDoNrdU4Y9GB/9OZ5OF4uY71uerWhljGMkWJ0hbkxaqsGqC7y6qXE6t9ti+SBPZYJBLMOaJzcSCRUWlsENCkd5vS3rbBgdcVpDJNWNA6K+XPw7pGDXl+xv0VEuQQzd+8ZZXkbfDOt0/RLTYYHDJuIeoCRRMluV6mWnFODOhcRA3uzLqqwV77YGEjrYDI4NpZwKatznB9FlMXtvoT+etQ0JJd8TOBQBAQvbLbXnRAdPNqBLVcvEYkf5bkDER8tnQMdBWPQbqAGWVVIe9TE0KTbQn5B9n/jH8pOl8SBjaZ/mX0t5k3ttYvbDv0rvEw+k/Rt2hxyeISPFMVsXc2oGwqbbd08Y9zRwr985oiSrLU70u3IhidJXUTvd10LiZIzXuQDhtKe6XatOCIT1wAO2sAvjz2xszh0qA7n+xvvrJ6Dc6n33b4rrXQcxqRYTJkzVrdwYHn+ieykhInFejU1kf+USP+E/GNsx7nbQlKoeTqb3ItDcGEEAZjyPDX9hfxRD+tljXCjfFosoiYkeERnzf5YxSrPnS8dMlqGpxd3yBoJFQJtEWYLjattpRgCCtCQn8zEp8DAlF7NVQDTUKGq8OJVAQQzbmGJu98XAGXa5V5i4VW8/T1ST+Ojglag1sqUBsVYGhP79zHu3vODhsKEylq8M+1eDkpWXrvbRFXnAZzZFQ5pJOKY9159wdPfVmZhO5QbgP10y1xVJGtXTQpo/wbtHBMHvlaeHKBKGefJkUaWLNZVfkRH3sgQ1u5sKI+mZQ5G","layer_level":2},{"id":"5ab851c5-022e-47a4-8293-af1491c63b59","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接测试","description":"connection-testing","prompt":"为连接测试功能创建详细的内容。深入解释如何测试主机连接的可用性和稳定性,包括连接前的预检查、连接后的验证步骤。详细说明连接日志的查看和分析方法,包括成功连接、连接失败、认证错误等各种日志类型的解读。解释会话活动监控功能,包括连接状态显示、活动时间记录、异常断开检测等特性。说明连接性能测试和网络质量评估的方法,包括延迟测试、带宽测量、丢包率统计等功能。提供连接问题的诊断工具和方法,包括网络连通性测试、端口扫描、DNS解析验证等实用技巧。包含常见连接问题的解决方案和预防措施。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":4,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/connectionLog.ts,components/ConnectionLogsManager.tsx,application/state/sessionActivity.ts","gmt_create":"2026-05-28T20:06:10.068486+08:00","gmt_modified":"2026-05-28T21:18:40.067026+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AMsjBPK+UZ0xLtGFzXqQXFXuXI18f0UwnajtkRZ+hnJgJ1ZfzLCmtQc4OADCWygmASlQzR0sfFXSERwyYvm53GOmIaZTPeky5u7xG3zpY+J0LZP71bAxVDNJYESL3tSx1LYylKmo0mRhH6lmjUVQucLPGwtzCziuwvaF7b2gQQL1i5G8Dd4LvS6vnU8YWxFjmWiLZGSA8EPTPzgp0OJ+X8MnR+5m7XnAqoFFlZLDcxULCOxN+pf/W6wIA9M+DZGQRKZ2kcA4eHrUn4iT7X7yLW+kwvkfpmWD8DlpCP5XqW8mfuDp1j/v2P+qXvBlNo4dgABzX1Ifh+hsdPkhn8zQ3a+VEaoWkwbmOAQa5UhVXj9bgjw6e+WADVHMEOaVdy4zhe8DfxVIu7flCT6T393/iprZ/7SnQjvrmLPWIEYTTRJhjwrA0qr9+z9v+/yW2yWKRBW9bGDD1r9cw8ujtAs2D8UZpzsrJzP55hiMhTjuCKJUpgRU1gLUAzOuLn2/RC/0KIOl1t6XFfuiuywfigbfXuvlo9TAfj1Is3FXj2XCDxzi8v7CUw62Wow0+Wv6ENBPF7UdxVBH15Zrf5ZRh8UgnGV1TBy+MBF75N9vimsW9IkCXhulY3RfIAhfqP6VqcRdPyynWEy8nZpFl5ZFVLgO9QLPEtzQBmT8fAaY91icFxF2kdsmwU7jQv5/F2QkME1iVQSHyzHvb1YCexP6+aj+5S1I192qVbfyTWtMHeK73hxI9sTGbQnZVMiv0HFrOl1KZTcnYqgoUANkG5kXELB2dEhV5+ovQjVdSYRrF7CatLY90XjMzxnQvsA/k4OscTyybg4CgYYz+NcydzkEkRo6ihzW6JXciPXSlVCvIjGjiQ1iyQHV1Yq3bi8A4LZhTBNoupRgPrgKdhR2asrd89IFReyIasBoZeMxsnL2oZ7wHqZgTNl5qlCZfy+CVLAABJWzJBEYfsL3n3r2afCPa7IJ3lm8czaRkWPWPDSezE5jeSyS29YLFAnGvpHhtPzWvlN0UfnScli+8oUuw0z5/sAVf+/qxuxqenUkxnkDKBzcwtdv7ZJUOtkm5VuWp9MWOPqCTfE76IYkxjiFULmYBKYEg6GpNXspUKmQsfAfx/6Vwx158l883jx7ZKbt+WEDo+KfgW1RP1R4zTmOW7lsg3nYJRBPydYjpF76stoEqmt61em5rlxabf6LdRDyykqkltWqpvrHEzYxuH5HVzfs+Kbutl5ZRTYlWIPke1zRsMOTRREXoMTe1i2rOD+BC/gGWYuEZqYJ6Sj9oyrgtyjFULhnw5LOyAka7M/mmffaRvgf9kVKJoO7u3KYi6wq0hSPSNJ97J4jPt7OK3a7vCewcOzMBrSISa5/pts+MN9dN0boy4atFYdZ476wMH2nXmAhwdHSbWSDZrkvpLsUC5jvdmv65Eb03uGlYk7znakWNcm+GXv65Sncwb95W8YsUu2QRfZOeMsu/ZJS7KIOPyTdhrjBu0I=","layer_level":2},{"id":"81f40392-144b-487d-a89a-89595b2ca5e6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI状态Hook","description":"ai-state-hooks","prompt":"创建AI状态Hook的详细API文档。详细记录useAIState、aiDraftState、useAgentDiscovery等AI管理相关Hook的使用方法。说明AI对话状态、草稿管理和状态快照的数据结构。文档化AI代理发现、剪贴板后端和云同步的实现机制。包含AI会话清理、端口转发状态和树形展开状态的API说明。提供AI相关的状态事件处理、性能监控和内存管理的实现细节。记录AI状态的持久化策略、并发控制和错误恢复机制。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":4,"progress_status":"completed","dependent_files":"application/state/useAIState.ts,application/state/aiDraftState.ts,application/state/aiDraftState.test.ts,application/state/aiStateEvents.ts,application/state/aiStateSnapshots.ts,application/state/aiProviderCleanup.ts,application/state/aiScopeCleanup.ts,application/state/aiScopeCleanup.test.ts,application/state/useAgentDiscovery.ts,application/state/useClipboardBackend.ts,application/state/useCloudSync.ts,application/state/useFileUpload.ts,application/state/useImmersiveMode.ts,application/state/useKeychainBackend.ts,application/state/useKnownHostsBackend.ts,application/state/useLocalVaultBackups.ts,application/state/useManagedSourceSync.ts,application/state/usePortForwardingAutoStart.ts,application/state/usePortForwardingState.ts,application/state/useTrayPanelBackend.ts,application/state/useTreeExpandedState.ts,application/state/useUpdateCheck.ts,application/state/useWindowControls.ts,application/state/windowInputFocus.ts","gmt_create":"2026-05-28T20:06:17.569651+08:00","gmt_modified":"2026-05-28T21:20:51.986779+08:00","raw_data":"WikiEncrypted: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","layer_level":2},{"id":"af609130-8a02-45a6-8465-1217b9e14bb9","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话管理","description":"terminal-session-management","prompt":"为终端会话管理功能创建详细的技术文档。深入解释会话生命周期的管理机制,包括会话创建、连接建立、状态监控、资源清理等完整流程。详细说明会话分割和布局管理,包括水平分割、垂直分割、标签页管理、会话切换等多会话操作的实现原理。解释会话状态的持久化和恢复机制,包括会话数据保存、断线重连、状态同步等关键技术。提供会话性能优化的实现方案,包括内存管理、渲染优化、网络传输效率等技术细节。包含会话管理的安全考虑,如会话隔离、权限控制、数据保护等安全机制。提供实际使用场景的配置示例和故障排除指南。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":4,"progress_status":"completed","dependent_files":"components/terminal/runtime/createXTermRuntime.ts,components/terminal/runtime/createTerminalSessionStarters.ts,application/state/useTerminalBackend.ts,domain/terminalScroll.ts","gmt_create":"2026-05-28T20:06:31.73517+08:00","gmt_modified":"2026-05-28T21:22:50.045446+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjC53il+aCn5uMXx3VyIOnI9DlMf6d448CFCqwjUUW1qiIprWbCfWPW9M+ZminsDhRYAxlSXHBVsjmgieFMrNrgKlwCbBe4ta0vpiT423/vdzGo8h5XNiN1BEJFn+ca8uTjmccVqvJrKucvRLT97nW5Mqr1AA+O64fpjOBwkI9iUNfuxvVcnEJPDECM1g8kcMb/0Qb1wfZfXE0mkhLx6VaJ/i1Kuz3gObm+3vhRz7KJvMEkAXnOoFjgTtAb9abZilxi9Bz5mvblCZYueJ7faU4iROEAfOVC70i/09tNoI1t3AiH4H4h9DOaEjYx7h+FkiaH3GBrqjDEMTvpA88tOu3WYwRmdUo1/mR7NgPQANtS0z2/h2Uwoyrys91CxH8ixnIdidudE2Fse5FYwTtg+xn2fnIZmPG6+WxK/VLB+IofAs+Y+ZkFcs9E8e/OVDIA/pxFhkF9xxZQ1Sl1lulzn5j419Vaq8KIzbRy7ZesHFuRF4DgbLvPbUYCyPeyVucApj1hcn2dZmUyUjiYlQ4TTQXMoq96p+AM8/WQjBXMF0COleNQyVVNR//HO8a+fR+KaRh8BtwGxtC9QJuhOusRfkqnmlXNaY2MWfaWvIXj3/z/pDuXuTYmeXsSM1xqxMsGjJTZyq1gpo9ERhPXFVKwUdSbZo/ShEeWbn388MYLOBcMJrN1xwKHsgQeTbbosa9PkojDxXHqp57xwlTJuRiwxCfh+pgJhmQgmEp7nIjzKcYCOjVm8T0eTbypEBUt/oM+X0ZmHCpoVBQp3RtLKQAe1UBLwzxznP/nBK62MUgeUkfWfZzd+GbcDvhYxQ3Jgq+JUMcOC23td0DxLZ9RvYWSF85xCSThqg534ov9P7/64BjKkI7Yxx4sB1+Q4ZaW9jNk7Ng7kByMWGrWffxD0qMHrHO/oK6njBTkcOSh2wygZvhHts3W5JMcRkTu64J1joReEyGhrixBHLD02b+g5U/xmJHphfRCTFo029vX+4jA/4HrGPpWy+eitKyZS4Tc9FeMnNt6IVGzctDzzdIqzPkzLCWbDyiBU89D9IwLgxLD+S2QdMRKAv+Bp8jmgh1XHvsBmq8MupfipcFZyScYAYI1QiiDtoenSBOFRjYrET10Q+D/7LJ5sM0F4JK1RCvva0i0NUUlGWF3B4sF4x5oWol9B66KI0UH5Zb+xmD9XW8Ftz7/aYh4Io3reBt4v9IvYco5v3LeZM9ADiwXj1m05LZqpcl/mqhFJW791lFWroNMSkKPGDkHJOmxWTRQfbLSR4oozQL1VXJVVOZOW5NBFryRC5CyAdb9q0xVItnRBwmiUSAFO2f/6HAJzs3LfshjMZVaA1MP5mtxbPnx6Iv5nnP3xjYfhGsaJJXL4FHhSX+o+OVLHDrZEeYxR/1huaczyoIEnDbyX5GjBKk+79FAukAJZYsq4SpFxgTAI+1pjvvASHK3gnOlYH0kDqIWFwXHrMDGPDWazXl8Nzb2hcsAJYfk1cgx6Gh4zK2LYWnEH/CK36Otqkg+Ayo5QK0kU6FOMLzbj1YJ31LJdPgUvF4O4EdKQqfqUN9RkTcMcoJpoI2NN9GUlRNyPJvGQeI1EvvZq0NFsfaQ==","layer_level":2},{"id":"76a4607c-76b0-4c26-ab56-f2fc6f194f7a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"传输队列管理","description":"sftp-transfer-queue","prompt":"为SFTP传输队列管理功能创建详细的用户指南。深入介绍传输队列的工作原理和管理方法,包括传输任务的创建、排队、执行、完成等生命周期管理。详细说明传输队列界面的使用方法,包括任务列表显示、任务状态跟踪、进度条显示、剩余时间估算等。解释传输任务的各种状态,包括等待、正在传输、暂停、完成、失败等状态的含义和处理方法。介绍传输队列的操作功能,包括暂停/恢复任务、取消任务、重新开始任务、删除已完成任务等。说明传输错误的处理机制,包括错误类型识别、重试策略、错误报告、故障排除等。提供传输队列性能优化建议和大量文件传输的最佳实践。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":4,"progress_status":"completed","dependent_files":"components/sftp/SftpTransferQueue.tsx,components/sftp/SftpTransferItem.tsx,application/state/sftp/transferTaskOps.ts,application/state/sftp/transferDirectoryOps.ts","gmt_create":"2026-05-28T20:06:36.998228+08:00","gmt_modified":"2026-05-28T21:21:03.09833+08:00","raw_data":"WikiEncrypted:F2ZD69I8HipXU9iLvRJsyfaHmoVCEFsYQSfdJ+c29qqFQlc6kxzVFDLmQdA2uroOtdGilPQzrYaUzwQeYgxmrCD0G0u2GeFamG+ZVb9+ixCJ0q4ejOn/N04gxXkomYFr2zrb9BtMbkiYnXVSfDIGTmtQniQrngeICoTimfCwmPaean6t7/WC7ak03RPuI/BYbMJhzoGiigDPvD1B2uIyeTnz7/lpIYerI19sebADSU/onlw3hKVU6b+GAi4Ja2hU3eM5+mbHGtL1ryRg1aSq8OQl6KrlVBGNfGpQJDs3m2S84emZKRbuBeFR91ZkWqlzrgOA57iHtm8zk/Ci+Yvq9h5fBirzPnYBfc9WyDceEmuYjRIDz9e0EMVj1K6pqvudQwVcXIm7h9XcD7LjQTrZqjOomoaOYxrKO2nTeEXkobZkmqWJ8JgrmpDEM5OZISgq+z5uUV9lVtjkRmcxCN25l/lFKuwzv4iseirEUHRaMaXumfMF5gLxzcAVXc7TP3KmpXsSeZ5BuQIS6AYnwzCxgpA8lg+hYtGSIkKyDVnHmgACudki8rYlWQcLKMOKUPQPKDDrCWihbrakoTuMF52Eq+gVHCAz9euJPQXrova25cCyfL5Tk7MnAUhAMRECT+UpVEhEaFkqf2fzZxaNLdo98w7wb8Az+q0zVyWfKQQMAoQHpTwCKHed9bLwl4Id/fXIBCBFF8EB+cL5JUZbd7xq5uc9TWsIfe0NvT+P0N8C6WWcZa6jaQxGTLPlCDy3oyccGYhrIf7f+IZfCZld5Hk6t+PpTnF10NsKiKUWhi9zLfIPnLXlwhcAdOK8fKmxfPcheZCnKBmVTRyeX/3H8D+V5hHYOn7A4UbnMJoqOleEcXwlYVmJc62ugG9zd8cH8MN2MX1DYQQiMy1TSQXLfsuiUQHEYAjlXTQNR94CM+QCr+T0RWlAW2SmRsd08L0hiw5NJO0whA/Km6gilanIYD9D3Dla4YyWAuvoA3v5n/TE82wnn6ZSRnvTCgpYniypTvmrBCKXvJIroA6VBSKAVtZLqxc3EoCdFpwV2WhbhDHwujLrE6sw/x8yF+TeyhPvYKkY3HFsTe7AvWYIkw1iQt1J1GoeZGNvn1K/6bVWarXkAE9IC7XX9TeYP9ZtaXiYgyodwEnTnWGk2RhlbuP7LtJXPjq9Q/o+OU/g8lnbTOCgLBXLaXhfxI/ZB1L4U57F81Pzg7U0aUQtHxwFLr0gsrqDn1a3jPYYZWd7oDfLT5CzGFlAXD0EwHIoSDwdyKLzdtrttlySIgW+u5ebfio6fGVODxvA3ZPSWUeOXyXXZvSZ7HNDnCRc6pltwh4LOTJIxOwuoXLwpWirQ9zvZwYq7Q/Hqd9+kW0MVYEZap0Q6+RL0536CRwM3XSmx07df5FBbXegi5icDQSmYCzldgysnnDwDF4vHItiXSuqjMjLuQZYKByIY3cvW1BCZm48Ydjfd094aOeUaAYjSk6uzIE5lV72b1PqzKt9OHqQB71RQ5XMoajRrtCLC8TNAZ4nGrBrPvSS6J8ms3PHGl+KHDp7uTQyfuJpFEsK5EIZWreu9N1TFMF4UOsmn0LH9pswQ1IdR1DQIUYKDrt4Ufh8vWdtKg3OU/ICEhmIBwjVU92miwwa8bjzARX41Y6NzogDl51DGAImUwQjy3K80Zrhn1VhyXj+81YRD6GfNRLbbc0h5MooUnQ=","layer_level":2},{"id":"55d86c92-cc94-43ea-a7b9-b13e17e6f7ce","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话历史管理","description":"session-history-management","prompt":"为会话历史管理功能创建全面的技术文档。详细介绍会话历史抽屉的实现机制,包括历史列表渲染、会话筛选、快速导航、批量操作等功能特性。深入说明会话状态持久化机制,包括数据存储格式、同步策略、版本迁移、备份恢复等技术实现。解释会话导出功能,包括多种格式支持(Markdown、JSON、TXT)、内容过滤、元数据保留等导出选项。介绍会话视图状态管理,包括面板显示控制、布局切换、响应式适配等用户体验优化。说明会话事件监听机制,包括状态变更通知、实时更新、冲突解决等数据一致性保障。提供会话历史管理的最佳实践,包括存储优化、性能调优、隐私保护等运维建议。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":4,"progress_status":"completed","dependent_files":"components/AIChatSessionHistoryDrawer.tsx,components/ai/aiPanelViewState.ts,components/ai/conversationExport.tsx,application/state/aiStateEvents.ts","gmt_create":"2026-05-28T20:06:51.15458+08:00","gmt_modified":"2026-05-28T21:22:26.742695+08:00","raw_data":"WikiEncrypted:0Uk4p/ZIoJw1paXZ+Fb51l0f41qT7H39Vmt9tZt2tNNVQzidlxb4GpuJrsgKUvDaC5feNcf7DUUOium13pu+gsJ5IsJDLEyLXJWBhpT32/VzdZLPcUrcHq4z74+vnoubr2Lt7vAP+jv+t7av1pa2e9Rtm3PhF8kXkln9fqAyCgER5JIAuRHnwZoH1TP/fJ8FCbtQ10UPuwQRXe056gxYYwTp7pX5E5AUb7BSVDTxVP4Zad270on/La3mCji8nKutDsjibZtbceqyaWty5gx+jL7kGK8vtegVW5/ffn1b1kYPLPqsF5ZwKMtj+kRqqMgd3nm6BkG/v1mbtrprNgYX+p5CyBc79Y0z7Q1WvJOYVJRB/Lk1l+YK2oyPath2Xb90Uzkc2luzoYkPcbQWc++re/u842hED6rjUs86a8SFk+PU9LiUc44XtrJi7jn1KBRmxyYe1MbZlPOJWP1+/Je/bVzWo3Oz94jZBVpTBKDuO2uVxEF7ChAr+8fc3kPE2WxLx33/OpObaK5i7NWSgGWe1L2DdVDX6qnhslN8ODFc/D0V4HCBRwfy1pvnY0/9PwCptbM+b01/56PXFkUN5v1G/DOa40HQfoDVwoYEttyd8T2kTebgIj4RHC/56j3dVxwpTIGDTJw7OVTVncss9mu2Qgm80jiXBVHP0pgUxrid37KgDgZ0KJMcqTVcqlbVRU6SrZVmPXqRRFqeHo46VLvjWeKEVG0KLiMzLbe2M9nPI/3na/rJo3tuoTyNR6J/tk6chYBWEfQT+9li/u37RHZp+OronC3kHqVHU2kef1yv/Sp5sT2Mt6OCP6KkFroKPf/wd7vmGLtcEFgeTpVNe/bQW86Ec0fHLRzOKlfWUUsOPB3y+J0I0xkRFDzixNb1crMLa9Gt66U+apVO/HsFikPdnC6MyPVuUyX6IZOKVlQfTdrbHiU17nObwahyKNO+inZfP6w5vNexQfy7n8j+HETYWojZvicPKeGVq3uSu3jfonbRwY/kWcaCPNY08Cf/H5H0XNEL3JiVgg3YS644Iy4HSQ+kElje4QQrlkkOEI7hbVvXU2vyVHGLN7FsHKwbDclDGUn7XJa3Xaa551QlgfInEdNrOa86Fyid+6ULAgv1zVvra6soDKaYlKaCzC7R2s2/C+q23IfWImQZKFitxnjkoZVxZXj35GrNlHnv+lUptng6UPNhTd66b0oBOkatCirk5F0FOetmSNkFzvRI5zLf4dvmNLbvIS9Q17fmZM1ivO7qCrD5UfVP+TECG81RVk2km877Zvx1AzmilPdsLtmqOIKfdoMd128RI5UHEj0I7v5D95FVNsjzZIDtQXjJ4YAmmYrlTu0aDs9tlW5ITQPyWPCCmVMli0gdboM15pmegyGivWVtb8yTWcAnsEjxViDpXRjxTQJfp3SWXVRbbGcx261uHY/v9cI5VNptP4QSchmUXD67HvvDzgWr9G51tBMPR0UkS6czHzebFT6n4Ib7p9s06/5m0NjmZCbUDt9sY2Sj4ypXGPlAOt2A22nYtmotBuKJQYE02kBM6GekEFDnQllD1MkYJLipN5cJp28/9Osv551FUDiOpPFrIqzAWfPf","layer_level":2},{"id":"d9ee0f3d-a1bb-4b04-970e-740ac07f60c3","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件关联设置","description":"file-associations-settings","prompt":"为文件关联设置功能创建详细的用户指南。深入介绍文件类型关联配置,包括文件扩展名映射、默认程序设置、编辑器选择等。详细说明文件关联规则,包括正则表达式匹配、优先级设置、继承关系等。解释文件关联的优先级和冲突处理机制。介绍特殊文件类型的处理,如配置文件、日志文件、脚本文件等的关联策略。提供文件关联的导入导出功能说明。包含文件关联设置的最佳实践和常见应用场景。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":4,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsFileAssociationsTab.tsx,application/state/useSftpFileAssociations.ts,domain/vaultImport/csvUtils.ts","gmt_create":"2026-05-28T20:07:11.895033+08:00","gmt_modified":"2026-05-28T21:23:03.042133+08:00","raw_data":"WikiEncrypted:dcDyhCj+/7lwBBP7VwOj/cWj4Uqpnw5NW6iJaTd4UjO26ztD0YiJZeTY9NL3DY8Lpxdn/q2QXH7VkCNL6MypBJMsaKUaIRfhaJikEcF+c1/f4gUUrslzyTgQslhpCvu8qPw6D0x/eCaJusCDUTm1Qf4pbrCSgVIXV9B90D8qELx1JNTBR4J0CGKr5wv11oX5kb4MvYVjdEUlpword6aCgqr4Mq/B/vBL6L0PHZcvKi6GymRtdRJ/v4FTm59DEU0t+zrRHdknbfKN439ak1XxY/GvLVRYje0heGx+251wGJtXp8l/HgMT1zuhrg7FmspHnOrTkqHtT3JSRbyjNcny6Iy9xJtLpq/0N1p/xUiY5bJ4o+qSpVQSYF9h3vdqkSaBO/QNToritVtZLxEN4cVtSOK2Cw3JqiPvwKSqdCrHgw5lYopf5k1MFhorVPP4vdD8fugPHahComCBvlDhLLMuwCGPAFgIp54ggUjCxgn/Oe936zFWAn/IuvuMZvGSuVeQAJrDtuVXsuDEUTqEKJJSUDxCcfWYUN+z6NglFb1ibudZ9RytU9X2N5Rzev/7N0bLbqdsgPMfV4Kz/ZgzRALDhClE859zjYHiOO+xGhjTdibdVHD2MIgPiX4O4RSwHBRO9QRSUTjnKqRCfQn/9xQje6OX1jX4xSWF0QEHbgCmqJuSJxoeIjVAzYnjzdm91Pa+LR3iYnJseFRQx0w4eBaoHImjSEwRrW4k4ioxkHVxF94XOyVHhvjVBf/MvJfQ2DwbJW4RjvgH1GOoB2EE/tkWQ3G2AAzWSkvTbdtKf2vPP/LG3y8V++6OJ3VPw3OsNFe4Nl6Lf7WpvsfLnIrtZjW2t7pqhw+HLMaP7CTMT2U2VVTWNqAZKJZbNrcYiIaczSGJ1XsSzM7+OralJ/ER0k76rjl1SJnkLgqGSFoBCU7GedP05x2ER/aaM2jVbsy9o6A6mvmEQuKbQPyZu5UZAZyo/lUYt80HzrqdjquJhRTlfaYpT10lFaOSUnKan8hqhkOQZpXJYgj61wxQtVuzB6G0Sh9d36ox0WVvA5YkE7ufegnmIXxnWrNDBQeRuaLsDfMPtOR60JRWahG8luxG0UZP+6+fAIoVnPPFvC7ZA4f8IE5A/aONimiDdSMN0KwvbqNwsDtRMowfvyf3NfVGrJ+sAe816Sq/KzHaXKDki7TzP35yVUdytNxrwUvi3MDwHSpThz12SzvYqkSeI4HUO+2DXA==","layer_level":2},{"id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"扩展开发","description":"extension-development","prompt":"为Netcatty创建扩展开发指南。详细介绍如何开发插件和扩展功能,包括插件架构的设计理念和实现机制。提供AI提供商插件的开发指南,说明如何集成新的AI服务和工具调用。解释云存储适配器的开发方法,支持更多云提供商的接入。介绍主题系统的扩展机制,包括自定义主题和字体的开发流程。提供脚本集成和外部工具集成的开发示例。包含完整的开发环境设置、调试技巧和测试方法。提供插件发布和分发的最佳实践。确保内容既适合初学者入门,又包含足够的技术深度供高级开发者参考。","order":5,"progress_status":"completed","dependent_files":"skills/netcatty-tool-cli/,lib/,patches/,infrastructure/ai/","gmt_create":"2026-05-28T20:04:49.697355+08:00","gmt_modified":"2026-05-28T20:12:59.791701+08:00","raw_data":"WikiEncrypted:9tFZPEMPWdLFkkE2XbXYMu38+LmF7cxBGtahEOMSIojOTMoaE/0vg7rsG3K5L5EQwVbodPm3HXNNwKwrYurfvHEefAB4lV1nJ6BcjU2JyUqxVk6HniWMLUrvEVSEsaS+3Nq4aWjBEZyWO4/Yw3T8/wT8v98b1O61wZeVYXgqx4YcmjgM/t3IuAT70S40tulsVaUqzY8DhwtNAcvaufTGT2mKmhUxiBwtAYHRAvwrJs6448QNeB9QuDLrNmk8oGa0azKJz2T3G0DGrGmncAZ389bnFZPWiZpm9PrtFTobhcGUthgVJHuKVuOwj/28qkVo0D6RCALczAKUy7zZZlKYKFxZcSuTUxZof+s4LrhYC8tlB2HCxOZSBH9j/SrEIVaJnqkeGKSIvq3XKPmHBYhsQ+aicqELi4Qx1tHqiPRpreXP1lmPreFeNidWlosKICnZf7w5COQoErbq8f4U0rGgZz15Gr7sFUYGD5yChFaS5kKkAl+fDA14W5j0ZQGTeGz826eI9h6wMHgxYnI8u4WIBbuVz+mJ6wLsX0/ZyWW+rJVuy6D5deZXLRucoK5Q7gX96Cp9rNO2dPvELVi14Yft4kNgrxXe7uUC8uf86d9V0iwES3qFnKEpO6sW55V5g/7eJKd2DIMSy6jSxgXrPfNCtSIiZ32VJFKIVNxFrtSB1rUWqtFvVD3Lzp4nOpzuat7mNOAGKWMSV5/ovGW0zDV1cxG4ReauzPl4JahRSwRCfLUGWFyN1LmXh8ITvmzR07nUg9Jfi7br0HX/G5F6Fw5UQYSUjq1uGZm9/kowEh7+em7hAY/sNLX/+dcvrRPsgO4y52L495/CL4oPs07z9PHck+gzeVmM3ezdBBJyS9Cd3D1QCaNqTr39TFy+m3KJgHYTiwj0i/lyh802ojoZNbawGyxsV6xJcow6EIlGPqv39TV9NJeBDZYkMrW9hl4ChmekFu46JH6oZn8DQMjhRIZmrnCV7NJeThbjX6F5mTwClMO95LeBZ8gyxre7eanwrLdnXdYvPHCmTbWfHaVH2iy0Qt4svr6J5RjBoapV7znJpo4I112fgy1eDUMR+/zQzIILAtm1zEt6IisMkKaPm78rHDsiex8N4CXJcbVvGnZbwcHOcxxDVbigFAoQOMjPhZ6u6y+EEhf2Fnhu4jYF22tcMQm+1EbXZ28movV17zqW8toocj6jV1d02mDtR33A+kYvB+rpHHB5rQ7W3zrAWG4Pc2cSjmK9to6wCykEgyDq351onw1ebPYJA62hgMigI52nFRbpG/ufnFFFjUbDyfciqNTYdpu96Nyxt1WkAUkbpknYULbmJZUKjh97WbeS+EV88P0LUZf9YZwRgrvg8Qjiwj2+vJbR/2PD7mL58LbfKBechygrq2jb7g9LseK1paer"},{"id":"cb81cac0-3062-4a8a-9159-f648291ab27a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置和配置","description":"settings-configuration","prompt":"为设置和配置功能创建全面的用户指南。详细介绍应用程序设置页面的各个选项卡,包括外观设置、终端设置、同步设置、AI设置等。深入说明主题和字体配置,包括主题选择、自定义主题创建、字体设置、颜色方案调整等。解释快捷键配置功能,包括全局快捷键、局部快捷键、自定义绑定等。介绍同步设置,包括云同步配置、备份策略、数据安全等。说明AI代理设置,包括提供商配置、模型选择、安全设置等。提供系统设置的高级选项,包括性能优化、调试模式、开发者选项等。包含设置迁移和恢复的操作指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":5,"progress_status":"completed","dependent_files":"components/SettingsPage.tsx,components/settings/settings-ui.tsx,application/state/useSettingsState.ts,components/settings/tabs/SettingsAppearanceTab.tsx,components/settings/tabs/SettingsTerminalTab.tsx,components/settings/tabs/SettingsSyncTab.tsx","gmt_create":"2026-05-28T20:05:22.527199+08:00","gmt_modified":"2026-05-28T20:32:13.443334+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFVOUt8v3Uv1WPr9VPEcFtayXa/iKhLpCgCchO/rDpXeL0ZKyt7/JIA8O3UN/XajW83JMuOaGOQTbdApUjvm208st80qykTjvbGvHuL2E1NmFMFXZPUiKUoV1YgiEcWHU4rAofDZnyjwflpeOCKfExRgiLgMSayUPfq847WxbcPDVtGmxuGSLfCzb3h2RuTt6YRhn2cp7GBGZaT8J5zRfPieA4beZWj3mEYp7QWAjetunImyoT22tiY2pr4CYxeJbk3yD6kL0PuYfodZV+U3yl71geF7uGgZcQZY504VsAxzZDz0bnUNwwP5RpSzTiQ7+/pe+u0oNTdf8MIpJKtmHbnRsNnhiyhB0+FY4/IgkY8v6fRMhPBSpD5Pdz+v4RMfbsT5pkWrgr7bHl/PGATsUbUPEwbKwoU3Dsvfnf6JOwFAvFnzwOmTRWwnNXj/IeFRQWXT2EvRjQ5KXEW7W2QfaMScV7SsUv3PQZjcIY5DXOgZaBRsaTko3BDcUJNPXi2T/UHmu8Vl1Sic5lqb9j+0dzPC4C/2TE5RNNyiAyK3p71fb+Lp8V1KogiWIVRivuN1AFmGISK0VPamfYy0q5tLUVxhA8p/1+8x9wkAEwx4cNuMRdR+kGnTO6b3iE3CVZsKutazrQzFRxnp9HrrX6FZD4eemej2fX/EEtxSHXHlmZYLbMMjzjSUogYckc99MtuA7drEX8tOHsF6moJZ9JqxmPwnIkMDYqlBT7riWun8Pdi6uFi+fI+DFvw7qYooLJ8RXPoLQRMmFyktiSxdmU1RDp8Eo7tP2uCVW6TJw+AHtaufk3ZPp/LOYM5EPh4LbLtWfOKuilw9FC3t3NXmVucvPekUR6qUTZhri+pX9ZLJUjoysAbSdhZyjLG7VOb50E38PuI+GzabmMlKWLT3/qIlTfkggIH8SlTovSjdjtm1lkjkCUy9d7GkmSPHGcoZg20yoqpB7fTaaRr4RneLMacaa09Otj/hNlJY/cLijMc0IK8oT9SJc6jUSpCP/BSBsEICwuxXk3gdP+CXi4Kfwr9NicQxebxVAsg3vEJpQhgdHRq1wuJcn80xU7idGYwjCqc2pIpGiNP/laouRprUqbCaS9rz7jDgEBegHC5htVE2h7ibpT76lhF8IWl3zr/Wp6S5ldfvQziOYxRkw6TkUue51NREFNh0aox30F7CAYTlMLi2cJWkqN+JMOflNeL1hLXil3mnvF/lSM0LibQ+bB7t5+ctKawmW4WNDguqO+jRezxDX74U02XySoCrWZrQF8yxDqr2x0RgCXCyN6T0lxG0ZSVan/gmSVCHErkQUGg4PYVLC28m5wBowx0m4fp/v3Nq2OPxL54qHDwsKL4cZEcD3taTSrQnPbWbGdy22G9HzDOCZpg7fQmAUfFUM/+WXW6vNtevh5WXycFtsCpo8zwmZ1F6TjVZ3MTMsPraWLPVkhT+asZkbnTc3pPJKEGjWy3K5S9f1G52929cs0wnbSMVgtx0aFEhmV9pOCIyEYb+sW6febex88xrV3clsOtB24wDTC/ZJYd3/ab0JH0DcWmJ0EgkKHOkNkr9LUvPqIJfbO40FIcl6hcT3kzPEUjxPz0erl4ecQXrTSm7qQ48kQvGe0lc=","layer_level":1},{"id":"c6a39c99-d0b1-492c-b25a-4f8f1014969c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"系统集成桥接API","description":"system-integration-bridge-api","prompt":"创建系统集成桥接API的详细文档。详细记录系统级功能的IPC接口,包括自动更新、凭据管理、文件监控、主机密钥验证、端口转发、会话日志、保险库备份、ZMODEM传输等功能。文档化系统权限管理、安全验证、文件系统操作、网络配置等接口。说明各种系统服务的集成方式、错误处理和状态同步机制。包含具体的代码示例展示如何在渲染进程中调用系统功能、处理系统事件、实现系统集成等。记录系统集成的安全考虑、性能影响和兼容性要求。提供系统功能的调试方法、故障排除和最佳实践指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":5,"progress_status":"completed","dependent_files":"electron/bridges/ipcUtils.cjs,electron/bridges/autoUpdateBridge.cjs,electron/bridges/credentialBridge.cjs,electron/bridges/fileWatcherBridge.cjs,electron/bridges/hostKeyVerifier.cjs,electron/bridges/passphraseHandler.cjs,electron/bridges/portForwardingBridge.cjs,electron/bridges/sessionLogsBridge.cjs,electron/bridges/vaultBackupBridge.cjs,electron/bridges/zmodemHelper.cjs","gmt_create":"2026-05-28T20:05:50.533236+08:00","gmt_modified":"2026-05-28T21:25:22.898131+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjEIX4/YelxP3ic6XlE5lTA8jocwsxvUQoazzlAS9kdwK5toWlVUObYPTsRPfWLNo3kCH4xA/8aWX4KU9W6CURBmLVn95yua6f+fy3+glbbXPhx1UTPEu07wGBF3HfJuOQz6c73az740a/B/ueOMKXu2bLxTX+tC5UWsC7UzZ8VXPWYXMZBQaT4Q8wPQgGTd3rYE3/5AeXiSxAafcZRc2YSrqzMAyDMREonzi/cKhJr5/YCmjvrn38r823Mf7HGpTAFhf7MoCLG5/srWb49Ie4HhcIVx5zhMAGu/h789+ya1M9mJCs0L7R92bbDrA8D1FblF1eahadXD9QIVL3AHx025rlhdxyI7Y1DhCPzvyovOI6r54lLwFCW7qrC+c1N/H7c6XTCSxO3MQ6FSP3PgOf4DJcEFQ+X/IKAL/c8qbZTV8noQZNX+UXIOzo+isQkM++fF6r0WYWrPeReg2g901TfTnH3xQuWfnRO6Cr77//YI5Wp5xgt6xhfxTe+7P2znpivITOgFDB3Bm6uV9VbJXznBlkqE1vfRHrs1Z9TrcroU1STA4sIttU2Rlbx1XTPriQATQHL1bXINkI2Meqa+4Tl66rnaBYmdC7breVtV8UbfadXKuRMAqHUnW+Pvl7BWurx9RLr0hlvQusuJu6kPDL54RzrfUupdgIj5psHtlsDrp6DMORzdIxn1DllrcOU8aC1mMF97dc762U+1gBI56Ug0AKdrXuWThoJ86alTGS87VT0JhvKi2fQEckui8SQW/U6hI1QW+rrcJ+JMN2ABMhYqYYVPnXe94s3b6DkzQOf+smIWdid4HC/dc3bqDwmJRcqtFSTnwrvvitbCLKPZx8FjB4ivRfRAYsfV9XXpYJo1nQuLfrLMrjLR6JZ4psA3iCOPqxDNjc/FSFRo/pxZgXqpPbtdMI0oksRdDBy+tp8r7fg20nXD8QGWds+Uv6ImMz4is7q0/0Cx//VSvWnPCwS4hTdPhdiYFLuQgKVVV1Rh/pYncg4vh55hy1edP8h6f7idgk/h9rsaJSJpvCG4X0Uqu+TGKL+2s9tEcJrxPx4G2Pwji9MflibuO8ExrSAJo4f20Nc3v6GRPVK/Q/vkZ+0hZYZVtamfUBmJo9MPesIw9jKo5aPaX4+otnGFn4/IItuIbapNx1c+Z2fO7/Bu2wFEbB1+w+eQhhs8ciUHGGWJbdsmc1WmMxymvOi1VLuMe6X+W8KMo9T3vqiJBTTBc9eQ5mzlc7zPQUrvHTyuVI6Jvf6+0uXlsI9ISQ1m8Q2RHUTEwhLxaW0Q7XZ/hK9+dKpx/s42lv+ktlLw6daWd9LzQXlAbB1vO9BmjlDL7RRmnhvFBLVk60f9SU5oSe+368n/gbKhNMtMUTqC5I5TPTxIqrWhM3YJ6gLnmsARUH4blHZ0B5WoaUEq11gyjUe6reAE2s/KiKpvcxYfHX7NMXjlIUjjHS2lsEB3/g33mhU7SH7ywby4qmoSyJgW2W4eRImqlKs2MYdJAme8g3X0U/4gKKbmBUGIPwjrtnUiwhouePPxsDrj2WaS4csq9ip9ZwnRful1A3L7RCogPa10v1U/CWgbxfaofCzFZbRxeGMKDihnK1HO828/Naf9KX1wMO5umeEnwHcaW3lT57N6WM6bcQjjRXL4wowKlFkZwSfFkErSv5H0sjzvt7Bgx/aqJEcVJB3MRxzmQPefKk5bf+knYRrdPzPjR7dR2CBFemg/dO3ck64aU7oFQ3O3uHdl1OrXsONdYlAAnU5iZnYzpN9WisKubMRfLPxdmTCIO5N7bGdPVTEvUUPoigAqfVc79wYY=","layer_level":2},{"id":"2da4f199-600f-40c6-855e-b8e44d60092c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置组件","description":"settings-components","prompt":"创建设置相关组件的详细API文档。详细说明设置页面、主题选择、字体配置等组件的属性和方法。记录应用设置、主题定制、快捷键配置等功能接口。文档化设置项的数据绑定、验证规则和持久化机制。包含设置状态管理、实时预览和配置导入导出功能。提供设置组件的组合使用模式和自定义配置示例。记录设置系统的扩展性、插件支持和版本兼容性处理。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":5,"progress_status":"completed","dependent_files":"components/SettingsPage.tsx,components/settings/,components/ThemeSelectPanel.tsx,components/FontSelect.tsx,components/SettingsApplicationTab.tsx","gmt_create":"2026-05-28T20:05:51.882527+08:00","gmt_modified":"2026-05-28T21:24:56.872731+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFSTP63yfZssazq+jnSFNIfaXXO0oLPTK6Owss9Ewj5fbl9ZyPaFVmHMXgWAjpCUEmaccVJizozWb6aVrzkUlW7ux41/Uw01ghuloU95cOT24eVtxC5Ah1ew0Yco4gw85f6CKXsC2IKN32Ish7nuHJgcEaWu+DQltaFRftSVIBY0gnuJgp+CjaU/heNZ7k7CsOorZ6kGFybGwHHYA28t8ETabYdD+mh/MaVNJI9u748F6QAY16ak6Jq97Gt28u7bwLsA6UnX02in0yla0odyaTfCOTbHjn7e8C8SB9FS7CPk1LsT+9Wq+G1HX+juNCgl5TDoMbtxVX9x+dQdz5kuvBtLg050NF4zt2ZVDA2AD7j4m/IKn4qB/dw/FTWFENyzTY4aZDSmv36Zy3VcXBWNJlKaqsLkCwUpaxcIFZeCP4lqs6hPDWLtPniEBHzKoUTwL2YnEJ24lg6l9V3JQJB8JLy4V8SrjPscGWJrxO/FibFx5nVbvOMNamxxlnXTKFFBcSPX2LBtLMdOFpFj1HCEVkE6I1oPkop5pefY/8nVkiCJugaI53Y5RFxERFbxucp7HFdN3jkFzr4zQDyMGxATgeSiI18EzlD0xEutkcBHwfHSxwViMMY55EKj17vcsq4twRkC4u4NIfkPuN7j4AJPJqR8/rHkIEuoGcKvpKCdvn2glC4JQzDXec8uo3uZcpMio9XYr4KPE8WJzCt6UlNmGofAwWR5nwKPA6xEC3WinkGt1FNbuIMT3oXGm8PWLs66S2uK/SkOS9OYsPYUgJWhvr3k3tQSQKCnWEaFCTX6jhUqBC4H6bCu2f83pWGpeXhQ7mps4PkSl3QQQmfQDXsTvwd6FAB01tfhHbBt5SZpicInHDKyReHWjZ0oy7pXO1JK36CmuLOocbpRPiVLJ1CJCwAPgTazc9k4BDse6rYGsmtJVPB/4fDUpcxuotJlmX3vKcegaXwq0ovcLvZhX3Z8OvdXucsul5op5XmbzXyL+qLRXNH00jiyknCb2WJZ8b0FepwRKcNu5KCmfJpGsbWCyMLM+18CPOunQt+a9iWkzfrLnu0kC6/rQBuYPLrST9VtaRgsrO/6Jo69MQXXJwiCtEVk13dxX8x459ExGwNiP/GDq","layer_level":2},{"id":"4e97dcc6-bf65-4f09-8d6b-a6d661faf388","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"历史记录模型","description":"history-model","prompt":"创建历史记录模型的详细API文档。详细记录会话历史、连接日志、操作记录的数据结构定义。文档化历史数据的存储格式、索引策略和查询接口。说明历史记录的生命周期管理、自动清理和归档机制。包含历史数据的检索、过滤、排序和分页查询API。提供历史记录的导出、导入和备份恢复功能。记录连接日志的格式规范、敏感信息脱敏和隐私保护措施。包含历史数据分析、统计报表和审计追踪的实现方法。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":5,"progress_status":"completed","dependent_files":"domain/models/history.ts,domain/connectionLog.ts,components/ConnectionLogsManager.tsx,application/state/sessionActivity.ts","gmt_create":"2026-05-28T20:06:08.452052+08:00","gmt_modified":"2026-05-28T21:25:06.796626+08:00","raw_data":"WikiEncrypted:Em4K4xpec86/tQbfCRzBgBVTOTCh8yE78JO5dbkYS08h5Y7wJoLcPLg0xOD8ZtI8rQGPX5DWDP3/cWfRfEAqPSkasi6w6tV2Tzy10sxuY035ifdR98FYmFMyHmDF9H1ksJlKXQqai35oAB4lLFHbiKQbu2RX3kNjOYeJq8axMYgmZObGbnnZHcSHDGLsZ4bQGuehB3NKzVfsfyI6jqQv/w48xXq9I9qfY8BEHxY8ccTb2jn6xvg7N6hIIduEuE4hOfwlFz7tagUzc33AaNKnRBJqv9kK+JuYZwIvvt7th8uJV+YoFWeGQ4Mwkal3H9xBNM0kVunXhnU2501mGGYGoJrxtIRAoGROAIycqEiXnTvKO0QNyzWNBry2y4TeCVcXQnVLYgKjnv3S1BMWqgfw/U+2x3dteZ6/XELVbeoiVRWytaw6CyGvVSmiGMgmD/e9a9/M53dHDe+5Erys3jklhsPgh5LVEL/8s+gWRc+JZ3kKtf88iQwoXk0b3KYj31qAq5qesjB/d+aRWBL/YiqCjgIE2DPRbmDxQrXzRJZbIVnkHzTm/nrJ1fjroDF0fLL7SfBQ/j0oN1RmKVlmeWkc70P4lnyUHFiqru1FhoxMd8Wc7ei0Op3a3Ls7fyV3Ist7YdXGOUeq5o4SBxYnmjNbFRaahR5Vluo/VMwhmyss1bLUhvWDtA04tPdeM2t+EcOw7v4DnYimuk0Pqv7gVizltVr2zxZZcqnMlw9ee9IC+vk5q7X/fIsiWQgW/nGHj60lVqT93W9I3nsRANo0Pi6LnACTMTvTMplnSXcf2+h8FLHAVxSdAxxKo8W7l5dg94B3dPFJqR6N3uePEQWZJ15WkGfINXXteu1i1KJ60Yc2MFcgeVtEk+r8s4ZXaZm4un1NbemAwaUCleyms1Dzxr0fdC8B6a6qWTdaic69xqkqRZWv1K+vi0xLdb4M1/XHxX70I2THRxixXPThcAkyk6znjxNmQg1xBbQCKKMjUk2UdmBDDtRG+12u+VHbNkq0YluAgOCcCnlBlFBAU63/QXSxkipsqoZCO+l4DpdLS60IOcE/MNTt+703HNTEJLjWTM/c2g6QMbr7Ap3DQEHMqo+HPX6ZvEF8QfYplYo6fJ+yyn9cSgSPWjQKByRJdvpdP6Hjr844CCb2nvwUHVM2EXX/HkE3P1C6ktvX9ZciCjHWRRap31CslQl9UOuqNzp6S2fT35nxeoeVoej7PmW62nI+yr00vBawlU8yCZeY84yTwHe7P1Piv4wF2MEiUDkZsv39","layer_level":2},{"id":"4fa9db41-624e-4e43-9e49-8efb973b02b1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具状态Hook","description":"utility-state-hooks","prompt":"创建工具状态Hook的详细API文档。详细记录customThemeStore、fontStore、uploadService等工具类Hook的使用方法。说明主题存储、字体管理和自动同步的数据结构和API接口。文档化全局热键、更新检查和树形展开状态的实现机制。包含关闭意图、侧边栏切换和片段快捷键的解析逻辑。提供日志视图状态、应用后端和状态解析的API说明。记录工具状态的性能优化、内存管理和调试方法。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":5,"progress_status":"completed","dependent_files":"application/state/customThemeStore.ts,application/state/fontStore.ts,application/state/uiFontStore.ts,application/state/uploadService.test.ts,application/state/useAutoSync.ts,application/state/useAutoSync.test.ts,application/state/autoSyncRemoteSchedule.ts,application/state/autoSyncRemoteSchedule.test.ts,application/state/useGlobalHotkeys.ts,application/state/useGlobalHotkeys.test.ts,application/state/useUpdateCheck.ts,application/state/useTreeExpandedState.ts,application/state/useTreeExpandedState.ts,application/state/resolveCloseIntent.test.ts,application/state/resolveCloseIntent.ts,application/state/resolveSidePanelToggleIntent.test.ts,application/state/resolveSidePanelToggleIntent.ts,application/state/resolveSnippetsShortcutIntent.test.ts,application/state/resolveSnippetsShortcutIntent.ts,application/state/logViewState.ts,application/state/useApplicationBackend.ts,application/state/useApplicationBackend.test.ts","gmt_create":"2026-05-28T20:06:17.569737+08:00","gmt_modified":"2026-05-28T21:27:22.957961+08:00","raw_data":"WikiEncrypted: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","layer_level":2},{"id":"a68ac9c5-ad3b-42f1-ac16-58c017b05ea8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"冲突解决和错误处理","description":"sftp-conflict-resolution","prompt":"为SFTP冲突解决和错误处理功能创建详细的用户指南。深入介绍文件传输过程中可能出现的各种冲突情况和解决方法,包括文件名冲突、权限冲突、空间不足冲突等不同类型冲突的识别和处理。详细说明冲突解决对话框的使用方法,包括覆盖选项、跳过选项、重命名选项、合并选项等各种解决策略的选择和使用。解释错误处理机制,包括网络错误、权限错误、磁盘空间错误、文件锁定错误等各种错误类型的诊断和处理方法。介绍错误日志和调试功能,包括错误信息查看、日志导出、问题报告等功能的使用。说明预防性措施和最佳实践,包括传输前检查、备份策略、网络稳定性要求等。提供常见问题的故障排除指南和解决方案。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":5,"progress_status":"completed","dependent_files":"components/sftp/SftpConflictDialog.tsx,application/state/sftp/transferConflictOps.ts,application/state/sftp/errors.ts","gmt_create":"2026-05-28T20:06:36.998633+08:00","gmt_modified":"2026-05-28T21:26:58.508546+08:00","raw_data":"WikiEncrypted:V6SBJOxOqVqHyrjzZsh7p0zhwA59FMAZoMVLUKQJLgPgsDdIJVQVKB1B3irDUU7GJSe7RNtD/4CUYgmkbiXdDsZfabvxtdI2Toe+m6mSRojo4RQnXbCKyywduOGUTYxtVId8BCPv23MYRpW4K8F9dG0iwEuNAO7PIPVbJhMbmby8VlqsDqqbtmdtS47npOfdWIRt1oR3sU5tiQ0vLhfHGbcO3pxovHH4F5QyumnGc+o04z9sX6cZhfOaa1gcReh4ukKdDXbb8VLm8AyuYleDC38naxWN+fOYr8if25i5wqAFC2VGeZPYQsf03PFSwK48sgSB/PhmipEogtQ+sFF0RAw5jv7QKkSRCiYCzqv/sSmSGI3PtopN0BN36Ul/p+0tgNgoOOQz8WbINXYmWQ8D7eguElKLMxMOYe+n2XfXXzCSJ9T8yGuKWyHP8MsSzMLDHP3+dMMaDCOpdeqMda5/FcJpbuZ+AnX0z8hnZp4E+xWMED3n2YTAtMGbivw+/m2BHEMcvKogy/CWfWRud3+B7BGyho/ZxOBjRUo1sEkYSojCKIckW2GdGhrvdrnkgIho/ndPHBHnuEHj25pckdEs0hza8V4d/8TXAZze3svLKA1xQQP1ayHhOF6DYcDg8d/poYZUREtCAwLlWR2R6gVsWNNTLD+RvfcYDZ4kaxQ9oWE8/124Gr/NxJX1mUVx46Tb7R3/1/Tuc0OngdW2s4tsjkTxy8LacYt4O9hPxznjWDm5VNzlUe4KjFQ9fK0OBXgenlZSSuPLd0PnSeXJYx6/SwqaU0s66/vXPR96yXuxpeLQ3xCLnLghGgL0M6QGpW0l0Gr9RJwOzDYGs7fvdGHN/Woy1XiAxoyr2wJ1ZutJUG2XkZENWx+4tkYxKHHpzmDMNaiqfe+Zm9W5NrvgLiFbY63eeyHgnIjpy1xgr7FEw7xZnbF2mfCoENM8NEMoQCdzfqsk6qks429Q2BwoNMsUj3f8CNcsQNv96KdoKPewdoJrZW7zPJ3QwYDqX8BkSwvJYm7jry+60uR1gPNE6WvDPK+gRvP2CylS8FKVQ/2UIL/lfEfBXX5+wv0Eo9W6+qoapisJhzlPj+eI9aMkGA3a2PsEJFAQIzlLiqr8J1hihxRRFLj22E4mY7Cm74AiKRQDViBK2Sd4Jx/5pPTaKB9D3SZrkbWdPpaFWglFO768jHMWyltoL2SSuJTcZa4MUN6wbAMD7t6ODSrlWrJwKV5I+0dl5D2oR21E1Kfb/10Fc0RgtqDm2f/DtH8HEnV44k+L7b7KJmfz53jI/rPCUNn+MLbfXgYqYivziTlPek+CuK/ba9dokUCy57sDjmOyiEvEA3kBCNJ1d+E8UGvTPXxT/sK0Y0qTuvlRSMWqmno5EzvsApdqvFwvmTbRZVfv4wJUmTfSAx/FTPWmZvCNsGcZw0waBVDiVbAHRJyq1XVIHtWe8jnrpkUN1p+5hlUZ2ANQ/+jaCFH0+hyRshe55ywGkpw9Igg2NJ++tLlOzp2cFl+FrOyYPf2DDJeGrqckBZVSxKGnMofHAJIHqUieNQ4SJ/7lvVzFcNzS2QqCPiSaC4NHdo0gEyo1zqEFplh8HEHr7nE+V8ioUSJ2y9bHF5DdHdCPA5AgBGaui7rSUb/TJycKEEK9W7PRZ9pPbRDBl1XIp/49ZzZRPembRdflOTEODtGWP/Y8Q0IQkfjTmv34M1p4vGZm2cbYWpP2JkGy5ELibAcY4y7R8gz392e2tvXvzHFkP3PJDk/PR2et5jVkY6+6s1Y73rvCU5GJcWiaPfQZ","layer_level":2},{"id":"871bf596-4926-4cf4-a619-8e73b11f79fb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"权限安全控制","description":"permission-security-control","prompt":"为权限安全控制功能创建深入的技术文档。详细介绍权限门控机制的实现原理,包括访问控制列表、权限验证、审批流程、审计追踪等安全措施。深入说明AI代理的安全防护体系,包括命令过滤、资源限制、沙箱隔离、异常检测等多重安全保障。解释用户技能状态管理,包括技能授权、使用记录、权限继承、动态调整等权限控制机制。介绍作用域清理机制,包括会话结束处理、资源回收、数据销毁、痕迹清除等隐私保护措施。说明安全策略配置,包括全局设置、代理特定规则、用户自定义策略等灵活的权限管理方案。提供权限安全控制的设计原则,包括最小权限原则、纵深防御、透明度、可追溯性等安全最佳实践。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":5,"progress_status":"completed","dependent_files":"infrastructure/ai/shared/approvalGate.ts,infrastructure/ai/cattyAgent/safety.ts,components/ai/userSkillsState.ts,application/state/aiScopeCleanup.ts","gmt_create":"2026-05-28T20:06:51.1547+08:00","gmt_modified":"2026-05-28T21:26:38.975636+08:00","raw_data":"WikiEncrypted:arCjhUL6OOP3tq0tMlrtoNcHk/QrEjERhJVt22MmhEvrB9GrplBaDVhMSe7MUvyVBYPXv62l6CLDghfoDOV2vXirFT+z2ePp+Xm3bYgIzxU+4cr7qs8Zh3eSEKY5qxU0qFZ9vE4o+FtByIAU2rK2Hos5GmUClFYcq0iC8Y9eubbsxx2tNHjcQa5eN+xxNwLI0Oav3XbpUbziGavvjImmHFvHIKOPU3DQlfeflU3ONAoD/CaduviaGypDjBUaQAC8/c+LGzb3cDuQzfDPnAtjfmSTWPfBRdBDIpkCYqHYasiHHfWk5ZMAXdMXhyGXNxU3V4JShcZkFR2/6fODY2fhY59L+6Kb72i/7RD5Hvlxxr4vZS/9gh9IhOFfxPiip7J9ClR9EqDfae//M7Ho7+8GjUmC/mtYJFAKa3hF/MR4Vz5wSqrXvcm9SwVNpOFzQS0tDkr4FYLnq9BHt4MYDD86CbGyd+jaGmLzyGclqaneCAc3hrUfWw7d9GFkqj78OceF0LBlPjahr1b7sVm7zkb8hIQz/IGdbQkC6KgttipGh/6Zk0sFaSMnn20cnMSOgHY0Sfi7bXu3JGcsSNkRzgqu7aq1bUsRyH+cKLWsgxOEMUZkWtH5PP8vdpzRRCkaVFezY6Wiswqh0UDc8exmZ83lInRhm0G0pcGcOIKsQ5GOnh1KQunUF+Rfug9Ail2Osm2ZbGToV1EyMUerPndPnyyaRNHFzlqKcC3JiaelRY7ScmUHtSVMXHOjeoMItyflJWg1Ivoz0fV4/A7hkP5KKPZ8JR+wy6h+mDbprIhOicPU/EIG54Y6EGQC7P3jBM/LQY0d3fjLXe61Oi2P3vVm2vVciDqhqE6JbPChb0YiyXNFXAzmQx/8CQwTqmMIIzbWzQ0OQ9EarLjDljRRTpuplvpZZdSKXBfpu4jzDQY2ECSIu0676Ezq2w+/PU4+i39AGBbmKJC7GMgj8m9IAZxvfiUTsOZs4oCTF3Rn0ieqbTmZ0XOy3jEPrwgAB8C5L25OQgoO8Z2BUvM4qQQRrIjdRFNVUGi8unBxt759sf2f88vTfqR3A5ErX4frrUj9lfb3bNkc8wZOfUbhu27IZmmgKPGSireNZ/Pb9xCCNvuqkdAJobZd0BiaJ5dnoXDLJ4IBcu7eum70yMaisIpoLuASOjPMyCkYE4AO8HR751ieAU8UTFmMmH5v2U0/MYMCqRB2X0+sBHLQjevLESE71jJBr0Ots5L+vUoql3n0JdzSmMBEcF7d5Xy1g4EKoQk5OFptTokmmHJ6LbpuvYSmOYS+vMOXXHstgnt1P/rWxeDxH0GmtVfI89Y6dbo8l7YpmLBQyuln8U2TGhJuk5/TZfrgBg8jZuYbRIjEHe6TnxdRfK/1rK9KoJeV1txDczYeXA0nP+hutBEWeSTNnRMK/Cmtytrk2VfP9qoGoEceoZgMLnXUNDZt7TcpkPFriYEX4nS7D5D14rNIoeWytRU4TGTdasTy1Mkk2td2R/9qzcfIGHe2lzqdFnafLDHsl4wNyHirU/fTXzTzb6r6doqyv2yGs9QoPXg7YyszUiFfBkIPVb5zhmQ4K9sNaVsSVPT3fDk7gEcZX17rKG5m4hKcV8m+4r3ewls/dKQ+tfJxpQqve+74AKXRujWlH6usPq2WaK527wNioR216H/HhaPmCzaZQQkedybuVHk8RSKME5pCbcJ5xUQ=","layer_level":2},{"id":"a629c573-e1f1-40e2-85c7-fbcf947f1204","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI设置","description":"ai-settings","prompt":"为AI设置功能创建全面的用户指南。详细介绍AI提供商配置,包括Claude、OpenAI、Gemini等提供商的添加、删除、配置等操作。深入说明模型选择和参数设置,包括模型版本选择、温度参数、最大令牌数等。解释AI权限管理,包括全局权限模式、工具集成模式、命令阻塞列表等安全设置。介绍AI代理配置,包括默认代理设置、外部代理管理、代理性能调优等。说明AI搜索设置,包括网络搜索配置、搜索结果过滤等。提供AI设置的故障排除和性能优化指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":5,"progress_status":"completed","dependent_files":"components/settings/tabs/ai/CodebuddyCard.tsx,components/settings/tabs/ai/codebuddyConfigEnv.ts,components/settings/tabs/ai/managedAgentState.ts,infrastructure/ai/managedAgents.ts,infrastructure/ai/types.ts,components/settings/tabs/SettingsAITab.tsx,components/AIChatSidePanel.tsx,electron/bridges/aiBridge/acpHandlers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,components/settings/tabs/ai/SettingsAITab.tsx,components/settings/tabs/ai/ProviderCard.tsx,components/settings/tabs/ai/ModelSelector.tsx,infrastructure/ai/providersBridgeFetch.ts","gmt_create":"2026-05-28T20:07:11.895212+08:00","gmt_modified":"2026-05-29T00:33:30.880442+08:00","raw_data":"WikiEncrypted:aXAUFKNuXjzL+4RuA31qdIouldFamxzmjSEf2YmGm4qQCxG3WluJYrAYcIRWk+lssk0a8BxCaSSmiHw/4Gu27b+F4zPCHzwtE9l9/aeZ5s6HICe7XY+Rpboz5kp+Jm2T0asDP57xjQ3vogogTrCtkYmSb+hHxdTra6qdU3CVVkQldH8I+kNrAEWfAdqXQii1bkB2pBIUgC0kVY7cH7uDO/0QJL1/9FYKZAuknzDsHdcvJZ6weAV8fnRo8UnMNmiUase75BN1lU95itvnSrD1eyGjD5iXHUUvG5zAS+Vf0IJk/F9PBL+xATapxVAaSltJ0Oxv5VpA+dPrkenjQ8kL19ASCRQIPihxDMWY0VR54QG7NKjYI+8r4oG6yGnniewxHd1MYgX+v+DrYyX7wQR4m6W5sHvjgKRvsjkthdUZpxMj+lLzp1Pw2j8UYcQIU/hs+iuTW/xKH23Fh1IVhzzlW1EaWU2mrikbxHerFlpI4FNBlJngT7nWbZ1Vxb52s1Yj0uScounwyYwfnEhd/Dg5uF0CjlM7hCCDD6SdvuduW/MPZZGtVdcw+Trdg1QBeSbp2Ak77KrCbmuk5uJaqoJpOIEW17s164LKCHnjT0cLJtt8Zl2Pwg71DStyOj07MytOEf2QHJvdpqgldwObCrU44FVcqKv+hCa3xf1RoGdo973ucPx7pJGoDbPKTf0j5I0AJVSCPZQsulRbruUxR6k02/vsUgIsHLouOFIS7U2lWiE2Ll/HQK9eI+Ag3ffxpaXKmPAlERK2En2JBDzVjHrb5HtAZkXedaRu4OO2T+FjPeO0mitoeStbkBPI5VnBJyu+UUIxQ7jm42HqG1A8IlCk9dj/s27kZ0hzRd+xB/NnT/5JctAgo64mHL+BlLDu9TwqJMkdXVh0iEsg4oV3teBmN4f119eWq7WR0ccWZ4rAlKYfw1NhibJtD0VYTojBSfaL6snYAgjvbneGZ7CJlspTqMWHrDOfKZRIHN/dNhobOh/Doa1Wr2+Zh3DGEzPcCD4+Nf26ijW9wUsaXfFLp98Zuo5Ujem0eD3eN8fA1WLd1cSpbTEXuvnH4pWnKyfKOiqELiMmu157bI3W0Zljr9Kcb5jCHNTeed/QughgG6FfIgnxpQJWG8SYYGxHNsmaHd0nqPLr5FHUCRQKcTFHWCM7/xYMQAg65+grOYv80v5R2sjX0u6wnvNEXg6RIHxXa7ES6upP0eK3PNUqJV2qS3q5M1kuBPccAOtFyosBY2vCG7ZTcWsodAmnyqdzaWoKRFRkpqQmAoAYVbhDDmNX1wknjHy8UhCO7iG/wgvykccMQ3/vorVgj5bTZ+eVSlUfufBnHYMM7BIscVzxqCdkUBXMjbNNIK0i4GiydZIon2Uki2JZJgynnk5zMnmLQ4XqmdqgpNvfwFqq+XvTZMsmmLVTsPSKAqDiYx1ZFz/fJfYL0wcklUek/sX+NtA8+YMKQsbllbSDRs++PalLl7ntcwz6ZaZ0c+29BQApQqVVCkfIrzrx0z2DuKvGtfwudU4tV1qd4zJl0EM7Z4Vq35R0TxqFzsP2SD5tKa6TsctDDHC8oyYX7kb6rtXbJQ0OY+Ax1Sy0py78RBERjATsjh/qGQL2aeuMHQ4Gh+9wh2msZl9A1P6IH3UdQmFnOMtxn4bIEe4LjWa+0KxHrr7xukUvMbmJNpTGZiXGN8AesiQKQJzvSQKrWaZ2BaideBgXYUu1KxFw+d6DqEwkwWxWkZV3k12r5YdVLqCHDxk3vvT+31KDT6c0l6OuaFXaPu/Vsn9n9el8CDMm4UTJItV7WPGj3aZZLguzyalSRDALDHMJaOLj/p56L9H1G22IkNXIecL8n+DvUiN+2FeuZIQ5NLvc3wI1oPy6R5+3M90hu+BKfmw13jURx9nEvhc1Kts2Z+Dy4vlo","layer_level":2},{"id":"a0af6288-c032-472b-9250-5b36e4e22779","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"部署运维","description":"deployment-operations","prompt":"创建Netcatty的部署和运维文档。详细说明构建配置和打包发布流程,包括开发环境搭建、生产构建步骤和平台特定的打包配置。解释electron-builder的配置选项和自定义打包参数。提供多平台发布的完整流程,包括macOS、Windows和Linux的打包方法。说明自动更新机制的实现和配置方法。包含版本管理和发布流程的最佳实践。提供故障排除指南,包括常见构建错误、打包问题和运行时错误的诊断方法。介绍监控和日志收集的配置方法。提供性能优化建议和内存管理策略。确保运维人员能够独立完成应用的构建、测试和发布工作。","order":6,"progress_status":"completed","dependent_files":"vite.config.ts,electron-builder.config.cjs,scripts/,build/","gmt_create":"2026-05-28T20:04:49.697443+08:00","gmt_modified":"2026-05-28T20:14:18.90556+08:00","raw_data":"WikiEncrypted:0IKfLNOWe9mZfG1jVts3w2XbjO+yyEmY3ONOjrL5GjA3YcCk7HFAQ1etKc5i1P7UH3oVY8Um0qaAPkZpvBj4kdaaQXNyXCV5vbspZ2uhfX+AQ3ZOJ/fYZ0PVmmY/GytZUzS9o2ZHRCCvBEt7bP+VojsxzsI6RUP2y/0nYTetPd8hY2pedR9XpyM6or+rP64GH6y5PSJJtqWIKNQw6Q76oUBUrXfeDHBDgrP4p7N8GVFmwxqYP8RHMDVYqaqeAOiFoFmbEM/IcROKkx8tFWCO7OS2xSbhDzRWZ5p8HO9IQcPb1uyrjLPS4N4zfCVAjM/b4fsKfoBeVvkzSe3DVJmjTqhsNJROY2zliy+p8O1ZfQJFZCVLp71fWuqmNrharZz+cYrl1UQeNRBXa4pNiWR6KbAe2Dq7ac2Avi8jg62jDWww9GQ0uHR0plGBXfW4HVYUmcmvENoNPsg5/ZyVZL0d2OTpPsro69yTylNf2wcQlpMm29SRcHyKZahaY27MxKGx9tEJ3j1gLd9Z4oTV11tpiZuDDyBJFh6YSkj+cFDScEegxRYKFy8W0qvbEQfMiYY5k6qhuWnGOR/jVheXxtgrMCmelOdVkQmnENj7SBNJR+6NwllLWm9xIfMiPVeo5v7LrrdhLgWx1qXbplTc7XpR8//o7ZSA6sIcYEShdovOW2Ytse6cLQ6tfX6nqCo00GRSqo/FVNKU0+G4xzUBoBl5uZEFEZ+i0HwRw+RqzU4rs+ca1ERK4SSQw5Ht28kD+DWwUqyZs9iiiUqvOPH4F+/HSotVL7Fbjq9yQv6Jkk51SS9lVO2fJYb9oc3FeXAJl42BF8HqqRII1+U6QFYnmlga/BlBb6CQzWoH3SZ+5HHQ948Y78FztlZMX0CxP4J8n5ekZJxgA95d8OLhocQ937BNSX5tgEGFDo8qXOZJcpFOR0itl6CR/iD416hHtuQeDb6nTeYRst3Van9BlJQ0ikWZMpxOumjYx7eFzo+Sifo5c7rz/Iz5qDiAiogZYzKxyztQ3O9pge5SMTddVfWZEb0dZbd9r/qdr2Oie/++0KoVNDzG5J66fU8sFTl/25VF1zIc/7xc6qp2DGiCbyIiww2CBp8y/s9UUkjL2eUHvGhkBZ/AHeyVKDJZYIHUO6zdfpQNYaevyyEfxZZZ/KdidQ28GMhwffP6rzjqrkZom7bDGOhCHdL63+Fi+CxgaTkIY4v5FthSUiWLwRU1fEpB92ACCNMfOBDkjpggd4bL1DDqWpC3uxOWfNCCsbWWINGrbzyVw0MHSdrsNhrqjrc3qnWcRc1bojoKIAViiHhc81Imy623Ia3kNCajL9NmoRVOLCqe4+uwMQJrLb4MK2SdBX1RjNy7UcIEdWPwCaJhB9skZVXrnjY5permRne/moxMRBO2OXidt1jSs1OJR49V5UuIR1KuRcoHe/HsjHeJRS3yoTM="},{"id":"72f50650-cccf-42c4-b23e-4e75b8db5ff1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"编辑器组件","description":"editor-components","prompt":"创建编辑器相关组件的详细API文档。详细说明文本编辑器、标签页视图、未保存更改提示等组件的属性和方法。记录文件编辑、语法高亮、自动补全等功能接口。文档化编辑器配置、主题定制和快捷键绑定选项。包含编辑器状态管理、文件监控和保存协调机制。提供编辑器组件的组合使用模式和扩展开发示例。记录编辑器性能优化、内存管理和大文件处理的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":6,"progress_status":"completed","dependent_files":"components/editor/,components/TextEditorPane.tsx,components/UnsavedChangesDialog.tsx","gmt_create":"2026-05-28T20:05:51.882637+08:00","gmt_modified":"2026-05-28T21:29:24.263548+08:00","raw_data":"WikiEncrypted:3mn3XUqbkw+yXadF4b35CiujGxUyvWT5qQ432pvbBDSFj7XCFhyLdsmpjCvbCdiidGWJM07sSyXZVhblbZzDfsy5yRrPqGgcnlL9vYD9aXCl12zkcIYfZCmYCMqL6VUvSfRDCxn4Tw3gumoke/ihNFmFjg/dixH/irKlbAnOOYAsJA3Z1Tb3d+MgTGkggwwyVFudu1Rahc3++9H6lHPrjqd/J3hrN8SzglmQcYS8oW3gZUMZ8bKGB6iE9clsJOzqPL5Xy+BS7iCn2cfoKIGUAdnBxOUIASevnKfIKVzsqtYEr9Tr0TEHEzODafYV7EUBEwVW6SHIWxln66+5GmZ7XfdCvFBckihJI8+IoCLDh+ycXONSyQfrCiaP9qHKKZYZ3cybyVtwTwtOMq99Vc0VvmSSJIAVdsQgDXpCyegVtOo8G4vhmrvMvtzCYZ761UKJOI0jRlyyvVyT5hT1E1JAcumfmvETKoRUTynGjlQnMzLZE86JUhm75pgB5UabLIKXuvku+R+CgndPN0nZ8aEZxTZO5yGF3HWKmAheGVD5avk4+ymzcFnJEUtuaMp9GAOf0zz3L9XVYKPDr3FupyyWR+7Lw/rMHGMAhPpyGgwbUKOzWdSiJZGE59GcB0wzq9kSwPA0ydLyjWh94487d+pC5ReWhTvyswz0TvfOmwrh82Sel1d9BvVZnJ6dK6r24YqAYStF8RpVeSh4kjFgNAU7zDybmjrcgYAO4cCPPCKPfQT0WyFW5JD2tmBQrKGSh5Kt8sL7oGe234lLvDY+WFN80tTTNGajH7xj+Xub3n6Dwde11y4tHYSfRQIyzuzivbOgG9Ow+Vc3L5k7qWQm+eee52yIUA8Mczb5weXPrBx7AdAQMh3Z1elrSDlAc9UxOH6cE3w4ulQpY/STOMycARVsB7bgZnN+JvwAHv6QH9mkUjo9HWNQYj1PqxJJOSf9KvIVSDPQBzyeSOHMX8WaGHtxpa10EbEW4q6fJRgY/vUy4Xa+J5b4KrKJt3kJ3HIRJ9K4I4QJ7BJ4s2p8mrzTkRJssdSmu/WCjAxMtORl1ZwkflknUz+5Kp7dM/7DjEa91zqR","layer_level":2},{"id":"ef7b334b-471b-48d9-b310-d1e3e8bf6e1d","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快捷键模型","description":"keybindings-model","prompt":"创建快捷键模型的详细API文档。详细记录快捷键配置的数据结构,包括按键组合、动作映射、上下文条件和优先级设置。文档化快捷键的注册、修改、删除和重置API方法。说明全局快捷键、局部快捷键和动态快捷键的配置规则。包含快捷键冲突检测、优先级处理和回退机制。提供快捷键模板、预设配置和自定义方案的管理接口。记录快捷键的持久化存储、跨平台兼容性和系统集成方法。包含快捷键调试、性能监控和用户体验优化的实现细节。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":6,"progress_status":"completed","dependent_files":"domain/models/keyBindings.ts,domain/customKeyBindings.ts,components/settings/tabs/SettingsShortcutsTab.tsx,application/state/useGlobalHotkeys.ts","gmt_create":"2026-05-28T20:06:08.452149+08:00","gmt_modified":"2026-05-28T21:29:34.628135+08:00","raw_data":"WikiEncrypted:w3cK1CNqEpI9dJGke1Jwd9FUPCMIb3dCXqvg3X0h0dUT8KhruzBJ08h8TJ5ITnoNTqFajGfmeHpy6038s7bAyFDBS4nwb6464t2Bg6iOxmnxfetRMjeTX1D1bMNd9CA8/NcVmHmPVWZCAzWIEmsHb+Kr0koF1mVsxLet7ogkRZAG2en5MnrjQHEtnIQlpszL2Ew8FKcQw6tM5BQH07TUqZvPsnGr2N/AclE42hskPldJTyeK0HQVX9/SVxHOGLq1zApKjbXUZdonPQh3jcfTUxaMTX9LkPB3EzlmN6kDNhthh8VxcoGB+pWPKKA7K0T6M3Ow5afNnLhpVuyEmaMyLLTuVi/lSlhbfpjgiZFrB+3g3UdF3MoJzGPXnbpzaoKJ6w5FH7Yba2ER4l65RUnHD6UhPZJ/bqvaPcHMLbgabRhGEKzubcz6bqVi04M/CwVAYHQyR/OtZJAAAZpm77HJf4HST8Ft0s1i/Vj/zJ/I00qAk8dBgxHe/QyXPd5iST8aq02pNAmIZfSpt/vmQckzTzcy6SDGapC4RjRGHWqJvgvFU4sM0BgAnQJwJ7bDvt4o7G0k3DtQMUjowaBi10k9zvYkE3t30V0/Aquz4Ma/qah9g2wWElZYuwsYCljniSxH5DmGHxBOBgx8Jtm0l8cAlb5ZGXONjKsCnEurIjaIEbS2zuVO2F3uGxg5463JJRQnkONQpgbnpXw79tQ2SN0PqcLLwOSJ8TTuWsgMoCn4cfL4EygAjxVkoyNHLD2REVQjlYgXkyMw2JqQ07ciBK3QArdmkIV9JLvAOIJu/uALgf0wcBinRRASyoo+Dd0HYV48tJofDmPYyCpfxDMj3SDhsbvVSLJOyeJkiHQaxQDFft4f80ESk5pGixRQHUpVECE+pycODLC4/HGNdaLEMrdEf6jZKXPFri0qjCgFWmQpgOCTk8GWkZzGo1taWsMoxOJJ1N+ojqz5odBNXd3kO6vsOjWMt3m6JCAHfElHek8IeRyIxVkS1ztxOFtPFhQv+ccCCwfsBG5rMzKeUDZx0BbjJ7eUbbaFUTCdB0+uQUERLG0cAlFfhjuXRTuXR4hM+yMOW4XSiraIxkLS3qAq/byU2h28ig/Ga/SNpWtIACu1NUgd2PfKoR9vX0CdIO/0OVAp4e+aTk+boPlKmxHCXhRSupvcjrvVZNqjS7dNdvsF76i/ObOmWslKsV3rVaMROuYogoF/r984aF1a0NEdd9KKen56m7DxMlWGq6bGfUwS2OJ3HKfwELd1vdbyx4v0Z9UndPSgZHXLJVc3EiRknsaOYJ2plCf8hh3tBsmotC8y2zRWeYEIXj5JTH3SFhE7nml54+2lF6VqIiGW3ua8hoGuSg==","layer_level":2},{"id":"8e0cd55c-9e85-4a3e-acf0-d657222593bc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"同步设置","description":"sync-settings","prompt":"为同步设置功能创建详细的用户指南。深入介绍云同步配置,包括Google Drive、OneDrive、S3、WebDAV等云存储提供商的连接和配置。详细说明同步策略设置,包括同步频率、冲突解决、增量同步等。解释备份和恢复功能,包括本地备份、云端备份、数据迁移等操作。介绍同步安全设置,包括加密配置、访问权限、数据保护等。说明同步状态监控,包括同步进度、错误日志、健康检查等。提供同步设置的故障排除和性能优化建议。包含同步设置的最佳实践和数据安全保障措施。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":6,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsSyncTab.tsx,components/cloud-sync/CloudSyncControls.tsx,infrastructure/services/CloudSyncManager.ts,application/state/useCloudSync.ts","gmt_create":"2026-05-28T20:07:11.895307+08:00","gmt_modified":"2026-05-28T21:31:21.193535+08:00","raw_data":"WikiEncrypted:DTWo9tPq/9Nwh37S6H3fnR4Wh1aty6B6cxHu5vIw6cWu2hddPNWniGkBB3a67dXbQuAnlpSUIemUW4sR+piJGXLEQXvUiols6ibZOrsoV5CgWAKQSn1ZQ5oQvLUTy2yp1r3gPhYJokL6Xayq/ZFFCL3HUlBi2vtGOdMmRtLzP/exaGMwbjghJPSZjR631YCIyUWOnKKsh2vgExQw3rikfehRP1HdvlS5JsMqnw2gs3S1Wdq7utzyRNjML1Z8X7rHkyVb7X8ziJbX2m7Gja7wZZiLMr6UOOFz7x97OqmFutwTBiCz+faMY2BIKhk1dkPxeYx66orAWrp1vDJnE0SDOVjqa6bVjh41+4zfWgGNZ6r37cQDsMGVMiUs1ngq6pyRs4Ik7owVUzjqWAjeKoBymmwadLOJQcRF+FmlOwsNXNdDQff7qVrE91PVl+D7gXZTUCzrMPYHncqL9jybtYB7Ka8lRdy3D0oX17Go5BV0JMokzrVIKUuHOV51n8rCetf79jcFWK5QI/0Ol40GAFjSTkyOdMc+wHDK4oOsFJLu/Pc2tkpm4WJnPaJ5SQ1S4QXvuvyevi3jG+LqiTFQU3y2SaKLD1GokMHK384v/aMHXfaiYOSohTSmHKbyV0TfXNZI6oahVDaudYy8VEg3bq5YL1PZQ4fzirRQYmXPnCMN0Qc7Ntyd5k827aDzYOGX77mDyGI+IPciaxdD+njhFDLVnwjKtwsv3BG5cjUfnOzNJgpuflFQfbJOV9Ck/qK5LfkcNRNBudSoxHIttIdWKLzFcABIGRKTazjyHK9MzS5iYxuaUxLDhHann4EyoXmDqi/Y0ViGq/fVY5acRL4hOkQeT2jr82JdG+KHWFyp3eKaEKpuR9GSx/faVCW30VRgp8x2QYfxPrT7we7FjdK+NNykEEywY2qM0bERhXi/ogc6W0wIjqYXwX3K4faYWMyNE9M1OQfB9Vph7ReW2y7TFK+d2CDEWvJJnGYFA6J1hd0TJ8vzZnOQASSRyZj4elx2KffijKBHS07D5U7bKc9rWwHep/BSujHTVBAmhrZmHj9o/rZCsj01tpovO6eYevQ9kHb9eu4WqlytBxtF/S3Vdt4YRGCEKyGYUT/ZdWLXdKo22U78B7SUuFUppYL/y3QEES1UqHE+TeqlItut18CjWRnI9Uy97tWNhXxLUCJvdvhOYetaqpQ6hUYse4knb/GvjSTQIzI7IDdRegstVzFCFdkYfYiE5FeZHYXk2BNO2UbDHFVLHyOTMxcC3EB0R+A+l1LnTSzXhGRleFCspziT768akNyO6xAaUJdTCUSWdixrpE/zsqv/FR9R1sfNLmPqDtXLJyzd5YF3GVuCdf0wz8x/L5YKkTFT4bv7gtbSIvGufTLfLgNf05TdqSfqWwgZrX9NaUZCtwfjMWZ9UfOYFcq6tYBCW0BTjoqY06CNZTXpOkhKPBIxjW8s+1w9tZ06Iw2LyXuXHrknSDe+UyxyO1ZBBw==","layer_level":2},{"id":"3691837c-d095-48ec-b481-053483dbb4a1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"故障排除与常见问题","description":"troubleshooting-faq","prompt":"创建Netcatty的故障排除和常见问题解答文档。收集和整理用户在使用过程中遇到的典型问题及其解决方案。包含SSH连接问题的诊断方法,如认证失败、连接超时、算法不兼容等问题的排查步骤。提供终端功能相关的故障排除指南,包括xterm.js渲染问题、字体显示异常、自动完成失效等。说明SFTP文件传输的常见问题,如权限错误、传输中断、文件锁定等的解决方法。包含AI代理功能的问题诊断,如模型连接失败、响应超时、工具调用错误等。提供日志分析和调试技巧,帮助用户定位和解决问题。包含性能问题的优化建议和系统资源监控方法。确保问题解答的实用性和可操作性。","order":7,"progress_status":"completed","dependent_files":"README.md,electron/bridges/,lib/logger.ts,infrastructure/services/","gmt_create":"2026-05-28T20:04:49.697533+08:00","gmt_modified":"2026-05-28T20:14:18.619325+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0tuZET5JxbVXxA/4vFailoRiq8l6SCRMdp2PbHfZPheZlnnh8Z+Kpz8AMl4GYpnGwvPSD30RS3DGeh82eFm3OjkJKvQpgbMMDGywx2xlI9vkSulMj4z4ttqyetcIkTpSG6FLP5zVjb4AXNgZiBNz9FV3BLr6X5xfPFrt77HuWoKrYBGHryVaHNPcSh9jBCGfBOI40jdJi+WXxN1Fd8CJ71c/kvwHSIrylBF7XAQPcT4UHB1dWusAiwLeUNzM3PEO6WnBMO0jaRrRZJZVQnmzoP3vcDO3nv8/mpjqmyu7HLZVlrBGA32LopGBwY2/YY/oKmIr8amq4PoByFT5kc4tcbACaarG+OuKFlNZG9s1jJQqMaZs9OGsktx6Utbl3d3y9FyysG2iatt5OzAyyasyMpD+kQoj2y26jvcsV7mm/8PHQHCp4VB7cHEmV4p0r4h7LcNo9T+XvMGZUoEFNMboWnmYbluMF5ZrwezVn2/KaXE/k3rQr2YEYwdkVFXkb9dxZ3kdDIp6pJoHI6xNaWTQaHjO55SoHlb6BYM2fLU7cJ1Hd7DRrYLFcZY0BQz5973pWP5/7OUO8WoUjA9gtnwrju8clkFfPShANEAHxU97CqMoBlIQ07hlk9bANI0YGOUSwGwtWPE3uN5UzDXmh7EQcc2b4WGyf4vsKuhq0Ro8gbi9I/tqUmzFTGrJLr5S8Pr5ZMNmNBCywJV72gTjsRsbUfK0/DTsgAfWpfXtkvB/HvRpLO1Mdbcr4eVaeHXAvHxjTv3kbAsekNeISk1CESp6EXRQEwYWN3t5ZzpYRXzGDWoiE5blDHT2uw6Gsw5AcGf2NU/Tv83L/gruZur5IKLzs9yFfIGi384YiMbHPm4tRTQhjm6jWtmHvfxxJbSL+xOhVtUJAgRjTUpIVHRfkiBWt2lfKDnETTQweWbDyrYsRHbFMd8jDpCH+MYNdpgTJRZeKlMC4y42lTV11CskwOtQZbRLYoxOpj6KZp3U6cABWSHbEODkeavGIO9pnP53e1pgeS99n3eG1sbtFw1oJQ2RT5pyMkMvCUmJhWhBfsRl/rNHu6o+YUtsh072VXNvQbJfVsVAE9SicVZbgHiGaLui2MKc4uSU+7x877T7Dk1FDNT4KdN+3Ner5ApT5l44KAe43vlJG2U7qGV7rOjP2yqyCsPBGZ/yB1jVePWCWBDhhEWFQumL4V53chWoXhg0c6r+0nL44vGNNfwGAV3YdmC2ChSyo1ynlVoxSNEL6AgjYZ5L3A0Ye8ndi002hutomI+zo6hRyjaPiUJ2+QoSDzqRlBUtA3QsKU8GmVHDP7oVR3SuUIvcQ6f1NBbNvMW8Qrs+OBp3J+6fjfWoKA+gZZlhkLBgQLdwkhGMp12SeUENbkO8M+9xfVkIlunmWivRJjUsYw2FrhMLdECsdM7eQ0RfDBBoa+D39xpjIUwmYz1ToS245uVPUSoySTjYWbSikC68ywo1aszR5TIyOz35qE0itIg5WOgo67dhnetPOz7QJ9dnLn5I5rGCphz5nw1Cpij8JQ=="},{"id":"ef88488c-8e89-4db4-957f-cd8262dded34","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"布局组件","description":"layout-components","prompt":"创建布局相关组件的详细API文档。详细说明顶部标签、侧边栏、托盘面板等布局组件的属性和方法。记录布局状态管理、响应式设计和主题适配等功能接口。文档化布局切换、面板折叠、位置调整等交互行为的配置选项。包含布局组件的组合使用模式和自定义布局示例。提供布局性能优化、渲染策略和用户体验改进的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":7,"progress_status":"completed","dependent_files":"components/top-tabs/,components/aside-panel.tsx,components/TrayPanel.tsx,components/terminalLayer/,components/workspace/","gmt_create":"2026-05-28T20:05:51.882741+08:00","gmt_modified":"2026-05-28T21:32:33.645771+08:00","raw_data":"WikiEncrypted:x3LcpLCzT0KOPxd1xeYY3c7iq48qz+WPAPm3x7MWgVl9Ka0y39BYIpkYIXIwXtcEkjLNRqcKoI34Ay7VLfvIoULujI3XYk0l1Hga7t74F2t1/O543AoX3q2n9eMYP+nIGP+6hTEXC9VZMIPmzotlnr4RHTb06XxQu0BGvUKJtNrC1VCkLZ9PFAqDfp4G1E5InJ9M1xxNCjBjr3BNdRZvuAWNeRioBCgBEK5caDNfdS0wgehpLWEtT3K4AMtj+29D+mYxtkeMbP1DKFOvm8PpTblhjsfvfaCza0ooeI7vpim7dty1vhys9XdjRxaqbecUThyFkdysaRtNgukNgCItHGo70QT2Rt/a7KdQd6ht95uOaJm3OE858dr0nYyIKy3mdR9A04GxTici4Xfq2rPthgzPQ6VAK/Gb2UOtT2PqXUfJExLes3rnxS7rsN99bVkdc1cvgwwop5nIJeHH6ZbSFGZDPkXwLmxOP5MSt4MrvvSEVoBDBOwTmxZzRv2ulE59naLVxl3JA8pdLNwOItY9A4Kx65cgk9Q4O1iPH5rab/5aHtMcvDyqWL9Ihx7U8rKYq5IiSBc4XNjatWkWNLD99FkpjPY8ufUl8bDTWKHGQOMe8/oqTXqlNt6qbYh7TanaIsJRd+INi4MC8VFI8WNjq5D0aFw9dxfoDEG3VIqrGqWvip7cosVpX3CmPm0Uyuebt8eIdLdVad5GfEDe11dmC62tUhxLB0ESxb8Al67z33Z6nsi7siZrqcj0ITG3UpRHTIP+75XMdk/bJVJmBNOEaF+EU35XuQghGCaT5W3I2efBCt86qB80bMUZ6tjFOcd5swMRU9zhatoaiWgSG1L+BBjQzSrPlSty1Cqpt1eWqQf8hRv8UDl/DRSh/Q8gaSjuj6bgydVccLNAI2SWDefeDkIyotDhcC43aEFoERlIHwgzfCust9hLRPqLYk+S808GmNtZmQWZmQ2iVRpNDhoAQmsK/CcGDDGCLYfwjJwBwp0qjHDPM4bgOgqeXvNGqShY","layer_level":2},{"id":"6e4574ee-0734-4d80-b89e-88e3950337e8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"系统设置","description":"system-settings","prompt":"为系统设置功能创建全面的用户指南。详细介绍系统级配置选项,包括会话日志管理、日志目录设置、日志格式配置等。深入说明窗口管理设置,包括窗口热键、最小化到托盘、窗口状态保持等。解释系统集成设置,包括全局快捷键、开机自启动、系统通知等。介绍调试和诊断功能,包括日志级别设置、性能监控、错误报告等。说明系统性能优化选项,包括内存管理、CPU使用率、磁盘空间等。提供系统设置的安全考虑和隐私保护措施。包含系统设置的故障排除和维护建议。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":7,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsSystemTab.tsx,application/state/systemSettingsEffects.ts,electron/bridges/windowManager.cjs","gmt_create":"2026-05-28T20:07:11.895574+08:00","gmt_modified":"2026-05-28T21:32:05.863083+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjKN64WWbousMZp4iRFZtdCAUyqEi9eeNqhSen/ISqRL27tOmWkm0d9U77f0ao45OMIIsUfYMvPSa7qt1Z30aFbXPZcDiYSxxY5F5Q5AEuco5rN5Zun1K+2ogV2/FKxPEuMaZDA6TFleOiSuA9XvzPnZVEZJnuFlT9b4gGfXmIc0tnpV3XghE2RK6kBL0JtqKXfwx95R/qnZhERhySdWSmtoHLYtazz6eLGM513OxUR3yTrH5KmAPS3oGxp7LYPyf9PCgyc66oxKsOOHq9z1oqByjmiyolmkHNfl3GUCjzD9tZus/UF0QG4Anm9rW9fVyAtUYuSy+ZMLzEmisCrkY8DDzJJWkxPW9WNtsJ1QPBuQOLsmx7FuMmX2yE2+lO/Wa/nAw/DpAJvApdIUNXsxskJplppFE81DuhVZE7Vk9R1f2Qui1XabQ7aTpoSm90y+CgSR5rOSmt4tMzJxj4zI7/naIYw8zBWZ38XqDHdvichP5OcsvyChuVMv0RFU1kcR7+EbFtq8RZgrV7q14Tw71Ug2fWtC4J53+N/c4QurmuEBfhJ27Rc8f7gtm/ZJ/BOziP3cAvO1ng+LPH3WI5HgpKG54ZoiWtbuuqrpypAkab9kjLCutidFp/8D769n8DCaMpj28MZOp1eT21kjRWT9ec4sT53p0btvrHkshl3Z6CGEpn+SWwT2y7pc9PdJPiLNURF5DlomSMhuGTYpQ3mTCTC5fOgVcbiaojdeRBFd355b1yljIww66Vw3CeZeHGcQzdzlM73my45frr5L8Go3jjeaawISUejPQfRUAlQYW1o1jAHNipaUCERM1HwlamirON+ynw93YjZUYodVgrJKFLRw5W6Ab9JqvBqloXrr0J2azyStYRqTsNbRhRGPSafDk+k1JvyVNQSwMgzatv9OiWgtjt+fUndYMFu50oGIwnKAHCZKnnTEvspV7y5SDanVY5XECICFtSzHBBV/zI0zgcd8cxIxPpwIECqjdwgvidtakf5p/Pv+FhK1kI4tRk9I7Z7fBc5JciS2RKH71qRG3H1EG3KJhkKB+WlpUTt/YkNGaSqoSivyVUz4rLm4gg0KhOhWupXIM28ikv8AbAAeRyDPXwXPTfH8oVg81y92XyY7Lgt4EQg8K/xdVLovExlZPDNXPZhT6OqEmRcKSoFuJLmdKDN1JfG/OnYdLb9f7C1gGR3wUXAgIO+JXjlat4XaR4GQnn/l4G+Nn0YWKdKdCjqz+aK4FSs5tO3q7nD1woM95+L32llwtFcSZjeATYizDSkoQjXdjq0/8UVfUUZwrZAn5Hk+0t6KdVy6uzxUVnikawnynw5eK2KLClBulYN2Zfn/rzSYZSmoFX9pzxDHaZ5ya0gQm5/5VNnauGO7iNVkuyQlCesKOyEDN6XZPH7UsEg==","layer_level":2},{"id":"ff5d57fa-1eb8-41fc-b0d9-656fce9f059c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"贡献指南","description":"contributing-guide","prompt":"创建Netcatty的贡献指南文档。详细说明如何参与项目开发和贡献代码,包括开发环境设置、代码规范和提交流程。提供完整的开发工作流程,从Fork仓库到提交Pull Request的详细步骤。说明代码审查标准和质量要求,包括ESLint规则、TypeScript配置和测试要求。介绍项目的编码约定和最佳实践,包括命名规范、文件组织和注释标准。提供测试策略和测试用例编写指南。说明文档贡献的方法和格式要求。包含社区行为准则和沟通渠道。提供新贡献者的入门指导和学习资源。确保贡献流程清晰易懂,鼓励社区参与。","order":8,"progress_status":"completed","dependent_files":"README.md,eslint.config.js,tsconfig.json,.gitignore,package.json","gmt_create":"2026-05-28T20:04:49.697621+08:00","gmt_modified":"2026-05-28T20:14:13.327614+08:00","raw_data":"WikiEncrypted:BxDZrTl5aGXx1MaECOB3NcmqKeEGh4AECncrqqo5NUTzs6aCoRiqPORmAb4kGHOt167ppBhtnKlsV+1DEzzyUF+VsFql++BdGhjb8/2qSOA3N7g0HUUn++ohxc3NJfGs8kI8JtDWnOstGqo1oLnbOoNZEn2KG/ArcG+x1QLfErPIVl3rJBofZrg2CbU9zc9axG5XLIfsNCo9CML2IjQy8NugthXSvlrE5FEN0WXSvrWqAyewlpAHwDKL3SxFGa8UadbLhzWxb1RCY7iV2DsYIlZAwIAmJbzmdWYvmkFCLEdWT+yE8boM8T6F6Wd+x0Cl4TmgcBVSmNIlcVdmxx2XJ+82AgB7NpnT5gFfmk3mGxWElmeQAdTyObCOAh9uA8ZYjOwGRvvH5VSqEn/uhEmQacLoB7cxRPCPeFM/GGx4xnV6d6hLDheQOQrnrOiwW2QnmT6wur22LScfU929XO2lmQgST+801JcysHOpql2zSsLqFiDX5aqy0LPwRQZyxAcHs7zi0EGUxfqVeMJ8aClojXUkcEohuOnpNdVKY3a67PBJP0OlOM9YMB2QW6+evzO3sQUe2zNPH060DE3WsI4MdSeRMhQUn/HWnYGu6SCfy7NwMXFipkIFrSVAF+q3/MBmgYfohsmL6Ge8NAQJ1eWTdFskR2PPH2xo2Lo25r9pNh1lUpUxguFIfWjbqtqwN+TJxV3oDatpVI8P/lz6jJnt3wfVuNSHZ5/3l1ZUFJqJfj8U0+7OKpEFFEWFBvWyywS2PGJSE25gZSdN9svhTFVxwzodiAiNxPrD22Pey5QKq1tJHC8Eb3xlQwqoG5DOtGfQHry87YAStCRoEHwHZwKi4/RQm5WCbJFbtOufkv2plbEOECenwj/RcheBkZs5X/RXi/mD89ji9Dnn9aPR7sHynEXWGsUxVkKz735XtVFShA9PX8GDZlOadyntyBQj0+Hli2oEBNb4m4UQ812wpfuiFc7yGVAK7NZ+Gw56DbX5au42BTk0LQ3g+jNgO0A56nEiMS+m8sataURUZs0WtuT++ao+5InmXnvb6QpVKrTKeZJjs2/ehmgtSNEqYRkA2RcqEbM+ZdbPpipZYPS9SNSSj8eKxQkXa0hQGG1XZOvZjjIgyluWgHZhP79cFMtLrounxxvRWsFqzRpqwRlD4UJtt3FrCJSotQqglLE/2G/yr8F+EHu9jo1Z/4P7LpIj/Sj7WpK0aIvSvcko74QXKG/yVanWOk8DF59744VNFfKqaA7rq7am1Qv4dk890Kmiubg/kyiNuh6TjNR1Yhal13UbRm1GVt150qEOqp68dqVQtBMtqi7ydqRPAwHuYt5EtaBSClto/VmPPQHUhYigw3JLAg=="}],"wiki_items":[{"catalog_id":"f48f62d9-42f8-4ac9-b4fc-f58aff629b9a","title":"快速开始","description":"getting-started","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1de90f7a-3fa3-45c8-8ae1-f3502e65649d","gmt_create":"2026-05-28T20:09:15.859683+08:00","gmt_modified":"2026-05-28T20:09:15.862198+08:00"},{"catalog_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","title":"用户指南","description":"user-guide","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","gmt_create":"2026-05-28T20:09:18.453271+08:00","gmt_modified":"2026-05-28T20:09:18.455871+08:00"},{"catalog_id":"189657ad-d00c-4381-8f6b-550190edf068","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"93ad1190-c3a6-41e6-89ef-1bca18b8f1f4","gmt_create":"2026-05-28T20:10:15.608801+08:00","gmt_modified":"2026-05-28T20:10:15.61661+08:00"},{"catalog_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","title":"开发者文档","description":"developer-documentation","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","gmt_create":"2026-05-28T20:11:54.688473+08:00","gmt_modified":"2026-05-28T20:11:54.691124+08:00"},{"catalog_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","title":"API参考","description":"api-reference","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e3813e85-475b-4636-8677-0ac6b228a891","gmt_create":"2026-05-28T20:12:29.292291+08:00","gmt_modified":"2026-05-28T20:12:29.294509+08:00"},{"catalog_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","title":"扩展开发","description":"extension-development","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"904a54db-af5c-4b59-ac68-5cb676129021","gmt_create":"2026-05-28T20:12:59.788396+08:00","gmt_modified":"2026-05-28T20:12:59.791778+08:00"},{"catalog_id":"ff5d57fa-1eb8-41fc-b0d9-656fce9f059c","title":"贡献指南","description":"contributing-guide","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2f8120c5-7d6d-46e9-8453-e4c53d600697","gmt_create":"2026-05-28T20:14:13.325779+08:00","gmt_modified":"2026-05-28T20:14:13.327693+08:00"},{"catalog_id":"3691837c-d095-48ec-b481-053483dbb4a1","title":"故障排除与常见问题","description":"troubleshooting-faq","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"27a63031-de53-457a-b3a9-0dd02ca29aba","gmt_create":"2026-05-28T20:14:18.616639+08:00","gmt_modified":"2026-05-28T20:14:18.619497+08:00"},{"catalog_id":"a0af6288-c032-472b-9250-5b36e4e22779","title":"部署运维","description":"deployment-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"03fcfbf2-fc26-471e-aa4e-399d6429a7ff","gmt_create":"2026-05-28T20:14:18.903082+08:00","gmt_modified":"2026-05-28T20:14:18.905621+08:00"},{"catalog_id":"fe2c716e-f60c-4887-86c2-802954fe9d11","title":"插件开发","description":"plugin-development","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"8960eec6-53de-41f2-9da2-35c059bfd993","gmt_create":"2026-05-28T20:16:48.568139+08:00","gmt_modified":"2026-05-28T20:16:48.57119+08:00"},{"catalog_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","title":"IPC桥接API","description":"ipc-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","gmt_create":"2026-05-28T20:17:23.594764+08:00","gmt_modified":"2026-05-28T20:17:23.598019+08:00"},{"catalog_id":"f348201e-855d-4899-83da-3a544ea6e040","title":"SSH客户端管理","description":"ssh-client-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","gmt_create":"2026-05-28T20:17:29.824327+08:00","gmt_modified":"2026-05-28T20:17:29.827253+08:00"},{"catalog_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","title":"组件API","description":"component-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","gmt_create":"2026-05-28T20:19:39.314567+08:00","gmt_modified":"2026-05-28T20:19:39.317233+08:00"},{"catalog_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","title":"架构概览","description":"architecture-overview","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"83ef41c8-3531-4600-9d56-76e1eff02a93","gmt_create":"2026-05-28T20:19:47.648628+08:00","gmt_modified":"2026-05-28T20:19:47.650448+08:00"},{"catalog_id":"5e01c9ba-995a-4393-8368-183efee045f3","title":"终端功能","description":"terminal-features","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2c41cd44-9608-4cfc-bae9-2825c596789f","gmt_create":"2026-05-28T20:19:53.60585+08:00","gmt_modified":"2026-05-28T20:19:53.608739+08:00"},{"catalog_id":"2315654d-d8cf-4b7c-a65f-ca077b52828f","title":"主题定制","description":"theme-customization","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7027494b-ee06-47c6-ba86-fa80d1bf638d","gmt_create":"2026-05-28T20:21:26.690866+08:00","gmt_modified":"2026-05-28T20:21:26.693384+08:00"},{"catalog_id":"478f9651-04e6-429b-ad0a-f182114e1102","title":"核心模块详解","description":"core-modules","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","gmt_create":"2026-05-28T20:22:08.857516+08:00","gmt_modified":"2026-05-28T20:22:14.126891+08:00"},{"catalog_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","title":"状态管理API","description":"state-management-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","gmt_create":"2026-05-28T20:23:05.900549+08:00","gmt_modified":"2026-05-28T20:23:05.90347+08:00"},{"catalog_id":"bd3266f2-d226-4e56-b968-4fc41e840104","title":"SFTP文件传输","description":"sftp-file-transfer","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","gmt_create":"2026-05-28T20:24:23.505466+08:00","gmt_modified":"2026-05-28T20:24:23.508235+08:00"},{"catalog_id":"556ed570-1cfd-40f6-906f-450d95ce0cf1","title":"第三方集成","description":"third-party-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"44c64a89-94ca-4e97-8cfe-c248c6cde27a","gmt_create":"2026-05-28T20:24:32.290918+08:00","gmt_modified":"2026-05-28T20:24:32.293566+08:00"},{"catalog_id":"da5af3f0-4251-4700-9284-7ee621720087","title":"Electron集成","description":"electron-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"dc88333f-8744-4c40-9790-3466bdb408b3","gmt_create":"2026-05-28T20:26:15.041899+08:00","gmt_modified":"2026-05-28T20:26:15.045164+08:00"},{"catalog_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","title":"数据模型API","description":"data-model-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","gmt_create":"2026-05-28T20:27:14.880845+08:00","gmt_modified":"2026-05-28T20:27:14.884462+08:00"},{"catalog_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","title":"保管库管理","description":"vault-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cf7f749e-8e9a-42b7-958c-19c55410410d","gmt_create":"2026-05-28T20:27:16.392901+08:00","gmt_modified":"2026-05-28T20:27:16.395775+08:00"},{"catalog_id":"9b3b9267-ab7b-47f8-b4d9-6ebd98d66b3b","title":"开发环境设置","description":"development-environment","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","gmt_create":"2026-05-28T20:27:59.517823+08:00","gmt_modified":"2026-05-28T20:27:59.520073+08:00"},{"catalog_id":"3c02a9d4-09e1-40db-8b01-ccb4e222aef5","title":"数据模型","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f4139171-e9dc-4289-9492-ce7bc9e73974","gmt_create":"2026-05-28T20:29:32.495414+08:00","gmt_modified":"2026-05-28T20:29:32.498139+08:00"},{"catalog_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","title":"基础设施服务","description":"infrastructure-services","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6911f629-88c9-46a5-a025-dad6e315f1e3","gmt_create":"2026-05-28T20:29:52.469148+08:00","gmt_modified":"2026-05-28T20:29:52.471483+08:00"},{"catalog_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","title":"AI代理集成","description":"ai-agent-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","gmt_create":"2026-05-28T20:29:56.466499+08:00","gmt_modified":"2026-05-29T00:34:06.36818+08:00"},{"catalog_id":"53dbf0f0-acdf-4479-a847-d36e1f74b9c8","title":"AI桥接API","description":"ai-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4dc539e5-a853-4edf-9ca0-48e6322562ef","gmt_create":"2026-05-28T20:31:43.127064+08:00","gmt_modified":"2026-05-28T20:31:43.128911+08:00"},{"catalog_id":"bf18a7e4-a0d1-4ea7-a632-794bbd1a9f8d","title":"UI基础组件","description":"ui-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ecaffc2b-e494-4ed5-8f02-db5fa282aa72","gmt_create":"2026-05-28T20:31:57.440511+08:00","gmt_modified":"2026-05-28T20:31:57.443597+08:00"},{"catalog_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","title":"设置和配置","description":"settings-configuration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","gmt_create":"2026-05-28T20:32:13.440906+08:00","gmt_modified":"2026-05-28T20:32:13.4434+08:00"},{"catalog_id":"dbb11819-90c1-4dac-9f47-6a4b3c6adf08","title":"主机模型","description":"host-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"28e4f2ee-c8ca-4994-b62c-9ac71403d04d","gmt_create":"2026-05-28T20:33:55.527067+08:00","gmt_modified":"2026-05-28T20:33:55.52959+08:00"},{"catalog_id":"5025fc02-78cc-4128-a1af-0999e00e0ef0","title":"会话状态Hook","description":"session-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7b1c56ff-3c51-4274-bcf5-d3d1f8477382","gmt_create":"2026-05-28T20:33:55.933029+08:00","gmt_modified":"2026-05-28T20:33:55.935541+08:00"},{"catalog_id":"20b46ffd-42d2-46ea-ad8b-7c8881b3c4b0","title":"主机管理","description":"host-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","gmt_create":"2026-05-28T20:34:13.985533+08:00","gmt_modified":"2026-05-28T20:34:28.614222+08:00"},{"catalog_id":"201aeb54-f4d8-4e97-b976-71048aa09370","title":"终端视图操作","description":"terminal-view-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1694ef25-1221-4fed-8be5-64690fff9c70","gmt_create":"2026-05-28T20:36:26.94047+08:00","gmt_modified":"2026-05-28T20:36:26.943978+08:00"},{"catalog_id":"d85c536d-3df2-4f81-9a4a-b66cbead93f7","title":"主机组织与分组","description":"host-organization","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1f554e89-41a3-4589-9116-715d7326d7df","gmt_create":"2026-05-28T20:36:40.387275+08:00","gmt_modified":"2026-05-28T20:36:40.389701+08:00"},{"catalog_id":"964d0138-2e03-4183-8eed-c1f8f31b16df","title":"文件浏览器界面","description":"sftp-file-browser","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5ef9349b-68d6-4060-bdd6-f994eb94b4b0","gmt_create":"2026-05-28T20:37:04.156971+08:00","gmt_modified":"2026-05-28T20:37:04.159008+08:00"},{"catalog_id":"56d1bb3b-a501-4cb5-bb1e-9d7e4d0e8bf5","title":"整体架构设计","description":"overall-design","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9a20a6d8-32b5-472c-8f96-f55fddf76d5a","gmt_create":"2026-05-28T20:39:07.482788+08:00","gmt_modified":"2026-05-28T20:39:07.490307+08:00"},{"catalog_id":"b8f706d6-4db2-446f-9991-e7c85519a828","title":"AI聊天界面","description":"ai-chat-interface","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","gmt_create":"2026-05-28T20:39:15.434081+08:00","gmt_modified":"2026-05-29T00:33:53.613992+08:00"},{"catalog_id":"28e1e3bb-505c-44f8-a1b1-87c5d1bbd609","title":"状态管理","description":"state-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"74c23b15-a37c-415b-8ad8-d01a28fa32ca","gmt_create":"2026-05-28T20:39:36.330674+08:00","gmt_modified":"2026-05-28T20:39:36.333244+08:00"},{"catalog_id":"c690e6a6-c8b9-40d6-87eb-75ee01a32f99","title":"应用程序设置","description":"application-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6f52536a-2f63-46a3-ba9e-99c7d0669a75","gmt_create":"2026-05-28T20:41:13.928608+08:00","gmt_modified":"2026-05-28T20:41:13.93088+08:00"},{"catalog_id":"49eed28b-d88a-412b-b7a4-ad89b94535e5","title":"主进程架构","description":"main-process","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f12bccb7-c5ba-4609-9741-e46383cbbc70","gmt_create":"2026-05-28T20:41:42.591044+08:00","gmt_modified":"2026-05-28T20:41:42.592871+08:00"},{"catalog_id":"ccc96a62-baef-4616-ad83-4919e22a284c","title":"云同步服务","description":"cloud-sync-service","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"73f98836-cfe0-46eb-a986-2349ae88c8c1","gmt_create":"2026-05-28T20:43:17.779511+08:00","gmt_modified":"2026-05-28T20:43:17.782815+08:00"},{"catalog_id":"a2ac83be-41a4-4ac9-8946-bec086179f45","title":"SSH桥接API","description":"ssh-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","gmt_create":"2026-05-28T20:43:57.405919+08:00","gmt_modified":"2026-05-29T16:04:37.505087+08:00"},{"catalog_id":"e536cbcb-452c-40e1-9547-0991822ec22b","title":"终端组件","description":"terminal-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","gmt_create":"2026-05-28T20:44:29.805814+08:00","gmt_modified":"2026-05-28T20:44:29.808677+08:00"},{"catalog_id":"89dfd6ab-5e0f-454c-ae5b-7ea42272a2f0","title":"连接配置","description":"connection-configuration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c6203bd1-7727-4496-bd98-180f6da076fe","gmt_create":"2026-05-28T20:45:35.640074+08:00","gmt_modified":"2026-05-28T20:45:35.642897+08:00"},{"catalog_id":"fcdc1e35-7fc1-428b-ac53-5a9dea163038","title":"终端模型","description":"terminal-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"dcb07678-55bd-469e-a441-411c1c8b7571","gmt_create":"2026-05-28T20:46:06.806154+08:00","gmt_modified":"2026-05-28T20:46:23.85405+08:00"},{"catalog_id":"03c019d8-c4c8-4af7-b8b9-d24d0a6953ef","title":"设置状态Hook","description":"settings-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1df8b934-e8f0-45d5-a44e-2985b5f62201","gmt_create":"2026-05-28T20:46:33.845626+08:00","gmt_modified":"2026-05-28T20:46:33.848291+08:00"},{"catalog_id":"543fbb38-22d3-4edd-beaf-500a9d27eb05","title":"导入导出与备份","description":"import-export-vault","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6d891e74-605c-4f85-84f1-6c9277f6ae57","gmt_create":"2026-05-28T20:48:30.777259+08:00","gmt_modified":"2026-05-28T20:48:30.780053+08:00"},{"catalog_id":"65f95f28-e6ac-4777-aded-6ef175e0df13","title":"文件操作功能","description":"sftp-file-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1ee90d0b-1543-46d7-8d77-8c6d5a040e35","gmt_create":"2026-05-28T20:49:05.75482+08:00","gmt_modified":"2026-05-28T20:49:05.757196+08:00"},{"catalog_id":"0e8576ec-5da3-4ee7-a79b-721f16083b55","title":"自动完成功能","description":"terminal-autocomplete","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"37433958-d11a-47cc-8b45-7f963b7c3801","gmt_create":"2026-05-28T20:49:21.874304+08:00","gmt_modified":"2026-05-28T20:49:21.877861+08:00"},{"catalog_id":"bb641495-1f33-4d48-a42e-b1cbc65d7beb","title":"代理管理","description":"agent-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","gmt_create":"2026-05-28T20:50:14.028264+08:00","gmt_modified":"2026-05-29T16:05:13.426378+08:00"},{"catalog_id":"af3b4fa1-5540-45d2-a8f0-5da6a08e1577","title":"数据模型","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"71c44865-0b1f-460a-863f-5a4f24a4fce7","gmt_create":"2026-05-28T20:51:20.932299+08:00","gmt_modified":"2026-05-28T20:51:20.935265+08:00"},{"catalog_id":"f21a1842-6cf5-49cd-bbe8-77311dc5b845","title":"技术栈说明","description":"tech-stack","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a16a3ff5-48da-45e5-99f9-96588d5b79fa","gmt_create":"2026-05-28T20:51:39.408316+08:00","gmt_modified":"2026-05-28T20:51:39.410305+08:00"},{"catalog_id":"aea259ba-0cb4-4f60-b819-6fdab52f91bd","title":"外观设置","description":"appearance-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"de284344-f31b-48aa-8fd4-91b2e96d4f6b","gmt_create":"2026-05-28T20:52:09.810191+08:00","gmt_modified":"2026-05-28T20:52:23.242309+08:00"},{"catalog_id":"4bb1d350-1bd4-4289-a7bf-a0901b7406fc","title":"加密服务","description":"encryption-service","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"49a94704-ca02-4541-a00e-692fc26c346b","gmt_create":"2026-05-28T20:53:23.313274+08:00","gmt_modified":"2026-05-28T20:53:23.315127+08:00"},{"catalog_id":"b5087fef-552a-44f1-9c4c-c6fd70eb1a72","title":"预加载脚本","description":"preload-scripts","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"fc559a24-ee72-4904-afc4-365c2a61c21f","gmt_create":"2026-05-28T20:53:29.564647+08:00","gmt_modified":"2026-05-28T20:53:29.566646+08:00"},{"catalog_id":"f5e61dbd-beb3-44f7-b208-05f97451f629","title":"SFTP桥接API","description":"sftp-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f018dbe0-35a9-4ac2-abcb-da04c336a890","gmt_create":"2026-05-28T20:54:32.30166+08:00","gmt_modified":"2026-05-28T20:54:32.303719+08:00"},{"catalog_id":"4d7ffc05-5416-4089-88de-4afeccb391b9","title":"SFTP模型","description":"sftp-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"3c9c8608-9041-4736-bff6-4b6c08e234ce","gmt_create":"2026-05-28T20:56:02.760458+08:00","gmt_modified":"2026-05-28T20:56:02.76312+08:00"},{"catalog_id":"371e9339-c3fa-472a-8aa1-01e31ae98f5e","title":"SFTP组件","description":"sftp-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"45af2034-e7e9-47d9-90fd-0a031df9231c","gmt_create":"2026-05-28T20:56:20.751547+08:00","gmt_modified":"2026-05-28T20:56:20.754156+08:00"},{"catalog_id":"dfa19a59-6ae1-41f8-af37-7dfc7d5a0dad","title":"认证方式","description":"authentication-methods","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","gmt_create":"2026-05-28T20:56:40.144097+08:00","gmt_modified":"2026-05-29T16:04:30.697626+08:00"},{"catalog_id":"7d32c18c-49bc-4690-8248-e2296c3b0159","title":"标签系统管理","description":"tag-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"020d314c-4da8-4e4e-ab48-4212b49c5659","gmt_create":"2026-05-28T20:58:08.836338+08:00","gmt_modified":"2026-05-28T20:58:21.634679+08:00"},{"catalog_id":"c9f7477f-6d5e-4f96-854a-19ed0c429466","title":"保管库状态Hook","description":"vault-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5a51d08c-b7e1-4b2c-8196-8e3d248e854a","gmt_create":"2026-05-28T20:58:34.48485+08:00","gmt_modified":"2026-05-28T20:58:34.487869+08:00"},{"catalog_id":"7464267a-5878-4386-b52f-5b5fa2ef0315","title":"终端搜索功能","description":"terminal-search","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f6e21ee1-4113-45ba-ac8f-1eba088c1b24","gmt_create":"2026-05-28T20:58:37.587232+08:00","gmt_modified":"2026-05-28T20:58:37.589173+08:00"},{"catalog_id":"57b18839-40f9-4af4-9a44-e46ef4e2ecf2","title":"拖放传输功能","description":"sftp-drag-drop-transfer","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7484d7a0-8b35-44d2-a7da-139ec01da695","gmt_create":"2026-05-28T21:00:34.811478+08:00","gmt_modified":"2026-05-28T21:00:34.813368+08:00"},{"catalog_id":"9bf4fe2e-010c-4877-877a-14aac3fb2337","title":"自然语言交互","description":"natural-language-interaction","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0872749e-a205-426a-8c47-ea163a05e729","gmt_create":"2026-05-28T21:01:11.555983+08:00","gmt_modified":"2026-05-28T21:01:25.915648+08:00"},{"catalog_id":"5823d155-378b-4d13-9e56-b4f4513a55c6","title":"模块化设计","description":"modular-design","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"8f287c60-fbc7-4023-a21d-a9904046e89f","gmt_create":"2026-05-28T21:01:16.448818+08:00","gmt_modified":"2026-05-28T21:01:25.91627+08:00"},{"catalog_id":"8cc41ec0-2de7-4a7e-8273-e22748136cea","title":"组件架构","description":"component-architecture","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2098231c-2de5-4da3-b958-08734c3a8419","gmt_create":"2026-05-28T21:02:30.897868+08:00","gmt_modified":"2026-05-28T21:02:30.900637+08:00"},{"catalog_id":"3856196c-0e63-462e-9090-d6089a6c4b22","title":"终端设置","description":"terminal-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","gmt_create":"2026-05-28T21:03:38.653691+08:00","gmt_modified":"2026-05-28T21:03:38.65627+08:00"},{"catalog_id":"cb787d46-a943-46c4-bae1-df40a40459e8","title":"IPC桥接层","description":"ipc-bridges","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"fcc17a60-93fe-4e71-b393-74e8fde83291","gmt_create":"2026-05-28T21:03:44.865436+08:00","gmt_modified":"2026-05-28T21:03:44.867309+08:00"},{"catalog_id":"6047dcc4-e68e-4b0f-a011-afcbedb871ba","title":"字体系统","description":"font-system","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"861be5e2-69ca-4618-8fb5-950adbbc35fe","gmt_create":"2026-05-28T21:04:30.973816+08:00","gmt_modified":"2026-05-28T21:04:30.976543+08:00"},{"catalog_id":"ef953a09-2620-4559-bfd9-2bcb4e38577b","title":"终端桥接API","description":"terminal-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"326cecd9-d969-462d-9281-a1d57888dccd","gmt_create":"2026-05-28T21:05:58.25603+08:00","gmt_modified":"2026-05-28T21:05:58.258778+08:00"},{"catalog_id":"0fe183f4-652b-49e9-86be-7ee73ed050e6","title":"连接模型","description":"connection-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2d2a4c62-7798-4c1c-81a0-200c0748b4d2","gmt_create":"2026-05-28T21:06:38.514768+08:00","gmt_modified":"2026-05-28T21:06:38.518055+08:00"},{"catalog_id":"b4067c14-ddaa-47ff-8b33-41d5a27efd23","title":"保管库组件","description":"vault-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"36703908-4de5-4a47-ae0c-1560ce2453e4","gmt_create":"2026-05-28T21:06:58.813087+08:00","gmt_modified":"2026-05-28T21:06:58.816033+08:00"},{"catalog_id":"ae037469-2c02-419e-89fa-7982b8a8fc56","title":"快速连接向导","description":"quick-connect-wizard","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f2bbaae1-29e0-4399-9142-1d3f26b371ef","gmt_create":"2026-05-28T21:07:49.338785+08:00","gmt_modified":"2026-05-28T21:07:49.341603+08:00"},{"catalog_id":"991f3dd4-c9b9-472c-abb2-dbcf1445dceb","title":"SFTP状态Hook","description":"sftp-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cf2d1803-be1b-4f5c-abef-19c145d455cf","gmt_create":"2026-05-28T21:08:52.788406+08:00","gmt_modified":"2026-05-28T21:08:52.790914+08:00"},{"catalog_id":"f2e87c7b-b2d2-4b60-97bb-02df5afcae18","title":"凭据安全管理","description":"credential-security","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4c7c01e9-edfe-4726-81ca-4b4aceaae66a","gmt_create":"2026-05-28T21:09:04.399686+08:00","gmt_modified":"2026-05-28T21:09:04.402578+08:00"},{"catalog_id":"f65b1d62-7cb2-4475-acba-acba86b920e0","title":"主题定制系统","description":"terminal-themes","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b68a612e-3c3f-4c43-9676-bdb3f91bb678","gmt_create":"2026-05-28T21:11:17.299407+08:00","gmt_modified":"2026-05-28T21:11:17.302163+08:00"},{"catalog_id":"6fd20312-1e9b-42d7-9ac2-5bca9f46eb5e","title":"文件关联和编辑","description":"sftp-file-associations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","gmt_create":"2026-05-28T21:11:35.910945+08:00","gmt_modified":"2026-05-28T21:11:35.913854+08:00"},{"catalog_id":"2b57cd0f-33e0-4b9d-9a23-efbdd7e042fc","title":"工具调用执行","description":"tool-calls-execution","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"82f9a2a7-0743-43ab-98ff-8557eb71151a","gmt_create":"2026-05-28T21:12:12.338392+08:00","gmt_modified":"2026-05-28T21:12:12.341324+08:00"},{"catalog_id":"2154cf33-167b-49cd-b5b4-73427e843b34","title":"IPC通信机制","description":"ipc-communication","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"59643266-d11f-47e4-acd1-e4caaa810589","gmt_create":"2026-05-28T21:13:32.702363+08:00","gmt_modified":"2026-05-28T21:13:32.704316+08:00"},{"catalog_id":"ee9178f8-f4f8-4b57-90fa-6462c4acb72f","title":"工具库","description":"utility-libraries","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c51ce701-f39e-4770-bfe9-7ed664d78ece","gmt_create":"2026-05-28T21:13:33.316698+08:00","gmt_modified":"2026-05-28T21:13:33.318904+08:00"},{"catalog_id":"2af9b53c-66bb-4ae8-8cfd-72579a55e354","title":"快捷键设置","description":"shortcut-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"966e6580-5798-40b2-8453-4626ca83115b","gmt_create":"2026-05-28T21:13:58.244814+08:00","gmt_modified":"2026-05-28T21:13:58.246754+08:00"},{"catalog_id":"8433df7e-7804-4604-ba3a-45580e402754","title":"AI基础设施","description":"ai-infrastructure","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"930fbb30-624e-4be4-b9d7-3467b84db500","gmt_create":"2026-05-28T21:15:49.978165+08:00","gmt_modified":"2026-05-29T00:36:03.462506+08:00"},{"catalog_id":"f82dd286-099d-4821-8190-abf67ab92593","title":"窗口管理桥接API","description":"window-manager-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","gmt_create":"2026-05-28T21:16:17.783035+08:00","gmt_modified":"2026-05-28T21:16:17.784697+08:00"},{"catalog_id":"d9afe811-1714-4c00-9188-6b5535c6700c","title":"CLI工具","description":"cli-tools","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","gmt_create":"2026-05-28T21:16:18.016116+08:00","gmt_modified":"2026-05-28T21:16:18.018463+08:00"},{"catalog_id":"a34970ad-c11c-48af-931c-5cca9ef2f01a","title":"工作区模型","description":"workspace-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","gmt_create":"2026-05-28T21:18:29.928242+08:00","gmt_modified":"2026-05-28T21:18:29.930923+08:00"},{"catalog_id":"5ab851c5-022e-47a4-8293-af1491c63b59","title":"连接测试","description":"connection-testing","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2e7a9992-3118-4134-95d6-362c34c77b26","gmt_create":"2026-05-28T21:18:40.064289+08:00","gmt_modified":"2026-05-28T21:18:40.067081+08:00"},{"catalog_id":"d281abbd-5367-47dc-ab13-aff302093b89","title":"AI组件","description":"ai-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","gmt_create":"2026-05-28T21:18:59.639966+08:00","gmt_modified":"2026-05-28T21:18:59.6429+08:00"},{"catalog_id":"81f40392-144b-487d-a89a-89595b2ca5e6","title":"AI状态Hook","description":"ai-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","gmt_create":"2026-05-28T21:20:51.984996+08:00","gmt_modified":"2026-05-28T21:20:51.986854+08:00"},{"catalog_id":"76a4607c-76b0-4c26-ab56-f2fc6f194f7a","title":"传输队列管理","description":"sftp-transfer-queue","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ec9e3933-aba5-4959-a593-ae110a420f06","gmt_create":"2026-05-28T21:21:03.096295+08:00","gmt_modified":"2026-05-28T21:21:03.098381+08:00"},{"catalog_id":"55d86c92-cc94-43ea-a7b9-b13e17e6f7ce","title":"会话历史管理","description":"session-history-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0d77fffe-d1dc-48c7-a372-e75b8a87db6b","gmt_create":"2026-05-28T21:22:26.740248+08:00","gmt_modified":"2026-05-28T21:22:26.742756+08:00"},{"catalog_id":"af609130-8a02-45a6-8465-1217b9e14bb9","title":"会话管理","description":"terminal-session-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"bb9f89dd-b0e9-4cfa-8153-b52d1904911e","gmt_create":"2026-05-28T21:22:50.042188+08:00","gmt_modified":"2026-05-28T21:22:50.045504+08:00"},{"catalog_id":"d9ee0f3d-a1bb-4b04-970e-740ac07f60c3","title":"文件关联设置","description":"file-associations-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9293b231-76ae-4669-ac34-f4aaa7babac9","gmt_create":"2026-05-28T21:23:03.04053+08:00","gmt_modified":"2026-05-28T21:23:03.042188+08:00"},{"catalog_id":"2da4f199-600f-40c6-855e-b8e44d60092c","title":"设置组件","description":"settings-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"250e1ffa-0511-4e9b-9572-3b94da7ed30f","gmt_create":"2026-05-28T21:24:56.870393+08:00","gmt_modified":"2026-05-28T21:24:56.8728+08:00"},{"catalog_id":"4e97dcc6-bf65-4f09-8d6b-a6d661faf388","title":"历史记录模型","description":"history-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","gmt_create":"2026-05-28T21:25:06.706503+08:00","gmt_modified":"2026-05-28T21:25:06.796698+08:00"},{"catalog_id":"c6a39c99-d0b1-492c-b25a-4f8f1014969c","title":"系统集成桥接API","description":"system-integration-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"54acc46f-d6ad-4f2c-850a-93c684202570","gmt_create":"2026-05-28T21:25:22.895812+08:00","gmt_modified":"2026-05-28T21:25:22.898245+08:00"},{"catalog_id":"871bf596-4926-4cf4-a619-8e73b11f79fb","title":"权限安全控制","description":"permission-security-control","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","gmt_create":"2026-05-28T21:26:38.973326+08:00","gmt_modified":"2026-05-28T21:26:38.975694+08:00"},{"catalog_id":"a68ac9c5-ad3b-42f1-ac16-58c017b05ea8","title":"冲突解决和错误处理","description":"sftp-conflict-resolution","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"95f25b79-6d2b-4805-bd19-d055bce67908","gmt_create":"2026-05-28T21:26:58.5059+08:00","gmt_modified":"2026-05-28T21:26:58.508611+08:00"},{"catalog_id":"4fa9db41-624e-4e43-9e49-8efb973b02b1","title":"工具状态Hook","description":"utility-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"765a165b-9816-400a-83ba-473f4418e1ba","gmt_create":"2026-05-28T21:27:22.955482+08:00","gmt_modified":"2026-05-28T21:27:22.958033+08:00"},{"catalog_id":"a629c573-e1f1-40e2-85c7-fbcf947f1204","title":"AI设置","description":"ai-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cde4dc83-ca09-4401-a05a-438e589695c6","gmt_create":"2026-05-28T21:29:15.276246+08:00","gmt_modified":"2026-05-29T00:33:30.880504+08:00"},{"catalog_id":"72f50650-cccf-42c4-b23e-4e75b8db5ff1","title":"编辑器组件","description":"editor-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e0edb13e-c272-40b7-ace2-3355efd887d7","gmt_create":"2026-05-28T21:29:24.26047+08:00","gmt_modified":"2026-05-28T21:29:24.263742+08:00"},{"catalog_id":"ef7b334b-471b-48d9-b310-d1e3e8bf6e1d","title":"快捷键模型","description":"keybindings-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5fad6bf9-012b-4055-8a0b-bdec02248b2b","gmt_create":"2026-05-28T21:29:34.625698+08:00","gmt_modified":"2026-05-28T21:29:34.628199+08:00"},{"catalog_id":"8e0cd55c-9e85-4a3e-acf0-d657222593bc","title":"同步设置","description":"sync-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","gmt_create":"2026-05-28T21:31:21.190965+08:00","gmt_modified":"2026-05-28T21:31:21.193601+08:00"},{"catalog_id":"6e4574ee-0734-4d80-b89e-88e3950337e8","title":"系统设置","description":"system-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f5dbfab0-b49d-4f86-9bec-8c5d833d7193","gmt_create":"2026-05-28T21:32:05.86062+08:00","gmt_modified":"2026-05-28T21:32:05.863138+08:00"},{"catalog_id":"ef88488c-8e89-4db4-957f-cd8262dded34","title":"布局组件","description":"layout-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7ff04dc2-a695-40d1-8102-cfdd1bcbd276","gmt_create":"2026-05-28T21:32:33.64292+08:00","gmt_modified":"2026-05-28T21:32:33.645838+08:00"}],"wiki_overview":{"content":"基于我对Netcatty项目的深入分析,现在我将生成一个全面的项目概述。\n\n\u003cblog\u003e\n\n# Netcatty 项目架构分析报告\n\n## 1. 项目介绍\n\nNetcatty 是一个现代化的SSH客户端和终端管理器,专为开发者、系统管理员和DevOps工程师设计。该项目提供了一个功能丰富的跨平台应用程序,支持SSH、本地终端、Telnet、Mosh和串行连接等多种协议。\n\n### 核心目标\n- 提供统一的SSH工作空间管理\n- 支持多会话分屏操作\n- 集成SFTP文件浏览器和编辑器\n- 内置AI代理助手\n- 跨平台支持(macOS、Windows、Linux)\n\n### 目标用户\n- 系统管理员和运维工程师\n- 开发者和DevOps团队\n- 需要远程服务器管理的专业人士\n\n## 2. 技术架构\n\nNetcatty采用现代的前端技术栈和Electron桌面应用框架构建,实现了高性能的桌面应用程序体验。\n\n### 架构概览\n\n```mermaid\ngraph TD\n A[Electron Main Process] --\u003e B[React Frontend]\n A --\u003e C[IPC Bridges]\n B --\u003e D[Application State]\n B --\u003e E[Domain Models]\n B --\u003e F[Infrastructure Services]\n C --\u003e G[SSH Bridge]\n C --\u003e H[SFTP Bridge]\n C --\u003e I[Terminal Bridge]\n C --\u003e J[AI Bridge]\n D --\u003e K[Cloud Sync Manager]\n D --\u003e L[Vault State]\n D --\u003e M[Session State]\n```\n\n### 设计模式\n- **模块化架构**:清晰分离UI层、业务逻辑层和基础设施层\n- **状态管理模式**:使用React Hooks进行状态管理\n- **桥接模式**:通过IPC桥接处理与主进程的通信\n- **依赖注入**:通过工厂函数和注册器管理服务依赖\n\n## 3. 核心实现\n\n### 主要入口点\n\n#### 应用程序入口\n- **`App.tsx`** - 主应用程序组件,负责全局状态管理和组件协调\n- **`index.tsx`** - 应用程序入口点,处理路由和窗口管理\n- **`electron/main.cjs`** - Electron主进程入口,管理窗口和系统集成\n\n#### 核心模块\n\n##### 状态管理系统\n- **`application/state/useVaultState.ts`** - 保管库状态管理,处理主机、密钥、会话等数据\n- **`application/state/useSessionState.ts`** - 会话状态管理,处理终端会话和工作区\n- **`application/state/useSftpState.ts`** - SFTP状态管理,处理文件传输和目录浏览\n\n##### 域模型\n- **`domain/models/`** - 定义核心数据模型和类型定义\n- **`domain/host.ts`** - 主机配置和连接管理\n- **`domain/sshAuth.ts`** - SSH认证逻辑\n- **`domain/sync.ts`** - 同步机制和冲突解决\n\n##### 基础设施服务\n- **`infrastructure/services/CloudSyncManager.ts`** - 云同步管理器,支持多云提供商\n- **`infrastructure/services/netcattyBridge.ts`** - 应用程序桥接服务\n- **`infrastructure/persistence/`** - 数据持久化和加密存储\n\n### 配置方法\n\n#### 构建配置\n- **`vite.config.ts`** - Vite构建配置\n- **`electron-builder.config.cjs`** - 应用程序打包配置\n- **`tsconfig.json`** - TypeScript编译配置\n\n#### 环境配置\n- **`electron/.dev-config.json`** - 开发环境配置\n- **`global.d.ts`** - 全局类型声明\n\n### 外部依赖\n\n#### 核心依赖\n- **`react`** 和 **`react-dom`** - 用户界面框架\n- **`electron`** - 桌面应用框架\n- **`@xterm/xterm`** 和 **`@xterm/addon-*`** - 终端渲染和功能扩展\n- **`ssh2`** 和 **`ssh2-sftp-client`** - SSH和SFTP连接\n- **`node-pty`** - 本地终端PTY支持\n\n#### AI和代理相关\n- **`@ai-sdk/*`** - AI SDK集成\n- **`@agentclientprotocol/claude-agent-acp`** - Claude ACP协议支持\n- **`@mcpc-tech/acp-ai-provider`** - MCP AI提供程序\n\n### 集成点\n\n#### IPC桥接系统\n- **`electron/bridges/`** - 主进程与渲染进程通信桥接\n- **`electron/bridges/sshBridge.cjs`** - SSH连接桥接\n- **`electron/bridges/sftpBridge.cjs`** - SFTP操作桥接\n- **`electron/bridges/aiBridge.cjs`** - AI代理桥接\n\n#### 云同步集成\n- **`infrastructure/services/adapters/`** - 云存储适配器\n- **`GitHubAdapter.ts`** - GitHub Gist集成\n- **`WebDAVAdapter.ts`** - WebDAV存储支持\n- **`S3Adapter.ts`** - AWS S3存储支持\n\n### 组件关系图\n\n```mermaid\ngraph LR\n A[App.tsx] --\u003e B[Terminal.tsx]\n A --\u003e C[SftpView.tsx]\n A --\u003e D[VaultView.tsx]\n B --\u003e E[TerminalView.tsx]\n C --\u003e F[SftpPaneView.tsx]\n D --\u003e G[HostTreeView.tsx]\n A --\u003e H[AIChatPanelContent.tsx]\n H --\u003e I[ai/]\n I --\u003e J[aiElements/]\n```\n\n## 4. 关键特性\n\n### 功能概览\n\n#### SSH和终端管理\n- **多协议支持**:SSH、Telnet、Mosh、本地终端、串行连接\n- **会话管理**:分屏操作、标签页切换、会话恢复\n- **终端增强**:自动完成、搜索、主题定制、关键字高亮\n\n#### 文件传输和编辑\n- **SFTP浏览器**:双面板文件管理、拖放上传下载\n- **内置编辑器**:语法高亮、代码折叠、自动保存\n- **文件关联**:根据文件类型自动选择合适的编辑器\n\n#### 保管库管理\n- **主机组织**:网格、列表、树形视图\n- **分组管理**:按项目或环境组织主机\n- **凭据安全**:加密存储SSH密钥和密码\n\n#### AI代理集成\n- **自然语言交互**:通过对话管理服务器\n- **多主机操作**:同时在多个服务器上执行任务\n- **智能上下文**:理解服务器环境和配置\n\n### 实现亮点\n\n#### 状态管理架构\n- **集中式状态**:通过自定义Hook管理复杂的应用状态\n- **响应式更新**:基于React状态的自动UI更新\n- **持久化存储**:本地加密存储确保数据安全\n\n#### 性能优化\n- **虚拟滚动**:大文件列表的高效渲染\n- **懒加载**:组件和资源的按需加载\n- **缓存策略**:主机信息和连接状态的智能缓存\n\n#### 用户体验\n- **主题系统**:深色/浅色主题和自定义颜色\n- **键盘快捷键**:完整的键盘导航支持\n- **无障碍设计**:符合WCAG标准的可访问性\n\n### 特性架构图\n\n```mermaid\nstateDiagram-v2\n [*] --\u003e 初始化\n 初始化 --\u003e 连接验证\n 连接验证 --\u003e 会话建立\n 会话建立 --\u003e 终端操作\n 会话建立 --\u003e SFTP操作\n 会话建立 --\u003e AI代理交互\n \n 终端操作 --\u003e 会话管理\n SFTP操作 --\u003e 文件传输\n AI代理交互 --\u003e 任务执行\n \n 会话管理 --\u003e [*]\n 文件传输 --\u003e [*]\n 任务执行 --\u003e [*]\n```\n\n## 5. 结论和建议\n\n### 项目架构优势\n\n1. **模块化设计**:清晰的分层架构使得代码易于维护和扩展\n2. **跨平台兼容**:基于Electron的跨平台支持确保了广泛的用户覆盖\n3. **性能优化**:合理的状态管理和渲染优化提供了流畅的用户体验\n4. **安全性考虑**:本地加密存储和安全的凭据管理\n\n### 潜在改进领域\n\n1. **测试覆盖率**:可以增加更多的单元测试和集成测试\n2. **文档完善**:需要更详细的API文档和开发指南\n3. **错误处理**:可以进一步完善错误处理和用户反馈机制\n4. **性能监控**:添加性能指标监控以持续优化应用表现\n\n### 可行性建议\n\n1. **微服务化**:考虑将大型组件拆分为更小的服务模块\n2. **插件系统**:开发插件API以支持第三方扩展\n3. **云端同步**:增强云同步功能以支持更多协作场景\n4. **移动端支持**:考虑开发移动版本以支持远程管理\n\n### 下一步发展方向\n\n1. **AI功能扩展**:增强AI代理的能力,支持更多自动化任务\n2. **团队协作**:添加团队共享和权限管理功能\n3. **监控集成**:集成系统监控和告警功能\n4. **自动化运维**:开发更多自动化运维脚本和工具\n\nSources:\n- [package.json](package.json)\n- [App.tsx](App.tsx)\n- [index.tsx](index.tsx)\n- [electron/main.cjs](electron/main.cjs)\n- [README.md](README.md)\n- [electron/bridges/aiBridge.cjs](electron/bridges/aiBridge.cjs)\n- [infrastructure/services/CloudSyncManager.ts](infrastructure/services/CloudSyncManager.ts)\n- [application/state/useVaultState.ts](application/state/useVaultState.ts)\n- [components/terminal/TerminalView.tsx](components/terminal/TerminalView.tsx)\n- [components/SftpView.tsx](components/SftpView.tsx)\n\n\u003c/blog\u003e","gmt_create":"2026-05-28T20:01:39.833493+08:00","gmt_modified":"2026-05-28T20:01:39.833493+08:00","id":"c4de047c-43b7-4be3-8482-fbc8db65b4a5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3"},"wiki_readme":{"content":"No readme file","gmt_create":"2026-05-28T19:59:33.45226+08:00","gmt_modified":"2026-05-28T19:59:33.45226+08:00","id":"303605c8-f07d-493a-abc6-88ab3b33af81","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3"},"wiki_repo":{"id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"Netcatty","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── .github/\\n│ ├── scripts/\\n│ └── workflows/\\n├── application/\\n│ ├── app/\\n│ │ ├── AppHandlers.ts\\n│ │ ├── AppMounts.tsx\\n│ │ ├── AppView.tsx\\n│ │ └── useAppStartupEffects.ts\\n│ ├── i18n/\\n│ │ ├── locales/\\n│ │ │ ├── en/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── ru/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── zh-CN/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── en.ts\\n│ │ │ ├── ru.ts\\n│ │ │ ├── types.ts\\n│ │ │ └── zh-CN.ts\\n│ │ ├── I18nProvider.tsx\\n│ │ └── messages.ts\\n│ ├── state/\\n│ │ ├── sftp/\\n│ │ │ ├── bookmarkHelpers.ts\\n│ │ │ ├── errors.ts\\n│ │ │ ├── globalSftpBookmarks.ts\\n│ │ │ ├── mockLocalFiles.ts\\n│ │ │ ├── sharedRemoteHostCache.ts\\n│ │ │ ├── transferConflictOps.ts\\n│ │ │ ├── transferDirectoryOps.ts\\n│ │ │ ├── transferTaskOps.ts\\n│ │ │ ├── types.ts\\n│ │ │ ├── uploadTaskCallbacks.ts\\n│ │ │ ├── useSftpConnections.ts\\n│ │ │ ├── useSftpDirectoryListing.ts\\n│ │ │ ├── useSftpExternalOperations.ts\\n│ │ │ ├── useSftpExternalOperations.types.ts\\n│ │ │ ├── useSftpFileWatch.ts\\n│ │ │ ├── useSftpHostCredentials.test.ts\\n│ │ │ ├── useSftpHostCredentials.ts\\n│ │ │ ├── useSftpPaneActions.ts\\n│ │ │ ├── useSftpSessionCleanup.ts\\n│ │ │ ├── useSftpSessionErrors.ts\\n│ │ │ ├── useSftpTabsState.ts\\n│ │ │ ├── useSftpTransfers.ts\\n│ │ │ ├── useSftpTransfers.types.ts\\n│ │ │ ├── utils.test.ts\\n│ │ │ └── utils.ts\\n│ │ ├── activeTabStore.ts\\n│ │ ├── aiDraftState.test.ts\\n│ │ ├── aiDraftState.ts\\n│ │ ├── aiProviderCleanup.ts\\n│ │ ├── aiScopeCleanup.test.ts\\n│ │ ├── aiScopeCleanup.ts\\n│ │ ├── aiStateEvents.ts\\n│ │ ├── aiStateSnapshots.ts\\n│ │ ├── autoSyncRemoteSchedule.test.ts\\n│ │ ├── autoSyncRemoteSchedule.ts\\n│ │ ├── customThemeStore.ts\\n│ │ ├── defaultKeyPassphrases.test.ts\\n│ │ ├── editorSftpBridge.ts\\n│ │ ├── editorTabSave.test.ts\\n│ │ ├── editorTabSave.ts\\n│ │ ├── editorTabStore.test.ts\\n│ │ ├── editorTabStore.ts\\n│ │ ├── fontStore.ts\\n│ │ ├── logViewState.ts\\n│ │ ├── resolveCloseIntent.test.ts\\n│ │ ├── resolveCloseIntent.ts\\n│ │ ├── resolveSidePanelToggleIntent.test.ts\\n│ │ ├── resolveSidePanelToggleIntent.ts\\n│ │ ├── resolveSnippetsShortcutIntent.test.ts\\n│ │ ├── resolveSnippetsShortcutIntent.ts\\n│ │ ├── resolveTerminalSessionExitIntent.test.ts\\n│ │ ├── resolveTerminalSessionExitIntent.ts\\n│ │ ├── sessionActivity.ts\\n│ │ ├── sessionActivityStore.ts\\n│ │ ├── sessionFactories.ts\\n│ │ ├── settingsIpcSync.ts\\n│ │ ├── settingsStateDefaults.ts\\n│ │ ├── settingsStorageSync.ts\\n│ │ ├── settingsTerminalTheme.ts\\n│ │ ├── systemSettingsEffects.ts\\n│ │ ├── textEditorSaveCoordinator.test.ts\\n│ │ ├── textEditorSaveCoordinator.ts\\n│ │ ├── uiFontStore.ts\\n│ │ ├── uploadService.test.ts\\n│ │ ├── useAIState.ts\\n│ │ ├── useAgentDiscovery.ts\\n│ │ ├── useApplicationBackend.ts\\n│ │ ├── useAutoSync.ts\\n│ │ ├── useClipboardBackend.ts\\n│ │ ├── useCloudSync.ts\\n│ │ ├── useFileUpload.ts\\n│ │ ├── useGlobalHotkeys.ts\\n│ │ ├── useImmersiveMode.ts\\n│ │ ├── useKeychainBackend.ts\\n│ │ ├── useKnownHostsBackend.ts\\n│ │ ├── useLocalVaultBackups.ts\\n│ │ ├── useManagedSourceSync.ts\\n│ │ ├── usePortForwardingAutoStart.test.ts\\n│ │ ├── usePortForwardingAutoStart.ts\\n│ │ ├── usePortForwardingState.ts\\n│ │ ├── useSessionState.ts\\n│ │ ├── useSettingsState.ts\\n│ │ ├── useSftpBackend.ts\\n│ │ ├── useSftpFileAssociations.ts\\n│ │ ├── useSftpState.ts\\n│ │ ├── useStoredBoolean.ts\\n│ │ ├── useStoredNumber.ts\\n│ │ ├── useStoredString.ts\\n│ │ ├── useStoredViewMode.ts\\n│ │ ├── useTerminalBackend.ts\\n│ │ ├── useTrayPanelBackend.ts\\n│ │ ├── useTreeExpandedState.ts\\n│ │ ├── useUpdateCheck.ts\\n│ │ ├── useVaultState.ts\\n│ │ ├── useWindowControls.ts\\n│ │ └── windowInputFocus.ts\\n│ ├── defaultKeyPassphrases.ts\\n│ ├── localVaultBackups.ts\\n│ ├── notification.ts\\n│ ├── syncPayload.test.ts\\n│ └── syncPayload.ts\\n├── build/\\n├── components/\\n│ ├── ai/\\n│ │ ├── hooks/\\n│ │ │ ├── aiChatStreamingSupport.ts\\n│ │ │ ├── useAIChatStreaming.ts\\n│ │ │ └── useConversationExport.ts\\n│ │ ├── AgentIconBadge.tsx\\n│ │ ├── AgentSelector.tsx\\n│ │ ├── ChatInput.tsx\\n│ │ ├── ChatMessageList.tsx\\n│ │ ├── ConversationExport.tsx\\n│ │ ├── ThinkingBlock.tsx\\n│ │ ├── acpHistory.test.ts\\n│ │ ├── acpHistory.ts\\n│ │ ├── agentSendEligibility.test.ts\\n│ │ ├── agentSendEligibility.ts\\n│ │ ├── aiPanelViewState.test.ts\\n│ │ ├── aiPanelViewState.ts\\n│ │ ├── claudeConfigEnv.test.ts\\n│ │ ├── draftSendGate.test.ts\\n│ │ ├── draftSendGate.ts\\n│ │ ├── managedAgentState.test.ts\\n│ │ ├── sessionHistoryLayout.test.ts\\n│ │ ├── sessionHistoryLayout.ts\\n│ │ ├── sessionScopeMatch.test.ts\\n│ │ ├── sessionScopeMatch.ts\\n│ │ ├── streamdownCodeHighlighter.test.ts\\n│ │ ├── userSkillsState.test.ts\\n│ │ └── userSkillsState.ts\\n│ ├── ai-elements/\\n│ │ ├── conversation.tsx\\n│ │ ├── message.tsx\\n│ │ ├── prompt-input.tsx\\n│ │ ├── streamdownCodeHighlighter.ts\\n│ │ └── tool-call.tsx\\n│ ├── cloud-sync/\\n│ │ ├── CloudSyncControls.tsx\\n│ │ ├── CloudSyncDashboardTabs.tsx\\n│ │ ├── CloudSyncDialogs.tsx\\n│ │ └── CloudSyncLocalBackupsPanel.tsx\\n│ ├── editor/\\n│ │ ├── TextEditorPane.test.tsx\\n│ │ ├── TextEditorPane.tsx\\n│ │ ├── TextEditorTabView.tsx\\n│ │ └── UnsavedChangesDialog.tsx\\n│ ├── host-details/\\n│ │ ├── AlgorithmOverridesPanel.tsx\\n│ │ ├── ChainPanel.tsx\\n│ │ ├── CreateGroupPanel.tsx\\n│ │ ├── EnvVarsPanel.tsx\\n│ │ ├── ProxyPanel.tsx\\n│ │ └── index.ts\\n│ ├── keychain/\\n│ │ ├── GenerateStandardPanel.tsx\\n│ │ ├── IdentityCard.tsx\\n│ │ ├── IdentityPanel.tsx\\n│ │ ├── ImportKeyPanel.tsx\\n│ │ ├── KeyCard.tsx\\n│ │ ├── ViewKeyPanel.tsx\\n│ │ ├── index.ts\\n│ │ └── utils.ts\\n│ ├── port-forwarding/\\n│ │ ├── EditPanel.tsx\\n│ │ ├── NewFormPanel.tsx\\n│ │ ├── RuleCard.tsx\\n│ │ ├── WizardContent.tsx\\n│ │ ├── index.ts\\n│ │ └── utils.tsx\\n│ ├── settings/\\n│ │ ├── tabs/\\n│ │ │ ├── ai/\\n│ │ │ │ ├── AddProviderDropdown.tsx\\n│ │ │ │ ├── ClaudeCodeCard.tsx\\n│ │ │ │ ├── CodexConnectionCard.tsx\\n│ │ │ │ ├── CopilotCliCard.tsx\\n│ │ │ │ ├── ModelSelector.tsx\\n│ │ │ │ ├── ProviderCard.tsx\\n│ │ │ │ ├── ProviderConfigForm.tsx\\n│ │ │ │ ├── ProviderIconBadge.tsx\\n│ │ │ │ ├── SafetySettings.tsx\\n│ │ │ │ ├── WebSearchSettings.tsx\\n│ │ │ │ ├── claudeConfigEnv.ts\\n│ │ │ │ ├── managedAgentState.ts\\n│ │ │ │ └── types.ts\\n│ │ │ ├── SettingsAITab.tsx\\n│ │ │ ├── SettingsAppearanceTab.tsx\\n│ │ │ ├── SettingsFileAssociationsTab.tsx\\n│ │ │ ├── SettingsShortcutsTab.tsx\\n│ │ │ ├── SettingsSyncTab.tsx\\n│ │ │ ├── SettingsSystemTab.tsx\\n│ │ │ ├── SettingsTerminalTab.tsx\\n│ │ │ ├── SettingsTerminalTabControls.tsx\\n│ │ │ └── TerminalBehaviorSettings.tsx\\n│ │ ├── FontSelect.tsx\\n│ │ ├── TerminalCjkFontSelect.tsx\\n│ │ ├── TerminalFontSelect.tsx\\n│ │ ├── ThemeSelectModal.tsx\\n│ │ └── settings-ui.tsx\\n│ ├── sftp/\\n│ │ ├── hooks/\\n│ │ │ ├── selectionScope.ts\\n│ │ │ ├── useGlobalSftpBookmarks.ts\\n│ │ │ ├── useLocalSftpBookmarks.ts\\n│ │ │ ├── useSftpBookmarks.ts\\n│ │ │ ├── useSftpClipboard.ts\\n│ │ │ ├── useSftpDialogAction.ts\\n│ │ │ ├── useSftpFocusedPane.ts\\n│ │ │ ├── useSftpHostViewMode.ts\\n│ │ │ ├── useSftpKeyboardShortcuts.ts\\n│ │ │ ├── useSftpListOrderStore.ts\\n│ │ │ ├── useSftpPaneDialogs.ts\\n│ │ │ ├── useSftpPaneDragAndSelect.ts\\n│ │ │ ├── useSftpPaneFiles.ts\\n│ │ │ ├── useSftpPanePath.ts\\n│ │ │ ├── useSftpPaneSorting.ts\\n│ │ │ ├── useSftpPaneVirtualList.ts\\n│ │ │ ├── useSftpTreeSelectionStore.ts\\n│ │ │ ├── useSftpViewFileOps.ts\\n│ │ │ ├── useSftpViewFileOps.types.ts\\n│ │ │ ├── useSftpViewPaneActions.ts\\n│ │ │ ├── useSftpViewPaneCallbacks.ts\\n│ │ │ └── useSftpViewTabs.ts\\n│ │ ├── SftpBreadcrumb.tsx\\n│ │ ├── SftpConflictDialog.tsx\\n│ │ ├── SftpContext.tsx\\n│ │ ├── SftpFileRow.tsx\\n│ │ ├── SftpHostPicker.tsx\\n│ │ ├── SftpMoveToDialog.tsx\\n│ │ ├── SftpOverlays.tsx\\n│ │ ├── SftpPaneDialogs.tsx\\n│ │ ├── SftpPaneEmptyState.tsx\\n│ │ ├── SftpPaneFileList.tsx\\n│ │ ├── SftpPaneToolbar.tsx\\n│ │ ├── SftpPaneTreeNode.tsx\\n│ │ ├── SftpPaneTreeView.tsx\\n│ │ ├── SftpPaneTreeView.types.ts\\n│ │ ├── SftpPaneView.tsx\\n│ │ ├── SftpPermissionsDialog.tsx\\n│ │ ├── SftpTabBar.tsx\\n│ │ ├── SftpTransferItem.tsx\\n│ │ ├── SftpTransferQueue.tsx\\n│ │ ├── index.ts\\n│ │ ├── sftpTreePathsReducer.ts\\n│ │ ├── sftpUploadMenu.ts\\n│ │ ├── useSftpPaneTreeContextMenu.tsx\\n│ │ ├── useSftpPaneTreeRows.tsx\\n│ │ └── utils.ts\\n│ ├── sync/\\n│ │ └── SyncBlockedBanner.tsx\\n│ ├── terminal/\\n│ │ ├── autocomplete/\\n│ │ │ ├── AutocompletePopup.tsx\\n│ │ │ ├── GhostTextAddon.ts\\n│ │ │ ├── commandHistoryStore.ts\\n│ │ │ ├── completionEngine.ts\\n│ │ │ ├── figSpecLoader.ts\\n│ │ │ ├── ghostSuggestionPolicy.ts\\n│ │ │ ├── ghostTextConsistency.ts\\n│ │ │ ├── index.ts\\n│ │ │ ├── livePreviewSequence.ts\\n│ │ │ ├── promptDetector.ts\\n│ │ │ ├── promptDetectorPatterns.ts\\n│ │ │ ├── remotePathCompleter.ts\\n│ │ │ ├── snippetCompleter.ts\\n│ │ │ ├── terminalAutocompleteInput.ts\\n│ │ │ ├── terminalAutocompleteKeyEvent.ts\\n│ │ │ ├── terminalAutocompleteLayout.ts\\n│ │ │ ├── terminalAutocompletePrompt.ts\\n│ │ │ ├── useTerminalAutocomplete.ts\\n│ │ │ └── xtermUtils.ts\\n│ │ ├── hooks/\\n│ │ │ ├── useServerStats.ts\\n│ │ │ ├── useTerminalAuthState.ts\\n│ │ │ ├── useTerminalContextActions.ts\\n│ │ │ ├── useTerminalDragDrop.ts\\n│ │ │ ├── useTerminalSearch.ts\\n│ │ │ └── useZmodemTransfer.ts\\n│ │ ├── runtime/\\n│ │ │ ├── altKeyOptions.test.ts\\n│ │ │ ├── altKeyOptions.ts\\n│ │ │ ├── createTerminalSessionStarters.mosh.test.ts\\n│ │ │ ├── createTerminalSessionStarters.telnet.test.ts\\n│ │ │ ├── createTerminalSessionStarters.test.ts\\n│ │ │ ├── createTerminalSessionStarters.ts\\n│ │ │ ├── createTerminalSessionStarters.types.ts\\n│ │ │ ├── createXTermRuntime.test.ts\\n│ │ │ ├── createXTermRuntime.ts\\n│ │ │ ├── cursorPreference.test.ts\\n│ │ │ ├── cursorPreference.ts\\n│ │ │ ├── kittyKeyboardProtocol.test.ts\\n│ │ │ ├── kittyKeyboardProtocol.ts\\n│ │ │ ├── kittyKeyboardRuntime.ts\\n│ │ │ ├── optionArrowWordJump.test.ts\\n│ │ │ ├── optionArrowWordJump.ts\\n│ │ │ ├── outputFlowController.test.ts\\n│ │ │ ├── outputFlowController.ts\\n│ │ │ ├── promptLineBreak.test.ts\\n│ │ │ ├── promptLineBreak.ts\\n│ │ │ ├── rendererDprWatch.test.ts\\n│ │ │ ├── rendererDprWatch.ts\\n│ │ │ ├── serialLineInput.test.ts\\n│ │ │ ├── serialLineInput.ts\\n│ │ │ ├── terminalCommandExecution.ts\\n│ │ │ ├── terminalDistroDetection.ts\\n│ │ │ ├── terminalSessionAttachment.ts\\n│ │ │ ├── terminalStartupCommands.ts\\n│ │ │ ├── terminalUserPaste.test.ts\\n│ │ │ └── terminalUserPaste.ts\\n│ │ ├── CustomThemeEditor.tsx\\n│ │ ├── CustomThemeModal.tsx\\n│ │ ├── GhostSuggestionPolicy.test.ts\\n│ │ ├── GhostTextAddon.test.ts\\n│ │ ├── HostKeywordHighlightPopover.tsx\\n│ │ ├── PromptDetector.fallback.test.ts\\n│ │ ├── PromptDetector.test.ts\\n│ │ ├── TerminalAuthDialog.tsx\\n│ │ ├── TerminalAutocomplete.tsx\\n│ │ ├── TerminalComposeBar.tsx\\n│ │ ├── TerminalConnectionDialog.test.ts\\n│ │ ├── TerminalConnectionDialog.tsx\\n│ │ ├── TerminalConnectionProgress.tsx\\n│ │ ├── TerminalContextMenu.test.ts\\n│ │ ├── TerminalContextMenu.tsx\\n│ │ ├── TerminalHostKeyVerification.tsx\\n│ │ ├── TerminalSearchBar.tsx\\n│ │ ├── TerminalToolbar.test.ts\\n│ │ ├── TerminalToolbar.tsx\\n│ │ ├── TerminalView.tsx\\n│ │ ├── ThemeCustomizeModal.tsx\\n│ │ ├── ThemeSidePanel.tsx\\n│ │ ├── ZmodemOverwriteDialog.tsx\\n│ │ ├── ZmodemProgressIndicator.tsx\\n│ │ ├── clearTerminalViewport.ts\\n│ │ ├── completionEngine.test.ts\\n│ │ ├── completionEngineSnippets.test.ts\\n│ │ ├── completionGate.test.ts\\n│ │ ├── connectionLogBuffer.test.ts\\n│ │ ├── connectionLogBuffer.ts\\n│ │ ├── focusTerminalSession.test.ts\\n│ │ ├── focusTerminalSession.ts\\n│ │ ├── ghostTextConsistency.test.ts\\n│ │ ├── hostKeyVerification.test.ts\\n│ │ ├── hostKeyVerification.ts\\n│ │ ├── keywordHighlight.ts\\n│ │ ├── livePreviewSequence.test.ts\\n│ │ ├── replaySafeTerminalLog.test.ts\\n│ │ ├── replaySafeTerminalLog.ts\\n│ │ ├── sftpCwd.test.ts\\n│ │ ├── sftpCwd.ts\\n│ │ ├── snippetCompleter.test.ts\\n│ │ ├── terminalHelpers.ts\\n│ │ ├── toolbarFocus.test.ts\\n│ │ ├── toolbarFocus.ts\\n│ │ ├── useTerminalContextActions.test.ts\\n│ │ └── useTerminalEffects.ts\\n│ ├── terminalLayer/\\n│ │ ├── TerminalLayerSupport.tsx\\n│ │ ├── TerminalLayerView.tsx\\n│ │ ├── useTerminalAiContexts.ts\\n│ │ ├── useTerminalFocusSidebar.tsx\\n│ │ ├── useTerminalLayerEffects.ts\\n│ │ ├── useTerminalThemePanelState.ts\\n│ │ └── useTerminalWorkspaceLayout.ts\\n│ ├── top-tabs/\\n│ │ └── TopTabItems.tsx\\n│ ├── ui/\\n│ │ ├── aside-panel.tsx\\n│ │ ├── badge.tsx\\n│ │ ├── button.tsx\\n│ │ ├── card.tsx\\n│ │ ├── collapsible.tsx\\n│ │ ├── combobox.tsx\\n│ │ ├── context-menu.tsx\\n│ │ ├── dialog.tsx\\n│ │ ├── dropdown.tsx\\n│ │ ├── hover-card.tsx\\n│ │ ├── input-group.tsx\\n│ │ ├── input.tsx\\n│ │ ├── label.tsx\\n│ │ ├── popover.tsx\\n│ │ ├── ripple.tsx\\n│ │ ├── scroll-area.tsx\\n│ │ ├── select.tsx\\n│ │ ├── sort-dropdown.tsx\\n│ │ ├── spinner.tsx\\n│ │ ├── switch.tsx\\n│ │ ├── tabs.tsx\\n│ │ ├── tag-filter-dropdown.tsx\\n│ │ ├── textarea.tsx\\n│ │ ├── toast.tsx\\n│ │ └── tooltip.tsx\\n│ ├── vault/\\n│ │ ├── ImportVaultDialog.tsx\\n│ │ ├── VaultHostListSection.tsx\\n│ │ ├── VaultViewLayout.tsx\\n│ │ ├── useVaultGroupDragHandlers.ts\\n│ │ ├── useVaultHostCollections.tsx\\n│ │ └── useVaultImportHandlers.ts\\n│ ├── workspace/\\n│ │ └── AddToWorkspaceDialog.tsx\\n│ ├── AIChatPanelContent.tsx\\n│ ├── AIChatSessionHistoryDrawer.tsx\\n│ ├── AIChatSidePanel.tsx\\n│ ├── AIChatSidePanel.types.ts\\n│ ├── AIChatSidePanelHelpers.ts\\n│ ├── AppLogo.tsx\\n│ ├── CloudSyncSettings.tsx\\n│ ├── ConnectionLogsManager.tsx\\n│ ├── CreateWorkspaceDialog.tsx\\n│ ├── DistroAvatar.tsx\\n│ ├── FileOpenerDialog.tsx\\n│ ├── GroupDetailsPanel.tsx\\n│ ├── GroupSshSettingsSection.tsx\\n│ ├── HostDetailsAdvancedSections.tsx\\n│ ├── HostDetailsConnectionSections.tsx\\n│ ├── HostDetailsPanel.helpers.ts\\n│ ├── HostDetailsPanel.proxyProfile.test.tsx\\n│ ├── HostDetailsPanel.tsx\\n│ ├── HostTreeView.test.tsx\\n│ ├── HostTreeView.tsx\\n│ ├── KeyboardInteractiveModal.tsx\\n│ ├── KeychainEditPanel.tsx\\n│ ├── KeychainExportPanel.tsx\\n│ ├── KeychainManager.tsx\\n│ ├── KnownHostsManager.tsx\\n│ ├── LogView.tsx\\n│ ├── PassphraseModal.tsx\\n│ ├── PortForwardingNew.tsx\\n│ ├── ProtocolSelectDialog.tsx\\n│ ├── ProxyPanel.test.tsx\\n│ ├── ProxyProfilesManager.test.tsx\\n│ ├── ProxyProfilesManager.tsx\\n│ ├── QuickAddSnippetDialog.tsx\\n│ ├── QuickConnectWizard.tsx\\n│ ├── QuickSwitcher.tsx\\n│ ├── ScriptsSidePanel.tsx\\n│ ├── SelectHostPanel.tsx\\n│ ├── SerialConnectModal.tsx\\n│ ├── SerialHostDetailsPanel.tsx\\n│ ├── SettingsApplicationTab.tsx\\n│ ├── SettingsPage.tsx\\n│ ├── SftpPaneFileList.test.tsx\\n│ ├── SftpSidePanel.tsx\\n│ ├── SftpTransferItem.test.tsx\\n│ ├── SftpView.tsx\\n│ ├── SnippetsHistoryItem.tsx\\n│ ├── SnippetsManager.tsx\\n│ ├── SnippetsPackageDialogs.tsx\\n│ ├── SnippetsRightPanel.tsx\\n│ ├── SyncStatusButton.tsx\\n│ ├── Terminal.tsx\\n│ ├── TerminalLayer.memo.test.tsx\\n│ ├── TerminalLayer.tsx\\n│ ├── TextEditorModal.test.tsx\\n│ ├── TextEditorModal.tsx\\n│ ├── ThemeList.tsx\\n│ ├── ThemeSelectPanel.tsx\\n│ ├── TopTabs.tsx\\n│ ├── TrafficDiagram.tsx\\n│ ├── TrayPanel.tsx\\n│ ├── VaultView.memo.test.tsx\\n│ ├── VaultView.sortPersistence.test.tsx\\n│ ├── VaultView.tsx\\n│ ├── terminalLayerMemo.ts\\n│ ├── terminalPaneVisibility.test.tsx\\n│ ├── terminalPaneVisibility.ts\\n│ ├── terminalTopTabsTheme.test.ts\\n│ └── terminalTopTabsTheme.ts\\n├── domain/\\n│ ├── models/\\n│ │ ├── connection.ts\\n│ │ ├── history.ts\\n│ │ ├── keyBindings.ts\\n│ │ ├── portForwarding.ts\\n│ │ ├── sftp.ts\\n│ │ ├── terminal.ts\\n│ │ └── workspace.ts\\n│ ├── vaultImport/\\n│ │ ├── csvExport.ts\\n│ │ └── csvUtils.ts\\n│ ├── connectionLog.test.ts\\n│ ├── connectionLog.ts\\n│ ├── credentials.ts\\n│ ├── customKeyBindings.test.ts\\n│ ├── customKeyBindings.ts\\n│ ├── groupConfig.test.ts\\n│ ├── groupConfig.ts\\n│ ├── host.test.ts\\n│ ├── host.ts\\n│ ├── keywordHighlight.test.ts\\n│ ├── knownHosts.test.ts\\n│ ├── knownHosts.ts\\n│ ├── models.test.ts\\n│ ├── models.ts\\n│ ├── proxyProfiles.test.ts\\n│ ├── proxyProfiles.ts\\n│ ├── quickConnect.ts\\n│ ├── sshAlgorithmList.test.ts\\n│ ├── sshAlgorithmList.ts\\n│ ├── sshAuth.test.ts\\n│ ├── sshAuth.ts\\n│ ├── sshConfigSerializer.test.ts\\n│ ├── sshConfigSerializer.ts\\n│ ├── sync.ts\\n│ ├── syncGuards.test.ts\\n│ ├── syncGuards.ts\\n│ ├── syncMerge.test.ts\\n│ ├── syncMerge.ts\\n│ ├── terminalAppearance.test.ts\\n│ ├── terminalAppearance.ts\\n│ ├── terminalScroll.ts\\n│ ├── terminalSettings.test.ts\\n│ ├── vaultImport.test.ts\\n│ ├── vaultImport.ts\\n│ ├── workspace.test.ts\\n│ └── workspace.ts\\n├── electron/\\n│ ├── bridges/\\n│ │ ├── ai/\\n│ │ │ ├── acpModels.cjs\\n│ │ │ ├── acpModels.test.cjs\\n│ │ │ ├── claudeAuth.cjs\\n│ │ │ ├── claudeAuth.test.cjs\\n│ │ │ ├── codexHelpers.cjs\\n│ │ │ ├── codexHelpers.test.cjs\\n│ │ │ ├── ptyExec.cjs\\n│ │ │ ├── ptyExec.test.cjs\\n│ │ │ ├── ptyExecHelpers.cjs\\n│ │ │ ├── shellUtils.cjs\\n│ │ │ ├── shellUtils.test.cjs\\n│ │ │ ├── userSkills.cjs\\n│ │ │ └── userSkills.test.cjs\\n│ │ ├── aiBridge/\\n│ │ │ ├── acpHandlers.cjs\\n│ │ │ ├── agentCliHelpers.cjs\\n│ │ │ ├── agentDiscoveryHandlers.cjs\\n│ │ │ ├── agentProcessHandlers.cjs\\n│ │ │ ├── cattyExecHandlers.cjs\\n│ │ │ └── providerHandlers.cjs\\n│ │ ├── mcpServerBridge/\\n│ │ │ ├── backgroundJobs.cjs\\n│ │ │ ├── configAndCleanup.cjs\\n│ │ │ ├── execHandlers.cjs\\n│ │ │ └── sftpHandlers.cjs\\n│ │ ├── sftpBridge/\\n│ │ │ ├── fileOps.cjs\\n│ │ │ └── openConnection.cjs\\n│ │ ├── sshBridge/\\n│ │ │ ├── execCommand.cjs\\n│ │ │ ├── sessionOps.cjs\\n│ │ │ └── startSession.cjs\\n│ │ ├── terminalBridge/\\n│ │ │ ├── moshSession.cjs\\n│ │ │ ├── pathValidation.cjs\\n│ │ │ └── telnetSession.cjs\\n│ │ ├── windowManager/\\n│ │ │ ├── backgroundColor.cjs\\n│ │ │ ├── externalWindows.cjs\\n│ │ │ ├── mainWindow.cjs\\n│ │ │ └── settingsWindow.cjs\\n│ │ ├── aiBridge.acpRecovery.test.cjs\\n│ │ ├── aiBridge.acpStream.test.cjs\\n│ │ ├── aiBridge.cjs\\n│ │ ├── aiBridge.test.cjs\\n│ │ ├── autoUpdateBridge.cjs\\n│ │ ├── boringSslDhCompat.cjs\\n│ │ ├── boringSslDhCompat.test.cjs\\n│ │ ├── cloudSyncBridge.cjs\\n│ │ ├── cloudSyncBridge.s3Checksum.test.cjs\\n│ │ ├── cloudSyncBridge.webdavBasicAuth.test.cjs\\n│ │ ├── compressUploadBridge.cjs\\n│ │ ├── crashLogBridge.cjs\\n│ │ ├── credentialBridge.cjs\\n│ │ ├── fileWatcherBridge.cjs\\n│ │ ├── githubAuthBridge.cjs\\n│ │ ├── globalShortcutBridge.cjs\\n│ │ ├── globalShortcutBridge.test.cjs\\n│ │ ├── googleAuthBridge.cjs\\n│ │ ├── hostKeyVerifier.cjs\\n│ │ ├── hostKeyVerifier.test.cjs\\n│ │ ├── ipcUtils.cjs\\n│ │ ├── keyboardInteractiveHandler.cjs\\n│ │ ├── localFsBridge.cjs\\n│ │ ├── localFsBridge.test.cjs\\n│ │ ├── mainProcessErrorGuards.test.cjs\\n│ │ ├── mcpServerBridge.cjs\\n│ │ ├── moshHandshake.cjs\\n│ │ ├── moshHandshake.test.cjs\\n│ │ ├── netcattyAgent.cjs\\n│ │ ├── oauthBridge.cjs\\n│ │ ├── oauthBridge.test.cjs\\n│ │ ├── onedriveAuthBridge.cjs\\n│ │ ├── passphraseHandler.cjs\\n│ │ ├── portForwardingBridge.cancel.test.cjs\\n│ │ ├── portForwardingBridge.cjs\\n│ │ ├── processErrorGuards.cjs\\n│ │ ├── proxyUtils.cjs\\n│ │ ├── ptyOutputBuffer.cjs\\n│ │ ├── ptyOutputBuffer.test.cjs\\n│ │ ├── ptyProcessTree.cjs\\n│ │ ├── ptyProcessTree.test.cjs\\n│ │ ├── sessionLogStreamManager.cjs\\n│ │ ├── sessionLogStreamManager.test.cjs\\n│ │ ├── sessionLogsBridge.cjs\\n│ │ ├── sessionLogsBridge.test.cjs\\n│ │ ├── sftpBridge.cjs\\n│ │ ├── sftpBridge.cleanup.test.cjs\\n│ │ ├── shellDiscovery.cjs\\n│ │ ├── sshAlgorithms.cjs\\n│ │ ├── sshAlgorithms.test.cjs\\n│ │ ├── sshAuthHelper.cjs\\n│ │ ├── sshAuthHelper.identityFile.test.cjs\\n│ │ ├── sshAuthHelper.kbdInteractive.test.cjs\\n│ │ ├── sshBridge.cjs\\n│ │ ├── sshBridge.execCommandPassphrase.test.cjs\\n│ │ ├── sshBridgeDebug.test.cjs\\n│ │ ├── sshIdentificationCompatibility.test.cjs\\n│ │ ├── tcpNoDelay.cjs\\n│ │ ├── telnetAutoLogin.cjs\\n│ │ ├── telnetAutoLogin.test.cjs\\n│ │ ├── telnetProtocol.cjs\\n│ │ ├── telnetProtocol.test.cjs\\n│ │ ├── tempDirBridge.cjs\\n│ │ ├── terminalBridge.bareMoshClient.test.cjs\\n│ │ ├── terminalBridge.bundledMosh.test.cjs\\n│ │ ├── terminalBridge.cjs\\n│ │ ├── terminalBridge.moshHandshakeSession.test.cjs\\n│ │ ├── terminalBridge.telnetAutoLogin.test.cjs\\n│ │ ├── terminalLogSanitizer.cjs\\n│ │ ├── terminalLogSanitizer.test.cjs\\n│ │ ├── transferBridge.cjs\\n│ │ ├── vaultBackupBridge.cjs\\n│ │ ├── vaultBackupBridge.test.cjs\\n│ │ ├── windowManager.cjs\\n│ │ ├── windowManagerReadiness.test.cjs\\n│ │ ├── x11Forwarding.cjs\\n│ │ ├── x11Forwarding.test.cjs\\n│ │ ├── zmodemHelper.cjs\\n│ │ └── zmodemHelper.test.cjs\\n│ ├── cli/\\n│ │ ├── discoveryPath.cjs\\n│ │ ├── netcatty-tool-cli.cjs\\n│ │ ├── netcatty-tool-cli.cmd\\n│ │ └── netcattyRpcClient.cjs\\n│ ├── main/\\n│ │ └── registerBridges.cjs\\n│ ├── mcp/\\n│ │ └── netcatty-mcp-server.cjs\\n│ ├── preload/\\n│ │ └── api.cjs\\n│ ├── specs/\\n│ │ ├── awk.js\\n│ │ ├── journalctl.js\\n│ │ └── yum.js\\n│ ├── .dev-config.json\\n│ ├── entitlements.mac.plist\\n│ ├── launch.cjs\\n│ ├── main.cjs\\n│ └── preload.cjs\\n├── infrastructure/\\n│ ├── ai/\\n│ │ ├── cattyAgent/\\n│ │ │ ├── executor.ts\\n│ │ │ ├── safety.ts\\n│ │ │ └── systemPrompt.ts\\n│ │ ├── sdk/\\n│ │ │ ├── providers.ts\\n│ │ │ └── tools.ts\\n│ │ ├── shared/\\n│ │ │ ├── approvalGate.ts\\n│ │ │ ├── sessionExecutionQueue.ts\\n│ │ │ ├── streamStateErrors.ts\\n│ │ │ ├── toolExecutors.ts\\n│ │ │ └── webSearchProviders.ts\\n│ │ ├── acpAgentAdapter.test.ts\\n│ │ ├── acpAgentAdapter.ts\\n│ │ ├── agentOutputParser.ts\\n│ │ ├── commandBlocklist.test.ts\\n│ │ ├── conversationExport.ts\\n│ │ ├── errorClassifier.test.ts\\n│ │ ├── errorClassifier.ts\\n│ │ ├── externalAgentAdapter.ts\\n│ │ ├── managedAgents.test.ts\\n│ │ ├── managedAgents.ts\\n│ │ ├── modelDiscoveryHeaders.test.ts\\n│ │ ├── modelDiscoveryHeaders.ts\\n│ │ ├── providerContinuation.test.ts\\n│ │ ├── providerContinuation.ts\\n│ │ ├── providerStyle.test.ts\\n│ │ ├── providersBridgeFetch.test.ts\\n│ │ ├── sdkProviders.test.ts\\n│ │ ├── sessionExecutionQueue.test.ts\\n│ │ ├── streamStateErrors.test.ts\\n│ │ └── types.ts\\n│ ├── config/\\n│ │ ├── terminalThemes/\\n│ │ │ ├── classic.ts\\n│ │ │ ├── core.ts\\n│ │ │ ├── extra.ts\\n│ │ │ ├── modern.ts\\n│ │ │ └── uiMatch.ts\\n│ │ ├── cjkFonts.test.ts\\n│ │ ├── cjkFonts.ts\\n│ │ ├── defaultData.ts\\n│ │ ├── fonts.test.ts\\n│ │ ├── fonts.ts\\n│ │ ├── i18n.ts\\n│ │ ├── storageKeys.ts\\n│ │ ├── terminalThemes.ts\\n│ │ ├── uiFonts.ts\\n│ │ ├── uiThemes.ts\\n│ │ └── xtermPerformance.ts\\n│ ├── parsers/\\n│ │ └── itermcolorsParser.ts\\n│ ├── persistence/\\n│ │ ├── localStorageAdapter.ts\\n│ │ └── secureFieldAdapter.ts\\n│ ├── services/\\n│ │ ├── adapters/\\n│ │ │ ├── GitHubAdapter.ts\\n│ │ │ ├── GoogleDriveAdapter.ts\\n│ │ │ ├── OneDriveAdapter.ts\\n│ │ │ ├── S3Adapter.ts\\n│ │ │ ├── WebDAVAdapter.ts\\n│ │ │ └── index.ts\\n│ │ ├── cloudSync/\\n│ │ │ ├── authMethods.ts\\n│ │ │ ├── providerSyncMethods.ts\\n│ │ │ ├── stateAndSecurityMethods.ts\\n│ │ │ └── syncAllStorageMethods.ts\\n│ │ ├── CloudSyncManager.ts\\n│ │ ├── EncryptionService.ts\\n│ │ ├── compressUploadService.ts\\n│ │ ├── credentialProtection.ts\\n│ │ ├── netcattyBridge.ts\\n│ │ ├── portForwardingService.ts\\n│ │ ├── syncAnchorDecision.js\\n│ │ ├── syncAnchorDecision.test.mjs\\n│ │ ├── syncSignature.js\\n│ │ ├── syncSignature.test.mjs\\n│ │ └── updateService.ts\\n│ └── syncHelpers.ts\\n├── lib/\\n│ ├── commandBlocklist.cjs\\n│ ├── commandBlocklist.json\\n│ ├── fontAvailability.test.ts\\n│ ├── fontAvailability.ts\\n│ ├── localFonts.test.ts\\n│ ├── localFonts.ts\\n│ ├── localShell.cjs\\n│ ├── localShell.test.ts\\n│ ├── localShell.ts\\n│ ├── localShellRules.json\\n│ ├── logger.ts\\n│ ├── sftpFileUtils.ts\\n│ ├── tabInteractions.test.ts\\n│ ├── tabInteractions.ts\\n│ ├── uploadCompressed.ts\\n│ ├── uploadController.ts\\n│ ├── uploadService.ts\\n│ ├── uploadService.types.ts\\n│ ├── useDiscoveredShells.ts\\n│ ├── useInstantThemeSwitch.ts\\n│ ├── useRenderTracker.ts\\n│ └── utils.ts\\n├── patches/\\n│ └── ssh2+1.17.0.patch\\n├── public/\\n│ ├── ai/\\n│ │ ├── agents/\\n│ │ ├── providers/\\n│ │ │ └── NOTICE.md\\n│ │ └── search/\\n│ ├── distro/\\n│ ├── fonts/\\n│ │ ├── SarasaMono-LICENSE.txt\\n│ │ └── SymbolsNerdFont-LICENSE.txt\\n│ ├── import/\\n│ └── shells/\\n├── resources/mosh/\\n│ └── README.md\\n├── screenshots/\\n│ └── gifs/\\n├── scripts/\\n│ ├── build-mosh/\\n│ │ ├── build-linux.sh\\n│ │ ├── build-macos.sh\\n│ │ └── fetch-windows.sh\\n│ ├── afterPackMacUuid.cjs\\n│ ├── afterPackMacUuid.test.cjs\\n│ ├── copy-monaco.cjs\\n│ ├── electron-builder-config.test.cjs\\n│ ├── ensure-node-pty-linux.sh\\n│ ├── fetch-mosh-binaries.cjs\\n│ ├── fetch-mosh-binaries.test.cjs\\n│ ├── generate-tray-ico.py\\n│ ├── mosh-extra-resources.cjs\\n│ ├── mosh-extra-resources.test.cjs\\n│ ├── patch-xterm-webgl-atlas.cjs\\n│ ├── resolve-mosh-bin-release.cjs\\n│ ├── resolve-mosh-bin-release.test.cjs\\n│ └── verify-linux-deb-artifact.sh\\n├── skills/netcatty-tool-cli/\\n│ ├── references/\\n│ │ ├── control-commands.md\\n│ │ ├── errors.md\\n│ │ ├── exec.md\\n│ │ ├── session-types.md\\n│ │ └── sftp.md\\n│ └── SKILL.md\\n├── types/global/\\n│ ├── netcatty-bridge-ai.d.ts\\n│ ├── netcatty-bridge-app.d.ts\\n│ ├── netcatty-bridge-files.d.ts\\n│ ├── netcatty-bridge-session.d.ts\\n│ ├── netcatty-bridge-sftp.d.ts\\n│ └── netcatty-bridge-sync.d.ts\\n├── .gitattributes\\n├── .gitignore\\n├── .npmrc\\n├── AGENTS.md\\n├── App.tsx\\n├── README.ja-JP.md\\n├── README.md\\n├── README.zh-CN.md\\n├── electron-builder.config.cjs\\n├── eslint.config.js\\n├── global.d.ts\\n├── index.css\\n├── index.html\\n├── index.tsx\\n├── metadata.json\\n├── package-lock.json\\n├── package.json\\n├── tsconfig.json\\n├── types.ts\\n└── vite.config.ts\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted:D1UaNeYVFOE5w72SKQXWqNgpRwhcQ4navysli57nrdEkE6tyHa0o+MK7u68KopaVbHlKJg2HJn0X3G/zkBI5xR2ZiTTLZmRQxRlZO5epFGlppt69q3fSG9dKeI83oL1ptl9y5s65HqzhEX01JkA2f/OWzW/pSg+LIQghya+xP4ze3igxtUNV5oMAE/Y4SyNjKdi9F0Th9sBfbuNSABv+kJNKY668aFxlVOFD7SiUv7dVRk9nH60ya1H5r1UJFDGKXE9+53ksM6EBGdNyIsTRcKAxW4/A3A9twTxfmQjNUIOs29+ydVwaD87zhjPaSr06pvAyXdVeOgo97xy6atnTVDT9Cb0A6Ubst04iUaS69Gls0Uedoane4YKy4FPdkVC9iyDzIySKA5AuaXQ513mGgff4saSFMjZrS8XigNbfuaGI7j0flXDmQcoVh240jfQydAOZP7PsvY8rHo/cBhxOMydwAhwI4ErywK8LCtSg9DBzeJapStTuivK5hVSWYztDErRJr13JufA1kEMiWscFtGUa2xC3atdN8x/mbMJvRXDI/SIYWYk3ZTk+ESoVs2u07yZUb/bR154A52/fylX0z3yayGpGdr+kRWDinFHKsfGFfrecIEYAy92YHioPgKEBDZr2cBpNTIfnNcoV7/xuBbPLundAUdTwnFQQGyusroyr2M0ymWJv1Du+kC7Ph72rLpSXtlWWhWydGGOYnfTckJlybDXH91VFTMJu7y7MOMNgDt2urP8zShF10xCNcfhN0bXog8MaATWlI+esBXOv2WJ04u/pxcPKxkYoP+NrQGbfyspsuVgK/2Wo2uVFGuWY61JVbOHy3SlYU0df59UcTtgUZIqUJGAFFtthSr5nwdrvAe4rIEdMcucMhgamoOvEil99oP7/N7mRcSyOLxDHmjvm8UtpvMpXVDzfm9wFg/QVBy+2J6KxMY+oJLo7b20Js6T7Z9z5hSBT1fLz6uEOl/lx9+EYdztV8S/mfwxj3fMXVT7Kw6Mk2GVF7wLTogzwjXRCzAMJlObjoqjOJh8tIOx3SYxn9u7QjJUeXjgI5V71ZCQ4oo+IXdVxiCTgL0aUErGcLHyJBeXyBFY/WE/V13IpDV57O7UCfZk+AAExDLlTbsBqJxrlrUKaA+1fBwAY7Pf+w2NhzKP13Pmfvs4FS6pAxf2q/73wXwY7L4AKZV3dXonvG57t0xYcL+NPHCzqnlDCAzah1Wo/mXamBvCBJmfJxAs77GfQdMT42lYxB0rwPbhELSlSL1omveb9dA3U9EfVlw+7E3q9sD3254l4zhkDgF0pFq2TZUGGb3F5kiEeZmhNENQqUAhtlz6YqzTyiy3CnAoBJSyqO+9tdXPLRyJm052sYgH70f8D+IxGlE/G1H+6afeRpCeGjAC0usIIqvU6jKU07kcGgojxUnH9OVezl1OUi+CNBxg8OAFtH62XslM9UTDNvIvIA41mcIpkAWaRGd2jb2b4QcHH/4bTToYNI/zLN7R+zbCbskgyI+NZKuo0AlsRrKW6U2yNaMRC133EXDeOueovc3w5yi05ZY6Fl6jZFia+gcOlXrTFhgjuL/5qwdD/n+EYUW7UNC8o9frZy4HrojT/DUMI/WQ7n037hOGCIUYnzknOLi7SWSXRydJa8/WIWA571fxnvdfcyYDdEtVz002AdbylL1k4+Eq0Sgt4V4gqo2sWgAJx+ud6ZgRC3qK1mUkTeU1NM/eo19pc2phnhza0RRJ8yM5leQLbQ2LglZVYNRsVwy0KY/yi5jOI14qS1BxmbLol90OlatbXlwz0QyxsiBoEw/cDwZ/Vdj3YCPSfCn3Vzsr6jpsdKOszYmqHFSrvflHUaZIeUwlxd3OgOFeg2lQ/bt/z8r8fBgG1pNph6265KUrl5drbKVb2Hob/PrsdW0aBJwYEjYw4jEVhJojHaP8QYEIE0T4eEPReEMIMjVy62t7ImtesCHDJdvJ7AKafq+g0esMmCQbTYtsIqylT50NMqK17M3X1mR5AXGh7vC/4KKMyKVi87aWdzD98NBka0cM9zWQ+sr5/ex1PP3A9lhlPJDuhixLWwrYgJDXJYRxs1cTuu2pkYifrzi1ODwm3fBbEgA6IvFmgpjyS67ZrCKviaHLbuTvRxQJAq6tKa9qVf8dQ4FxTTU3jHyarqTy9C3gty/ylVak2HcNy+twAorur4INbs8QwuPyq/pM/d9Xyhng8kErrCTB6r5KDv3UhXd/YdAGOnmF2seQz4snn/F/H88z8ssApA+KeW4eLIFQKrt1BhFUJ7jLWe8gRufQab6NUTszwCv57tc1QmsL0iaFoXqZl2gluMXeL6oI8DzLlogymK5F8CJQS9JTDYFfJ/fczT1wjq9cSR/qVTmdmiCt21NpTHrxEi2U4BN4JEWGtbSrrLrvoH/jOg3ruMC4i1A9QrqfehUYQT4FloDoOLVYwh3n+blBrWPoCDRVOaxlNWHPStdCVlGVPZFMqNBfxNMuWNy209lHl00LIpsyF7KLQ8o1uQ7gvyzxJtehiUFw/od0bjxljvkB5O5LDctUiEavpFTH3Qai9lXyzAm4CwNCBuN6wsXB9rqdkS4MNolYAZeapRDu/k9bW0bOwwXeOjKP1db0ET96w0aSCqPWfGsrBfb4j7Gjwnf98Zv6F4w45iJpA55WWIs0E/T/lp0mrMM1Cy0pN8pJKoJuv4PuUz7HrMunlGFVgssE36U6sqpByvgR1TLuO7uKJu5Sc5UmOwxbdlmrrM4+GD1xpolsSfVD4ZmfvV/fHTEYantgCdjF09z8/fzcDFT0ZLKtyfnf1SDl4SylgB2G7Nld5BLb+Reu6bldJlhp3LYfHidkmfzPNb05sIhpU4Teen97Rhusay9V4RQ4LPJzVrL6OpVHp6QvraNezowz7ZlMasx93XIpeDB5aGzBSVOafDUGZPVUpbvXOjfr4W3gLCWgXQR8TewnDCUrGQoZP9WAKImmF/lPoJ486s9pscibHxNO6eX3M/U4z0k5JwkA4pjWwdZplmWFKQXItIKVA7mv4hQM4q1aUqYftuWtZmYSLDsEkG/KIVUuo8hjue5at2Qft4imyPUaRP3heDqdPXenyyOWBEfI0JIAWq0WITrWh+pPbXFXOIrr4IGvF9iCvpqmluQ0m88Bzv6D/akWXrWtQgX78EHMOEJtdXJsGigcDGw7ou4NtydQmXdjhQFHt4WcZ1po5e/RCOr/YqIpYUCm4p5fiMlYng4f5agsClnIz6fUtH2U3asUfrmTwKEgbQixTamKmpQKs4SZNOVqeefTHI98g1nQNKtsrCDG98C77HDt6nGNbbnoTfCqk9wS1GEzNEMgguPn7WjpuTDi2+DtoMNdecTMVEaCjj2mg+uJxhGJPElNZrVNusYrXdfFGA1rIdmVoiqZQbKQhj5/5lcziI0rEayLzGyVxCiuzHgv9bBcmuZLIwDjL8xKjz4EBd8wVgnLiR+Uw0MCeog4PdCKXK5SZUNQzz0UVnFumEwkxGk5Z5CyTGrsAn7OpNj2kHXM2ErlBjf5E5jSYP6p4u9a+3XuccDwcPnVrxU1891DbYp1nS45g6erI7LpF45dHEy/PyC96ogfwc/P7vBEV0+f3D4E4HK3f5q6QOB6h+ajJRqr7hY/1qzfVDPVGQ9B2C5fjmhzb2no83rRg13QsD/iG8mWrma1NE7JVzxBP+b7iSznQR+5TKoNL7OC0sHTmhTyYdDdn3YQoZGQv7odvRr3clwBtP7LLmPf+Fxi7W8NqqydJ0U8AiVY7i2NhFEpMd7UIO7nvhSU66bnX1koegUwzI7O4x+03kVZ2pFvVOy5AA1uhEIaxfQbWkhKNmvO6mNeBuiSb3oXUqdqWdqrfJI0EK43Gl5BOwFogmoj4Hd9s6ANotm2qK6K9S+hEx5jQpxmnio7s/2THJeXhY7OfsGM5ng/ZH+sBTFQKwTNdQYaBndLTRiGSbtmEAJ49xjqo5g7lcLQNawQmdKqICb+FHQY3mRx6vK6Cs+c/r3vAai7PMHW949d7nO+VPuxcU/PbonluHwlBEvBeWoX9gIKis1PxXNUbv2NZXUEo8eF05XL9ufD2U2F08EWPYGrvLvD74OGxWJ7b6O0HLSRU40slYjpDYoHEWqQiMd4wiYUtjJ5XcRbre+2NxlyouOuPC0iBVfHT5zNksifWxA7G/VjuL5B5P+prr7euqPrYx+zGAa8xhBmbvrr+hncsEB6wJAGbNbWdi9hXdV7iyoPm4dHRnKpgqDeKmUqHvGyUZDewaYD611ktKRIKhRvHQyyOY5+thm4x+XCWjYqiySiqixZWEWjYrAb91UmO4fSn68DrQDJVT8cVUniP59ZRMuO2hEuidwKJk20whn4jmHQOIgEptXzrVVUcWS1m50TVHL/NtShMJqkvIrYxpk6304TTXYCSPC4T9to/bLCV8ZBl8sHi66nSUqFWRLZo909Nm0TBGFnLL+6bgj4/bT+OWo5FsTURdkMy65vpHLETtf147kYo8RLM8xoxzEZ0SavCte4JkX99t3LSu0bKxM8TPf7RUZhuf18P4l4pelEy+AP3nnKUJubRXcyNS7gAmq6x/5uDezD2M1oG1Sq3he3bXVFdCXZ/sC41sPkOqNQ5sgQj+NbAQfrH7DyYHHFkHTucBNh/zbvtrtSUF9pKCvmcrOkpx4pMzR/prLxe9WHHLl169wM3borY47cn7X1EseB7gAJmHNtNUYXX/W0cGP952mTzC7pse4VaGCVga56J36jKia2qBOcVuj3gj+qvm3vi8uYfRTwZZce6LkwyyFg4fJTMI3EW2AEIwf6b7hedT/BJQerSJECZlbJHArw2pOPY+QR96E63x+Gm1W391i1s3cFE5cZUbCSTdFPB6nfZ8EpJHw7xLy7m1Ia1+LWxoKy8BuJf2NPPqX0tgn1rsEn3cERQyOaSVicWePjgEytQux7MIZka2NFvrxYUI+p8TBEzvxdv/bl3ntIMH26iyx1RRun07SqmtKnGTqnECg6h0Qo25RStwOHP4RmuyB3FwOBdpm9FBC0w5D0V3mqOqhsWAN7RYTj28mMw1qSsX5xT1jZmxhc7Z5kIBwLbLnfcPcrVfxud2P22wGpd3pUzyaF48m3+mlqByUOy81QRDy0JYYldlQxW4zhRICIRr5NOe0BvG3HUtd5OM52MlXq2TEUHTohSyOgEWY8pv8DSt5/txVRP4attY+dZXZ6RDoJOPiO7znOcpl1ZaRQHdVFLoT52cz+cYGfeDzMOuZARhdp2ljwUy+sN1Xnr5HuWtKtCGRlYUr4jMhJgTzjgzBsxmfiGQpd8Dzyw77tcWIGtT88wSuX1SAZr9d32V/31fRTpzYc1hPsgoJDQHZ2e4cnp7IGdvJ1D8Lt0Cb8xwsdac0OgyxrlK7pM/fmdAVyN8L1gBYe8i0JYPAvcWKMQjs34d5JsF0EoAX2ka1RZwJlMRVpadBL1GQrDgp1t/wtCki7iOHLvMYxK4KSNRD9bjuEd+UIWzoOrBGpEcsDt8d3N1eunPTBRMn9Cz8l0OM8maCh7nTxeMHVf+eviD1qaPVZUFLG/rgAV9y7K0Th9u/T/CdFGB6CwEBWHom0FcsJvdHEmVujA+Nd3oHnuwCbl3NiAq5tdGO3602kQu9VG6s0Nl1tQ3/iMJWTyaoIvqrYXCsbe8g5+aOy273bEMD2vIZjPjXgo5u4+8NLhDHTG0re0KN7e+l6EzVVSgHwDTHqFvyG42xBQ4fFtOV75zoVDOkz96wq4j3bMigPLoaGkb83gBFbVaA4YMPLUiQ+wONOUfKZFQGuvBxh3lN+0ZlNVJWKbfRasnCXy0uAbwwGjPaBuk7lim4O8Kh27wawVspFZAIswLUNDxkzH3qxolZl3Ewxvo96+xYi5W6Cp3H13Xpl0dMFHouXIpigxqmcXum5pomy4beDpbzeummQdCzsnpLUbgspILGeS2rEb/xoBtX2g1t8qs8zuHfglzugmEVUEH8BSXXvwt05qu1gWQO2E7l+F0JIYbSM8tSNSCX/jPg/k47yPJj53ekqiLulovMOzVpzAllU2jZwf16dV4u2GgeXmQLdbfBOVZVKuicNegc3xfjYIoACJ1Y883qt/HYx/BeVN9TjuP4N4LYbNzC28GCOyPw16PdG2+05mV50+X6wsiOWqWPDQ1dQHm5DmKmdSJIx3gJStKki9wLfRm4Cvo/0Dr5b7NDAngMf4fiLmq/AbXnHZRWSzo6VZbpPbY9IoM54oxctPvmJzHsaFRN81iiTcJLirGttYUZuU7Ptq2xAAHfXu2aPwCPXTMvO96JpXAMuMT2NceA3TkIz9rpvtUMhQ8thHxZTOgF3ab9OBJdiMRzhe5zEU1PGi0Zz3mSos39h0dAOcyuycawTb/jlGjg293nC4AOVuhC8Qe3lGew/w5bbXbdDJV3DXwViWAV7aUNPvbUcdrbMU3tKuoVT3pJ+EvDcXaxD5+yXLMwo7KlUtChUOqtvfXYApKo4NvntZMKEQOknjfLDMH6trX0Paj0OjXIP+SeaKK6EIJbBSC/JYia0FLGkGbLlVV0oGTF+YmcByrtF5i1zM7finDSfrBZizFoYlaFnQ0x9rkpjNa+CuH9M83VvFvKWFMmCwvgKB4eHoa4z9VW95yzh8Sr6ld9AMHQc3SM4fp2VYCb+CTUdI3gPbk7rhCeyk+I1ZENDtypLcN8bfzhA4oDuptWb2KuYzNlAepTnGbvjr7Y+YL1cAJZNrjJ+zVMjKgVmEKRUyBXpa9IElNWOCHBCIV/Inwe5qHfl94KN5aNLukOTZV3z5F64Kicqp52VvqtEJ4+QPk8ig6qauMGt8SEnf5Urq33VNtOJ0qskU8pUHw14l2phDD4Bv/jReiahThBN4/DAKHjmJ00poWLg1SHgw8GX5tYzMREEyYwZ9EVmXo5T+nXHK+GRcnzQpg7TxvVl7qlwwPmVRbP+5iYC5g5y4reG71doMBsBYF8yDMJ0ioO8dFiKTmHIE8uuSbikNq6zqEaskq2ZIe4a9fOXuaaxTbnoVWGsYzynE1KZ9j6AaVhvcvbMu4TUbOzm3o9tpeMpwZgBRjBe1zqyB3RkUqrJy4i8JruzIGvU4Gh7iH18XtWbvshxGnDjWdUfGhLY+m1NCYsOFw9wUM9sG9dHRARL4djCiqB4oLCy9eI4Kd46gMbDOkDTt7RKJw0uFNHHbjwJDUg5vd/b73EQjkiHAlADlBOD3t7C+Zh0t54aRPfHV++z7HV1ZMYDJZjs6qgzyKXEZv05O2BnN4WJjnkNsJjZMrTfbue9Rx5AxTZ8VOye3j3OH/xuSeORckf0QiNPAAsfB/a7SyvH/e9tL/mPvmqkJW3ok6D3D2waYNAimrdj9uPfQjnKwgiBGZ6esRMnz13CiHhh8LRv8IYmGqO0pMOpw7TlonAOTcXrOa5Itipf/mj66n1FbuYaFf2ieZxnl8a3KlrtldeV+ianvTNRIVSW/iEb+TwrUyMr5uinXeOfrC/LQ0aRnU8p4+AmP5FzDAT8NXEk/MzdLNSUdrjl3JWLe3RJwAIwm4UqGHZ9VtD4Ii4ay071MbZcXLwiqZBJ01psLYNOGXlHUJo/TpT1zumxegtVNak9QyLgGLQyiSk0jxaLw1kahsadkpHuDZi2vXmumleAERPy8n2Xv0Wz86HZnFTwVAdZPv744+lZz6Mb1EkMZDQ80YH80XGqgZj6J3Bwgcxbp6sWZI3qJRsOb1XvBs5SnEiYoqlQF7DBMUhrZ3n+mWR0ksOqdAUtHY8tQ2d3zCn8TkAYE3lPR+SSnfhvU6X3l/l7v7CrTrVzztavSKWnAe6bxJWlNaC9GSZn0MUtizJihNagi99Xd/qktQu9KZ7WwLT33w0jeF3oLo5mNqaN5mC//clkJinVtim11ShGrb7dP0SRdk7wJUSHpUHdqErVmExjgbGhZF1BWmIsRsbz/+wwat95OaIGfwhQnMJOmWze4/vnJtGiDDsjgFNEnL5e6NaWiZjxGVMg50f2+RYvKPZ8bM/2d32TEWStLOOxlgPIH184D3e8nGJzD+B/payRxNQkycU71rq2Gi1U5NCeNv7jU59HLnjmLNQaJM96ecIjzIkoEkLECjy75OD3OXd2xgKS9qpnnnzBq/RNzY6SiODjHwVZgfnNr3Hun/eR7CQkKuzWDizV8IIl7mTxkeUqbMzdCM8V5ZtBX7hlOWHT7u8ZIvbS5hRtd/WauKC2OU8Qmx9M4Qw1yWAKUPyhHdYBCmgEk+UYSe2jMnQu749LgYxQDJueuZ6mEzDbCqXUJfEMAJZhYTruZZYJTRDdMQ+crKvUiYIyJgJsUIGuoj5H9Vvm79P/3XUbYN5c/q7EABYDThOusNg0yxtdRXCgiEE+ggYCSidw3AffwqL+46qN59LnZ3VavSqq8v7X/0Nd7AOWC53cwAgCbYi6XoaAG5vQj5szspfaD2LyBffH9EbPa6pq18NhOUi9cz10d+S1DkdUqZp4GuYPq5LJGPQn3hq3IE6ZZd1bU2cJZCoz+q4vEQ5RGuT7A2eY4HGvdQs55viw+pBFLfT3Eup5NZWz+W7hrJFgxKyuhYVLQibOJpGiPsOBH6XMkJ+bBSHrx/nlbVm8UgICfbLwoO/v8AmH2m3AKKIBTGD2RSzLpXZxfxoYWchkT8ErJa3UxRxLrSNqmzal0NAeqrVtJJ6ZcNTaoRm9jlwHPBE4fCJ/ovC2Nw/mnWHBFO2mDgM7LdmoGZpkgEawjHIMnDeu/TK9il15aSCCTvftjxazbZfhHRbn23S4fkpNJPyNqY02+7IvAWoAnCkMps6pgM1GErF7Xhe5tfZScKXGezRPtFNfT4RLF7tukMrCG2Edl+Qgqd+w2kvpvq3MIaXwlSUPjw6rzBeQvJ+zFrJglVxikWkJs9BE8FlPW2mDmUtau/PAbJvIwNb03Rusae4p/7w/tYrqI9R0DTYGvQBgRbIJQMIaI+L0jiYw14J7Kae/Uc0+Wq8kezSUGUMjqv7rAeN3zXekfNSgwzJThrA+CNJRABLyNsE13XPhIE5ohHtMB2P3/6j8TO7IOvhceULx9EEgLTf0azmEKqqYpPQKq6Wdw4Q2jhiwwqAQatz0WkbV+PJpkxgSjJU9N/tt3tLNAL0SMQ0V/elP5Addb69gTnPsG1JhF8K6cxuTYhA789+X66x1irHDQ1bcjNegXifR23DpNxXHOKiGBYNxm/LT5rQqU6C9mg7GSltaEKTsRqwgUqZudlNKKZmoyC3kekURzW3hzzDEhQazpDNhnUmxkabx2nIRZmNOLteHHCOHv8dFQTTJZgvHSMoZUMJZ6ucsKA+UYkg4+LyUoelANSPdOibOz9hsYhgiwc0vmiMKbmVgV9APChpTEvOo87Kb+jRUFubWPYu55YTmdEGd5iwZ7RKtX5BIb2m0vzGUoYBAFcpIi3dhDsMmrA9QvkXm++t0pbRNFvCv4b+r1NPi1YLt8CCG7G1SwcCcujx3YBMCeR9ZRaQv3J+iaHW1cwhUKO86A8E1jAJb3vW+Q82YSdrY2OFXR16alULDGUlEYOdWCw5Zg3G6xZvX1SJCM1JNmQkOAg/JXlanH7S7AuONL4gj2l8BUDE9a7ycXJv1rCU94Uv5VhQLb/kOqpEIlL9eBnvxva1wq6bc4UVXqtWCDntGAVnN3wcnxWLjWbwqNu3ongQjRzXoGM7oa5RGIXN+ncVEAk0uzJ8KVrsin387e/G7UC4Pqr0N1M0ZhbEFJIpXTeoIJOjXVyaxZXEmwMQ7z+ZOmjk8w+SpuOcORpDfvzis9O0m0doGtovhKEt4PWJSDaXbJUF2AdW2RRAAxfeJmC6evaLnfeZZJtHs8eTKHjS/ZBHB+zxsFPjAiVHFQ6fMgJXIGid7D5EIjFwfkTi09BcPoUHv5Cf+pF2eHdnbL+0CHjuL3eKKItg77a4W/mpVK6WdMdta8ZyuYr/+xlxgn/5N6+Rmas+7aEktexJSAVX4U97EiHWJGTVr9F7cl7piinDKEOIfLheYmfoh3MzpNXz93okjFjMONarZ4c3aDMwgWnNUqDFkSQIcUi5O1/gIn7IGMQiOE1UuQY9JzxVVL2Zi8R/HQXjrRi0knZzHZI3n5rtYp4zNkrRDTCqczPHuBFeYuQpOf4gQ/aqiMV6KY1LxttHcDDSWQqED0kIsshEyJcr8ggxO7bXmNb3W1yIxzHog0oMIYCgkD1dHBtSavQOQeuUZD09zG/jmNwfTxEVzTa8Y+oGpR7011dZhYalry1fko+VfWqdbSl1vHMdZNI+ef0bSAuQ2TspgAGN/Wf/3MzI2Aj/fULZFiWGm8tnR0lJxjbef2aokX5yLQ/NskZwWu6VoDKvvlVofjPQvyF9GrDS+2I3ksO1ffKnP3Xd+V+pdKi5Q3nA5kgkyO9CQxt1yIXVDB1yMMyJAo1JhSBABAhSZFgumweFtvwLrVFSzGn7ymjiBQhUseINzmSAIBlkbUavdXkTIkBDpB4ojNi1Ab8O+j+fjbD5aeTFSH3P5KgKT62RCQUHet9zIBLCGutW8QndXUd0oPwusp3DHHNNlkhOQe8GISM5FKEyxPmsR8Hdc7zDwPZ+4ij1ZYhZeGc0KJtmYUHlB2u52n0F82e6iX09LzR5Jw6LSx8krEZUG1TcyI5xjgSjyD9MMxEGod21Lw5ES5kRck9pT+lKGkAjHrFEgbw1k7+ttGY3RpIhgijhLOOAU8/8+jB2SQApptqHnDmJYBjt4s1GTjM8nYZixRn2z2MQDoTSytgBGTqgZ36e5pZGlhpbCbcTRk3O0cjFl5ZvZh8O0MkahWEzeR3kTJewlnPE4cHACWyp5MDqs71Z3klVydFn8JYC6dssLVPU6LlgONJgsgO6drII0gsASf18yBL066+MjhXaG+roZPSnMyN68IcJdOHdJcDqSUgJJRlsLcepgHhQ3bbAaZkBaDcZ6j9hpfipXZjshV9uirqfBdGxavF50yYGOWQ2oUzE2b8bpyELDUC/o3ubjwCE6xHTxaABQIYDfQtlhddWp51qFfG7VJ9ZYyzVWhZDZQZFY2MWl3L6fdOq7hMk/JWVixXSk1gKz8D5amKu/RVD3qQxo46amag8mcNg1Q9eMmewFb+yX8VnOHjaCo8Xjn+Ve0hGb7WjbboP//aZzfADH9rwzz2x8657QCc8BlcQYxlFqZ/Bgbg3z+0dCpU63g9feTLXiA99VLuITyFA2drCoK9KyqpBxXAzz950344uKQDNeo0YOxRthdJrAOyPKVErsMQQcOHyditdoNmmwHvJwCLbdqOdJTYYfaIgyI0o5fRBEYKp4zzVL2UMlTBXxO0j/KV1q/gulQRXEe4ogJrH5ni0YizyQaw8PaCTieIcasajArNT7+p5oyWr8XcuF75jv1Jm69Gb+rfTIBKHxtVUsC0DKJLUdMUVP/idDsMRAYQWJhQLsYVGFRzT4f6aIH6gqVK6Ebo83QuBfdQLtFJXWQ8NZyY8K1fhnMOMO5d5tLgZzjvonhJpTpqSkChpDI2Cvhpl79GpxANjr7+KI/yKijoW+CYLg1L0MK+n3XyxWIIuhOft1nJ/q7wYn3AT1qY4Xlc27dSvtIwtLB4ACIBoP9IjLFAUmio1ryA36mMoBbnQhKAFl94bXm+s0dOTEeIbSrcBX9hFbEDy9KEy2tfilXeYafdekXNT9TNcEy6Fc7leO6V+atec+REEZXhzdRZMOi0Hdmrx6ul9siQVugZmwUjW2gEkOntAiUo9w736KumJtx9NkfeWS5fk9VhIK5kzJABpvWzFefg1qTZ7W8eLZaDyBEp5xE/LS99/3pbEKfZfHrW7vsshFqgaSUEUZhYLTFPtZJVtp7KCCw7DmkAIP+mImaSrL0KRqsFnSoenaf9HyMMxrsFY3lXUXXiRsEbTIUGZg5fiGzwoC8X6tVaURDoFzd62kmoD6lx7+OJodRK1Fg1lPikvtzmzbycTtnR+l1Mue1N3W8Lsltu1Eadw5a0fwau4iWS3yfat+e/kwuI8EmZ6nLk/07ES0AliTvpxRWNUJu10S9caEmwit4zUFOvWrZKDeoeR2Fy6uSxErw0pGCjtyDlXv2qKpVCrteY+uLY9ZzeMCoqCewPxgdjRK65Gx4kJxnxu+i1l133y9cgDoqnTfGC3m0/bAj7FJJ8hWZH9uvPU5+NoR+i/kV6v84+e+S4N8ph9LX5kEqxg8lQlMoKayGLKak2uBBOY5uLj3cGUJyePskWm6elyuCnbh1JGGs+T5DWGyHwm91a8tmbMAkaEokrOAjkmeDqmEwI7ynMr5WS3dnWO0K+kuNvKutRWlhXq0d2E+Maa0ymOClVmbSlcd3G1VQG74JpooCcIv3lodxzvKQ1rtWxCtQn5o2iaZIXX4kawI5aPxDcnLs7EhLFzMS5tbXCopsHGvorCNTavKwCUzjw40hzCmww7ANPwQ9T6JeforSfdiyYm0Iem1wt4UrDIyt+0t2EGld/zLPgDv2PcWa63GZkEUWFQUGk613LVSgLkL6iH2bdEAyyaNNSsiZZjkZAjxgVZ1oqgkj7obkC5n3t/y6P8PAeycodoaU95aNpurvuPr1bbDsWBM8niGyn3jOr/TXCcSWTpTrYlcHKXffwr320WeyMHB0AfaehW9ApnjnJgKOnENBmufXwOFKSTpfLrFDNo4XphFSKcuMKJe6tbgrMe0DrWaHr6DKJ1XoXnIpNjFCSbpFDEq+3a9TN5w3NEqorO+ysqRfkDAStwFNVDDISXb7UCZk6qjb0+lLJV+xASCAbXx7M7UB1csgvr4MoQSbhLtKcz0v/0fE4t5CiSNKkNHnREj2CFLgCkJuXNVSjuvkFkaLiA0myOJOinos3Me8AzlSW3KOBY+Gj538q0GyPl4GWZBp0p5QLeNiTpPCmuPwi6YnYf5/YH5Tkii42jLnlgOTkw3mhgDlefDd8f4wz2eRwhr41wvT9VNRn60lmYxGgQBsdNozoAps6ZxI+Zw7tQCEm8a30DF1nH0B9tucXFvWQ7LpMuMp84RQ50hhENTfhM92DL6A+3oD0nFbYHG8fnTKEzZW+uAoEieL5AB3Bw8FcaPvgmUFYWF+cQtjd6EP4O4OnmMb3P+A4Vn2Cdb2mNDL9VGgRrpVwlxVpHx95Z9e2BftwcbXJq4JOGfRi+uNO/TSLsB8riLSVzkudqCk2Q03L+IG3SwLwbpZUGJENz3Sy28m15OP9E4CXoQ1yvB9MIr2Ffa04TwF+cFlQudsItK9tlUNsNBt5dWNHcjPSUOo1/6BkLlJ/1Wb3mePhZrdwEZL9Suba9L+uFLJpaKG2SVoGs+T4ImrWQ+YS2nI3S/sIvbTRlOvPy2JQNKJdFp22Yc8I0q0bfXwSJ/6Cvt9jf2oiFHkRZCiHKijXTEGt+KjQEWB2eYY/q93twUWbHaexW56vCXkFr0EXavExDyEKPhEwl7MWzM7VFpaqjPQkvZzl6Ai7EfqlbPR5dDjTwU5QS/V7arNux3pTJ6AjFg2m5C2ZZvSxem6ZA35IQ6vI3zHbq4hGmPvBqQaUxC+19nKoJvkq5zBMhf4mzUQl02IyHf5U7b0rMoPn8IfHX1riD1EF9AiNU8ug93MFciSFnw3pqavsPSh5fdOEqVi+mWZX/FLH9Tg335S7kHezlKrBLog3PiQAX91y7a5xGcLYHu7WqExQK1CEpSql8nrM5xO5R2t67yZZwZybpHvjldnVJONKwNO7caojo66pxM5qXR8jMFn8oT8tESGuEoVXtyEjoWKmBYrRrcd166BJcIZMYQUMsAjFfDx1MEJ9Ijjj5/c8T0Hhc/1+GtuI9IK/g8u3jaLuGNEfXDuFkZV3tBVgebldATjyWjo0YjIt6CpSAEp0cRx3upCez5pyk6745Xurl4X4jI6xDqFaWLjlOVpQX+78EcY3/p8jsaBAfYG8jREZcy5Emqkt1UhWzYwGVpW5AXGt1RZW4KBpP6oZxDTuuqkJdwemoA8ljFRP89GLz7yXMlq76rpCRHt4xqanqqkdizt4gnwQsfeJFOuZ8mCDWH0WjzgQccBDuPvF1nd163rDOLI4KJm0beq8zdi8gGhZvc2j9VKe6pQxgp4rSF7D0ZZri/e9ZJfWGzKkQ5CaRrCzl5tNy1bvDZ5wDvX9B1lQjNa81PJt2HeHTlOyTknSgx24PLKx+BRwqRxhu+ddLaR5hhqpzcpZwXEi27Ee5k7kJKYGLdQxtsn7qvKN+EuJUSW4wzEnbGz42Y9bXre2cspwyHgWzRANfKY5rpucKpdaOsZhCHwq+7HUlviDABY6SYIGR96oUn5EeLdq7jwbLx70Y7aFU46IhrSKxRVVBZpJ662tCjPQF3LI+SSo14kxX13ZrWVKHhI0LYKSWj1/WdA2cUNiWGfFo4tVdu50AhAWOjM41hpr1bctgbT+ijg+LspnWUQilkN13TnwX9B/Lk8QS9RYHszBhnlKgBT6jLm1EVLLvDD0JyaXHUzmvu6s27lGd8Qw10smJmHjfQ/EanLsH76azJiUEI+xjN69xVUQz8hsbbXVFl8bBYT8d2oHOln3LL2qyLR6g1FoRPIiLa074d3FjjvTZ08JgdAJSBTpnkkGMw0adMK7WCptLGgyF7Tx+hXxHlJyBdrwssf00w8N1Ylc3Z6Dr9Fv3479H9MKYwh26THSj+d0pw/cHEXkVTtdXBck1OP/UyJr6wui7LhOPnLozCxoNkwyACMDdHoRg7yINAHQx7SKI7YIur+tinqmHaRxgo6HJ13w4V/fzM1Krys/qr43JmIjdtTPBzkRMktGyup0sLcu6YWBjvG4TOPIecA9+c5D7f5jVT+PGoAac9pcJY0ehw+M8YvToeLAkyzitRvX4ZCczkhWynSXrqP7CbqsWXE1za1htWO/4ZcYYrRiaS8JZ8Wd1GwCK/tSMwY6hTw/F4lDw0lL5DcwPPXXlpVh+Qusm04tDhbIEOC6JJz/Z3PA8YTLM6HRM+hNYhncwC+sS5faqqjdjRgShfKbVTk+4MZXqF2YK/DDEa7Iwm4gr3leyKtiIJwXv6PfROSBZNPkJeaGtclOaR5/PzZhLRDG4y3tiUyvXbxRgTiNfDS/9DYyYZpxb68oDzbWs1uK9k29ziuyod0NkCeSJZR3HG9kax41ZO1BuKgpQNS4Qv9hsniaSeWKZ6i0qoRLqpnb3ey53UGMzb6ixKxu958r2viGrTdOM8CyFK+ZJE3vITZnMSfXskxLCRiQ90evDBOTgkQsvuEOrgB/0kY7pHoat67Cf0FH2igCbM+LWPQpujJ3Ud9yn90QvNkIUjEL5ro0D09ts2bPqYfaBkpMzixjith6vdFNwJ/+N1aoIqlAnXgAdybvskwQ6HBQlUPlViAFuDfmsToD3WKx5Cu2daG4MGecsaM0kGdLHXJ5WN/aBnIb4HXOEa2Io7IlHYIPAN6e18g7pzNUDDgOZN85ogWFVAffCw6HRYIw7bBTrNZiwurwivrdgwBEPMtH3BAqcUcU8YMqVe6XBKPgXYEGn4nmIu+hGZ2udy3vZfT3CiojyQVVU4/i76Q+RcAvJgkPh01P2pyQ78DjHBwCGrT7PHDWJsaR2Lf4CRISrb3p7kuLRW8F86PYdHqB8Z4vG6ZRy8g4sXy0KqPzcE/PxnGK+6WWgZFR+ssdJsq48REYEQd7QIp9tSvRCd3Qz7dRsuGAzAk30hfzX+nRG3h7CbqOKaCzs98SGTrfI8KVm5l8J9TjB9VNC2PdWORTrY95luLC+Gfv7iZ2bekGORHDTgt534F4WMkw3/cH+IfhUyGBmbQyT6jW+L7vRi4mjEPY4aXWnh9Zlz3hAz/2f9szOhoTQLXGIWgd0B7AG2NEerlmr6cBm71y+ll1KNS6bMPBbz5rw+ZUG3h6PiZVmwa04pmk6A1x8f2Wkl38YZedk4NB3IpTkVWMsNVK5zipRGGlWgVVEmFuvjX86ENtHi+mCzrDJJbJAWrRDg+M8lWVyvbnwVewQStkVpWbb/3fXlScK4URmF1vVYJSsUmO0qlgBew3NtU6xzjPAw1oBpcjbQapGS2QWVgkKBJ/4uhfHYnaW/U+6tiwH5jhbOGUTv/+z0Ey8s3m4HR+xoD2RhXukjXC9J+4c4vKxwbx4Q8ONaPG8Z4y3qGboY4tLR177K5BSoHlLGa63JndsLtPN2mFQ3hotjYYifkiePqcb3W6xZNO9xt3ioEzjmSRu4wPTTpgXfjJm0SEvEFk4sGSfM9FQJ9q4yr/LrLHPpQazh4lQY5b9bXZshoiHPBAFydk1ggWhBzchOdKmVt0QXyGeDdEcfhi+FpMu0ATAvO4xfysMNMNzykEsmnU3PSCCp0P0tTsKoHOgZS9QFJ91oxW53us9L169jeIW+sDtVS9c2kcuEu/PINEld/NG3mBW8M4d9eDK7hcTfUwTK71sM6AwnHA2vhGXH5UhDKEq3U136R+eacZOWS/M5FmrpKtPk84RAMr6y3sI1Gem2oA4xRWBQUo4QM5TWPuT/kXSLdcCT88/ry+tllB+grQvbYBmItnMezmk2f6v7e/W+CZj1BV9dkCyEqKFA+p6KuJ9Eooss7MxB9Tg/LOoGbD2YiiA8LvYZd59VNdM5xcURwdvWM09+QkyC9OASMPNkBDzYgKzwzWxlFnoUMZh/8cK8XxuFrAU+iPaummrbEv3DgYBHwHtzA610VL5TFVvXyDZ27BhbOYpdvQzMzZNzu6M8zOX4PEaETPHaU+WPX8bMFOREr3FMdMJgjTBsUECmEZrn+VV6rnDXz0SZankqOyeXzrX4oWafhdntj9fPsFMHfUz29fE7mNNAONpptcCYsVwhPnL0JCbkMuwnqfyGhqtfHPMeb6p16yzKr3SO0uoZnjlb89WHimteiZvjFR4T2K6pQem/o9CuZ6eTb9WpjpcN9JR3YXqEYhE8RqCHuc1pYGfUvxQBdIgoMvG+vmRSNyqJBe808EoURUU0iBeWdvJOw5dI0XrhwIyL8KASMa8pHfux51ynzNmfUp1ROxGmZ3jgq3JG0XoioXJH5nxwVOZXdnr719uDgo79r2+h2Zc7wDyEEA9UHdJBIFAE6KE9Pt3xmjy1K+AU2mYCnxFX1FOgKsk0YpiZl20eZFzvS86TgzpLgGhll3DX5Sx4BsrMV4QUyat37PRlEAvbBrMoeDqWhQWy1HS4pc+XdhCWiifOb0kgR2WRuyquVV3BNSHcoDCyUFqHjod/DHhotTC0wZ/SNvNnOBZYhYxT2t+FzjC4XWEoYVgm0pl0i/IEKnmE3vREfaMP2qC+Ot13VVU+GBY6A9CSfznnH9ktliA1Vl7I3vfv5z+xAnZK7vfUSYVorJrmKTXx4rWWmZ/KIa4giOWhYLwkwMrBWCL+g6GZEFkh3J4+QbDnft/84Ao2GG8VM3L2VQ4VHdhpPBjIvc1SNL5JYEQvVc4a9bExt/FylGogWLfPzgTUPGO3xD3t+ioRsdUXE8bWfjF3gmyVE0XocdI07XIbBzVVRxa3Ib4hPL0k64vUql/qpSpSLKwCgGAdWPz6uiE0Izgs1MzDeQWgyA/mXPE1X8Hp33kT9CBVAYJyu8+MwWR4n7Cb2YCvHX4npdjHQ3qh1CDf8TjBCnwKpXukLBTdnpKr3UWGErKfBt+MHRRWbcjDrJA1JyLM308TKVD2tNqyD/xiWVpCZtKZswlVBSnqYLJtLz0lnIGqTZ392FErog50C2tp8dFWSvfaDt9LvNxBDAoyH5GIjR9hgW6o6gZCQEBj05Q+TiquDNyhM3H24p/fMJ0rxwOSagjGLhapqG8fSDWAgvI4U2ukg6LDfxg36U1TJ","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"222b3869ddfea978f946dee4f3d39384924c3267","last_commit_update":"2026-05-29T16:05:14.040335+08:00","gmt_create":"2026-05-28T19:58:47.363933+08:00","gmt_modified":"2026-05-29T16:05:14.040335+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"codebuddy\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"1.4.0\"}"}} \ No newline at end of file +{"code_snippets":[{"id":"4d751ec1471f8f21411cc41c0342fa2a","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"1-823","gmt_create":"2026-05-29T00:33:30.842281+08:00","gmt_modified":"2026-05-29T00:33:30.842281+08:00"},{"id":"68beaf4993338bb9742c455e633984ec","path":"components/settings/tabs/ai/ProviderCard.tsx","line_range":"1-105","gmt_create":"2026-05-29T00:33:30.842388+08:00","gmt_modified":"2026-05-29T00:33:30.842388+08:00"},{"id":"31105659a1dc3645e6699be8c06e9960","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"1-461","gmt_create":"2026-05-29T00:33:30.842489+08:00","gmt_modified":"2026-05-29T00:33:30.842489+08:00"},{"id":"b567ee4b0c85b6acb96613e696267097","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","line_range":"1-56","gmt_create":"2026-05-29T00:33:30.842584+08:00","gmt_modified":"2026-05-29T00:33:30.842584+08:00"},{"id":"0e27aacfcd82c4e50a0acfb57aab3162","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"1-205","gmt_create":"2026-05-29T00:33:30.842675+08:00","gmt_modified":"2026-05-29T00:33:30.842675+08:00"},{"id":"b8802af4d0225098179e020abe79e37f","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"1-221","gmt_create":"2026-05-29T00:33:30.842769+08:00","gmt_modified":"2026-05-29T00:33:30.842769+08:00"},{"id":"79d6778c064e2823bcbcfd650de3aed7","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"1-162","gmt_create":"2026-05-29T00:33:30.84287+08:00","gmt_modified":"2026-05-29T00:33:30.84287+08:00"},{"id":"a98831f9565abcdf7b6b9adb8fddef92","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"1-210","gmt_create":"2026-05-29T00:33:30.842963+08:00","gmt_modified":"2026-05-29T00:33:30.842963+08:00"},{"id":"542bc52f287081a937a5c4a6e7f45706","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"1-186","gmt_create":"2026-05-29T00:33:30.843055+08:00","gmt_modified":"2026-05-29T00:33:30.843055+08:00"},{"id":"490006024000a3833e1c84d694ca0990","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:30.843149+08:00","gmt_modified":"2026-05-29T00:33:30.843149+08:00"},{"id":"3ed388d804efc98edd19a00bca5747df","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"1-66","gmt_create":"2026-05-29T00:33:30.843239+08:00","gmt_modified":"2026-05-29T00:33:30.843239+08:00"},{"id":"7eb3641103d521021753d61ae24526f0","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"1-67","gmt_create":"2026-05-29T00:33:30.843331+08:00","gmt_modified":"2026-05-29T00:33:30.843331+08:00"},{"id":"fe1ff1bc465772999a836ed6ecc29315","path":"infrastructure/ai/managedAgents.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:30.843427+08:00","gmt_modified":"2026-05-29T00:33:30.843427+08:00"},{"id":"1feec8715bc3cbc82757f607ddd359ad","path":"infrastructure/ai/types.ts","line_range":"1-348","gmt_create":"2026-05-29T00:33:30.843518+08:00","gmt_modified":"2026-05-29T00:33:30.843518+08:00"},{"id":"9fc9463a31a92e7e6bd9110beb77d60c","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"90-823","gmt_create":"2026-05-29T00:33:30.843607+08:00","gmt_modified":"2026-05-29T00:33:30.843607+08:00"},{"id":"72f87ad7bc869cad20c872ba09c7909b","path":"components/settings/tabs/ai/ProviderCard.tsx","line_range":"11-105","gmt_create":"2026-05-29T00:33:30.843707+08:00","gmt_modified":"2026-05-29T00:33:30.843707+08:00"},{"id":"44dd1b1a9996e98e7cb98567101c789d","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"50-461","gmt_create":"2026-05-29T00:33:30.843802+08:00","gmt_modified":"2026-05-29T00:33:30.843802+08:00"},{"id":"d8dbd4591219949e387c9389f82bb6fb","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"9-205","gmt_create":"2026-05-29T00:33:30.843896+08:00","gmt_modified":"2026-05-29T00:33:30.843896+08:00"},{"id":"e686b634d3682445e7e7a37965c2e59a","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"33-221","gmt_create":"2026-05-29T00:33:30.843991+08:00","gmt_modified":"2026-05-29T00:33:30.843991+08:00"},{"id":"4658946b7324ce9b5b35116f1efdc3eb","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"10-162","gmt_create":"2026-05-29T00:33:30.844088+08:00","gmt_modified":"2026-05-29T00:33:30.844088+08:00"},{"id":"4e949be1681618f46c911802f35dc3f8","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"9-210","gmt_create":"2026-05-29T00:33:30.844181+08:00","gmt_modified":"2026-05-29T00:33:30.844181+08:00"},{"id":"dbe2f6af5db318f98d98d5329569cc52","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"16-186","gmt_create":"2026-05-29T00:33:30.844275+08:00","gmt_modified":"2026-05-29T00:33:30.844275+08:00"},{"id":"769248b12a32bc4c241c04a7fc364831","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"29-78","gmt_create":"2026-05-29T00:33:30.844363+08:00","gmt_modified":"2026-05-29T00:33:30.844364+08:00"},{"id":"6231010ec6b67ff12eea22675b084a07","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"201-263","gmt_create":"2026-05-29T00:33:30.844458+08:00","gmt_modified":"2026-05-29T00:33:30.844458+08:00"},{"id":"3f4cd4b80ac68cb76e404191fe7553d0","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"142-173","gmt_create":"2026-05-29T00:33:30.844552+08:00","gmt_modified":"2026-05-29T00:33:30.844552+08:00"},{"id":"dc40f33c1b691d1a9aa6abe645c66f92","path":"components/settings/tabs/ai/SafetySettings.tsx","line_range":"57-62","gmt_create":"2026-05-29T00:33:30.844646+08:00","gmt_modified":"2026-05-29T00:33:30.844646+08:00"},{"id":"309b933a19c25bf047875ae6c7cee92c","path":"components/settings/tabs/ai/WebSearchSettings.tsx","line_range":"77-114","gmt_create":"2026-05-29T00:33:30.844767+08:00","gmt_modified":"2026-05-29T00:33:30.844767+08:00"},{"id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","line_range":"31-162","gmt_create":"2026-05-29T00:33:30.844857+08:00","gmt_modified":"2026-05-29T00:33:30.844857+08:00"},{"id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"61-186","gmt_create":"2026-05-29T00:33:30.844952+08:00","gmt_modified":"2026-05-29T00:33:30.844953+08:00"},{"id":"653843b16f39f833080215e29ff67f30","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","line_range":"40-210","gmt_create":"2026-05-29T00:33:30.845047+08:00","gmt_modified":"2026-05-29T00:33:30.845047+08:00"},{"id":"d7ccf75382e773bc6ba3cfc722a5033a","path":"infrastructure/ai/managedAgents.ts","line_range":"3-10","gmt_create":"2026-05-29T00:33:30.845264+08:00","gmt_modified":"2026-05-29T00:33:30.845264+08:00"},{"id":"a1fb09c6b6e07296e734466dcb2686d2","path":"infrastructure/ai/types.ts","line_range":"15-40","gmt_create":"2026-05-29T00:33:30.845354+08:00","gmt_modified":"2026-05-29T00:33:30.845354+08:00"},{"id":"d4202b8294bc666f0b25ecd29cfae9f2","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","line_range":"10-56","gmt_create":"2026-05-29T00:33:30.845449+08:00","gmt_modified":"2026-05-29T00:33:30.845449+08:00"},{"id":"4206d311903282917470dda0b1a77de0","path":"infrastructure/ai/types.ts","line_range":"23-40","gmt_create":"2026-05-29T00:33:30.845757+08:00","gmt_modified":"2026-05-29T00:33:30.845757+08:00"},{"id":"82a5ac036b3317cf22e53a0d43f07641","path":"infrastructure/ai/types.ts","line_range":"296-304","gmt_create":"2026-05-29T00:33:30.846164+08:00","gmt_modified":"2026-05-29T00:33:30.846164+08:00"},{"id":"789efde606ab83c6193b42b9389f07c1","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"336-349","gmt_create":"2026-05-29T00:33:30.846255+08:00","gmt_modified":"2026-05-29T00:33:30.846255+08:00"},{"id":"bfe22ea16e523749ee3b80924672d81c","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"100-115","gmt_create":"2026-05-29T00:33:30.846345+08:00","gmt_modified":"2026-05-29T00:33:30.846345+08:00"},{"id":"2a956a100412b6f6939d1d99035ae900","path":"infrastructure/ai/types.ts","line_range":"15-21","gmt_create":"2026-05-29T00:33:30.846434+08:00","gmt_modified":"2026-05-29T00:33:30.846434+08:00"},{"id":"ab8d96527e3718bdc7b675eaa815e4fb","path":"infrastructure/ai/types.ts","line_range":"42-53","gmt_create":"2026-05-29T00:33:30.846562+08:00","gmt_modified":"2026-05-29T00:33:30.846562+08:00"},{"id":"d42e55e836d88f491a817533ec209074","path":"infrastructure/ai/types.ts","line_range":"178-189","gmt_create":"2026-05-29T00:33:30.847064+08:00","gmt_modified":"2026-05-29T00:33:30.847064+08:00"},{"id":"28f57be6f2eeef085ea5047f704afe66","path":"infrastructure/ai/types.ts","line_range":"264-294","gmt_create":"2026-05-29T00:33:30.847198+08:00","gmt_modified":"2026-05-29T00:33:30.847198+08:00"},{"id":"86838b4d4fa12bdc957e6414ec9b7678","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"32-66","gmt_create":"2026-05-29T00:33:30.853128+08:00","gmt_modified":"2026-05-29T00:33:30.853128+08:00"},{"id":"866b1f8c4edaefc96fd27254c45e3e02","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"32-67","gmt_create":"2026-05-29T00:33:30.853266+08:00","gmt_modified":"2026-05-29T00:33:30.853266+08:00"},{"id":"f5295fad218e404d3a577bc0e23bb621","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"132-192","gmt_create":"2026-05-29T00:33:30.853645+08:00","gmt_modified":"2026-05-29T00:33:30.853645+08:00"},{"id":"974d789daa1de3c44d4c888417fdeefb","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"13-78","gmt_create":"2026-05-29T00:33:30.853757+08:00","gmt_modified":"2026-05-29T00:33:30.853757+08:00"},{"id":"6019df266484c641521f679e75021b5e","path":"components/settings/tabs/ai/claudeConfigEnv.ts","line_range":"12-66","gmt_create":"2026-05-29T00:33:30.853992+08:00","gmt_modified":"2026-05-29T00:33:30.853992+08:00"},{"id":"333e6755daf6fcbed429adffd4d69bc4","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"12-67","gmt_create":"2026-05-29T00:33:30.854094+08:00","gmt_modified":"2026-05-29T00:33:30.854094+08:00"},{"id":"bd44080415cc705dd669561f3f7229ee","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"172-192","gmt_create":"2026-05-29T00:33:30.854702+08:00","gmt_modified":"2026-05-29T00:33:30.854702+08:00"},{"id":"2b217fc87507bca265df91e3922b4e94","path":"infrastructure/ai/types.ts","line_range":"232-262","gmt_create":"2026-05-29T00:33:30.854932+08:00","gmt_modified":"2026-05-29T00:33:30.854932+08:00"},{"id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","path":"application/i18n/locales/zh-CN/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857192+08:00","gmt_modified":"2026-05-29T00:33:30.857192+08:00"},{"id":"1f1ad6502c179e4435e030f2922c62a8","path":"application/i18n/locales/en/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857292+08:00","gmt_modified":"2026-05-29T00:33:30.857292+08:00"},{"id":"72549edf4576518ab7d937708b43f932","path":"application/i18n/locales/ru/ai.ts","line_range":"1-271","gmt_create":"2026-05-29T00:33:30.857395+08:00","gmt_modified":"2026-05-29T00:33:30.857395+08:00"},{"id":"5367e86ddfa76de48c29c511e23479de","path":"infrastructure/ai/types.ts","line_range":"283-294","gmt_create":"2026-05-29T00:33:30.857519+08:00","gmt_modified":"2026-05-29T00:33:30.857519+08:00"},{"id":"627d5d498a908419c0045be052ca5a0c","path":"components/AIChatSidePanel.tsx","line_range":"48-909","gmt_create":"2026-05-29T00:33:53.590753+08:00","gmt_modified":"2026-05-29T00:33:53.590753+08:00"},{"id":"b447f3018e963a5da84b981b9954bfe8","path":"components/AIChatPanelContent.tsx","line_range":"1-249","gmt_create":"2026-05-29T00:33:53.590847+08:00","gmt_modified":"2026-05-29T00:33:53.590847+08:00"},{"id":"64a7395d81782d6cf5bd5201fc086696","path":"components/ai/AgentSelector.tsx","line_range":"1-300","gmt_create":"2026-05-29T00:33:53.590937+08:00","gmt_modified":"2026-05-29T00:33:53.590937+08:00"},{"id":"01c9752d86ab3a9d32a2f6cb2015feff","path":"components/ai/AgentIconBadge.tsx","line_range":"1-242","gmt_create":"2026-05-29T00:33:53.591028+08:00","gmt_modified":"2026-05-29T00:33:53.591028+08:00"},{"id":"b9cb5972f5b64b9eec6c7ca2bd84e426","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"629-657","gmt_create":"2026-05-29T00:33:53.591343+08:00","gmt_modified":"2026-05-29T00:33:53.591343+08:00"},{"id":"bffb18548d41deeaf7e88480c66fa082","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"1-52","gmt_create":"2026-05-29T00:33:53.591433+08:00","gmt_modified":"2026-05-29T00:33:53.591433+08:00"},{"id":"f0377d0c64016366847e7422add570f1","path":"application/state/useAgentDiscovery.ts","line_range":"1-42","gmt_create":"2026-05-29T00:33:53.591522+08:00","gmt_modified":"2026-05-29T00:33:53.591522+08:00"},{"id":"04856c64fe1a06b1cc539b96a60a8d41","path":"components/ai/ChatMessageList.tsx","line_range":"1-468","gmt_create":"2026-05-29T00:33:53.592047+08:00","gmt_modified":"2026-05-29T00:33:53.592047+08:00"},{"id":"db484e38ad1df09c5200d64478bb9d72","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"1-927","gmt_create":"2026-05-29T00:33:53.592135+08:00","gmt_modified":"2026-05-29T00:33:53.592135+08:00"},{"id":"a5fcf22005dd09a47106369f90a757bf","path":"components/ai/AgentSelector.tsx","line_range":"118-190","gmt_create":"2026-05-29T00:33:53.592449+08:00","gmt_modified":"2026-05-29T00:33:53.592449+08:00"},{"id":"e7aaa3cfc2b3d2f1db50e3744a63409d","path":"components/AIChatSidePanel.tsx","line_range":"647-798","gmt_create":"2026-05-29T00:33:53.592536+08:00","gmt_modified":"2026-05-29T00:33:53.592537+08:00"},{"id":"4e4666d66aaf8a3387d9a91a60515b2d","path":"components/AIChatPanelContent.tsx","line_range":"174-178","gmt_create":"2026-05-29T00:33:53.592623+08:00","gmt_modified":"2026-05-29T00:33:53.592623+08:00"},{"id":"5854444f6ca3ab94e2c364f7339e9577","path":"components/ai/ChatMessageList.tsx","line_range":"37-514","gmt_create":"2026-05-29T00:33:53.592709+08:00","gmt_modified":"2026-05-29T00:33:53.592709+08:00"},{"id":"97b16b9274b0e54b6d51d0a8e03dcd43","path":"components/ai/ChatInput.tsx","line_range":"101-264","gmt_create":"2026-05-29T00:33:53.592794+08:00","gmt_modified":"2026-05-29T00:33:53.592794+08:00"},{"id":"b466557ba584a86652aded65971c7446","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"243-514","gmt_create":"2026-05-29T00:33:53.592888+08:00","gmt_modified":"2026-05-29T00:33:53.592888+08:00"},{"id":"03aa04628a434515d2403dec6b9d463a","path":"components/ai/hooks/aiChatStreamingSupport.ts","line_range":"1-206","gmt_create":"2026-05-29T00:33:53.592973+08:00","gmt_modified":"2026-05-29T00:33:53.592973+08:00"},{"id":"2ce13ba157e65c23fd951fe28e11e018","path":"components/ai/ChatMessageList.tsx","line_range":"175-324","gmt_create":"2026-05-29T00:33:53.593056+08:00","gmt_modified":"2026-05-29T00:33:53.593056+08:00"},{"id":"e60d1e84845664e62f70ee788778247d","path":"components/ai-elements/message.tsx","line_range":"55-84","gmt_create":"2026-05-29T00:33:53.593146+08:00","gmt_modified":"2026-05-29T00:33:53.593146+08:00"},{"id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","path":"components/ai-elements/streamdownCodeHighlighter.ts","line_range":"59-77","gmt_create":"2026-05-29T00:33:53.593231+08:00","gmt_modified":"2026-05-29T00:33:53.593231+08:00"},{"id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","path":"components/ai-elements/tool-call.tsx","line_range":"132-314","gmt_create":"2026-05-29T00:33:53.593317+08:00","gmt_modified":"2026-05-29T00:33:53.593317+08:00"},{"id":"606bc93b094363b88c880e862a8bd27b","path":"components/ai/ThinkingBlock.tsx","line_range":"28-135","gmt_create":"2026-05-29T00:33:53.593402+08:00","gmt_modified":"2026-05-29T00:33:53.593402+08:00"},{"id":"84d4622f682597063e7b21bd8700037e","path":"components/ai-elements/message.tsx","line_range":"1-86","gmt_create":"2026-05-29T00:33:53.593594+08:00","gmt_modified":"2026-05-29T00:33:53.593594+08:00"},{"id":"cd022c0be9c9ca808f36306b82ec1070","path":"components/ai-elements/streamdownCodeHighlighter.ts","line_range":"1-78","gmt_create":"2026-05-29T00:33:53.593678+08:00","gmt_modified":"2026-05-29T00:33:53.593678+08:00"},{"id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","path":"components/ai-elements/tool-call.tsx","line_range":"1-315","gmt_create":"2026-05-29T00:33:53.593773+08:00","gmt_modified":"2026-05-29T00:33:53.593773+08:00"},{"id":"acbe25c99cb195d0fe75d660c939f1c1","path":"components/ai/ThinkingBlock.tsx","line_range":"1-139","gmt_create":"2026-05-29T00:33:53.593859+08:00","gmt_modified":"2026-05-29T00:33:53.593859+08:00"},{"id":"9763cfd8faa168da0d2ec5ca786209bf","path":"components/ai/ChatInput.tsx","line_range":"187-336","gmt_create":"2026-05-29T00:33:53.593945+08:00","gmt_modified":"2026-05-29T00:33:53.593945+08:00"},{"id":"ea87f28e9e1fdcdd28ead0cda671594e","path":"components/ai-elements/prompt-input.tsx","line_range":"34-110","gmt_create":"2026-05-29T00:33:53.594047+08:00","gmt_modified":"2026-05-29T00:33:53.594047+08:00"},{"id":"327de3e2a81b0b2b64f48efa73d23eca","path":"components/ai/ChatInput.tsx","line_range":"1-955","gmt_create":"2026-05-29T00:33:53.594243+08:00","gmt_modified":"2026-05-29T00:33:53.594243+08:00"},{"id":"5b96fdba00fecee9acdc5f1af9a7c5c4","path":"components/ai-elements/prompt-input.tsx","line_range":"1-215","gmt_create":"2026-05-29T00:33:53.594329+08:00","gmt_modified":"2026-05-29T00:33:53.594329+08:00"},{"id":"fe90149e17952539249c367cdae4b08f","path":"components/ai/hooks/aiChatStreamingSupport.ts","line_range":"8-89","gmt_create":"2026-05-29T00:33:53.594646+08:00","gmt_modified":"2026-05-29T00:33:53.594646+08:00"},{"id":"6bd6848f24bb599b3dc26d6f3bc64a6d","path":"components/ai/AgentSelector.tsx","line_range":"237-284","gmt_create":"2026-05-29T00:33:53.595061+08:00","gmt_modified":"2026-05-29T00:33:53.595061+08:00"},{"id":"34ea52e428db926ef92c005738524fa9","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"61-173","gmt_create":"2026-05-29T00:33:53.595383+08:00","gmt_modified":"2026-05-29T00:33:53.595383+08:00"},{"id":"cf2be59058ec94e10617138246740824","path":"components/settings/tabs/SettingsAITab.tsx","line_range":"172-206","gmt_create":"2026-05-29T00:33:53.595471+08:00","gmt_modified":"2026-05-29T00:33:53.595471+08:00"},{"id":"d4f513f7b7317663ad7541d9881f792f","path":"infrastructure/ai/types.ts","line_range":"1-344","gmt_create":"2026-05-29T00:33:53.595888+08:00","gmt_modified":"2026-05-29T00:33:53.595888+08:00"},{"id":"43b38419087f8994012956a2ddf78ea4","path":"components/ai/aiPanelViewState.ts","line_range":"1-95","gmt_create":"2026-05-29T00:33:53.595979+08:00","gmt_modified":"2026-05-29T00:33:53.595979+08:00"},{"id":"540a5ba8238ea8a483e865692a81f838","path":"components/ai/hooks/useAIChatStreaming.ts","line_range":"212-237","gmt_create":"2026-05-29T00:33:53.597549+08:00","gmt_modified":"2026-05-29T00:33:53.597549+08:00"},{"id":"0fc485e20a60d7df0cd756978c49340e","path":"components/ai/ChatMessageList.tsx","line_range":"43-74","gmt_create":"2026-05-29T00:33:53.597678+08:00","gmt_modified":"2026-05-29T00:33:53.597678+08:00"},{"id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","path":"components/ai/ChatInput.tsx","line_range":"187-218","gmt_create":"2026-05-29T00:33:53.59778+08:00","gmt_modified":"2026-05-29T00:33:53.59778+08:00"},{"id":"fb4bb0dc0232c0358067c351faefeb97","path":"components/ai/AgentSelector.tsx","line_range":"192-195","gmt_create":"2026-05-29T00:33:53.597871+08:00","gmt_modified":"2026-05-29T00:33:53.597871+08:00"},{"id":"638bdc16647cd7f02142c1c065ca3f0a","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"1-113","gmt_create":"2026-05-29T00:34:06.341941+08:00","gmt_modified":"2026-05-29T00:34:06.341941+08:00"},{"id":"ccbc4a05b367edbbf8ecd673d06a645a","path":"components/ai/ConversationExport.tsx","line_range":"1-88","gmt_create":"2026-05-29T00:34:06.342039+08:00","gmt_modified":"2026-05-29T00:34:06.342039+08:00"},{"id":"100bd4a254411503caf7376831d4386b","path":"infrastructure/ai/sdk/providers.ts","line_range":"1-478","gmt_create":"2026-05-29T00:34:06.342373+08:00","gmt_modified":"2026-05-29T00:34:06.342373+08:00"},{"id":"28cfa354e1b7170c007690877c62b8be","path":"infrastructure/ai/sdk/tools.ts","line_range":"1-177","gmt_create":"2026-05-29T00:34:06.342474+08:00","gmt_modified":"2026-05-29T00:34:06.342474+08:00"},{"id":"3d4db1f7d087ceb76ea5545b48871bbc","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"1-142","gmt_create":"2026-05-29T00:34:06.34258+08:00","gmt_modified":"2026-05-29T00:34:06.34258+08:00"},{"id":"247f7b23c2f1b7560d9a2d26ba0ca17a","path":"components/AIChatPanelContent.tsx","line_range":"69-249","gmt_create":"2026-05-29T00:34:06.343465+08:00","gmt_modified":"2026-05-29T00:34:06.343465+08:00"},{"id":"e9e9976384f8d9f81e9c91d4890b7508","path":"components/ai/ChatMessageList.tsx","line_range":"37-468","gmt_create":"2026-05-29T00:34:06.343558+08:00","gmt_modified":"2026-05-29T00:34:06.343558+08:00"},{"id":"22e7685c78002f80d08cd6213247801c","path":"components/ai/ChatInput.tsx","line_range":"101-955","gmt_create":"2026-05-29T00:34:06.343649+08:00","gmt_modified":"2026-05-29T00:34:06.343649+08:00"},{"id":"441a9a4b1424f75556f79af23f5711fa","path":"components/ai/AgentSelector.tsx","line_range":"118-300","gmt_create":"2026-05-29T00:34:06.343737+08:00","gmt_modified":"2026-05-29T00:34:06.343737+08:00"},{"id":"fe1f8aef45b10a07b603f8ee72076c85","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"22-113","gmt_create":"2026-05-29T00:34:06.343826+08:00","gmt_modified":"2026-05-29T00:34:06.343826+08:00"},{"id":"935963cc2a872d5f86edf8dbc4b557c1","path":"components/ai/ConversationExport.tsx","line_range":"32-88","gmt_create":"2026-05-29T00:34:06.343916+08:00","gmt_modified":"2026-05-29T00:34:06.343916+08:00"},{"id":"36b8d0a32b856a4af6aa1b189ecb5295","path":"infrastructure/ai/sdk/providers.ts","line_range":"247-478","gmt_create":"2026-05-29T00:34:06.344005+08:00","gmt_modified":"2026-05-29T00:34:06.344005+08:00"},{"id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","path":"infrastructure/ai/sdk/tools.ts","line_range":"33-177","gmt_create":"2026-05-29T00:34:06.344094+08:00","gmt_modified":"2026-05-29T00:34:06.344094+08:00"},{"id":"cfc7d370cd35900cc754c0edc190c2ce","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-142","gmt_create":"2026-05-29T00:34:06.344227+08:00","gmt_modified":"2026-05-29T00:34:06.344227+08:00"},{"id":"8f3dad4abe68b1f924501fbb7348d772","path":"components/ai/ChatMessageList.tsx","line_range":"169-433","gmt_create":"2026-05-29T00:34:06.34466+08:00","gmt_modified":"2026-05-29T00:34:06.34466+08:00"},{"id":"1a43524f0697efe9b361810c0cf012b1","path":"components/AIChatPanelContent.tsx","line_range":"115-248","gmt_create":"2026-05-29T00:34:06.34475+08:00","gmt_modified":"2026-05-29T00:34:06.34475+08:00"},{"id":"61d03453faf350475d772ca6e0b5afe9","path":"components/ai/ChatInput.tsx","line_range":"174-336","gmt_create":"2026-05-29T00:34:06.344955+08:00","gmt_modified":"2026-05-29T00:34:06.344955+08:00"},{"id":"a6ec45894b1ed02e3be025898d456a24","path":"components/ai/ChatInput.tsx","line_range":"424-955","gmt_create":"2026-05-29T00:34:06.345047+08:00","gmt_modified":"2026-05-29T00:34:06.345047+08:00"},{"id":"0dad39b4141fd71cc091c8c7713ee397","path":"application/state/useAgentDiscovery.ts","line_range":"12-108","gmt_create":"2026-05-29T00:34:06.345354+08:00","gmt_modified":"2026-05-29T00:34:06.345354+08:00"},{"id":"e1c64756264cc7254af6c9145fdc053b","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"36-44","gmt_create":"2026-05-29T00:34:06.345667+08:00","gmt_modified":"2026-05-29T00:34:06.345667+08:00"},{"id":"f41977e182e15c0f950e62a5b8151043","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","line_range":"8-67","gmt_create":"2026-05-29T00:34:06.345868+08:00","gmt_modified":"2026-05-29T00:34:06.345868+08:00"},{"id":"f97f3b58e398b7aad8853a3167d57840","path":"components/AIChatSidePanel.tsx","line_range":"589-597","gmt_create":"2026-05-29T00:34:06.346616+08:00","gmt_modified":"2026-05-29T00:34:06.346616+08:00"},{"id":"d5ddf712ec10bbdae1b48c624392ffc8","path":"components/AIChatSessionHistoryDrawer.tsx","line_range":"14-113","gmt_create":"2026-05-29T00:34:06.346705+08:00","gmt_modified":"2026-05-29T00:34:06.346705+08:00"},{"id":"6983e2aa9104b0fcc506cafb4644e4f2","path":"components/ai/ConversationExport.tsx","line_range":"20-88","gmt_create":"2026-05-29T00:34:06.346791+08:00","gmt_modified":"2026-05-29T00:34:06.346791+08:00"},{"id":"3fa5f6beb3b87bd68bc4098df6894ffb","path":"infrastructure/ai/sdk/tools.ts","line_range":"44-115","gmt_create":"2026-05-29T00:34:06.346988+08:00","gmt_modified":"2026-05-29T00:34:06.346988+08:00"},{"id":"bf899ad495850daf0202760da02dc100","path":"infrastructure/ai/types.ts","line_range":"43-53","gmt_create":"2026-05-29T00:34:06.347518+08:00","gmt_modified":"2026-05-29T00:34:06.347518+08:00"},{"id":"a99f462e4b8bf088b908b35f7fbbe8fd","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"54-173","gmt_create":"2026-05-29T00:34:06.347619+08:00","gmt_modified":"2026-05-29T00:34:06.347619+08:00"},{"id":"fb235213378aeb07ae9a20bc1270b4e7","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","line_range":"54-461","gmt_create":"2026-05-29T00:34:06.347935+08:00","gmt_modified":"2026-05-29T00:34:06.347935+08:00"},{"id":"be40f537e25221baebe8c5864c51b198","path":"components/AIChatSidePanel.tsx","line_range":"104-116","gmt_create":"2026-05-29T00:34:06.348127+08:00","gmt_modified":"2026-05-29T00:34:06.348128+08:00"},{"id":"498ca8240be0ec198d8dcd16e39e08f3","path":"components/ai/ChatMessageList.tsx","line_range":"280-292","gmt_create":"2026-05-29T00:34:06.349217+08:00","gmt_modified":"2026-05-29T00:34:06.349217+08:00"},{"id":"7b8e979bf92d58979700a69fd9c5b27a","path":"components/AIChatSidePanel.tsx","line_range":"693-711","gmt_create":"2026-05-29T00:34:06.349474+08:00","gmt_modified":"2026-05-29T00:34:06.349474+08:00"},{"id":"44c54ebf29feebb634b2f7957297dfb9","path":"application/state/useAgentDiscovery.ts","line_range":"19-32","gmt_create":"2026-05-29T00:34:06.349608+08:00","gmt_modified":"2026-05-29T00:34:06.349608+08:00"},{"id":"67538f95d3000f59efd6a6f7fec74e6f","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","line_range":"1-128","gmt_create":"2026-05-29T00:36:03.433588+08:00","gmt_modified":"2026-05-29T00:36:03.433588+08:00"},{"id":"9417fce74f6b6f53a599238c0ecaae53","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"1-261","gmt_create":"2026-05-29T00:36:03.433675+08:00","gmt_modified":"2026-05-29T00:36:03.433675+08:00"},{"id":"ef28c67ed1ff92a24029da16f6553c21","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"1-240","gmt_create":"2026-05-29T00:36:03.433763+08:00","gmt_modified":"2026-05-29T00:36:03.433763+08:00"},{"id":"7dcdfeb34122a1981bcf72e93260425a","path":"infrastructure/ai/acpAgentAdapter.ts","line_range":"1-323","gmt_create":"2026-05-29T00:36:03.433849+08:00","gmt_modified":"2026-05-29T00:36:03.433849+08:00"},{"id":"cb4197d4817c8abbde89ddf45a94e0e8","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.433937+08:00","gmt_modified":"2026-05-29T00:36:03.433937+08:00"},{"id":"f716923ec2c150e5314e4b76edeee49f","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.434024+08:00","gmt_modified":"2026-05-29T00:36:03.434024+08:00"},{"id":"d55f61ffd4a94399c84fdb1f3d553b73","path":"electron/bridges/aiBridge/providerHandlers.cjs","line_range":"1-200","gmt_create":"2026-05-29T00:36:03.434113+08:00","gmt_modified":"2026-05-29T00:36:03.434113+08:00"},{"id":"5387fddb54f5dbc949a84416e7f6a3fc","path":"electron/bridges/mcpServerBridge.cjs","line_range":"235-269","gmt_create":"2026-05-29T00:36:03.4342+08:00","gmt_modified":"2026-05-29T00:36:03.4342+08:00"},{"id":"d941aa3503f71dd1a195ad74f2746fb9","path":"infrastructure/ai/cattyAgent/safety.ts","line_range":"1-99","gmt_create":"2026-05-29T00:36:03.434499+08:00","gmt_modified":"2026-05-29T00:36:03.434499+08:00"},{"id":"81391bb13afe350160619c0771563cfd","path":"infrastructure/ai/sdk/providers.ts","line_range":"247-399","gmt_create":"2026-05-29T00:36:03.436934+08:00","gmt_modified":"2026-05-29T00:36:03.436934+08:00"},{"id":"4aff5e834a93bcb12ba76d9d392ec3e0","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"123-200","gmt_create":"2026-05-29T00:36:03.437039+08:00","gmt_modified":"2026-05-29T00:36:03.437039+08:00"},{"id":"5e2dd6938ff0dcd3632b657156af0c73","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"66-116","gmt_create":"2026-05-29T00:36:03.437233+08:00","gmt_modified":"2026-05-29T00:36:03.437233+08:00"},{"id":"8cd29c387c0a9a43cb308f923c0709a3","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"53-89","gmt_create":"2026-05-29T00:36:03.43732+08:00","gmt_modified":"2026-05-29T00:36:03.43732+08:00"},{"id":"4c618aeec634eea5f99214f915aa1020","path":"infrastructure/ai/acpAgentAdapter.ts","line_range":"132-249","gmt_create":"2026-05-29T00:36:03.437939+08:00","gmt_modified":"2026-05-29T00:36:03.437939+08:00"},{"id":"747b2a89815ba74e040420f0f2c1ca33","path":"infrastructure/ai/shared/toolExecutors.ts","line_range":"66-240","gmt_create":"2026-05-29T00:36:03.438548+08:00","gmt_modified":"2026-05-29T00:36:03.438548+08:00"},{"id":"aa59a13521f82ab4cf5b39c3ed9995e5","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","line_range":"58-117","gmt_create":"2026-05-29T00:36:03.438641+08:00","gmt_modified":"2026-05-29T00:36:03.438641+08:00"},{"id":"10728caa367c0ab746a192e5ac6c24ad","path":"infrastructure/ai/shared/approvalGate.ts","line_range":"53-185","gmt_create":"2026-05-29T00:36:03.438757+08:00","gmt_modified":"2026-05-29T00:36:03.438757+08:00"},{"id":"69f45bef07c7394a439ae80da49caefe","path":"infrastructure/ai/cattyAgent/safety.ts","line_range":"76-99","gmt_create":"2026-05-29T00:36:03.438845+08:00","gmt_modified":"2026-05-29T00:36:03.438845+08:00"},{"id":"1a7099e01fde4608b291fac03c453e1b","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-65","gmt_create":"2026-05-29T00:36:03.439361+08:00","gmt_modified":"2026-05-29T00:36:03.439361+08:00"},{"id":"ceda80a34996ffcae8fb0a0e8789d2dd","path":"infrastructure/ai/types.ts","line_range":"160-177","gmt_create":"2026-05-29T00:36:03.439447+08:00","gmt_modified":"2026-05-29T00:36:03.439447+08:00"},{"id":"ec07fe3dcd32336f62ab2834095f336f","path":"electron/bridges/aiBridge/acpHandlers.cjs","line_range":"4-121","gmt_create":"2026-05-29T00:36:03.439743+08:00","gmt_modified":"2026-05-29T00:36:03.439743+08:00"},{"id":"7e7bc7d50badd78dabc2b7d72af40215","path":"electron/bridges/mcpServerBridge.cjs","line_range":"245-269","gmt_create":"2026-05-29T00:36:03.439939+08:00","gmt_modified":"2026-05-29T00:36:03.439939+08:00"},{"id":"dab01b344f15667205c31d761866acb7","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"4-141","gmt_create":"2026-05-29T00:36:03.440584+08:00","gmt_modified":"2026-05-29T00:36:03.440584+08:00"},{"id":"9612c547c5baace638605ed8993427fc","path":"infrastructure/ai/errorClassifier.ts","line_range":"121-156","gmt_create":"2026-05-29T00:36:03.443041+08:00","gmt_modified":"2026-05-29T00:36:03.443041+08:00"},{"id":"ec7aa1cecef34429b91fe813e6807485","path":"lib/logger.ts","line_range":"1-25","gmt_create":"2026-05-29T00:36:03.443137+08:00","gmt_modified":"2026-05-29T00:36:03.443137+08:00"},{"id":"ca79d3f86e64656ced8e62b11241c5e6","path":"domain/sshAuth.ts","line_range":"1-125","gmt_create":"2026-05-29T16:04:30.665084+08:00","gmt_modified":"2026-05-29T16:04:30.665085+08:00"},{"id":"a3def397ad1794ae80408f70257853e4","path":"domain/credentials.ts","line_range":"1-111","gmt_create":"2026-05-29T16:04:30.665209+08:00","gmt_modified":"2026-05-29T16:04:30.665209+08:00"},{"id":"0239e67753852e82d4d41579e207c5dd","path":"electron/bridges/sshAuthHelper.cjs","line_range":"1-981","gmt_create":"2026-05-29T16:04:30.665311+08:00","gmt_modified":"2026-05-29T16:04:30.665311+08:00"},{"id":"47777a4c85b6514d718e48b1e04b0118","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"1-104","gmt_create":"2026-05-29T16:04:30.665423+08:00","gmt_modified":"2026-05-29T16:04:30.665423+08:00"},{"id":"8b8d8ae929a16344538886a81db8f214","path":"electron/bridges/passphraseHandler.cjs","line_range":"1-191","gmt_create":"2026-05-29T16:04:30.665517+08:00","gmt_modified":"2026-05-29T16:04:30.665517+08:00"},{"id":"53ccbc21b6b3804a9fa8cc8edbcac476","path":"electron/bridges/keyboardInteractiveHandler.cjs","line_range":"1-107","gmt_create":"2026-05-29T16:04:30.665611+08:00","gmt_modified":"2026-05-29T16:04:30.665611+08:00"},{"id":"924bb1a806344a0eb311e8d8c7575b2c","path":"components/terminal/TerminalAuthDialog.tsx","line_range":"1-307","gmt_create":"2026-05-29T16:04:30.665706+08:00","gmt_modified":"2026-05-29T16:04:30.665707+08:00"},{"id":"a06b108e573556a03a1c12c0b59891eb","path":"components/KeyboardInteractiveModal.tsx","line_range":"1-228","gmt_create":"2026-05-29T16:04:30.6658+08:00","gmt_modified":"2026-05-29T16:04:30.6658+08:00"},{"id":"52d0b0ac416628922950e54478ba650d","path":"components/PassphraseModal.tsx","line_range":"1-184","gmt_create":"2026-05-29T16:04:30.665893+08:00","gmt_modified":"2026-05-29T16:04:30.665893+08:00"},{"id":"7a65710ff0c1db23e5f91241e7c2cc03","path":"application/state/useVaultState.ts","line_range":"156-199","gmt_create":"2026-05-29T16:04:30.665985+08:00","gmt_modified":"2026-05-29T16:04:30.665985+08:00"},{"id":"91c695ba16ad5d471aad8daba5d1f6f0","path":"application/defaultKeyPassphrases.ts","line_range":"73-93","gmt_create":"2026-05-29T16:04:30.66608+08:00","gmt_modified":"2026-05-29T16:04:30.66608+08:00"},{"id":"6b5969e1d95eaf558be41b6443750eba","path":"domain/sshAuth.ts","line_range":"44-103","gmt_create":"2026-05-29T16:04:30.667429+08:00","gmt_modified":"2026-05-29T16:04:30.667429+08:00"},{"id":"35bc085ff57418a6ef690b0e579fc49f","path":"electron/bridges/sshAuthHelper.cjs","line_range":"464-718","gmt_create":"2026-05-29T16:04:30.667524+08:00","gmt_modified":"2026-05-29T16:04:30.667524+08:00"},{"id":"8970034d832fc470e0fe605b1e89da38","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"43-97","gmt_create":"2026-05-29T16:04:30.667616+08:00","gmt_modified":"2026-05-29T16:04:30.667616+08:00"},{"id":"21353a724957792ec2d18d735b25b472","path":"domain/credentials.ts","line_range":"30-110","gmt_create":"2026-05-29T16:04:30.667705+08:00","gmt_modified":"2026-05-29T16:04:30.667705+08:00"},{"id":"9693d9bf7f30c39aca2f495b6f7f7799","path":"components/terminal/TerminalAuthDialog.tsx","line_range":"18-39","gmt_create":"2026-05-29T16:04:30.667799+08:00","gmt_modified":"2026-05-29T16:04:30.667799+08:00"},{"id":"5db6727740eb5df8599c1adbdad450f1","path":"components/KeyboardInteractiveModal.tsx","line_range":"25-48","gmt_create":"2026-05-29T16:04:30.667895+08:00","gmt_modified":"2026-05-29T16:04:30.667895+08:00"},{"id":"58960be2def6fe290a3d622cc938d4b0","path":"components/PassphraseModal.tsx","line_range":"26-31","gmt_create":"2026-05-29T16:04:30.667986+08:00","gmt_modified":"2026-05-29T16:04:30.667986+08:00"},{"id":"2ec6f65bdac68ddac752edc9432c2dc1","path":"electron/bridges/passphraseHandler.cjs","line_range":"76-139","gmt_create":"2026-05-29T16:04:30.668411+08:00","gmt_modified":"2026-05-29T16:04:30.668411+08:00"},{"id":"2a34fd2cd38b67d2bda9ea5476346bb1","path":"electron/bridges/keyboardInteractiveHandler.cjs","line_range":"26-49","gmt_create":"2026-05-29T16:04:30.668503+08:00","gmt_modified":"2026-05-29T16:04:30.668503+08:00"},{"id":"6896a2e499ef113d1f2f61fdf44d3e8d","path":"domain/sshAuth.ts","line_range":"25-42","gmt_create":"2026-05-29T16:04:30.668598+08:00","gmt_modified":"2026-05-29T16:04:30.668598+08:00"},{"id":"6c3987ab9234bb35ea7475369bb5ac50","path":"domain/credentials.ts","line_range":"30-52","gmt_create":"2026-05-29T16:04:30.66892+08:00","gmt_modified":"2026-05-29T16:04:30.66892+08:00"},{"id":"88239c80ddd044b453557fe8fa6f27bf","path":"electron/bridges/sshAuthHelper.cjs","line_range":"296-373","gmt_create":"2026-05-29T16:04:30.66913+08:00","gmt_modified":"2026-05-29T16:04:30.66913+08:00"},{"id":"ce55c6d05dcd873f7342ed01b7472d53","path":"electron/bridges/sshAuthHelper.cjs","line_range":"782-790","gmt_create":"2026-05-29T16:04:30.670233+08:00","gmt_modified":"2026-05-29T16:04:30.670233+08:00"},{"id":"51702a7a5dd3dbdb9c48d645a91dbd9f","path":"electron/bridges/sshAuthHelper.cjs","line_range":"828-861","gmt_create":"2026-05-29T16:04:30.670326+08:00","gmt_modified":"2026-05-29T16:04:30.670326+08:00"},{"id":"4b66f1a9cc38229f9896cd834b152ea5","path":"components/keychain/GenerateStandardPanel.tsx","line_range":"14-30","gmt_create":"2026-05-29T16:04:30.670859+08:00","gmt_modified":"2026-05-29T16:04:30.670859+08:00"},{"id":"d360cba87d971df99a7724cb8e0cdbe8","path":"components/keychain/ImportKeyPanel.tsx","line_range":"15-29","gmt_create":"2026-05-29T16:04:30.670946+08:00","gmt_modified":"2026-05-29T16:04:30.670946+08:00"},{"id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","path":"components/keychain/IdentityPanel.tsx","line_range":"16-34","gmt_create":"2026-05-29T16:04:30.671039+08:00","gmt_modified":"2026-05-29T16:04:30.671039+08:00"},{"id":"dc4e286965a8fc1eff96b3ddfdf34d10","path":"components/keychain/utils.ts","line_range":"29-34","gmt_create":"2026-05-29T16:04:30.671574+08:00","gmt_modified":"2026-05-29T16:04:30.671574+08:00"},{"id":"05fa54de15d257c2519e65d4841cbfc9","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"41-85","gmt_create":"2026-05-29T16:04:30.672564+08:00","gmt_modified":"2026-05-29T16:04:30.672564+08:00"},{"id":"b4d4ead9b619e67de1c6708b706b437e","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"1-92","gmt_create":"2026-05-29T16:04:30.672772+08:00","gmt_modified":"2026-05-29T16:04:30.672772+08:00"},{"id":"3bf9ff51a47ed7bada8360a480c612f2","path":"electron/bridges/sshAuthHelper.pkcs8.test.cjs","line_range":"1-87","gmt_create":"2026-05-29T16:04:30.672867+08:00","gmt_modified":"2026-05-29T16:04:30.672867+08:00"},{"id":"fd080f88b1aef2580b3a2a9ba10550b3","path":"electron/bridges/sshAuthHelper.cjs","line_range":"140-162","gmt_create":"2026-05-29T16:04:30.672957+08:00","gmt_modified":"2026-05-29T16:04:30.672957+08:00"},{"id":"8eb4f9cc1e654cbf97e316351af95c10","path":"electron/bridges/sshAuthHelper.cjs","line_range":"120-134","gmt_create":"2026-05-29T16:04:30.675563+08:00","gmt_modified":"2026-05-29T16:04:30.675563+08:00"},{"id":"e5a37c8ad7a3d71da27c7701fbe45aba","path":"domain/credentials.ts","line_range":"59-110","gmt_create":"2026-05-29T16:04:30.675798+08:00","gmt_modified":"2026-05-29T16:04:30.675798+08:00"},{"id":"434d0a22feaba8201e2f028767a2ed4f","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"76-92","gmt_create":"2026-05-29T16:04:30.675887+08:00","gmt_modified":"2026-05-29T16:04:30.675887+08:00"},{"id":"87599e4f906c1f8774fd4bc92c06bc11","path":"electron/bridges/sshBridge.cjs","line_range":"696-722","gmt_create":"2026-05-29T16:04:37.479103+08:00","gmt_modified":"2026-05-29T16:04:37.479103+08:00"},{"id":"7531e57a28dfe8b57dd9a3c3c2780a10","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479202+08:00","gmt_modified":"2026-05-29T16:04:37.479202+08:00"},{"id":"79514ea5593b67be4cd9989564b3cc96","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479314+08:00","gmt_modified":"2026-05-29T16:04:37.479314+08:00"},{"id":"04d021e72f01a784d4bc6e6f79456a29","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479408+08:00","gmt_modified":"2026-05-29T16:04:37.479408+08:00"},{"id":"dc5ee5a48c639579c5a363bc06add941","path":"electron/bridges/sshAuthHelper.cjs","line_range":"140-180","gmt_create":"2026-05-29T16:04:37.479498+08:00","gmt_modified":"2026-05-29T16:04:37.479498+08:00"},{"id":"e6139ea5aed00d4df3606d79ae72ea59","path":"electron/bridges/sshAlgorithms.cjs","line_range":"1-120","gmt_create":"2026-05-29T16:04:37.479715+08:00","gmt_modified":"2026-05-29T16:04:37.479716+08:00"},{"id":"f6e27e4da6cbd578f71fd26a99b7275e","path":"electron/bridges/sshAlgorithms.cjs","line_range":"196-213","gmt_create":"2026-05-29T16:04:37.481064+08:00","gmt_modified":"2026-05-29T16:04:37.481065+08:00"},{"id":"2156259f8a615062cc2924c5f3f541fd","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"516-774","gmt_create":"2026-05-29T16:04:37.481279+08:00","gmt_modified":"2026-05-29T16:04:37.481279+08:00"},{"id":"9d127c152834958b27afc8c36276422d","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"52-97","gmt_create":"2026-05-29T16:04:37.481488+08:00","gmt_modified":"2026-05-29T16:04:37.481488+08:00"},{"id":"58363df82b870c4a85924d02ac30a632","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"38-120","gmt_create":"2026-05-29T16:04:37.481694+08:00","gmt_modified":"2026-05-29T16:04:37.481694+08:00"},{"id":"27308e69d5f8068b00feab164863555e","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"480-695","gmt_create":"2026-05-29T16:04:37.481786+08:00","gmt_modified":"2026-05-29T16:04:37.481786+08:00"},{"id":"b598e20f6b4aaf2c232501136381d1ff","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"718-774","gmt_create":"2026-05-29T16:04:37.48188+08:00","gmt_modified":"2026-05-29T16:04:37.48188+08:00"},{"id":"a2f9b4aa9aebb38a23c5cb3474c20a56","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"120-185","gmt_create":"2026-05-29T16:04:37.482526+08:00","gmt_modified":"2026-05-29T16:04:37.482526+08:00"},{"id":"90fdd9a212a58f938dbdf87a08a34080","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"4-69","gmt_create":"2026-05-29T16:04:37.483066+08:00","gmt_modified":"2026-05-29T16:04:37.483066+08:00"},{"id":"098d7680b66c291640f039d0bf3490db","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"71-238","gmt_create":"2026-05-29T16:04:37.483157+08:00","gmt_modified":"2026-05-29T16:04:37.483157+08:00"},{"id":"d61b5c8f9e540fa898bf04d4bab73668","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"341-477","gmt_create":"2026-05-29T16:04:37.483255+08:00","gmt_modified":"2026-05-29T16:04:37.483255+08:00"},{"id":"dc193a31e0350ecb17c2dfd447fbb186","path":"electron/bridges/sshBridge/sessionOps.cjs","line_range":"483-800","gmt_create":"2026-05-29T16:04:37.483345+08:00","gmt_modified":"2026-05-29T16:04:37.483345+08:00"},{"id":"f36205d8dfc10116396d04afb380c007","path":"types/global/netcatty-bridge-session.d.ts","line_range":"1-269","gmt_create":"2026-05-29T16:04:37.484878+08:00","gmt_modified":"2026-05-29T16:04:37.484878+08:00"},{"id":"967f615a0ce86206176eec4b3893cb44","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"16-17","gmt_create":"2026-05-29T16:04:37.485654+08:00","gmt_modified":"2026-05-29T16:04:37.485654+08:00"},{"id":"94e45c6ed659ac90a26ebdde4c5a22cd","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"635-643","gmt_create":"2026-05-29T16:04:37.486411+08:00","gmt_modified":"2026-05-29T16:04:37.486411+08:00"},{"id":"cee005eaf45a172ad51021cc4bd9d4c8","path":"electron/bridges/sshAlgorithms.cjs","line_range":"27-46","gmt_create":"2026-05-29T16:04:37.4865+08:00","gmt_modified":"2026-05-29T16:04:37.4865+08:00"},{"id":"521618219a325c099c292d5fa478afa1","path":"electron/bridges/sshBridge.cjs","line_range":"300-355","gmt_create":"2026-05-29T16:04:37.48662+08:00","gmt_modified":"2026-05-29T16:04:37.48662+08:00"},{"id":"b5f085fd266e5a8356c23e7558819bc5","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"776-800","gmt_create":"2026-05-29T16:04:37.48684+08:00","gmt_modified":"2026-05-29T16:04:37.48684+08:00"},{"id":"f1f993940acf565ba73bee22d5919a7f","path":"electron/bridges/sshBridge.cjs","line_range":"259-294","gmt_create":"2026-05-29T16:04:37.487072+08:00","gmt_modified":"2026-05-29T16:04:37.487072+08:00"},{"id":"5f4e293cf8044ad4c29f4529f63bd2fa","path":"electron/bridges/sshBridge.cjs","line_range":"380-691","gmt_create":"2026-05-29T16:04:37.487293+08:00","gmt_modified":"2026-05-29T16:04:37.487293+08:00"},{"id":"0933fbd748da17c3030fa1daeb479520","path":"electron/bridges/terminalBridge.cjs","line_range":"471-514","gmt_create":"2026-05-29T16:04:37.487383+08:00","gmt_modified":"2026-05-29T16:04:37.487383+08:00"},{"id":"f0eb3f39c6cfaadb71decee64be5dc18","path":"electron/bridges/sshBridge/startSession.cjs","line_range":"34-60","gmt_create":"2026-05-29T16:04:37.487584+08:00","gmt_modified":"2026-05-29T16:04:37.487584+08:00"},{"id":"067c09dc937014b6ffa0ff44112be9d3","path":"electron/bridges/sshBridge/execCommand.cjs","line_range":"5-10","gmt_create":"2026-05-29T16:04:37.487679+08:00","gmt_modified":"2026-05-29T16:04:37.487679+08:00"},{"id":"c2f102204f8ebfea0a2b298c795ae9b9","path":"electron/bridges/sshAlgorithms.cjs","line_range":"180-213","gmt_create":"2026-05-29T16:04:37.487786+08:00","gmt_modified":"2026-05-29T16:04:37.487786+08:00"},{"id":"ff313b8f1240962ed5e23d88b3e1dd0c","path":"electron/bridges/sshBridge.cjs","line_range":"60-68","gmt_create":"2026-05-29T16:04:37.48799+08:00","gmt_modified":"2026-05-29T16:04:37.48799+08:00"},{"id":"208ea0f7860a43fb1ea8f4dd152fc91d","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"1-14","gmt_create":"2026-05-29T16:04:37.488085+08:00","gmt_modified":"2026-05-29T16:04:37.488085+08:00"},{"id":"c6e60f3a17a2be4bf084b33d41eaeeea","path":"electron/bridges/privateKeyNormalizer.cjs","line_range":"88-92","gmt_create":"2026-05-29T16:04:37.488177+08:00","gmt_modified":"2026-05-29T16:04:37.488177+08:00"},{"id":"6ee23a1e0c2b29c99c711a042bbd095c","path":"electron/bridges/privateKeyNormalizer.test.cjs","line_range":"1-93","gmt_create":"2026-05-29T16:04:37.488615+08:00","gmt_modified":"2026-05-29T16:04:37.488615+08:00"},{"id":"41746efa23f23ba4cf6b9016d10e1cb2","path":"components/ai/AgentSelector.tsx","line_range":"118-171","gmt_create":"2026-05-29T16:05:13.398851+08:00","gmt_modified":"2026-05-29T16:05:13.398851+08:00"},{"id":"d0f4e4df420db34782b941798d15b8b0","path":"application/state/useAgentDiscovery.ts","line_range":"19-37","gmt_create":"2026-05-29T16:05:13.398949+08:00","gmt_modified":"2026-05-29T16:05:13.398949+08:00"},{"id":"333bc4c2289c780b32a0e15ba2023e89","path":"components/settings/tabs/ai/managedAgentState.ts","line_range":"29-68","gmt_create":"2026-05-29T16:05:13.399048+08:00","gmt_modified":"2026-05-29T16:05:13.399048+08:00"},{"id":"c83c9f798a0891e9f73808f9e8f47550","path":"infrastructure/ai/types.ts","line_range":"191-230","gmt_create":"2026-05-29T16:05:13.399257+08:00","gmt_modified":"2026-05-29T16:05:13.399257+08:00"},{"id":"05677de111768694bf13a5bc6ab7be71","path":"components/ai/acpHistory.ts","line_range":"398-428","gmt_create":"2026-05-29T16:05:13.399357+08:00","gmt_modified":"2026-05-29T16:05:13.399357+08:00"},{"id":"c7cb5b6e4ba59524d65b9d22137d0b66","path":"electron/bridges/aiBridge.cjs","line_range":"921-958","gmt_create":"2026-05-29T16:05:13.399451+08:00","gmt_modified":"2026-05-29T16:05:13.399451+08:00"},{"id":"3e0f32caa6877953faad8ce7eb17f0f9","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","line_range":"143-221","gmt_create":"2026-05-29T16:05:13.399543+08:00","gmt_modified":"2026-05-29T16:05:13.399543+08:00"},{"id":"6ab0ae7644299980bb5ee29e079bcb84","path":"electron/bridges/ai/shellUtils.cjs","line_range":"267-291","gmt_create":"2026-05-29T16:05:13.399635+08:00","gmt_modified":"2026-05-29T16:05:13.399635+08:00"},{"id":"a5d2f490756c2a5809570f1057d7f781","path":"components/settings/tabs/ai/CodebuddyCard.tsx","line_range":"16-59","gmt_create":"2026-05-29T16:05:13.399868+08:00","gmt_modified":"2026-05-29T16:05:13.399868+08:00"},{"id":"9da62b56d2f1f61c66b6365b6d500e71","path":"components/ai/AgentSelector.tsx","line_range":"181-190","gmt_create":"2026-05-29T16:05:13.402187+08:00","gmt_modified":"2026-05-29T16:05:13.402187+08:00"},{"id":"91a902b0e21cb83af9922c7ce982be12","path":"components/ai/AgentSelector.tsx","line_range":"131-161","gmt_create":"2026-05-29T16:05:13.402665+08:00","gmt_modified":"2026-05-29T16:05:13.402665+08:00"},{"id":"492d335dfaa3489b286de567804b1d10","path":"application/state/useAgentDiscovery.ts","line_range":"42-73","gmt_create":"2026-05-29T16:05:13.403218+08:00","gmt_modified":"2026-05-29T16:05:13.403218+08:00"},{"id":"8cb669b0ea9e9a68866929205039784f","path":"infrastructure/ai/types.ts","line_range":"217-230","gmt_create":"2026-05-29T16:05:13.403425+08:00","gmt_modified":"2026-05-29T16:05:13.403425+08:00"},{"id":"ad1a57f19d7514ade7d42187b5d85ba5","path":"infrastructure/ai/managedAgents.ts","line_range":"35-53","gmt_create":"2026-05-29T16:05:13.403976+08:00","gmt_modified":"2026-05-29T16:05:13.403976+08:00"},{"id":"64df9400788f461bea6619a6474c0330","path":"components/ai/sessionScopeMatch.ts","line_range":"3-28","gmt_create":"2026-05-29T16:05:13.404428+08:00","gmt_modified":"2026-05-29T16:05:13.404428+08:00"},{"id":"e93da680ddf45f077fd5867ee142df5f","path":"infrastructure/ai/types.ts","line_range":"204-215","gmt_create":"2026-05-29T16:05:13.404641+08:00","gmt_modified":"2026-05-29T16:05:13.404642+08:00"},{"id":"716fc714b8fb0d6150fd439696067af7","path":"components/settings/tabs/ai/types.ts","line_range":"111-140","gmt_create":"2026-05-29T16:05:13.404734+08:00","gmt_modified":"2026-05-29T16:05:13.404734+08:00"},{"id":"a4f498b7c851c6fe8fa3863827006c8c","path":"electron/bridges/aiBridge.cjs","line_range":"931-957","gmt_create":"2026-05-29T16:05:13.405047+08:00","gmt_modified":"2026-05-29T16:05:13.405047+08:00"},{"id":"310b560b4ae2f2ce1cffaa873a363c4d","path":"electron/bridges/ai/shellUtils.cjs","line_range":"162-189","gmt_create":"2026-05-29T16:05:13.405362+08:00","gmt_modified":"2026-05-29T16:05:13.405362+08:00"},{"id":"871dcbd9f180ec72a75242d4906b94ec","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","line_range":"20-43","gmt_create":"2026-05-29T16:05:13.40767+08:00","gmt_modified":"2026-05-29T16:05:13.40767+08:00"},{"id":"4102225781abd3e0cba30d9dc2e5f3e2","path":"electron/bridges/aiBridge.test.cjs","line_range":"398-487","gmt_create":"2026-05-29T16:05:13.410086+08:00","gmt_modified":"2026-05-29T16:05:13.410086+08:00"},{"id":"4492c48235534414c985d7aafc68d67e","path":"components/ai/agentSendEligibility.ts","line_range":"10-15","gmt_create":"2026-05-29T16:05:13.410206+08:00","gmt_modified":"2026-05-29T16:05:13.410206+08:00"},{"id":"1f3197fea2ebbd0d1615c84e3c674985","path":"components/ai/acpHistory.ts","line_range":"355-378","gmt_create":"2026-05-29T16:05:13.410333+08:00","gmt_modified":"2026-05-29T16:05:13.410333+08:00"},{"id":"8938b76f040af3dee978b382fd44d53b","path":"components/ai/sessionScopeMatch.ts","line_range":"23-25","gmt_create":"2026-05-29T16:05:13.410436+08:00","gmt_modified":"2026-05-29T16:05:13.410436+08:00"},{"id":"7e198f1c6577b9bcb57309bcb4ffc2c0","path":"components/AIChatSidePanel.tsx","line_range":"517-525","gmt_create":"2026-06-01T18:15:51.936975+08:00","gmt_modified":"2026-06-01T18:15:51.936975+08:00"},{"id":"01f7b710b5abcb9f89dba64d83de2e6e","path":"infrastructure/ai/types.ts","line_range":"331-342","gmt_create":"2026-06-01T18:15:51.937283+08:00","gmt_modified":"2026-06-01T18:15:51.937283+08:00"}],"knowledge_relations":[{"id":1,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 72c92ab5-35c1-4b79-b485-e9f12ce2fae8","gmt_create":"2026-05-28T21:32:33.725001+08:00","gmt_modified":"2026-05-28T21:32:33.725001+08:00"},{"id":2,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 2c41cd44-9608-4cfc-bae9-2825c596789f","gmt_create":"2026-05-28T21:32:33.725265+08:00","gmt_modified":"2026-05-28T21:32:33.725265+08:00"},{"id":3,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e 21014d8b-82b1-49fa-b9a5-6e9d0aded67f","gmt_create":"2026-05-28T21:32:33.725606+08:00","gmt_modified":"2026-05-28T21:32:33.725606+08:00"},{"id":4,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e cf7f749e-8e9a-42b7-958c-19c55410410d","gmt_create":"2026-05-28T21:32:33.725909+08:00","gmt_modified":"2026-05-28T21:32:33.725909+08:00"},{"id":6,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e b16d96dd-1d17-4426-a57f-2a7fbd6076a5","gmt_create":"2026-05-28T21:32:33.726231+08:00","gmt_modified":"2026-05-28T21:32:33.726231+08:00"},{"id":7,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 83ef41c8-3531-4600-9d56-76e1eff02a93","gmt_create":"2026-05-28T21:32:33.726389+08:00","gmt_modified":"2026-05-28T21:32:33.726389+08:00"},{"id":8,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 076f60a6-04ca-4485-aaaf-9093a6a2c260","gmt_create":"2026-05-28T21:32:33.726528+08:00","gmt_modified":"2026-05-28T21:32:33.726528+08:00"},{"id":9,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"dc88333f-8744-4c40-9790-3466bdb408b3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e dc88333f-8744-4c40-9790-3466bdb408b3","gmt_create":"2026-05-28T21:32:33.726699+08:00","gmt_modified":"2026-05-28T21:32:33.726699+08:00"},{"id":10,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"f4139171-e9dc-4289-9492-ce7bc9e73974","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e f4139171-e9dc-4289-9492-ce7bc9e73974","gmt_create":"2026-05-28T21:32:33.727017+08:00","gmt_modified":"2026-05-28T21:32:33.727017+08:00"},{"id":11,"source_id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","target_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa -\u003e 6911f629-88c9-46a5-a025-dad6e315f1e3","gmt_create":"2026-05-28T21:32:33.727166+08:00","gmt_modified":"2026-05-28T21:32:33.727166+08:00"},{"id":12,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e e99874cc-51a8-4b68-8a1c-9daecf64145f","gmt_create":"2026-05-28T21:32:33.72732+08:00","gmt_modified":"2026-05-28T21:32:33.72732+08:00"},{"id":13,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e 3d2b5605-9785-46cf-9081-f52ded42e6c9","gmt_create":"2026-05-28T21:32:33.727458+08:00","gmt_modified":"2026-05-28T21:32:33.727458+08:00"},{"id":14,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e a9e9905f-e5fb-417a-bb3a-cc85c47635a5","gmt_create":"2026-05-28T21:32:33.727603+08:00","gmt_modified":"2026-05-28T21:32:33.727603+08:00"},{"id":15,"source_id":"e3813e85-475b-4636-8677-0ac6b228a891","target_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e3813e85-475b-4636-8677-0ac6b228a891 -\u003e 5f2c2451-499e-4dc0-9d7c-adfc98ec195e","gmt_create":"2026-05-28T21:32:33.727755+08:00","gmt_modified":"2026-05-28T21:32:33.727755+08:00"},{"id":16,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"8960eec6-53de-41f2-9da2-35c059bfd993","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 8960eec6-53de-41f2-9da2-35c059bfd993","gmt_create":"2026-05-28T21:32:33.727929+08:00","gmt_modified":"2026-05-28T21:32:33.727929+08:00"},{"id":17,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"7027494b-ee06-47c6-ba86-fa80d1bf638d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 7027494b-ee06-47c6-ba86-fa80d1bf638d","gmt_create":"2026-05-28T21:32:33.728076+08:00","gmt_modified":"2026-05-28T21:32:33.728076+08:00"},{"id":18,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"44c64a89-94ca-4e97-8cfe-c248c6cde27a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e 44c64a89-94ca-4e97-8cfe-c248c6cde27a","gmt_create":"2026-05-28T21:32:33.728214+08:00","gmt_modified":"2026-05-28T21:32:33.728214+08:00"},{"id":19,"source_id":"904a54db-af5c-4b59-ac68-5cb676129021","target_id":"c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 904a54db-af5c-4b59-ac68-5cb676129021 -\u003e c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","gmt_create":"2026-05-28T21:32:33.728347+08:00","gmt_modified":"2026-05-28T21:32:33.728347+08:00"},{"id":20,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"4dc539e5-a853-4edf-9ca0-48e6322562ef","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 4dc539e5-a853-4edf-9ca0-48e6322562ef","gmt_create":"2026-05-28T21:32:33.728577+08:00","gmt_modified":"2026-05-28T21:32:33.728577+08:00"},{"id":22,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"f018dbe0-35a9-4ac2-abcb-da04c336a890","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e f018dbe0-35a9-4ac2-abcb-da04c336a890","gmt_create":"2026-05-28T21:32:33.728853+08:00","gmt_modified":"2026-05-28T21:32:33.728853+08:00"},{"id":23,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"326cecd9-d969-462d-9281-a1d57888dccd","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 326cecd9-d969-462d-9281-a1d57888dccd","gmt_create":"2026-05-28T21:32:33.728996+08:00","gmt_modified":"2026-05-28T21:32:33.728996+08:00"},{"id":24,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","gmt_create":"2026-05-28T21:32:33.729227+08:00","gmt_modified":"2026-05-28T21:32:33.729227+08:00"},{"id":25,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"54acc46f-d6ad-4f2c-850a-93c684202570","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 54acc46f-d6ad-4f2c-850a-93c684202570","gmt_create":"2026-05-28T21:32:33.729389+08:00","gmt_modified":"2026-05-28T21:32:33.72939+08:00"},{"id":26,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","gmt_create":"2026-05-28T21:32:33.729587+08:00","gmt_modified":"2026-05-28T21:32:33.729587+08:00"},{"id":27,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"c6203bd1-7727-4496-bd98-180f6da076fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e c6203bd1-7727-4496-bd98-180f6da076fe","gmt_create":"2026-05-28T21:32:33.729726+08:00","gmt_modified":"2026-05-28T21:32:33.729726+08:00"},{"id":29,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"f2bbaae1-29e0-4399-9142-1d3f26b371ef","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e f2bbaae1-29e0-4399-9142-1d3f26b371ef","gmt_create":"2026-05-28T21:32:33.733638+08:00","gmt_modified":"2026-05-28T21:32:33.733638+08:00"},{"id":30,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"2e7a9992-3118-4134-95d6-362c34c77b26","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 2e7a9992-3118-4134-95d6-362c34c77b26","gmt_create":"2026-05-28T21:32:33.733811+08:00","gmt_modified":"2026-05-28T21:32:33.733811+08:00"},{"id":31,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"ecaffc2b-e494-4ed5-8f02-db5fa282aa72","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e ecaffc2b-e494-4ed5-8f02-db5fa282aa72","gmt_create":"2026-05-28T21:32:33.734678+08:00","gmt_modified":"2026-05-28T21:32:33.734678+08:00"},{"id":32,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","gmt_create":"2026-05-28T21:32:33.734932+08:00","gmt_modified":"2026-05-28T21:32:33.734932+08:00"},{"id":33,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"45af2034-e7e9-47d9-90fd-0a031df9231c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 45af2034-e7e9-47d9-90fd-0a031df9231c","gmt_create":"2026-05-28T21:32:33.735108+08:00","gmt_modified":"2026-05-28T21:32:33.735108+08:00"},{"id":34,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"36703908-4de5-4a47-ae0c-1560ce2453e4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 36703908-4de5-4a47-ae0c-1560ce2453e4","gmt_create":"2026-05-28T21:32:33.735279+08:00","gmt_modified":"2026-05-28T21:32:33.73528+08:00"},{"id":35,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","gmt_create":"2026-05-28T21:32:33.735437+08:00","gmt_modified":"2026-05-28T21:32:33.735438+08:00"},{"id":36,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"250e1ffa-0511-4e9b-9572-3b94da7ed30f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 250e1ffa-0511-4e9b-9572-3b94da7ed30f","gmt_create":"2026-05-28T21:32:33.735601+08:00","gmt_modified":"2026-05-28T21:32:33.735601+08:00"},{"id":37,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"e0edb13e-c272-40b7-ace2-3355efd887d7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e e0edb13e-c272-40b7-ace2-3355efd887d7","gmt_create":"2026-05-28T21:32:33.735768+08:00","gmt_modified":"2026-05-28T21:32:33.735768+08:00"},{"id":38,"source_id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","target_id":"7ff04dc2-a695-40d1-8102-cfdd1bcbd276","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 3d2b5605-9785-46cf-9081-f52ded42e6c9 -\u003e 7ff04dc2-a695-40d1-8102-cfdd1bcbd276","gmt_create":"2026-05-28T21:32:33.735958+08:00","gmt_modified":"2026-05-28T21:32:33.735958+08:00"},{"id":39,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"9a20a6d8-32b5-472c-8f96-f55fddf76d5a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 9a20a6d8-32b5-472c-8f96-f55fddf76d5a","gmt_create":"2026-05-28T21:32:33.73618+08:00","gmt_modified":"2026-05-28T21:32:33.73618+08:00"},{"id":40,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"a16a3ff5-48da-45e5-99f9-96588d5b79fa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e a16a3ff5-48da-45e5-99f9-96588d5b79fa","gmt_create":"2026-05-28T21:32:33.73634+08:00","gmt_modified":"2026-05-28T21:32:33.73634+08:00"},{"id":41,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"8f287c60-fbc7-4023-a21d-a9904046e89f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 8f287c60-fbc7-4023-a21d-a9904046e89f","gmt_create":"2026-05-28T21:32:33.73651+08:00","gmt_modified":"2026-05-28T21:32:33.73651+08:00"},{"id":42,"source_id":"83ef41c8-3531-4600-9d56-76e1eff02a93","target_id":"59643266-d11f-47e4-acd1-e4caaa810589","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 83ef41c8-3531-4600-9d56-76e1eff02a93 -\u003e 59643266-d11f-47e4-acd1-e4caaa810589","gmt_create":"2026-05-28T21:32:33.736665+08:00","gmt_modified":"2026-05-28T21:32:33.736665+08:00"},{"id":43,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"1694ef25-1221-4fed-8be5-64690fff9c70","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e 1694ef25-1221-4fed-8be5-64690fff9c70","gmt_create":"2026-05-28T21:32:33.736893+08:00","gmt_modified":"2026-05-28T21:32:33.736893+08:00"},{"id":44,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"37433958-d11a-47cc-8b45-7f963b7c3801","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e 37433958-d11a-47cc-8b45-7f963b7c3801","gmt_create":"2026-05-28T21:32:33.737072+08:00","gmt_modified":"2026-05-28T21:32:33.737072+08:00"},{"id":45,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"f6e21ee1-4113-45ba-ac8f-1eba088c1b24","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e f6e21ee1-4113-45ba-ac8f-1eba088c1b24","gmt_create":"2026-05-28T21:32:33.737239+08:00","gmt_modified":"2026-05-28T21:32:33.737239+08:00"},{"id":46,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"b68a612e-3c3f-4c43-9676-bdb3f91bb678","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e b68a612e-3c3f-4c43-9676-bdb3f91bb678","gmt_create":"2026-05-28T21:32:33.73741+08:00","gmt_modified":"2026-05-28T21:32:33.73741+08:00"},{"id":47,"source_id":"2c41cd44-9608-4cfc-bae9-2825c596789f","target_id":"bb9f89dd-b0e9-4cfa-8153-b52d1904911e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2c41cd44-9608-4cfc-bae9-2825c596789f -\u003e bb9f89dd-b0e9-4cfa-8153-b52d1904911e","gmt_create":"2026-05-28T21:32:33.737596+08:00","gmt_modified":"2026-05-28T21:32:33.737596+08:00"},{"id":48,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"74c23b15-a37c-415b-8ad8-d01a28fa32ca","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 74c23b15-a37c-415b-8ad8-d01a28fa32ca","gmt_create":"2026-05-28T21:32:33.737869+08:00","gmt_modified":"2026-05-28T21:32:33.737869+08:00"},{"id":49,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"71c44865-0b1f-460a-863f-5a4f24a4fce7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 71c44865-0b1f-460a-863f-5a4f24a4fce7","gmt_create":"2026-05-28T21:32:33.738039+08:00","gmt_modified":"2026-05-28T21:32:33.738039+08:00"},{"id":50,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"2098231c-2de5-4da3-b958-08734c3a8419","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e 2098231c-2de5-4da3-b958-08734c3a8419","gmt_create":"2026-05-28T21:32:33.738332+08:00","gmt_modified":"2026-05-28T21:32:33.738332+08:00"},{"id":51,"source_id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","target_id":"c51ce701-f39e-4770-bfe9-7ed664d78ece","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 076f60a6-04ca-4485-aaaf-9093a6a2c260 -\u003e c51ce701-f39e-4770-bfe9-7ed664d78ece","gmt_create":"2026-05-28T21:32:33.73893+08:00","gmt_modified":"2026-05-28T21:32:33.73893+08:00"},{"id":52,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"7b1c56ff-3c51-4274-bcf5-d3d1f8477382","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 7b1c56ff-3c51-4274-bcf5-d3d1f8477382","gmt_create":"2026-05-28T21:32:33.739248+08:00","gmt_modified":"2026-05-28T21:32:33.739248+08:00"},{"id":53,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"1df8b934-e8f0-45d5-a44e-2985b5f62201","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 1df8b934-e8f0-45d5-a44e-2985b5f62201","gmt_create":"2026-05-28T21:32:33.739416+08:00","gmt_modified":"2026-05-28T21:32:33.739416+08:00"},{"id":54,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"5a51d08c-b7e1-4b2c-8196-8e3d248e854a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 5a51d08c-b7e1-4b2c-8196-8e3d248e854a","gmt_create":"2026-05-28T21:32:33.739587+08:00","gmt_modified":"2026-05-28T21:32:33.739587+08:00"},{"id":55,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"cf2d1803-be1b-4f5c-abef-19c145d455cf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e cf2d1803-be1b-4f5c-abef-19c145d455cf","gmt_create":"2026-05-28T21:32:33.739756+08:00","gmt_modified":"2026-05-28T21:32:33.739756+08:00"},{"id":56,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","gmt_create":"2026-05-28T21:32:33.739912+08:00","gmt_modified":"2026-05-28T21:32:33.739913+08:00"},{"id":57,"source_id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","target_id":"765a165b-9816-400a-83ba-473f4418e1ba","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: a9e9905f-e5fb-417a-bb3a-cc85c47635a5 -\u003e 765a165b-9816-400a-83ba-473f4418e1ba","gmt_create":"2026-05-28T21:32:33.740074+08:00","gmt_modified":"2026-05-28T21:32:33.740074+08:00"},{"id":58,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"5ef9349b-68d6-4060-bdd6-f994eb94b4b0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 5ef9349b-68d6-4060-bdd6-f994eb94b4b0","gmt_create":"2026-05-28T21:32:33.740315+08:00","gmt_modified":"2026-05-28T21:32:33.740315+08:00"},{"id":59,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"1ee90d0b-1543-46d7-8d77-8c6d5a040e35","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 1ee90d0b-1543-46d7-8d77-8c6d5a040e35","gmt_create":"2026-05-28T21:32:33.740462+08:00","gmt_modified":"2026-05-28T21:32:33.740462+08:00"},{"id":60,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"7484d7a0-8b35-44d2-a7da-139ec01da695","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 7484d7a0-8b35-44d2-a7da-139ec01da695","gmt_create":"2026-05-28T21:32:33.740614+08:00","gmt_modified":"2026-05-28T21:32:33.740614+08:00"},{"id":61,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","gmt_create":"2026-05-28T21:32:33.740799+08:00","gmt_modified":"2026-05-28T21:32:33.740799+08:00"},{"id":62,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"ec9e3933-aba5-4959-a593-ae110a420f06","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e ec9e3933-aba5-4959-a593-ae110a420f06","gmt_create":"2026-05-28T21:32:33.740963+08:00","gmt_modified":"2026-05-28T21:32:33.740963+08:00"},{"id":63,"source_id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","target_id":"95f25b79-6d2b-4805-bd19-d055bce67908","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 21014d8b-82b1-49fa-b9a5-6e9d0aded67f -\u003e 95f25b79-6d2b-4805-bd19-d055bce67908","gmt_create":"2026-05-28T21:32:33.741133+08:00","gmt_modified":"2026-05-28T21:32:33.741133+08:00"},{"id":64,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"f12bccb7-c5ba-4609-9741-e46383cbbc70","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e f12bccb7-c5ba-4609-9741-e46383cbbc70","gmt_create":"2026-05-28T21:32:33.741395+08:00","gmt_modified":"2026-05-28T21:32:33.741395+08:00"},{"id":65,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"fc559a24-ee72-4904-afc4-365c2a61c21f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e fc559a24-ee72-4904-afc4-365c2a61c21f","gmt_create":"2026-05-28T21:32:33.74156+08:00","gmt_modified":"2026-05-28T21:32:33.74156+08:00"},{"id":66,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"fcc17a60-93fe-4e71-b393-74e8fde83291","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e fcc17a60-93fe-4e71-b393-74e8fde83291","gmt_create":"2026-05-28T21:32:33.741747+08:00","gmt_modified":"2026-05-28T21:32:33.741747+08:00"},{"id":67,"source_id":"dc88333f-8744-4c40-9790-3466bdb408b3","target_id":"9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dc88333f-8744-4c40-9790-3466bdb408b3 -\u003e 9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","gmt_create":"2026-05-28T21:32:33.741904+08:00","gmt_modified":"2026-05-28T21:32:33.741904+08:00"},{"id":68,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"28e4f2ee-c8ca-4994-b62c-9ac71403d04d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 28e4f2ee-c8ca-4994-b62c-9ac71403d04d","gmt_create":"2026-05-28T21:32:33.742126+08:00","gmt_modified":"2026-05-28T21:32:33.742126+08:00"},{"id":69,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"dcb07678-55bd-469e-a441-411c1c8b7571","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e dcb07678-55bd-469e-a441-411c1c8b7571","gmt_create":"2026-05-28T21:32:33.742295+08:00","gmt_modified":"2026-05-28T21:32:33.742295+08:00"},{"id":70,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"3c9c8608-9041-4736-bff6-4b6c08e234ce","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 3c9c8608-9041-4736-bff6-4b6c08e234ce","gmt_create":"2026-05-28T21:32:33.742446+08:00","gmt_modified":"2026-05-28T21:32:33.742446+08:00"},{"id":71,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"2d2a4c62-7798-4c1c-81a0-200c0748b4d2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 2d2a4c62-7798-4c1c-81a0-200c0748b4d2","gmt_create":"2026-05-28T21:32:33.742633+08:00","gmt_modified":"2026-05-28T21:32:33.742633+08:00"},{"id":72,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","gmt_create":"2026-05-28T21:32:33.742815+08:00","gmt_modified":"2026-05-28T21:32:33.742815+08:00"},{"id":73,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","gmt_create":"2026-05-28T21:32:33.742974+08:00","gmt_modified":"2026-05-28T21:32:33.742974+08:00"},{"id":74,"source_id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","target_id":"5fad6bf9-012b-4055-8a0b-bdec02248b2b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5f2c2451-499e-4dc0-9d7c-adfc98ec195e -\u003e 5fad6bf9-012b-4055-8a0b-bdec02248b2b","gmt_create":"2026-05-28T21:32:33.743145+08:00","gmt_modified":"2026-05-28T21:32:33.743145+08:00"},{"id":75,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"1f554e89-41a3-4589-9116-715d7326d7df","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 1f554e89-41a3-4589-9116-715d7326d7df","gmt_create":"2026-05-28T21:32:33.743386+08:00","gmt_modified":"2026-05-28T21:32:33.743386+08:00"},{"id":76,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"6d891e74-605c-4f85-84f1-6c9277f6ae57","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 6d891e74-605c-4f85-84f1-6c9277f6ae57","gmt_create":"2026-05-28T21:32:33.743548+08:00","gmt_modified":"2026-05-28T21:32:33.743548+08:00"},{"id":77,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"020d314c-4da8-4e4e-ab48-4212b49c5659","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 020d314c-4da8-4e4e-ab48-4212b49c5659","gmt_create":"2026-05-28T21:32:33.743709+08:00","gmt_modified":"2026-05-28T21:32:33.743709+08:00"},{"id":78,"source_id":"cf7f749e-8e9a-42b7-958c-19c55410410d","target_id":"4c7c01e9-edfe-4726-81ca-4b4aceaae66a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: cf7f749e-8e9a-42b7-958c-19c55410410d -\u003e 4c7c01e9-edfe-4726-81ca-4b4aceaae66a","gmt_create":"2026-05-28T21:32:33.743876+08:00","gmt_modified":"2026-05-28T21:32:33.743876+08:00"},{"id":79,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"73f98836-cfe0-46eb-a986-2349ae88c8c1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 73f98836-cfe0-46eb-a986-2349ae88c8c1","gmt_create":"2026-05-28T21:32:33.744235+08:00","gmt_modified":"2026-05-28T21:32:33.744235+08:00"},{"id":80,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"49a94704-ca02-4541-a00e-692fc26c346b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 49a94704-ca02-4541-a00e-692fc26c346b","gmt_create":"2026-05-28T21:32:33.744395+08:00","gmt_modified":"2026-05-28T21:32:33.744395+08:00"},{"id":81,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"861be5e2-69ca-4618-8fb5-950adbbc35fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 861be5e2-69ca-4618-8fb5-950adbbc35fe","gmt_create":"2026-05-28T21:32:33.744544+08:00","gmt_modified":"2026-05-28T21:32:33.744544+08:00"},{"id":89,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"6f52536a-2f63-46a3-ba9e-99c7d0669a75","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 6f52536a-2f63-46a3-ba9e-99c7d0669a75","gmt_create":"2026-05-28T21:32:33.746075+08:00","gmt_modified":"2026-05-28T21:32:33.746075+08:00"},{"id":90,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"de284344-f31b-48aa-8fd4-91b2e96d4f6b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e de284344-f31b-48aa-8fd4-91b2e96d4f6b","gmt_create":"2026-05-28T21:32:33.74624+08:00","gmt_modified":"2026-05-28T21:32:33.746241+08:00"},{"id":91,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","gmt_create":"2026-05-28T21:32:33.746399+08:00","gmt_modified":"2026-05-28T21:32:33.746399+08:00"},{"id":92,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"966e6580-5798-40b2-8453-4626ca83115b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 966e6580-5798-40b2-8453-4626ca83115b","gmt_create":"2026-05-28T21:32:33.746548+08:00","gmt_modified":"2026-05-28T21:32:33.746548+08:00"},{"id":93,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"9293b231-76ae-4669-ac34-f4aaa7babac9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e 9293b231-76ae-4669-ac34-f4aaa7babac9","gmt_create":"2026-05-28T21:32:33.746713+08:00","gmt_modified":"2026-05-28T21:32:33.746713+08:00"},{"id":95,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","gmt_create":"2026-05-28T21:32:33.747027+08:00","gmt_modified":"2026-05-28T21:32:33.747027+08:00"},{"id":96,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"f5dbfab0-b49d-4f86-9bec-8c5d833d7193","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e f5dbfab0-b49d-4f86-9bec-8c5d833d7193","gmt_create":"2026-05-28T21:32:33.747189+08:00","gmt_modified":"2026-05-28T21:32:33.747189+08:00"},{"id":97,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T00:33:30.857684+08:00","gmt_modified":"2026-05-29T00:33:30.857684+08:00"},{"id":98,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a27362064fa400c3e97c1a000e552e79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/types.ts","gmt_create":"2026-05-29T00:33:30.857889+08:00","gmt_modified":"2026-05-29T00:33:30.857889+08:00"},{"id":99,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5237285e3a5e2e142393725731d08c5d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderCard.tsx","gmt_create":"2026-05-29T00:33:30.857999+08:00","gmt_modified":"2026-05-29T00:33:30.857999+08:00"},{"id":100,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"8b1d34afa2224b6a7bf1941920a68370","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:33:30.858111+08:00","gmt_modified":"2026-05-29T00:33:30.858112+08:00"},{"id":101,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1d9e2bfa84c643dfd8943c98b44978c6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/AddProviderDropdown.tsx","gmt_create":"2026-05-29T00:33:30.858214+08:00","gmt_modified":"2026-05-29T00:33:30.858215+08:00"},{"id":102,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"83135da0abfcf440c7efb97ae897451e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/SafetySettings.tsx","gmt_create":"2026-05-29T00:33:30.858313+08:00","gmt_modified":"2026-05-29T00:33:30.858313+08:00"},{"id":103,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/WebSearchSettings.tsx","gmt_create":"2026-05-29T00:33:30.858413+08:00","gmt_modified":"2026-05-29T00:33:30.858414+08:00"},{"id":104,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b44dbda354c6c8909f0317b6663f1522","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/managedAgentState.ts","gmt_create":"2026-05-29T00:33:30.85851+08:00","gmt_modified":"2026-05-29T00:33:30.85851+08:00"},{"id":105,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6ad577a4254ce03ae3bf4bb5bab1824d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/claudeConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.858655+08:00","gmt_modified":"2026-05-29T00:33:30.858655+08:00"},{"id":106,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.858769+08:00","gmt_modified":"2026-05-29T00:33:30.858769+08:00"},{"id":107,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5ca8bae6463de0b40f57611b28b72f18","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ClaudeCodeCard.tsx","gmt_create":"2026-05-29T00:33:30.858865+08:00","gmt_modified":"2026-05-29T00:33:30.858865+08:00"},{"id":108,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"f3ad59bf21544cd788609383a4dfd381","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodexConnectionCard.tsx","gmt_create":"2026-05-29T00:33:30.858963+08:00","gmt_modified":"2026-05-29T00:33:30.858963+08:00"},{"id":109,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T00:33:30.859061+08:00","gmt_modified":"2026-05-29T00:33:30.859061+08:00"},{"id":110,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T00:33:30.859431+08:00","gmt_modified":"2026-05-29T00:33:30.859431+08:00"},{"id":111,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:33:30.859672+08:00","gmt_modified":"2026-05-29T00:33:30.859672+08:00"},{"id":112,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-05-29T00:33:30.85998+08:00","gmt_modified":"2026-05-29T00:33:30.859981+08:00"},{"id":113,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"45c84a3f8e4c5341a283f9efbe86b7fa","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/en/ai.ts","gmt_create":"2026-05-29T00:33:30.860127+08:00","gmt_modified":"2026-05-29T00:33:30.860127+08:00"},{"id":114,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a82180419c8b5ffe5685fd5cd7bf7c16","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/ru/ai.ts","gmt_create":"2026-05-29T00:33:30.860238+08:00","gmt_modified":"2026-05-29T00:33:30.860238+08:00"},{"id":115,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4d751ec1471f8f21411cc41c0342fa2a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#1-823","gmt_create":"2026-05-29T00:33:30.860378+08:00","gmt_modified":"2026-05-29T00:33:30.860378+08:00"},{"id":116,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"4d751ec1471f8f21411cc41c0342fa2a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-823","gmt_create":"2026-05-29T00:33:30.860476+08:00","gmt_modified":"2026-05-29T00:33:30.860476+08:00"},{"id":117,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#1-105","gmt_create":"2026-05-29T00:33:30.860615+08:00","gmt_modified":"2026-05-29T00:33:30.860615+08:00"},{"id":118,"source_id":"5237285e3a5e2e142393725731d08c5d","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-105","gmt_create":"2026-05-29T00:33:30.860727+08:00","gmt_modified":"2026-05-29T00:33:30.860727+08:00"},{"id":119,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#1-461","gmt_create":"2026-05-29T00:33:30.860902+08:00","gmt_modified":"2026-05-29T00:33:30.860902+08:00"},{"id":120,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-461","gmt_create":"2026-05-29T00:33:30.861037+08:00","gmt_modified":"2026-05-29T00:33:30.861037+08:00"},{"id":121,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b567ee4b0c85b6acb96613e696267097","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/AddProviderDropdown.tsx#1-56","gmt_create":"2026-05-29T00:33:30.861216+08:00","gmt_modified":"2026-05-29T00:33:30.861216+08:00"},{"id":122,"source_id":"1d9e2bfa84c643dfd8943c98b44978c6","target_id":"b567ee4b0c85b6acb96613e696267097","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-56","gmt_create":"2026-05-29T00:33:30.86134+08:00","gmt_modified":"2026-05-29T00:33:30.86134+08:00"},{"id":123,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"0e27aacfcd82c4e50a0acfb57aab3162","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#1-205","gmt_create":"2026-05-29T00:33:30.861476+08:00","gmt_modified":"2026-05-29T00:33:30.861476+08:00"},{"id":124,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"0e27aacfcd82c4e50a0acfb57aab3162","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-205","gmt_create":"2026-05-29T00:33:30.861576+08:00","gmt_modified":"2026-05-29T00:33:30.861576+08:00"},{"id":125,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"b8802af4d0225098179e020abe79e37f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#1-221","gmt_create":"2026-05-29T00:33:30.861704+08:00","gmt_modified":"2026-05-29T00:33:30.861704+08:00"},{"id":126,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"b8802af4d0225098179e020abe79e37f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-221","gmt_create":"2026-05-29T00:33:30.861793+08:00","gmt_modified":"2026-05-29T00:33:30.861793+08:00"},{"id":127,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"79d6778c064e2823bcbcfd650de3aed7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#1-162","gmt_create":"2026-05-29T00:33:30.861919+08:00","gmt_modified":"2026-05-29T00:33:30.861919+08:00"},{"id":128,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"79d6778c064e2823bcbcfd650de3aed7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-162","gmt_create":"2026-05-29T00:33:30.86201+08:00","gmt_modified":"2026-05-29T00:33:30.86201+08:00"},{"id":129,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a98831f9565abcdf7b6b9adb8fddef92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#1-210","gmt_create":"2026-05-29T00:33:30.866313+08:00","gmt_modified":"2026-05-29T00:33:30.866313+08:00"},{"id":130,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"a98831f9565abcdf7b6b9adb8fddef92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-210","gmt_create":"2026-05-29T00:33:30.866473+08:00","gmt_modified":"2026-05-29T00:33:30.866473+08:00"},{"id":131,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-05-29T00:33:30.866619+08:00","gmt_modified":"2026-05-29T00:33:30.866619+08:00"},{"id":132,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-186","gmt_create":"2026-05-29T00:33:30.866715+08:00","gmt_modified":"2026-05-29T00:33:30.866715+08:00"},{"id":133,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"490006024000a3833e1c84d694ca0990","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#1-78","gmt_create":"2026-05-29T00:33:30.866854+08:00","gmt_modified":"2026-05-29T00:33:30.866854+08:00"},{"id":134,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"490006024000a3833e1c84d694ca0990","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:30.866945+08:00","gmt_modified":"2026-05-29T00:33:30.866945+08:00"},{"id":135,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"3ed388d804efc98edd19a00bca5747df","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#1-66","gmt_create":"2026-05-29T00:33:30.867071+08:00","gmt_modified":"2026-05-29T00:33:30.867071+08:00"},{"id":136,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"3ed388d804efc98edd19a00bca5747df","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-66","gmt_create":"2026-05-29T00:33:30.867184+08:00","gmt_modified":"2026-05-29T00:33:30.867184+08:00"},{"id":137,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#1-67","gmt_create":"2026-05-29T00:33:30.867313+08:00","gmt_modified":"2026-05-29T00:33:30.867313+08:00"},{"id":138,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-67","gmt_create":"2026-05-29T00:33:30.867404+08:00","gmt_modified":"2026-05-29T00:33:30.867404+08:00"},{"id":139,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T00:33:30.867543+08:00","gmt_modified":"2026-05-29T00:33:30.867543+08:00"},{"id":140,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:30.867635+08:00","gmt_modified":"2026-05-29T00:33:30.867635+08:00"},{"id":141,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-348","gmt_create":"2026-05-29T00:33:30.867756+08:00","gmt_modified":"2026-05-29T00:33:30.867756+08:00"},{"id":142,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-348","gmt_create":"2026-05-29T00:33:30.867852+08:00","gmt_modified":"2026-05-29T00:33:30.867852+08:00"},{"id":143,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"9fc9463a31a92e7e6bd9110beb77d60c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#90-823","gmt_create":"2026-05-29T00:33:30.867985+08:00","gmt_modified":"2026-05-29T00:33:30.867985+08:00"},{"id":144,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"9fc9463a31a92e7e6bd9110beb77d60c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 90-823","gmt_create":"2026-05-29T00:33:30.868077+08:00","gmt_modified":"2026-05-29T00:33:30.868077+08:00"},{"id":145,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#11-105","gmt_create":"2026-05-29T00:33:30.868198+08:00","gmt_modified":"2026-05-29T00:33:30.868198+08:00"},{"id":146,"source_id":"5237285e3a5e2e142393725731d08c5d","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 11-105","gmt_create":"2026-05-29T00:33:30.868304+08:00","gmt_modified":"2026-05-29T00:33:30.868304+08:00"},{"id":147,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"44dd1b1a9996e98e7cb98567101c789d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#50-461","gmt_create":"2026-05-29T00:33:30.868437+08:00","gmt_modified":"2026-05-29T00:33:30.868437+08:00"},{"id":148,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"44dd1b1a9996e98e7cb98567101c789d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 50-461","gmt_create":"2026-05-29T00:33:30.868531+08:00","gmt_modified":"2026-05-29T00:33:30.868531+08:00"},{"id":149,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d8dbd4591219949e387c9389f82bb6fb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#9-205","gmt_create":"2026-05-29T00:33:30.868708+08:00","gmt_modified":"2026-05-29T00:33:30.868708+08:00"},{"id":150,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"d8dbd4591219949e387c9389f82bb6fb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-205","gmt_create":"2026-05-29T00:33:30.868831+08:00","gmt_modified":"2026-05-29T00:33:30.868831+08:00"},{"id":151,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"e686b634d3682445e7e7a37965c2e59a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#33-221","gmt_create":"2026-05-29T00:33:30.868977+08:00","gmt_modified":"2026-05-29T00:33:30.868977+08:00"},{"id":152,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"e686b634d3682445e7e7a37965c2e59a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-221","gmt_create":"2026-05-29T00:33:30.869098+08:00","gmt_modified":"2026-05-29T00:33:30.869099+08:00"},{"id":153,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4658946b7324ce9b5b35116f1efdc3eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#10-162","gmt_create":"2026-05-29T00:33:30.869249+08:00","gmt_modified":"2026-05-29T00:33:30.869249+08:00"},{"id":154,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"4658946b7324ce9b5b35116f1efdc3eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-162","gmt_create":"2026-05-29T00:33:30.869367+08:00","gmt_modified":"2026-05-29T00:33:30.869367+08:00"},{"id":155,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4e949be1681618f46c911802f35dc3f8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#9-210","gmt_create":"2026-05-29T00:33:30.86954+08:00","gmt_modified":"2026-05-29T00:33:30.86954+08:00"},{"id":156,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"4e949be1681618f46c911802f35dc3f8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 9-210","gmt_create":"2026-05-29T00:33:30.869649+08:00","gmt_modified":"2026-05-29T00:33:30.869649+08:00"},{"id":157,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-186","gmt_create":"2026-05-29T00:33:30.869789+08:00","gmt_modified":"2026-05-29T00:33:30.869789+08:00"},{"id":158,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-186","gmt_create":"2026-05-29T00:33:30.869879+08:00","gmt_modified":"2026-05-29T00:33:30.869879+08:00"},{"id":159,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"769248b12a32bc4c241c04a7fc364831","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#29-78","gmt_create":"2026-05-29T00:33:30.870005+08:00","gmt_modified":"2026-05-29T00:33:30.870005+08:00"},{"id":160,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"769248b12a32bc4c241c04a7fc364831","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-78","gmt_create":"2026-05-29T00:33:30.870097+08:00","gmt_modified":"2026-05-29T00:33:30.870097+08:00"},{"id":161,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#201-263","gmt_create":"2026-05-29T00:33:30.870238+08:00","gmt_modified":"2026-05-29T00:33:30.870238+08:00"},{"id":162,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 201-263","gmt_create":"2026-05-29T00:33:30.87033+08:00","gmt_modified":"2026-05-29T00:33:30.87033+08:00"},{"id":163,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"3f4cd4b80ac68cb76e404191fe7553d0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#142-173","gmt_create":"2026-05-29T00:33:30.870454+08:00","gmt_modified":"2026-05-29T00:33:30.870454+08:00"},{"id":164,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"3f4cd4b80ac68cb76e404191fe7553d0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 142-173","gmt_create":"2026-05-29T00:33:30.870576+08:00","gmt_modified":"2026-05-29T00:33:30.870576+08:00"},{"id":165,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"dc40f33c1b691d1a9aa6abe645c66f92","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/SafetySettings.tsx#57-62","gmt_create":"2026-05-29T00:33:30.870743+08:00","gmt_modified":"2026-05-29T00:33:30.870743+08:00"},{"id":166,"source_id":"83135da0abfcf440c7efb97ae897451e","target_id":"dc40f33c1b691d1a9aa6abe645c66f92","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 57-62","gmt_create":"2026-05-29T00:33:30.870859+08:00","gmt_modified":"2026-05-29T00:33:30.870859+08:00"},{"id":167,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"309b933a19c25bf047875ae6c7cee92c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/WebSearchSettings.tsx#77-114","gmt_create":"2026-05-29T00:33:30.870982+08:00","gmt_modified":"2026-05-29T00:33:30.870982+08:00"},{"id":168,"source_id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","target_id":"309b933a19c25bf047875ae6c7cee92c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 77-114","gmt_create":"2026-05-29T00:33:30.871076+08:00","gmt_modified":"2026-05-29T00:33:30.871076+08:00"},{"id":169,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ClaudeCodeCard.tsx#31-162","gmt_create":"2026-05-29T00:33:30.871202+08:00","gmt_modified":"2026-05-29T00:33:30.871202+08:00"},{"id":170,"source_id":"5ca8bae6463de0b40f57611b28b72f18","target_id":"2dcbd5718ed6dfdfcd2d3ee3863efe25","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 31-162","gmt_create":"2026-05-29T00:33:30.871307+08:00","gmt_modified":"2026-05-29T00:33:30.871307+08:00"},{"id":171,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#61-186","gmt_create":"2026-05-29T00:33:30.871445+08:00","gmt_modified":"2026-05-29T00:33:30.871445+08:00"},{"id":172,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"a0f7f759534fbd3b9d5b56d0aa8f9ffb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-186","gmt_create":"2026-05-29T00:33:30.871535+08:00","gmt_modified":"2026-05-29T00:33:30.871535+08:00"},{"id":173,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"653843b16f39f833080215e29ff67f30","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodexConnectionCard.tsx#40-210","gmt_create":"2026-05-29T00:33:30.871677+08:00","gmt_modified":"2026-05-29T00:33:30.871677+08:00"},{"id":174,"source_id":"f3ad59bf21544cd788609383a4dfd381","target_id":"653843b16f39f833080215e29ff67f30","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 40-210","gmt_create":"2026-05-29T00:33:30.871771+08:00","gmt_modified":"2026-05-29T00:33:30.871771+08:00"},{"id":175,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d7ccf75382e773bc6ba3cfc722a5033a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#3-10","gmt_create":"2026-05-29T00:33:30.871987+08:00","gmt_modified":"2026-05-29T00:33:30.871987+08:00"},{"id":176,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"d7ccf75382e773bc6ba3cfc722a5033a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-10","gmt_create":"2026-05-29T00:33:30.872079+08:00","gmt_modified":"2026-05-29T00:33:30.872079+08:00"},{"id":177,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"a1fb09c6b6e07296e734466dcb2686d2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#15-40","gmt_create":"2026-05-29T00:33:30.872197+08:00","gmt_modified":"2026-05-29T00:33:30.872197+08:00"},{"id":178,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"a1fb09c6b6e07296e734466dcb2686d2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-40","gmt_create":"2026-05-29T00:33:30.872289+08:00","gmt_modified":"2026-05-29T00:33:30.872289+08:00"},{"id":179,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d4202b8294bc666f0b25ecd29cfae9f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/AddProviderDropdown.tsx#10-56","gmt_create":"2026-05-29T00:33:30.872426+08:00","gmt_modified":"2026-05-29T00:33:30.872426+08:00"},{"id":180,"source_id":"1d9e2bfa84c643dfd8943c98b44978c6","target_id":"d4202b8294bc666f0b25ecd29cfae9f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-56","gmt_create":"2026-05-29T00:33:30.872559+08:00","gmt_modified":"2026-05-29T00:33:30.872559+08:00"},{"id":181,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"4206d311903282917470dda0b1a77de0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#23-40","gmt_create":"2026-05-29T00:33:30.872886+08:00","gmt_modified":"2026-05-29T00:33:30.872886+08:00"},{"id":182,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"4206d311903282917470dda0b1a77de0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-40","gmt_create":"2026-05-29T00:33:30.872986+08:00","gmt_modified":"2026-05-29T00:33:30.872986+08:00"},{"id":183,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"82a5ac036b3317cf22e53a0d43f07641","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#296-304","gmt_create":"2026-05-29T00:33:30.873397+08:00","gmt_modified":"2026-05-29T00:33:30.873397+08:00"},{"id":184,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"82a5ac036b3317cf22e53a0d43f07641","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 296-304","gmt_create":"2026-05-29T00:33:30.873511+08:00","gmt_modified":"2026-05-29T00:33:30.873511+08:00"},{"id":185,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"789efde606ab83c6193b42b9389f07c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#336-349","gmt_create":"2026-05-29T00:33:30.873645+08:00","gmt_modified":"2026-05-29T00:33:30.873645+08:00"},{"id":186,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"789efde606ab83c6193b42b9389f07c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 336-349","gmt_create":"2026-05-29T00:33:30.873738+08:00","gmt_modified":"2026-05-29T00:33:30.873738+08:00"},{"id":187,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"bfe22ea16e523749ee3b80924672d81c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#100-115","gmt_create":"2026-05-29T00:33:30.873857+08:00","gmt_modified":"2026-05-29T00:33:30.873857+08:00"},{"id":188,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"bfe22ea16e523749ee3b80924672d81c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 100-115","gmt_create":"2026-05-29T00:33:30.873951+08:00","gmt_modified":"2026-05-29T00:33:30.873951+08:00"},{"id":189,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2a956a100412b6f6939d1d99035ae900","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#15-21","gmt_create":"2026-05-29T00:33:30.874098+08:00","gmt_modified":"2026-05-29T00:33:30.874098+08:00"},{"id":190,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"2a956a100412b6f6939d1d99035ae900","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-21","gmt_create":"2026-05-29T00:33:30.874238+08:00","gmt_modified":"2026-05-29T00:33:30.874238+08:00"},{"id":191,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ab8d96527e3718bdc7b675eaa815e4fb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#42-53","gmt_create":"2026-05-29T00:33:30.874359+08:00","gmt_modified":"2026-05-29T00:33:30.874359+08:00"},{"id":192,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"ab8d96527e3718bdc7b675eaa815e4fb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-53","gmt_create":"2026-05-29T00:33:30.874447+08:00","gmt_modified":"2026-05-29T00:33:30.874447+08:00"},{"id":193,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"d42e55e836d88f491a817533ec209074","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#178-189","gmt_create":"2026-05-29T00:33:30.874668+08:00","gmt_modified":"2026-05-29T00:33:30.874668+08:00"},{"id":194,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"d42e55e836d88f491a817533ec209074","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 178-189","gmt_create":"2026-05-29T00:33:30.874774+08:00","gmt_modified":"2026-05-29T00:33:30.874774+08:00"},{"id":195,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"28f57be6f2eeef085ea5047f704afe66","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#264-294","gmt_create":"2026-05-29T00:33:30.874917+08:00","gmt_modified":"2026-05-29T00:33:30.874917+08:00"},{"id":196,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"28f57be6f2eeef085ea5047f704afe66","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 264-294","gmt_create":"2026-05-29T00:33:30.875021+08:00","gmt_modified":"2026-05-29T00:33:30.875021+08:00"},{"id":197,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"86838b4d4fa12bdc957e6414ec9b7678","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#32-66","gmt_create":"2026-05-29T00:33:30.875421+08:00","gmt_modified":"2026-05-29T00:33:30.875421+08:00"},{"id":198,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"86838b4d4fa12bdc957e6414ec9b7678","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-66","gmt_create":"2026-05-29T00:33:30.875508+08:00","gmt_modified":"2026-05-29T00:33:30.875509+08:00"},{"id":199,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"866b1f8c4edaefc96fd27254c45e3e02","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#32-67","gmt_create":"2026-05-29T00:33:30.875632+08:00","gmt_modified":"2026-05-29T00:33:30.875632+08:00"},{"id":200,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"866b1f8c4edaefc96fd27254c45e3e02","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-67","gmt_create":"2026-05-29T00:33:30.875729+08:00","gmt_modified":"2026-05-29T00:33:30.875729+08:00"},{"id":201,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"f5295fad218e404d3a577bc0e23bb621","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#132-192","gmt_create":"2026-05-29T00:33:30.876024+08:00","gmt_modified":"2026-05-29T00:33:30.876024+08:00"},{"id":202,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"f5295fad218e404d3a577bc0e23bb621","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-192","gmt_create":"2026-05-29T00:33:30.876112+08:00","gmt_modified":"2026-05-29T00:33:30.876112+08:00"},{"id":203,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"974d789daa1de3c44d4c888417fdeefb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#13-78","gmt_create":"2026-05-29T00:33:30.876241+08:00","gmt_modified":"2026-05-29T00:33:30.876241+08:00"},{"id":204,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"974d789daa1de3c44d4c888417fdeefb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 13-78","gmt_create":"2026-05-29T00:33:30.876326+08:00","gmt_modified":"2026-05-29T00:33:30.876326+08:00"},{"id":205,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"6019df266484c641521f679e75021b5e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/claudeConfigEnv.ts#12-66","gmt_create":"2026-05-29T00:33:30.876539+08:00","gmt_modified":"2026-05-29T00:33:30.876539+08:00"},{"id":206,"source_id":"6ad577a4254ce03ae3bf4bb5bab1824d","target_id":"6019df266484c641521f679e75021b5e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-66","gmt_create":"2026-05-29T00:33:30.876626+08:00","gmt_modified":"2026-05-29T00:33:30.876626+08:00"},{"id":207,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"333e6755daf6fcbed429adffd4d69bc4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#12-67","gmt_create":"2026-05-29T00:33:30.876785+08:00","gmt_modified":"2026-05-29T00:33:30.876785+08:00"},{"id":208,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"333e6755daf6fcbed429adffd4d69bc4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-67","gmt_create":"2026-05-29T00:33:30.876877+08:00","gmt_modified":"2026-05-29T00:33:30.876877+08:00"},{"id":209,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"bd44080415cc705dd669561f3f7229ee","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#172-192","gmt_create":"2026-05-29T00:33:30.877332+08:00","gmt_modified":"2026-05-29T00:33:30.877332+08:00"},{"id":210,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"bd44080415cc705dd669561f3f7229ee","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 172-192","gmt_create":"2026-05-29T00:33:30.877422+08:00","gmt_modified":"2026-05-29T00:33:30.877422+08:00"},{"id":211,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"2b217fc87507bca265df91e3922b4e94","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#232-262","gmt_create":"2026-05-29T00:33:30.877628+08:00","gmt_modified":"2026-05-29T00:33:30.877628+08:00"},{"id":212,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"2b217fc87507bca265df91e3922b4e94","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 232-262","gmt_create":"2026-05-29T00:33:30.877715+08:00","gmt_modified":"2026-05-29T00:33:30.877715+08:00"},{"id":213,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/zh-CN/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879337+08:00","gmt_modified":"2026-05-29T00:33:30.879337+08:00"},{"id":214,"source_id":"c1865efdde019a1bb983e62ece393764","target_id":"ec64dd8ce3e17ab81ef5f4255b98e4d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879446+08:00","gmt_modified":"2026-05-29T00:33:30.879447+08:00"},{"id":215,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"1f1ad6502c179e4435e030f2922c62a8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/en/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879568+08:00","gmt_modified":"2026-05-29T00:33:30.879568+08:00"},{"id":216,"source_id":"45c84a3f8e4c5341a283f9efbe86b7fa","target_id":"1f1ad6502c179e4435e030f2922c62a8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879655+08:00","gmt_modified":"2026-05-29T00:33:30.879655+08:00"},{"id":217,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"72549edf4576518ab7d937708b43f932","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/i18n/locales/ru/ai.ts#1-271","gmt_create":"2026-05-29T00:33:30.879799+08:00","gmt_modified":"2026-05-29T00:33:30.879799+08:00"},{"id":218,"source_id":"a82180419c8b5ffe5685fd5cd7bf7c16","target_id":"72549edf4576518ab7d937708b43f932","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-271","gmt_create":"2026-05-29T00:33:30.879886+08:00","gmt_modified":"2026-05-29T00:33:30.879886+08:00"},{"id":219,"source_id":"cde4dc83-ca09-4401-a05a-438e589695c6","target_id":"5367e86ddfa76de48c29c511e23479de","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#283-294","gmt_create":"2026-05-29T00:33:30.880023+08:00","gmt_modified":"2026-05-29T00:33:30.880023+08:00"},{"id":220,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"5367e86ddfa76de48c29c511e23479de","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 283-294","gmt_create":"2026-05-29T00:33:30.880117+08:00","gmt_modified":"2026-05-29T00:33:30.880117+08:00"},{"id":244,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 48-909","gmt_create":"2026-05-29T00:33:53.600464+08:00","gmt_modified":"2026-05-29T00:33:53.600464+08:00"},{"id":246,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-249","gmt_create":"2026-05-29T00:33:53.600679+08:00","gmt_modified":"2026-05-29T00:33:53.600679+08:00"},{"id":248,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-300","gmt_create":"2026-05-29T00:33:53.602011+08:00","gmt_modified":"2026-05-29T00:33:53.602011+08:00"},{"id":250,"source_id":"e4564da3181becf136933451147a56f2","target_id":"01c9752d86ab3a9d32a2f6cb2015feff","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-242","gmt_create":"2026-05-29T00:33:53.602357+08:00","gmt_modified":"2026-05-29T00:33:53.602357+08:00"},{"id":254,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 629-657","gmt_create":"2026-05-29T00:33:53.602933+08:00","gmt_modified":"2026-05-29T00:33:53.602933+08:00"},{"id":256,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"bffb18548d41deeaf7e88480c66fa082","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-52","gmt_create":"2026-05-29T00:33:53.603175+08:00","gmt_modified":"2026-05-29T00:33:53.603176+08:00"},{"id":258,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"f0377d0c64016366847e7422add570f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-42","gmt_create":"2026-05-29T00:33:53.603458+08:00","gmt_modified":"2026-05-29T00:33:53.603458+08:00"},{"id":260,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-468","gmt_create":"2026-05-29T00:33:53.604089+08:00","gmt_modified":"2026-05-29T00:33:53.604089+08:00"},{"id":262,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"db484e38ad1df09c5200d64478bb9d72","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-927","gmt_create":"2026-05-29T00:33:53.604301+08:00","gmt_modified":"2026-05-29T00:33:53.604301+08:00"},{"id":264,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"a5fcf22005dd09a47106369f90a757bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-190","gmt_create":"2026-05-29T00:33:53.604722+08:00","gmt_modified":"2026-05-29T00:33:53.604722+08:00"},{"id":266,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 647-798","gmt_create":"2026-05-29T00:33:53.604953+08:00","gmt_modified":"2026-05-29T00:33:53.604953+08:00"},{"id":268,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"4e4666d66aaf8a3387d9a91a60515b2d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 174-178","gmt_create":"2026-05-29T00:33:53.605227+08:00","gmt_modified":"2026-05-29T00:33:53.605227+08:00"},{"id":270,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"5854444f6ca3ab94e2c364f7339e9577","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-514","gmt_create":"2026-05-29T00:33:53.605514+08:00","gmt_modified":"2026-05-29T00:33:53.605514+08:00"},{"id":272,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"97b16b9274b0e54b6d51d0a8e03dcd43","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 101-264","gmt_create":"2026-05-29T00:33:53.605769+08:00","gmt_modified":"2026-05-29T00:33:53.605769+08:00"},{"id":274,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"b466557ba584a86652aded65971c7446","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 243-514","gmt_create":"2026-05-29T00:33:53.606023+08:00","gmt_modified":"2026-05-29T00:33:53.606024+08:00"},{"id":276,"source_id":"e3784575d3f66a3dc61a1b398b2d1925","target_id":"03aa04628a434515d2403dec6b9d463a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-206","gmt_create":"2026-05-29T00:33:53.606272+08:00","gmt_modified":"2026-05-29T00:33:53.606272+08:00"},{"id":278,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"2ce13ba157e65c23fd951fe28e11e018","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 175-324","gmt_create":"2026-05-29T00:33:53.606486+08:00","gmt_modified":"2026-05-29T00:33:53.606486+08:00"},{"id":280,"source_id":"2abab935c0a79eed1ce181092931cc62","target_id":"e60d1e84845664e62f70ee788778247d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 55-84","gmt_create":"2026-05-29T00:33:53.606736+08:00","gmt_modified":"2026-05-29T00:33:53.606736+08:00"},{"id":282,"source_id":"8c9bacbd7f17b1998fdf2110cbbf796c","target_id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-77","gmt_create":"2026-05-29T00:33:53.606964+08:00","gmt_modified":"2026-05-29T00:33:53.606964+08:00"},{"id":284,"source_id":"e22fe9068de2e790e0671a3418b42bd8","target_id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-314","gmt_create":"2026-05-29T00:33:53.607202+08:00","gmt_modified":"2026-05-29T00:33:53.607202+08:00"},{"id":286,"source_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","target_id":"606bc93b094363b88c880e862a8bd27b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 28-135","gmt_create":"2026-05-29T00:33:53.607413+08:00","gmt_modified":"2026-05-29T00:33:53.607413+08:00"},{"id":288,"source_id":"2abab935c0a79eed1ce181092931cc62","target_id":"84d4622f682597063e7b21bd8700037e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-86","gmt_create":"2026-05-29T00:33:53.607716+08:00","gmt_modified":"2026-05-29T00:33:53.607716+08:00"},{"id":290,"source_id":"8c9bacbd7f17b1998fdf2110cbbf796c","target_id":"cd022c0be9c9ca808f36306b82ec1070","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-78","gmt_create":"2026-05-29T00:33:53.608014+08:00","gmt_modified":"2026-05-29T00:33:53.608014+08:00"},{"id":292,"source_id":"e22fe9068de2e790e0671a3418b42bd8","target_id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-315","gmt_create":"2026-05-29T00:33:53.608238+08:00","gmt_modified":"2026-05-29T00:33:53.608238+08:00"},{"id":294,"source_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","target_id":"acbe25c99cb195d0fe75d660c939f1c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-139","gmt_create":"2026-05-29T00:33:53.608448+08:00","gmt_modified":"2026-05-29T00:33:53.608448+08:00"},{"id":296,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"9763cfd8faa168da0d2ec5ca786209bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 187-336","gmt_create":"2026-05-29T00:33:53.608686+08:00","gmt_modified":"2026-05-29T00:33:53.608686+08:00"},{"id":298,"source_id":"c9beb905d94690a24421f7b362b6cdfd","target_id":"ea87f28e9e1fdcdd28ead0cda671594e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34-110","gmt_create":"2026-05-29T00:33:53.608898+08:00","gmt_modified":"2026-05-29T00:33:53.608899+08:00"},{"id":300,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-955","gmt_create":"2026-05-29T00:33:53.60922+08:00","gmt_modified":"2026-05-29T00:33:53.60922+08:00"},{"id":302,"source_id":"c9beb905d94690a24421f7b362b6cdfd","target_id":"5b96fdba00fecee9acdc5f1af9a7c5c4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-215","gmt_create":"2026-05-29T00:33:53.609437+08:00","gmt_modified":"2026-05-29T00:33:53.609437+08:00"},{"id":304,"source_id":"e3784575d3f66a3dc61a1b398b2d1925","target_id":"fe90149e17952539249c367cdae4b08f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-89","gmt_create":"2026-05-29T00:33:53.60983+08:00","gmt_modified":"2026-05-29T00:33:53.609831+08:00"},{"id":306,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"6bd6848f24bb599b3dc26d6f3bc64a6d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 237-284","gmt_create":"2026-05-29T00:33:53.610325+08:00","gmt_modified":"2026-05-29T00:33:53.610325+08:00"},{"id":308,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"34ea52e428db926ef92c005738524fa9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 61-173","gmt_create":"2026-05-29T00:33:53.610768+08:00","gmt_modified":"2026-05-29T00:33:53.610768+08:00"},{"id":310,"source_id":"5cde75f9d56d83b1e9da869d9456bd42","target_id":"cf2be59058ec94e10617138246740824","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 172-206","gmt_create":"2026-05-29T00:33:53.61099+08:00","gmt_modified":"2026-05-29T00:33:53.61099+08:00"},{"id":312,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"d4f513f7b7317663ad7541d9881f792f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-344","gmt_create":"2026-05-29T00:33:53.611442+08:00","gmt_modified":"2026-05-29T00:33:53.611442+08:00"},{"id":314,"source_id":"b324d0760f3f9e92d0e9729e449bb14a","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-95","gmt_create":"2026-05-29T00:33:53.611684+08:00","gmt_modified":"2026-05-29T00:33:53.611684+08:00"},{"id":316,"source_id":"b18de7ebca418c2b4d28d9552f95792c","target_id":"540a5ba8238ea8a483e865692a81f838","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 212-237","gmt_create":"2026-05-29T00:33:53.613021+08:00","gmt_modified":"2026-05-29T00:33:53.613021+08:00"},{"id":318,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"0fc485e20a60d7df0cd756978c49340e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-74","gmt_create":"2026-05-29T00:33:53.613262+08:00","gmt_modified":"2026-05-29T00:33:53.613262+08:00"},{"id":320,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 187-218","gmt_create":"2026-05-29T00:33:53.613497+08:00","gmt_modified":"2026-05-29T00:33:53.613497+08:00"},{"id":322,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"fb4bb0dc0232c0358067c351faefeb97","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 192-195","gmt_create":"2026-05-29T00:33:53.613769+08:00","gmt_modified":"2026-05-29T00:33:53.613769+08:00"},{"id":323,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"bf12794fa3af4f8a34b46c4788eb49b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatPanelContent.tsx","gmt_create":"2026-05-29T00:34:06.349663+08:00","gmt_modified":"2026-05-29T00:34:06.349663+08:00"},{"id":324,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a8885d6fc90746342140bbfe91af9830","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanel.tsx","gmt_create":"2026-05-29T00:34:06.349858+08:00","gmt_modified":"2026-05-29T00:34:06.349858+08:00"},{"id":325,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"7b7ce5726d29197b98aaada0cd869771","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatMessageList.tsx","gmt_create":"2026-05-29T00:34:06.349998+08:00","gmt_modified":"2026-05-29T00:34:06.349998+08:00"},{"id":326,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"74676637fb845b2ffcd105a04750ae2e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatInput.tsx","gmt_create":"2026-05-29T00:34:06.350107+08:00","gmt_modified":"2026-05-29T00:34:06.350107+08:00"},{"id":327,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-05-29T00:34:06.350225+08:00","gmt_modified":"2026-05-29T00:34:06.350226+08:00"},{"id":328,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"dcf899a1b054004d5d623fe6308f9a0c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ConversationExport.tsx","gmt_create":"2026-05-29T00:34:06.35033+08:00","gmt_modified":"2026-05-29T00:34:06.35033+08:00"},{"id":329,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"4b2ad61be711f800135cd68fc3a930ee","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSessionHistoryDrawer.tsx","gmt_create":"2026-05-29T00:34:06.350454+08:00","gmt_modified":"2026-05-29T00:34:06.350454+08:00"},{"id":330,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b324d0760f3f9e92d0e9729e449bb14a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/aiPanelViewState.ts","gmt_create":"2026-05-29T00:34:06.350556+08:00","gmt_modified":"2026-05-29T00:34:06.350556+08:00"},{"id":331,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:34:06.350678+08:00","gmt_modified":"2026-05-29T00:34:06.350678+08:00"},{"id":332,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c8328c5d6c794e20b30b02be124bb9dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/providers.ts","gmt_create":"2026-05-29T00:34:06.350827+08:00","gmt_modified":"2026-05-29T00:34:06.350827+08:00"},{"id":333,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"22f26535963a86066c99a83289088c84","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/tools.ts","gmt_create":"2026-05-29T00:34:06.350928+08:00","gmt_modified":"2026-05-29T00:34:06.350928+08:00"},{"id":334,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T00:34:06.351028+08:00","gmt_modified":"2026-05-29T00:34:06.351029+08:00"},{"id":335,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"8b1d34afa2224b6a7bf1941920a68370","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:34:06.351131+08:00","gmt_modified":"2026-05-29T00:34:06.351131+08:00"},{"id":336,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"5237285e3a5e2e142393725731d08c5d","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/ProviderCard.tsx","gmt_create":"2026-05-29T00:34:06.351234+08:00","gmt_modified":"2026-05-29T00:34:06.351234+08:00"},{"id":337,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-05-29T00:34:06.351333+08:00","gmt_modified":"2026-05-29T00:34:06.351333+08:00"},{"id":338,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T00:34:06.351455+08:00","gmt_modified":"2026-05-29T00:34:06.351455+08:00"},{"id":339,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T00:34:06.351564+08:00","gmt_modified":"2026-05-29T00:34:06.351564+08:00"},{"id":340,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:34:06.351682+08:00","gmt_modified":"2026-05-29T00:34:06.351682+08:00"},{"id":341,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"94617cf09e47c0a5c1bdd1716b294063","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-29T00:34:06.351781+08:00","gmt_modified":"2026-05-29T00:34:06.351781+08:00"},{"id":342,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:34:06.351882+08:00","gmt_modified":"2026-05-29T00:34:06.351882+08:00"},{"id":343,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-05-29T00:34:06.35198+08:00","gmt_modified":"2026-05-29T00:34:06.35198+08:00"},{"id":344,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#48-909","gmt_create":"2026-05-29T00:34:06.352114+08:00","gmt_modified":"2026-05-29T00:34:06.352114+08:00"},{"id":345,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#1-249","gmt_create":"2026-05-29T00:34:06.352284+08:00","gmt_modified":"2026-05-29T00:34:06.352284+08:00"},{"id":346,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#1-468","gmt_create":"2026-05-29T00:34:06.352453+08:00","gmt_modified":"2026-05-29T00:34:06.352453+08:00"},{"id":347,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#1-955","gmt_create":"2026-05-29T00:34:06.352617+08:00","gmt_modified":"2026-05-29T00:34:06.352617+08:00"},{"id":348,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#1-300","gmt_create":"2026-05-29T00:34:06.352782+08:00","gmt_modified":"2026-05-29T00:34:06.352782+08:00"},{"id":349,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"638bdc16647cd7f02142c1c065ca3f0a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#1-113","gmt_create":"2026-05-29T00:34:06.352947+08:00","gmt_modified":"2026-05-29T00:34:06.352947+08:00"},{"id":350,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"638bdc16647cd7f02142c1c065ca3f0a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-113","gmt_create":"2026-05-29T00:34:06.353042+08:00","gmt_modified":"2026-05-29T00:34:06.353042+08:00"},{"id":351,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ccbc4a05b367edbbf8ecd673d06a645a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#1-88","gmt_create":"2026-05-29T00:34:06.353183+08:00","gmt_modified":"2026-05-29T00:34:06.353183+08:00"},{"id":352,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"ccbc4a05b367edbbf8ecd673d06a645a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-88","gmt_create":"2026-05-29T00:34:06.353285+08:00","gmt_modified":"2026-05-29T00:34:06.353285+08:00"},{"id":353,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/aiPanelViewState.ts#1-95","gmt_create":"2026-05-29T00:34:06.353444+08:00","gmt_modified":"2026-05-29T00:34:06.353444+08:00"},{"id":354,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d4f513f7b7317663ad7541d9881f792f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-344","gmt_create":"2026-05-29T00:34:06.353623+08:00","gmt_modified":"2026-05-29T00:34:06.353624+08:00"},{"id":355,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"100bd4a254411503caf7376831d4386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#1-478","gmt_create":"2026-05-29T00:34:06.353786+08:00","gmt_modified":"2026-05-29T00:34:06.353786+08:00"},{"id":356,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"100bd4a254411503caf7376831d4386b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-478","gmt_create":"2026-05-29T00:34:06.3539+08:00","gmt_modified":"2026-05-29T00:34:06.3539+08:00"},{"id":357,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#1-177","gmt_create":"2026-05-29T00:34:06.35405+08:00","gmt_modified":"2026-05-29T00:34:06.35405+08:00"},{"id":358,"source_id":"22f26535963a86066c99a83289088c84","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-177","gmt_create":"2026-05-29T00:34:06.354143+08:00","gmt_modified":"2026-05-29T00:34:06.354143+08:00"},{"id":359,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#1-142","gmt_create":"2026-05-29T00:34:06.354276+08:00","gmt_modified":"2026-05-29T00:34:06.354276+08:00"},{"id":360,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-142","gmt_create":"2026-05-29T00:34:06.354388+08:00","gmt_modified":"2026-05-29T00:34:06.354388+08:00"},{"id":361,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"31105659a1dc3645e6699be8c06e9960","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#1-461","gmt_create":"2026-05-29T00:34:06.354518+08:00","gmt_modified":"2026-05-29T00:34:06.354518+08:00"},{"id":362,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"68beaf4993338bb9742c455e633984ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#1-105","gmt_create":"2026-05-29T00:34:06.354698+08:00","gmt_modified":"2026-05-29T00:34:06.354698+08:00"},{"id":363,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#629-657","gmt_create":"2026-05-29T00:34:06.354859+08:00","gmt_modified":"2026-05-29T00:34:06.354859+08:00"},{"id":364,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-05-29T00:34:06.355145+08:00","gmt_modified":"2026-05-29T00:34:06.355145+08:00"},{"id":365,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"247f7b23c2f1b7560d9a2d26ba0ca17a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#69-249","gmt_create":"2026-05-29T00:34:06.355969+08:00","gmt_modified":"2026-05-29T00:34:06.355969+08:00"},{"id":366,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"247f7b23c2f1b7560d9a2d26ba0ca17a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 69-249","gmt_create":"2026-05-29T00:34:06.356162+08:00","gmt_modified":"2026-05-29T00:34:06.356162+08:00"},{"id":367,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e9e9976384f8d9f81e9c91d4890b7508","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#37-468","gmt_create":"2026-05-29T00:34:06.35737+08:00","gmt_modified":"2026-05-29T00:34:06.35737+08:00"},{"id":368,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"e9e9976384f8d9f81e9c91d4890b7508","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 37-468","gmt_create":"2026-05-29T00:34:06.357573+08:00","gmt_modified":"2026-05-29T00:34:06.357573+08:00"},{"id":369,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"22e7685c78002f80d08cd6213247801c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#101-955","gmt_create":"2026-05-29T00:34:06.357781+08:00","gmt_modified":"2026-05-29T00:34:06.357781+08:00"},{"id":370,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"22e7685c78002f80d08cd6213247801c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 101-955","gmt_create":"2026-05-29T00:34:06.357941+08:00","gmt_modified":"2026-05-29T00:34:06.357941+08:00"},{"id":371,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"441a9a4b1424f75556f79af23f5711fa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-300","gmt_create":"2026-05-29T00:34:06.358127+08:00","gmt_modified":"2026-05-29T00:34:06.358127+08:00"},{"id":372,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"441a9a4b1424f75556f79af23f5711fa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-300","gmt_create":"2026-05-29T00:34:06.358277+08:00","gmt_modified":"2026-05-29T00:34:06.358277+08:00"},{"id":373,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"fe1f8aef45b10a07b603f8ee72076c85","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#22-113","gmt_create":"2026-05-29T00:34:06.358457+08:00","gmt_modified":"2026-05-29T00:34:06.358457+08:00"},{"id":374,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"fe1f8aef45b10a07b603f8ee72076c85","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 22-113","gmt_create":"2026-05-29T00:34:06.358556+08:00","gmt_modified":"2026-05-29T00:34:06.358556+08:00"},{"id":375,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"935963cc2a872d5f86edf8dbc4b557c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#32-88","gmt_create":"2026-05-29T00:34:06.358699+08:00","gmt_modified":"2026-05-29T00:34:06.358699+08:00"},{"id":376,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"935963cc2a872d5f86edf8dbc4b557c1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 32-88","gmt_create":"2026-05-29T00:34:06.358816+08:00","gmt_modified":"2026-05-29T00:34:06.358816+08:00"},{"id":377,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"36b8d0a32b856a4af6aa1b189ecb5295","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#247-478","gmt_create":"2026-05-29T00:34:06.358953+08:00","gmt_modified":"2026-05-29T00:34:06.358953+08:00"},{"id":378,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"36b8d0a32b856a4af6aa1b189ecb5295","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 247-478","gmt_create":"2026-05-29T00:34:06.359048+08:00","gmt_modified":"2026-05-29T00:34:06.359049+08:00"},{"id":379,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#33-177","gmt_create":"2026-05-29T00:34:06.359465+08:00","gmt_modified":"2026-05-29T00:34:06.359465+08:00"},{"id":380,"source_id":"22f26535963a86066c99a83289088c84","target_id":"ae8fff1eb56f29f286a9bcab3e2ab6e8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 33-177","gmt_create":"2026-05-29T00:34:06.359598+08:00","gmt_modified":"2026-05-29T00:34:06.359598+08:00"},{"id":381,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"cfc7d370cd35900cc754c0edc190c2ce","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-142","gmt_create":"2026-05-29T00:34:06.359785+08:00","gmt_modified":"2026-05-29T00:34:06.359785+08:00"},{"id":382,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"cfc7d370cd35900cc754c0edc190c2ce","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-142","gmt_create":"2026-05-29T00:34:06.359896+08:00","gmt_modified":"2026-05-29T00:34:06.359896+08:00"},{"id":383,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#647-798","gmt_create":"2026-05-29T00:34:06.360047+08:00","gmt_modified":"2026-05-29T00:34:06.360047+08:00"},{"id":384,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"8f3dad4abe68b1f924501fbb7348d772","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#169-433","gmt_create":"2026-05-29T00:34:06.360561+08:00","gmt_modified":"2026-05-29T00:34:06.360561+08:00"},{"id":385,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"8f3dad4abe68b1f924501fbb7348d772","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 169-433","gmt_create":"2026-05-29T00:34:06.360786+08:00","gmt_modified":"2026-05-29T00:34:06.360786+08:00"},{"id":386,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"1a43524f0697efe9b361810c0cf012b1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#115-248","gmt_create":"2026-05-29T00:34:06.361062+08:00","gmt_modified":"2026-05-29T00:34:06.361062+08:00"},{"id":387,"source_id":"bf12794fa3af4f8a34b46c4788eb49b7","target_id":"1a43524f0697efe9b361810c0cf012b1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 115-248","gmt_create":"2026-05-29T00:34:06.361201+08:00","gmt_modified":"2026-05-29T00:34:06.361201+08:00"},{"id":388,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"61d03453faf350475d772ca6e0b5afe9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#174-336","gmt_create":"2026-05-29T00:34:06.361645+08:00","gmt_modified":"2026-05-29T00:34:06.361645+08:00"},{"id":389,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"61d03453faf350475d772ca6e0b5afe9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 174-336","gmt_create":"2026-05-29T00:34:06.361776+08:00","gmt_modified":"2026-05-29T00:34:06.361776+08:00"},{"id":390,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a6ec45894b1ed02e3be025898d456a24","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#424-955","gmt_create":"2026-05-29T00:34:06.362075+08:00","gmt_modified":"2026-05-29T00:34:06.362075+08:00"},{"id":391,"source_id":"74676637fb845b2ffcd105a04750ae2e","target_id":"a6ec45894b1ed02e3be025898d456a24","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 424-955","gmt_create":"2026-05-29T00:34:06.362205+08:00","gmt_modified":"2026-05-29T00:34:06.362205+08:00"},{"id":392,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0dad39b4141fd71cc091c8c7713ee397","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#12-108","gmt_create":"2026-05-29T00:34:06.362566+08:00","gmt_modified":"2026-05-29T00:34:06.362566+08:00"},{"id":393,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"0dad39b4141fd71cc091c8c7713ee397","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 12-108","gmt_create":"2026-05-29T00:34:06.362661+08:00","gmt_modified":"2026-05-29T00:34:06.362661+08:00"},{"id":394,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#36-44","gmt_create":"2026-05-29T00:34:06.362969+08:00","gmt_modified":"2026-05-29T00:34:06.362969+08:00"},{"id":395,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 36-44","gmt_create":"2026-05-29T00:34:06.363063+08:00","gmt_modified":"2026-05-29T00:34:06.363063+08:00"},{"id":396,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"dbe2f6af5db318f98d98d5329569cc52","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-186","gmt_create":"2026-05-29T00:34:06.363221+08:00","gmt_modified":"2026-05-29T00:34:06.363221+08:00"},{"id":397,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"f41977e182e15c0f950e62a5b8151043","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#8-67","gmt_create":"2026-05-29T00:34:06.363409+08:00","gmt_modified":"2026-05-29T00:34:06.363409+08:00"},{"id":398,"source_id":"6f12ac751fdeef81a0e4d298829cf6f5","target_id":"f41977e182e15c0f950e62a5b8151043","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 8-67","gmt_create":"2026-05-29T00:34:06.363499+08:00","gmt_modified":"2026-05-29T00:34:06.363499+08:00"},{"id":399,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"f97f3b58e398b7aad8853a3167d57840","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#589-597","gmt_create":"2026-05-29T00:34:06.364182+08:00","gmt_modified":"2026-05-29T00:34:06.364182+08:00"},{"id":400,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"f97f3b58e398b7aad8853a3167d57840","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 589-597","gmt_create":"2026-05-29T00:34:06.364276+08:00","gmt_modified":"2026-05-29T00:34:06.364276+08:00"},{"id":401,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d5ddf712ec10bbdae1b48c624392ffc8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSessionHistoryDrawer.tsx#14-113","gmt_create":"2026-05-29T00:34:06.364402+08:00","gmt_modified":"2026-05-29T00:34:06.364402+08:00"},{"id":402,"source_id":"4b2ad61be711f800135cd68fc3a930ee","target_id":"d5ddf712ec10bbdae1b48c624392ffc8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-113","gmt_create":"2026-05-29T00:34:06.364494+08:00","gmt_modified":"2026-05-29T00:34:06.364494+08:00"},{"id":403,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"6983e2aa9104b0fcc506cafb4644e4f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ConversationExport.tsx#20-88","gmt_create":"2026-05-29T00:34:06.364646+08:00","gmt_modified":"2026-05-29T00:34:06.364646+08:00"},{"id":404,"source_id":"dcf899a1b054004d5d623fe6308f9a0c","target_id":"6983e2aa9104b0fcc506cafb4644e4f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-88","gmt_create":"2026-05-29T00:34:06.364737+08:00","gmt_modified":"2026-05-29T00:34:06.364737+08:00"},{"id":405,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"3fa5f6beb3b87bd68bc4098df6894ffb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#44-115","gmt_create":"2026-05-29T00:34:06.36494+08:00","gmt_modified":"2026-05-29T00:34:06.36494+08:00"},{"id":406,"source_id":"22f26535963a86066c99a83289088c84","target_id":"3fa5f6beb3b87bd68bc4098df6894ffb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-115","gmt_create":"2026-05-29T00:34:06.365033+08:00","gmt_modified":"2026-05-29T00:34:06.365033+08:00"},{"id":407,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"4206d311903282917470dda0b1a77de0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#23-40","gmt_create":"2026-05-29T00:34:06.365474+08:00","gmt_modified":"2026-05-29T00:34:06.365474+08:00"},{"id":408,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"bf899ad495850daf0202760da02dc100","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#43-53","gmt_create":"2026-05-29T00:34:06.365624+08:00","gmt_modified":"2026-05-29T00:34:06.365625+08:00"},{"id":409,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"bf899ad495850daf0202760da02dc100","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-53","gmt_create":"2026-05-29T00:34:06.365718+08:00","gmt_modified":"2026-05-29T00:34:06.365718+08:00"},{"id":410,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a99f462e4b8bf088b908b35f7fbbe8fd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#54-173","gmt_create":"2026-05-29T00:34:06.365848+08:00","gmt_modified":"2026-05-29T00:34:06.365848+08:00"},{"id":411,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"a99f462e4b8bf088b908b35f7fbbe8fd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 54-173","gmt_create":"2026-05-29T00:34:06.365941+08:00","gmt_modified":"2026-05-29T00:34:06.365941+08:00"},{"id":412,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"fb235213378aeb07ae9a20bc1270b4e7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderConfigForm.tsx#54-461","gmt_create":"2026-05-29T00:34:06.366264+08:00","gmt_modified":"2026-05-29T00:34:06.366264+08:00"},{"id":413,"source_id":"8b1d34afa2224b6a7bf1941920a68370","target_id":"fb235213378aeb07ae9a20bc1270b4e7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 54-461","gmt_create":"2026-05-29T00:34:06.366354+08:00","gmt_modified":"2026-05-29T00:34:06.366354+08:00"},{"id":414,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"72f87ad7bc869cad20c872ba09c7909b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/ProviderCard.tsx#11-105","gmt_create":"2026-05-29T00:34:06.366498+08:00","gmt_modified":"2026-05-29T00:34:06.366498+08:00"},{"id":415,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"be40f537e25221baebe8c5864c51b198","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#104-116","gmt_create":"2026-05-29T00:34:06.366665+08:00","gmt_modified":"2026-05-29T00:34:06.366665+08:00"},{"id":416,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"be40f537e25221baebe8c5864c51b198","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 104-116","gmt_create":"2026-05-29T00:34:06.366755+08:00","gmt_modified":"2026-05-29T00:34:06.366755+08:00"},{"id":417,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"498ca8240be0ec198d8dcd16e39e08f3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#280-292","gmt_create":"2026-05-29T00:34:06.36729+08:00","gmt_modified":"2026-05-29T00:34:06.36729+08:00"},{"id":418,"source_id":"7b7ce5726d29197b98aaada0cd869771","target_id":"498ca8240be0ec198d8dcd16e39e08f3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 280-292","gmt_create":"2026-05-29T00:34:06.367386+08:00","gmt_modified":"2026-05-29T00:34:06.367386+08:00"},{"id":419,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"7b8e979bf92d58979700a69fd9c5b27a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#693-711","gmt_create":"2026-05-29T00:34:06.367558+08:00","gmt_modified":"2026-05-29T00:34:06.367558+08:00"},{"id":420,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"7b8e979bf92d58979700a69fd9c5b27a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 693-711","gmt_create":"2026-05-29T00:34:06.367649+08:00","gmt_modified":"2026-05-29T00:34:06.367649+08:00"},{"id":421,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"44c54ebf29feebb634b2f7957297dfb9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#19-32","gmt_create":"2026-05-29T00:34:06.367806+08:00","gmt_modified":"2026-05-29T00:34:06.367806+08:00"},{"id":422,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"44c54ebf29feebb634b2f7957297dfb9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-32","gmt_create":"2026-05-29T00:34:06.3679+08:00","gmt_modified":"2026-05-29T00:34:06.3679+08:00"},{"id":423,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"32966a55fd80ba72927bce4c6b230fd6","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/acpAgentAdapter.ts","gmt_create":"2026-05-29T00:36:03.443392+08:00","gmt_modified":"2026-05-29T00:36:03.443392+08:00"},{"id":424,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T00:36:03.443554+08:00","gmt_modified":"2026-05-29T00:36:03.443554+08:00"},{"id":425,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/sessionExecutionQueue.ts","gmt_create":"2026-05-29T00:36:03.443654+08:00","gmt_modified":"2026-05-29T00:36:03.443654+08:00"},{"id":426,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"22f26535963a86066c99a83289088c84","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/tools.ts","gmt_create":"2026-05-29T00:36:03.44375+08:00","gmt_modified":"2026-05-29T00:36:03.44375+08:00"},{"id":427,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"c8328c5d6c794e20b30b02be124bb9dd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/sdk/providers.ts","gmt_create":"2026-05-29T00:36:03.443895+08:00","gmt_modified":"2026-05-29T00:36:03.443895+08:00"},{"id":428,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"992d124cda8932a4c5e38d85570fcfd8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/toolExecutors.ts","gmt_create":"2026-05-29T00:36:03.444021+08:00","gmt_modified":"2026-05-29T00:36:03.444021+08:00"},{"id":429,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"6985509692e54dc77249694cb7661c41","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/shared/approvalGate.ts","gmt_create":"2026-05-29T00:36:03.44415+08:00","gmt_modified":"2026-05-29T00:36:03.44415+08:00"},{"id":430,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T00:36:03.444249+08:00","gmt_modified":"2026-05-29T00:36:03.444249+08:00"},{"id":431,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T00:36:03.444349+08:00","gmt_modified":"2026-05-29T00:36:03.444349+08:00"},{"id":432,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"462038004d507ef279adb14d31a8ee79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/safety.ts","gmt_create":"2026-05-29T00:36:03.444444+08:00","gmt_modified":"2026-05-29T00:36:03.444444+08:00"},{"id":433,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"94617cf09e47c0a5c1bdd1716b294063","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444559+08:00","gmt_modified":"2026-05-29T00:36:03.44456+08:00"},{"id":434,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444656+08:00","gmt_modified":"2026-05-29T00:36:03.444656+08:00"},{"id":435,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"bc4a0507dc381b23e9ee7e1a807af949","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/providerHandlers.cjs","gmt_create":"2026-05-29T00:36:03.444766+08:00","gmt_modified":"2026-05-29T00:36:03.444766+08:00"},{"id":436,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7f0a86fe9691da422de38d0fc11b73dc","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/mcpServerBridge.cjs","gmt_create":"2026-05-29T00:36:03.444856+08:00","gmt_modified":"2026-05-29T00:36:03.444856+08:00"},{"id":437,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"f314c06de44f0cf0a7f57f70cf337645","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: lib/logger.ts","gmt_create":"2026-05-29T00:36:03.444966+08:00","gmt_modified":"2026-05-29T00:36:03.444966+08:00"},{"id":438,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ffed7f2b98f0876b0764a46178326f05","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/errorClassifier.ts","gmt_create":"2026-05-29T00:36:03.445069+08:00","gmt_modified":"2026-05-29T00:36:03.445069+08:00"},{"id":439,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"96d07bd1774515a99147d7a22077ab18","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: types/global/netcatty-bridge-ai.d.ts","gmt_create":"2026-05-29T00:36:03.445165+08:00","gmt_modified":"2026-05-29T00:36:03.445165+08:00"},{"id":440,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"100bd4a254411503caf7376831d4386b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#1-478","gmt_create":"2026-05-29T00:36:03.445323+08:00","gmt_modified":"2026-05-29T00:36:03.445323+08:00"},{"id":441,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"28cfa354e1b7170c007690877c62b8be","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/tools.ts#1-177","gmt_create":"2026-05-29T00:36:03.445489+08:00","gmt_modified":"2026-05-29T00:36:03.445489+08:00"},{"id":442,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"67538f95d3000f59efd6a6f7fec74e6f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/sessionExecutionQueue.ts#1-128","gmt_create":"2026-05-29T00:36:03.445654+08:00","gmt_modified":"2026-05-29T00:36:03.445654+08:00"},{"id":443,"source_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","target_id":"67538f95d3000f59efd6a6f7fec74e6f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-128","gmt_create":"2026-05-29T00:36:03.445763+08:00","gmt_modified":"2026-05-29T00:36:03.445763+08:00"},{"id":444,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"9417fce74f6b6f53a599238c0ecaae53","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#1-261","gmt_create":"2026-05-29T00:36:03.445885+08:00","gmt_modified":"2026-05-29T00:36:03.445885+08:00"},{"id":445,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"9417fce74f6b6f53a599238c0ecaae53","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-261","gmt_create":"2026-05-29T00:36:03.445974+08:00","gmt_modified":"2026-05-29T00:36:03.445974+08:00"},{"id":446,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ef28c67ed1ff92a24029da16f6553c21","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#1-240","gmt_create":"2026-05-29T00:36:03.446116+08:00","gmt_modified":"2026-05-29T00:36:03.446116+08:00"},{"id":447,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"ef28c67ed1ff92a24029da16f6553c21","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-240","gmt_create":"2026-05-29T00:36:03.446207+08:00","gmt_modified":"2026-05-29T00:36:03.446207+08:00"},{"id":448,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7dcdfeb34122a1981bcf72e93260425a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/acpAgentAdapter.ts#1-323","gmt_create":"2026-05-29T00:36:03.446361+08:00","gmt_modified":"2026-05-29T00:36:03.446361+08:00"},{"id":449,"source_id":"32966a55fd80ba72927bce4c6b230fd6","target_id":"7dcdfeb34122a1981bcf72e93260425a","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-323","gmt_create":"2026-05-29T00:36:03.44647+08:00","gmt_modified":"2026-05-29T00:36:03.44647+08:00"},{"id":450,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"cb4197d4817c8abbde89ddf45a94e0e8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.446628+08:00","gmt_modified":"2026-05-29T00:36:03.446628+08:00"},{"id":451,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"cb4197d4817c8abbde89ddf45a94e0e8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.446746+08:00","gmt_modified":"2026-05-29T00:36:03.446746+08:00"},{"id":452,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"f716923ec2c150e5314e4b76edeee49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.446864+08:00","gmt_modified":"2026-05-29T00:36:03.446864+08:00"},{"id":453,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"f716923ec2c150e5314e4b76edeee49f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.447189+08:00","gmt_modified":"2026-05-29T00:36:03.447189+08:00"},{"id":454,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"d55f61ffd4a94399c84fdb1f3d553b73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/providerHandlers.cjs#1-200","gmt_create":"2026-05-29T00:36:03.447378+08:00","gmt_modified":"2026-05-29T00:36:03.447378+08:00"},{"id":455,"source_id":"bc4a0507dc381b23e9ee7e1a807af949","target_id":"d55f61ffd4a94399c84fdb1f3d553b73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-200","gmt_create":"2026-05-29T00:36:03.447511+08:00","gmt_modified":"2026-05-29T00:36:03.447512+08:00"},{"id":456,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"5387fddb54f5dbc949a84416e7f6a3fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/mcpServerBridge.cjs#235-269","gmt_create":"2026-05-29T00:36:03.447665+08:00","gmt_modified":"2026-05-29T00:36:03.447665+08:00"},{"id":457,"source_id":"7f0a86fe9691da422de38d0fc11b73dc","target_id":"5387fddb54f5dbc949a84416e7f6a3fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 235-269","gmt_create":"2026-05-29T00:36:03.447785+08:00","gmt_modified":"2026-05-29T00:36:03.447785+08:00"},{"id":458,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-348","gmt_create":"2026-05-29T00:36:03.447931+08:00","gmt_modified":"2026-05-29T00:36:03.447931+08:00"},{"id":459,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"3d4db1f7d087ceb76ea5545b48871bbc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#1-142","gmt_create":"2026-05-29T00:36:03.448137+08:00","gmt_modified":"2026-05-29T00:36:03.448137+08:00"},{"id":460,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"d941aa3503f71dd1a195ad74f2746fb9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/safety.ts#1-99","gmt_create":"2026-05-29T00:36:03.448345+08:00","gmt_modified":"2026-05-29T00:36:03.448345+08:00"},{"id":461,"source_id":"462038004d507ef279adb14d31a8ee79","target_id":"d941aa3503f71dd1a195ad74f2746fb9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-99","gmt_create":"2026-05-29T00:36:03.448503+08:00","gmt_modified":"2026-05-29T00:36:03.448503+08:00"},{"id":462,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"81391bb13afe350160619c0771563cfd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/sdk/providers.ts#247-399","gmt_create":"2026-05-29T00:36:03.450806+08:00","gmt_modified":"2026-05-29T00:36:03.450806+08:00"},{"id":463,"source_id":"c8328c5d6c794e20b30b02be124bb9dd","target_id":"81391bb13afe350160619c0771563cfd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 247-399","gmt_create":"2026-05-29T00:36:03.450949+08:00","gmt_modified":"2026-05-29T00:36:03.450949+08:00"},{"id":464,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"4aff5e834a93bcb12ba76d9d392ec3e0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#123-200","gmt_create":"2026-05-29T00:36:03.451088+08:00","gmt_modified":"2026-05-29T00:36:03.451088+08:00"},{"id":465,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"4aff5e834a93bcb12ba76d9d392ec3e0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 123-200","gmt_create":"2026-05-29T00:36:03.451187+08:00","gmt_modified":"2026-05-29T00:36:03.451187+08:00"},{"id":466,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"5e2dd6938ff0dcd3632b657156af0c73","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#66-116","gmt_create":"2026-05-29T00:36:03.451472+08:00","gmt_modified":"2026-05-29T00:36:03.451472+08:00"},{"id":467,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"5e2dd6938ff0dcd3632b657156af0c73","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 66-116","gmt_create":"2026-05-29T00:36:03.451572+08:00","gmt_modified":"2026-05-29T00:36:03.451572+08:00"},{"id":468,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"8cd29c387c0a9a43cb308f923c0709a3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#53-89","gmt_create":"2026-05-29T00:36:03.451723+08:00","gmt_modified":"2026-05-29T00:36:03.451723+08:00"},{"id":469,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"8cd29c387c0a9a43cb308f923c0709a3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 53-89","gmt_create":"2026-05-29T00:36:03.451828+08:00","gmt_modified":"2026-05-29T00:36:03.451828+08:00"},{"id":470,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"4c618aeec634eea5f99214f915aa1020","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/acpAgentAdapter.ts#132-249","gmt_create":"2026-05-29T00:36:03.452494+08:00","gmt_modified":"2026-05-29T00:36:03.452494+08:00"},{"id":471,"source_id":"32966a55fd80ba72927bce4c6b230fd6","target_id":"4c618aeec634eea5f99214f915aa1020","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 132-249","gmt_create":"2026-05-29T00:36:03.452596+08:00","gmt_modified":"2026-05-29T00:36:03.452597+08:00"},{"id":472,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"747b2a89815ba74e040420f0f2c1ca33","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/toolExecutors.ts#66-240","gmt_create":"2026-05-29T00:36:03.453243+08:00","gmt_modified":"2026-05-29T00:36:03.453243+08:00"},{"id":473,"source_id":"992d124cda8932a4c5e38d85570fcfd8","target_id":"747b2a89815ba74e040420f0f2c1ca33","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 66-240","gmt_create":"2026-05-29T00:36:03.453365+08:00","gmt_modified":"2026-05-29T00:36:03.453365+08:00"},{"id":474,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"aa59a13521f82ab4cf5b39c3ed9995e5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/sessionExecutionQueue.ts#58-117","gmt_create":"2026-05-29T00:36:03.453543+08:00","gmt_modified":"2026-05-29T00:36:03.453543+08:00"},{"id":475,"source_id":"28c7ca8e4abf5bfebee0bb97fb6329a7","target_id":"aa59a13521f82ab4cf5b39c3ed9995e5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 58-117","gmt_create":"2026-05-29T00:36:03.453647+08:00","gmt_modified":"2026-05-29T00:36:03.453648+08:00"},{"id":476,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"10728caa367c0ab746a192e5ac6c24ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/shared/approvalGate.ts#53-185","gmt_create":"2026-05-29T00:36:03.453827+08:00","gmt_modified":"2026-05-29T00:36:03.453827+08:00"},{"id":477,"source_id":"6985509692e54dc77249694cb7661c41","target_id":"10728caa367c0ab746a192e5ac6c24ad","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 53-185","gmt_create":"2026-05-29T00:36:03.453926+08:00","gmt_modified":"2026-05-29T00:36:03.453926+08:00"},{"id":478,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"69f45bef07c7394a439ae80da49caefe","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/safety.ts#76-99","gmt_create":"2026-05-29T00:36:03.454066+08:00","gmt_modified":"2026-05-29T00:36:03.454066+08:00"},{"id":479,"source_id":"462038004d507ef279adb14d31a8ee79","target_id":"69f45bef07c7394a439ae80da49caefe","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-99","gmt_create":"2026-05-29T00:36:03.454164+08:00","gmt_modified":"2026-05-29T00:36:03.454164+08:00"},{"id":480,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"1a7099e01fde4608b291fac03c453e1b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-65","gmt_create":"2026-05-29T00:36:03.45472+08:00","gmt_modified":"2026-05-29T00:36:03.45472+08:00"},{"id":481,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"1a7099e01fde4608b291fac03c453e1b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-65","gmt_create":"2026-05-29T00:36:03.454821+08:00","gmt_modified":"2026-05-29T00:36:03.454821+08:00"},{"id":482,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ceda80a34996ffcae8fb0a0e8789d2dd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#160-177","gmt_create":"2026-05-29T00:36:03.455985+08:00","gmt_modified":"2026-05-29T00:36:03.455985+08:00"},{"id":483,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"ceda80a34996ffcae8fb0a0e8789d2dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 160-177","gmt_create":"2026-05-29T00:36:03.456195+08:00","gmt_modified":"2026-05-29T00:36:03.456195+08:00"},{"id":484,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ec07fe3dcd32336f62ab2834095f336f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/acpHandlers.cjs#4-121","gmt_create":"2026-05-29T00:36:03.456582+08:00","gmt_modified":"2026-05-29T00:36:03.456582+08:00"},{"id":485,"source_id":"94617cf09e47c0a5c1bdd1716b294063","target_id":"ec07fe3dcd32336f62ab2834095f336f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-121","gmt_create":"2026-05-29T00:36:03.45671+08:00","gmt_modified":"2026-05-29T00:36:03.45671+08:00"},{"id":486,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"7e7bc7d50badd78dabc2b7d72af40215","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/mcpServerBridge.cjs#245-269","gmt_create":"2026-05-29T00:36:03.456968+08:00","gmt_modified":"2026-05-29T00:36:03.456968+08:00"},{"id":487,"source_id":"7f0a86fe9691da422de38d0fc11b73dc","target_id":"7e7bc7d50badd78dabc2b7d72af40215","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 245-269","gmt_create":"2026-05-29T00:36:03.457071+08:00","gmt_modified":"2026-05-29T00:36:03.457071+08:00"},{"id":488,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T00:36:03.458379+08:00","gmt_modified":"2026-05-29T00:36:03.458379+08:00"},{"id":489,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"e1c64756264cc7254af6c9145fdc053b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#36-44","gmt_create":"2026-05-29T00:36:03.458623+08:00","gmt_modified":"2026-05-29T00:36:03.458623+08:00"},{"id":490,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"dab01b344f15667205c31d761866acb7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#4-141","gmt_create":"2026-05-29T00:36:03.458848+08:00","gmt_modified":"2026-05-29T00:36:03.458848+08:00"},{"id":491,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"dab01b344f15667205c31d761866acb7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-141","gmt_create":"2026-05-29T00:36:03.458974+08:00","gmt_modified":"2026-05-29T00:36:03.458974+08:00"},{"id":492,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"9612c547c5baace638605ed8993427fc","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/errorClassifier.ts#121-156","gmt_create":"2026-05-29T00:36:03.461739+08:00","gmt_modified":"2026-05-29T00:36:03.461739+08:00"},{"id":493,"source_id":"ffed7f2b98f0876b0764a46178326f05","target_id":"9612c547c5baace638605ed8993427fc","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 121-156","gmt_create":"2026-05-29T00:36:03.461878+08:00","gmt_modified":"2026-05-29T00:36:03.461878+08:00"},{"id":494,"source_id":"930fbb30-624e-4be4-b9d7-3467b84db500","target_id":"ec7aa1cecef34429b91fe813e6807485","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: lib/logger.ts#1-25","gmt_create":"2026-05-29T00:36:03.462006+08:00","gmt_modified":"2026-05-29T00:36:03.462006+08:00"},{"id":495,"source_id":"f314c06de44f0cf0a7f57f70cf337645","target_id":"ec7aa1cecef34429b91fe813e6807485","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-25","gmt_create":"2026-05-29T00:36:03.4621+08:00","gmt_modified":"2026-05-29T00:36:03.4621+08:00"},{"id":496,"source_id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","target_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 42bce106-b45b-4bc0-9e82-bc2a4fc07beb -\u003e eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","gmt_create":"2026-05-29T00:36:04.045992+08:00","gmt_modified":"2026-05-29T00:36:04.045992+08:00"},{"id":497,"source_id":"6911f629-88c9-46a5-a025-dad6e315f1e3","target_id":"930fbb30-624e-4be4-b9d7-3467b84db500","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 6911f629-88c9-46a5-a025-dad6e315f1e3 -\u003e 930fbb30-624e-4be4-b9d7-3467b84db500","gmt_create":"2026-05-29T00:36:04.050584+08:00","gmt_modified":"2026-05-29T00:36:04.050584+08:00"},{"id":500,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0872749e-a205-426a-8c47-ea163a05e729","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 0872749e-a205-426a-8c47-ea163a05e729","gmt_create":"2026-05-29T00:36:04.051178+08:00","gmt_modified":"2026-05-29T00:36:04.051178+08:00"},{"id":501,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"82f9a2a7-0743-43ab-98ff-8557eb71151a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 82f9a2a7-0743-43ab-98ff-8557eb71151a","gmt_create":"2026-05-29T00:36:04.051353+08:00","gmt_modified":"2026-05-29T00:36:04.051353+08:00"},{"id":502,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"0d77fffe-d1dc-48c7-a372-e75b8a87db6b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e 0d77fffe-d1dc-48c7-a372-e75b8a87db6b","gmt_create":"2026-05-29T00:36:04.051502+08:00","gmt_modified":"2026-05-29T00:36:04.051502+08:00"},{"id":503,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","gmt_create":"2026-05-29T00:36:04.051657+08:00","gmt_modified":"2026-05-29T00:36:04.051657+08:00"},{"id":504,"source_id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","target_id":"cde4dc83-ca09-4401-a05a-438e589695c6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: b16d96dd-1d17-4426-a57f-2a7fbd6076a5 -\u003e cde4dc83-ca09-4401-a05a-438e589695c6","gmt_create":"2026-05-29T00:36:04.052186+08:00","gmt_modified":"2026-05-29T00:36:04.052186+08:00"},{"id":505,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d433a6a730c2603ba4e3bfecff9c6ff5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/sshAuth.ts","gmt_create":"2026-05-29T16:04:30.675925+08:00","gmt_modified":"2026-05-29T16:04:30.675925+08:00"},{"id":506,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6d287e279b7ca41b46ea004fd85f5033","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/credentials.ts","gmt_create":"2026-05-29T16:04:30.676113+08:00","gmt_modified":"2026-05-29T16:04:30.676113+08:00"},{"id":507,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d6dfa972f57094438cb3eb40295463ad","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:30.676288+08:00","gmt_modified":"2026-05-29T16:04:30.676288+08:00"},{"id":508,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"de02ba181120d7d3c45b25027607954b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:30.676406+08:00","gmt_modified":"2026-05-29T16:04:30.676406+08:00"},{"id":509,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ea757801c8b59a1ce3ab79853638a417","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:30.676498+08:00","gmt_modified":"2026-05-29T16:04:30.676498+08:00"},{"id":510,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"43e0f42bd09636b152f7c44cac37ef9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:30.676988+08:00","gmt_modified":"2026-05-29T16:04:30.676988+08:00"},{"id":511,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"73bc0acd848c3ed206cd2f7c830ff4e5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/passphraseHandler.cjs","gmt_create":"2026-05-29T16:04:30.677125+08:00","gmt_modified":"2026-05-29T16:04:30.677125+08:00"},{"id":512,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"bff59e82f605e20195da97a526dd016c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/keyboardInteractiveHandler.cjs","gmt_create":"2026-05-29T16:04:30.677273+08:00","gmt_modified":"2026-05-29T16:04:30.677273+08:00"},{"id":513,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a5a4bcff2795d6fddece1c37463b5d11","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/GenerateStandardPanel.tsx","gmt_create":"2026-05-29T16:04:30.677382+08:00","gmt_modified":"2026-05-29T16:04:30.677382+08:00"},{"id":514,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a686bce16a4757ffc087fd1d439dfd0f","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/ImportKeyPanel.tsx","gmt_create":"2026-05-29T16:04:30.677515+08:00","gmt_modified":"2026-05-29T16:04:30.677516+08:00"},{"id":515,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"3e9186e3c491d88874d860d8f92d6c21","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/IdentityPanel.tsx","gmt_create":"2026-05-29T16:04:30.677648+08:00","gmt_modified":"2026-05-29T16:04:30.677648+08:00"},{"id":516,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"f9bacab6e427f918ae35e14852f5366b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/terminal/TerminalAuthDialog.tsx","gmt_create":"2026-05-29T16:04:30.677865+08:00","gmt_modified":"2026-05-29T16:04:30.677865+08:00"},{"id":517,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"cf19562ecc2d4f153e231f9752664ad3","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/KeyboardInteractiveModal.tsx","gmt_create":"2026-05-29T16:04:30.678029+08:00","gmt_modified":"2026-05-29T16:04:30.678029+08:00"},{"id":518,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/PassphraseModal.tsx","gmt_create":"2026-05-29T16:04:30.678143+08:00","gmt_modified":"2026-05-29T16:04:30.678143+08:00"},{"id":519,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"9403814343c15f11bc49b8af34bf3cd7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/keychain/utils.ts","gmt_create":"2026-05-29T16:04:30.678707+08:00","gmt_modified":"2026-05-29T16:04:30.678707+08:00"},{"id":520,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"bb281d4ee5af69ae7677438d3275e233","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useVaultState.ts","gmt_create":"2026-05-29T16:04:30.679073+08:00","gmt_modified":"2026-05-29T16:04:30.679073+08:00"},{"id":521,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"39ced6df00a8ad2103ed345174c561e0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/defaultKeyPassphrases.ts","gmt_create":"2026-05-29T16:04:30.679238+08:00","gmt_modified":"2026-05-29T16:04:30.679238+08:00"},{"id":522,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#1-125","gmt_create":"2026-05-29T16:04:30.679429+08:00","gmt_modified":"2026-05-29T16:04:30.679429+08:00"},{"id":523,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-125","gmt_create":"2026-05-29T16:04:30.679592+08:00","gmt_modified":"2026-05-29T16:04:30.679592+08:00"},{"id":524,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a3def397ad1794ae80408f70257853e4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#1-111","gmt_create":"2026-05-29T16:04:30.679758+08:00","gmt_modified":"2026-05-29T16:04:30.679758+08:00"},{"id":525,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"a3def397ad1794ae80408f70257853e4","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-111","gmt_create":"2026-05-29T16:04:30.679867+08:00","gmt_modified":"2026-05-29T16:04:30.679867+08:00"},{"id":526,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"0239e67753852e82d4d41579e207c5dd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#1-981","gmt_create":"2026-05-29T16:04:30.680229+08:00","gmt_modified":"2026-05-29T16:04:30.680229+08:00"},{"id":527,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"0239e67753852e82d4d41579e207c5dd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-981","gmt_create":"2026-05-29T16:04:30.68032+08:00","gmt_modified":"2026-05-29T16:04:30.68032+08:00"},{"id":528,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-104","gmt_create":"2026-05-29T16:04:30.681011+08:00","gmt_modified":"2026-05-29T16:04:30.681011+08:00"},{"id":529,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-104","gmt_create":"2026-05-29T16:04:30.681182+08:00","gmt_modified":"2026-05-29T16:04:30.681182+08:00"},{"id":530,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8b8d8ae929a16344538886a81db8f214","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/passphraseHandler.cjs#1-191","gmt_create":"2026-05-29T16:04:30.681386+08:00","gmt_modified":"2026-05-29T16:04:30.681386+08:00"},{"id":531,"source_id":"73bc0acd848c3ed206cd2f7c830ff4e5","target_id":"8b8d8ae929a16344538886a81db8f214","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-191","gmt_create":"2026-05-29T16:04:30.681513+08:00","gmt_modified":"2026-05-29T16:04:30.681513+08:00"},{"id":532,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"53ccbc21b6b3804a9fa8cc8edbcac476","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/keyboardInteractiveHandler.cjs#1-107","gmt_create":"2026-05-29T16:04:30.681743+08:00","gmt_modified":"2026-05-29T16:04:30.681743+08:00"},{"id":533,"source_id":"bff59e82f605e20195da97a526dd016c","target_id":"53ccbc21b6b3804a9fa8cc8edbcac476","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-107","gmt_create":"2026-05-29T16:04:30.681887+08:00","gmt_modified":"2026-05-29T16:04:30.681887+08:00"},{"id":534,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"924bb1a806344a0eb311e8d8c7575b2c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/terminal/TerminalAuthDialog.tsx#1-307","gmt_create":"2026-05-29T16:04:30.68218+08:00","gmt_modified":"2026-05-29T16:04:30.68218+08:00"},{"id":535,"source_id":"f9bacab6e427f918ae35e14852f5366b","target_id":"924bb1a806344a0eb311e8d8c7575b2c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-307","gmt_create":"2026-05-29T16:04:30.682387+08:00","gmt_modified":"2026-05-29T16:04:30.682387+08:00"},{"id":536,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a06b108e573556a03a1c12c0b59891eb","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/KeyboardInteractiveModal.tsx#1-228","gmt_create":"2026-05-29T16:04:30.682577+08:00","gmt_modified":"2026-05-29T16:04:30.682577+08:00"},{"id":537,"source_id":"cf19562ecc2d4f153e231f9752664ad3","target_id":"a06b108e573556a03a1c12c0b59891eb","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-228","gmt_create":"2026-05-29T16:04:30.682706+08:00","gmt_modified":"2026-05-29T16:04:30.682706+08:00"},{"id":538,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"52d0b0ac416628922950e54478ba650d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/PassphraseModal.tsx#1-184","gmt_create":"2026-05-29T16:04:30.682869+08:00","gmt_modified":"2026-05-29T16:04:30.682869+08:00"},{"id":539,"source_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","target_id":"52d0b0ac416628922950e54478ba650d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-184","gmt_create":"2026-05-29T16:04:30.68297+08:00","gmt_modified":"2026-05-29T16:04:30.68297+08:00"},{"id":540,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"7a65710ff0c1db23e5f91241e7c2cc03","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useVaultState.ts#156-199","gmt_create":"2026-05-29T16:04:30.683121+08:00","gmt_modified":"2026-05-29T16:04:30.683121+08:00"},{"id":541,"source_id":"bb281d4ee5af69ae7677438d3275e233","target_id":"7a65710ff0c1db23e5f91241e7c2cc03","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 156-199","gmt_create":"2026-05-29T16:04:30.683215+08:00","gmt_modified":"2026-05-29T16:04:30.683215+08:00"},{"id":542,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"91c695ba16ad5d471aad8daba5d1f6f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/defaultKeyPassphrases.ts#73-93","gmt_create":"2026-05-29T16:04:30.683352+08:00","gmt_modified":"2026-05-29T16:04:30.683352+08:00"},{"id":543,"source_id":"39ced6df00a8ad2103ed345174c561e0","target_id":"91c695ba16ad5d471aad8daba5d1f6f0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 73-93","gmt_create":"2026-05-29T16:04:30.683578+08:00","gmt_modified":"2026-05-29T16:04:30.683578+08:00"},{"id":544,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6b5969e1d95eaf558be41b6443750eba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#44-103","gmt_create":"2026-05-29T16:04:30.684857+08:00","gmt_modified":"2026-05-29T16:04:30.684857+08:00"},{"id":545,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"6b5969e1d95eaf558be41b6443750eba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 44-103","gmt_create":"2026-05-29T16:04:30.684986+08:00","gmt_modified":"2026-05-29T16:04:30.684986+08:00"},{"id":546,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#464-718","gmt_create":"2026-05-29T16:04:30.685119+08:00","gmt_modified":"2026-05-29T16:04:30.685119+08:00"},{"id":547,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 464-718","gmt_create":"2026-05-29T16:04:30.685218+08:00","gmt_modified":"2026-05-29T16:04:30.685218+08:00"},{"id":548,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8970034d832fc470e0fe605b1e89da38","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#43-97","gmt_create":"2026-05-29T16:04:30.686962+08:00","gmt_modified":"2026-05-29T16:04:30.686962+08:00"},{"id":549,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"8970034d832fc470e0fe605b1e89da38","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 43-97","gmt_create":"2026-05-29T16:04:30.687106+08:00","gmt_modified":"2026-05-29T16:04:30.687106+08:00"},{"id":550,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"21353a724957792ec2d18d735b25b472","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#30-110","gmt_create":"2026-05-29T16:04:30.687256+08:00","gmt_modified":"2026-05-29T16:04:30.687256+08:00"},{"id":551,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"21353a724957792ec2d18d735b25b472","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-110","gmt_create":"2026-05-29T16:04:30.687364+08:00","gmt_modified":"2026-05-29T16:04:30.687364+08:00"},{"id":552,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"9693d9bf7f30c39aca2f495b6f7f7799","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/terminal/TerminalAuthDialog.tsx#18-39","gmt_create":"2026-05-29T16:04:30.687488+08:00","gmt_modified":"2026-05-29T16:04:30.687488+08:00"},{"id":553,"source_id":"f9bacab6e427f918ae35e14852f5366b","target_id":"9693d9bf7f30c39aca2f495b6f7f7799","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 18-39","gmt_create":"2026-05-29T16:04:30.687639+08:00","gmt_modified":"2026-05-29T16:04:30.687639+08:00"},{"id":554,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"5db6727740eb5df8599c1adbdad450f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/KeyboardInteractiveModal.tsx#25-48","gmt_create":"2026-05-29T16:04:30.687772+08:00","gmt_modified":"2026-05-29T16:04:30.687772+08:00"},{"id":555,"source_id":"cf19562ecc2d4f153e231f9752664ad3","target_id":"5db6727740eb5df8599c1adbdad450f1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-48","gmt_create":"2026-05-29T16:04:30.687911+08:00","gmt_modified":"2026-05-29T16:04:30.687911+08:00"},{"id":556,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"58960be2def6fe290a3d622cc938d4b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/PassphraseModal.tsx#26-31","gmt_create":"2026-05-29T16:04:30.688044+08:00","gmt_modified":"2026-05-29T16:04:30.688044+08:00"},{"id":557,"source_id":"1f0b00b35fb6a716e5a70f1e2376f2bd","target_id":"58960be2def6fe290a3d622cc938d4b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-31","gmt_create":"2026-05-29T16:04:30.688152+08:00","gmt_modified":"2026-05-29T16:04:30.688152+08:00"},{"id":558,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"2ec6f65bdac68ddac752edc9432c2dc1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/passphraseHandler.cjs#76-139","gmt_create":"2026-05-29T16:04:30.688583+08:00","gmt_modified":"2026-05-29T16:04:30.688583+08:00"},{"id":559,"source_id":"73bc0acd848c3ed206cd2f7c830ff4e5","target_id":"2ec6f65bdac68ddac752edc9432c2dc1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-139","gmt_create":"2026-05-29T16:04:30.688677+08:00","gmt_modified":"2026-05-29T16:04:30.688678+08:00"},{"id":560,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"2a34fd2cd38b67d2bda9ea5476346bb1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/keyboardInteractiveHandler.cjs#26-49","gmt_create":"2026-05-29T16:04:30.688803+08:00","gmt_modified":"2026-05-29T16:04:30.688803+08:00"},{"id":561,"source_id":"bff59e82f605e20195da97a526dd016c","target_id":"2a34fd2cd38b67d2bda9ea5476346bb1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 26-49","gmt_create":"2026-05-29T16:04:30.688893+08:00","gmt_modified":"2026-05-29T16:04:30.688893+08:00"},{"id":562,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6896a2e499ef113d1f2f61fdf44d3e8d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#25-42","gmt_create":"2026-05-29T16:04:30.689018+08:00","gmt_modified":"2026-05-29T16:04:30.689018+08:00"},{"id":563,"source_id":"d433a6a730c2603ba4e3bfecff9c6ff5","target_id":"6896a2e499ef113d1f2f61fdf44d3e8d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 25-42","gmt_create":"2026-05-29T16:04:30.689112+08:00","gmt_modified":"2026-05-29T16:04:30.689112+08:00"},{"id":564,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"6c3987ab9234bb35ea7475369bb5ac50","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#30-52","gmt_create":"2026-05-29T16:04:30.689401+08:00","gmt_modified":"2026-05-29T16:04:30.689401+08:00"},{"id":565,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"6c3987ab9234bb35ea7475369bb5ac50","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 30-52","gmt_create":"2026-05-29T16:04:30.689512+08:00","gmt_modified":"2026-05-29T16:04:30.689512+08:00"},{"id":566,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"88239c80ddd044b453557fe8fa6f27bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#296-373","gmt_create":"2026-05-29T16:04:30.689713+08:00","gmt_modified":"2026-05-29T16:04:30.689713+08:00"},{"id":567,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"88239c80ddd044b453557fe8fa6f27bf","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 296-373","gmt_create":"2026-05-29T16:04:30.689825+08:00","gmt_modified":"2026-05-29T16:04:30.689825+08:00"},{"id":568,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"ce55c6d05dcd873f7342ed01b7472d53","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#782-790","gmt_create":"2026-05-29T16:04:30.690982+08:00","gmt_modified":"2026-05-29T16:04:30.690982+08:00"},{"id":569,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"ce55c6d05dcd873f7342ed01b7472d53","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 782-790","gmt_create":"2026-05-29T16:04:30.691095+08:00","gmt_modified":"2026-05-29T16:04:30.691095+08:00"},{"id":570,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"51702a7a5dd3dbdb9c48d645a91dbd9f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#828-861","gmt_create":"2026-05-29T16:04:30.691234+08:00","gmt_modified":"2026-05-29T16:04:30.691235+08:00"},{"id":571,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"51702a7a5dd3dbdb9c48d645a91dbd9f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 828-861","gmt_create":"2026-05-29T16:04:30.691327+08:00","gmt_modified":"2026-05-29T16:04:30.691327+08:00"},{"id":572,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"4b66f1a9cc38229f9896cd834b152ea5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/GenerateStandardPanel.tsx#14-30","gmt_create":"2026-05-29T16:04:30.691841+08:00","gmt_modified":"2026-05-29T16:04:30.691841+08:00"},{"id":573,"source_id":"a5a4bcff2795d6fddece1c37463b5d11","target_id":"4b66f1a9cc38229f9896cd834b152ea5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 14-30","gmt_create":"2026-05-29T16:04:30.691951+08:00","gmt_modified":"2026-05-29T16:04:30.691951+08:00"},{"id":574,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"d360cba87d971df99a7724cb8e0cdbe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/ImportKeyPanel.tsx#15-29","gmt_create":"2026-05-29T16:04:30.692085+08:00","gmt_modified":"2026-05-29T16:04:30.692085+08:00"},{"id":575,"source_id":"a686bce16a4757ffc087fd1d439dfd0f","target_id":"d360cba87d971df99a7724cb8e0cdbe8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 15-29","gmt_create":"2026-05-29T16:04:30.692218+08:00","gmt_modified":"2026-05-29T16:04:30.692218+08:00"},{"id":576,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/IdentityPanel.tsx#16-34","gmt_create":"2026-05-29T16:04:30.692351+08:00","gmt_modified":"2026-05-29T16:04:30.692351+08:00"},{"id":577,"source_id":"3e9186e3c491d88874d860d8f92d6c21","target_id":"a6e0a3e603d1f0a4f4bf7a2a935249c8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-34","gmt_create":"2026-05-29T16:04:30.69244+08:00","gmt_modified":"2026-05-29T16:04:30.69244+08:00"},{"id":578,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"dc4e286965a8fc1eff96b3ddfdf34d10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/keychain/utils.ts#29-34","gmt_create":"2026-05-29T16:04:30.69291+08:00","gmt_modified":"2026-05-29T16:04:30.69291+08:00"},{"id":579,"source_id":"9403814343c15f11bc49b8af34bf3cd7","target_id":"dc4e286965a8fc1eff96b3ddfdf34d10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-34","gmt_create":"2026-05-29T16:04:30.693+08:00","gmt_modified":"2026-05-29T16:04:30.693+08:00"},{"id":580,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"05fa54de15d257c2519e65d4841cbfc9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#41-85","gmt_create":"2026-05-29T16:04:30.693832+08:00","gmt_modified":"2026-05-29T16:04:30.693832+08:00"},{"id":581,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"05fa54de15d257c2519e65d4841cbfc9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 41-85","gmt_create":"2026-05-29T16:04:30.693943+08:00","gmt_modified":"2026-05-29T16:04:30.693943+08:00"},{"id":582,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"b4d4ead9b619e67de1c6708b706b437e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#1-92","gmt_create":"2026-05-29T16:04:30.694163+08:00","gmt_modified":"2026-05-29T16:04:30.694163+08:00"},{"id":583,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"b4d4ead9b619e67de1c6708b706b437e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-92","gmt_create":"2026-05-29T16:04:30.694251+08:00","gmt_modified":"2026-05-29T16:04:30.694251+08:00"},{"id":584,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.pkcs8.test.cjs#1-87","gmt_create":"2026-05-29T16:04:30.69437+08:00","gmt_modified":"2026-05-29T16:04:30.69437+08:00"},{"id":585,"source_id":"43e0f42bd09636b152f7c44cac37ef9c","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-87","gmt_create":"2026-05-29T16:04:30.694477+08:00","gmt_modified":"2026-05-29T16:04:30.694477+08:00"},{"id":586,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"fd080f88b1aef2580b3a2a9ba10550b3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#140-162","gmt_create":"2026-05-29T16:04:30.694636+08:00","gmt_modified":"2026-05-29T16:04:30.694636+08:00"},{"id":587,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"fd080f88b1aef2580b3a2a9ba10550b3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-162","gmt_create":"2026-05-29T16:04:30.694756+08:00","gmt_modified":"2026-05-29T16:04:30.694757+08:00"},{"id":588,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#120-134","gmt_create":"2026-05-29T16:04:30.696688+08:00","gmt_modified":"2026-05-29T16:04:30.696688+08:00"},{"id":589,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 120-134","gmt_create":"2026-05-29T16:04:30.696782+08:00","gmt_modified":"2026-05-29T16:04:30.696782+08:00"},{"id":590,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"e5a37c8ad7a3d71da27c7701fbe45aba","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/credentials.ts#59-110","gmt_create":"2026-05-29T16:04:30.697009+08:00","gmt_modified":"2026-05-29T16:04:30.697009+08:00"},{"id":591,"source_id":"6d287e279b7ca41b46ea004fd85f5033","target_id":"e5a37c8ad7a3d71da27c7701fbe45aba","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 59-110","gmt_create":"2026-05-29T16:04:30.697121+08:00","gmt_modified":"2026-05-29T16:04:30.697121+08:00"},{"id":592,"source_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#76-92","gmt_create":"2026-05-29T16:04:30.697247+08:00","gmt_modified":"2026-05-29T16:04:30.697247+08:00"},{"id":593,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 76-92","gmt_create":"2026-05-29T16:04:30.697334+08:00","gmt_modified":"2026-05-29T16:04:30.697334+08:00"},{"id":594,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"09217e072e7bb6388888a4a02830e1cf","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge.cjs","gmt_create":"2026-05-29T16:04:37.488658+08:00","gmt_modified":"2026-05-29T16:04:37.488658+08:00"},{"id":595,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f707844f8fa482fd6b5d794ce185da9b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/startSession.cjs","gmt_create":"2026-05-29T16:04:37.488849+08:00","gmt_modified":"2026-05-29T16:04:37.488849+08:00"},{"id":596,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"3f10b28d75b4fd9dc3a1428cab158740","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/execCommand.cjs","gmt_create":"2026-05-29T16:04:37.488983+08:00","gmt_modified":"2026-05-29T16:04:37.488983+08:00"},{"id":597,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"836f76b9a7acad295ef9d2d80d79a693","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshBridge/sessionOps.cjs","gmt_create":"2026-05-29T16:04:37.489145+08:00","gmt_modified":"2026-05-29T16:04:37.489145+08:00"},{"id":598,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d6dfa972f57094438cb3eb40295463ad","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:37.489266+08:00","gmt_modified":"2026-05-29T16:04:37.489266+08:00"},{"id":599,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"de02ba181120d7d3c45b25027607954b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:37.489383+08:00","gmt_modified":"2026-05-29T16:04:37.489383+08:00"},{"id":600,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"7c3b81f22362e95e47f1b104375c608a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAlgorithms.cjs","gmt_create":"2026-05-29T16:04:37.489499+08:00","gmt_modified":"2026-05-29T16:04:37.489499+08:00"},{"id":601,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"bccb9a8e255ff857b14f5915dbe9e900","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/terminalBridge.cjs","gmt_create":"2026-05-29T16:04:37.489592+08:00","gmt_modified":"2026-05-29T16:04:37.489592+08:00"},{"id":602,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d433a6a730c2603ba4e3bfecff9c6ff5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/sshAuth.ts","gmt_create":"2026-05-29T16:04:37.489721+08:00","gmt_modified":"2026-05-29T16:04:37.489721+08:00"},{"id":603,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"1df01ca8b4c2189f72f995abd5a68708","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: types/global/netcatty-bridge-session.d.ts","gmt_create":"2026-05-29T16:04:37.489856+08:00","gmt_modified":"2026-05-29T16:04:37.489856+08:00"},{"id":604,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"68753ab2db898d0493b7925be056450c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: domain/models/terminal.ts","gmt_create":"2026-05-29T16:04:37.489985+08:00","gmt_modified":"2026-05-29T16:04:37.489985+08:00"},{"id":605,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"43e0f42bd09636b152f7c44cac37ef9c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:37.49009+08:00","gmt_modified":"2026-05-29T16:04:37.49009+08:00"},{"id":606,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ea757801c8b59a1ce3ab79853638a417","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:37.490219+08:00","gmt_modified":"2026-05-29T16:04:37.490219+08:00"},{"id":607,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"87599e4f906c1f8774fd4bc92c06bc11","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#696-722","gmt_create":"2026-05-29T16:04:37.490355+08:00","gmt_modified":"2026-05-29T16:04:37.490355+08:00"},{"id":608,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"87599e4f906c1f8774fd4bc92c06bc11","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 696-722","gmt_create":"2026-05-29T16:04:37.490497+08:00","gmt_modified":"2026-05-29T16:04:37.490497+08:00"},{"id":609,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"7531e57a28dfe8b57dd9a3c3c2780a10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#1-120","gmt_create":"2026-05-29T16:04:37.490657+08:00","gmt_modified":"2026-05-29T16:04:37.490657+08:00"},{"id":610,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"7531e57a28dfe8b57dd9a3c3c2780a10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.490764+08:00","gmt_modified":"2026-05-29T16:04:37.490764+08:00"},{"id":611,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"79514ea5593b67be4cd9989564b3cc96","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#1-120","gmt_create":"2026-05-29T16:04:37.490895+08:00","gmt_modified":"2026-05-29T16:04:37.490895+08:00"},{"id":612,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"79514ea5593b67be4cd9989564b3cc96","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.490997+08:00","gmt_modified":"2026-05-29T16:04:37.490997+08:00"},{"id":613,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"04d021e72f01a784d4bc6e6f79456a29","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#1-120","gmt_create":"2026-05-29T16:04:37.49113+08:00","gmt_modified":"2026-05-29T16:04:37.491131+08:00"},{"id":614,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"04d021e72f01a784d4bc6e6f79456a29","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.491258+08:00","gmt_modified":"2026-05-29T16:04:37.491258+08:00"},{"id":615,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"dc5ee5a48c639579c5a363bc06add941","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#140-180","gmt_create":"2026-05-29T16:04:37.49138+08:00","gmt_modified":"2026-05-29T16:04:37.49138+08:00"},{"id":616,"source_id":"d6dfa972f57094438cb3eb40295463ad","target_id":"dc5ee5a48c639579c5a363bc06add941","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 140-180","gmt_create":"2026-05-29T16:04:37.491497+08:00","gmt_modified":"2026-05-29T16:04:37.491498+08:00"},{"id":617,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"47777a4c85b6514d718e48b1e04b0118","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-104","gmt_create":"2026-05-29T16:04:37.491634+08:00","gmt_modified":"2026-05-29T16:04:37.491634+08:00"},{"id":618,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"e6139ea5aed00d4df3606d79ae72ea59","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#1-120","gmt_create":"2026-05-29T16:04:37.491818+08:00","gmt_modified":"2026-05-29T16:04:37.491818+08:00"},{"id":619,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"e6139ea5aed00d4df3606d79ae72ea59","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-120","gmt_create":"2026-05-29T16:04:37.491905+08:00","gmt_modified":"2026-05-29T16:04:37.491905+08:00"},{"id":620,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"35bc085ff57418a6ef690b0e579fc49f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#464-718","gmt_create":"2026-05-29T16:04:37.492795+08:00","gmt_modified":"2026-05-29T16:04:37.492795+08:00"},{"id":621,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f6e27e4da6cbd578f71fd26a99b7275e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#196-213","gmt_create":"2026-05-29T16:04:37.493051+08:00","gmt_modified":"2026-05-29T16:04:37.493051+08:00"},{"id":622,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"f6e27e4da6cbd578f71fd26a99b7275e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 196-213","gmt_create":"2026-05-29T16:04:37.493172+08:00","gmt_modified":"2026-05-29T16:04:37.493172+08:00"},{"id":623,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"2156259f8a615062cc2924c5f3f541fd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#516-774","gmt_create":"2026-05-29T16:04:37.493454+08:00","gmt_modified":"2026-05-29T16:04:37.493454+08:00"},{"id":624,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"2156259f8a615062cc2924c5f3f541fd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 516-774","gmt_create":"2026-05-29T16:04:37.493592+08:00","gmt_modified":"2026-05-29T16:04:37.493592+08:00"},{"id":625,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"9d127c152834958b27afc8c36276422d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#52-97","gmt_create":"2026-05-29T16:04:37.493847+08:00","gmt_modified":"2026-05-29T16:04:37.493847+08:00"},{"id":626,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"9d127c152834958b27afc8c36276422d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 52-97","gmt_create":"2026-05-29T16:04:37.493969+08:00","gmt_modified":"2026-05-29T16:04:37.493969+08:00"},{"id":627,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"58363df82b870c4a85924d02ac30a632","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#38-120","gmt_create":"2026-05-29T16:04:37.494206+08:00","gmt_modified":"2026-05-29T16:04:37.494206+08:00"},{"id":628,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"58363df82b870c4a85924d02ac30a632","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 38-120","gmt_create":"2026-05-29T16:04:37.4943+08:00","gmt_modified":"2026-05-29T16:04:37.4943+08:00"},{"id":629,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"27308e69d5f8068b00feab164863555e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#480-695","gmt_create":"2026-05-29T16:04:37.494431+08:00","gmt_modified":"2026-05-29T16:04:37.494431+08:00"},{"id":630,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"27308e69d5f8068b00feab164863555e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 480-695","gmt_create":"2026-05-29T16:04:37.494553+08:00","gmt_modified":"2026-05-29T16:04:37.494553+08:00"},{"id":631,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"b598e20f6b4aaf2c232501136381d1ff","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#718-774","gmt_create":"2026-05-29T16:04:37.494719+08:00","gmt_modified":"2026-05-29T16:04:37.494719+08:00"},{"id":632,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"b598e20f6b4aaf2c232501136381d1ff","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 718-774","gmt_create":"2026-05-29T16:04:37.494831+08:00","gmt_modified":"2026-05-29T16:04:37.494831+08:00"},{"id":633,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"a2f9b4aa9aebb38a23c5cb3474c20a56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#120-185","gmt_create":"2026-05-29T16:04:37.495439+08:00","gmt_modified":"2026-05-29T16:04:37.495439+08:00"},{"id":634,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"a2f9b4aa9aebb38a23c5cb3474c20a56","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 120-185","gmt_create":"2026-05-29T16:04:37.495551+08:00","gmt_modified":"2026-05-29T16:04:37.495551+08:00"},{"id":635,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"90fdd9a212a58f938dbdf87a08a34080","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#4-69","gmt_create":"2026-05-29T16:04:37.49602+08:00","gmt_modified":"2026-05-29T16:04:37.49602+08:00"},{"id":636,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"90fdd9a212a58f938dbdf87a08a34080","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 4-69","gmt_create":"2026-05-29T16:04:37.496131+08:00","gmt_modified":"2026-05-29T16:04:37.496131+08:00"},{"id":637,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"098d7680b66c291640f039d0bf3490db","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#71-238","gmt_create":"2026-05-29T16:04:37.496252+08:00","gmt_modified":"2026-05-29T16:04:37.496252+08:00"},{"id":638,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"098d7680b66c291640f039d0bf3490db","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 71-238","gmt_create":"2026-05-29T16:04:37.496342+08:00","gmt_modified":"2026-05-29T16:04:37.496342+08:00"},{"id":639,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"d61b5c8f9e540fa898bf04d4bab73668","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#341-477","gmt_create":"2026-05-29T16:04:37.496467+08:00","gmt_modified":"2026-05-29T16:04:37.496467+08:00"},{"id":640,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"d61b5c8f9e540fa898bf04d4bab73668","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 341-477","gmt_create":"2026-05-29T16:04:37.496573+08:00","gmt_modified":"2026-05-29T16:04:37.496573+08:00"},{"id":641,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"dc193a31e0350ecb17c2dfd447fbb186","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/sessionOps.cjs#483-800","gmt_create":"2026-05-29T16:04:37.496693+08:00","gmt_modified":"2026-05-29T16:04:37.496693+08:00"},{"id":642,"source_id":"836f76b9a7acad295ef9d2d80d79a693","target_id":"dc193a31e0350ecb17c2dfd447fbb186","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 483-800","gmt_create":"2026-05-29T16:04:37.496788+08:00","gmt_modified":"2026-05-29T16:04:37.496788+08:00"},{"id":643,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f36205d8dfc10116396d04afb380c007","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: types/global/netcatty-bridge-session.d.ts#1-269","gmt_create":"2026-05-29T16:04:37.498073+08:00","gmt_modified":"2026-05-29T16:04:37.498073+08:00"},{"id":644,"source_id":"1df01ca8b4c2189f72f995abd5a68708","target_id":"f36205d8dfc10116396d04afb380c007","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-269","gmt_create":"2026-05-29T16:04:37.4982+08:00","gmt_modified":"2026-05-29T16:04:37.4982+08:00"},{"id":645,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"967f615a0ce86206176eec4b3893cb44","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#16-17","gmt_create":"2026-05-29T16:04:37.498889+08:00","gmt_modified":"2026-05-29T16:04:37.498889+08:00"},{"id":646,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"967f615a0ce86206176eec4b3893cb44","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-17","gmt_create":"2026-05-29T16:04:37.499015+08:00","gmt_modified":"2026-05-29T16:04:37.499015+08:00"},{"id":647,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"94e45c6ed659ac90a26ebdde4c5a22cd","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#635-643","gmt_create":"2026-05-29T16:04:37.499636+08:00","gmt_modified":"2026-05-29T16:04:37.499636+08:00"},{"id":648,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"94e45c6ed659ac90a26ebdde4c5a22cd","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 635-643","gmt_create":"2026-05-29T16:04:37.499727+08:00","gmt_modified":"2026-05-29T16:04:37.499727+08:00"},{"id":649,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"cee005eaf45a172ad51021cc4bd9d4c8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#27-46","gmt_create":"2026-05-29T16:04:37.499847+08:00","gmt_modified":"2026-05-29T16:04:37.499847+08:00"},{"id":650,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"cee005eaf45a172ad51021cc4bd9d4c8","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 27-46","gmt_create":"2026-05-29T16:04:37.499988+08:00","gmt_modified":"2026-05-29T16:04:37.499988+08:00"},{"id":651,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"521618219a325c099c292d5fa478afa1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#300-355","gmt_create":"2026-05-29T16:04:37.500108+08:00","gmt_modified":"2026-05-29T16:04:37.500108+08:00"},{"id":652,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"521618219a325c099c292d5fa478afa1","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 300-355","gmt_create":"2026-05-29T16:04:37.500232+08:00","gmt_modified":"2026-05-29T16:04:37.500232+08:00"},{"id":653,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"b5f085fd266e5a8356c23e7558819bc5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#776-800","gmt_create":"2026-05-29T16:04:37.500432+08:00","gmt_modified":"2026-05-29T16:04:37.500432+08:00"},{"id":654,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"b5f085fd266e5a8356c23e7558819bc5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 776-800","gmt_create":"2026-05-29T16:04:37.50052+08:00","gmt_modified":"2026-05-29T16:04:37.50052+08:00"},{"id":655,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"8eb4f9cc1e654cbf97e316351af95c10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.cjs#120-134","gmt_create":"2026-05-29T16:04:37.500645+08:00","gmt_modified":"2026-05-29T16:04:37.500645+08:00"},{"id":656,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f1f993940acf565ba73bee22d5919a7f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#259-294","gmt_create":"2026-05-29T16:04:37.501892+08:00","gmt_modified":"2026-05-29T16:04:37.501892+08:00"},{"id":657,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"f1f993940acf565ba73bee22d5919a7f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 259-294","gmt_create":"2026-05-29T16:04:37.502046+08:00","gmt_modified":"2026-05-29T16:04:37.502046+08:00"},{"id":658,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"434d0a22feaba8201e2f028767a2ed4f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#76-92","gmt_create":"2026-05-29T16:04:37.502189+08:00","gmt_modified":"2026-05-29T16:04:37.502189+08:00"},{"id":659,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"5f4e293cf8044ad4c29f4529f63bd2fa","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#380-691","gmt_create":"2026-05-29T16:04:37.502343+08:00","gmt_modified":"2026-05-29T16:04:37.502343+08:00"},{"id":660,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"5f4e293cf8044ad4c29f4529f63bd2fa","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 380-691","gmt_create":"2026-05-29T16:04:37.502451+08:00","gmt_modified":"2026-05-29T16:04:37.502451+08:00"},{"id":661,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"0933fbd748da17c3030fa1daeb479520","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/terminalBridge.cjs#471-514","gmt_create":"2026-05-29T16:04:37.502588+08:00","gmt_modified":"2026-05-29T16:04:37.502588+08:00"},{"id":662,"source_id":"bccb9a8e255ff857b14f5915dbe9e900","target_id":"0933fbd748da17c3030fa1daeb479520","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 471-514","gmt_create":"2026-05-29T16:04:37.502693+08:00","gmt_modified":"2026-05-29T16:04:37.502693+08:00"},{"id":663,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ca79d3f86e64656ced8e62b11241c5e6","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: domain/sshAuth.ts#1-125","gmt_create":"2026-05-29T16:04:37.502811+08:00","gmt_modified":"2026-05-29T16:04:37.502811+08:00"},{"id":664,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"f0eb3f39c6cfaadb71decee64be5dc18","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/startSession.cjs#34-60","gmt_create":"2026-05-29T16:04:37.50301+08:00","gmt_modified":"2026-05-29T16:04:37.50301+08:00"},{"id":665,"source_id":"f707844f8fa482fd6b5d794ce185da9b","target_id":"f0eb3f39c6cfaadb71decee64be5dc18","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 34-60","gmt_create":"2026-05-29T16:04:37.5031+08:00","gmt_modified":"2026-05-29T16:04:37.5031+08:00"},{"id":666,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"067c09dc937014b6ffa0ff44112be9d3","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge/execCommand.cjs#5-10","gmt_create":"2026-05-29T16:04:37.503221+08:00","gmt_modified":"2026-05-29T16:04:37.503221+08:00"},{"id":667,"source_id":"3f10b28d75b4fd9dc3a1428cab158740","target_id":"067c09dc937014b6ffa0ff44112be9d3","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 5-10","gmt_create":"2026-05-29T16:04:37.503333+08:00","gmt_modified":"2026-05-29T16:04:37.503333+08:00"},{"id":668,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"c2f102204f8ebfea0a2b298c795ae9b9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAlgorithms.cjs#180-213","gmt_create":"2026-05-29T16:04:37.503465+08:00","gmt_modified":"2026-05-29T16:04:37.503465+08:00"},{"id":669,"source_id":"7c3b81f22362e95e47f1b104375c608a","target_id":"c2f102204f8ebfea0a2b298c795ae9b9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 180-213","gmt_create":"2026-05-29T16:04:37.503553+08:00","gmt_modified":"2026-05-29T16:04:37.503553+08:00"},{"id":670,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"ff313b8f1240962ed5e23d88b3e1dd0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshBridge.cjs#60-68","gmt_create":"2026-05-29T16:04:37.50378+08:00","gmt_modified":"2026-05-29T16:04:37.50378+08:00"},{"id":671,"source_id":"09217e072e7bb6388888a4a02830e1cf","target_id":"ff313b8f1240962ed5e23d88b3e1dd0c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 60-68","gmt_create":"2026-05-29T16:04:37.503868+08:00","gmt_modified":"2026-05-29T16:04:37.503868+08:00"},{"id":672,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"208ea0f7860a43fb1ea8f4dd152fc91d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#1-14","gmt_create":"2026-05-29T16:04:37.503985+08:00","gmt_modified":"2026-05-29T16:04:37.503985+08:00"},{"id":673,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"208ea0f7860a43fb1ea8f4dd152fc91d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-14","gmt_create":"2026-05-29T16:04:37.504072+08:00","gmt_modified":"2026-05-29T16:04:37.504072+08:00"},{"id":674,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"c6e60f3a17a2be4bf084b33d41eaeeea","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.cjs#88-92","gmt_create":"2026-05-29T16:04:37.504189+08:00","gmt_modified":"2026-05-29T16:04:37.504189+08:00"},{"id":675,"source_id":"de02ba181120d7d3c45b25027607954b","target_id":"c6e60f3a17a2be4bf084b33d41eaeeea","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 88-92","gmt_create":"2026-05-29T16:04:37.504292+08:00","gmt_modified":"2026-05-29T16:04:37.504292+08:00"},{"id":676,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"3bf9ff51a47ed7bada8360a480c612f2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/sshAuthHelper.pkcs8.test.cjs#1-87","gmt_create":"2026-05-29T16:04:37.504606+08:00","gmt_modified":"2026-05-29T16:04:37.504606+08:00"},{"id":677,"source_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","target_id":"6ee23a1e0c2b29c99c711a042bbd095c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/privateKeyNormalizer.test.cjs#1-93","gmt_create":"2026-05-29T16:04:37.504766+08:00","gmt_modified":"2026-05-29T16:04:37.504766+08:00"},{"id":678,"source_id":"ea757801c8b59a1ce3ab79853638a417","target_id":"6ee23a1e0c2b29c99c711a042bbd095c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 1-93","gmt_create":"2026-05-29T16:04:37.504853+08:00","gmt_modified":"2026-05-29T16:04:37.504853+08:00"},{"id":679,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-05-29T16:05:13.410604+08:00","gmt_modified":"2026-05-29T16:05:13.410604+08:00"},{"id":680,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-05-29T16:05:13.410772+08:00","gmt_modified":"2026-05-29T16:05:13.410772+08:00"},{"id":681,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8feb651cec1b28587a45be78f8c85138","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/managedAgents.ts","gmt_create":"2026-05-29T16:05:13.410881+08:00","gmt_modified":"2026-05-29T16:05:13.410881+08:00"},{"id":682,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-05-29T16:05:13.410991+08:00","gmt_modified":"2026-05-29T16:05:13.410991+08:00"},{"id":683,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"b44dbda354c6c8909f0317b6663f1522","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/managedAgentState.ts","gmt_create":"2026-05-29T16:05:13.411093+08:00","gmt_modified":"2026-05-29T16:05:13.411094+08:00"},{"id":684,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"77062236202633127d331c0805a2be01","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/sessionScopeMatch.ts","gmt_create":"2026-05-29T16:05:13.411212+08:00","gmt_modified":"2026-05-29T16:05:13.411212+08:00"},{"id":685,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ab34263c1c4e1440ea68d771ca649a29","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/acpHistory.ts","gmt_create":"2026-05-29T16:05:13.411345+08:00","gmt_modified":"2026-05-29T16:05:13.411345+08:00"},{"id":686,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"2da456e7f00f7c523a604d47d918c6b0","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge.cjs","gmt_create":"2026-05-29T16:05:13.411448+08:00","gmt_modified":"2026-05-29T16:05:13.411448+08:00"},{"id":687,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T16:05:13.41155+08:00","gmt_modified":"2026-05-29T16:05:13.411551+08:00"},{"id":688,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6000be96fbff2c3cc1130507c6268930","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/ai/shellUtils.cjs","gmt_create":"2026-05-29T16:05:13.411649+08:00","gmt_modified":"2026-05-29T16:05:13.411649+08:00"},{"id":689,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-05-29T16:05:13.41175+08:00","gmt_modified":"2026-05-29T16:05:13.41175+08:00"},{"id":690,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-05-29T16:05:13.411867+08:00","gmt_modified":"2026-05-29T16:05:13.411867+08:00"},{"id":691,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"35e6ab7aa766ddfadb0ee716c927de1c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge.test.cjs","gmt_create":"2026-05-29T16:05:13.411968+08:00","gmt_modified":"2026-05-29T16:05:13.411968+08:00"},{"id":692,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c1e1a7ce236b5f68b899e2f8ec0310ec","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/agentSendEligibility.ts","gmt_create":"2026-05-29T16:05:13.412066+08:00","gmt_modified":"2026-05-29T16:05:13.412066+08:00"},{"id":693,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/cattyAgent/systemPrompt.ts","gmt_create":"2026-05-29T16:05:13.412182+08:00","gmt_modified":"2026-05-29T16:05:13.412182+08:00"},{"id":694,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"41746efa23f23ba4cf6b9016d10e1cb2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-171","gmt_create":"2026-05-29T16:05:13.412337+08:00","gmt_modified":"2026-05-29T16:05:13.412337+08:00"},{"id":695,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"41746efa23f23ba4cf6b9016d10e1cb2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 118-171","gmt_create":"2026-05-29T16:05:13.412461+08:00","gmt_modified":"2026-05-29T16:05:13.412461+08:00"},{"id":696,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"d0f4e4df420db34782b941798d15b8b0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#19-37","gmt_create":"2026-05-29T16:05:13.412612+08:00","gmt_modified":"2026-05-29T16:05:13.412612+08:00"},{"id":697,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"d0f4e4df420db34782b941798d15b8b0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 19-37","gmt_create":"2026-05-29T16:05:13.412711+08:00","gmt_modified":"2026-05-29T16:05:13.412711+08:00"},{"id":698,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"333bc4c2289c780b32a0e15ba2023e89","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/managedAgentState.ts#29-68","gmt_create":"2026-05-29T16:05:13.412845+08:00","gmt_modified":"2026-05-29T16:05:13.412845+08:00"},{"id":699,"source_id":"b44dbda354c6c8909f0317b6663f1522","target_id":"333bc4c2289c780b32a0e15ba2023e89","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 29-68","gmt_create":"2026-05-29T16:05:13.412943+08:00","gmt_modified":"2026-05-29T16:05:13.412943+08:00"},{"id":700,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"fe1ff1bc465772999a836ed6ecc29315","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#1-78","gmt_create":"2026-05-29T16:05:13.413096+08:00","gmt_modified":"2026-05-29T16:05:13.413096+08:00"},{"id":701,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c83c9f798a0891e9f73808f9e8f47550","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#191-230","gmt_create":"2026-05-29T16:05:13.41326+08:00","gmt_modified":"2026-05-29T16:05:13.41326+08:00"},{"id":702,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"c83c9f798a0891e9f73808f9e8f47550","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 191-230","gmt_create":"2026-05-29T16:05:13.413401+08:00","gmt_modified":"2026-05-29T16:05:13.413402+08:00"},{"id":703,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"05677de111768694bf13a5bc6ab7be71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/acpHistory.ts#398-428","gmt_create":"2026-05-29T16:05:13.413534+08:00","gmt_modified":"2026-05-29T16:05:13.413534+08:00"},{"id":704,"source_id":"ab34263c1c4e1440ea68d771ca649a29","target_id":"05677de111768694bf13a5bc6ab7be71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 398-428","gmt_create":"2026-05-29T16:05:13.413637+08:00","gmt_modified":"2026-05-29T16:05:13.413637+08:00"},{"id":705,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"c7cb5b6e4ba59524d65b9d22137d0b66","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.cjs#921-958","gmt_create":"2026-05-29T16:05:13.413775+08:00","gmt_modified":"2026-05-29T16:05:13.413775+08:00"},{"id":706,"source_id":"2da456e7f00f7c523a604d47d918c6b0","target_id":"c7cb5b6e4ba59524d65b9d22137d0b66","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 921-958","gmt_create":"2026-05-29T16:05:13.413867+08:00","gmt_modified":"2026-05-29T16:05:13.413867+08:00"},{"id":707,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"3e0f32caa6877953faad8ce7eb17f0f9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#143-221","gmt_create":"2026-05-29T16:05:13.414042+08:00","gmt_modified":"2026-05-29T16:05:13.414042+08:00"},{"id":708,"source_id":"c371f92e9cccce372d0407a41c1e232b","target_id":"3e0f32caa6877953faad8ce7eb17f0f9","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 143-221","gmt_create":"2026-05-29T16:05:13.414139+08:00","gmt_modified":"2026-05-29T16:05:13.414139+08:00"},{"id":709,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6ab0ae7644299980bb5ee29e079bcb84","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/ai/shellUtils.cjs#267-291","gmt_create":"2026-05-29T16:05:13.414269+08:00","gmt_modified":"2026-05-29T16:05:13.414269+08:00"},{"id":710,"source_id":"6000be96fbff2c3cc1130507c6268930","target_id":"6ab0ae7644299980bb5ee29e079bcb84","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 267-291","gmt_create":"2026-05-29T16:05:13.414381+08:00","gmt_modified":"2026-05-29T16:05:13.414381+08:00"},{"id":711,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"6231010ec6b67ff12eea22675b084a07","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#201-263","gmt_create":"2026-05-29T16:05:13.414512+08:00","gmt_modified":"2026-05-29T16:05:13.414512+08:00"},{"id":712,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a5d2f490756c2a5809570f1057d7f781","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#16-59","gmt_create":"2026-05-29T16:05:13.41468+08:00","gmt_modified":"2026-05-29T16:05:13.414681+08:00"},{"id":713,"source_id":"b57e008aa7659838d6c364b3d76493ab","target_id":"a5d2f490756c2a5809570f1057d7f781","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 16-59","gmt_create":"2026-05-29T16:05:13.41482+08:00","gmt_modified":"2026-05-29T16:05:13.41482+08:00"},{"id":714,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"9da62b56d2f1f61c66b6365b6d500e71","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#181-190","gmt_create":"2026-05-29T16:05:13.416825+08:00","gmt_modified":"2026-05-29T16:05:13.416825+08:00"},{"id":715,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"9da62b56d2f1f61c66b6365b6d500e71","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 181-190","gmt_create":"2026-05-29T16:05:13.416936+08:00","gmt_modified":"2026-05-29T16:05:13.416936+08:00"},{"id":716,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"91a902b0e21cb83af9922c7ce982be12","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#131-161","gmt_create":"2026-05-29T16:05:13.41741+08:00","gmt_modified":"2026-05-29T16:05:13.41741+08:00"},{"id":717,"source_id":"12b7b36ce5c7594830ad681a692c761e","target_id":"91a902b0e21cb83af9922c7ce982be12","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 131-161","gmt_create":"2026-05-29T16:05:13.417549+08:00","gmt_modified":"2026-05-29T16:05:13.417549+08:00"},{"id":718,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"492d335dfaa3489b286de567804b1d10","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#42-73","gmt_create":"2026-05-29T16:05:13.418151+08:00","gmt_modified":"2026-05-29T16:05:13.418151+08:00"},{"id":719,"source_id":"e45f5d746a1a5fc78f589e402b22daca","target_id":"492d335dfaa3489b286de567804b1d10","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 42-73","gmt_create":"2026-05-29T16:05:13.418262+08:00","gmt_modified":"2026-05-29T16:05:13.418262+08:00"},{"id":720,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8cb669b0ea9e9a68866929205039784f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#217-230","gmt_create":"2026-05-29T16:05:13.418675+08:00","gmt_modified":"2026-05-29T16:05:13.418675+08:00"},{"id":721,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"8cb669b0ea9e9a68866929205039784f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 217-230","gmt_create":"2026-05-29T16:05:13.418882+08:00","gmt_modified":"2026-05-29T16:05:13.418882+08:00"},{"id":722,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"ad1a57f19d7514ade7d42187b5d85ba5","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/managedAgents.ts#35-53","gmt_create":"2026-05-29T16:05:13.419462+08:00","gmt_modified":"2026-05-29T16:05:13.419462+08:00"},{"id":723,"source_id":"8feb651cec1b28587a45be78f8c85138","target_id":"ad1a57f19d7514ade7d42187b5d85ba5","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 35-53","gmt_create":"2026-05-29T16:05:13.419704+08:00","gmt_modified":"2026-05-29T16:05:13.419704+08:00"},{"id":724,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"64df9400788f461bea6619a6474c0330","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/sessionScopeMatch.ts#3-28","gmt_create":"2026-05-29T16:05:13.420534+08:00","gmt_modified":"2026-05-29T16:05:13.420534+08:00"},{"id":725,"source_id":"77062236202633127d331c0805a2be01","target_id":"64df9400788f461bea6619a6474c0330","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 3-28","gmt_create":"2026-05-29T16:05:13.420707+08:00","gmt_modified":"2026-05-29T16:05:13.420707+08:00"},{"id":726,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"e93da680ddf45f077fd5867ee142df5f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#204-215","gmt_create":"2026-05-29T16:05:13.420976+08:00","gmt_modified":"2026-05-29T16:05:13.420976+08:00"},{"id":727,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"e93da680ddf45f077fd5867ee142df5f","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 204-215","gmt_create":"2026-05-29T16:05:13.421119+08:00","gmt_modified":"2026-05-29T16:05:13.421119+08:00"},{"id":728,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a27362064fa400c3e97c1a000e552e79","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/types.ts","gmt_create":"2026-05-29T16:05:13.42126+08:00","gmt_modified":"2026-05-29T16:05:13.42126+08:00"},{"id":729,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"716fc714b8fb0d6150fd439696067af7","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/types.ts#111-140","gmt_create":"2026-05-29T16:05:13.421356+08:00","gmt_modified":"2026-05-29T16:05:13.421356+08:00"},{"id":730,"source_id":"a27362064fa400c3e97c1a000e552e79","target_id":"716fc714b8fb0d6150fd439696067af7","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 111-140","gmt_create":"2026-05-29T16:05:13.421486+08:00","gmt_modified":"2026-05-29T16:05:13.421486+08:00"},{"id":731,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"a4f498b7c851c6fe8fa3863827006c8c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.cjs#931-957","gmt_create":"2026-05-29T16:05:13.42181+08:00","gmt_modified":"2026-05-29T16:05:13.42181+08:00"},{"id":732,"source_id":"2da456e7f00f7c523a604d47d918c6b0","target_id":"a4f498b7c851c6fe8fa3863827006c8c","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 931-957","gmt_create":"2026-05-29T16:05:13.421926+08:00","gmt_modified":"2026-05-29T16:05:13.421926+08:00"},{"id":733,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"310b560b4ae2f2ce1cffaa873a363c4d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/ai/shellUtils.cjs#162-189","gmt_create":"2026-05-29T16:05:13.422262+08:00","gmt_modified":"2026-05-29T16:05:13.422262+08:00"},{"id":734,"source_id":"6000be96fbff2c3cc1130507c6268930","target_id":"310b560b4ae2f2ce1cffaa873a363c4d","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 162-189","gmt_create":"2026-05-29T16:05:13.422395+08:00","gmt_modified":"2026-05-29T16:05:13.422395+08:00"},{"id":735,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"871dcbd9f180ec72a75242d4906b94ec","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/cattyAgent/systemPrompt.ts#20-43","gmt_create":"2026-05-29T16:05:13.423679+08:00","gmt_modified":"2026-05-29T16:05:13.423679+08:00"},{"id":736,"source_id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","target_id":"871dcbd9f180ec72a75242d4906b94ec","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 20-43","gmt_create":"2026-05-29T16:05:13.423777+08:00","gmt_modified":"2026-05-29T16:05:13.423777+08:00"},{"id":737,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"4102225781abd3e0cba30d9dc2e5f3e2","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge.test.cjs#398-487","gmt_create":"2026-05-29T16:05:13.425116+08:00","gmt_modified":"2026-05-29T16:05:13.425116+08:00"},{"id":738,"source_id":"35e6ab7aa766ddfadb0ee716c927de1c","target_id":"4102225781abd3e0cba30d9dc2e5f3e2","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 398-487","gmt_create":"2026-05-29T16:05:13.425251+08:00","gmt_modified":"2026-05-29T16:05:13.425251+08:00"},{"id":739,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"4492c48235534414c985d7aafc68d67e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/agentSendEligibility.ts#10-15","gmt_create":"2026-05-29T16:05:13.425446+08:00","gmt_modified":"2026-05-29T16:05:13.425446+08:00"},{"id":740,"source_id":"c1e1a7ce236b5f68b899e2f8ec0310ec","target_id":"4492c48235534414c985d7aafc68d67e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 10-15","gmt_create":"2026-05-29T16:05:13.425549+08:00","gmt_modified":"2026-05-29T16:05:13.425549+08:00"},{"id":741,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"1f3197fea2ebbd0d1615c84e3c674985","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/acpHistory.ts#355-378","gmt_create":"2026-05-29T16:05:13.42569+08:00","gmt_modified":"2026-05-29T16:05:13.42569+08:00"},{"id":742,"source_id":"ab34263c1c4e1440ea68d771ca649a29","target_id":"1f3197fea2ebbd0d1615c84e3c674985","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 355-378","gmt_create":"2026-05-29T16:05:13.425782+08:00","gmt_modified":"2026-05-29T16:05:13.425782+08:00"},{"id":743,"source_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","target_id":"8938b76f040af3dee978b382fd44d53b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/sessionScopeMatch.ts#23-25","gmt_create":"2026-05-29T16:05:13.425905+08:00","gmt_modified":"2026-05-29T16:05:13.425905+08:00"},{"id":744,"source_id":"77062236202633127d331c0805a2be01","target_id":"8938b76f040af3dee978b382fd44d53b","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 23-25","gmt_create":"2026-05-29T16:05:13.425995+08:00","gmt_modified":"2026-05-29T16:05:13.425995+08:00"},{"id":745,"source_id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","target_id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: e99874cc-51a8-4b68-8a1c-9daecf64145f -\u003e 397afdaa-9617-42fa-a07e-4c1a29bb6acc","gmt_create":"2026-05-29T16:05:14.018213+08:00","gmt_modified":"2026-05-29T16:05:14.018213+08:00"},{"id":746,"source_id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","target_id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 72c92ab5-35c1-4b79-b485-e9f12ce2fae8 -\u003e 6383ad91-1e59-4001-bc06-a9f279ea4ada","gmt_create":"2026-05-29T16:05:14.018646+08:00","gmt_modified":"2026-05-29T16:05:14.018646+08:00"},{"id":747,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","gmt_create":"2026-05-29T16:05:14.02138+08:00","gmt_modified":"2026-05-29T16:05:14.02138+08:00"},{"id":748,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"bf12794fa3af4f8a34b46c4788eb49b7","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatPanelContent.tsx","gmt_create":"2026-06-01T18:15:51.940586+08:00","gmt_modified":"2026-06-01T18:15:51.940586+08:00"},{"id":749,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"a8885d6fc90746342140bbfe91af9830","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanel.tsx","gmt_create":"2026-06-01T18:15:51.940814+08:00","gmt_modified":"2026-06-01T18:15:51.940814+08:00"},{"id":750,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b8aac0b713ebc375deefaad03d5e8eec","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanelHelpers.ts","gmt_create":"2026-06-01T18:15:51.940943+08:00","gmt_modified":"2026-06-01T18:15:51.940943+08:00"},{"id":751,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"14284a904d6c969242cef73a354562ff","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/AIChatSidePanel.types.ts","gmt_create":"2026-06-01T18:15:51.941072+08:00","gmt_modified":"2026-06-01T18:15:51.941072+08:00"},{"id":752,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"7b7ce5726d29197b98aaada0cd869771","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatMessageList.tsx","gmt_create":"2026-06-01T18:15:51.941217+08:00","gmt_modified":"2026-06-01T18:15:51.941217+08:00"},{"id":753,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"74676637fb845b2ffcd105a04750ae2e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ChatInput.tsx","gmt_create":"2026-06-01T18:15:51.941332+08:00","gmt_modified":"2026-06-01T18:15:51.941332+08:00"},{"id":754,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/ThinkingBlock.tsx","gmt_create":"2026-06-01T18:15:51.941437+08:00","gmt_modified":"2026-06-01T18:15:51.941437+08:00"},{"id":755,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5f31d5c329226007a74c5e7b0586ea8b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/conversation.tsx","gmt_create":"2026-06-01T18:15:51.941539+08:00","gmt_modified":"2026-06-01T18:15:51.941539+08:00"},{"id":756,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"2abab935c0a79eed1ce181092931cc62","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/message.tsx","gmt_create":"2026-06-01T18:15:51.941643+08:00","gmt_modified":"2026-06-01T18:15:51.941643+08:00"},{"id":757,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e22fe9068de2e790e0671a3418b42bd8","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/tool-call.tsx","gmt_create":"2026-06-01T18:15:51.941742+08:00","gmt_modified":"2026-06-01T18:15:51.941742+08:00"},{"id":758,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c9beb905d94690a24421f7b362b6cdfd","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/prompt-input.tsx","gmt_create":"2026-06-01T18:15:51.941835+08:00","gmt_modified":"2026-06-01T18:15:51.941835+08:00"},{"id":759,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"8c9bacbd7f17b1998fdf2110cbbf796c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai-elements/streamdownCodeHighlighter.ts","gmt_create":"2026-06-01T18:15:51.942164+08:00","gmt_modified":"2026-06-01T18:15:51.942164+08:00"},{"id":760,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b18de7ebca418c2b4d28d9552f95792c","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/hooks/useAIChatStreaming.ts","gmt_create":"2026-06-01T18:15:51.942259+08:00","gmt_modified":"2026-06-01T18:15:51.942259+08:00"},{"id":761,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e3784575d3f66a3dc61a1b398b2d1925","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/hooks/aiChatStreamingSupport.ts","gmt_create":"2026-06-01T18:15:51.942365+08:00","gmt_modified":"2026-06-01T18:15:51.942366+08:00"},{"id":762,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"ae646328bbd7749e384a345d5e1da076","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: infrastructure/ai/types.ts","gmt_create":"2026-06-01T18:15:51.942464+08:00","gmt_modified":"2026-06-01T18:15:51.942464+08:00"},{"id":763,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b324d0760f3f9e92d0e9729e449bb14a","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/aiPanelViewState.ts","gmt_create":"2026-06-01T18:15:51.942595+08:00","gmt_modified":"2026-06-01T18:15:51.942595+08:00"},{"id":764,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e4564da3181becf136933451147a56f2","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentIconBadge.tsx","gmt_create":"2026-06-01T18:15:51.94269+08:00","gmt_modified":"2026-06-01T18:15:51.94269+08:00"},{"id":765,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"12b7b36ce5c7594830ad681a692c761e","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/ai/AgentSelector.tsx","gmt_create":"2026-06-01T18:15:51.942784+08:00","gmt_modified":"2026-06-01T18:15:51.942784+08:00"},{"id":766,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b57e008aa7659838d6c364b3d76493ab","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/CodebuddyCard.tsx","gmt_create":"2026-06-01T18:15:51.9429+08:00","gmt_modified":"2026-06-01T18:15:51.9429+08:00"},{"id":767,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6f12ac751fdeef81a0e4d298829cf6f5","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/ai/codebuddyConfigEnv.ts","gmt_create":"2026-06-01T18:15:51.943008+08:00","gmt_modified":"2026-06-01T18:15:51.943008+08:00"},{"id":768,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5cde75f9d56d83b1e9da869d9456bd42","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: components/settings/tabs/SettingsAITab.tsx","gmt_create":"2026-06-01T18:15:51.943261+08:00","gmt_modified":"2026-06-01T18:15:51.943261+08:00"},{"id":769,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c371f92e9cccce372d0407a41c1e232b","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","gmt_create":"2026-06-01T18:15:51.943431+08:00","gmt_modified":"2026-06-01T18:15:51.943431+08:00"},{"id":770,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e45f5d746a1a5fc78f589e402b22daca","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/state/useAgentDiscovery.ts","gmt_create":"2026-06-01T18:15:51.943792+08:00","gmt_modified":"2026-06-01T18:15:51.943792+08:00"},{"id":771,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"c1865efdde019a1bb983e62ece393764","source_type":"WIKI_ITEM","target_type":"SOURCE_FILE","relationship_type":"REFERENCED_BY","extra":"Wiki references source file: application/i18n/locales/zh-CN/ai.ts","gmt_create":"2026-06-01T18:15:51.943924+08:00","gmt_modified":"2026-06-01T18:15:51.943924+08:00"},{"id":772,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"627d5d498a908419c0045be052ca5a0c","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#48-909","gmt_create":"2026-06-01T18:15:51.944279+08:00","gmt_modified":"2026-06-01T18:15:51.944279+08:00"},{"id":773,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b447f3018e963a5da84b981b9954bfe8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#1-249","gmt_create":"2026-06-01T18:15:51.944474+08:00","gmt_modified":"2026-06-01T18:15:51.944474+08:00"},{"id":774,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"64a7395d81782d6cf5bd5201fc086696","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#1-300","gmt_create":"2026-06-01T18:15:51.945074+08:00","gmt_modified":"2026-06-01T18:15:51.945074+08:00"},{"id":775,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"01c9752d86ab3a9d32a2f6cb2015feff","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentIconBadge.tsx#1-242","gmt_create":"2026-06-01T18:15:51.945413+08:00","gmt_modified":"2026-06-01T18:15:51.945413+08:00"},{"id":776,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"542bc52f287081a937a5c4a6e7f45706","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#1-186","gmt_create":"2026-06-01T18:15:51.945787+08:00","gmt_modified":"2026-06-01T18:15:51.945787+08:00"},{"id":777,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"7eb3641103d521021753d61ae24526f0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/codebuddyConfigEnv.ts#1-67","gmt_create":"2026-06-01T18:15:51.946004+08:00","gmt_modified":"2026-06-01T18:15:51.946004+08:00"},{"id":778,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b9cb5972f5b64b9eec6c7ca2bd84e426","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#629-657","gmt_create":"2026-06-01T18:15:51.946274+08:00","gmt_modified":"2026-06-01T18:15:51.946274+08:00"},{"id":779,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"bffb18548d41deeaf7e88480c66fa082","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: electron/bridges/aiBridge/agentDiscoveryHandlers.cjs#1-52","gmt_create":"2026-06-01T18:15:51.946527+08:00","gmt_modified":"2026-06-01T18:15:51.946527+08:00"},{"id":780,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f0377d0c64016366847e7422add570f1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: application/state/useAgentDiscovery.ts#1-42","gmt_create":"2026-06-01T18:15:51.94672+08:00","gmt_modified":"2026-06-01T18:15:51.94672+08:00"},{"id":781,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"04856c64fe1a06b1cc539b96a60a8d41","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#1-468","gmt_create":"2026-06-01T18:15:51.947303+08:00","gmt_modified":"2026-06-01T18:15:51.947303+08:00"},{"id":782,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"db484e38ad1df09c5200d64478bb9d72","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#1-927","gmt_create":"2026-06-01T18:15:51.947606+08:00","gmt_modified":"2026-06-01T18:15:51.947606+08:00"},{"id":783,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"a5fcf22005dd09a47106369f90a757bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#118-190","gmt_create":"2026-06-01T18:15:51.947958+08:00","gmt_modified":"2026-06-01T18:15:51.947958+08:00"},{"id":784,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e7aaa3cfc2b3d2f1db50e3744a63409d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#647-798","gmt_create":"2026-06-01T18:15:51.948615+08:00","gmt_modified":"2026-06-01T18:15:51.948615+08:00"},{"id":785,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"4e4666d66aaf8a3387d9a91a60515b2d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatPanelContent.tsx#174-178","gmt_create":"2026-06-01T18:15:51.94891+08:00","gmt_modified":"2026-06-01T18:15:51.94891+08:00"},{"id":786,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5854444f6ca3ab94e2c364f7339e9577","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#37-514","gmt_create":"2026-06-01T18:15:51.949183+08:00","gmt_modified":"2026-06-01T18:15:51.949183+08:00"},{"id":787,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"97b16b9274b0e54b6d51d0a8e03dcd43","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#101-264","gmt_create":"2026-06-01T18:15:51.949345+08:00","gmt_modified":"2026-06-01T18:15:51.949345+08:00"},{"id":788,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"b466557ba584a86652aded65971c7446","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#243-514","gmt_create":"2026-06-01T18:15:51.949537+08:00","gmt_modified":"2026-06-01T18:15:51.949537+08:00"},{"id":789,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"03aa04628a434515d2403dec6b9d463a","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/aiChatStreamingSupport.ts#1-206","gmt_create":"2026-06-01T18:15:51.949705+08:00","gmt_modified":"2026-06-01T18:15:51.949705+08:00"},{"id":790,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"2ce13ba157e65c23fd951fe28e11e018","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#175-324","gmt_create":"2026-06-01T18:15:51.949937+08:00","gmt_modified":"2026-06-01T18:15:51.949937+08:00"},{"id":791,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"e60d1e84845664e62f70ee788778247d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/message.tsx#55-84","gmt_create":"2026-06-01T18:15:51.950183+08:00","gmt_modified":"2026-06-01T18:15:51.950183+08:00"},{"id":792,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6dc4b3cfc9a5fd5ab3425d9c2dbe2b56","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/streamdownCodeHighlighter.ts#59-77","gmt_create":"2026-06-01T18:15:51.950516+08:00","gmt_modified":"2026-06-01T18:15:51.950516+08:00"},{"id":793,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5ddf6ad4fe6c2b9f3ee2bb814f1d1867","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/tool-call.tsx#132-314","gmt_create":"2026-06-01T18:15:51.950716+08:00","gmt_modified":"2026-06-01T18:15:51.950716+08:00"},{"id":794,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"606bc93b094363b88c880e862a8bd27b","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ThinkingBlock.tsx#28-135","gmt_create":"2026-06-01T18:15:51.950884+08:00","gmt_modified":"2026-06-01T18:15:51.950884+08:00"},{"id":795,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"84d4622f682597063e7b21bd8700037e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/message.tsx#1-86","gmt_create":"2026-06-01T18:15:51.951146+08:00","gmt_modified":"2026-06-01T18:15:51.951147+08:00"},{"id":796,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"cd022c0be9c9ca808f36306b82ec1070","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/streamdownCodeHighlighter.ts#1-78","gmt_create":"2026-06-01T18:15:51.951343+08:00","gmt_modified":"2026-06-01T18:15:51.951343+08:00"},{"id":797,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"d21a2d4ed6b6cc2d4c2e1435d17096d8","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/tool-call.tsx#1-315","gmt_create":"2026-06-01T18:15:51.951586+08:00","gmt_modified":"2026-06-01T18:15:51.951586+08:00"},{"id":798,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"acbe25c99cb195d0fe75d660c939f1c1","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ThinkingBlock.tsx#1-139","gmt_create":"2026-06-01T18:15:51.951757+08:00","gmt_modified":"2026-06-01T18:15:51.951757+08:00"},{"id":799,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"9763cfd8faa168da0d2ec5ca786209bf","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#187-336","gmt_create":"2026-06-01T18:15:51.95195+08:00","gmt_modified":"2026-06-01T18:15:51.95195+08:00"},{"id":800,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"ea87f28e9e1fdcdd28ead0cda671594e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/prompt-input.tsx#34-110","gmt_create":"2026-06-01T18:15:51.9521+08:00","gmt_modified":"2026-06-01T18:15:51.9521+08:00"},{"id":801,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"327de3e2a81b0b2b64f48efa73d23eca","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#1-955","gmt_create":"2026-06-01T18:15:51.952628+08:00","gmt_modified":"2026-06-01T18:15:51.952628+08:00"},{"id":802,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"5b96fdba00fecee9acdc5f1af9a7c5c4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai-elements/prompt-input.tsx#1-215","gmt_create":"2026-06-01T18:15:51.95281+08:00","gmt_modified":"2026-06-01T18:15:51.95281+08:00"},{"id":803,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"fe90149e17952539249c367cdae4b08f","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/aiChatStreamingSupport.ts#8-89","gmt_create":"2026-06-01T18:15:51.953227+08:00","gmt_modified":"2026-06-01T18:15:51.953227+08:00"},{"id":804,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"7e198f1c6577b9bcb57309bcb4ffc2c0","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/AIChatSidePanel.tsx#517-525","gmt_create":"2026-06-01T18:15:51.953576+08:00","gmt_modified":"2026-06-01T18:15:51.953576+08:00"},{"id":805,"source_id":"a8885d6fc90746342140bbfe91af9830","target_id":"7e198f1c6577b9bcb57309bcb4ffc2c0","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 517-525","gmt_create":"2026-06-01T18:15:51.953824+08:00","gmt_modified":"2026-06-01T18:15:51.953825+08:00"},{"id":806,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"01f7b710b5abcb9f89dba64d83de2e6e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#331-342","gmt_create":"2026-06-01T18:15:51.954086+08:00","gmt_modified":"2026-06-01T18:15:51.954086+08:00"},{"id":807,"source_id":"ae646328bbd7749e384a345d5e1da076","target_id":"01f7b710b5abcb9f89dba64d83de2e6e","source_type":"SOURCE_FILE","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Source file contains code snippet: 331-342","gmt_create":"2026-06-01T18:15:51.954266+08:00","gmt_modified":"2026-06-01T18:15:51.954266+08:00"},{"id":808,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"6bd6848f24bb599b3dc26d6f3bc64a6d","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#237-284","gmt_create":"2026-06-01T18:15:51.954492+08:00","gmt_modified":"2026-06-01T18:15:51.954492+08:00"},{"id":809,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"34ea52e428db926ef92c005738524fa9","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/ai/CodebuddyCard.tsx#61-173","gmt_create":"2026-06-01T18:15:51.954797+08:00","gmt_modified":"2026-06-01T18:15:51.954797+08:00"},{"id":810,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"cf2be59058ec94e10617138246740824","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/settings/tabs/SettingsAITab.tsx#172-206","gmt_create":"2026-06-01T18:15:51.955167+08:00","gmt_modified":"2026-06-01T18:15:51.955167+08:00"},{"id":811,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"1feec8715bc3cbc82757f607ddd359ad","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: infrastructure/ai/types.ts#1-348","gmt_create":"2026-06-01T18:15:51.955958+08:00","gmt_modified":"2026-06-01T18:15:51.955958+08:00"},{"id":812,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"43b38419087f8994012956a2ddf78ea4","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/aiPanelViewState.ts#1-95","gmt_create":"2026-06-01T18:15:51.956325+08:00","gmt_modified":"2026-06-01T18:15:51.956325+08:00"},{"id":813,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"540a5ba8238ea8a483e865692a81f838","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/hooks/useAIChatStreaming.ts#212-237","gmt_create":"2026-06-01T18:15:51.958255+08:00","gmt_modified":"2026-06-01T18:15:51.958255+08:00"},{"id":814,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"0fc485e20a60d7df0cd756978c49340e","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatMessageList.tsx#43-74","gmt_create":"2026-06-01T18:15:51.958522+08:00","gmt_modified":"2026-06-01T18:15:51.958522+08:00"},{"id":815,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"f1d9a9f2fef8c780dcdf38cb3d6b1825","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/ChatInput.tsx#187-218","gmt_create":"2026-06-01T18:15:51.958806+08:00","gmt_modified":"2026-06-01T18:15:51.958806+08:00"},{"id":816,"source_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","target_id":"fb4bb0dc0232c0358067c351faefeb97","source_type":"WIKI_ITEM","target_type":"CODE_SNIPPET","relationship_type":"CONTAINS","extra":"Wiki contains code snippet: components/ai/AgentSelector.tsx#192-195","gmt_create":"2026-06-01T18:15:51.958975+08:00","gmt_modified":"2026-06-01T18:15:51.958976+08:00"},{"id":817,"source_id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","target_id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb2ff70f-e75d-40c6-89d3-dcbfaf33731d -\u003e d1f115dc-76be-4ec7-8145-b3a79feceafa","gmt_create":"2026-06-01T18:15:52.558685+08:00","gmt_modified":"2026-06-01T18:15:52.558685+08:00"}],"source_files":[{"id":"5cde75f9d56d83b1e9da869d9456bd42","path":"components/settings/tabs/SettingsAITab.tsx","filename":"SettingsAITab.tsx","gmt_create":"2026-05-29T00:33:30.841406+08:00","gmt_modified":"2026-05-29T00:33:30.841406+08:00"},{"id":"a27362064fa400c3e97c1a000e552e79","path":"components/settings/tabs/ai/types.ts","filename":"types.ts","gmt_create":"2026-05-29T00:33:30.841547+08:00","gmt_modified":"2026-05-29T00:33:30.841547+08:00"},{"id":"5237285e3a5e2e142393725731d08c5d","path":"components/settings/tabs/ai/ProviderCard.tsx","filename":"ProviderCard.tsx","gmt_create":"2026-05-29T00:33:30.841593+08:00","gmt_modified":"2026-05-29T00:33:30.841593+08:00"},{"id":"8b1d34afa2224b6a7bf1941920a68370","path":"components/settings/tabs/ai/ProviderConfigForm.tsx","filename":"ProviderConfigForm.tsx","gmt_create":"2026-05-29T00:33:30.841642+08:00","gmt_modified":"2026-05-29T00:33:30.841642+08:00"},{"id":"1d9e2bfa84c643dfd8943c98b44978c6","path":"components/settings/tabs/ai/AddProviderDropdown.tsx","filename":"AddProviderDropdown.tsx","gmt_create":"2026-05-29T00:33:30.841678+08:00","gmt_modified":"2026-05-29T00:33:30.841678+08:00"},{"id":"83135da0abfcf440c7efb97ae897451e","path":"components/settings/tabs/ai/SafetySettings.tsx","filename":"SafetySettings.tsx","gmt_create":"2026-05-29T00:33:30.841716+08:00","gmt_modified":"2026-05-29T00:33:30.841716+08:00"},{"id":"0b6a0c45dbcf5a9a4fad20686c7da9f6","path":"components/settings/tabs/ai/WebSearchSettings.tsx","filename":"WebSearchSettings.tsx","gmt_create":"2026-05-29T00:33:30.841752+08:00","gmt_modified":"2026-05-29T00:33:30.841752+08:00"},{"id":"b44dbda354c6c8909f0317b6663f1522","path":"components/settings/tabs/ai/managedAgentState.ts","filename":"managedAgentState.ts","gmt_create":"2026-05-29T00:33:30.841789+08:00","gmt_modified":"2026-05-29T00:33:30.841789+08:00"},{"id":"6ad577a4254ce03ae3bf4bb5bab1824d","path":"components/settings/tabs/ai/claudeConfigEnv.ts","filename":"claudeConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.841823+08:00","gmt_modified":"2026-05-29T00:33:30.841823+08:00"},{"id":"6f12ac751fdeef81a0e4d298829cf6f5","path":"components/settings/tabs/ai/codebuddyConfigEnv.ts","filename":"codebuddyConfigEnv.ts","gmt_create":"2026-05-29T00:33:30.841863+08:00","gmt_modified":"2026-05-29T00:33:30.841863+08:00"},{"id":"5ca8bae6463de0b40f57611b28b72f18","path":"components/settings/tabs/ai/ClaudeCodeCard.tsx","filename":"ClaudeCodeCard.tsx","gmt_create":"2026-05-29T00:33:30.841899+08:00","gmt_modified":"2026-05-29T00:33:30.841899+08:00"},{"id":"f3ad59bf21544cd788609383a4dfd381","path":"components/settings/tabs/ai/CodexConnectionCard.tsx","filename":"CodexConnectionCard.tsx","gmt_create":"2026-05-29T00:33:30.841935+08:00","gmt_modified":"2026-05-29T00:33:30.841935+08:00"},{"id":"b57e008aa7659838d6c364b3d76493ab","path":"components/settings/tabs/ai/CodebuddyCard.tsx","filename":"CodebuddyCard.tsx","gmt_create":"2026-05-29T00:33:30.84197+08:00","gmt_modified":"2026-05-29T00:33:30.84197+08:00"},{"id":"8feb651cec1b28587a45be78f8c85138","path":"infrastructure/ai/managedAgents.ts","filename":"managedAgents.ts","gmt_create":"2026-05-29T00:33:30.842004+08:00","gmt_modified":"2026-05-29T00:33:30.842004+08:00"},{"id":"ae646328bbd7749e384a345d5e1da076","path":"infrastructure/ai/types.ts","filename":"types.ts","gmt_create":"2026-05-29T00:33:30.842039+08:00","gmt_modified":"2026-05-29T00:33:30.842039+08:00"},{"id":"c1865efdde019a1bb983e62ece393764","path":"application/i18n/locales/zh-CN/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842075+08:00","gmt_modified":"2026-05-29T00:33:30.842075+08:00"},{"id":"45c84a3f8e4c5341a283f9efbe86b7fa","path":"application/i18n/locales/en/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842109+08:00","gmt_modified":"2026-05-29T00:33:30.842109+08:00"},{"id":"a82180419c8b5ffe5685fd5cd7bf7c16","path":"application/i18n/locales/ru/ai.ts","filename":"ai.ts","gmt_create":"2026-05-29T00:33:30.842146+08:00","gmt_modified":"2026-05-29T00:33:30.842146+08:00"},{"id":"bf12794fa3af4f8a34b46c4788eb49b7","path":"components/AIChatPanelContent.tsx","filename":"AIChatPanelContent.tsx","gmt_create":"2026-05-29T00:33:53.589704+08:00","gmt_modified":"2026-05-29T00:33:53.589704+08:00"},{"id":"a8885d6fc90746342140bbfe91af9830","path":"components/AIChatSidePanel.tsx","filename":"AIChatSidePanel.tsx","gmt_create":"2026-05-29T00:33:53.589761+08:00","gmt_modified":"2026-05-29T00:33:53.589761+08:00"},{"id":"7b7ce5726d29197b98aaada0cd869771","path":"components/ai/ChatMessageList.tsx","filename":"ChatMessageList.tsx","gmt_create":"2026-05-29T00:33:53.589803+08:00","gmt_modified":"2026-05-29T00:33:53.589803+08:00"},{"id":"74676637fb845b2ffcd105a04750ae2e","path":"components/ai/ChatInput.tsx","filename":"ChatInput.tsx","gmt_create":"2026-05-29T00:33:53.58984+08:00","gmt_modified":"2026-05-29T00:33:53.58984+08:00"},{"id":"f0e2ff102a5b26f7ff38d21fe86cf1c2","path":"components/ai/ThinkingBlock.tsx","filename":"ThinkingBlock.tsx","gmt_create":"2026-05-29T00:33:53.589877+08:00","gmt_modified":"2026-05-29T00:33:53.589877+08:00"},{"id":"5f31d5c329226007a74c5e7b0586ea8b","path":"components/ai-elements/conversation.tsx","filename":"conversation.tsx","gmt_create":"2026-05-29T00:33:53.589912+08:00","gmt_modified":"2026-05-29T00:33:53.589912+08:00"},{"id":"2abab935c0a79eed1ce181092931cc62","path":"components/ai-elements/message.tsx","filename":"message.tsx","gmt_create":"2026-05-29T00:33:53.589949+08:00","gmt_modified":"2026-05-29T00:33:53.589949+08:00"},{"id":"e22fe9068de2e790e0671a3418b42bd8","path":"components/ai-elements/tool-call.tsx","filename":"tool-call.tsx","gmt_create":"2026-05-29T00:33:53.589985+08:00","gmt_modified":"2026-05-29T00:33:53.589985+08:00"},{"id":"c9beb905d94690a24421f7b362b6cdfd","path":"components/ai-elements/prompt-input.tsx","filename":"prompt-input.tsx","gmt_create":"2026-05-29T00:33:53.590043+08:00","gmt_modified":"2026-05-29T00:33:53.590043+08:00"},{"id":"8c9bacbd7f17b1998fdf2110cbbf796c","path":"components/ai-elements/streamdownCodeHighlighter.ts","filename":"streamdownCodeHighlighter.ts","gmt_create":"2026-05-29T00:33:53.590079+08:00","gmt_modified":"2026-05-29T00:33:53.590079+08:00"},{"id":"b18de7ebca418c2b4d28d9552f95792c","path":"components/ai/hooks/useAIChatStreaming.ts","filename":"useAIChatStreaming.ts","gmt_create":"2026-05-29T00:33:53.590114+08:00","gmt_modified":"2026-05-29T00:33:53.590114+08:00"},{"id":"e3784575d3f66a3dc61a1b398b2d1925","path":"components/ai/hooks/aiChatStreamingSupport.ts","filename":"aiChatStreamingSupport.ts","gmt_create":"2026-05-29T00:33:53.590148+08:00","gmt_modified":"2026-05-29T00:33:53.590148+08:00"},{"id":"b324d0760f3f9e92d0e9729e449bb14a","path":"components/ai/aiPanelViewState.ts","filename":"aiPanelViewState.ts","gmt_create":"2026-05-29T00:33:53.590267+08:00","gmt_modified":"2026-05-29T00:33:53.590267+08:00"},{"id":"e4564da3181becf136933451147a56f2","path":"components/ai/AgentIconBadge.tsx","filename":"AgentIconBadge.tsx","gmt_create":"2026-05-29T00:33:53.590301+08:00","gmt_modified":"2026-05-29T00:33:53.590301+08:00"},{"id":"12b7b36ce5c7594830ad681a692c761e","path":"components/ai/AgentSelector.tsx","filename":"AgentSelector.tsx","gmt_create":"2026-05-29T00:33:53.590337+08:00","gmt_modified":"2026-05-29T00:33:53.590337+08:00"},{"id":"c371f92e9cccce372d0407a41c1e232b","path":"electron/bridges/aiBridge/agentDiscoveryHandlers.cjs","filename":"agentDiscoveryHandlers.cjs","gmt_create":"2026-05-29T00:33:53.590552+08:00","gmt_modified":"2026-05-29T00:33:53.590552+08:00"},{"id":"e45f5d746a1a5fc78f589e402b22daca","path":"application/state/useAgentDiscovery.ts","filename":"useAgentDiscovery.ts","gmt_create":"2026-05-29T00:33:53.590587+08:00","gmt_modified":"2026-05-29T00:33:53.590587+08:00"},{"id":"dcf899a1b054004d5d623fe6308f9a0c","path":"components/ai/ConversationExport.tsx","filename":"ConversationExport.tsx","gmt_create":"2026-05-29T00:34:06.340523+08:00","gmt_modified":"2026-05-29T00:34:06.340523+08:00"},{"id":"4b2ad61be711f800135cd68fc3a930ee","path":"components/AIChatSessionHistoryDrawer.tsx","filename":"AIChatSessionHistoryDrawer.tsx","gmt_create":"2026-05-29T00:34:06.340562+08:00","gmt_modified":"2026-05-29T00:34:06.340562+08:00"},{"id":"c8328c5d6c794e20b30b02be124bb9dd","path":"infrastructure/ai/sdk/providers.ts","filename":"providers.ts","gmt_create":"2026-05-29T00:34:06.340711+08:00","gmt_modified":"2026-05-29T00:34:06.340711+08:00"},{"id":"22f26535963a86066c99a83289088c84","path":"infrastructure/ai/sdk/tools.ts","filename":"tools.ts","gmt_create":"2026-05-29T00:34:06.340746+08:00","gmt_modified":"2026-05-29T00:34:06.340746+08:00"},{"id":"1c2f5f5bb7f51dd6dcd2de18bda392d1","path":"infrastructure/ai/cattyAgent/systemPrompt.ts","filename":"systemPrompt.ts","gmt_create":"2026-05-29T00:34:06.340782+08:00","gmt_modified":"2026-05-29T00:34:06.340782+08:00"},{"id":"94617cf09e47c0a5c1bdd1716b294063","path":"electron/bridges/aiBridge/acpHandlers.cjs","filename":"acpHandlers.cjs","gmt_create":"2026-05-29T00:34:06.341163+08:00","gmt_modified":"2026-05-29T00:34:06.341163+08:00"},{"id":"32966a55fd80ba72927bce4c6b230fd6","path":"infrastructure/ai/acpAgentAdapter.ts","filename":"acpAgentAdapter.ts","gmt_create":"2026-05-29T00:36:03.432454+08:00","gmt_modified":"2026-05-29T00:36:03.432454+08:00"},{"id":"28c7ca8e4abf5bfebee0bb97fb6329a7","path":"infrastructure/ai/shared/sessionExecutionQueue.ts","filename":"sessionExecutionQueue.ts","gmt_create":"2026-05-29T00:36:03.432611+08:00","gmt_modified":"2026-05-29T00:36:03.432611+08:00"},{"id":"992d124cda8932a4c5e38d85570fcfd8","path":"infrastructure/ai/shared/toolExecutors.ts","filename":"toolExecutors.ts","gmt_create":"2026-05-29T00:36:03.432777+08:00","gmt_modified":"2026-05-29T00:36:03.432777+08:00"},{"id":"6985509692e54dc77249694cb7661c41","path":"infrastructure/ai/shared/approvalGate.ts","filename":"approvalGate.ts","gmt_create":"2026-05-29T00:36:03.432811+08:00","gmt_modified":"2026-05-29T00:36:03.432811+08:00"},{"id":"462038004d507ef279adb14d31a8ee79","path":"infrastructure/ai/cattyAgent/safety.ts","filename":"safety.ts","gmt_create":"2026-05-29T00:36:03.432963+08:00","gmt_modified":"2026-05-29T00:36:03.432963+08:00"},{"id":"bc4a0507dc381b23e9ee7e1a807af949","path":"electron/bridges/aiBridge/providerHandlers.cjs","filename":"providerHandlers.cjs","gmt_create":"2026-05-29T00:36:03.433125+08:00","gmt_modified":"2026-05-29T00:36:03.433125+08:00"},{"id":"7f0a86fe9691da422de38d0fc11b73dc","path":"electron/bridges/mcpServerBridge.cjs","filename":"mcpServerBridge.cjs","gmt_create":"2026-05-29T00:36:03.43316+08:00","gmt_modified":"2026-05-29T00:36:03.43316+08:00"},{"id":"f314c06de44f0cf0a7f57f70cf337645","path":"lib/logger.ts","filename":"logger.ts","gmt_create":"2026-05-29T00:36:03.433196+08:00","gmt_modified":"2026-05-29T00:36:03.433196+08:00"},{"id":"ffed7f2b98f0876b0764a46178326f05","path":"infrastructure/ai/errorClassifier.ts","filename":"errorClassifier.ts","gmt_create":"2026-05-29T00:36:03.433229+08:00","gmt_modified":"2026-05-29T00:36:03.433229+08:00"},{"id":"96d07bd1774515a99147d7a22077ab18","path":"types/global/netcatty-bridge-ai.d.ts","filename":"netcatty-bridge-ai.d.ts","gmt_create":"2026-05-29T00:36:03.433261+08:00","gmt_modified":"2026-05-29T00:36:03.433262+08:00"},{"id":"d433a6a730c2603ba4e3bfecff9c6ff5","path":"domain/sshAuth.ts","filename":"sshAuth.ts","gmt_create":"2026-05-29T16:04:30.663674+08:00","gmt_modified":"2026-05-29T16:04:30.663674+08:00"},{"id":"6d287e279b7ca41b46ea004fd85f5033","path":"domain/credentials.ts","filename":"credentials.ts","gmt_create":"2026-05-29T16:04:30.664108+08:00","gmt_modified":"2026-05-29T16:04:30.664108+08:00"},{"id":"d6dfa972f57094438cb3eb40295463ad","path":"electron/bridges/sshAuthHelper.cjs","filename":"sshAuthHelper.cjs","gmt_create":"2026-05-29T16:04:30.664169+08:00","gmt_modified":"2026-05-29T16:04:30.664169+08:00"},{"id":"de02ba181120d7d3c45b25027607954b","path":"electron/bridges/privateKeyNormalizer.cjs","filename":"privateKeyNormalizer.cjs","gmt_create":"2026-05-29T16:04:30.66439+08:00","gmt_modified":"2026-05-29T16:04:30.66439+08:00"},{"id":"ea757801c8b59a1ce3ab79853638a417","path":"electron/bridges/privateKeyNormalizer.test.cjs","filename":"privateKeyNormalizer.test.cjs","gmt_create":"2026-05-29T16:04:30.664449+08:00","gmt_modified":"2026-05-29T16:04:30.664449+08:00"},{"id":"43e0f42bd09636b152f7c44cac37ef9c","path":"electron/bridges/sshAuthHelper.pkcs8.test.cjs","filename":"sshAuthHelper.pkcs8.test.cjs","gmt_create":"2026-05-29T16:04:30.664502+08:00","gmt_modified":"2026-05-29T16:04:30.664502+08:00"},{"id":"73bc0acd848c3ed206cd2f7c830ff4e5","path":"electron/bridges/passphraseHandler.cjs","filename":"passphraseHandler.cjs","gmt_create":"2026-05-29T16:04:30.664543+08:00","gmt_modified":"2026-05-29T16:04:30.664544+08:00"},{"id":"bff59e82f605e20195da97a526dd016c","path":"electron/bridges/keyboardInteractiveHandler.cjs","filename":"keyboardInteractiveHandler.cjs","gmt_create":"2026-05-29T16:04:30.664583+08:00","gmt_modified":"2026-05-29T16:04:30.664583+08:00"},{"id":"a5a4bcff2795d6fddece1c37463b5d11","path":"components/keychain/GenerateStandardPanel.tsx","filename":"GenerateStandardPanel.tsx","gmt_create":"2026-05-29T16:04:30.664621+08:00","gmt_modified":"2026-05-29T16:04:30.664621+08:00"},{"id":"a686bce16a4757ffc087fd1d439dfd0f","path":"components/keychain/ImportKeyPanel.tsx","filename":"ImportKeyPanel.tsx","gmt_create":"2026-05-29T16:04:30.664658+08:00","gmt_modified":"2026-05-29T16:04:30.664658+08:00"},{"id":"3e9186e3c491d88874d860d8f92d6c21","path":"components/keychain/IdentityPanel.tsx","filename":"IdentityPanel.tsx","gmt_create":"2026-05-29T16:04:30.664695+08:00","gmt_modified":"2026-05-29T16:04:30.664695+08:00"},{"id":"f9bacab6e427f918ae35e14852f5366b","path":"components/terminal/TerminalAuthDialog.tsx","filename":"TerminalAuthDialog.tsx","gmt_create":"2026-05-29T16:04:30.664732+08:00","gmt_modified":"2026-05-29T16:04:30.664732+08:00"},{"id":"cf19562ecc2d4f153e231f9752664ad3","path":"components/KeyboardInteractiveModal.tsx","filename":"KeyboardInteractiveModal.tsx","gmt_create":"2026-05-29T16:04:30.664775+08:00","gmt_modified":"2026-05-29T16:04:30.664775+08:00"},{"id":"1f0b00b35fb6a716e5a70f1e2376f2bd","path":"components/PassphraseModal.tsx","filename":"PassphraseModal.tsx","gmt_create":"2026-05-29T16:04:30.664817+08:00","gmt_modified":"2026-05-29T16:04:30.664817+08:00"},{"id":"9403814343c15f11bc49b8af34bf3cd7","path":"components/keychain/utils.ts","filename":"utils.ts","gmt_create":"2026-05-29T16:04:30.664865+08:00","gmt_modified":"2026-05-29T16:04:30.664866+08:00"},{"id":"bb281d4ee5af69ae7677438d3275e233","path":"application/state/useVaultState.ts","filename":"useVaultState.ts","gmt_create":"2026-05-29T16:04:30.664904+08:00","gmt_modified":"2026-05-29T16:04:30.664904+08:00"},{"id":"39ced6df00a8ad2103ed345174c561e0","path":"application/defaultKeyPassphrases.ts","filename":"defaultKeyPassphrases.ts","gmt_create":"2026-05-29T16:04:30.66494+08:00","gmt_modified":"2026-05-29T16:04:30.66494+08:00"},{"id":"09217e072e7bb6388888a4a02830e1cf","path":"electron/bridges/sshBridge.cjs","filename":"sshBridge.cjs","gmt_create":"2026-05-29T16:04:37.47833+08:00","gmt_modified":"2026-05-29T16:04:37.47833+08:00"},{"id":"f707844f8fa482fd6b5d794ce185da9b","path":"electron/bridges/sshBridge/startSession.cjs","filename":"startSession.cjs","gmt_create":"2026-05-29T16:04:37.478407+08:00","gmt_modified":"2026-05-29T16:04:37.478407+08:00"},{"id":"3f10b28d75b4fd9dc3a1428cab158740","path":"electron/bridges/sshBridge/execCommand.cjs","filename":"execCommand.cjs","gmt_create":"2026-05-29T16:04:37.478448+08:00","gmt_modified":"2026-05-29T16:04:37.478448+08:00"},{"id":"836f76b9a7acad295ef9d2d80d79a693","path":"electron/bridges/sshBridge/sessionOps.cjs","filename":"sessionOps.cjs","gmt_create":"2026-05-29T16:04:37.478486+08:00","gmt_modified":"2026-05-29T16:04:37.478486+08:00"},{"id":"7c3b81f22362e95e47f1b104375c608a","path":"electron/bridges/sshAlgorithms.cjs","filename":"sshAlgorithms.cjs","gmt_create":"2026-05-29T16:04:37.478688+08:00","gmt_modified":"2026-05-29T16:04:37.478688+08:00"},{"id":"bccb9a8e255ff857b14f5915dbe9e900","path":"electron/bridges/terminalBridge.cjs","filename":"terminalBridge.cjs","gmt_create":"2026-05-29T16:04:37.478725+08:00","gmt_modified":"2026-05-29T16:04:37.478725+08:00"},{"id":"1df01ca8b4c2189f72f995abd5a68708","path":"types/global/netcatty-bridge-session.d.ts","filename":"netcatty-bridge-session.d.ts","gmt_create":"2026-05-29T16:04:37.478823+08:00","gmt_modified":"2026-05-29T16:04:37.478823+08:00"},{"id":"68753ab2db898d0493b7925be056450c","path":"domain/models/terminal.ts","filename":"terminal.ts","gmt_create":"2026-05-29T16:04:37.47886+08:00","gmt_modified":"2026-05-29T16:04:37.47886+08:00"},{"id":"77062236202633127d331c0805a2be01","path":"components/ai/sessionScopeMatch.ts","filename":"sessionScopeMatch.ts","gmt_create":"2026-05-29T16:05:13.398313+08:00","gmt_modified":"2026-05-29T16:05:13.398313+08:00"},{"id":"ab34263c1c4e1440ea68d771ca649a29","path":"components/ai/acpHistory.ts","filename":"acpHistory.ts","gmt_create":"2026-05-29T16:05:13.398358+08:00","gmt_modified":"2026-05-29T16:05:13.398358+08:00"},{"id":"2da456e7f00f7c523a604d47d918c6b0","path":"electron/bridges/aiBridge.cjs","filename":"aiBridge.cjs","gmt_create":"2026-05-29T16:05:13.398395+08:00","gmt_modified":"2026-05-29T16:05:13.398395+08:00"},{"id":"6000be96fbff2c3cc1130507c6268930","path":"electron/bridges/ai/shellUtils.cjs","filename":"shellUtils.cjs","gmt_create":"2026-05-29T16:05:13.398496+08:00","gmt_modified":"2026-05-29T16:05:13.398496+08:00"},{"id":"35e6ab7aa766ddfadb0ee716c927de1c","path":"electron/bridges/aiBridge.test.cjs","filename":"aiBridge.test.cjs","gmt_create":"2026-05-29T16:05:13.398651+08:00","gmt_modified":"2026-05-29T16:05:13.398651+08:00"},{"id":"c1e1a7ce236b5f68b899e2f8ec0310ec","path":"components/ai/agentSendEligibility.ts","filename":"agentSendEligibility.ts","gmt_create":"2026-05-29T16:05:13.398689+08:00","gmt_modified":"2026-05-29T16:05:13.398689+08:00"},{"id":"b8aac0b713ebc375deefaad03d5e8eec","path":"components/AIChatSidePanelHelpers.ts","filename":"AIChatSidePanelHelpers.ts","gmt_create":"2026-06-01T18:15:51.929082+08:00","gmt_modified":"2026-06-01T18:15:51.929083+08:00"},{"id":"14284a904d6c969242cef73a354562ff","path":"components/AIChatSidePanel.types.ts","filename":"AIChatSidePanel.types.ts","gmt_create":"2026-06-01T18:15:51.929143+08:00","gmt_modified":"2026-06-01T18:15:51.929143+08:00"}],"wiki_catalogs":[{"id":"189657ad-d00c-4381-8f6b-550190edf068","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"项目概述","description":"project-overview","prompt":"为Netcatty项目创建全面的概述内容。详细介绍Netcatty作为AI驱动的SSH客户端、SFTP浏览器和终端管理器的核心价值主张。解释其架构设计理念,包括Electron + React + xterm.js的技术栈组合。阐述项目的主要功能特性:AI代理集成、多协议连接支持(SSH、Telnet、Mosh、本地终端、串行)、终端工作空间管理、SFTP文件传输、保管库管理等。说明目标用户群体(开发者、系统管理员、DevOps工程师)和使用场景。提供项目的发展历程、许可证信息和社区支持情况。包含系统要求、支持的操作系统平台和硬件要求。","progress_status":"completed","dependent_files":"README.md,package.json,App.tsx,index.tsx","gmt_create":"2026-05-28T20:04:49.696497+08:00","gmt_modified":"2026-05-28T20:10:15.615411+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02elJtBUgH0Ns0veIx1WPtM9wwkxI+/XAqHLxJLlHB8wV7ojrH0+b4JMz5OewwhBN1GJOluPw4Iq9D0QjTTbLqCrKi3+Iu35BqFKVSDPMN1DeytGwjBMWMaqfZJw9U+for3BPoNjk1/JjOG6KuYsCPdEcAknrmZ4jJN8DnVUcKf8zogvv1vXLJbBaQw2zuG4KWsTADIAr7IrN1VDy/8QS+CBB62XISctRgV0cycmni5aDsMBktWIlLpqjnw4Jz+H+JijzgrE6KCZoLu+cQaCjEgF8irt2jB/2pggj8ZvfE7ykNEcasH/3o3+Qd3wa3nyOk/TlfMScJiWLigWoJEsjfz+UqSQYvU2eBByf00Dk7+lsTzgq6Kxpeuhst+qdvEdeDeMgeCVFb3wuX4hpTBejUFIj1yxKtDxQcLNvEegCzxQ2QGrD27PY+F0+ipWazNTQeGps+e8SaFDydPngKWCc5EihO/ujLKaJe80/FsPJRWQMtVoZpUZR8HHbeoyzgyldHBlIhUEFTAWvhI7t/PMM/Uf7lau1ElrtVwMjV1vWhrO9RspvTIXM9I3t8KDgKxAUoP0oE/X54XFOAn20Hok78UMlzmselXkBXKy2SYvWLPiQlBbUxCxyuyMM1JeB35vyfvIOLg/Z5F0L/aJPbPTnnsYklcBoV7RP2fGdZzYVzmQiouNrq2LggBPkwhKzHGho4KCldsXTgb4dqVZ3XOMmFWsCnd/6pReVzL4wI64Xzy28ulJX/tV6rpWbIzyr+2h5GVDqvwTsSdtCpR8AqxyhdZXQW9sPBiqPahUAxbwC/gz7wpo+477XOfV5H6k2aSUQ7Ifa6a8KoTpzIIgqIsbNAJvm1Nsm4uN4LnArintcLxIgh6YDawPmSKkuQM4w1ruvaz2DEEipnzoj/MEhvlh/X/fo52jJgF84ixYrVWfpLetZm9Wxpp4EzdejQKj9FBKuRWYIK01KZTIqh0pSrQ3VUMAM8Cv10Txp798GgvG4xrjOjVuKpkHS57j1/5g+8HNCiyp9FG9cgH5K0O9OHgaIDTG6Seesb4QJHyUeDjiwQ8GkR4U07PrvhI32E4PR8UazfuUlrQWd7xNWWKYSA1DgaZLzr/SagnclaB2qPuY5dIucu/EAHYU23JGYG60oldJqLfkyl31gbplFD3QSyvTTQCi3JAhIACA53vlyzBDGwnZC0O2MzXS6rgqwH1IUMZqNyM8aCbeCcE3sxPX9srKu2Y7Ikb7YoGZX+u7AF+3dPxtVw=="},{"id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC桥接API","description":"ipc-bridge-api","prompt":"创建IPC桥接API的详细文档。详细记录主进程与渲染进程之间的通信接口,包括AI桥接API、SSH桥接API、SFTP桥接API、终端桥接API等。对于每个桥接模块,文档化方法调用规范、参数格式、返回值类型和错误处理机制。说明IPC消息格式、事件类型、数据序列化和反序列化过程。包含具体的代码示例展示如何在渲染进程中调用主进程功能,以及主进程如何响应和处理IPC请求。提供错误处理策略、超时机制和重试逻辑。记录安全验证机制,如发送方验证和权限控制。包含性能优化建议和最佳实践。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,electron/bridges/terminalBridge.cjs,electron/bridges/windowManager.cjs,electron/bridges/ipcUtils.cjs","gmt_create":"2026-05-28T20:05:12.557039+08:00","gmt_modified":"2026-05-28T20:17:23.597953+08:00","raw_data":"WikiEncrypted:91RWQJnBa3YVIbYB6FTbWi43PhsVS1yEriCfEAJ5KhYTOSEOcsPR3ge4Vp/M+F8yb8pyfpZGz1tulC3CvtzyRQspplqiIwW/wxNoRw69e8qf9KP70u7qhAlARGxJ5AUo6zBKAsbsjn0amtsQpxYH+gEIBTI/LTgArNME23TLz80OIrvuRC9sFIycKye7dXqEVRLVud0Dw+X2GjdJx2k0UvOmkRdVfpGW8W6qAX8ELC9edT3SPi4oPcMiIqw0QEEaI1itYi417N+tn6MV0+hUeBXLYJKaEO1fGE5AWLxQB90l0EcK+wsxpLbwnXxHsgRiiZQHh7F8xj8y7XvlgzPapWn0dbu4hUEjYcRLoOBo/Sdkn3Y62+wp1NKqitGNwUSD50FKrzBQ5Ao4/6vW1SkRqtlN4VThCLLgbDl1aT/LfUgf1bH4TztPlwjnp5J9RyiXvoIqPG9mp9E6ZJvkXgrQXAWBeVs9tD1PxaVrcpN8po5bILIXQhxyOD3B9qZ/FI6KcrK/l5p9pVcE9Ou/biWCKkErMlSplKeSlJsoH2DWTlku8ozOrL99y61EID9PIxsIjTIfn7SfxKzYxaZLMBTqoD1vPShy/mj6d0AY6vkGwah2VZi/ri+KzretC9LqkIWWa8YBtujGJps63QU7D6uNSKosGKF9r2cslUE8bBCspbfb4890mitO4UXMtvVe8hOUgXE7hEAA4fxH/OV3yfbmMCoVIRivEwEzJRGrdjkLvNJWLwrlJUhgQzw5wJL8cCoDC1BbS3PiBzuhypBeMdjugjUorvJloUblaMGrOyRv97SpdXD7/guLZWmMwzqRGHXHvDb0vdJXfKoBwIccd1dg07c65w/UBd6iY7TDyGyVvsbtNuFa8t+v3371pOgfo9miWOXBmp2sfSlsY+Myn4UgHepcsLiX6pli2wqd/iq5rlmfBzvYDJafxgvOzLaJNLZFvL5Hg3hQn4aoD3M1PBemMvDDL5WzntAXgCDkxzjo9gaaw0Ah+mYIwlqW8yX5oxup1HUdo9YSJTp0ZHU5TmPNA0wzBez8FcGeuj2GJJRjpkVDegyVvRfKm+ojCt6vGS2WhOQ+1a3MSdkPaXzH6z3nb/kgdHlIXlkFRVgnG1t2SOukRH3gc/TgW5SbT90pKD9TX9kXV2r+Fh/hCUad0azTEYGogB0wOTcgJNxzqfa/FjGULr06q9e3NGvxopDQ/IkHHdkXo7kUaerPTIJ/UbEI2Fmo6OW7ifQP06mQimUgaMM9j+T8xuZ9q2l7XjW0cgcVnCh6LLpcHqlYbvoDzGECbWfYntlsAci77mG+JSx2GYto1MbStfPHzxIFCKtFoVPobqzJPX77UTxB4KTKardjC7DFsanZPQyELFOhbnUPtuygTD2JDUHmIs+nErbl9kQdTzeWSX8ih9U+I3y52J44tDsFtEjp/TtDgjjHBLidgXzXOXnEzPh2LX89rAXjzkCDBQDmUd4zC2BD8lazab+qF20FHrHkgGJ5xC7w84LM356j67W/4cABF88mMlkCtMW2jOFd7l9IZBMbEtDLrAwzkKsAWcimYXrm50KeYt0m3ZRolhuLcKIQ+MMTNKjE78QM","layer_level":1},{"id":"f348201e-855d-4899-83da-3a544ea6e040","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SSH客户端管理","description":"ssh-client-management","prompt":"为SSH客户端管理功能创建详细的用户指南内容。深入解释如何添加、配置和管理SSH主机连接,包括主机详情面板的各种配置选项、认证方式(密码、密钥、键盘交互)、协议选择(SSH、Telnet、Mosh)。详细说明快速连接向导的使用方法,包括Quick Connect格式、一键连接功能。解释主机分组和标签管理,凭据安全存储机制,以及连接日志和历史记录的查看。提供实际使用场景,如批量导入主机、连接测试、故障排除等操作步骤。包含最佳实践建议和常见问题解决方案。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","progress_status":"completed","dependent_files":"components/VaultView.tsx,domain/host.ts,domain/sshAuth.ts,application/state/useVaultState.ts,components/HostDetailsPanel.tsx,components/QuickConnectWizard.tsx","gmt_create":"2026-05-28T20:05:22.526441+08:00","gmt_modified":"2026-05-28T20:17:29.827194+08:00","raw_data":"WikiEncrypted:osxu6WuDyYg810JxK49fHXtauWdiCPZHAzenwmCaEqURZhhQwKTgJ4OkHPlHR4Kdy10AvBZxAM9uJuUXfQRoFj7gQeIH2bgX9qEBQEU5OOLIkyqMLuZrdvlK4AF3mEWn2nDP3nt3tOO5VLgMiGffoTiq9X5gQrgBY1XLhcThIUFVouHHRFvTrZjHsCn8yyWb7AJgdaaLNzrCctdF9gtngpntQ2lOExDoOmzjyb0WVIh6wpLRWiR/U6w5qc2AhF9wq6KpweHVyIYVfeF5rjeUjAdspPegCka9yGqyLuD02fQbeDPISltGY1W0gmscVo2AfjRE+WZJbygwiqiNaUoo0mF6M2TIKUhNUBwUHPNr1270Y44VUY1OgBfQKyDUf4Wyqqz8NZdMtGubh1idVl72aUKlIqs1C0FqywdBBbpyOZ5mmHDkF8hKSpLBxAdSGNsS4sEKk9ng/V2KIAR9HTBZjw8FEcp24l0oN9eYVNzFUQsMVv4Va6GMb+IBHcgJA4ILnbhiwXjoyL8NQt4hFoPq+v5tNMCOLMVbndlShVzWEDhH/5QtBi6iI06kV+5dB+VFG3SMn7dXNd1jFpqT9G9LFqJV8YSa4UwcGU5FtqtkBmM8PT7vkrw41D6evZ3xpBtFmRdgJC2t8KyIVJiQQxddT9Ex82VobOUdHAWlskjyw92DNa0phLUDsaSvNVMVu2urupiCPdlmoPJBQ8hGwxp13iXjux2Rmc2Ei6gfCOTTreGWH5IsYiZ7YMPEj1bNPzYaL/qF/dA+fR1y1DdhOneMvFKgRMi2OZNq3su1U7OePFkFurAGwxPwlXe2JBrV8vHtF1RFxgC5Y5ZMJDagmZSHe7LHPefx9z5E91o10thP7dmUMz8zng6fIEDDl/74LZXvtKqM2YDu5BOlomNY2sL4eC5q6agYIoFAPb/fdYeat5zxXZCMkmp6ORy/ed2IfuLI1EdTK+cobU6Ptm8Okz6d1qw5J+2DDP2HfleogEPfkOP1jtZN/Z1Bc3elo8aOFuDFbGPOecwrhjNKCxjQ1Y+epcAsfD5lIF/NPtpMKIMKSkzyHOB2YD3d30xrYk6SKqPUzn8qE4Izv/ADfRJtBbw/8+tmiiv23n0xa4ywHEhvDoCxy/kMFjBY3w5QRvE+4zMg31Fp3aZPWlIK7u4egVus+hiOpLwSKOe6ERvR7empufKgpkaLGZY+pXlRdNjkZPuVH+cEiXTBAvdgjR3jx2AII7CBoLXGbKZoQObiw6g2bDenHImEb/7x3nipp0PmHw50xGiZ5J9z6KibY+TMagjQ8n88FtmahRxn/vhGbBnarPfxGXAlEk2INq4bKPSRxBVqCwo45B3nZ3j25ooR/LH/AW3/9+Exq5KrM/3iK2M1MlCxTng6MIXlc7/OGRPOAcRTkmxIganTA2Z4I09QDLf1UktgPTr3l1zTRbHDdE8rPYM=","layer_level":1},{"id":"fe2c716e-f60c-4887-86c2-802954fe9d11","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"插件开发","description":"plugin-development","prompt":"为Netcatty创建详细的插件开发指南。深入解释插件架构的设计理念,包括AI提供商插件、云存储适配器插件和主题插件的开发模式。详细说明插件接口规范、生命周期管理和注册机制。提供完整的AI提供商插件开发示例,包括认证处理、请求响应格式和错误处理。介绍云存储适配器的开发方法,支持新的云提供商接入。解释插件的配置管理、动态加载和卸载机制。包含插件开发的最佳实践、性能优化建议和安全考虑。提供调试工具和测试方法,确保插件质量和稳定性。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","progress_status":"completed","dependent_files":"skills/netcatty-tool-cli/,infrastructure/ai/sdk/,infrastructure/services/adapters/,electron/bridges/aiBridge.cjs","gmt_create":"2026-05-28T20:05:26.320528+08:00","gmt_modified":"2026-05-28T20:16:48.571124+08:00","raw_data":"WikiEncrypted:ukPV2tcWPRGn89Upsee0BMJPbHQX0hwXHlyElH+Po4OMND5qukbyLNiyKhqcozSK7l/XPUqpOuMmVJZuaFxCDZ0oI7IbNNqsrXtCW59B2lwmg0zWxELxYXtRmxzDvpJgz5mHHcqsCSHCymLqJ/etarLzljB3hDUwy416ZiAJoltul4vDWHmqKVKqKmh3IoPDBembGw5ZuhFN4kQEz7Rjf+b28hUpqqGEtBd5s+zsc+rIdSArfVVZX8QUPHTtFL4eF8L3NyJ2EC1MLtNQNrp4LklIcEJ1aHfz4HobY0v6+nuk0bNCqHfBtcKdoq+kGML4h/mrkv0wBNPxHD4FD41TU6m6N2htKe/MRZY1AzqpqA6O/GTChvhzZ6SmLQI3/tsG1Ecr6Vui9DBh0ufPkd7brbXS6nLpgl+Zu3TPAGVkygSGUzbsxlFE7f3rb84lyD2VK11r2K/7HQntXyekbskfZQKx7KIfDNUxWwR6bZuh9Jk0zcRkNntlcpzseEKeWR1G8VUuHoZQMbdMYb/pOZ4w0QlnlTR6dLZm4AciwLgckXPM2t1d9/WaTKl9reBWKf1pAjJmTTLAXjx5j93xIabvkFXl9EoM6g7wPA0LvCjv6wgi43vflp5/Rrlitm+kkQtrxUrUTXCUcqcCc2VC9xvHfIDXfPVuhh6f9kg3++Uc2H1LNvRQz2W9cxA2owMVLkrc3hvwvH0NevmgFwxHKKWmT5uRTbvF6HvfnSd1ZWBcNN52piye3ntU/EyD4dRQUJgCpZq8DH7J0xXKogc9sqAClsjZ6veV40tS/plNFrICHYrO+NzLMLLXTE8Ke4njq4DT7o7bXZr6LK/3csRBlg372yBCrI3Rrk3kOlkeuqKxF/YErvQ2CblrvtXIb6mjzK/E1aswnTeJ4ku778cGxTjigQC6tyfTjxsCSzAEQQ2qNn9V4a7EoMTLMnRYCPMcaWi9/2aidcjzIe1yekQj3je13CUbuf//amDQ6DHEjTOwtRIjOx0l9gIJzP7CW5nqfJKKrPFx2WiaH00siuYlwuLz6zVH4TDum9N22hOnmjI2EH1PTBzKq9n18hp1guI1uO9K4dusSjJKZP2SAU1Vz/qXsb1RXDIg6+eKv/0QfgApqDN5cCYeoZuPdFzlGXW1g5E1fnksLUfC96YZpvedZfUftKk82BsyQRyi0zzjUcwCMquvYQKQRFpZ++4fglAyEi5XFBGBiyejlN8nHxSSkAcEz5owNZsPc+mIN8akWjFoEWocN5pbXFD4xgZBXhd673Uhle1dQ2LBUzeVSmf73uNCjbkg1Ybsggy38wj9z7fPomA=","layer_level":1},{"id":"e346232a-5e19-4ce6-90f5-396d9804cddb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"架构概览","description":"architecture-overview","prompt":"为Netcatty创建架构概览文档。详细解释项目的整体架构设计,包括前端React应用、Electron主进程、IPC通信机制和后端基础设施服务的协作关系。说明MVVM架构模式的应用,包括Model-View-ViewModel的分离实现。解释模块化架构的设计理念,包括application、components、domain、infrastructure、electron等层次的职责划分和相互依赖关系。描述技术栈选择的原因,包括为什么选择Electron + React + xterm.js组合。提供系统边界图和组件交互图,展示数据流向和控制流程。解释跨进程通信的设计模式,包括IPC桥接的实现原理。包含性能考虑和可扩展性设计。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,application/app/AppHandlers.ts,application/app/useAppStartupEffects.ts","gmt_create":"2026-05-28T20:05:48.207137+08:00","gmt_modified":"2026-05-28T20:19:47.650373+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"53dbf0f0-acdf-4479-a847-d36e1f74b9c8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI桥接API","description":"ai-bridge-api","prompt":"创建AI桥接API的详细文档。详细记录AI代理和工具执行的IPC接口,包括AI提供商API调用、代理工具执行、Catty执行处理器、代理CLI助手等功能。文档化AI会话管理、流式请求处理、代理发现和进程管理接口。说明AI提供商配置管理、API密钥安全存储和解密机制。包含具体的代码示例展示如何在渲染进程中调用AI功能,如启动AI会话、发送消息、处理流式响应等。记录AI代理的生命周期管理、错误处理和超时机制。提供AI功能的安全验证、权限控制和最佳实践指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/aiBridge/providerHandlers.cjs,electron/bridges/aiBridge/cattyExecHandlers.cjs,electron/bridges/aiBridge/agentCliHelpers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,electron/bridges/aiBridge/agentProcessHandlers.cjs,electron/bridges/aiBridge/acpHandlers.cjs","gmt_create":"2026-05-28T20:05:50.532693+08:00","gmt_modified":"2026-05-28T20:31:43.128839+08:00","raw_data":"WikiEncrypted:g7Oo9+wyBG6cI2PajQ47tE6h/2JO0T4nL7B7mUav4kvBZw7a8Iv/YoLdd/64W4t2XsA3Pyhqb4KP3KYQma3DQp74aipPOobZz5AeFZeipKsx1RmwM8sSv5/f2+GklhSOXLDZif1ixrZJ7a321p7NPgI43VgWRjizpHN1ooZgW+zhpalNEEpqAo3CDvEs6yA6bJ7AGqE/RMhpBhXePV7Z590Q6FVyMSbv7ga/ZU5bDBsYDmb5HAWW8tAsiLUSq6lAp8XqzEv+V6Lh4cE/b6ZwBazuLUb9qJsOFmYzPfzSuIah24tokUpugCsrYo4YfnlMmAjY2ZeOERxYIOaY55tE+aHgBput/D+GjIDVNR3ZLGFw26HNvZBTN/1T+WPUOSUWO8kMXmhImgNFM4uIQwb3O658w06QVXyTvR7DcPiauL1lKu59WAtipVk/RM8J8g79plqnnZ2HM5LVCYXLOlHaWhkdpAsALNgyB+DIcg3EjnyzR3IuvY8EKGcmCgC3c4v/nnS3Qk9xknKSfgBfc7K4gnkx7pi2ZKf2HdbU8cH5/d8ShtG3yOy4StaKs+j5QPeQW9UfpoDynn+SwF4q6SoC6UA4B+V7kFQWFWVkAV1Apze1PYjwnTZm1m/BwSybd9o4w7m+yCl2TLgxKQ7M8U4eutAekmHIK7QW8QUQohDvS/i3kQTzQ7pU+gjTtBTchwCna0Lm4fzmgXPPC3DKV5UsW84hneBs6PY5RBIrpsjglA9GJv5ZIrtcJk8OV1ggkW4Vjn87HGfPuSvzSfVoQmH6hERzWKiV7PLRBC8OKrL+Mk3Pgodo2HZgptsnJemqiAqLmDoThqNtTgx1ffGaUh7wrGP6UIhWrpxaH+Tum9wY3z5gjUl2Hmna7jaWk5sm/yZBm8gghSTjukSUmUltFN/J+g/67J5N1BSE9H5Cz4kfYc3eCmJrFkNGOia7KTpxPfO9N2V3svxcPzZj8Nsxkm1Nf8tq4t84gVctaW6UNvk7A8OYnyz0T+J9IFsMnKNYiVCZdsVT5+P65jqGWaASlzehieGequAJ/Hke2W3mLeIfCHxBL+4hVVIjnFCverKfzJVoV/1YehkZYfnKMkUBozXLX9IWhpb6qysROSxDdMDnNU3EaTlSWmj+qODufIdBTr7szmTH9NtM1k40eDFDtjXLRt01yyHrGhoqPQachKNrFBDX9+3TFSVWRFgRmF51wmEUy1idUCjl+Vd42qUWPwOgHw8tWOmvZVNqmfTbEyhxym57fZWtxt1v+LrdgaE7XHV5MmTJjFIxOiafu8BmM8u0MJ4JFeAaWh2afcAeN/HTApKZE1d2vplSj9kiKUcVkHLbN/k04/1tFdiiehqDzlZX8Aj5Sbz//nW8LHX0kXAvdtcuxbbcw5yWERoBl7BYHmEUX5nSjVPsGOzErzsdIGyVihGpiTPJlb5gCMENuHAmv1kOUsAtlyCs5xb72qqGfPoWnWUxOShQpm7qgk3Xc3J/xaPA+tv172nTD8/8Ym5NUyIUvmLQ5jnCY8r1VOMzb7AE2GYBZ4Z99mPIvE+BbOSG2Oey+1cvUw3dxyB37mqDJ66S3Hkq/KC41MFCNTV4sGGNOUI1Kf1JLlljKsZvYIwIfA==","layer_level":2},{"id":"bf18a7e4-a0d1-4ea7-a632-794bbd1a9f8d","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"UI基础组件","description":"ui-components","prompt":"创建UI基础组件的详细API文档。详细说明所有基础UI组件的属性、方法、事件处理和样式定制选项。记录每个组件的props接口定义、默认值、类型约束和验证规则。文档化组件的事件回调、状态管理和内部方法。包含组件的可访问性支持、响应式设计和跨浏览器兼容性。提供具体的使用示例和代码片段,展示常见用法和高级配置。记录组件的组合模式、嵌套使用和样式覆盖方法。包含组件的性能优化建议和调试技巧。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","progress_status":"completed","dependent_files":"components/ui/button.tsx,components/ui/input.tsx,components/ui/dialog.tsx,components/ui/select.tsx,components/ui/switch.tsx,components/ui/tooltip.tsx,components/ui/popover.tsx,components/ui/context-menu.tsx,components/ui/dropdown.tsx,components/ui/tabs.tsx","gmt_create":"2026-05-28T20:05:51.881782+08:00","gmt_modified":"2026-05-28T20:31:57.443527+08:00","raw_data":"WikiEncrypted:olAPfnTddGwpj/UgpBjR2+Msft6uTT20LZDm0DpzpfXJf1j6Qli/K8yG3JEE4DqgSg+7bYoVYaIkZopkJZGpD8ptcg+miSoZPPPwoIRF4AAqO2Ruz1BRE+5kXRD7RbUciM8AkFTvX8xISk3DRt/0ACNZel/B+oca6HfzPWXcHeOq/NEk2fw5y/GLhn/KhSt6etSdVRMe443XnupsrVtiTEMaKnzH6CS8ajiasbOk5UiMai9LY7259ib7CPbcYDwZqQ5OmAwqcuAc9dAhyaLTdzCqi8SOlX7Vl/wsaQNrmPfK7pGaDrl7aApRm0V7w0A3pUIlTebWfvWXr1CKshUu6uxYKB5ztPo63aaBh03lBFyR7xviEVuMvLaI5oPFo78DvFqK9ikqHKqezSwJfYZ/MrgWfMplZuHk7CmG9+zG6KPF9/UNHBjwqG4zZLHrDC3hgvlfldkr+h1UmeSvljTf8tJLTZkIh5AAfx4hcpRgplCKC3rysVTwlR2R/g4WuMUvZh9VH4s0akH83V6xDAamV+DBEXFi84qcGE8OO0AbJIUW7dvIMAsGRlmZP0WarfB1wrJEMIDe7B144d+igSh6Y7zbRX4rpwIBtrlgwdu7UM98BNw8QFa1gfKchCaSYexxf1GY7qXhsDulr/As+24q3R3zXZd2pTHDPet7Q8/JQYCSnE3iVJChFGFEMPtlXsCg74yX1/MIl4uB8AzbfOpBMtfPAow4Oc1eDw+yUrgXtfhIX7dnYDL/hfprgJSAiTyj9w1maEzIPQCbO7IKXOYrc/v0Tku8i2qaOecTBPtq/+VZjteVWkwmdlFeY+KwrRcmfOoSX99LX4FRnvLMH3OYPemIkhpal0544+ft4Z1WQ+HGa4VHBKDZDHZJn2pbhCW6T5/7PpV8mm8a5nk/ERm8PmUGF7UHODlO3Wcni3gRk4Z8XOhm7ZUKM3dM6tolYYsiQuE8sULQbLvDWvbDTaJ6xHnCYSvbj5+pQicfvLfdC63s6P0KZ5fdsAA+Snj6+bMEzgw0P9qLh2tLwLcfsF/h0yUZTTDASgnizFRLcv1dZC4/wJVuM4ztmSGsk3RHlhEbPLj8UPRRp4bcVmOybtLbyLTjoafFsDrvlBU1E9L6nkHEuu2JHKM3G1OPVddFeWH856qP999NrMwP1aAi3f33H7CfXJLKuqFXOiyJiTxbvdzbUv9lsIgo+as5oe4mOYvlXx7+ABsv1YkKf/pFOOQkBmeWONK9/pasAGPgXVKZWKUcHH6qa8k6wZF8eufCoDewuq0hAAGIi/l8wngYlb4QPiASeV/xK0AuTXIFmssVHocYP8CU9YIEhSPxUH5besQQyzBItlx2LgGAVkCummvpyDUsJjYRLP2wp1bkHRh96ik=","layer_level":2},{"id":"dbb11819-90c1-4dac-9f47-6a4b3c6adf08","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机模型","description":"host-model","prompt":"创建主机模型的详细API文档。详细记录Host实体的完整结构定义,包括连接参数、认证信息、分组配置和元数据字段。文档化主机配置的所有属性类型、验证规则和默认值。说明主机与分组、凭据、代理设置的关系映射。包含主机创建、更新、删除的API方法和参数规范。提供主机配置的最佳实践示例和常见配置场景。记录主机状态管理、连接池处理和错误恢复机制。包含主机导入导出、批量操作和迁移功能的使用指南。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","progress_status":"completed","dependent_files":"domain/models/host.ts,domain/host.ts,domain/sshAuth.ts,domain/knownHosts.ts","gmt_create":"2026-05-28T20:06:08.451221+08:00","gmt_modified":"2026-05-28T20:33:55.529523+08:00","raw_data":"WikiEncrypted:NYk4L3+0w9kUBbFwNwG4DPx9Grq8DigO3dbydickFSx/Hpgk1vNFny4z3dQVwffEIQB+0w5tCZUo1tBT1eahqjjHGB/9rutHEbNCWQSHSgeZ7qmUL5ikmOMZIDp1XvIW1W7fecocP+WL0PUEmooGitKuJF/N2z4bUxmanyomiyLyqiW3QQCKfqoHDBspvtM+9EDAJU9E46I+iFiGuix9dhI8bC5whPkI47BEOX38770oUTd4+JzBsXkuDEqxBtYFtorPexFzd3EbkRJUgpcfZjL/wBZOzgod5xKLnDMXW0Wgc4No6kwk8wlbA9YfPjd2ABw0GhToxr/a4YN3PE3tzxOZVD+ooKYy8gtdArqgGK4A6wHwPjCyfsbdhVhQUNS935xeSESdPnC7Oh5Ry5LlszUB1ClUbI4nQRfRtBxeyCJ+4/b7Em5tbMtlPyIbmkERIRe3+1AXtktqaXVS5jwGwd30FLBQRuW0H+eLow2xIJ127gzHqSGMMyVqK+PgYYdZXyD7YpAdLk3MbNuNym6W4J7jZi92/tsdcvKOneFPT/77B8zFu4S/ubnMzC2ICLetHGbhCYBYcW9PtHH44LKTQV/XN99NRfzBYy7Cx8FieGrUD9G/HZyZhM6ESkIgzi4fGJJqe0FMtyCS9xakYY+fKwRiNoBHyuvN7jVObFfA9vb7cT2lt+yyK0nTyQaLs/I55TueumJ5kM/T0z5ZRnlnBkJiaVRP+aOz7zEu26NV7oIwvaKL3KlrMB3ylLG4ItCJ1kmFf6rXt3BXT3R2FOv8SybOMpotsI29ESSLGwkEo1xIOYryxmxD5GjoswTG5YtNCnU29ZYwN2Tqz4eb4bKCc/6Cv+90j0ewyyceVaRvbGzGj2CevrDrQ0QBKwuGGqqW3T8OWYZpRf3bJFv2+CJLLpdlq9Rrd5wTeBgFFr8Psl3fOtzuX8hdx/cyx2Ihr5/VF9Pjz8AG5XYiLt4c7/nyfgDoBmSqTPW4Z3eeye9E6pXKkTmy6zr1AhMeZHzfoQUV7Iq+TTbOZp5O93yS9fNhHUqz6E2j/emLn0X7GjoY0nw6Qmbb6vLRPdmLlylcSJS5nM24tApT80IjscsgrXpim4eWtI8e0YZKb/r7XRP5KsPU2ePvrmf7CfoYxXSHdrWKthqutgkQ0t+Wl8fef8o+/0iyH/+T0w5prrUESL6v+kQ=","layer_level":2},{"id":"20b46ffd-42d2-46ea-ad8b-7c8881b3c4b0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机管理","description":"host-management","prompt":"为SSH主机管理功能创建详细的内容。深入解释如何在保管库中添加、编辑、删除和组织SSH主机连接。详细说明主机的基本配置项,包括主机名、IP地址、端口号、用户名等基本信息。解释主机标签和分组系统的使用方法,包括创建自定义分组、移动主机到不同分组、使用标签进行分类管理。说明主机列表的显示模式(网格视图和列表视图),排序选项(按名称、最近连接时间等)和搜索功能。提供主机复制、批量操作、导入导出等高级功能的使用指南。包含实际操作示例和最佳实践建议。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","progress_status":"completed","dependent_files":"components/VaultView.tsx,domain/host.ts,domain/models/host.ts,application/state/useVaultState.ts","gmt_create":"2026-05-28T20:06:10.067244+08:00","gmt_modified":"2026-05-28T20:34:28.614148+08:00","raw_data":"WikiEncrypted:NYk4L3+0w9kUBbFwNwG4DDMc9L1nLtRk0GPugaGimxNaZhi0/qcSAXmCtYDITz+l580TBD1MpRmula7I0icm5YRrsPsBL2Vkl72Hq1jl+kaF543zKjNZpSe9HvZA/5qK4dY2qzzktx42SYZuBj2hEmUZD5j1MbySZVf/jqtNYjhAW73vnCBjleHy6cfacB//ex9Zd31Tqjec+h1nhaJKfq980EVE/zope5UFcNSBAIOrZEQShFYOaaaaYnZYFwTEg+kVGIiIU4Hl3HcP+l44lOaojxFSIXsNO3C3ayzDg7+VnAIO23GwSJZPQnSXFJH76lPXev56tPuZIY2uW9hNx70FSgQ1zOCFk/clK+A1sHhsQx2H6xc7JUs5aywEowgI6vBP0eTiflrd7CXb1g1QYvTlQvabhFmjhwt0pn8V2dgi9RNk2l9dm8VsoAJLb+R8FbrF260E2o6QiUaccXKFicS67cQayC6iRHp/80rVxSeluNtvMRKHlWcW7alEbZrFb3UfF+I2DKW81wLKCO4GDy4B8dpTPnS7Hhvj7Ki1Leh18URFHT27wG21iljAFNGjNnKKn9Vi0P+n5GaBKDLuQ9mUuKDDU+wGCpfkNySEefZ2aBmuk60pYoVLjpFqUjsXatrWIbye/IpKnCj4eOofbv8qRk8oAl8Y4yMo1//TradMdPA2S67ewn2oBa1v+rYK8sKeP8kzDIprezayNEwUACX810dVOINgkc6ijkljp/asSDJRqIpW5VYK2KDFLvyXcN/qL30YgoapNBAjtpVP/XPJ1zBEUaAklYdYTWXLYLqbpkyjLZ1wdFtx0BcukThmsMd7YFml9IqShQkmtR3TpZqmUlo5NEnlVYis874228QyqKgiWkgOG0mB2v8mvTgeDgpw7tnWF8QQt19L8+VY0qjUCYWeZZ7R9bROSs7dgYr353lX86qAgR1oeA2/+RMZSfWSPr9iVARoJEQJQ8IyJHfGGW3A8z9PIeoVt3HQzvPm2LZ2aeHD5OaTov79MQomjOSulg716kSgqUjmCCj9WmQPGQZBIICZ0WyASe6eTHVimMaxkn3rRbdV2jfii6oBuBbcHolxuLtxSoltBq/pLBmGwgR52GZGqER+PKZoAJ8VLLbORsFWlf0XzqLvcBQ/Tzk4hFoY8jv1qCUKMnvaSgp4nHhbkt8x/2Cvg9KFzm6IGYcdr/+xaqQxWdCcHGq7Gj2uRTt7JKhb4sQ6y/S1oI7O/NbgM2Kz6vbP0OFJSMKm6TllemsSo8T6k7TyRCX1uJEm7hkGye3lPl1bohTNK4qKf12ErxlkFcmxrUsi2dc1+XLHZ7nPrDbpT/ttLxTB","layer_level":2},{"id":"5025fc02-78cc-4128-a1af-0999e00e0ef0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话状态Hook","description":"session-state-hooks","prompt":"创建会话状态Hook的详细API文档。详细记录useSessionState、useTerminalBackend、useTrayPanelBackend等会话管理相关Hook的使用方法。说明会话生命周期管理、活动状态跟踪、会话工厂模式和退出意图处理机制。文档化会话状态的数据结构、初始化流程和状态转换规则。包含终端会话创建、销毁和恢复的具体实现。提供会话状态持久化、并发控制和错误处理的API说明。记录会话相关的事件处理、副作用管理和性能优化策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","progress_status":"completed","dependent_files":"application/state/useSessionState.ts,application/state/sessionActivity.ts,application/state/sessionActivityStore.ts,application/state/sessionFactories.ts,application/state/resolveTerminalSessionExitIntent.test.ts,application/state/resolveTerminalSessionExitIntent.ts","gmt_create":"2026-05-28T20:06:17.569205+08:00","gmt_modified":"2026-05-28T20:33:55.935482+08:00","raw_data":"WikiEncrypted:0Uk4p/ZIoJw1paXZ+Fb51lXVcYkHnmv36HEBQaMOzDXtVPe7XF4vddWBGBcCxaNmSGUa+VsumEEA/8OOlDVIWFPnPxy4wLiMytnZ8zIk0msIdrAPLZmTg/QNq5qWp736NaiX5vzniLXWgV5C/0R8kueVQPGpD5hQXpFsoTyP5ZLWeQJpotCH5g2g228wOP1yM6akKqdmeJmZkGeBBdH3VpXY0aM8q9bG0tQ+2V6xlLvWrveOH9J02hHfaU0tW8f9DvGEvJxnGsx1+DkUMoyL4W8jdtvLBxy1TStIO9GU39rhSaFXhEGUbCXNSt2g5glmPHI0YSgw38vPlGio4VWozx7Z5jBS5IDHZ6CyxAwdJIAzpSQizeB4z/0fhIEMF/ChmPz47lB5YaTUVw0Fl7E89MrU7TeMqAjLxPC6IoZxCY0YivfTSg6GEyonlXsB3Bk0pyD3dD7LRgnho76BdXN0cFdDj6NWWcms0aiih3+IIkDqYmpk2JWrn1m+mmTt+/pP1fYbkj98ZPffKpUok89nZa1LEar2SFB+J3fOCsDkVdj9eY42KEgReoezzix0dMqsPHgaUiypOSYTchxO7k5jLzGinlTuqp1feEUzbTJ9pcUIaL2f7LUbTy4elgS5VT56BzG/dSPFOY89F298o23edHnQ6H9C4kkI4KoVO/4WNkbmc5TmI94KN8jOhPsy+SX4X4IGU91xZ/bpp+dlXBRN9i6vMy4tlQY5rJB64RxrNHPD7z31FjF5XLkR/iIl8/RpJD83+sepZ11+LVdAIu1+gaLciBdweWIZZ9i0k2RJC/7d5/GIARVZhsI5RmkaB0p8G4gQsCmb5VIPdnA4jzJVW62MMqH4RrqPiUkZVHaAV5Ld+gxx9p4d1XjntCI1fnRqX+BmP2pgosG4+ZszDgRPClZDL8kqits9hOxmYxUgnu6jmaOxCV5eo4AMqkhuGtGMBxD5ycc7VQNG2yeGzEuGDZ37aOrBXRiWR33ApuKPo6EhPyL3m/iIGU4cz+eKNgHB/lHhetEzjlT5vRKu8JD9ZZwLxe3BuaftKxY448g9bAIwZCtnk16Sedy8Tgh+RchY8FLtynDlqcNwi1QsQW0SsRwNsJbvJ/zqMlY3xUscsVTD2b3/B79Yt5pWBr1ut4m8b5qztUcrlRmphUJH+hup5yHkahUw8VWzGDDyNmnAmuRnLw8dqeMPoTKd4ceGvezWrmxxfEQVj2SyBwTN6Mxz8Ecj8GaNey6m+u7usK6/MsKu+Ry8BOu18BOR32UagdutgX9mbC9J5j67/VBw/PCgj46MROxSXCleG560ZvI1giP4p/rTyiATBL3YL224vPh4MPeNYK1iLb8I84LrL41lhXBX33GwCEGetVN0FQcEMKTew/beyy8y8L5DTttfhCwgnd6fgH/wdlx3ZpIOA8FZpQ==","layer_level":2},{"id":"d85c536d-3df2-4f81-9a4a-b66cbead93f7","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主机组织与分组","description":"host-organization","prompt":"为主机组织与分组功能创建详细的技术文档。深入解释分组系统的架构设计,包括自定义分组的创建、删除和修改操作。详细说明组配置管理,包括分组属性设置、继承规则、权限控制等。介绍主机树形视图的实现原理,包括节点展开折叠、拖拽重排、批量操作等功能。解释分组与主机的关联关系,包括一对一、一对多、多对多等不同场景。提供分组最佳实践指南,包括命名规范、层级设计、性能优化等建议。包含具体的代码示例和配置参数说明。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","progress_status":"completed","dependent_files":"domain/groupConfig.ts,components/GroupDetailsPanel.tsx,components/HostTreeView.tsx,domain/models/host.ts","gmt_create":"2026-05-28T20:06:30.343543+08:00","gmt_modified":"2026-05-28T20:36:40.389635+08:00","raw_data":"WikiEncrypted:Jb5xnTgrYYo4d4kTKe7rnPMJpFHAeFk4krCeYNr1oc4QF/Wp5SN/UEgOES7JJhHN50jBSdp4lNPRkd5EacXpAAI7RbcZvhM9cagRGh+F5Zfm40LIgMdGsBnD+af7qZirRSCrrl14fQrpajFFy96pzU5laxHIL71ZlDt/fWfLpUbPMKHZC4TCd4tg2Dz6tajnwJTZm5qK84sNUGXSzZEpOu9+ICawlXlZeJOEGQzTisO/x353VnmHELPgi10mMo029EvxeKG3+r06f6Po6zm+rsJBd8fDumd/+47DSqs6xiEx7OVnY47SAVEKBMCuNMk0EfeVOQ0vKQDa3/boqAX4Fn8ST81n78xL1jhO+9e1QF1WVzw5OJRpFmaoAxZorKjOEVbVyKSXAHYQ9X4tAb4Rk8GExLGyb0uGaQYFPTg9JKdcLIO9nJa+CMCBAL6q2z+alRNe06TMMNP4E2MRyYc4Qd9MDVweUPXgUG861sxLqT3lWoSf6MEFkVT67k1ber02L+9Yfcww6my+fir53Y/PlYp17Rv77RaUR4fUr1qfqyQmHj6NAZZGYnnljP/KyV2mQ/i08rljgoSvkGekM+9MwiiwN/vcJWvVSkDv37q0yRQ0K6OUNOpJvrC3H7AsMNfNkflqXEKGdadQM+x2S/+f9aT0LDsU9RD69UYuzeIycOTzjutsLIXsMWe7XHrimWpy+IPxANoLZ3vcV9gwN69MVoN+lkNQDUXxBp8vkqN5b/7Wor0L83B5rAMzlEP9OSHdn5+qRIEsozOsNTonCCP2u7DgYosCa6msiMwU4mG3vqs0nEJK6X+K/6NJxwHbPDFFFwLMnZRb+JFB++mGqcBRnx9HiGqSZYmbGjG3WB8q9M2dQdOfxYKnF4KSoBhSqGrW1h+Kr2sMnB8VrLAwMDbzuhUA1aVHTfIsQdkN1/0HtwoNS/KL8JrKgApOLzIKv/HxZB/lLgI9hIXGJfWNzmDsbNLMZFk2NkEzhO9epGTrLlSOCwgMIkwQJpQfGtdGqAGDp/RnLQYHgqBC2nrIClJz+VHcTYSVkL6ox/XDIGJxphPYNSbeZnkiPhaZFXY9ozU/ccPnIq3LjnqQOWhpukxyaB7Iry3W611DymdeytpFjPv5YB/IDMjcL2w1A5F+1CjgqU29Gfs+K0/wVVNkW3V8wks3pGoWdkXm3oCBTOm1R1je8frBgz28bASfD2dGscS+NxZa/AMlhydy5D0wqmwAuccgjl7bKTHEJePKVqb4sB2YmCiZKfvGxmxEheHQxiZd","layer_level":2},{"id":"201aeb54-f4d8-4e97-b976-71048aa09370","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端视图操作","description":"terminal-view-operations","prompt":"为终端视图操作功能创建详细的技术文档。深入解释终端组件的核心架构,包括XTerm实例管理、会话生命周期控制、容器布局适配等关键机制。详细说明终端工具栏的功能按钮,包括复制粘贴、清屏、全屏模式、会话分割等操作的具体实现。解释终端组合栏的使用方法,包括命令输入、会话广播、快捷操作等功能。提供终端视图的响应式布局处理,包括窗口大小变化时的自动适配、高DPI显示优化等技术细节。包含实际代码示例展示如何正确初始化和配置终端组件,以及常见问题的解决方案。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","progress_status":"completed","dependent_files":"components/Terminal.tsx,components/terminal/TerminalView.tsx,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalComposeBar.tsx","gmt_create":"2026-05-28T20:06:31.734144+08:00","gmt_modified":"2026-05-28T20:36:26.943851+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjLp9LTMnrFmjG7ltUGaBNclARnGI8E5G/QeKEy/6G9/almJ7f6WAx5L6VT9PnE/l0yciCVdGY5zk6b8bfLCsOq+hpnrDvoK6GI6nxPfwsDfxGzz2FIne8ueafwnm2tTrHznmI5tKIEvKPzu7wl8CofEUmDrT+f/TOYkIfP6bCiCDik2XG+fBFbNGfL02tk2eb6XH/Dx7fCtdKXMEVRXDDUd79PhY0xuj/qMaU/gBgW6WnrBZx8AijU5iRVvDPeB7ieU8Nn5sezkAel20pVHvApT96PbdqJCxBKRy2OpXqFmeXV9UmrHTpdYeZociZWKkpWHgC8NcxqLlMFkUU0Mf7FeqGfKkcevbYhttjgasLUwfM+WgOA6vWdRG4qaP5Qv1HXCa1F2cgvZREycQAcAb2+nlfmnA3BAXpccRxuRihJZxyUemIj91A9X38J0dTchPFf5QiGYktgaXdaJM9LK5uiYpQlu6Pv+cvpRd1X5RUVCvZZfxtngC25Ww+LPNQY3OsYvBwFz8XTFmkO2p0mZB/zEp9BmeS3LvMWVfTdcU0uu2ULNDotihLhYeAgFTL5DOA0HHOjYCtKEm3qBogkuTe1gg0iiMSB5FAxvirLgXMQL7kwNRl3kZod/Hlca6lDYx6X93k9TNJ74acPhyO3KZr1Th6OIh6M9rn5n0snyAui1O6/ixLuFoLboF6/QAxOoB57Q3zc/Mnv5sQC6E/9HvbZ+2VoAkNqelaoCE58tCW5oaoAORA0qt3RqMzqMNfzGDD2t8zbqGLlOzWHCPOMY/hoptxr79drDXB0ByjqEkKC9ahf5Fk8bTtF6j6NeMxt1lvlg7Mx0wo4rIgE+6SWuqkWeb4KD+J6+ONQ2DYJ0+zMj9ygko4pjSpTIoccHrnZK+J3eFr2KUpE27balqyZ0BGSpoKjudlHSto9qkL0HUeKGEaOVYG3bSPN2kvKbd4ORj8cVimpFzOHUwR4fXSDzf4eFDz/Qo0EmfLeEvBK/mIdDm43Ztf0rriH/Omab8Bzl7bblcrjn6ee6WCnMtUq4K+YZLX3Hdq7M3hLCSm/LpRVbISQtYaCp2ZZbnmX4+im+2h/GvMI7XyeHb3ctUpAmu5J8yNDeh0j4TGXHtL5g8Zrevi09GTUebQ+ByF2jhwcpQ6ZV0LC3+cRs5gOYBgTYC9/OX8Xiz9A00wWT9t7Gm+NeXQ5gA7X9/DxM+o6lo2Vm8HN1F6gu2gEeroof0O82lrwQ+NCOKMFBc0IZAPinjao5CvLao1CAbf5u7iirC8wjdI+30P62afCyfqQLJfr2pv+2LWQOfiIhW0OvIlSqO7unkSW/2PGjPnh7j4lt5RlJTzEU7nEkndVymH+8XZ+90pzY=","layer_level":2},{"id":"964d0138-2e03-4183-8eed-c1f8f31b16df","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件浏览器界面","description":"sftp-file-browser","prompt":"为SFTP文件浏览器界面创建详细的用户指南。深入介绍双面板文件浏览器的布局和功能,包括左侧本地文件系统面板和右侧远程主机面板的使用方法。详细说明文件列表视图和树形视图两种显示模式的区别和切换方法。解释面包屑导航的作用和使用技巧,包括路径快速跳转和层级浏览。介绍文件行组件的交互功能,包括文件选择、右键菜单、双击行为等。说明标签页管理功能,包括多标签页操作、标签页拖拽移动、标签页关闭等。提供文件浏览的最佳实践和效率提升技巧。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","progress_status":"completed","dependent_files":"components/sftp/SftpPaneView.tsx,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpFileRow.tsx,components/sftp/SftpBreadcrumb.tsx,components/sftp/SftpPaneTreeView.tsx,components/sftp/SftpPaneTreeNode.tsx","gmt_create":"2026-05-28T20:06:36.995566+08:00","gmt_modified":"2026-05-28T20:37:04.158943+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnpujfNhNNsWpxmBb+4iGgasNHez/Rje8TH7IVt6/KF9cyJFjaKbd4FkHg6HkKWfrLwmN2CqPACkzO4P8OO6oGK8MPLVWzN2VqNcXIv844iYIEElHyw2NvRj5CZ1gnLuvUffeaslHO3nmdYTRn1Nuhi1ujECtinatXpsa/ZJJGfnflxtYOM1r8vqTwT27DIkTTII52nLTm1+eKFM8YwwoXhTPjzuHJ0zx/lZpJlg2tjJuJH5w/OHEoI+NREnl2zB3JXmbexrUxyuzITM99pjK257I1nniPAKj8HDoEhNrRzcITnq0tZvJ3mcdUWbHgkVicXDkadpF+hqyuvqrBnNQAo0gGWiyRojC6LaNHq+hiZVC1ELBfr2WJKCwdlR8/gms77YhQDW4gMlwl5L1HrMC0IBC7tVMoIOgwYcB3NVqKfyfaQlB0laAzKbjeltDq1puDHut7wyp3ry4WW4ehdeaB6QP2YIbGcgflPglmm1+cNXS93PlHSeYO1Wqh6oyvP4BOJx7/Aa0eqS+MbDU8ZCCvBXjh7cGn0/0dTNLlMEbJYs6AhAra12W1Z96oQ+OE6tksJpjA16pK7LUrOq7JKv5h3ieKpSm6C/oQ7Fm8bnmXdugOvy+pcah4POp9BdOkA63F+nkRrupbs95DULWaDdvtaqnk/1EQ4a187Az9J33cckwfFbiBR6RKg01RVxbQpXDiK/eiLJCAtf08xg/ju2lipfQs1xcnsnohGa6SM53KZELL9EacO/GlSS+zuOrAmmzByguAzvPUSNg2rgIDxofcdA+z2BC8asS5Z8ovye6YPvY/iBh5gUN449nVUvm1TLGQXr28B0xO6ozCf9Cc9NXsYr98sI1H1l+A9h1r5bo/mS9K+jYrmhCUb9x2bElyyfBunuUi0xsDeroe2rse/mJEEwqFjC7yM6RJhTPogmZjYCL1zRyMdlOeBwYNqHiPa3ZX8ErtexjmDW8nu+n2Yh9ON+hIN3Z8KqAvznGiCx4ef1rOTYS7V94oECIHHW1U81WjFDF/IsJAjQUySc90qThy2ebhTLR/r4YvNyINTnxhMdiILZTW74SeC0bjjb+f09J96cM+fZZRXxpJP3xdaTohVV5p/VEyjq5L9uLiPRp3dDU1ef/98NXyOaouw+ymhi9roqn73JVydRhbAUnPA9MFQkWxUGc5Zz6lohbb35LqL7IZBUTjwi+w5wf4V3I9VKbyZ+Go8Sj/znQwvYSUafyRXp+gEo5xHMIW3tiGKQwr9IKEDcxiC0aUL/rbC0G4VxHuQ1PiYFQsK3b2D6USfLpkZrhRRG0kkpklXBfZpqWEwBDJATUAB7PLzw57wDyenZ6WgyGeNx4bqlMi8hysUorzEUiRfpOcuEkgIb1eO+kIG1jaDaF2QgfBRP/1Kexc7levZoJ4F1Y0ZnhB4WJTyS/GOQN9kRCX0cbvwxqAN0l0VDb3/pQd06NJ31tZWijquIKsHtEjGAvg24/ehGDsmdj8wGHHcJa5a3EBb/modmUFVBZEi7Eub4mCyNxzxTILF+ZdQ==","layer_level":2},{"id":"b8f706d6-4db2-446f-9991-e7c85519a828","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI聊天界面","description":"ai-chat-interface","prompt":"为AI聊天界面功能创建详细的技术文档。深入介绍聊天面板的整体架构,包括消息列表显示、输入区域、发送控制等功能模块。详细说明消息渲染机制,包括文本消息、代码块、工具调用结果等不同类型内容的展示方式。解释实时流式响应的实现原理,包括数据流处理、进度指示、中断控制等技术细节。介绍聊天输入组件的功能特性,包括文本输入、文件附件、快捷键支持、自动补全等。说明思考状态的可视化表示,包括ThinkingBlock组件的工作原理和用户体验优化。提供界面交互的最佳实践,包括滚动行为、焦点管理、响应式设计等技术要点。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","progress_status":"completed","dependent_files":"components/AIChatSidePanel.tsx,components/ai/AgentIconBadge.tsx,infrastructure/ai/types.ts,components/AIChatPanelContent.tsx,components/ai/ChatMessageList.tsx,components/ai/ChatInput.tsx,components/ai/ThinkingBlock.tsx","gmt_create":"2026-05-28T20:06:51.153462+08:00","gmt_modified":"2026-06-01T18:15:51.959346+08:00","raw_data":"WikiEncrypted:DuyAfD1NuNl6uQpeUxV+Z3/TX4lDLKg0b1zR4RFQvguMC3clziF0M0s6qla7T7nArI5R6fZ53T0/ciiigXdmfQ4yNKJSlsWNB0VGff29jubGDBVOukJf3KEe7pEP/HO5cs7rZnjeVRH5wA+2x3iJ0tt3HayzIlIPXmcVZohaCs26maP67u9S5LKyHYFzhy6tsjyLJ7QNiJBw0OpvhTqeAEbw9wUdcgj3hf7i0WwE+ndeSKFrAb7y36Vy1Ir2qzzRnvZUT1ia6jmeteMvUFvryDxxSUN0/Zz0XIrdrVwX4DJvfwQO37c9flKPEfZUchKFFvDLPwlPWurezMDVL+2DIDwasWX4mBYIusQ5sTntaFDWcuKy5/b4SjyrKE4v4EGOWabrcbrz15RDd/OqR9DPdFx8IR/CkWGpYreaDToIHKVASFaccDsAdOxk6o1rpEazLxrmN8CH8iWfWgWj3c6EL6yqXNTUpMGXX43R5L9jS9FuCiUy0cVsc9EWDXM1ws+uQbp+2Mfl3HWQHj40L1O32bE2rLRql8o81Gyl1Zgicj/F3lsSWTjCk0CkbtF7SO5zPgHf7wAjmv7dEZWrX5hP1rjlU96RJNIh04nwFSln8e8l/BQof7B7N7Fc7ygnYEGb8CHKmBt7Gol2ZRGzii7sCPVrUhj31+hKJRackDgzf4R30sVfPJB6izn30qZijvH2RKdTSIGnB6vb2tviFxOhQJPiKr9PZ3KZ9AAqHgjWxrzQ6NqAaWE1TpeW3gyh6vhX4gqF1wdyqixPGBu2ba3Hewht8FHH7IASSUA/l8s1djxrwFkQZYS3hwudZWjMFTtzFC4uspR5rfXX1tG+YEL7a8E+J/DHgB9QTcKOMr7YPns04Bff0Sa2amfVzL4KkgA+LKMfy0YIY+PsTmCILjFJRIFZgRkOs76cHNUrmD6XD9NrE31QfCrOZ+fafWDojRq6BYGxNllXUVcL7hFDysVkb1+/D38YoF6TbyQGG8SoxUxzBSKWVPt7Y7dHOL6m2iTVqYpUbTV8FosGL4wMLENWZViAZDR9cOJscv6fyVMwEwaist4ODjvROga1QQRJU6CrM9ejWKSwE24+Nh+O3D7ZtnQeB58+WgJWrVnpLZwtd3XCTLsltXFvjIs8DR4a09n0QMJqpOqNSskH5bFTNW64RdMuCS0vEwNu701gEMYLyEecUdL34kCZ8lzLUySUoQJ2N76nh/hb0FNkFDiN/4Eyt6pvVO3fx976mCoaSZoWvgIIsY2aKUbNbEHnD/6aL4sTtI6vJ8/17Bv8CwfEPGeZtNmGOQqlbYPsTMAsPYSSwPFxBpWR7DWu7Z68j4eZ3V3pSEBwy2krRKEbfrHxKjqSELyFOKuAq5QcXgCmjS2lCOlIimWh/vJOZwe2XXuNhswfQgHDJZVew2dFRyfvyeX+p4zfptbblmtsvU5cgjFk1TG/GDPwycRyVE6nbF1Nm2OUC6ZbHFYjJRtDYfjsaxD3I95J9heDc2Vt602ioUsFY2TKGKpg4PXCCI415ZYAIyMxWaP22Ec/oyZAdZ+BT4K2/y6asAlSUVMhyXpJYdPDDOU=","layer_level":2},{"id":"56d1bb3b-a501-4cb5-bb1e-9d7e4d0e8bf5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"整体架构设计","description":"overall-design","prompt":"为Netcatty创建整体架构设计文档。详细解释MVVM架构模式在项目中的具体实现,包括Model层的数据模型(domain/models)、View层的React组件(components)、ViewModel层的状态管理(application/state)。描述前端应用的组织结构,包括组件层次、状态管理策略、路由设计。解释Electron应用的双进程架构,包括主进程(electron/main.cjs)和渲染进程(App.tsx)的职责分工。提供系统架构图,展示各层之间的依赖关系和数据流向。解释模块化设计的优势,包括代码复用、测试便利性、维护性等。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,application/app/AppHandlers.ts","gmt_create":"2026-05-28T20:06:56.177379+08:00","gmt_modified":"2026-05-28T20:39:07.489868+08:00","raw_data":"WikiEncrypted:KLd6hqS3YDnCCH772QA0H2M72vhloXaaGFeQu7n99ah0T38iiccnL5WfkWKT9WeReE9pcEGvkPK500VTVodUmfocYfYaU4+c0RSyEAJKTT0yLs5qanGqVhEPp1qxVu7SLMnnZa60cugtc409qW4Xdsn+LU+6hFS7tQsuUX+8iyZ854GBj/VQA9qDRVlygza1iBpRMEPNAicJX1QxvQl9sPHFS3hP7gPCHTNRVBWZeRkcTRJJDi2Dx0OQnA1rxmdT99HTMYwKQi5bjkt3jCpytOONvphw4nhaDv9XaP5cQZ9b56hx7xqscQOhxVrAtLTRF3TZJeKMU4bQ2QlzUPcNT06JgVx4AZ4oxGL+AJsC4osMdMOGtVudv1SAvzdZam5HmeYiEek3VmXfGhhqQOB0G3i8Og2bDwVIZyAoAYvfsEfzCyUONAqSwmjTF8aUAxHpBbDcGhRvoesnSXQfifUuqFqS2v9NI25Rj1s0yp7zoZQqker9iu11RHfkd3B9uPQ8j/EI6hWg7/3nT88oljCkEFuokGyZgiZwXVhzcdoqXhREUKnwq5lKljbYIEFYRU078X3Por539art42ryghq3VfZ31DU2MWfqr66xqsNmZW7mODLvpPE3eBR6P/DQb+5YeoQRuqHRJ1Zxm/3mNM4svt24tiV1+CulfbSpcXPdGH/cXRqqLG2abJPK0Q/REuJcBG40LiP2C9QFWAA934dMPub8Wo8s+NKeUWbPJ1eTf2KAgOjW1m+3BNXeHpsRtSlqEGGTho6THipAgOmXv0mPlf8G/BjhA6EhU8/Y44nVPDLiFSAP/ItCLnshMJM82BriPkGcARyNbMhUU7vaVCRN/puhoBMPtcwOe0TwuoFMFvOjNPolzSLR0SSOnigTJXemOe56mTf7GHW8IDuHasJLh4Z7wjD9Sp8xQP8tlnIO2fOrj6g1E0EbuTbk5G7cFformhPuAG5CIvNDQsAKrB5YqzExx/mG1cE6jV0E8494TG3nTK6AyHAOjT3r+P/Y1I47jor9IGqEDR/yY4DxnKbwi5Zps+Fvd/VSQbHWpooAWVvSMet8heGJfyj0exUhdLUhpgPe1TWkoblWzGA3Ur/D6trUH0Qk4wJ781Qgdj0Wx+LZPIy4eOG1D+KxJjTHUSLIkz1VIG1jsIglMmtt9IMYdWcrq4xpZWbtSKvol2J/AaGnn8RqXGKBa4nAqCEwHBy/Sd5pKwj5ZWcWhrHhqTW2n6lyOrNtGIsKQoQY3b7B7PoOqAvPpPehcSgL+DNarfNx5llHHbV/uRRk2irTH2Hi9nF1cv/KsxCG1e8s1vOqIrmYvuzWBAveM7Saswa/eqQw","layer_level":2},{"id":"28e1e3bb-505c-44f8-a1b1-87c5d1bbd609","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"状态管理","description":"state-management","prompt":"为Netcatty的状态管理系统创建详细的技术文档。深入解释React Hooks在状态管理中的应用,包括useSessionState、useVaultState、useSettingsState等自定义Hook的设计模式和实现技巧。详细说明集中式状态管理与局部状态管理的结合策略,包括状态更新的触发机制、状态持久化方案、状态同步策略。解释workspacesRef引用的作用和竞态条件的处理方式。提供状态流转图,展示会话创建、工作区管理、标签页切换的完整状态变化过程。包含状态调试技巧和性能优化建议,特别是针对并发调度和StrictMode的处理策略。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","progress_status":"completed","dependent_files":"application/state/useSessionState.ts,application/state/useVaultState.ts,application/state/useSettingsState.ts,application/state/activeTabStore.ts,application/state/editorTabStore.ts,application/state/logViewState.ts","gmt_create":"2026-05-28T20:07:11.126528+08:00","gmt_modified":"2026-05-28T20:39:36.333162+08:00","raw_data":"WikiEncrypted:29DQGcj0Xkj5ar8OataJBBxhchc25ft/oSjDSUQ9oFMuTtSh8oXnlbImzVMruuEkrfNOa4VI6r5QPuUjp3qOo+6xiTEi9NGTuXBtPr9vn1cr8as5EjRdhCw2hoR0+V/NuVlPraNxpD1FsezBQSsF5zrUYB5k6m2qC7KPCIKShOlSqEvib/IVaMYhUmCG3oae7gCV8z7ImDfiXw6ep6ntn+X5yAysRitlXozeaa2RmSDfYiQFlPckSDcahj9c3QH80ONZ15O4yTHh/scx9ZLpgBZT5Mb5M7UFbrQI0JHNIdHKhDs1f3KSDnRXWW6b1zsbkRD4lq4pQJ0HTm5932ynXer3fFcVfi+VW2spd64fzyPmOif35Oau1zub11eoyyckSfgcu+inaOGBIz4D1nSpU49uTyrdU4K0oqqap6Tn5q6jr8Ncpfo5URLbtnrggCYyfdKuW8JcKcT42cMZbYuYu4CpGxrUsMZsXBRL8M2//UlEbILvbiqWo6O0lxGjGKEmyN4uyP/0n2C0kUQ5FBntvAleJL1H1Y+XsGqqLWpc4qm3dxHpOL+neMrHVHDssWTVPFgKH9jUxfyiElyngrK5GGATWyLiAMOHJEL03Ih1MUt0aMHubXzrmTMnLOnILvS2zXcztlDO9EE3RrZ4UrisvZaMYnlCC/zWt/FI1a+dPxlfftUAHv8EpLrVxY05WhZ1UwbkdApA0wT1CCeeGkJJcj9BYhyyKBKrbON5KMwC41f22UVBUHGdosOdVLeMdtJ6sBzgzP8VeKazxvCyb+MJcQN9G7rrebEW87tX0vnPVwoaWTMwKSg48yd/xdgvG5qivoSQwTa/a6Y5mqbhDxf06YlQFOZPHiOfPFwXUYT/P+XDkWN50t391Bcx0VcgXV47KK0ka3dAbflT81I+lfYQVflhUnnx7RNQHTt3wZIzIvteHRstLkN1027jlEKsvO5GOkUi1CY6kZJ1fCuuAJBiyCuszn6qkQwEK+uGyb2bE1ghL+kI1a4VXR3Ku8hswAS1MiQUUpI9PIX6XQF0BwWJ/qQ+BdtzkoflHmLUdeqJCiCq7+ZNfbh/YpBb3jD7tKtM8R1yIaeJAvSlu/QJcC3ADMSuQl0HhO5FCbYXCv5smlcagox3jljXTipFipUKHhyJ86mUUPDSMcwRdAFK47uawXXH7EbeVYiDijyC5ZQWLqjGXJi39+WAUOKWs1Vdr+pnCAvgHJLIS9P9/GgHiyQDMLthRbjMc6Yqg7XtobuveoCcEY41eTsqOeJb03dOH2Kd2e+oI93xs/ZN6OwUWpYfyXQgW+RVQOxAbK6NIQLEtiqXdqvQDMWrbxYqMtJx6AAhHw4nuqAb7mfwt9MiovXWQB+ecWYSiILiBUHQHORT28BQxS90vOhO36rrZwp/qS38fPFUh7xtEXBRJ+cCV2BN1gDgTGRgqkqRzxUP1VJInek+f91zdBsd9r5/ofhYcLpTpmKHbvyJv9d95XaSeMot4Q==","layer_level":2},{"id":"c690e6a6-c8b9-40d6-87eb-75ee01a32f99","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"应用程序设置","description":"application-settings","prompt":"为应用程序设置功能创建详细的用户指南。深入介绍应用程序级别的配置选项,包括自动更新设置、窗口控制、启动行为等。详细说明更新检查机制,包括更新频率设置、更新通道选择、手动检查更新等功能。解释应用程序启动时的行为配置,如最小化到托盘、窗口热键、全局快捷键等。提供系统集成相关的设置说明,包括开机自启动、系统通知、崩溃报告等。包含设置重置和恢复出厂设置的操作指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","progress_status":"completed","dependent_files":"components/SettingsApplicationTab.tsx,application/state/systemSettingsEffects.ts,application/state/useUpdateCheck.ts","gmt_create":"2026-05-28T20:07:11.893498+08:00","gmt_modified":"2026-05-28T20:41:13.930806+08:00","raw_data":"WikiEncrypted:6Fw6zeKwEGma9eKCQx5PdwXaKWrqC1fOMK0n353cEU/fctJWa8H0UAw33/eGDzNOKM8JsoFyNcxKLa9zagRVcSBtpxDNv1bwZ+dAkt3rEZMWMxpSFAYQB+zbfAwIgLeVKGBPpqu33SJ1dkuMYHknvs40FCGmwM/bMvJnE7Zb0GTwwm8M+BTAsqDcOE0HOpXa/6XkXDbW/uIww67GyZLdfu+d9nJR5A+A7c2Q1l/1yE0vzOxVx/IFMk362TWbUZK7vkkB8qK0CYOuJhB4bK2FwlY4kcHGNCvw8VQJkbdsGCky15YZiO728tirOwfkOVem31fRDd7bJ52F5iiJpBdV3LJF/B0txBgpNIh0jdwG3I6JG/GNNWkJDYkC+djEu+N38AvCEPeKsM0spYZlOMtAQ+RjgGs3h7ZX2fnWlqNvlcv2baoldCMucBfCHily/xOdKSROcEFZFnD01wBHGyWYtLrpOoKa9jrl8PdMR11HXKcGZIsjiZ5uteBnuQYwBt8JdKBKdWnTgaBy9rVrpMGp0yrdpBLBdbak9PdkGrsIQV1+p7cLs0xM2HLoH7EcZhV236CuC5fSptJ0G/sfPkL+TfupjLJiKzu6O3AjENxCaMo4Um7sc/Hpr3KHInbT02TpZlshVZNnLNsWfzGBXhtAe2D4kR03TdqZa3XOLl6RH4wauPKpoOdf+OKQusihCcNXQdFBYShgvuuaJN8RlWBjx/NkRilbTUJDtsT2EGj2MzzkbhzLADrUx/vy0d60br6Y2dN4exgTnWCk7WDCtqbexNDhK5ZH1+5w8VyVBi97GjKaxS19ToIVriiu9AwyRkcHcx1dQ6n6C9VpZvUSSH3vECV8PKm7KweWOgidcMgsnstAFLRiBM7KS1tP2hyhslwkgSZ7+cjIRgT/2ukbcrt5XcUTHJ1+bFPLpAuL6Bodbtx4BW6N4zJEswwf+P2swjeBpwEAnWPF0giZ8zfbHJUiImM7G8E75ZY73gu6YWMHaxV51+PHBSCNGCIwXtntzp2mVUbGdn84sUoBlX6319Y4gp+Kl487LCT635IFBABq2hnhReRPR8U97ojXHEy32Rlzpw3md3FV9UHO8Uv6Z+3YEjd7/RDSdr91kHvc/L3bli3pVua/LEm99i/m2PrpF5RCSaqyyEdmpXOuO4L/9Jbym2ey31ME4ypkQns8QJxMv1ALua3qc9qVu51Fl01a0Mw+q7CzNY94llYW7HRLQSzoSAnjEwOoiDhwvri6ndC4we4=","layer_level":2},{"id":"49eed28b-d88a-412b-b7a4-ad89b94535e5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主进程架构","description":"main-process","prompt":"详细解释Electron主进程的架构设计和实现。分析主进程的职责范围,包括窗口管理、菜单系统、系统托盘、自动更新等功能。解释主进程与渲染进程的通信机制,包括IPC消息处理和事件分发。提供主进程启动流程图,展示应用初始化的完整过程。包含错误处理和异常恢复机制的实现。详细说明GPU加速配置、协议注册、权限管理等关键功能的实现细节。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","progress_status":"completed","dependent_files":"electron/main.cjs,electron/main/registerBridges.cjs","gmt_create":"2026-05-28T20:07:13.148698+08:00","gmt_modified":"2026-05-28T20:41:42.592805+08:00","raw_data":"WikiEncrypted:N3DUkHMg+KblPET/NIpQd41HLt8bP1h/EhTUBNQ3jdGJ5W0hqQGGE0IxnPWBWc809i2qDpkmtCTwyyIcwAw44S15SCKIYRModBjyyG7DzbpFgdO8pqOHQhQ1c37gK30VrpjIkmUjdeg5ChzdaRKZoDK58pbSBVFEPx7MKGapfcJSf9Ts1q8Dq05JstO1u9YYnCq6ozj8D7nNMnYXDXRRimXSZ6l1jd1Wb22qOwekT7mxvGZCGTjYn5LBnt1VaXoZPsN7/lFFdkqgsnjc5jAbAsKk8PSlU9wwwgFQeLAOXotIcaDA0RA4Kn8k4OCwCOAvc6MBoJIzv80rJ9D4r2U/PG7m/SL5VWWPMJq0PxTjh/hizCUSU0/dRtd1SwiLvHqNs6o8cSisE2w0GqUIwETjvJtJ56pPWYl+/u30iqw5psyMoGsEVM0xV03CerysXINjiMAv9uENWDM4fVepNjxpGx8Q3mVLZSESrppcHFXEIOFoJYRF5J6Y4rI76OSw/qawXjYXZd/2vucqyuyURib3L5cDdFMZW5I3H3E1z1LDocggItU7d5LcBnYEFxfU0Vchtfr5tWc4wxLFAYzuLCj96yHE9doG+GIPV8chnx5lEBhCij7LPGnoh3GNhyerjkmPf8Q4kbs8mfCvDobHvLnqwemWZXFuR2xIXweJXDni6FwxTtr+9oRgpVKxyOmrHqlyqt1xECEjnsz6yWTZQuxdEpa5nCqwTUzLTsMWeAduJ15FG1KKClNRw/6oUG57dgjjVnOZoqzBkos/sWkXtMvdGJlNQYQOHy4KSBfPhW0woMRZDv8SzWL351y9EkwW0WdYWsW/jstTBhTaOoz1Od+HV1hkCyPjY/Uzr5n5ZXjVdVEbmGihGivJI3IRJrL970R1Hugb/AEG8Exll4O0/ZOQ/829ZMHqpxFN5ttD+nvl9TqAwJqhNF+uQ9xXyfdfrvJNlMn7SiKcXZtHceYV7bkSDgqUh7WhoiPkwaM2hhc6N4A8MPh89ujBZkzj6MhyKxWGrFb4yIWe4Nlm2qNLxu3aa5uOEQtJ16bwRANe5/uDfX8=","layer_level":2},{"id":"ccc96a62-baef-4616-ad83-4919e22a284c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"云同步服务","description":"cloud-sync-service","prompt":"为Netcatty的云同步服务创建详细的技术文档。深入解释CloudSyncManager的核心架构,包括安全状态机(NO_KEY → LOCKED → UNLOCKED)和同步状态机(IDLE → SYNCING → CONFLICT/ERROR)的设计原理。详细分析多云提供商适配器的实现,包括GitHub、Google Drive、OneDrive、S3、WebDAV等提供商的OAuth认证流程和API集成。解释同步策略和算法,包括增量同步、冲突检测和自动解决机制。提供同步流程图,展示数据从本地到云端的完整传输过程,包括payload构建、加密、签名验证、版本管理等关键步骤。包含同步性能优化、错误处理机制、自动重试策略和故障恢复方案。详细说明三向合并算法、锚点机制、设备标识管理和跨窗口同步功能。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","progress_status":"completed","dependent_files":"infrastructure/services/CloudSyncManager.ts,infrastructure/services/adapters/,infrastructure/services/cloudSync/,domain/sync.ts,domain/syncGuards.ts,domain/syncMerge.ts","gmt_create":"2026-05-28T20:07:29.922099+08:00","gmt_modified":"2026-05-28T20:43:17.782699+08:00","raw_data":"WikiEncrypted:42GucIVlAI9L6q+fifwcxbHuglWgD4IQde1RSN7A9sGaMev0hSB9C2OMiDI06n7i932Yf37uZ2V5IP6KvE+G32iOmaucFZdMzqvree0wWXGlhUTtVi5g5b1+RlU1sDxRoUYgPGQB7NrNmhkKNllMFKPR4i867TYTtNPcMivFrwt7RErOAZizjLKOyuTtA4SF9bP3sH1XYkXHQ5UYW0MuBHy5hqlLTVSoHELXBPnvWcqFIZnQURJtDEsT8gGLlDImtL6AHNwDBFLa9ee7qiVM7SucX6+EpJonAP6W2HGQrQm9GEq/Ikqd2QSyiVbqB0NXgSnSVYTuavsfspvYNZrR/F2a/o06Q/qClFBKvKjwIuP+UFrYfF2KXTZLYSjRDeDiS4pij/5JKU2I6pGbZ7T0dFK0Is12ljLOiond4ei51NuXkd5sHy2jFAVQrgLEAu1PCj1RQkq0UTRZIhlN1iCD4k+5DIyxgl5039ArQqckB8dQPvvzUAKSya9ir+PCcqIR6JnrlaKGUjZxD0GaAR3jIIOvhogj/N6F73JtksiVpv7x4Y1EaJH/2WDqSrZ0CN8vaqcuOx1g9vVYg0WeFc9yZTBOB+MflfJsltfMYXk5rYYi5uxpLx2D3yBLLWaBcZQfnr7z1kuZeH2sjEhFNpKRLnvGU5Lt+6tTJ7Ub6QIDBTXKGLZJFAJllz+WXxAt6V08RzuuoYiSE9AUtMqczBJHcKLI8e3ThXr9r2CEk1qvv6Fn4r0FPCqYAVAboZNECr6ctwyiNTBkafcl+uhKSqzXZxLnS67VKqfzSC2bd4gRkxLmy05z+uWXI4IrUuXAk1H+hnOp/2kHwU09KBF/tJ2jx0k2WN2PlMtJ8aI61dJG8law/UPDxFLbLwfnpN4i3IXnehkADP5bohwcqewEkzEswTulOqJmDxLSVesGx86wJwfz0RZnRZ52P8yFcH/Pmy+mhV43nxd4kYEuowcsQ1eu6W9CPyCwNYO/yw6C7Ki7LzsxevgG3eABLXr9bNB0klUasg/Q77lbEjXopkydd/uiIydWXVTjBPBnrwOO3fS9TaUGNvkcOzbkM6cPiIU62jRCnfPh5zX5ELziE4s1fYqE5HNNmXtGjowzeaGNA/9awtfQWkcUNZp+NXThSE/eUieqFXSCpqDNkhyQCiXQjD1qdcJBu+DKyRxyu9swOn7AL8RUA73JXzy472SGuEdVdG2POjveZWwtsEJIpxJ1zOPVOeH24mrnijqiapSg7QmmQbn2hsiLmeeCokLs0R0k5PuTqdfDQIGamtbKfWeN/UMeqnVYaIBN7vd3TM973XV1FJcLgUJ5ZtQ4d9a4++ApCjY/0k+CrdSXnnVb+0p+29bAnO7GY+wtnKnc6RmpVZNyW0AX2cUSZekENkOKA4CteCQHP9iyFHe5dRZT0P3R0Hg3ynnsueWPJRzD6LvqxFYnJEC2y80EUHj0C/qYTuLJvcSaMZ9YKeFAThbJHCxSnWofqFRL2GJtruVA6jKSWpq1mm09vbhyrwCWViJrk4IcRk4bE6mxqjvmO4KzToSTsCx1ItY/u9oND1mE92m9eSkDTiwbOdsR9wwW2ItXZ4XP4WlcL8T2pRG2/XldXt30ZHLfBKwk3F0ENT5NYGI68RtWIDAilBXFyYxOFSTwT0rgYVU3","layer_level":2},{"id":"f48f62d9-42f8-4ac9-b4fc-f58aff629b9a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快速开始","description":"getting-started","prompt":"创建Netcatty的快速开始指南。提供详细的安装步骤,包括从GitHub Releases下载预构建版本或从源码构建开发版本。说明系统要求(Node.js 18+、支持的操作系统)。提供完整的开发环境搭建流程:克隆仓库、安装依赖、启动开发服务器。包含首次运行配置指导,如创建保管库、添加主机、配置连接参数。提供基本使用教程,展示如何建立SSH连接、使用终端功能、进行文件传输。包含常见问题解决方案和故障排除提示。确保内容对初学者友好,同时提供足够的技术细节。","order":1,"progress_status":"completed","dependent_files":"README.md,package.json,vite.config.ts,electron-builder.config.cjs","gmt_create":"2026-05-28T20:04:49.696897+08:00","gmt_modified":"2026-05-28T20:09:15.861899+08:00","raw_data":"WikiEncrypted:qfgbutC7oyxR6nMxrwk1ODnNMBEQ3/sG78fQT1yXWju83LC7H/jAM8CEAvWT8huE5OClmQiIfNYNxHQ9s7RRS0qKOV1Xow/Q40Lf5w81YusS2iGllJNnbMYTNb7aHpUoPLLbcBft3atcY03mgvzcqN+qSgzX01PL3to1QaLqYvXzFNnrv+sLNMoz/Eh5RsTeJ8nItWN5fzRod6su3SOeR/BoMPeD27Avpq6x0LiMoAYuEGOcoZ2DkIeVNaM2zkHfKY80MCbcqNKfYc3gUIDUpDAAmIbpbYrgqPcIn12jqy5joMI2xg7T5vF7SZYSfcjRjHxxGLYTbp6Wlpw5GHkNEHIJwVGpyNXlebHOmX7IPQSEPEAh9v1/pwjo6DMOZSUPk/f22kQYk8AGutZ4d51ui4eFdUSxX7KL+S1U8ASpGjcwgOI/4qNTcbb0CJkdWomnZjcQTMqm0816kPEO8Y2UHKz05oGW07I6H4YpahV/oYL3aA8OGt2wu5/Mar9dBnyduGxVS90eyApwJ1RqqWJ1nujLZ/rmp3cex3zsnFrnHdb7NDxSdEcyGynxGf1ttkCqAUkylfKNKYkTpg8V4A2WHiasH/pbngmlGXZWfJY2z36I4xy/qOb2pz09GssTdVi6QP3d3nNzkGcY0+DPPapfJT6NDwa6+8sa5JGh5nH37J3BiaThcnZe8POJySL/osTOOLPqmDmleNm0YAlrArfixLl2G6KqJnFtwMdvLlM3JWr8qGdrgloE/hLedopch1pGSG5mvbz1ohf4YVdXV1qtYrfy4Rws2j25ELIfHeIOLVXqIQir/mGDgapTCusf4U1+2G3UUFBkrAjQpiZ0+eMk/HPoArE3mP+fng92u9FFHYpwsVrqIrkXipBVtios1RRq3w1mEIrFgxPzjH5aDSDI1LPQfm3lnizyH7HpSG6E7lc+dS2gDxDPIuarvpMlZ61VnPZA0nXYZyCOyaGonJ1xgJrFPgv9fR2xUhJq64SmnQqiNMTnynO+ZWoM8IeSm+0d/hntuj7MmVj4F769kCfjfeuntXsD0ZS8rLLGpLH3co06byjk+1uCYtNwkuC157JlFLkDfh/GW1HTsggoxo2ndch+XOdvCnF+RRwQqUCsTfKrQCoGZB1ufPi7Z43IEl218rXLqmvfFBWFmJfGkVY/dnEMUD1g8R7w9yRo2YLYBvU0V50tdtDpPhexDa4r080Qx1dXmIK1bdFsbrtB1WmzITw8TqZCm4rxDH/+gEMzC7c="},{"id":"386a2336-3e78-4cc2-ab49-8a27056c4185","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"组件API","description":"component-api","prompt":"创建React组件API的详细文档。详细说明所有公共React组件的属性、方法、事件处理和生命周期。对于每个组件,记录props接口定义、默认值、类型约束和验证规则。文档化组件的事件回调、状态管理和内部方法。包含组件组合模式、嵌套使用和样式定制选项。提供具体的使用示例和代码片段,展示常见用法和高级配置。记录组件的可访问性支持、响应式设计和跨浏览器兼容性。包含组件性能优化建议和调试技巧。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":1,"progress_status":"completed","dependent_files":"components/ui/,components/Terminal.tsx,components/SftpView.tsx,components/VaultView.tsx,components/AIChatPanelContent.tsx,components/SettingsPage.tsx","gmt_create":"2026-05-28T20:05:12.557275+08:00","gmt_modified":"2026-05-28T20:19:39.317166+08:00","raw_data":"WikiEncrypted:4Zqjl5aZEo1Vv5NKBpebTmQamokIAvQiI1+6JDmOqu/Bx8ChbLc0PanZPq76b1wHhydlvUe787G5ske9sp/8XUOm1cwoF4QKfDtzzMVBPTUiKf/0sl4b5TUWo9uYOQReoKpvTbyZBjgVroTNfx1Wvj8UmqW0bWuNg5+D0GlauanyQAjoREZ/D7NqcznuASgFqNL878+CNr347/2lKbwW5ZWDo2rCnb9qC48T+n4cJ9ivbOh4o9KOGBdC5LBsSQGmG+f4gSi0ac+HGytpTpFzWu/I4zjSwVvwenZ5MsIpb8OAlSh2albYdu8R22UQRhsx72tt5bLl4YUkDDvyJMrVUMzkgVDpDeWyNvACgjbeKXL55qNMSlU9eaM7PRv0ChA9l3h86Ed3MnUSH59ttJfVOyL1vOyBnmlqrCSuNo7jOZ/wHGp0unq2vayRE1OgxU8+wA97qNPQZQnXcEOuAgCQYd0B5oG3t1K0Hh5WAV0Nn9QjhmZRjgKivkzvxA189eZbA9dmVbdaawyW13IChbNc89iOk6ytSVi139bNvdHX+cft3GzFT59ZXk34jPh3+pbgZdlUkmfyv1fIRk8kgxPWgy03gSvMBv+n3kOB3XP2Ki7XjFI2Ld1eSN4bQEpMVJB40vmUlsOqdHzD31lMYJab3EdiiLbxDrLkHowkPJGC6XiCLxAHM3C+t/so/Lilxa3dqtqILTHF+0CvLIgciciXIVCOjUab7T7yEw7JWlcZfrR8Cwr42sKxVq+T3/AWmfqbn4/wxSos1UMYchNIsxUKa9y1banIgAho6lcovFRqwHdbQ8fOx58EKowaW9pRiPn+GtIwlEQpEvLApzlFvqkYACB6Tzd4G8WN5jG0o9wrGgXmNDBF3yKAlMrJW0A/uEs9hWVQIIC228M6a6qak3SLxN5k7OTAleJbgBGavXqbO3kKRFMq9FwBGLAqSL1bNYPo+9TVLt58/iuC/oCCcxd344XQLTdkoYX6YG2/XKNx3nYDXcZWDENuzTa+mg086jGwJNkSR50SK0MAZIZbp0u0owufy1AaCAabWy4NY18XOKpdEyL7llpOi3Js2+r7V3TE3pc2xLoc71dnx+lgjgt9NqFdNWwbD2C9mEqKh+D7Meig93bg0qX/t5H60SzOSqrTBsunoGYtJjKoT4vPKf1ph4AQaOg9WU5xHoA65U8PHj0E/yH+bFjx+N8HxBEx5A0j9cyVygvWQ4OOYKNqtnhERFmvF8pUNfBhh5YFDK3fqPvBQJlZEe8wfk8dEq7GNFfoKWvPLFSt46cvpEYC9rcgVnwVjtU2Arhg2puTRBUdnrDGhzELMdMSLurZ6uuIhfpm9pg6Epl3TPwcoIsCXBIqew==","layer_level":1},{"id":"5e01c9ba-995a-4393-8368-183efee045f3","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端功能","description":"terminal-features","prompt":"为终端功能模块创建全面的用户指南。详细介绍终端视图的操作界面,包括分屏布局、标签页管理、会话切换等功能。深入说明自动完成功能,包括命令历史、远程路径补全、代码片段补全等。解释终端搜索功能的使用方法,包括文本搜索、正则表达式匹配、搜索结果导航。详细介绍主题定制系统,包括内置主题、自定义主题创建、字体设置、颜色方案调整。说明终端工具栏的各种功能按钮,如复制粘贴、清屏、全屏模式等。提供终端会话管理的最佳实践,包括会话保存、恢复、共享等操作指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":1,"progress_status":"completed","dependent_files":"components/Terminal.tsx,components/terminal/TerminalView.tsx,components/terminal/runtime/createXTermRuntime.ts,infrastructure/config/terminalThemes.ts,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalSearchBar.tsx","gmt_create":"2026-05-28T20:05:22.526685+08:00","gmt_modified":"2026-05-28T20:19:53.608673+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjMzFuazrgZvxoY34w3BajXSuymcEjk/wpN2FSaxN6a40jAZP4ZtyD7vSenYGZ8uD/iJ4XvxGPyiGr4n8m0BTQS3wycbXylUtj+fgqeKuF0CWq+RbQsKEz7d6c3Q7BBN5ncxoF8pGvDGg2/4sdN2nYFYMspS02WXxzUzQHEiN/2s8zEAhcp83eiYqG1tzxfSZ+yY4WIhLRHGVk1oGFQNRTQh0SDIAHUVOKEK8yHn813TvImXaPu2YlQQ2sKLsYCeHWc95+FRyU/0TlwRgmO/1r/bBDkIANEKnzw1QpH/HfnlOkeCqN8z7XOqFzYJo2ATDM9PaaB2K/ynsOReeGfunqFD5AqTGx5G/T5EqrmyHgc8EPSX+YQF6A31qS2Qf6fwsJufrN9P7lHMJMzIDvZPIwCQsnlG6VhmCQCGvTYORr+M0mP7zULIXeUUGoWgyd677nSlYmqpvfah5bhCOKzY3OJmcqhjAnHtnxJ86ezupWy6G2l3qyFJ8MVLKYz0i6ozOBJzp8M3RW8LS06i1o8LqOyLE8q5cEbMnguX5vFXv7szIurnW0gaDNG47YpwDZUk5McX4x+7Dox/b0XP5dc5CP4B70PIDygaB4XL0OnO1kVQGDTAFyIwN4fd3kyHDEbhjqPK+UkqZW9EkAC5g1xDLkP3Kr+41CNMHKpJr6wZUBZnQxzTfFpRrfA4jcmMvJOF6rAL2d2lNLGDEHrLGCdr+LJJwU+3hC31BrTmXm+T+qsp+fT7kIHR18ualXxTJm1YEPcM6SiNOiXEf+X1391kIyJ5XQmP75gQDGxgtX/MmWODRQJHrv9dE8TEKZicVniquE108H9KIs9VebqFwaK50pEOImXmnzPWsF2pM6Yvg3PGkCeIJur6oDvbtHAWncWNIRSuvbqfl0SR+qQGKzp9/mX+TlxNadecKdXfrcOigcHp3NDf7xFMxsMaL4cCBoxrQOhwNWHP71+lHwLTFUK3dSFMQLi34BoluOa/DvBkIAjQlyFDgpO6frWX0UkUWjJZTp8VwogMWRXUtDHfnbZNGBeqmP2DQKVUhGaRyVxCEdy23ciJIuwYa/hCdDWc+Ks94g6bzJwybILiYbDIik1iSFhf+x1GZRuFQ1NEq0QoJLTh4A06vXC49EzwyC8T+q0pkiHCGVipsRakn+YL/kI74a8feLndXKSdAsj+vJJkJT3DjpT9NShcgKUB4s9sT27qKedyce5k1O4EPefDCezx7gXxKpAwzKZxIZMHmrc3BklnSPK+CLVWeK0QmfJ/IFpIvg9w6yINu/3J4dGPZLNOgnfxUs8eSnFAgqv9RI6uNqewlB+HdIj+pvA/P92iI69t/f8NB+iMFwvsTs6jdWbY0GAdBs7yz4dRhjEcXswFBb/xSyPmI66KH5QePV1i+ou4KPyfQDJk5ASXxoM1WXOw6W9wp1cVyxJYE1l3UD9+RkR/aqZFDnfy5eonR6fACaGIhCL9pjlAGjj5XZew3SOl3DHGUYelg0XSzFMGI0cGmt8/KlVLA4Eyb4JcW3YuZNblBeQ==","layer_level":1},{"id":"2315654d-d8cf-4b7c-a65f-ca077b52828f","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主题定制","description":"theme-customization","prompt":"为Netcatty创建主题定制开发指南。详细介绍主题系统的架构设计,包括终端主题、UI主题和字体系统的实现机制。解释主题配置文件的结构和参数定义,提供自定义主题的完整开发流程。说明颜色系统、字体选择和布局样式的定制方法。介绍主题的动态切换机制和持久化存储。提供主题开发的工具链和调试方法,包括实时预览和兼容性测试。解释主题与系统主题的集成方式和暗色模式支持。包含主题发布的标准和最佳实践,确保主题质量和用户体验。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":1,"progress_status":"completed","dependent_files":"infrastructure/config/terminalThemes/,components/ui/,infrastructure/config/fonts.ts,infrastructure/config/uiThemes.ts","gmt_create":"2026-05-28T20:05:26.320761+08:00","gmt_modified":"2026-05-28T20:21:26.693321+08:00","raw_data":"WikiEncrypted:MxodVyPG/Qm3b50NiN9IZsCNNUZ3nQMWcDViVmGOLpbX3nLuIisZDNo8Rj95fXNuzIOJmx362I20kPdai9x/XUQEIjC8cdpIqZAq9UgDPip14A+OZWTj+bfMYmffUD8pKQ2SJphntQ7iEg8EAZgSshScEJMN3RrwLOCLOMUndqEF0xowUlSz3I9QUfJi1/gVC4I1VYza90gtctFD1hQIXTF7jR/dEOQzbCGi6yazpTWbAew5sEwaozYhBaN1u19PdP/gLwWv57khuh9Bn3WYdAxF7HSGe5vxSRT8a10msEkeP4uAT17aZw24PF2K/spDI+Nb5rB0pU4E2xJKc1sSnbd+jE98kIHPU5ElDRHZtnqk/f35eeCdMWNmdFZqYiOZNZzn/1jWudB1++xorAJZAgvbxGFkbU6RR8g9YwMwn5O2CvHcuShye0Jc7JXubmYNWkTAZpQVreQfdMj4weCfbFbTPlPOPSvQHS9wG2yaHuTpCde/cLF9ewr0wQyfI1QYMWP4GvVNmyRrGqn+fG5WGOYDFxBQlb7JtcXHv2J7D3ih/p9Kz4wuhck625RgsyerpBRMKHdw+8eYd2Q/hH7sDk/XZdC+T24vRKgQsxLJseKb/bGUuLQcvGVTa28SoLSmxOGoJzi8ZtWTMpkSYOEVv4V0zM6FOCtbLM6OzPrEj33v+X0k8iR/Bx+D7CifQ1fKGGahPEqwM39EtRkP9u2NUkmDGIKdXIro4Je1wIFfYrhY1Z2Y/L2GXEfLNGpToKuS0FwsZv34MU0s74u2rCSbHRHqqcCBCc0ccnY3R8cmSYA9wCNWCoYnlUtsDoQT7jJvhrwnf6iXmy7lLMWQQH/aJwgPhAQBQ/rUVJlyRo+9Sxeirqmxxaq0HQcqzlT/bytPYGgIs54+i6TPeD81brz/rAaGqDkYTBaZzfzYwaWzdMw6nqHybFU7+mLXDUlqgnK78r3Y29xUWHLmtYN0slltwDiInB9xv+QeCcBvCQsUvF9faiwRJMeFgWTkFVPk174KwK2+rGWHNU+5tJAAYsvCxQ4D9O0wDcewjct++ED39C5gYlX1BnDSVbCubA/w6jx/UNIBKiEbmJZpAUHueQ+16nZaRiP09/mcNKoXHyjJjNcvxCQsKsx71srIKVQrlkTJx2dGdO1Zq50QwRBA8gPzOlu52Dv5/8+n9vp+jxYN4wp0DEQpv5eGBWmSHKiCgGoSeWlZt9I1jw6QQvXnQGi774XEzYzZHWtFelNg2JXx5ZepTO/n+2sPp9Ier+YSlyKhYoaj5tbmaE3rwCmfcdwf8A==","layer_level":1},{"id":"478f9651-04e6-429b-ad0a-f182114e1102","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"核心模块详解","description":"core-modules","prompt":"为Netcatty的核心模块创建详细的技术文档。深入解释应用程序状态管理系统,包括useSessionState、useVaultState、useSettingsState等Hook函数的实现原理和使用方法。详细说明领域模型的设计,包括Host、TerminalSession、SSHKey等核心数据结构。解释组件架构的设计模式,包括高阶组件、render props、hooks的使用。提供核心算法和工具函数的实现细节,包括状态更新机制、数据验证规则、业务逻辑处理。包含性能优化技巧和内存管理策略。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":1,"progress_status":"completed","dependent_files":"application/state/,domain/models.ts,components/,lib/","gmt_create":"2026-05-28T20:05:48.207372+08:00","gmt_modified":"2026-05-28T20:22:14.125621+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"a2ac83be-41a4-4ac9-8946-bec086179f45","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SSH桥接API","description":"ssh-bridge-api","prompt":"创建SSH桥接API的详细文档。详细记录SSH连接管理的IPC接口,包括会话启动、命令执行、会话操作等功能。文档化SSH连接建立、认证处理、会话状态管理和连接池管理。说明SSH会话的生命周期管理、超时控制和错误处理机制。包含具体的代码示例展示如何在渲染进程中发起SSH连接、执行远程命令、管理会话状态等。记录SSH协议支持(SSH、Telnet、Mosh)、认证方式(密码、密钥、键盘交互)和代理配置。提供SSH连接的安全考虑、性能优化和故障排除指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":1,"progress_status":"completed","dependent_files":"electron/bridges/privateKeyNormalizer.cjs,electron/bridges/sshAuthHelper.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sshBridge/execCommand.cjs,electron/bridges/sshBridge/sessionOps.cjs,electron/bridges/sshBridge/startSession.cjs","gmt_create":"2026-05-28T20:05:50.532876+08:00","gmt_modified":"2026-05-29T16:04:37.505033+08:00","raw_data":"WikiEncrypted:0NYVLoSOQsjXVeZ7lSLhLUtdwYzKKTAAoc2elpZAh/N4wrZjvTrPXheAKKwrTV/2AV0zXMiCazWk9OQTNBPKAH22V3G8TjVcnEJgkcUrqau552r92EnQoRtGfcFxoPH91iixcEuOoOSUou8WrUdxiRxZBt9JXewTM5CvWMgkzr5t9mGa2wU63NTMtkRF+p/06f9+UVFDVzlYmstVaERxGkJG2/q9ZBvjwLQOD9FO1X18M/Fx8ER+WjP7j/800Js7zexfBmJKnJdhwIUK8uaAlEcec53KjL0M37zLVBt4O3MywuXNuv8fl+dDBk15KzDP73kBpIcxb8x52B5PJ09S/cjQQ+9I4mUBVXW1n0LgTzCVfIkb3IXBDgyrEfkuj+xjljN5xACVidhW+YcjGInZkQCfLND53Ehfuf2UAjJO3+71IpzvhBhM6b+kHOqz5MInXAdqn6j97LCrC0daR3/PJhwRw/PSCgaU9j6dGWIKzBdruTsG3ib4DlI0bwoV9dpy46UBGgHorYZQsi0hbIktVv3L0KnrMkiKrqTHwqDYTQS7deaYaC5b6Z0yBlc4iYYpz96svuCXUFAMGxZ0kYXiZDEzyNdCcJERHXr0Imy3q8jlmjK6PvUZ5Ddtv/9YEg1jXbEJLfkeC7Ff0hT8s5ZRdJ77IT9oWuFVXCyWwO0rpypMQFKOPy+D+5oG/kIeaUdWhpiKXo99BDEyAxCcexYdC4G58sideQwGHrCD0m8cYjHdiXdLSp4J+Eamqd+RWqAFGU7JOdG42BdNH6DqOKKxTpYRfRDIByi4QQMKmuTEyt5j64OmTB7UGoQxoew6FBZ1t1GR95uO9o3yEIZB/1yUvM+UsyEc7UMkcBEwARvNfm+uYT0UEeQyhfL35A5xJwZQPsrwQJk9B+1rMYXX82i9Cj/zTlq3HadmtwD3pWu9mmzrTPG6UyFrByv6Y1N9mME9VZQwj/9VT5hUJgkbsUx9uOazYE0Sf1M97Kyy0pk/1KrePvGTech3sXXMy1Ht8ofQAdDQoij4cJhsV/ekpckiqEviW2f6puZNzsPuhYrtGDjDRy/GmU5xCTJCkxUIQk40yCdUboqVwSMJ1aV8zODZ/2B6ebFFEPvt/aEKEvq7DwTyXnPegCnjGAbY9STbcT70O3lNgnDczpf2KM4rpj00RpECfXe3uEYIr+CHbu4/vhoJL3Oiw+GHC7dU4inVw3h2wFIXPNk7s7abBxHL+LuyEj59vHN0TSs4YSmx/ulwNO3EqfEMDJBpAviveHNQBWkWqmbMESTuU3wVcXCj9eL7U02tkr+iaI5npdIhProyjxgNRH1ZUC65S9V6p4vFs3gbrRb865tyTPbBVkGkoX3oyqA+EBHb2bDh9Kzf0KGkMjqxefV+M7gY84C8eHtYjwwfENw7DQ6iG/oYoSn7G5lAJr9/Hrf/CJv9EpiWanwyJkhtOCNu+/ZclYEBC1IiCSP4IE1RvxGX0C9u6P6xMfh9gg==","layer_level":2},{"id":"e536cbcb-452c-40e1-9547-0991822ec22b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端组件","description":"terminal-components","prompt":"创建终端相关组件的详细API文档。详细说明终端视图、终端层、终端工具栏等组件的属性、方法和事件处理。记录终端会话管理、自动完成、搜索功能等核心API接口。文档化终端主题定制、字体设置、关键字高亮等功能的配置选项。包含终端会话生命周期管理、连接状态处理和错误恢复机制。提供终端组件的组合使用模式和高级配置示例。记录终端性能优化、内存管理和资源清理的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":1,"progress_status":"completed","dependent_files":"components/Terminal.tsx,components/TerminalLayer.tsx,components/terminal/TerminalView.tsx,components/terminal/TerminalToolbar.tsx,components/terminal/TerminalSearchBar.tsx,components/terminal/autocomplete/,components/terminal/runtime/","gmt_create":"2026-05-28T20:05:51.882072+08:00","gmt_modified":"2026-05-28T20:44:29.808586+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjGkHGm30P0xPRiG9jz/gRD++LFT1Oj9gcFDBZRlkovFBEq/Qn4kFXq5fG2Cpehi3OuUTYrHOG0ZTzSp9i9xElQAcTq5iM200WNm1wU7kYaq31r9bwlCa+m4Q/s/zpim4NUffbbX+6Ns9kYvfGR+6WrLyHa4EOKlKz9FWlQBkvq+JHm0CghrC/T75Y62SDJtZuem3mRn5HGJx17jJ8BQS0edDnk1eGbPbG/ARszLLll3XCwSvbrPvTmBnpfBsVJbGl1LLKWW4LCK5n3yMUtjlkLTAuZgS5Hsup/N3yeNGxClrhj138omhSe/5bqL90JmqZp4We9YUDXQfpodMQ6ily0hKRHqQyvbvzCdj6GIX5vOJCk+9ZnmWXmoYypdgLXqyUcj6pH28WhEU54PCQeBGSp+LQAsc81Kketwtj6TgTltl1RtcJH3BIw4cPrjraIS608LNLBdw8Z0ungrxnjglQOKJhRQfHMq6F5Xxki8y0wp2eG6yd2IoNajbmIeMZ+zbxNgrLd6fGxQtNQmSlTE9L7gsNRCNHcrZm3OIlvGsJoL7N/1i9Pgfn3se+tJtF0aFa40YLV2WsswJshaP2kVONnFlIn5Y9DeI2fwwUapvIkhdyXIe1rxcWw8Z8PPsB1Y5YxmAf+GjZNueeVlnVFTmTd4f0/eFL7gCffakxxXojPy/FXYLOb2lYZKM84QlkZB4SR73JTSw8pHQCStpp4n93xqy2ePzy6wR7q7pmM4TyDsSOT2tD85hhsDArqsC+IF7yaIhVuJyenHZtoJHU2tQTtIZpTPnqHT2OG4Ufg01rtVvsuNAcHHRy5faNK3CsUtgmPRAKIxhGB/WVq1kZgfQ9n9u3bpEAMerLF/yXQ954ftwayCq7/6NiWbOEbCDcoQhw2JHa36Pexc12/cOOE5rs3eYr5+vDxKKzDH7IElwU60h403Y3mNSktOxMDwN+DhohXetEcN1zbjZJDMc6UGzLoz5hbB0TIzNWTtINRdZWtIqXQZkPpa+R+EYVOWLOnBe6p88Dw9R1fl8x7H8zIKHfDqIIZH370QwNhqYiClHITXeKrC7hWVKHq/4uHeCbLCbXGyOJYyQHplSVAtiwXCtXJrH4NwtiK7Dm+zJJ6KNIohwdsaR3FpBsgPAZucEMOZw6WAzGyZudBagwyFoPdIDoFXX8NR0GsDTHkmY0fYUDWRb0Wo2l9qPLGzI9xSVDgAAntdMNfy6qoM6ipf/Ob4asqtPld0bt4wOGmgJ5Rt/rRT8XCI5BWTmiNgjp4l+KF3R39Gf6Q7X3EZmsKi39iAUihqZk4BjwGUCdAsIvw9yUEpD","layer_level":2},{"id":"fcdc1e35-7fc1-428b-ac53-5a9dea163038","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端模型","description":"terminal-model","prompt":"创建终端模型的详细API文档。详细记录TerminalSession和相关终端实体的结构定义,包括会话状态、配置参数、外观设置和行为选项。文档化终端会话的生命周期管理、状态转换和持久化机制。说明终端配置项如字体、颜色主题、光标行为、键盘映射的API规范。包含终端会话的创建、连接、断开和恢复方法。提供终端性能优化配置、输出缓冲管理和日志记录的实现细节。记录终端与AI集成、自动完成、搜索功能的接口规范。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":1,"progress_status":"completed","dependent_files":"domain/models/terminal.ts,domain/terminalSettings.ts,domain/terminalAppearance.ts,components/terminal/runtime/createXTermRuntime.ts","gmt_create":"2026-05-28T20:06:08.451601+08:00","gmt_modified":"2026-05-28T20:46:23.853953+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjMUeZC/xvAXXzxREtaNUAWjkc3Zaffvvs9i0RLGX2I/FzUO+W5Pc7VE9vxWrzuHLdDjjPxAleuVIXXbTYoE8zZAHe9vwmik39cw7oLSGgL2nf4oC9WfjP2zyG8ytoI1pi+HrpkfU9ztAZK5mDjUDVte3h7Lxm2tYlsF1VoNt+a4gCYAppHLH/WUh0307BJvBe3xQpRCoYRgNkoN2XHyRse8kutVViDFFmmOopMuu5+K7BZyHZJj+3xseXMMOtTj471lBOVfyzQSdDnrmljr/d+x4Zru0TpY9vUp/huUnTSWiB9+gPZgPWjY0lnm4zqxXiAdOXLeoqUsFNjqIcpzMfxr97zrXl8KZMP0qy/cOcF/prLq40qZymWv/W7f2kVvOmcZcJfOxlk0SSgmcwsS+16bgjCZJ0pZyiVWaW5hVf3angVLvC0qVoHlWQz3apvhgF1hhn4mqHU9oJwtX84yEuhUKtJMZdEj2fPCYC9JByW+NO0MbJ4G++Ap1SSzK1Y0kO6RUDkRlnnQ1ycvWqTTmNe7ZLi0KfMYIP+qtiRgB5TVxjEzy0JIdQCLXCBYFOCt6AaoKjlIiF+z3WZZ1qAiimUTO6Z5zYY9bU3/nNWB1dZAdz7WLDxkWwDIQsmwVEYqkhdsz8NfWRRPTcUTJsV34ga6fCrsAzwLH61w+h95dWFRO0g2Cyz0oS4ufgpl/XZOcK/SVMYosvFEIb7GeuKGF5aTkvMOFJdCHibXj4kBZH7khAKB6bBkDe1zJm/UKDMuPc01jo+wTb5JnefTapOV02a6Bbm+6UwVPADAdnpsQvPh3lPTRdb+4JEEXRvop/wckaOxKibTmvPNoolpV6bqjaa1e9PCF9POIZYpSTpKQCZ3sH4cBlO3aeh4KohJvdXnm01veebc+e3l8LFf+oAorFIdedDZJTsKcidNlT6dWtms+SMSbWEI7JzHGBBGkR27iMlGqqvkJCETxmyR8GxnPtuuftrCjb7EvgCNO3eeLmOFWx+hXpBu07TLUScx1qj1BX4maaKwZr2d4gjrI4cLdVMZDOXy6kaABlOJU76VtbKopoAUuLMZQPKBPql/klVAxuX6gzY0iCGU9gL1ceYYB3oyCMFru+PZnigY1UHLT4GRYJN5+UsoLOSKRzaMv6PCxrXdw/Z2zOGA+pZMalDhBZTWjd3Teo8NnITy6Zou8USS9E9RW5TjFt4aFhTmgptBeqAjgCsLVqZEV8YeN1UYBK6TOVjKTmvz9TlOCEk8a5xo4lAP9ge27qZ0pHVXSkIfhQA==","layer_level":2},{"id":"89dfd6ab-5e0f-454c-ae5b-7ea42272a2f0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接配置","description":"connection-configuration","prompt":"为SSH连接配置功能创建详细的内容。深入解释主机详情面板中的各种配置选项,包括基本连接设置、高级连接选项、协议选择(SSH、Telnet、Mosh)和端口转发配置。详细说明认证方式的配置,包括密码认证、公钥认证、键盘交互认证的具体设置方法。解释代理配置和网络设置,包括SOCKS代理、HTTP代理的使用。说明连接超时、重连策略、Keep-Alive设置等网络相关的高级选项。提供不同使用场景下的配置示例,如企业环境、开发测试、远程办公等场景的最佳配置建议。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":1,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/host.ts,domain/groupConfig.ts,components/HostDetailsAdvancedSections.tsx","gmt_create":"2026-05-28T20:06:10.067474+08:00","gmt_modified":"2026-05-28T20:45:35.642798+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AMv2jBQdiPo7oi/nJR36/nlkCGAZ1QWynWEKw13q1Bf7MD6jcqfleJdhNwM6UjdavxcF2lmxsib5LGvfciWaE6qxdou6YfvuyZ7jS2C23z29vHUbWyDbV7m+nSheW8ptSQ/orP6OFmLpOFU7qAS+hKk68if4tlu+4NHuk5QDCVYGtz2y1uMto4tjRznLf5G4i4kdBfNBFpUvbRZK7KHwXA4DU9iFJqxGzJhNs004YDNX4X8L/u1bCTv/q3k4yB8yETDDvX1O5Q1xAmn+QoQ2TZqeugs51CJfayopTebSckXN/52OR4HUm1S47aN/O4Aycfn9NB5b1PRTXW4T4j9sh7LsFI8RnueKt9mTFyDmWlG3CjXRGV1aRb0xKtZSA3gq8NmE0XGEbvNoly8YeaFnAcds+gXhOQzHwO0AE9bvz0XajRfkkYBuHkfP0hxzyY6uo9waFt8VQ3eh3lbGJgfxvhODrdt1aNy8Na2KoGw7K0bPGTnSKtAMxtAcaQEPy33fDJ3kfA7tiA6yYf3sjmggw0YSDK2kKYMwIT/1BYpekW0hJaPTXlLaZNLPik8DfEby9HPSgMxCVBU/Z/jNIAPGRvYAI1FnqI4YYmImqHLqX4qgQxSWwdeTxw56WB6NCN/0b3mkIpd+B5Y7icWg0QkA1X+MOLGfIaqiucfskKTZHYcCfuTX2+fL4LLvU4YwewnjqQetXusqKURrnRkIXWa8u2VKK2Wb8H36A/MElu+qCihjJguIvokTL/zNDxVErclXvlypJbTET8aGN9PqSiBekfIRBWHTpuBFEZs2rP/GtL8UZ8QqO3+/qXboheWJ6we2AZufGzYiw/02419j9N4ZdeeHYSNqB5Olu8LUeFlkDtMniKq5J2d7RfbWDxG/dD9UKnrcp/FWWWCV79rsT2bwfEzIN+vx/9CgJ3NhQMNBpkPRUJo00B76ld2tGgw2KWz9Wd+JOJonRv757XBLiO+OCrvNItoqlYAo5Ww13UyhbFpCP0LyYKiNXfKyQ1brm8mBAOflpiCtr6/5RihgvyeifAKs2OipbrtnEVp8ZHD1Ls19YQ0zKAyMiIbVmQTgwh4e2EKGK7O12QNY0TxoYhBbyOiZ9FkWC66DuiFxypfwV0HyeeJBhXYG6ZwgX20N3N5JdmFMxSX6DmgHLDbO94F+0qxkgh+8EPlaEDghhYhKuIztu+RRW7SvQgqCWbO85Lz9oLDhYGnC6nVrzrEerqfiuV//hrxsr6VqU7IbUSTOUpqd2UkWXM8i1lqruN7uzYZ+mxoY+WCAahRnGAFnek9DeQb/r/0LymjtcZXx+H6HYmJKRwshnvGe00Q6wk1XGyo8nw==","layer_level":2},{"id":"03c019d8-c4c8-4af7-b8b9-d24d0a6953ef","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置状态Hook","description":"settings-state-hooks","prompt":"创建设置状态Hook的详细API文档。详细记录useSettingsState、useStoredBoolean、useStoredNumber等设置管理相关Hook的使用方法。说明设置状态的数据结构、默认值管理和同步机制。文档化设置项的持久化策略、IPC同步和系统设置效果处理。包含主题设置、字体配置、快捷键绑定和视图模式的API说明。提供设置验证、迁移和回滚的实现细节。记录设置相关的副作用处理、性能优化和调试方法。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":1,"progress_status":"completed","dependent_files":"application/state/useSettingsState.ts,application/state/settingsStateDefaults.ts,application/state/settingsStorageSync.ts,application/state/settingsIpcSync.ts,application/state/systemSettingsEffects.ts,application/state/settingsTerminalTheme.ts,application/state/useStoredBoolean.ts,application/state/useStoredNumber.ts,application/state/useStoredString.ts,application/state/useStoredViewMode.ts","gmt_create":"2026-05-28T20:06:17.569362+08:00","gmt_modified":"2026-05-28T20:46:33.848219+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFQeF0csLmEQTq8U82uhQ32vHn+0zZYATCArHISZ+gUURGT/DjoEmh5qNGGmR/qGu934qnigK/nMNxtCyIMrEsup2mhe/kao9FDkfFM2UA/nTj4z9F+Jtd8BUSzMwfrB409iSLA9Dm6zJMbZKkg/hhXdR9wUN6CBxfQ8cm46sJhdlq0y+wUas7OzEN02CqugscRciZZxUwYsYNvhoLSduzzrYm7/6uziZUKHw7PHNlpaV/BmhRdDWOtdHUOZINoJFeR8eYo/mWHfL2dBvPPJRS3QKAHPtNdrYY8ge+hMP52Kv2FtnjTp8SkxshrTTZ08WxbXNSqCL/EvmuMh20jtptq4RjHKP2RF/o6WBudZlDa1vVaL/F+pG9jG6hbZH+OoQC3L4Ok5ZM97/mCgDrtOoE7z7Sp0vN9Zp0pQ4Aa2xlBKMAyiuLOZYrN1t7UJ8RkDqukGYMIkQItue81s9IDbSxcE0k9QiJqG7jY1sLilKbWECsy08WnovoQd5d76simXnrV41tS3vIG1wNm/8K+H+Lv2u6a10pt12xmwRK40WWaUMrIGxG/XvIvOzrwoTAEKL06KvONNw3sqMhkvgkZ3DCT7gkz/ZJMXeAFC5XE7a3J1ZMkJjGGfoaJLpNU8FOIBjhPh4MVesfYX5o3+QL2XOCzGay3GUQVDFYpogbIri+wRpuFUmT/lku5YCbO3XWvIhBjG4cNtByYEvXMsljW92bXOADIJmrAqp6vgcKe6rhCH+M1LFkbrol6FmYPp1b5s70SB9xObcvjMz1B3Lx9KThMP5ErKBXE/03Q6ymsg/NaG8I1DCX81UOz/JANNLdlXy8ns5JIxNn+2HE5eY42Uug80komARPFuEgQGKlQmza44wKgctLUWltLvZXrPgmQEOkbkj2Q1pvcR4/sZU2iiukzFszaiJgHzP8quZ/D+TGsDUcSCWDQd8apGcMJKBl/TGpnc1eNoHdUvNqOvv6J8wbi8xfTvIGRD0ChG9TD+lIy1kxGmzCh1sWacQa1VlH2eTrD9YBUGN4cRetDVzZ3d+2AKYL3dahf8Z0uJ/v3NURkmk3UKun7T3MDGc5Mb/Ux22i+QbKyt0p/tB+jGzsaZQLU10CERdmfBHVdUXEeQCPXgDq/sf5HvMq98/EhSGufifSEgkoPrlSxa3IeXAxfJy1YcuUVfJpTL3qvZyo2GaGxpYHfBudPNJbuxtpxOCSdZLNvxmet2Bvvx0T9DLkPVtY7z0GeOswKvJnDQQHWHHyyCgQiUqNQkZ5stXZQ1y18+naAe43cK0/Y/XLM40DVo/G7ftuPpV8rsKKa4zwFM7YKjZQ3O32ictfQnsSEbXqMoWjqgUh3xqA6ph2MdhRD61XE3p0Zwg3Kes0XmoUyT59RjdHodt4BLgyYgKPynbOGf9czav5I/i5JdqFCd3P9Iby2Ij57Z8qE3qthYmVAogx6vIBgicIlqt7sms42+H4llZL9gYf+I2oW1TRS3CflMbcpXaTmF2xCKqg9XjqDYGBl3n+71AAkqNneWEYpiDD5anhKyEFOlfgbiBn/I6cDKY7Ng=","layer_level":2},{"id":"543fbb38-22d3-4edd-beaf-500a9d27eb05","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"导入导出与备份","description":"import-export-vault","prompt":"为导入导出与备份功能创建全面的操作指南。详细介绍CSV格式导入功能,包括文件格式要求、字段映射、错误处理、批量导入等。深入说明配置备份机制,包括自动备份、手动备份、增量备份等策略。解释跨设备同步功能,包括数据迁移、版本兼容性、冲突解决等。介绍导出功能的使用方法,包括完整导出、选择性导出、格式转换等选项。提供数据安全和完整性保障措施,包括加密传输、校验机制、恢复流程等。包含常见问题解决方案和最佳实践建议。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":1,"progress_status":"completed","dependent_files":"components/vault/ImportVaultDialog.tsx,domain/vaultImport/csvExport.ts,domain/vaultImport/csvUtils.ts,application/localVaultBackups.ts","gmt_create":"2026-05-28T20:06:30.343934+08:00","gmt_modified":"2026-05-28T20:48:30.779974+08:00","raw_data":"WikiEncrypted:jfiGld/9+H9KtUv+q1149WDS//olibIBo0tW4NHoA1OhLGaJlg6Sai/gXpgwgypsm9SJaKitVpi2XmFyyhJct3qoLNoyPChnqPXZECiSvCHdH87PEbPkCxVJI60142hDyaQoGGdu/AoOXIsccGtfVvWaD7oRS4092VQO9V2sDkJ2mJ0Uc4ZSw38Zj3bmYkquMrw+oIajqXCDmqRz1B+vUvefr7xsqUCVSrcJsVbCT0bUEgKOIiEhDqMwkEzxw7P6rTTriBmECBhGxM639c1MfjwO5oGBh7cqNrj/SwWkxGwPor3NX+S6iDe6opf88Babwp7fUt7enbIORNnvjF1JnPUsOw2z+BZwCIr26h+uTdvDuBOuoqPVIUF4T9t6PcxSROqvn8CBIgXo/pOMan9pB1ODYkMopSnM0SOwuYrl9gJtrdq6MBZv7x6zDcl0WQ9wajrO4xCLKOU4Hxkj4BED9CEbNuDJXlEZtaMGFLyl8fOFEYecZUgSY3fg1F0IhPbrgGayROXRaadMcOSbQu7rRa0ALoasXwVmgSJ9zAVAmVEt6j9zKmOpRHeFAj3WKONw6ZnYk2iVJtG/SDXg5y11YwyLhHmwZrYsinPKM4QOV3Vgk4QrvrxzZcM+OvJFa9mw6nKZXUjIEKsbfpqdBXZXeMAg7Ffg6owg/A9qw8PGz/HG7FIyCSExNzn41jn+VTZg/LVGxNcC2tghvZfl52oCnCPBhtfMH0N5tUgzzTNhANa1vi0iilQX2JxaFoJs+aRQci19cpVN/VC+bURe7Ahi4jUgY7Xs45jpYWITDBIku16lqh7HLmBymYRZBj9pjrL1h8Eu/RgMqUcPbsKomgsIBq4O1VcjOo2e+rQ2wl+ldQ/zlw8jZjtr/igNx7rLEIg//bTt0OdSO+vE7gdqaG2/4Bds7kQ6X4R8SUuMKB3pkec6PfVhRyK3Vmum8KPCUiWH/VSUc+n31NFINcmKAigEMEx0Y50Y0e2GGhGAW/y5vN1VLzpVhqJrhfL3UyNopnyrfZSCpDIMxQySP6dVazgVCriAYtB4JYPlqUX0rmIVaxtazaQ4vJdFxC8Vitl1Bcshhx/H0/NtbAF0s0b8ty1uAWn0Qjt4Z1d0lNQ6W+rZ2zvYizYhmI0+HgEFLQu8216cSjIHHF7JL2La7mvLL9ex+O6ITEj1yesJ2o7Ukx8rChy824jICt6M6DxuL3xpAF/J9ZvOnHqknGKwfvHQWeBdEV9OYF9dQTzb02FeP3vh6gtYNuuxBV+Z3sO1is+vEAI4983YS1oj2wk039TdNj7Juh2HzS2j5qPAZHddZ5OHV8K5+E3s6r4vMTs0XwqUShRr","layer_level":2},{"id":"0e8576ec-5da3-4ee7-a79b-721f16083b55","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"自动完成功能","description":"terminal-autocomplete","prompt":"为终端自动完成功能创建全面的技术文档。详细解释自动完成系统的架构设计,包括补全引擎的工作原理、建议生成算法、缓存机制等核心技术。深入说明各种补全类型的实现,包括命令历史补全、远程路径补全、代码片段补全、参数补全等功能的具体实现细节。解释自动完成的配置选项,包括启用/禁用设置、延迟时间、最大建议数量、最小字符数等参数的作用和最佳实践。提供补全触发机制的技术实现,包括键盘事件处理、上下文检测、建议列表渲染等。包含实际使用示例和性能优化建议,以及常见问题的调试方法。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":1,"progress_status":"completed","dependent_files":"components/terminal/TerminalAutocomplete.tsx,components/terminal/autocomplete/useTerminalAutocomplete.ts,components/terminal/autocomplete/completionEngine.ts,components/terminal/autocomplete/commandHistoryStore.ts","gmt_create":"2026-05-28T20:06:31.734336+08:00","gmt_modified":"2026-05-28T20:49:21.877784+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjN+sZFbyYJcHftBnMmJU63fPtfWKEB9cnA7D/1gi2Cxsotjn8ejlC01O2gKspX1qvnu+/uQSlOoU++ykwNp0O1ZQmeuRxWb0ztDz86NXJyV/rGGLhUdb5KLko+/bu8kY4Dml7bk5BadWH+j8BgTh1X9umqOTvXdtS7qws7DPrxXMa/1zP7VfV3K1AImy/TCadVsDpco0ddg3oOzI3D0m4SfN9MJr8n4H4Kb+YgkJNQ9mFOxc3Wc0YW3En+i2swgs7gEbH36i6K4Uwt43492rHIwZL5Bg3KzaBJXqQh9ovf0UHPuLqnclyGaor0AStPZBH+09LTeONBvfMM506uDdxtwpABGjsDP0dkYCQBhUGRWF8aCEGuN8Yk0/aY2BOjzdoSneoTNys2jD6Tu5KGMIAyvG+1cdjgBq8qegdl/2hILT8OsuZRVl8GwLRMSgBvpetfY1Ld2Ei4exdd+wNWDVtgV07nH0z9T34bq4TOsz+lpDYh6plM7tJl+bzbVPjsXW0XEPjC0wkHyLtZ1TU9KLxBvC+ICQ8dHkyoop7VAuFP8N1gSuNl4dCdyQQFsVvYxQZgxK9J6t63W3uVC9iknC+nLHvHZYo44v9vzjYS2UorN68fzGjlpem8o9eVkQpptDqZwwjFdi/iyL5PuEyziNwiiyUbQCMhJp2DkPBuZ7oJ9YRnoQZwxRBZXqPK0kwV+p+4PBbVV8ti0rpB7NcTBJoOdbjVoSce33gS9jFS1rl2hF5DrAEMSKWRqmSSpXI3MScf0+QN2rvDa17D9NhqGk5y9+V8wVjBm9GYR4rN+qyeTVA4bpigXIpRRm1xuwYwr4fsJmZd7IblbgV2XdQ/jp22wWPs1t5l4M4JC7/NZWjl/+fxMrgd8Nthif1l3p4D2Fbj6t2COmqI2P6U+UUnKR5RV4VyhyH59rTCqtVPnFssNahIQlcmKDUYkJk+ZelQky75tUjbfq5BbpC4+2yNB7XnTHTwGFV4qcafGf5bPOttX6RRDgx0E9sbsnw/1WElqe7tTSlQ8MIub1ioRCSRV/uCmBg5MfYaelUNSvDPiYreoAM47k+eMIdfZhhB+ovbSP1YY0LwoAYsLxGAIjjvlMeadN1/PhSlwgbDIgRkjjTog8qtNAxJ+SGggtb53T0NeHHLi4OvRNIFZfYOqANyPBUGwvEu9UW/x8hjSL7UgRY7HHOZBcAhioHF4XthrjV6DJOw/tmNp0IWpsheYQXTXmxYSg9OhaSREBuSFmzAYvYf4tiTHbabPouUwkkxFkyjp7EuWUcKZUQXpe2fEBt5YxsCpKw34X+I0jFyRbFEby3Ook9rpziFRxvhatoShXl328zRBG0TDNadofcXC8fJncBci/DeRjBWxh3pz8KrY3h+itxUgYdXC9hiXQY9KZYB8s7gqQKpsc2+nQJrUWfs8OcrZw6+UmzV1h8ocNxKTZxJFkH8OXneT9braKQPk8TQ18uUqL42eplTysuX0efkpKe5nMTxczJYcgpXR0pw+lA7WjcvLRNVduvVUqjYQEzMD28UiHWRzYdEgWpe+0t0m1WY9Elsnolrsf/4pG4m3+hKme","layer_level":2},{"id":"65f95f28-e6ac-4777-aded-6ef175e0df13","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件操作功能","description":"sftp-file-operations","prompt":"为SFTP文件操作功能创建详细的用户指南。深入介绍各种文件操作功能的使用方法,包括复制、剪切、粘贴、删除、重命名等基本操作。详细说明文件权限修改功能,包括权限对话框的使用、权限设置规则、权限继承机制等。解释文件移动和重命名操作的具体步骤和注意事项。介绍批量文件操作功能,包括多文件选择、批量重命名、批量权限设置等。说明文件冲突处理机制,包括覆盖确认、跳过选项、合并策略等。提供文件操作的安全建议和最佳实践。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":1,"progress_status":"completed","dependent_files":"components/sftp/SftpPaneView.tsx,components/sftp/hooks/useSftpViewPaneActions.ts,components/sftp/hooks/useSftpPaneDialogs.ts,components/sftp/SftpPermissionsDialog.tsx,components/sftp/SftpMoveToDialog.tsx","gmt_create":"2026-05-28T20:06:36.995984+08:00","gmt_modified":"2026-05-28T20:49:05.757133+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnqOpLopxiGyJ5KPw39eckfMmzou+5MFTviOmjuyf0inDRl/lDiJjlSJ9UR0qhvyU2Xb1zWkiujoJdI0YHfKdi8umsJFeNO+58kpiOHBSWcMd+LmB0cxt0aWvxtIfJKPIpykSU/PohHBR2gbNB9RhC3F4saNlW+XY8OwMospoLjEYBE0FcKe0eR9C5xqY9Pth92xpoH0tgwFddhvCtjanqlwK0l9xpC28FBRCQK5UDSVvTCTvNxzckahhXdoHw/+pa5ETZDEsAvoaABU4Drow/Jb9W63ChA6mpS4NLmA58506haI1VBw5hFxpfHnSkesPXbfFD5u3CnstUxyFCiZ71AiF9PAzGPn9r9xQnBUz1wNFw9/L9FiChuSN5MXtlzx+yR39201hoRcWsKWscQVBcuTDK2yOCDyIQ94RtJ7Z6pDDvj0FTGl4wYzZxeeFXV7bOptwoD6A0FtoN1B5ImJx7zUCb5QC2BXnwCGtH6H8d2/f7MF/YpH5yZN5quwKwMuItzIxu6OSo7yjshrzWJblvH+mn2aRzLgAmq4Xxf6hi+TPmCjmgHrQGHvV3QT3BGiECofhqMDge+6+Pa39VQoWFBtZThIKq7pTI0rS0iRVB9adpGtv3b7hkYMssMdirBVHbn+WvJAGtI5iCY6/kXUrjQrLWhp8vc31jCcl9SuQJf4W6ZKZjslrwGgb+1IXcD8GFpF6hTR5DsfKERZrn9TI+LRVv4SWCFjTCkVbA55r5PAkzGtiJar327zVYFtLFOpP1KsefPRPcwnUvhkjfTXtjtQivQlVEpxl6g8u5XGJ9XtNLbcRvdS0ogpE6dm5aLuaoVPzvWJmS6CJKZ5jKW0YZI9gGlwD9L+s+Wj35pRQg7TO/OPO1v0AVAQSvrGy12dr/GVbFLY0njEBKKV8CWKu6yBBH6n/A/7k0K11YNJKGSk1I0jolDnlCQOYYbx5Wc0ZaxgA2Aok19iI24pfiWkSs5re5PCR/uhzjdHbe5rNt/Rm7jJhiZ7+C20lffqgLrcrZ27nouG+jY8VpvdXu7totJg6cADYHCDmSs5rmEOfsgLF9Cc9VLimrvJumNyAW9ovo6RdF5mm6xjhPQnJuUaPIQnuub7DfgZVOsKpbDpYZLQQDE0TgfsbbB8aUsAb9rMrNpORY6dWzOccTEZ7FpM2/VZ0yEpM3leV4o6pg8eBknofNbdikuvZ+aZ/3e7OklpW3EJXnfnENNFDA/W7RVlnwxjtMvfvIGNeEwVV3WjDXN3C4n2FLDIjc/MPCyWrj8TA/+wUT8uZF7STxSt9Muct+SiOWxVvn5o+jmDM88NRSt+F/BQ5/51Ra5SSfB8BT7ePzfYA10J3ws+iA6CmI6ilHwXQBBDu8RujDpkdl4ExlQcGZ+Qk20jJiHpv/h7Yi2N+8BLsWyVnOOE/Husp3JFBU7ioVwtQvNfor66nuC9cIHug+5hAmZQoaF0eTsIfwpi8XSpqf9ZTG6t2UoLKS46RrcYhVybOE2t60ivvWduBVCF4","layer_level":2},{"id":"bb641495-1f33-4d48-a42e-b1cbc65d7beb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"代理管理","description":"agent-management","prompt":"为AI代理管理功能创建全面的技术文档。详细介绍代理选择器的实现机制,包括内置代理和外部代理的识别、切换、配置等功能。深入说明代理发现和注册流程,包括ACPI代理的自动发现、状态监控、启用禁用等管理操作。解释代理历史管理功能,包括会话记录、状态跟踪、版本兼容性检查等机制。介绍代理作用域匹配算法,包括主机匹配、权限控制、上下文感知等智能选择逻辑。说明代理配置管理,包括模型预设、参数调整、性能优化等配置选项。提供代理管理的最佳实践,包括代理选择策略、性能监控、故障诊断等运维建议。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":1,"progress_status":"completed","dependent_files":"components/settings/tabs/ai/managedAgentState.ts,infrastructure/ai/managedAgents.ts,components/ai/AgentSelector.tsx,components/ai/acpHistory.ts,components/ai/sessionScopeMatch.ts","gmt_create":"2026-05-28T20:06:51.15387+08:00","gmt_modified":"2026-05-29T16:05:13.426322+08:00","raw_data":"WikiEncrypted:GQFdSJOKsQ3S4UCOLD0PX4FQhFuum02aMEDUSCEF3h3Ty3neroA4sWKKiVF4/7iiRpKAYQg9yVBQJqnIelnmxMkuBgF0kabxhXgegpJscB4vDUCDmSyDQhXggmq1idiKArjzFG3V6nuh7K0ilTfIbfJFCjazT/IGajeFyJGPR+gVeqS4f6FrKS4Zhv71+hvu+Mkl6CZGmp2k3j3t78AkgJK/q7t4y4tUk0kcX+WoDjqj+bYZYghKXSrzte5N2qJ4m4MNPTnISQDuyhLJxv7bv+uaC46ODz7iGVE3FDphC/dkg7sHGzDV0i4aSfjVyfYZEby57x+LQs2kWsuVdPftx4a+42PtjyuBLBrLLN+Sf6vkzRSiu1/ihJoUfUzpzWMeH45gopqT6O7d8D0+6E5BOtZ9jRLCGbnX1EExix04I0oYmknMD8XEtrTZIS27lPF1+l7NYvmvUOsN+MUPhbleNczS5ZDHH8hKpKur3x0VxW32qUSccnhAi5IbPBTTNXCfLzLShNyrXRn00UtTdf7IR9KNBFcpSymWb2sNouKe0RTgdF6WAJQwNcooVnxXkVZw1PBJwcCJopVrZ7zhYVWxMVL38P/H9VNb2ric1ZSkT2+Do17nF4jmunEpIctnBGtKIb+5SRzJEETy+hlM+K3l+rmKc6fjU5DmbracTMuwOiL9sZwifEU0kzlyX7p2ZfeK5xkV5lv7hveNSGrPH/CWhWeklKsdCtDnbW7PnupfE0OUhF9swAnzNKcyY0Pn/SM1b38nqpvck3GzUKIvEjxJANPeWYbhURHIgy7N7dtmxurj/gb0yu7wFG7Yl7vzRXt/+rIWJaQm381muTz4r8TtXqDeTJObrVkCQaMk6YiCvzt/Um8vqrTDPy++fuuecLsnRI126SnZPRdEDubrt6lHO8O36Upd+QbpsQJuu/2ium+qGDKFuINzcn/S+6DekXlChOzzdH0LgHO2eNR13aBh7PzT7rSDD/5i4rc/yuSdVZtee+AxOdVBNqHB8ZHIbagCbEVWe5CKzk49rFVavdJ3tQBX9RBCFbYxdX7FPxvYwpIn+RXIMP0nzA4sKr5XQMTwwO2s5Ry3lW5IW4trMWPU1G1lEzVcnLw+JzpguFZRA3pwV5H4g4vX2F67UcAiqwsRcUtTsrTfNWychHg8puWHdDCEgOJjPbJBM7YKjqKWq+d7fPHhv0idvvRXUMbfGECFoyjC3nLlBcHc9PvcZGKUzrxSY47VRrZN/r+Q6YNynjh2ublnfCffRU9SVyjcC/YghPq88AhUXUTof/mx2lKM6HDymeDGHZUfCF7RMhxi8gQt4+K4Ws8pSx3slCJwraJ5IUTwSYi3/DHSMDDQshohBS0Mr8bbWOLDIq8nMAM6RJ8QR7lo7MkuzqcVNhXA9EMgB0cq3Rw9ugswLK8sWlZ16LETgbyQ/i5Kzs2cEKkbS35RkK4gD2ncXHE9QW0zo/Y2mublYBVGhQ6j6X+pqvdWbNBhdvOa2smvgFtKZPiFNng=","layer_level":2},{"id":"f21a1842-6cf5-49cd-bbe8-77311dc5b845","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"技术栈说明","description":"tech-stack","prompt":"为Netcatty创建技术栈说明文档。详细介绍项目使用的核心技术栈及其选择原因。解释TypeScript在类型安全方面的优势,React 19在组件化开发中的作用,Electron在桌面应用开发中的价值。说明@xterm/xterm在终端渲染中的重要性,Radix UI在UI组件库中的应用。解释构建工具Vite的选择理由,以及相关依赖库的作用。包含版本兼容性和升级策略。提供技术选型的决策依据和替代方案对比。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":1,"progress_status":"completed","dependent_files":"package.json,tsconfig.json,vite.config.ts","gmt_create":"2026-05-28T20:06:56.177882+08:00","gmt_modified":"2026-05-28T20:51:39.410236+08:00","raw_data":"WikiEncrypted:oBrvfSzFtfprSLUQmyvOPvoGiOBBvTkFwTu2jPQeykOsCXLf7qhBrgPx/JE155vqk75WQGkLvb3efj/1qzjYKVs4X4oAuNWWFf+LuomQQuu3c/OvRbIF4aRp5lLqbMH4Nk/2GdbUCfwSbBwqubwYzffP5MozU3VKtuwMv8mQa7NzX0iNfBppdtD5d57O1rg24CooWcO8d7MCJ3yTJr387dYbjGEsVCn34idEE5fyFMz8KrzVnzrf9C2JExtlgOKxG8/g/4sjAPq0xqgwXsdDjmRSkEd2Vndk5ZaWkKXYleZub15UFjQLro05ppF2aRQMZHzRPoKFmVnq7LNRf7ppquzDMSMVFi/KIpHsroFBGmwW6ILr3hlxd01ukpROtefzacRCUc8X07AS2ezZTSZMbRgG2VNm0j83BusVlJq2UCCT5OejtnjOP9DTF+5f7IUg/hQUTZy0B8MSBj8dCLnHblFH2Hn7watXcP/8mciMyg8qC0QurVQyTGJfP1XTXcc1dydIy2Y8hQogstHhTXcvue2TnC5/5uT6V9sRK1b3d+Q6QIaZVBD6AROfu7l1r8FdRL3Jg0mlBkHPlo9dfDKGZoHEULxai8/W44KSKQIsrtYxLV2mCFK0/ioldH3l5H2qR/gCFQTGCPBsOmLIZl9sfaT/6KwQVrp8pSbDqZASV/HkhO5w1fP/vaBeZwC893KEQzYfynIOFeaLeD4CeYTtGI501SjWEdyZT57d82yHSROQU6CAZ0Fjm2Nu81AXk8vaprSV/utIq7wFuD3DronvgL+Ubg2qEl8azoanpSB3Q36UrYbCZaJPa9h5jaDCu5FHw9Xy26kpG5ZC3IigE2ybygUSV6kHr/+Gn6RUJmdoYDw2Of/xp/7ut37lxA6wJ41u5Pns8PcoFVzsbjIu8RrtHcoLKCLH0g4yqAwZOgioqhXEJuPbMatosa+EmwbvYL1+b8tYhII4l89y1NZyZRDl9adduZUPpg5W0WzOcYepFuMXrEOE1lNtiYIrRxmIKKpVF4HffB89DTcN+YwXEZtVuw8d97lBW7jdiqT/8PXcKIGmAnj2MiUKKqRNn27oZk0kV1BJgbt+vAKHC3Aconyfrg==","layer_level":2},{"id":"af3b4fa1-5540-45d2-a8f0-5da6a08e1577","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型","description":"data-models","prompt":"为Netcatty的数据模型设计创建全面的技术文档。详细说明核心数据结构的定义,包括Host主机模型、TerminalSession终端会话模型、SSHKey密钥模型、SFTPFile文件模型等实体的字段定义和关系映射。解释数据验证规则和约束条件的实现,包括必填字段检查、数据类型验证、业务规则约束。提供数据模型图,展示实体之间的关联关系和继承层次。说明数据序列化和反序列化的处理方式,包括JSON转换、类型转换、默认值处理。包含数据迁移策略和版本兼容性处理,以及数据完整性保证机制。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":1,"progress_status":"completed","dependent_files":"domain/models.ts,domain/models/host.ts,domain/models/terminal.ts,domain/models/sftp.ts,domain/models/connection.ts,domain/models/history.ts","gmt_create":"2026-05-28T20:07:11.127134+08:00","gmt_modified":"2026-05-28T20:51:20.935188+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzxL0nPpsuPMPxr5hj83lS7zLbVY013R4TC8XNEUYbb5qxIyzNIzP0UIL5gcgWgb2Ak+tm4u+/D4jYOwuwcop/MvtnvGQhmFN79isTX1muzk3+P282lOReWUR3PGdLI85g29keevFKnt1taAFkFh5EgmpTMngdW6HZEphuA+pfmwA8VroKQR5KDycM5nfv3rkwH/yUj1Qg359heiOcA4z/aTx3sfYE3URoTr7vu5X6GQLdnPkJFphyrYgQTnefhEDh/amzDtsnNk8urYyLUZ5t3jbmpa5NgVf15VYacigezfS0dsH7VwWgEdmCW7yFpSt4LHEG/cKAokktlzgAbp1h50uktRxqyxlhDhVN7p+o1VRWUK3xT5jMozyT5HF6Mw6BAKW/xW8F4ZiIG8zAyZOeOoeWasYBRNWoziO6Bs0Bqq9m5cLweS5Glb1zybH2XuBddUczDdcA0iTXiyWUJndmqe/2/pDr7cmwBQnGx+T+Y7f5+2zvxctM1sarRfu1GdBBlMx9scqq96nAq7AhxZNz5Iye+77K2MT3LyP0nNc/0AK8J3p5cxfy7b3fxOIr/W4nrraXzhH6JtpxcdAK42htLfKvp9/QsgEix0lZkFecG87zGL1DQxhtKGQt3dVoOD2nCfSSVJbdA89/EMknQucZrzP4H7mY8lOizv9MfmoJJYEivvlQGAfYouzzmt5PiUU669BkbHEV6qWwVw7ae64S1PqVQ8tajSpIXotQzOtgxRRywLOLhdLW/peRTumAJUA0SypUc+ErKQ6fZc5tL0SYP/U2wRFKiupFCRfNsBwntPSRoWL3gAULhERwmpd76cXS6U2I9kgID6Vyjp+tMf9l5n2byPT3p9jNT4f9YN7DJAeO4FNAP1hAuHKmSL6iIoQlxobasm/xfc7G74+Kp2aJ+r7gmEH4A6xkxn1bM50vRjGFaE/vSRNvJdepGQYtBq6qrwW0/9FV3eKsGwZosEcMw2XFJxUzXqcwm3T2sLvMoJuq3WLAa0Peou3HZWTX5BfYaqaZobUo0Vmc/RXxvZQ02YNJHNNpJt3gFjSa2nJ7QLP6sFHkHro1XGUI1YDsAt9iWBOUBOxrge0PJ5QAQ0Yxn14uyZAsaw3Sgdn7wYpg07c+vv0x866JTg9gOSDu4lWr92v+eagiENFoMyOYHysafJcYVp5Jvxfyb+QB6V20dA8UCTZAJRfng3YKBHFKDsTcX92PljKMke5PIKz8XEGNc9vtr/GvnWHL2MH38DmTQ/c/CrqWUmBFGlREA6rNxRPx6DmB1SOMJC96TWnAJe+35p4y1GeTUseUIfBN5TuKWISjyipm9/ZQ/pBL8zO4Vxnw==","layer_level":2},{"id":"aea259ba-0cb4-4f60-b819-6fdab52f91bd","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"外观设置","description":"appearance-settings","prompt":"为外观设置功能创建全面的用户指南。详细介绍主题系统配置,包括深色/浅色主题切换、自定义主题创建、主题预览等功能。深入说明颜色方案设置,包括强调色配置、自定义CSS样式、主题变量覆盖等。解释字体系统配置,包括UI字体选择、中文字体支持、字体大小调整等。介绍界面布局选项,包括侧边栏显示、最近主机显示、分组显示模式等。提供主题导入导出和分享的功能说明。包含外观设置的实时预览和效果演示。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":1,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsAppearanceTab.tsx,components/settings/ThemeSelectModal.tsx,infrastructure/config/uiThemes.ts,infrastructure/config/uiFonts.ts","gmt_create":"2026-05-28T20:07:11.894215+08:00","gmt_modified":"2026-05-28T20:52:23.242217+08:00","raw_data":"WikiEncrypted:DKQNobJ1HI3aQ8/krZaNMY0MSQEEWbgyF/9/ntfO6niFD/SYUZXvuqiGMhyQVRHR5s97LDUA+EzSh5W3qovclXIK4uEuFAkmdXShm5M+Uz14nwl3LrqAiuJw8cnwHBDCWBAQeFMgBLAw50yTntRd+6MS5FjNJrNVI7W/4tyM8Tvk7jIBgGWrlKTvnG4ddURNozZyFkVoBuuj10YHbfKtGXlTJQUOizmyQf8kDuMQZREam2c47qccN+S/xMQRr9BMpY/JauQkiPBs2DIE6z393hzKhzeMPgauel5YFAqc9og9+0cuVXp+iEusG0DrjRI7XpyYthXZVe58IIBqknjLZVPAUb5kVOHQFKnjcdwURAGG+KEYLtOIziJV5jAmXR1z6qvl9U/ROsgQZiL7qORPo0UBfjI6rqrq9DqVRodxCzgg720NzIXnPQ/OzQdlbR+e32H98fxczXJwzO/TwfHuiBsZEyM9/VZo4DnYmBx+2zz59gW/Qo6N9U1uP4xG/9InwORO9UFNULiedaEZguIsaKPy3sVhGdP9oDl9cO6+GaQNVKdqeOGdoldhYGt6fltQEy3zeBasAm2hNREQh99ZpEk/0NrlI5PWxE+8/l50kkGh0SRZzEdDXhaAz1y+y1CP+j3nViGgqlZgYckF9wlhhr24iUL7O2mx0DyQDfLEwY0K8jKy4My/oCo1qsGlYANG+dICTLmcA6XFSKMP6fYVypfinypEI/BB97vagpHz7pbaxZTemDpZ2INNmIgKxYJLCJuH/AalYg6KoXew4mkrjHjVqPb+I7OnTHwt6EB/TIcbXzk9OVsHTCY8+CkhOVNE99CD6pYhGVmZM9rwQBT+/9CMRbC/IGphkLpFkCq+ZnYVMpLO3DWY1hcPgfSeDks9RfWl9e5isumEPz2qqDWxcjIEg3bsGEXFYHypuGo5MBuKlv5XMwbh7qokDJ+HWTawnlj3WmFixwEvkRQVQkil2QnktPGA0Mgd91G1AsLdY3gidhm2UAzS2HTPJh/YG9NRndkumfqGC8UHc8gLaoL0wBI4ejNlfkdnn7U/4NC6E5gvTImhUXQ7UsD2os3elm7yfZJhqE8LUKvFSPKXWI4wq8Zo0V4t1w9k6f8nTUwn/Up0Ez+0IW3aKkRCi/yWa0OghvjmezpYa2pw6W/rMIbegH7rNm4SyZdu4fji7QTKMLyHfJ6Oc85PIlSdlOFmlhBSRsyldZuCwnhxMz+MdCd4u2URNX0EsAshrY6tX6VA9UeMlTu8h0oUDwDuPCye4qzGHfTqHuWCXm0QyJIuLpHSQQRtDhr+a/ZIGXqT5upZj3e75JT/ViZMoXJoBlzK5bA6DqRC0hRjtIcEJKyjJMMydQ==","layer_level":2},{"id":"b5087fef-552a-44f1-9c4c-c6fd70eb1a72","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"预加载脚本","description":"preload-scripts","prompt":"深入说明Electron预加载脚本的设计和实现。解释预加载脚本在安全沙箱中的作用,包括如何限制渲染进程的权限。详细分析API暴露策略,包括哪些Node.js API被安全地暴露给前端。提供预加载脚本的实现细节,包括类型定义、错误处理、性能优化。包含安全最佳实践和常见安全漏洞的防护措施。解释如何通过预加载脚本实现安全的IPC通信桥接。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":1,"progress_status":"completed","dependent_files":"electron/preload.cjs,electron/preload/api.cjs","gmt_create":"2026-05-28T20:07:13.148994+08:00","gmt_modified":"2026-05-28T20:53:29.566587+08:00","raw_data":"WikiEncrypted:zCeb92q5gvzQHMTHwsr80ug8ITU0jvEjWzqXZHcNFHowQWJw7w5bPwsIR2ZNOd3rQYYMUy7U2NoVtaVjbfswhyUsJI4XADLtci0KtF8V+m6Qrt9bPUh9jUGnvyjlS1M7vAbyBkflbkNKvESgTN2Sv3EbtQhFBo5qeGvXgL714nvoK5zX+q/bRsgrJkdBmSbwjVsUJOgYPZ2f+r2fNgr+I4oKmmYCBtRVcIzUQl6gGhQ+iM5559nfxKwl3SrH6oIbZ/yBmvbjF9x/RB9Kh6Pykx52sSCIpIyGkxJRpvpZlD8EwE3LjOUz6MgGm3egUPrZRamS7RJmbiQEWowbC++TsDU8u1f4Nv6PxzgitXZ72jSkMBL+uTiiRnk4jSshGEBplkbsSum3ZmbV72aS403MTcrCxL+Yje4bldZ0OEOejQ2LzvwN6G8OoPpHDoddAZ87mjdobTE356zsObsRTbV7fbdsYS1Tne5skXVx2dzoLhxZIp7h3W+xb6Z8sWIOgE5WxBtlakzJ4s7tUFnFTZHk78/zR5Vo1i9+QYwXVv/z4vl83vFmTiWOlkYpJjVY/siq9Ue/JzzMiXDJuqyfT0k6EDrqgcRZkWPgXueLIatouy6kRA2+jB8OACbedcq+Ssh7ukEl1BuYhiLtS9owZfXB5M211FsmIt4bzhDzrV+VmBjBBWRiNLbxeHGKWm1SAuRTUL/C1IJVe22PYvPE7xUafKO/0ICTzaRhK786dNyxvICfiq2F4+w25HE3j0EpOlkKoJLH3UlW64GPy9aSOpn6j0NitpoWHWYwY+zmrEecGr2TkNrgNp948EgZxnrXE/PdzE7Cbqh2Ct+jKykikHA4208e843dTtdjITr/tgpHWOZ+/arTH+WwBTpGfDz2n7ISax6eAYGjlntTUQUMIGNs27qxeb/YQX9+5HqbDHKr+FSL4Zbh3kon02zZLsH0zebxOKy5VtV8EqWZtP5xIu3dwi0li4QJQoW3904DB+6VtCXcXhlxsnVZcsMYrFHSaoQ9NSpM1ImrU+LnvtXIpGVUmQ==","layer_level":2},{"id":"4bb1d350-1bd4-4289-a7bf-a0901b7406fc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"加密服务","description":"encryption-service","prompt":"为Netcatty的加密服务创建全面的技术文档。详细解释EncryptionService的实现原理,包括对称加密算法的选择和AES-GCM模式的应用。分析凭据保护机制的设计,包括SSH密钥的安全存储、密码学安全的随机数生成、盐值管理和迭代次数配置。深入说明安全字段适配器的架构,确保敏感数据在存储和传输过程中的完整性验证和防篡改机制。提供加密流程图,展示从明文数据到密文存储的完整转换过程,包括密钥派生、初始化向量生成、认证标签计算等关键步骤。包含密钥管理策略、安全审计功能、密钥轮换机制和安全威胁防护措施。详细说明跨平台兼容性、性能优化和内存安全考虑。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":1,"progress_status":"completed","dependent_files":"infrastructure/services/EncryptionService.ts,infrastructure/services/credentialProtection.ts,infrastructure/persistence/secureFieldAdapter.ts,domain/credentials.ts","gmt_create":"2026-05-28T20:07:29.922615+08:00","gmt_modified":"2026-05-28T20:53:23.315071+08:00","raw_data":"WikiEncrypted:Bk1wQ0TRVArLL6ArLjPCdqNDi2q6+1TsNhN3c0qUcRxaTwwxM33mLt5ro6egqMgdmUDxPBzsfpr9sUED3R4iI+O4KSRu1Im9KkwIi36VW7hqaYxfXmj89/ENy70ujzuUKKVTrboRZN/IsFTAT4dFwZTPO1ef4krQ3L1v9jzRWjzbx7HyUzn5flqOGcy6pu4CJsy7rIhRrTg1FeGi2gPL1EuNkSKi9UQ6FP6StJ6JpoksQJqbooBSvYXzk23MQTl2PXd/0+gBt2lDVYsDgA22yDRA4LYN34RNgxndCvEPe2Rfxn3suErm9F6aJIuXU/q8GmwxJpgoK1ojdebVHsJoiiOIEK8PEkoLzx8hQhsjANFmIPAc0rQ+1exHhaqz1tKQrzfJO3zqITs2EwRxz9ahPFGP8OeqUeqJiVo5OUqOO8WIvXlq/yqYPG1zTZtpq+72xRhZU5VqCM2yKEteWmRjopPqtvEBzt854a3UM06PhshqsXR3llq+t63WvZNujIDFbdPV7HVfVFzbdZ+exehXhLQN6gDtVRyv44S71wkRq5uO/Kqw4ilBlQpDmbJ/EPqB2UXDIfUklTxr3lVKxDKpH+lZFoYKS9Cg0uFMuWpJ2L3sF5gMcoIHJh1n/ALMBOAW9wVXxIl4Udp5it8u63pwitNcZm1Rj3M+nI0h9pgJXavQG99JykOksjfHNI1NgJQULX7s4+I5bNTTvtxPZ3231UuWTZ+ZVg9AyZHsmcOyZiR1GDBoRK65SQxiXB1pERbTtpyybfM2vOYylBfwbJbvTzbPY6nGaXp9STRVNj5vAeWLXf++sglnBRlRvH6TvlEP4XXV3TScmsK5vP62sHeCj6KyBgrU3Y7DZ+Ssnv9cSYiTbOLZtwdB7K+qGacqW8fCSAGc9yZyxa4ibCkGkQDrq3K6mHRfxjPFi6kAhNoDQC0Yc319Tso4tev98G66+LWSDGOchm6p+HAi9G/kWAScnxbX91IrN/h20qn8WrYKvYDsN23qGUyB0gsIIVqfARmoJhLcGbUst+hMrbhu6GHLXNX88sOmcztv0a13oQrcLS78ePV0x85siHp0vUv/5KS5fQy+j/VHVdX9sJuuxIZBs0oaPOHE18O2uP9eGxq9HKtiKoOTuMKkgZpYlncPhf7f8WWX/plrH3TiinWH8RrWUkAalQ3h5Z68Sr9Hq20echi+BR/EE3WPG4YXThZeJGM0ZYp0kZcZjiDwEyOeatx0tbOloqKXcuH7pO/M8Lrne42HG2UBT06+yRTbk5aemoa6WMBE7UcEjV9eKc5W1ouBSmdTwuJjYHgZ3YG8Aack7X7gPy7prkTOfeXQEYoBsvRKcBP8JygZDInvBY9tVLMqHfI5lMykEP391a2LRA79jqNKLJB4GDx15eK8v70ju+vwzwqOfco5ioCYtyyoESgYdxondQrQazqwQvlCcVhLRMrNmYLxKQfz2Li0MPUV98V6e6utCOc3LEHh+B92NmMeHCI9WOcM5IZXac1VTHNKzNe/bo0RrvEoB1Mp5Y4AP51ZWekaU5nRqNwWQnHFdKAxq6SQxBE9gnqhIsum26iLWQpAJ3x6ZdQY4chWNv5qFHrf","layer_level":2},{"id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"用户指南","description":"user-guide","prompt":"为Netcatty创建全面的用户指南。详细介绍各个核心功能模块的使用方法和最佳实践。包含SSH客户端管理的完整流程,从主机添加到连接建立;终端功能的高级使用技巧,包括分屏操作、会话管理、自动完成和搜索;SFTP文件传输的工作流程,涵盖文件浏览器使用、拖放上传下载、文件关联和内置编辑器;保管库管理的组织策略,包括主机分组、标签管理和凭据安全存储;AI代理集成的自然语言交互模式和多主机操作能力。提供每个功能的详细操作步骤、快捷键说明和配置选项。包含实际使用场景和案例研究。","order":2,"progress_status":"completed","dependent_files":"components/VaultView.tsx,components/Terminal.tsx,components/SftpView.tsx,components/AIChatPanelContent.tsx,components/SettingsPage.tsx","gmt_create":"2026-05-28T20:04:49.697046+08:00","gmt_modified":"2026-05-28T20:09:18.455788+08:00","raw_data":"WikiEncrypted:g1KqSTtvSE4cpwDOyYAP8LNO0MIQAfyvA9uCFUGoup4vFX64uHj8XW7YLptO8JHzLtEQ24lbwQWKj1gRzvMoNNue5nlZyQFDfcfSoucaaIsgDhQhrpn2gpmtHaJoXsa/1HvLziLsqO/274D10g80RM7AmxYlaDVBxqBx3af1cXWQSH+N9oTbsJ4NSnoTYM0Of/IKYuPIRUCCNR6U4K/l43cg6xxpg0po92t+17dBJCbQirVvj1wsXuJUETBcQbDMD2DRZ2k+5O4QORzn8iHTdH93EWlHs8zrKAJvDE1W2il2yZwX4hXzP47q3/lGzgf9waWs24qkWxIpLEiVwSL1E98RakX3arftGinIkcqDKpq27D/DsnGRBes/jJOUXw4sWLRRM6+i5wUHjU84aixiPC7s24I7D+Nr+V9nnqfMp7RA+HSffkDO9jIR03rIJdFrvoZehlwkGjjK6AHXd9PMdVxF9yyz5/6aXE4DSgunMC6b1KssvGjHZLMaD/4bSQJbIuV+beisXqDIRJmgypfAOiol0RIGDOhPcLE5xJa+u3ytbEH7sxlT3qvEieAhzOmCoVBHf+H5UUOpQ4pa9oQQL/6dutiwrJjjb0VUMhByrTL0X4+hYuFuLakrFmVTVUeC4sgK9vUkhMaPKbPcVbx+NYewuqNtxI3lRz99yAZmG/9XrwynvPvqE8yUIeZXmDdBNoWK1zXmmCzHyEySDKcwKjuoaA5CgaPjfloUOM2Kjm/0V/Vqfp3zi3MmVWEWoymQCV51zXL4Im3LKrm2HKzbX5b+3ZzVkS+OLywRUOek5En7nciu+Ji0vwBOUQ3auVvoF1B7Clrp6o5YPt/9Vw+RWzaihem3aoW+imxzve+sW2a39xPOCdHgwNKCL+/8/kfGR2WxmSNE4DXiAgI/DDJ0q3uCciL8QWQmVI1WGJfsO1+VzeU89FG5y0y2MA4X7KXEOpOuyRnco2o2n2Dv4xQEavazGQdM3BZiTXBrCPJbQMxfTG/lnKT7l3G1HclCU56OfNa9Tapq2+W7ZGTSz89KFd0Y6M6lDYZK+sfwNLX6Ei7RytyoLXWR2JP83NnmWRvFi798BSOzfOCr1jTmgEw7AkU2W1flGqYrpMHv1MfcczappGRP7EGIrtKdYXfOJpGM9racJXdySr8mY7YHYYv2cbbUy+waKeqgIsFCOiUQJPRL8T1i4sUTTfT1RzGn8K+EKKNM/gE3WWfyAYqXTyoVVPkCr8N2l89uG8An3s/jo/TgqyJgUgli2fOGJ3NhyM9nwQwcb8s1rvVHRxUMIli/czNIzlICVOHD1HxaNUxeJSDjm5bO4DF6A1SxIpeT4OWM0oqwPeKhbALpyMu0rgij3dMhtgTl6ZcAHY4phLhYimw0aPPu67F7ezh48z/TVFiXYq68Y0SbSQFkOlow53DMKwDCXUjRB0iJg8vkvnt4PChQJZ8wtQwzhYugpcG2S+cE+FLtUGSFfHztPSC1optSpXtXbZme3c0+tcBvxtXyjgZ+WCQXvBK9ydkIHNTbAXFB5BPRTpCls5AgbemN9oZoCQ=="},{"id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"状态管理API","description":"state-management-api","prompt":"创建状态管理API的详细文档。详细记录所有React Hook函数的使用方法、状态更新机制和数据获取接口。对于每个Hook,说明其作用域、状态结构、初始化参数和返回值。文档化状态订阅机制、副作用处理和异步状态更新。包含状态持久化、同步策略和冲突解决。提供具体的状态流转示例和使用场景。记录状态管理的最佳实践、性能考虑和调试方法。包含状态快照、撤销重做和状态导出功能的API说明。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":2,"progress_status":"completed","dependent_files":"application/state/,application/state/useSessionState.ts,application/state/useSettingsState.ts,application/state/useVaultState.ts,application/state/useSftpState.ts,application/state/useAIState.ts","gmt_create":"2026-05-28T20:05:12.557405+08:00","gmt_modified":"2026-05-28T20:23:05.903358+08:00","raw_data":"WikiEncrypted:29DQGcj0Xkj5ar8OataJBNm7CU+12ownBEixUjUevTpChppreAgkSKyD4othC7DDPl2QT30Arl14pnNr+84pNDSp5AMfNybvIg3BWfvOGVRgeSIFg6zUgHhUenxYXiJwhyqWmLGJ+UmdUTXsDf0wy/o2WQQi9I6HdHUmL031bfb4Cf8wSS2mml6T6JZdX8P2wenkuJIVlzke9SjnwpNutiLPJtsN4rmdaOFBar5IVohPzb5T/SCuv+iDwAVoyC6MMawpP6TlxNJ7d4y8BrTVSUXuXCx+tqMkw2KcWom+JEqnGAnfC6v16xL3csUhtx0bQvjPYYKTktro24AcvyQ6uvOVQNKHCDTZ6oQ3hLi/DgG/lrgB8rwq+weyt0mdh4R5S+p2wrC1BzCPhl5+pkdJi19DBTCInnefjFXUiMdrsd7Y9qfO/zig8DM4t+t74Pm/4rxM7AyNeo9UGhSpnZmRApTWrmciA+hGEP7EuISQIAX5Ka0SD+RTqSghn34CUFfm1dSAZyQwcoPkUhaKqUKqgiQGyLtFrKYfD9bk4Vscvg4sztiAQx7QLfRXzbuGQ4IylzmTuci+ATRXlrsk6faoOssuTiMOnXYkOAIr4oN23sHzJARIrCvBG912U/9AtCzMkmT5veTeAkIM6mGq813+qFtFnPjE8x52scjTrQHrWgOiKs7U2/0ihqFPtaCRkEBiEHPuDLUAx0HV9wgvi7W0bNQr9yQdCYaXqgqtLc6LnPm+Ow4LZnNzBMqAfOe4fDIPzs3aL35YqtzAzj5z9inINVvk25ySE0VxUvdkm59YTSW/7W91YGfosmFp/hyNX6C9LEcKZu9hFdpPl/4CdWi9JBDoi+mOhLnLPOzVM5qiqB37yVXrq3keVhuus/+UMhu9xpByjzDWnsKqGdXdfhR6t+C6e9IZmjjRpfQ0LLJnKZH1KyLz8S/XxxW2VVYZq2N9knSDTSfxKGYoEMb5m1HD5eWKG9k4z7y8UFhYi3GaNKIK/kfK/jJtTc2dSjpqFTMv0BWywfwkiY7Pc1aNf/8a46JpcPsz1I06ZorLU0Yj0NA3M0I+z9TNEG5u+yP5rGXE6RZx3fJrRJd76EMzy82r15TEVtZigrLOChmh6Gi4l1mOO7OAnC/hRP2nTVOBCtO3BZCuovg+HmTCWX1JwSkJjIzschttNJpiXxkPZH84f+FPZoeb/yzb2XO18z8vOZb5OCHQPExd4WxIpHonHuIUdIfavuO/MIwgsd5s5Qyjk4mbmurJ8H/A8XmTIzl7gfyLxSofFzfHuvfgPg+AeXrq3Dvabdyw+MziSslypEUjLCIPzyAufQwfjO2fE+aMcqeUzSP9BNNetEQsYF3418GpT6Z1iOznWkWW96gOyE6Hi5bVCiANhdbaA0xhyTwKXjFze0+lJhNk7ewS4gvXlhOvuoaHI50GMuOPqmtnagVtSuKbApxvVV7YJM2/uSN0jsul","layer_level":1},{"id":"bd3266f2-d226-4e56-b968-4fc41e840104","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP文件传输","description":"sftp-file-transfer","prompt":"为SFTP文件传输功能创建详细的用户指南。深入介绍SFTP双面板文件浏览器的使用方法,包括文件列表视图、树形视图、面包屑导航等界面元素。详细说明文件操作功能,如复制、移动、删除、重命名、权限修改等操作。解释拖放上传下载功能的使用方法,包括文件拖放到目标位置、批量文件传输、进度监控等。介绍文件关联功能,包括内置编辑器的使用、文件类型识别、外部程序关联等。说明传输队列管理,包括暂停、恢复、取消传输任务,错误处理和重试机制。提供文件传输的安全性考虑和性能优化建议。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":2,"progress_status":"completed","dependent_files":"components/SftpView.tsx,components/sftp/SftpPaneView.tsx,application/state/useSftpState.ts,electron/bridges/sftpBridge.cjs,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpTransferQueue.tsx","gmt_create":"2026-05-28T20:05:22.526828+08:00","gmt_modified":"2026-05-28T20:24:23.508148+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsnkCFBDhdLhs0qq8EVp7GtziAlV7+wB6B1QNHBlk8EJKx3O1QefjT63HunLOjZDtJpkKsJEiGF7a49tZC27Pl565ZCzKnkluQje/ll+7Eb+/cBRIVvghA/hpRqHGRKqxTTtlvYC8fNgC6ZvIhp8WSQ/Ic8AW+bgMxriwfqL3RwIG5QL8tfJR3zKQKcZhIhrWgHxkCPVDW2s/wDEnpbmzmV1N/mGXwB9ONNv18fTb8QSyT2NusHhD+v1x53lG9N9pitsw2UrB1sA/S9V15gqD055QoWRCzG8rhZ+O4qwe5XdJBnkDefuEv8Rgqhl04KLyJ+Oom7whTCmA8n2hGmRJ4AlIyvN37FIlcz0X+L4ave+5Yaeft5HOyzi4pGr5FlZJQEP5WxpBaBBJPMmYynAmiY0CbrPsaodEf5A+MW7S/HTRwLxpIJsAIZNfmUfTAXQ49A2hxvfFDBoDrxCunAdkEx4GkL0mWS9TlySnGGTQT0YgJkJD5tJCNfee0m3YpNI2Xvr9rDYP1Cq6q6tNbl/2uSuwNfJld4iakvfnXeYGJOI5owRSGJ2kCaOsKS0RLKpfTBnEI7Ey95fLNgI2JNVnYsgPfNDCP90fIdFgqjMk32V47HV323U5viyhjHs43R6OmRGajHcxO/18tvbFckVDnHHICRMIOW97ZgHabzbcKIhBjkAncyRA13ki/dWEgjRDihS51ojbQ0z+tay5Z2Nv3X0kUp/6gCkXsVtMqiGIi7tHbegG45LPWjVhnqAvONkDU0i25PPz4ThmxElrrMMtr6jkEW6l2DmjRZNUIhQZxeGasOu7Tdy5JBCvU8gJyhvqgWHy5KbS8bH9bDH4jBxTa+dYxhV1UBOCUj8HcymVcp/41HNu9r0Fjed/EOU0qYhAlv4dl1YMVlLcpfkTCWCdvSnUoOFVt9YWBAyn63kUvAn/TCgn9LmbdS0VjH8hTXTEX90Rc/2h8xtcMpCyI80me0SDUezVA4Wvpg7siLv93pf7igmrpPW2Q5xg766sg1/XZ2tKndKSQP54KTuUcfh3VzQL9hrvSoj0YFJ6jcWWaZSf7C14ZZef/wJ5F5+2KWzU3zdxcr08TU/GcRQvgtQAMBoErcih5Eq9YpmXMY5IJCw87uS9hrVPmZwuPSUcUgbSrsH/ggGInQzuRFodB1dNRVaFsA3URE8QVO3ynOKYiJKRUtn2NPHVCft+BEn02Ev6MUV0J2zBEGRypq++d8cPtC/wFZUd7h1N5F3C9XbTSumaPx3IIZbBOb98AThK6Buxgg8naAu6IeJ5ZhK3UX0JFcLOge8+mUywBom6/oWAdokzItwqEKQVzS9oIRMTyUnyOVWeTQlgQRo4WeMPi0DHFhCf2xAAfhie07Y5PYrNiPf7e13hd69clZUkgErMNnLMkcPPqMMGUYOdxP2EsuEh7fOD4KcEjB331N4rKXvmAIwb3+pt0zmGfG1x0wsWPhyRC8cLs6Sa8DqAx1cLlLazur/wDiCxHdunN6H7gTBCp0KiJUD1WFIQK9M13InvDmW5SLg==","layer_level":1},{"id":"556ed570-1cfd-40f6-906f-450d95ce0cf1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"第三方集成","description":"third-party-integration","prompt":"为Netcatty创建第三方集成开发指南。详细介绍外部工具集成的方法和接口规范,包括命令行工具、脚本和外部服务的集成模式。解释IPC桥接的扩展机制,支持新的系统服务和硬件设备集成。提供SSH客户端扩展的开发示例,包括新的认证方式和协议支持。介绍终端扩展的开发方法,如自定义终端模拟器和增强功能。说明文件系统扩展的实现,支持新的存储后端和访问协议。提供集成测试和兼容性验证的方法,确保第三方集成的稳定性和安全性。包含集成开发的工具链和调试技巧。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":2,"progress_status":"completed","dependent_files":"lib/,electron/bridges/,infrastructure/services/,components/terminal/runtime/","gmt_create":"2026-05-28T20:05:26.320886+08:00","gmt_modified":"2026-05-28T20:24:32.293496+08:00","raw_data":"WikiEncrypted:WxCGFGSl9zR6IDeUdkqKNACFcGLyx5HNn0UQzHtkOJVoVN2BLrMtPbbNkfhYYzEQGaeK3o4fBODff6YTXKxAV9r25PiA91pVAyCIpt0MINvO5TEzagiYmkeX0/qD++l8zX/bXS6/Xa4/0mQUodNU53H4Xd3JPbaEwPXoJcnfrsQtvNdYtrflHxz4Gh5tyflMlJW39JNYrhdXKUQ+oJOx6QQpLQu1/w3LIzL/fhJghX+S69KvJOdG1L04LA85Rv5pzsYQmo5cGtYSVvfki37ASqZH2qb9Tk5FOUtkabveMAM6sQdJNFAGWw11gg2UgAr6LbpdbilLFO0uyGzNpO2FlU1yhfhzZIpvpcqscdqlgZuq3wqfpiw7/+QL0wpLS2/sOZUfgPZLmCDA//uWHEPIFU1dtp6kuZv/XuDJngeqFgNeLxsEp2ZlAQ7MuGEhPPKfNBzidRtpE4D0pGZpCMwZ4ZhM/y/8c/FcushJAmKBYoFnRvLdAYKjAqC1mviSTLCqg5UNdmFAzG8OxZY+59FnoRxyD1IS0DB2kT0IpC+toEewRQMePsQSg5nfYqeB9c2nJlDCp6JHroiZAPakf7moqVSH/daO+eEhPVSaP0Ns7DezMFfx5DDzyw6tJ7JjL8weBwizE77QWwJffDih5Q4GG6csDhqTspvwa3q7MrHqWsP6UVNP8mSTUqqJrIcd3PSpHoJvjpvnZJ7GrNT+WSMi1iGq4z/GI394jmGbxQLwHPA7D+cNbv04gUZxBnvmVRkqlnrHhdSL/Sq3YBohMWpzcItHhCMYp0Gp/ucf8VsxFxkFjIXzpRYNJylbAfomVGZwUm+UqSsS3HTpBxYiMuuZJL0MnOxZ62jFYxjqxnbNBJ2IcFIDqzLigKVyGb9FzsiIaGI/MIWLhCQtb22HeKZGccn8t/V5XL0ZrU5PvkfQq8wf/sNK+zc0tEk2qW4NZa72UZhxlM4/eIiSS+/48MYxyZGO6Sw8a7zroVAjoWFDKsfmrxftX7E44EiWtj9ZdJHoFd6cOlr6ZSkU2nrSLJaq3ajHLuy+HBrbFOaIns/e1k/PGb5+H3EisfUrvP2wHNte++nod7vpKpT1Li0qGhi5/FkZFJSwkM1kBOZ+Vv4LoHkT3XK4CtjPIJtU6NyNwAhHM0nJrf482R+b21F1EY7elR+VprzNZ+BW26V41ka4m+b5aKtediLZ9AlDaAHIzkrft1sbgYM7qrTn0VEFAQ/a+riplr67fUjsj5kNsv94j62bhHgosdgbjxJduEXBKthS/ulaX3fhneS4+S/YASzNLCrie4mD9rOhOVQWMzNvgRE=","layer_level":1},{"id":"da5af3f0-4251-4700-9284-7ee621720087","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"Electron集成","description":"electron-integration","prompt":"为Netcatty的Electron集成创建详细的技术文档。深入解释主进程的架构设计,包括窗口管理、菜单处理、系统托盘集成。详细说明预加载脚本的安全机制和API暴露策略。解释IPC桥接层的实现,包括如何将Node.js API安全地暴露给渲染进程。分析CLI工具的实现,包括命令行参数处理和工具链集成。提供Electron配置的最佳实践,包括打包优化、安全策略、性能调优。包含跨平台兼容性处理和平台特定功能的实现。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":2,"progress_status":"completed","dependent_files":"electron/main.cjs,electron/preload.cjs,electron/bridges/,electron/cli/","gmt_create":"2026-05-28T20:05:48.207496+08:00","gmt_modified":"2026-05-28T20:26:15.045066+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"f5e61dbd-beb3-44f7-b208-05f97451f629","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP桥接API","description":"sftp-bridge-api","prompt":"创建SFTP桥接API的详细文档。详细记录SFTP文件传输的IPC接口,包括文件操作、连接管理等功能。文档化SFTP会话管理、文件浏览、上传下载、权限设置等操作接口。说明SFTP连接建立、目录遍历、文件传输状态管理和错误处理机制。包含具体的代码示例展示如何在渲染进程中打开SFTP连接、浏览远程文件、执行文件操作等。记录SFTP协议特性、并发传输控制和断点续传支持。提供SFTP操作的安全考虑、性能优化和大文件传输的最佳实践。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":2,"progress_status":"completed","dependent_files":"electron/bridges/sftpBridge.cjs,electron/bridges/sftpBridge/fileOps.cjs,electron/bridges/sftpBridge/openConnection.cjs","gmt_create":"2026-05-28T20:05:50.53297+08:00","gmt_modified":"2026-05-28T20:54:32.303649+08:00","raw_data":"WikiEncrypted:Maf+1BBT+sdBc4z1SxSjjm58SgfmL9TsjKIObMk4uB2ZQ1ruKlIruMGXw4PsmCvwjIv2Y3lsfZjX+E7SvMXXP6cc6bIZzQAOrZouqIlXclFwegwwZi+MNAVUX7zBSx1Kdzt6yGyXsWI+gNK4SPfIoTcxBu+6zv78z58RrB6/7Ra5ImXQd1CVIfuX2O3vdzGc8VY6GxEoc8NlR+K9LVQ3S74Y+uKLxY/aPDgJf+IDid0+t1wmIilaJE1WbDOduviQ6Fqa3Ex5X8vPhjjf2UTvMM2+1vrFvHgfzIl3aLicu15tPH/pYpPcLVx81l1V5aK9UxpFHAinpoCEVTTB+1yePJVnTkI2+s7UyJklfSswp0YmP9fqYeYukYu3SKTzq6/C6gcjcMD44BkzPd4ZuX//QivSpGi/dvJ92E+FtNbSpREO6qJrP3nM1auhYb/pBtvcSI4WACrF3msDAH9wa1UyWYg6wsBdxSuVwigPpYHDkqCuzjTUuuXGn6VQpCD6dG9rY3bp1vtUEPN3vlK1nDEaRX7WqH+Y3kCrmGtcy3Scm8oCckXq7u8T1nN64BOaotbgFNDZmCL1INlrmMDzmW8ncOdCzNGZdrfO7xEM0NhfpWMDHfJY23e5+6FrdLcpkDbMR6bn8npyRGYgFjdxV6qSqRMrpNChQyVNGtbtBYQlXcxbwZ9jHyt0w8QBaJmHJ451cU4pU4CIsgFXlzLdYB3NjqnXNv0uvaIHAF3Or3R/n8kcvUjd7ilY28nPzOWdiKKCXyBMt0g4OXtYRYA1cYRJyp/SdsH4GwRIjXVwbMNYuu+RpxzcZqNbc4aSQW6WE7Fml5Uoo2gGJmEVzHqtygC9XLrVJQuX+zOAPlPjoA1qKSX39DOPswH8sjpNiKEhrpd5Kfz9waUCzvNvFpRhJZG01F3vLnvswPoE62ZGhsyQM7fAgcr8GclWjMgFqwj2pVr0EYtQUk3HW690vMSPmhMj7L5Wh/v5JUxh6+hidNnoyHkbgFd5njx4uRVtpaYg2Pdm6DYH8stAc4brLMvneh766uvdnNL+8TwY8nTW698VXIQZOBg34PvwWz2DxvY4Eee06xzCnvsIXJRrh/aZgAvE8THMMIEm5Lv8DMZ0EnQM0CIxw/SrScPSfVOGxFT41iqlF81Tr9VlbqsWhv8dyOXNmc9Omzb2quBlAJ8CdkoFKU/28OeZCT21giTrTnbPQfYKMxe7dAH/MdrlM0kYWi1mmy6r80/YBmPkwfowf5DUit4QgCFVcLMXAT+V95MoiCdF","layer_level":2},{"id":"371e9339-c3fa-472a-8aa1-01e31ae98f5e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP组件","description":"sftp-components","prompt":"创建SFTP相关组件的详细API文档。详细说明文件浏览器、传输队列、树形视图等组件的属性和方法。记录文件操作API、传输状态管理、冲突处理等功能接口。文档化文件选择、拖拽上传、权限设置等交互行为的配置选项。包含SFTP会话管理、连接状态处理和错误恢复机制。提供SFTP组件的组合使用模式和批量操作示例。记录文件传输性能优化、进度监控和断点续传的实现方案。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":2,"progress_status":"completed","dependent_files":"components/SftpView.tsx,components/sftp/SftpPaneView.tsx,components/sftp/SftpPaneFileList.tsx,components/sftp/SftpPaneTreeView.tsx,components/sftp/SftpTransferQueue.tsx,components/sftp/hooks/","gmt_create":"2026-05-28T20:05:51.882198+08:00","gmt_modified":"2026-05-28T20:56:20.7541+08:00","raw_data":"WikiEncrypted:V6SBJOxOqVqHyrjzZsh7p3y3WtTasWjAFCuwitrI854leUgT5gCB0l1xUOogy4VEw+JCPKxU9GgPVmlBykeTXFOFsRiBXgIWRcb9QfjN+WzZya8rTGLQgrolsCPuQyRztqI1h0gbNE2ppbuovQvjoQOXb0R4TT6Bcs1Sw/v/Uy6qlSPB0Q5380idH4mA8o32DIHzP+st4ZXffBcBqH4Lb47VYaQbfKRj+tkhpQuhBDtlozPmpahl4TKI3MMyKnEY4Z/ddOxOyFL3SBoioxhz4iEKAxmhuRGnzBZ73MWy9nU+L9kZonfRHfnsLCbZzMoRdky5/MrALbMEzTs0lxDhJHhyFae42083fC56lASCP+sHZgfYIE4uVIv80iKj3BbgeB/xAKGpkGWxp4Izeibs5YSctpAvP9LXDfVk2yb1Tpw9pTOCKeOg6H/KJO49YCa1DL2lL0ab7VyvtOBmJPrbdS+HJwy27BO7vNULlQVJKWXyS9g3WeWvXiWkYKwj3kAh2HmyPsT9SnTd5QmgSyJtlrvoPNx2G1Z2j+QCRM+hwpSi8aIOELTruJlITXmvrk3Es5DYmQwJ59JSI3SgAvv5qOZiuqERf0qXJp3qhFMBGkd40zx+AjMQuAgDcvPnXUUIl4Nf3CavrhsN3+wNnI5gxF1aL4y8C2zqtuMmMLSgmwgiavIx/kspE7Zk5ACdw5pnWT6ENwD29E1loAawfZR3z5du/tm01R2p/y4vPKRbOKQsjcQp42sgQzVECvSU+LVU07XsuC6SWBVaVurzSS5nqceMoo2nsUq4GZLjZN7kH89e4wAgkiQOhZNHI2WvP9fzZ401NOk9aKluqkmW//BqzILhes0i/VcZxH3Jj8P2f0jChqCv2fL6aTuVR2p53l7aRpGfny5VHsb9c1hd79VT97aC4R+P/LqL8QxMvzMoJ6TOPi8SlxV8/Z5IHbqR2xv8AOnxaTeto/E9CPQfhQ/hSXlWU8oHhGruoPNlzt6EmKVZkJEG3TftSyKhPRcgaApu2umiVmCMFKpWtw3gcled7IqJ7Lwwf2FbU98Fm+SWxw2EdAJSIHE7WbwhZDrzQa6ietB+4hNYWerfYN2oTsWBNq4bb6QkL2HnBVmXUM3EL5UUaUbhZEvQmCeN/rxPqK6AiHrhm2iPoiosJtg632lKP7oBtbLrGRaHAAyHtDvlbjq95XY7+SdVfj+CaFopfFLycXvjanHb7wmTbQn1m5bFEg==","layer_level":2},{"id":"4d7ffc05-5416-4089-88de-4afeccb391b9","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP模型","description":"sftp-model","prompt":"创建SFTP模型的详细API文档。详细记录SFTP文件传输相关的数据结构,包括文件信息、传输任务、目录结构和权限设置。文档化文件对象的属性定义、元数据字段和类型转换规则。说明传输任务的状态管理、进度跟踪和错误处理机制。包含文件操作的API方法,如读取、写入、删除、重命名等。提供文件监控、冲突解决、批量操作的实现指南。记录SFTP会话管理、连接池优化和并发控制策略。包含文件关联、预览功能和缓存机制的技术细节。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":2,"progress_status":"completed","dependent_files":"domain/models/sftp.ts,application/state/sftp/types.ts,application/state/sftp/transferTaskOps.ts,electron/bridges/sftpBridge.cjs","gmt_create":"2026-05-28T20:06:08.451734+08:00","gmt_modified":"2026-05-28T20:56:02.763045+08:00","raw_data":"WikiEncrypted:swhmj8W4Qkl9biGmcvbwwlC2Qvr99GYnVq0XEZZinlrzIdCMZgmLhGBovVKbM3IBWGaqjJiC8stW7dKp6V/VwSHbsuk7kP0reVjKcJOfhkOjrR4ViwbrtTZ/41wp4l5knMopMGk08uErdZ4tPQiOLrFJ3HVlo5k65H+8RHIflVdtulUr+9NGZAcAxXvJqHnDQj4FStYk6tPYmB7pDFjp4BRarvgJzixMUcM+kNbQdZOmZI7pQJQVBt0AzWGMguqLoq+2pDPsslA4HU5iWYU1/gwjeAH95Bpw5B9edX7sOWohfPW3A6lC/ZHFGgkzGXQkwBE215TpWNYoMQsAf8lZSOuIDJqhplNR5pXzmjbLQR+K8W5ceN0pHVn9hcB+lMYYt5GgL6bwNk7dPJ3fm7KrGVX4Zh8/f+3yXrLzysOpE9rvQjiY7XVTc3DOjRC3FFhHtCEtIN+l8gxEWYVXbE+0Uk/bzfOqoSIgsR/bIPk+hCeHG1NmmB8TPubAzsApfIFTjWBVJgNeLABjjBG6LCz72yKR32pemXNltS0JgfUVcZ9iA8retjkzLaZD4O/9981sH1DZtnrV4xLGuayqyieAhMBFSPLtha1FT/1U3lKnA10Qz5zbCwXqmSfpkAqHJH/UF9WY7WUpcFgy0E7PoUMUbdyqDkoV9YHazExroMcm+ZYHu3tCnpJILS8VpTRqHsXbp+oQ9GhgB3YbQQ/a2y8Q9tUsjQZdcBjgtM0/0jFza4Qo1qEF3itNO8oPRkCziRhiUFqo8FHjlnkzBAH0GJy9MLa1BWzVdSPaZxuHdWie9j7VbtOVZ7lBFiycagGntEhvyEHYfZKtuKFMQPTar4Wooi4UjXrPEyL8JaUaqn4fAqotzqVVPWAHB6itcyfXu8UzJsABoB5zPHjk5jzZ1Qx4jeTifG6a9IkIb0sUOz5yhWei8Vvj/VUVMkk0LA6LsRNpizSqZhQY4ZcMpxlII9k7GD7MzX9YT2ijgc9PFR18YhUvi99GceaaY/QbVw+4h7yqVhRnyBMzS7qJ8RnnVtuXvc9oD1tNi9kNtg0Ytyn8T71Y7Q9UfAqO026j2OC4lE/vTPqFYyGX6pUeSRFMiXZTJMDGmVs3h1ry28zkMgZGxG0riuvueaCf9TgIihjoow1KCmsow6KNGGCgIzKj37G0XvKCH2ta+BRmCtcyWbCnZcnXJ7I7ojiKqgepUmZ4flJCq/dRTKSPtNO6iABLstBl0RFLE0V084AcpEoaHi2o4lg0udV6wEupUhQ56KrWdBsLfngT9J775CEPVuuyuOYAQsOQSeh2U4bGVYxT3eC0bRY=","layer_level":2},{"id":"dfa19a59-6ae1-41f8-af37-7dfc7d5a0dad","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"认证方式","description":"authentication-methods","prompt":"为SSH认证方式功能创建详细的内容。深入解释各种认证方式的工作原理和使用方法,包括密码认证、公钥认证、键盘交互认证、证书认证等。详细说明SSH密钥的生成、导入、管理和使用,包括私钥保护、Passphrase设置、密钥格式转换等功能。解释凭据管理系统的工作机制,包括凭据存储、自动填充、安全保护等特性。说明身份管理功能,包括多个身份的切换、继承关系、默认身份设置等。提供不同认证方式的安全性对比和使用建议,包含常见认证问题的排查和解决方法。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":2,"progress_status":"completed","dependent_files":"electron/bridges/privateKeyNormalizer.cjs,electron/bridges/sshAuthHelper.cjs,electron/bridges/sshAuthHelper.pkcs8.test.cjs,domain/sshAuth.ts,domain/credentials.ts,components/keychain/KeychainManager.tsx,components/keychain/IdentityCard.tsx","gmt_create":"2026-05-28T20:06:10.067837+08:00","gmt_modified":"2026-05-29T16:04:30.697563+08:00","raw_data":"WikiEncrypted:1O68LCvyq1zgacF3KZk5YW4/xVzMHveN9mCj4545ml52jH/1T8laYOzlVCjBmW499P3TKh652iEwUKwxO6r3mfclnfd/rIhi+ClePK15NxhwOJfl/PoCHJQDWA5MCvXgD9yPJWdRotOet8K5jgpjI9gpkfHbPrJyVFPguG8DLXTkmrB1PDvoljB8ABuQGXhhsTh1gQEnH+3OlKFINOeKLc9TRtlfzi/Tm/NiHatMbALqORMPa5gNZQotZh2T0n5G4F/yZCdeLLUt53OvlLNHbsdjihzQC2w0QiKwWmAn11BZwv6hTFM6LFIcpazrGmqXVsaCbm2bOmi9JWe/fzAYEFT7sHhHyX5vqWn+Pny0OJqIZphaq1MEm0beiqAW1AAdWu46mWiMEO/ei+SwdQrw1wEU7tH7kEZrTcim18WtsLIcHKYAJObJfehGsCX1fB5pKHiXy5g41zcRmcEZQ8+y/asxmNte2mpIeXp6V0TNhFolyCTX3vVfyB1y6Lf2wyS1Mu6JO6rmC8AEbkOYnmem2YKM95IElXTL+sL/h4gY9Caf6WakT3XyZduNniaQCRjcMpmF30mXbY7K9ANPZpZJ6feEqymPttfatjC4iWFVWmhnaP1jVBKL0iyynJNVWqhU8pOLTwXDXCe7jv6z0rFCY+zuZpL+RLcqx6tCnYjsmj5gbU0FoZ8VcuLk1f+XNZmvn/cJJOtKbQPCwfDQD55f4SODcENHupiA9nCsbdGmrW3m15i/VUamU+PqUxPeF4/TYxe6lQuFrrdAPN2LPCyek/H/PNZX/g9Vmmw0UAZy7UIgyj1TVKhNrgJSJwVyaVRpmFUw2VyVJhLUie9Uw3jPmxGKESSaz7rRAXIthWlfHR6wT3y3JbxBki+6ZFypvegvMryYxEU6aoD8vuhmz22PxP/vCfLZQmX1ppgsdB5rNghF93zYttCBxtbmQbiNNu0xLJx6DYr+O43+BqphlMQZppIYDNveCXId3EHjKrrqWYylL85t0KE7xuVDPDtNQWfw9Bh8/V+o/i0z5N+tRAFF6F9gYqb2y8YrqW8LWQ4jHnjSonNM+ap3hY2jl4fSacjQAb/cIZjJaFGCcQJCumnHHKGHqGQBhRKE2YFEOkvSjZ7tw58QfdY7V7xqaXwyaFKcJIc23eB53QUrRhBJ9T46lGK+4A2IE5VehrF6S5glOPqrsbBqlizZDKNid95z1uCvCRooAt6rQY9tPl92JnxIq0o5KeDeDsKwlcJFflCBb0rC7UpzD1qmnkfczh4ovJ8NF2rsLLZnixzUCLGrNijEw8TGcn1zgSU0G4GwSSV4NIurWflU/BuwiVkt/XzDNZmjqvh6qgk1BxJnv5M9ETk66ognZmgOxDnTxM03RufcUWhg+X0o0egMmsGZbNBxZv+BavnJMRxzchVYUf2GlXzK4rS8v+Ufzk108O2PdQW1cooUqXHdTXaahZVbXYh7Q3e8DSjh/ewueAiD6GdB0Ng0aHLfq3JcSxpLLSjqYaQObDtvpsb179Fmsy1LzZKvwmYz","layer_level":2},{"id":"c9f7477f-6d5e-4f96-854a-19ed0c429466","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库状态Hook","description":"vault-state-hooks","prompt":"创建保管库状态Hook的详细API文档。详细记录useVaultState、editorTabStore、textEditorSaveCoordinator等保管库管理相关Hook的使用方法。说明保管库数据结构、主机组织和标签管理机制。文档化编辑器标签状态、保存协调和SFTP桥接的实现细节。包含主机添加、删除、编辑和排序的API说明。提供保管库导入导出、备份恢复和同步冲突解决的实现。记录保管库相关的状态持久化、性能优化和错误处理策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":2,"progress_status":"completed","dependent_files":"application/state/useVaultState.ts,application/state/editorTabStore.ts,application/state/editorTabStore.test.ts,application/state/editorTabSave.ts,application/state/editorTabSave.test.ts,application/state/textEditorSaveCoordinator.ts,application/state/textEditorSaveCoordinator.test.ts,application/state/editorSftpBridge.ts,application/state/activeTabStore.ts","gmt_create":"2026-05-28T20:06:17.569463+08:00","gmt_modified":"2026-05-28T20:58:34.487801+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3r5gZfJKUF1AdcmJx1i0X995HgdM6KPNUQ49Q5YB5tPqwGsqH5CxuxamgigOA0HtwBtchU1sSzM1neEna3tBHQ7bWXEnNaU0sxZ0bw1MqrglBoOZKdXxkDkm4jwaWM9+TuhYC3Z7CDuR0Cq2oD0PaOzh06TkzEHjXi2ooMKpmAyth9BqDa7m+9mhGhhqYFuik2S6yYA1YqXgNstXExjBLsMY6o8+a/9tP5d645Qagcq3zq5VKX+OwCPJ81DJ7tHqcBZBS1cBICkUFEVWAJu+GEPFHAvOUw5FEhYliy11cp21QFIxUWtkJFwr0HYJHcwR1zW8K1EHCxLCIFzpb1pNwGcG3b1845Hlm1V7F8Na6FVmDoq96uG8IJyLUF9kiL/HL6JZPPn/rmiAkrFwcLTrzIMeXFkt3XDYcdTBUDK0vGnStLZMEhKFiuZi5xrI1rcjFtvjAtMUoPH1zuY6Exe0IuDyVGkA8bxrFWuWBgaI0py61uDjja1T3jvYSF1XE5/9drV5epDEv3DQIVUB4G9atZbP8vJ/I5Mu7kR9eeN9eBk8DmRlCjLGoF3Yc2OtBaRC2gCcRpSyhevdrlvqAY8OkfO1gzRKlZQe5/OIS81O+gYaotJoj0pffz0+txZx9d2fFyEJbbGGy+eLm+Az7jAI/LK9KL3BD+ESRyde+ihl/ryxlTixqsUCRQz2o/w2gnWD9H600/IQc3ilJ9xrc/yUk0FYOf6Mt0G2M85H+7jhywFhZPPNAk7peq9pd4XeNmh3v+XYC0F45vLQDFHgR4WaZk5F9rctr9JInmd/zdVx/16x/+S1pQkIhFGjFHVpv17hk2+c7ZeifWx/GXqzSYjEsbIdekL0iAyGMq7uehZWcdM2FPLivs00ALjTfbKnCpIe7BqSprnihGHBiYtV3bxk8NACK91dUCixG9eizeZ2R7Kf+LKDaZIs4x7MB64uUy04cZAoXYJeHxzqQB+Treu6GJnvc3Z+achE6gJwm9r8ToyLgz6BlEi6kDD1FS20+cALBjkw6CwZi+Xr1Xk3++dPtCQ0Vd+1X9DyN06hpMileIx4sj9KG+zL0ULCBpXlkTB6N80OOp5qoVqJTaRSx1ehxB8WveOiEqpokfk2jD2aIyQDswHcw3acHpMw7BOqWgs/zClcgSmgjFWGw27KImn3yV7thlwCWLpRPDFEZuYKVG0kjwLFkShhci/HTSTuEje3pcO1cfrLctI7O1i+z6YasJUEZZcUJxJ0+qcQ/l1ic0kvnKbsZ32icu/52p0uE5OFIFkqGNeeBpVXr/wtJpgQLNJPED41hoSOP+rpPiAavvnaEtUjieRmVkAFrzwGOXFRYhSdi+mkjsu8rJsTkL4BdRsVlDZ/+QqVOPVsm8uLixUnu22D+s9w7PvOOtz3KBZQF9rFyGmWe7wVsUTEabvWSEWlMWv5YZDsRcRUiaCi/Tmt2LUqfbU9leCtHwF5CMM7iV+NgmwJdpgnf6CKFC0LXQg=","layer_level":2},{"id":"7d32c18c-49bc-4690-8248-e2296c3b0159","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"标签系统管理","description":"tag-management","prompt":"为标签系统管理功能创建详细的使用文档。深入介绍标签的创建、编辑、删除和重命名操作。详细说明标签的分配和移除机制,包括单个主机标签设置、批量标签操作、条件筛选等。解释标签的分类和组织策略,包括颜色标识、层级结构、命名规范等。介绍标签搜索和过滤功能,包括精确匹配、模糊搜索、组合条件等查询方式。说明标签在不同视图中的显示和交互,包括列表视图、网格视图、树形视图等。提供标签管理的最佳实践,包括标签命名约定、使用策略、维护建议等。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":2,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/host.ts,components/HostTreeView.tsx","gmt_create":"2026-05-28T20:06:30.344092+08:00","gmt_modified":"2026-05-28T20:58:21.634581+08:00","raw_data":"WikiEncrypted:sAdMLjEpcxajdAKOCNqfND2nHzYJkziLNMRbARNqKOjZoOsSXlLJLDxfYTDKa+BlQyJ/ALTt/6aQScoAiMouSM2V7fyi8UQSdXJ9txHxM+fTxwDENMR4DWUeVNSoESYthbmeOe+WxxGcrXCCMTNuyJbGVaUg2M1y86QLLU2klvOCxJjal0sRviHibnpkCdpQmb67eh5ekV2P6TBBXLH6FwC9KKQY6pd1NOIkTbxppGPRis6fh2dmtz1GsfnjTQZhRSWiaYEB1Q5etUaPXJ0mODF94hK4jfKYWXhWY7jIi0Lh3asLhrRN4xFxVbYD8LjUFWpIUcsW7APY8Ixq2AqZB9jIEx0NKJITdH1xno1xauEWn53x75Pjn2I2kRP9P3l0Rx+/xMkviFy7nTgl7hOM61FJlWT3z5yLgo3vXnVp06z+ElJY1H9VuM1iLyjDyGuXT/Nj1H9i0vU+h8pOS6SxbjEhlosaAj/EkSSc0/E1hmvvjZn/IKl/Z5Vw5qrBgF4gXLshm7v7ugRQ4aC0Vh4MWgyGFIFWZTCCtobH4rXww3u5sKFY6gERPSKO9ou9pW/oTZUQaGIQhPct5nhEybxOUmzj2GegzzzZE/SNNmfDTYJD/1ZTWihfXMEfDax4cngTnHBTnbig/chSGmDPykTvtLyU/TZJ2wSzlpuITKm4MhUbhdAj8zKm8EfZtxXLi3CASBQCaoSDTprLeGxfVhuOm5zByKrKS7A6z31CwOA3iz7f+T7491OMXv8f2nP9Qr1kSXUjw+VCLQdN2Oxfjn5ZzTrJc3XEYwR6Www3Gmez/rzYGV8oHBEoBx2nC03VmMSlkgz2NK7uVuxosP5tMe1S3g5hHZ9oqle9x2EUjUyRRW89W+xZVHZKb6o7fSi3G/Xpel43HDCA4ztLOWWOPnivH6Z+9Iu7nWRXvd9Ong5BfUiYxjNzmwPRiN4X8KWvoryc5J/5NBSe8iGmHucYyyCZ5+xVBLFdhuG8nio/8YGM3MkCen0lxOjbnUZWsGmBqTOILtaSKqDw8u8PWesmCVks5GpUBRf6P+gh/IZLSRobqppSulc7UfMjY4rD/FGUfAcw5htulGRwbsAf9PZiApa4dl7qa9pSf1/xyXr3Rn3Yss9Rfi5Q+lRVenlj+YJnvd92ppFqFtedtQXuT3jYU12qLzU4gGp2VpeUM3S/5Qftb8S0GmS+e2fey4qgLkdX5dDcpM/aaDtlPguu0EMJtQO0rw==","layer_level":2},{"id":"7464267a-5878-4386-b52f-5b5fa2ef0315","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端搜索功能","description":"terminal-search","prompt":"为终端搜索功能创建详细的技术文档。深入解释终端搜索系统的实现原理,包括搜索引擎的架构、搜索算法的优化、内存管理策略等核心技术。详细说明搜索功能的各项特性,包括文本搜索、正则表达式匹配、区分大小写选项、整个单词匹配等高级搜索功能。解释搜索结果的导航机制,包括向前查找、向后查找、结果计数、高亮显示等用户体验优化。提供搜索性能优化的技术实现,包括增量搜索、搜索缓存、大文本处理等策略。包含搜索功能的配置选项说明,以及实际使用场景的最佳实践和故障排除指南。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":2,"progress_status":"completed","dependent_files":"components/terminal/TerminalSearchBar.tsx,components/terminal/hooks/useTerminalSearch.ts,components/terminal/autocomplete/useTerminalAutocomplete.ts","gmt_create":"2026-05-28T20:06:31.734701+08:00","gmt_modified":"2026-05-28T20:58:37.58907+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjD3FibYHeHj35G1lgTCeAi5G5zHAtv2RBUx5GheTDGjFOzes0o0WzWf2tdKrwA57ldMzthih+06+1d0hz1gs7SxQSkKPQCCHBJV9JjSRcwnPnvWr5TVgWbIzSouXHv32d6Zx4m9NvvUBrxKosp4qzEATAc9m7nbvxvrItZds+9Muj81Ir0hQ+g+DSkTDTPEwXQzDm8BCVE7cISJ0igPe3Mk/Tx67JiVE0BrjcEs5U/I+g3PjVd5NpkTVnfizjqctHCSoxGEW3UKtkHfT5q98BvOPcZwheGx8rfqMNycsEz9MmsTRg43b0Yc7xKETqwmDckccXwbzPQJUfnAMzQs1/D8j0P17aCTbxJGkg9NwtvHV/t5ruLrnni0kYc/fJEhY7DExYrNflEVNZiTDkEmAdLjYsLRHZFUcfOMZZAKboPhlVwuygGPf9nQkV3/fYFmDn5wz3YEy0OlRwRLaQuJqbLQg/pq1brQIPkbGTatb0cvgFIFe7NCgnYapB3gxmA/WdFeJ/dH+bJPWK5ujsvbODSbpcmEAHyz8C2oBKvVfz/bPS4sB5S2NaHhACPyAISHtKEmC29juG9dSlQIItkPVAZfU/kwzGq8+nVWe34qFHZ5UE844kZUiCect+5DG6ryoR4Siv7ZrKR5T82JQNO7JDX5bah/2MjNFTGxx9LbZW4wsVuIQRLTlQH23wa87DDJCDntn890bZ2gscaf3bLK7/VfG46GuszljuPklGfknv9LUpMAfsRihygjW3aPr9e+KKDWGGImzJOTy0Y3h/yd5KwXFUjejqdrrv7730PPz7zeKnqYDuzDq6mbfsb8T/ZA1CTpqJCsDwc9GD8XB58OKVWqn556hDp0fZj3noZ60sK6+sJfA4IJdxP/HlTT4r6mK70pCxKG8XEs0z7x/G3IuQ+6tVeGFpTHu9vBJQw1PHmXYysgcmo5k9nUjCrECm/AEaAUrL5sHDMke+h3cpbEzTW8QfdnoZxVZiBQ+yxjM+CAnYASCwQn7Av1FEvtfbZx61MAYW7eLzY11N+ilyj+dpoqvqoy/5cAS5WHL/wD8FffZaOz6/wIFzJLzLM2QuGlsUyvrE/OmNoiL6/0oEeaOR5sJ7Ui9a7KaodnMhQBkt7jnE3sgzeHPC0xnY5ethVOKVZynis1JIw+3sCgt86U2xqpIAJzVP1EPEkEJePRg7DOM+7bQO59qye74NjMUXvPg24gnHBrocqjCYWkA8aVEskweIbuTuqzb/Pn8pZKFlVdKKYptQOndhpuT3hi06lKpjeYgJfLndW2Xwz81Bwv5HgrN9wCg6TvSKVUBc/m9t6TKf0dcFo8JkLiLjtRXvYLfxs1Ds8J4p+TQtMObd+Xj3bxkEgHgXGk+lac5IPJ0iGyM4VLkkaBb6JHo3eMeHAmbQA==","layer_level":2},{"id":"57b18839-40f9-4af4-9a44-e46ef4e2ecf2","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"拖放传输功能","description":"sftp-drag-drop-transfer","prompt":"为SFTP拖放传输功能创建详细的用户指南。深入介绍拖放上传下载的使用方法,包括如何将文件从本地拖放到远程服务器、从远程服务器拖放到本地等操作。详细说明拖放过程中的视觉反馈和状态指示,包括拖放区域高亮、文件预览、传输进度显示等。解释拖放传输的限制和约束条件,包括文件大小限制、文件类型限制、权限要求等。介绍批量拖放传输功能,包括多文件拖放、文件夹拖放、拖放队列管理等。说明拖放传输的错误处理和故障恢复机制。提供拖放传输的性能优化建议和使用技巧。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":2,"progress_status":"completed","dependent_files":"components/sftp/hooks/useSftpPaneDragAndSelect.ts,components/sftp/hooks/useSftpViewPaneCallbacks.ts,components/sftp/SftpPaneView.tsx,application/state/sftp/uploadTaskCallbacks.ts","gmt_create":"2026-05-28T20:06:36.996678+08:00","gmt_modified":"2026-05-28T21:00:34.813278+08:00","raw_data":"WikiEncrypted:vFKxQ8aURhv19P5Srs3fZ8LYTF3b7UUBp7pUuBrbybla3gGSPVDOPJZ5GIKYesvpKRCew5pVdpSzQkk1PP1PO6G3p5UIqThtAo+8aTMYVX8+MVu7hvIpoMK3MwcqR8TAanDtgckncWdm7s/+KGQ3mbdY9uZC7PbjxDGVlrFoi/W0VVXKUw/ub/9o/6qBOqDCPe8anIC/B/cN2jDT3D0176oRAX5v5XAdd8LBub1I0KG7lKFkwaDrBvPAvLBDog3wcakpbCyC+gxu3NKfFvWBBgKn81k9havLLvcX6mEikiLWh+bQ96a+Ok9MIGCJn44XCVH/cm/u9yHTtV41GJJ91S0u9HLtgNZpGDPJIMEcZnqPTWJHr9hxztGPvL4ZHy03ZNaGyorkK15NUUsWBOShKqkSPtrfZRO4vWIb/Q24VeuSkTardb37QehxvtI8w8erNGs3dnzy9JP5fBzYWwfQNfBy7vJ58O7aFghuDSjfDINuzOriaXhhUg6v4oeJb/GldEiYPMUoyvrYJIQmPnxm3iyYiga8SD1zVUUHSrTTEGa3/0Ux5oCwuI9V8Bduev4nw1e82UFee76PjHAEONn1xjlDkRtIqc40tRPy1tzTaSTaCEHChLw6zaJLs7vJ29CiNpAl0Z32WRnfPiAIrp5T9ts3BAX7y2LqvIm4SWz2hXBNEI3uBnH50KUFSunFlDkVbd6CQhNfrWc9iRaFbqG1CvPjnEXsGIODY9oPOGcSTSX40C8ubo5fqSKiM3NcrjygUtZRKUEkuLSs8XJE9ColmQOYVdEB09ksKcPorDYNw3iR/w+sIfTZHXGTuY3JiczsXnJO8COiSMMwZKWnZEVc1iDa0AT/8mrco6OcthhVSippToDAR3gP/US/7+wGWBwGpOrrSu55baQ71eTsV+IXtYzLMV4Q3aYqZljpPkKw8o/kFpM1wh+jjZNqOfTxX1tR+m41DZKIbZAINvYSP92JoxAX6Y8Htyc9rWY6l9AyNdFI1cmF8LfUFdpzrVy5NEX6tzPAUvSoF8Ivhm+UGaoIOhWbmsqVfpnTwQReLJVqcFLL6+3+1LoS3MHTFEmWj5GWqRUOAESOpW6TlBW9MMJSaonXdflqZa/6gY4mSUkWrB9AH9Tgsk0/adkbx6SrMCvKB/Gj3GMniXhwcSv0H2eXBMTzeEzxSQiYUJk0MPmUln1CGVc45RHHRYVmC3f/H7dXKK8i/I8sU9Wci3crynG0pb++IGcYzxKRaKPnRhgDhTDtTepgz6ry3jDFp3+J0/YMW48aBLCiv1ZkW7yvtBvgk3ahzmLMKl1dGvRYEqR1lB20dfhoBKLjUEGP8Dsp6ddW0fNb6uFhUypiyhVaaC/Cg5XqhVRZSeGQFPtRc0iIsVgaeKbCkPcFg+Rdj1A/QzTsmHGvRwi7vQgpMRWztBubdX1+bZCc902H62U4fYvc3PFSrIU6hr2swALERfvk2/o5t2gcRaMnyCRPmPTolmZyQSWX0VVMLFti69zBHgCmhH8nS87VwiDXxk0xJgCeGEQ5XpDFQuVaBB9sKBM4ZQ5Kgn4PgxrLyB6bKk/h4R+rB0xpjjgOYDFL6FDhPWkdC1tk","layer_level":2},{"id":"9bf4fe2e-010c-4877-877a-14aac3fb2337","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"自然语言交互","description":"natural-language-interaction","prompt":"为自然语言交互功能创建深入的技术文档。详细介绍自然语言到命令的转换机制,包括意图识别、参数提取、语法解析等核心技术。深入说明多主机操作指令的处理流程,包括目标主机选择、命令路由、结果聚合等复杂逻辑。解释上下文理解功能,包括会话状态维护、历史信息引用、环境感知等智能特性。介绍流式响应处理机制,包括实时数据传输、增量更新、错误恢复等技术实现。说明发送权限控制,包括代理可用性检查、命令安全性验证、用户确认流程等安全机制。提供自然语言交互的设计原则,包括用户体验优化、响应时间控制、错误处理等最佳实践。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":2,"progress_status":"completed","dependent_files":"components/ai/draftSendGate.ts,components/ai/agentSendEligibility.ts,components/ai/hooks/useAIChatStreaming.ts,components/ai/hooks/aiChatStreamingSupport.ts","gmt_create":"2026-05-28T20:06:51.154251+08:00","gmt_modified":"2026-05-28T21:01:25.915547+08:00","raw_data":"WikiEncrypted:4L3GExt23LSb2hB6m8C4Qm8cndvGMSfEZ6KJ3tVTZf4N3nj8QfhHMkPwsJBG3tygjCsQe8J3pzrdi2DNOU93HGMScep89pmdTkaTosc0vohiux3hJe3YYNgJh7bHXCjytfg3k/DlfgZNVMgdaH/GWRZ9VzeRdmEpD9jTStCTWhvATG4djj2FekayEoZO2sPZIpnd8kjTDPCzpXonaZRVrsZE892shM2GVpFyETYqdjCMhD7ALH27V3LY+EJHIi+nb2JHwJBCx9e0Rlnf75zeBASvBdbXxKat3T09k1jokMBfmXODjZZn7P0BAwef2f3Aui2V5aGmevrfDSdnSwySkfGWsjmARWA2CLt6OFKt8z4I5EZrYvtChAQAQTCos7TIT/Sm+Si90BC//wiqOh0OPzSVCwvc/6aDP1KGLZ/VDJ8fDeQ0sMaLV1pXH7c2POFYI3nSfrL8F/q+3jZt9yOF4sz7MPK1KC+dQ3XY0Dmhg3GCRsmZbL3jaizwFq5FHx286+uHckyxbyZKUjUv+6hrKH7fl1x2aXTALJT6vkoiqxSGUrUWT2nviFU1aGzo43vP+o7CjskzaI/X1ISW62qmnlnT7iChyULvuImVU+u9bFYLnO7tK3OKYTBPlhXro6F/02gBXnfN/gQmm5OchWu4hh2Vnm5ir6VkBFsRGh78TF220GnjamLgAHbYxl6eySmnNuSnme5FTdB/BxXmd/ZlXkbYFy9DJlb0STxoI4LheeRThTVMDQTecNcZf0E73pBXP5oPk4B4b73PzQ+7uB7jQx2wPMZwaheJiYQI102XEp6/4c0FCtwwU1WZ2+NOE7CiB7HH2H69e/OmDYW/XkiQhkzChL2LokxJp8rplBc4nC5wlXe0+F0aL9dL0cv8pjkFwT4gJ/JwP6aH5q1MhmClKixae6DBPtsoupTe+8eLJ4+q+AZaA7Dm+g+eX/swXcORu1wr9bZv7Sj1YbTGzNQpXpPdDFCCwqaIfBSluG3hVf22vKNU/kOnJEpkkYsMRTw0tbTTxsemlc8ucI3Hj3opWFn+WvbSnsoKjvuKLgV3q9vQWDP68IYekelE5FMq0ys8tPF4pieKVLT8J6YA+I/WNV/T4tlAHqvX9t6IrkNazekt4O+qVRt2A9Ca/8ntZUkMgHJlcyc4dK1v/8ULPo9yi/YG9b4hOPajE1/8zYhLQ5X7iEkmZzeExHIibqhWyeTk0PjSbrfgv5AyacXINCKgl8W7yYCfNltEuP4zuHPx6uoS8Sfv/ziRAwZ38gqd2wnTXwvEyoI8Bs6dXC4eetYQ2UX9gPVQ/A6D6Z9NYUsGah9fs54JahtqCHaYoHY/A1wsYiK/giqzo0koD1jCDF8Pa/L1vymVGikn3j41AVervUeuy4a3JxTbCUZDv/FPXigihj28tYN9st9mmIYCbnZPsWErduphZ4avOpaNgzuOaFpMm1vJyPi/CtiBtH/ETC7KCxbHUYTrAYAE/cVCn2NfiFENSkpsENxixY3Zh53o/HdKbH3fTMPzqt3SMr6ksH9DenxYNPTXBZVFZrtdgiGpo9kOmxOc/l5N/X+XQ8mi6Wz/IUpmc5/6bL8flumm1jZ3","layer_level":2},{"id":"5823d155-378b-4d13-9e56-b4f4513a55c6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"模块化设计","description":"modular-design","prompt":"为Netcatty创建模块化设计文档。深入解释各模块的职责划分和相互依赖关系。详细说明application层的状态管理模块,components层的可复用组件库,domain层的业务逻辑模型,infrastructure层的基础设施服务,electron层的系统集成模块。解释各模块之间的边界定义和接口设计。提供模块依赖图,展示模块间的耦合度和内聚性。说明模块化设计带来的好处,包括代码复用、测试便利性、维护性等。包含模块扩展的最佳实践和注意事项。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":2,"progress_status":"completed","dependent_files":"application/,components/,domain/,infrastructure/,electron/","gmt_create":"2026-05-28T20:06:56.178447+08:00","gmt_modified":"2026-05-28T21:01:25.916209+08:00","raw_data":"WikiEncrypted:R6haB1SeBlY44pGM1lXrC7LA7na0QZLfwtXT3AtpSwuyFPuyj0mYrOrl+OnaEPq6ZTwOOl/PUaXqvz4eYTCRsLoj4hXmJzls3aXqNngd+NEArEJVYczQLpzIWZiHgoVwM5pUFeQojR0dis2JTHXopnKoyiQkjMS7Zg6uW9YJRCCdWZ+ed8e8ELJuCzK72DCW493EuKAopRBy2en5Z73RzU+kHhBbtB6bktbVHlYqG6LOu4JRsShl4PjKJjEk5B/pvq3E7TbjHGUj4CwQqt5z+j6WiladX6ekCNH4M+les50Q4V/o9bulb77MbMoaoKYsVxHKeJvg+3fGP5JGtujGnQD4YBN0mMVHGHIpC9IymldeTQso9DzUj6qOS0rv951p2/nANCyzhQEbLuk9YABaUQqx3gDmatuOX3OZb0sd8JfqfcsSD7Xx6FEGrSHyo2E9AQy7YUqQAjNboLBULBe7kG1VocSE3dvaoWLwtsIkT94i9FTMHIAOQYvkfXdLfgIWpkDGiEI6AGsNTaCrJHOIfqjLIOThBfRK2dfqo8wpP0rsMIy7AAg5vaMmL4XX+ryCSO34H1+F49qOQcqmKCiz0QCOZ57twHkbVHOArQjKBt0mjs+iGMpRdgkjcpZA3uzTR3DLpnrv0ZfGdEtN8deiACc2M98Mnq0ykr85xK9YBMzCuTqEnuO5kUFaXmoQJz2WKOeBy85sbnf4HQfXk3DubgfQ7140V2GCCfbijE9Un/G9YhAFQXKXQTDEuLzwaw2jAiB7wa24RghVP1vd8Ip68FgXn9hpXLbU1sbGRIO0ocpnTE20kIjbjMOKys0Y8ZRWC6U9F43gZpO6hGCa23YWQUa9ewLza4OTWGLQuWVo84vFm8YlWRdCV1ZetIbPDCanGyTfvShNTCHzbEDZAoUqazI64/ZUWqbAXn3/bRrbsFZD78EFcVbij8qL+wAYpWKKN5pEjPje9Vvbkp2v3Km9DCp592/oAPzRmK5tlJsdo6vbpbiIyhaJBm2p8+/PbfNRCoQ+8d7BgRaSYEw9puUlxM1Ht+j93AwpQ/lrt04CzA2oMC25OPbRzrOyMbtE0z0BabfTNmeowI9njeVCpegugZVpEYvyhbMLl9DTs/oKydJVuY3urJVBkyubArTvSFMxGDjjgfpwt3xkybqxwgn7n/q7hIbFyTt3IBdLumZbgEr3c9JuPIsIWBaZbAQ7aRtpKe7osRGAV2TL/BGMcyWgxO1H9ilkew5gb+HBNBs04cA=","layer_level":2},{"id":"8cc41ec0-2de7-4a7e-8273-e22748136cea","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"组件架构","description":"component-architecture","prompt":"为Netcatty的组件架构设计创建详细的技术文档。解释React组件的设计模式,包括函数组件、类组件的使用场景和最佳实践。分析UI组件库的组织结构,包括基础UI组件(button、input、dialog等)、业务组件(Terminal、SftpView、AIChatPanel等)、复合组件的层次关系和职责划分。详细说明组件通信机制,包括props传递、事件处理、context共享、自定义Hook的使用。解释组件生命周期管理的最佳实践,包括状态初始化、副作用处理、资源清理。提供组件测试策略和性能优化技巧,包括memoization、lazy loading、虚拟滚动等技术的应用。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":2,"progress_status":"completed","dependent_files":"components/,components/ui/,components/terminal/,components/sftp/,components/ai/,components/settings/","gmt_create":"2026-05-28T20:07:11.127466+08:00","gmt_modified":"2026-05-28T21:02:30.900571+08:00","raw_data":"WikiEncrypted:4Zqjl5aZEo1Vv5NKBpebTrhhtYD66qBhjJj5t1JUbIghxc3iF87VlRGevdnD7bNeBqscosNCTB//5XBH4qdo0anekrXMnQhSPFoCJ8l2IkVBqy0mrUtm6AHxOTmvq6Fkb0C3T3FMj4aDSs5LRtEPywvolR5daA9RgjLbz0plMy0RnpDm4lY4QLtOkGRYWXSGd/Z4mtMFVz3ax5QjctuQ5RYSC8fspTsPRnuCbN7uo3XmRu5xYWrmz+VW8g9AGtyOa165ZxPMsyafTPji7zFGjz7rP+Nbw6W6ZwifPaS4juvR8ip1e9kZ0VI7N1uox448EWfGDt4HSJC8+CCW+2oaRkFB9HNL7BHPKRNWFHpNUe0mRU61TgQPwdFRE8eYMMNbk7lfh7lOddTtF1+A7UMARrU3k/TI1+GyyZ+5nLSW6HppTIJn1JEEBQKQLVcLVeBiSVwWEj/w70WSYfGCK8CKYvCtFtHueQWibtIfPql2HEfBn8wQCXwMOQ3t/zXQH7MrbdH9iTcw8pvJGCFsfUHP0jkqYUDR4+crVdG2le4+IFXLInD8a8aCiWJi23UCSQ6DfJ3/C1J15pHMshi9163ppn9en/BRhoOV031PoerJt/ibf55hAGsoYmI1wglkY2rONollFKZev7HqM+1iodowqa3Iz3l4CFe21RHnEPgUiUtyEuUdQtFS+xdGblQ6EO/cuMlW/ldHjCCpxP/PWgpAHITuhtPuwCLzTJ2XZ9k2GCAc84v0a+fLbXn+9Ljacklulkk/kjSaRFaq+/KI0XkyrK06x4no/SQ6lNO0MQeV5TSgLeo48UcF4JeJmMUgjwLAEvEaiYckQmn7mVjaLOLzVMeAPdCFE12xd5ozkj10qgNpzgpgLEd68zhzEUnnOpzDInkaZGXV3b/Y5bAATGAhOazm8dYrYmAagloQ+KR2yHXofnzteE3y1c04SjHXAEa3TTliO6pnGypG3SqgNmCdQHXGjfdOTUnmb4FGMRbHPtZUERrvyK91ny/h/CfeqJKZxbJliFBpNParDCiEhW9nDs4HzzcRdndcXZ9AJ6uhKiBVOjQGv/P+eCw2zPoKr3+j6SC+i64G+valMj8l7GuGo7TYKj4sbVz2AvaxX1bet2Y3craPOHZJatI5bxBNbsQD/dRXFPpGQ9TcTbKvcAu3O+eeLlrNvHP+doQVXaalVUSaA5oIrp+COOwGPLVp9L06973lh4FkBpSR2lWKVhckDKYuiJzaob9u8CqaACCo7aD9hL6s2saMV2XbRQ0Wot+DzaxyqWfTbcL4TQjAMxo4sRj3CEi6bZsevWwiDF4SeuMvZWukvYoXx+vvBMOCpKGSlVg7k/bH1EserLkjVkvZdk0+44x99tJXrQtdQesHV5k=","layer_level":2},{"id":"3856196c-0e63-462e-9090-d6089a6c4b22","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端设置","description":"terminal-settings","prompt":"为终端设置功能创建详细的用户指南。深入介绍终端主题配置,包括内置主题选择、自定义主题创建、深浅主题分离设置等。详细说明字体设置,包括终端字体选择、字体大小调整、中日韩字体支持等。解释终端行为设置,包括光标样式、滚动行为、输出控制、提示符处理等。介绍终端性能优化选项,包括渲染模式、缓冲区大小、刷新频率等。说明终端快捷键配置和自定义绑定。提供终端设置的高级选项,如性能监控、调试模式等。包含终端设置的最佳实践和常见问题解决方案。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":2,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsTerminalTab.tsx,components/settings/tabs/SettingsTerminalTabControls.tsx,components/settings/tabs/TerminalBehaviorSettings.tsx,infrastructure/config/terminalThemes.ts","gmt_create":"2026-05-28T20:07:11.894372+08:00","gmt_modified":"2026-05-28T21:03:38.656193+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjHXR+VVxOjvLBw0PRRlR755FQKWvulU9A5WkiK2e5l3rQzqo6bM2PUzV1pIZrnperEjO8YbKWIb57Vu0x25Lu6c40PFBnOGU2behBPsa86ySYZ39dyOZJFI+JjzQu6uh+EVV+I35VxtwebjiMuNYO1PVnzcRMHyo3m2Vrv2CpxQ4ttTf0rKXA8pGA6yRdOJLs3OzoiHe5RfyZSj56dZPqFGU4PfTGHj665H4xqy49vAqXYPFR5vZxMrIkN5YfAxmdq8LhvU+fnXdJaD3WHXiE44E2WbUx8MqrIsIKKCcvk1kvixE9WIt/nNphuSlLyITfY75EFSK1c3RwuzISrbvxyiD07kk2kU86yq7B+xPmXIBCWAKBE7yhYqki/bMCidJEKLg7Ia3mt2+2m6nLMl74pobzC8Fjt959Iha2e100ZCzIK9U/RrKhICR62FXcmVncrm8lg5bTYYXL/oQsr4QDDNVYAEbwCTUIT6mzc/oIvSF+QdhodAhEq8U0qdiLUUi6QXWFcsJwEpIFHHHXTBHe0gTgfCAUaeRndEI1W2tYCM+ZQfuQXVQTKk9rTnNzGthJTQ2Hz+z5PM/3l2t1vPAiLCurtDkB55drGsX7wIXliBy5a15RqQpT3g6AJ/6dxAK6DfAZ2f8Eagn6ruxQRX02Z+waFJhczsf5jzxJ1XtCDo9gzjzY2OpqVl20LIrGDo/Bdi2wAdE2nv70/cIykHlRMrRDHIj5/2q0UfSB4iyj1QsznwGnJowULb5gn5XWlJTDeLR1uA7VJW9bvzD+wYO5FEyo9HeaxgFHQ9N0hD7Ht6vfTpwcXfowjJaYu95sLWOpsU+4BJGSDhB/SIZnPX0fzhgG5SquTjGF0U3VZpdOInZbEnGaADa//Uo91CzvW+JPFOhYU6P2xiPSxrFqcd74OGxAZEtHr4NyyjwAcAO6nZxahStEdVf5xSMx0g0TsYFPKIzBkgLky6BrjPVMayZBcJrfAowVldcxgOU0mPgiltVUxcM3HyJhg31+64Z+CscsPPIXEordKxtVcLRlKujzNFFKREJn5FWmki3G6xVC+bnUKkyRS/puin91by/YyReYmAy139DKW0bk8LAufjqGzxFhCQT2veFgRC+5v87uCL/O9JVM1siiSm/yadPQJ3QOelOaVk+x/GLQ7KOi6M0+EdX2qi9fkqENZl2lD4tIfZs/XQyjLbcxWUO+9aUZZIdlyuLBOWkKSEqmyyS9GB60Ya+41QhS+5qtCwC9PqyzO6MWoGikqK54vBOkeBKVf3w/UTcoF70cYXG8kL9yQ8o7Pn36ji2dUEZ3sV21HHl4/huWK5yUPExKR78B+fbAT4sx5SVTVOw1RmZIOQ9vAK5zavA2hMATM8Y783DdqBUKaI2i8ltA3+kepnkwe9NGNJxULREpGPuo2W4yFVFd6VHB0eMvtnItRL01lCRSboM0S+yMA+RaLsUoCa6Nldygrd9vG6iKJA0YQhtBGY0TGr4Q2E=","layer_level":2},{"id":"cb787d46-a943-46c4-bae1-df40a40459e8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC桥接层","description":"ipc-bridges","prompt":"详细解释IPC桥接层的设计和实现原理。分析不同类型的桥接API,包括AI桥接、SSH桥接、SFTP桥接、终端桥接、窗口管理桥接等的功能和实现方式。解释桥接层如何封装底层系统调用,提供统一的JavaScript API接口。提供桥接API的调用流程图,展示从渲染进程到主进程再到系统调用的完整路径。包含错误处理、超时控制、并发处理等机制的实现。详细说明桥接注册机制和模块化设计。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":2,"progress_status":"completed","dependent_files":"electron/bridges/,electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,electron/bridges/terminalBridge.cjs,electron/bridges/windowManager.cjs","gmt_create":"2026-05-28T20:07:13.149143+08:00","gmt_modified":"2026-05-28T21:03:44.867252+08:00","raw_data":"WikiEncrypted:91RWQJnBa3YVIbYB6FTbWhg32DnalNQFOwyfMnVwTkDuoFAtemuCBV7SNq+OqPAGaGifQ2Ue0Sk+H4GX5+c5rEc3dDrRG+0hsWz1e6nnqcRJ7Z46M9krH8LaWPNpEtCU/oE6Bf6jbL4fRkwmHvygyQw+YkHc8MgZiXrDQkCbS6MLveeN1sfRamzoySCgS9UTXWSW4lfKf74gcsT1ZF01ms9xZ9Z2kYj5+l7ostwu5KcdKu4+io1I5NXXPv99obt316wED6hUrAieFDuVcXGchAGrU7sYwirU/q21moeevj7tdOi67kaut0NfTdC0BOzV/IMeS7FzvnFYUM/lGR621wdZfJzFIbhr0J7HTm+yB3bGRFyTAF+YldZTykRoMoEM59kKJm7UYBd2DMp1zFWmi2U2cRHjzqPpgVUgHX/fqf8lcyNVj7y33HYYes59ZqbsMOdsz4xOjo3vvw0mbvhhaYvWhfddNLPfui37+rVAvdtpxnoOIvCwU4dzIt25BwTCfZUaRgcntps0P1NfgpsmzOCDjVkctBWsrdU9X88b0BFiP3Pl/yADm86MXGwC2oUwiDPMz2ZdzM4hzRYWLkp2Zd8DmFrxo3vzutkGE+CEhIkcER1hPmB+DaiycnylhuYzX+L/bg1k7nUI7BYC7Ovx8r5aq0nYVoNANursDmXPtBXY7Eese9wwPp0mXJhOWNDg39nGKHnu2xclDKqODXaLKkoBimYgKZnTiaVL+hrL7Cv+OYoNY5gk+pPik8AIGcrKlnwvfG2kom3WX06WHmiZXULbhgvnHDKm6y8wLu+PvjeWUUv7HVuTiJPMNoT5h08MzOF8hM3F6fcv3pbFhkIsPEErfjYXPwBY1B+g/7fY5oi6XfWj/vp/voXcaV0laEUfyvEjVx9NAFVZLRwN58szAvihLf9LC/+dJcBKoTxneLwzCpI16fdxqq6gwWNRwZrxC8wvq1MulBw0bDjrD+gI6rBTb5ULiEJzkAY/icnwH6iUKe32e6fxL7he4WEomfLO0T3rV2+CSqIsksJJEDjMkhRDA4eAL+nc61hARngJO/lGLLtvAEJP14xsj0zQOEg5pyJ99EIdfdBofApib2K+TRQZ1IPX4MulfoyVFDRPs4YYpiql6VVkaeAlEvMIAIiDtN5WumrIyt4slgSDVr3ykx8TcJrZPf04Babn1bTZrHKDUnwAZsMxhL6rV4t7fJuyYU3TYiFUMpkeiSSDdtAsHuwpxCb/RSg77an4Bp3m2fC9MG07+j+K9YVkeB3L/GsM2zIRybQpEMLXdPqhcuET2xlkkOn11FAw93vb1tzlirYP92DPrOJgPa5q+VZkba1f","layer_level":2},{"id":"6047dcc4-e68e-4b0f-a011-afcbedb871ba","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"字体系统","description":"font-system","prompt":"为Netcatty的字体系统创建详细的技术文档。深入解释字体配置系统的架构设计,包括终端字体和UI字体的分类管理。详细分析等宽字体的选择和配置,包括Monaco、Consolas、Sarasa Mono等字体的特性和适用场景。解释CJK字体支持的实现,包括中日韩字符集的渲染优化和字体回退机制。分析字体可用性检测机制,确保应用在不同操作系统和平台上的字体兼容性。提供字体配置选项的完整列表,包括字体族、字号、字重、行高、字符间距等参数的设置和效果。包含字体性能优化策略,如字体缓存、预加载机制和内存管理。详细说明主题系统中的字体配置,包括自定义字体的动态加载、字体变体支持和响应式字体调整。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":2,"progress_status":"completed","dependent_files":"infrastructure/config/fonts.ts,infrastructure/config/cjkFonts.ts,infrastructure/config/terminalThemes.ts,infrastructure/config/uiThemes.ts,lib/fontAvailability.ts,lib/localFonts.ts","gmt_create":"2026-05-28T20:07:29.923079+08:00","gmt_modified":"2026-05-28T21:04:30.976463+08:00","raw_data":"WikiEncrypted:6EviL9DKFrS+G4ZYXaJUIn6JzqC3BLB2lu87vjrG22qx6cBr8+QEDbygtSwHBWG2xKJqdmmgUCWUu65P8vBhPdX3lj4G1zT8neATWpOzQIeaWJqQhVKLJJkuCNngdrKzwT3T02Jt7LuBdgGQpI1Ov8BAc15Qbkf24b/50iaBJVwwHr0lrrT2/2sMWKcNNkj6FGIfvDXVgqmGHdISE3QcXTl2LjkjgTwsDubn+IjE98YDExVmzwhKKpuYqGHl/cKk+0bT/+Ao6nvaC0jhV8C83qGZUvGacw+RYlYJoOV0K83c3mcKnrgvo/XYTIj6Nh5NO3tjwMFLxFduT7zGKBWIgdnqPdLY1RtymUkEdfrhtP9t0OWntuArZev1LgFPacDVOLoo0QMhYqntuqS1W8YrTJRtIomtJaG8ufeKIleE7mqOtsQ0x/04oalkJLPhKTOsiLZdTorJ8XJs/5/3x9TofeY1dmswRvRgcbLQJvrbtGoXJ2lXzGpM8HQt6pkZyuS0pqYq1iYkwZeTLMWp9+s9eyuUwpYUpXJUG/9tNxCKo6uTAhTsvyQdgqsxWmTsUQOeUuZypgbD+zhjtXVmaKcaJeXq2lm8eJioVnq5Z8Yaf/PrOpFCcJMAaLrU8Aq5PED8geyJU9Brr1Kl6Gl2rvrfQMRAWytqPXMEMxcUDrrft+guF3RmMZQ2Ae79lHeWZ/k9+fXXL83DlMq8lg9L5Gbx3Nhs9NkMqe6LxfxSXZ+9/lAWYV675sonmfy0c0ERNg++Vwkvsvy7Nei1GujlQ7DyluxFaQPEpgkTEySgq+M8MfD2O1oWsKTulIu/CIDqNH57uGKlFRLUWHy9uXJJg1FNzXkCW9l0bT0t7YtFF5vT9BGSdmOkj+zuXD0EDXYU8IpU+xFNukXVE6EYAavTqo+F4u9PU7OCXKRetPR12DzccLhte7DcVkmtVNdgz+sJAA1MsarCQ/5gTvF3bNK8FaQMNawRcve/cL25d9EPEA0DIaWDYi7MVmJbkX6CnUeBWcQUc5qdoZ8Ec2jHbIV36pjcSMPdrkFzki+Tm63PufzCaJM3E5qP1p46gg2eTGVFvM/8niBqsVXi3MyKW0e9MhkcI7vNanAo8GROSioqinzohv74aMUBVrc5I6Rd53Xv1GjRmI3bhkAjhiqNsk8IY2tHAJbzYvSDQBFEyGy8AEOAZFcn3b4nCjZUAQIfgkirOrYrOltYK14UrA9dhJVcS/liJAzux81LECU+1QIkojS7sUJ8mor4FojMb7ZFr6TzpzTkFY317tgKbsH4jxUowHSOjrySxPZHvRJwk0Mkw1bCONSbZz+ZcJYiocqMt5YdPbToAEgOCD6VmGJUGEVCNYjOk7s+4Gslt40NL7pX0pAE636GS6AlcDQakWB/CcPmhVDBCWRWQtry2CUgUDiWCQKihrP14NSlwNbqaOgLXuhZRUHNUGUrsUtL9XWTyvLoeAp+IVViYm5RlucZ9OaJcaln/PvOs+Z2eHGunKuBNf9amto99jv0Hxhjvzv/45nU7Oc5tFfhwMrtjaUSMRWsOvfGRl6nHqfpK0yghR6HdxbFgCXB95rhzrOuEpFhT/9LzkIIVXX8pNpJt7h3fCHf7blzHpe1rGTRlD7KrhPuZUkPJGEP7UkfWH3F/oMvIi/5xi8y/f4waHJF6T5+4054dRR+JQ==","layer_level":2},{"id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"开发者文档","description":"developer-documentation","prompt":"为Netcatty创建详细的开发者文档。深入解释项目的整体架构设计,包括前端React应用、Electron主进程、IPC通信机制和后端基础设施服务。详细说明技术栈选择和架构决策,包括为什么选择Electron + React + xterm.js组合。解释模块化架构的设计理念,包括application、components、domain、infrastructure、electron等层次的职责划分。提供核心组件的实现细节,包括状态管理机制、组件通信模式、数据流设计。说明Electron集成的实现方式,包括主进程与渲染进程的交互、IPC桥接的设计模式。包含数据模型的详细说明,类型定义和业务逻辑实现。提供开发环境搭建、调试技巧和性能优化建议。","order":3,"progress_status":"completed","dependent_files":"App.tsx,application/app/AppView.tsx,electron/main.cjs,domain/models.ts,infrastructure/services/CloudSyncManager.ts","gmt_create":"2026-05-28T20:04:49.697156+08:00","gmt_modified":"2026-05-28T20:11:54.690717+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C0xzVOz3ePIlM4h9CwWuUWO/9J0JsQBGCbPojFuRGofdjGwguEKkBuYbvNuPmYogBfXDtWNlvKUUscXnJMx7ZX4CUmHA7R9uS4x4XfP//GLyJj8UaOl/I0wGXxL3i+3hosj1Of/S80ih5U+FLQ4mqo2v5CK2BpyYde0wk/qi7bgyKiAvIZ3YIBOVWj2cqy+X7C5P9DG2l/CfWm/J4TpE8mxhZ3FuGcHBQ6jfcy9Dv420vpk8TX8zr57tysevHwfwk9FrkOG8lqkPtnbWOW7RjkCluwtSMTpT6XYjcT2O5rt/xTYOOTKwikeVlhhYdJvv68yjBDBWTIKyxvzkC0LtNwJK8LzyGSd1PI6ydu0oaFJsk6ysLT8oEGGtWEPxzYq5XpAyuiCyJCFZeePmqB7CBuaWGFrpgNbBCHvaUrs9mdClnPBbF89kjYR/ZCrgx27qVWv6nsd/ps+O807sJo39e9Lg7ZuOk70k6xl3GojoelZKIlHy6VGgooItTk+mpGI6Us1tP042ioHj9iKnu+X4oUrWI6YFshvgnC5vlpP4ccMVAfb7xVGDRUCELzMv1fyr9aPM6to+RMSnQbdUKBgWd9n/dqMmTPtBb6N7JdKa00jfjLjQfCW3TVgtyeLYXxD2GujT0mJjEfxCozl7CkyWBpPKxUea9xBKbXatks/K5EGMWMCCHO81rwLC053Jmhwugq5WXO7XEZR1NTqV6lI0avdkcGVefi2kwS7N9DEmRqtBEaFPo1GxUx01Xwv//dtUyv56zZ/5K8J/qWne5P3Ywk/13WMIo27aGmR68CKz/30g4YHfu2ZUARRrYnE7dQg6fdntTZym5WWbx3bx5nTd7s7vy4cX7VktrX1Om71Tqw0+yXSKud1x3/viVYk81kwu663ZqAxIRojEa+erwZnlq1b1wRNa2MlRmxmXS4d0BjryGr0nB4XJNolTjogy1S/rggS3Y96Wrx/bTfJwCLMMrnu44FHRiOetGjxQdEF6fQQ5dAvSvhe+cuslbrfnVOSqWcn79k/Fq3aWMN7jn+dtO6cHIwPKXzfU+LVh07GaCbgmCNQTTBzNMXA08iVwJAUaS+LrP+e8Jyp1ygZ9LtKcTWYZ5qKtPpI1RIeXdDZ/rEE5v0iFEhZuZJ5TyHFkQbyu9908m8ej17BZPjwYwb19MROHLBf/1k9PnegeorkeN+ngIL9yl7yCAsUMezQ+J2L6iZIhX6XcqrvZYzRWXFTQKtFyIud65jCLgC2JKtbPQebu+XFWAX64+snBGhKQc4EJoD5snV0AeRhiw/+lUycrJaZ71pchOeP13446PY1/p2sCMRuTGiq0Pe+M3YA7IvCzgP8OYCUXDZkJ0Pi+2cKIyd72+HI46kU6VeQLFjzzjq2/PasQOqZFcDKrsVrsPpBxO1O8FMe3EjPZCdKWOCPkFb69kcKofuScPY9SptR3sZhArBA+4X9rPeQaahR/WxM4/iq8SlVMfnEyG83nEap1pylo0sKcLhbQxRfBS1NSEOXHZUJZMW/q8/vUrBVDCSB9F6l+9OYExciqeZ0ECDJIZHnH7zyRJ5nzXtzXIW/y3kEAkPZVQIC0mGmiW1Jto4v5ccj32XDMAsegjtPySsqV+hREqwrp9PG9p1HvnqeXjHcl"},{"id":"b2c73fe9-3ff8-4080-9401-37ae61553767","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型API","description":"data-model-api","prompt":"创建数据模型API的详细文档。详细记录所有核心数据实体的结构定义、字段说明和关系映射。对于每个模型,说明属性类型、约束条件、默认值和验证规则。文档化实体间的关联关系、外键约束和级联操作。包含数据序列化、反序列化和转换方法。提供具体的模型使用示例和数据操作代码。记录数据校验规则、业务逻辑约束和数据完整性保证。包含模型版本管理、迁移策略和向后兼容性处理。","parent_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","order":3,"progress_status":"completed","dependent_files":"domain/models.ts,domain/models/host.ts,domain/models/terminal.ts,domain/models/sftp.ts,domain/models/connection.ts,types.ts,global.d.ts","gmt_create":"2026-05-28T20:05:12.55755+08:00","gmt_modified":"2026-05-28T20:27:14.884359+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFt2A1PBDo3xheqfZCRJvQ6W1QkIBnXNOWbLZMHWeu2gLHFuAbi7XW17pvNeqBnbmTXGt3nbUqZPGUmM5nuWJ2w7+t1pBD9S5/9cvzKhsH5THoLhOD5VdqIsaW+1npj+GBhoaq6IWctx21m8RRZnG+tKre/OdlqILbhwAFS66o/MCW7E4Ye/Gm7BT4vGMJZCRruoKLTV9GO4XlGb8NA0JKw0KL0nNqLvX8geRQDjWLntgyag8C30IC7Yis4ar7P1Pyav/QBOaD7qRYOk61bliDmwVCxmql6VS/CQ8YT+b/oeXeGa6gDja598iM44vNF6NTGi7GrifYbhVM7NypcHvXoHQuW5vT1+d421gig3z4hFkuuVxMckZqAF+9GMAjGPkzxUO+XMk2mSEMgkWrKXpHiW4/g9UEC5QTcQLTICaK3rg0fTpYvQgQxVWbn1irVX4z0KXPJKtwAxq57xZi2o8pr7FqWtFEKIGGntAbkF1d1YrdQgmnuqOI0eKd4HoZ4cK7Lh8H9zRZ47HiIYbVAf47yyiMdtwjY9E7u739OGu+TjFqTFmBUB+ki6+bhcY/1VUqBwv9Rj5tSz9zqmJ1uuTYtuEMNyBGmPoTKmy/Bel3odMQB7g4Qg4POU456mF2bHefH+u+kxcuujZd4d8CVZseHZplVUPAxHbgVA6cFmrOd6bfLl64IJsaFkAjIfwc70mOm+QjhSI7Z69WWiovBEerFOsTX8thsszVnu9inhuakBtG8ZODzsf4Wl002o3I4958KJ3ys7HBBT4BycBreDE++33i6D6c/uivbeHlLbblzw14wKzKC9tHPrmALoRHdwbydzcD4be1OFJcZbEvPl4YDYY9MZ6GHZyRQ6uIESMkcLL18VlAyfjgbyp3ZGjmfiHjsdsuWB4PXfrYWav2Fp2qRe15nXVwkx6ZlHBNmI5ZVQYmiRLBdS9mX4qYkGXJp1kRQUotkR4q+5jHI7GengtYPAiExg6eV59Qww8jtzugVUJoBXzEWIB92niolb/8BXud8XwYS1eXRrULWBWhOUcnop8UaTg6kRVKYuzUCHPaHBdEyh74n/lyu0V19cAhXcAxiZCJpj0KSm3anz//6DkBDj8s0rWNBUOTFrLKp5e52FTyQE+B8gVUub/6HqFTBp9sk8c7iXxEHDE6G2aAYhPlIBLEAYRRR6henVfbKp9/3nEJZ8AiUSKhUw3TkuoT5qEPz+uCJnu0I1NtmfjQNGnn1oingAEVJ+/tkTYoDzGJSr17TOVUTUeZw/GA5Wj2bzL3hr3rYjkxFw32ikeprvG1FkeRvQpNCzDEBSCMZhPNR687","layer_level":1},{"id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库管理","description":"vault-management","prompt":"为保管库管理功能创建全面的用户指南。详细介绍主机组织和分组策略,包括自定义分组创建、组配置管理、继承规则等。深入说明主机导入和导出功能,包括CSV格式导入、配置备份、跨设备同步等操作。解释标签系统的使用方法,包括标签创建、分配、过滤和管理。介绍凭据安全管理,包括SSH密钥管理、身份认证、凭据加密存储等。说明主机搜索和筛选功能,包括按标签、分组、关键字等条件进行过滤。提供保管库维护的最佳实践,包括定期备份、清理无用主机、优化存储结构等建议。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":3,"progress_status":"completed","dependent_files":"domain/models/host.ts,domain/groupConfig.ts,application/state/editorTabStore.ts,components/vault/ImportVaultDialog.tsx,components/GroupDetailsPanel.tsx,components/HostTreeView.tsx","gmt_create":"2026-05-28T20:05:22.526962+08:00","gmt_modified":"2026-05-28T20:27:16.395694+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3stvxHGCsfJoCtq0BGRfuCqY5wAO/QxEOnD+cvzki5mCRiZPT0nBRQQ6nl8aKtiVUZNbCoKcA6SqMkxYj9fvv6ZHl6foK7TX5rfjS5NJaliVrLW35vSiuLny6ACicWIar0eI/XuWZCe1TzqCm29lnCgwy+QOQL6YYFsIF9vptQ5m1IOsHLzg/mus+X2g0lvQZWwpfwPHTlQbjrQfMCzGObiJRKNHuRh/6Y+B+U6IakNrmfivEvRckxaOaAkZd/xrzntrWMt6URbmC0OpP+VfG7GB77cH1NSiMgaAaB6/8KVno3fmQ2c7f3Pu0rsQ9mHy65226xHnvPF1Dj+OHoWdmuYoipV1ohwIT2Dw12fN0G1ELB4czE2hcbqdRaHWMCBLyTmumLnE/kmIggE2112QfhbhXPFXk/zNIYgwhJ4TCpW3gM+P0bW24D0W41RMfQBuyjSsQUOVl5e3dUhgm4u5ltdIsj55n5Uusd8JIxqjAkkESqawWIN6L7dFqyGVl3E7r0GAoJkGkR0aT4K7rWzUSxQjMNNuuWBNLSuyuZ/rgNnk3QzhrT8WXdAupPk7rKMcnl/Enu8Gn3ZRmtgG9efa7OzBf9X2buwsaqQPMgrvM2FnuVfupHtERL+6YBHCHrI8ft0ZeRdOLpMvYmE8eqKvra6pmhLgNvMZcYe4H+hvZEeZILtPVgyvewqRAOntYgVqU2hQcNz9yBtNUulykfF8QJItLi9mVU2t5wwKAABa5PGp5UPeaykYeblg5FnEwuqrc4qYMBLmNRnC7ELRXACZ14Qx3nt6CMJQ/sSDVW7q/uQzsLIq7x31f8gZJpSj+RSocyGVcEZCMZbo5t3Bar4WSFvuo0XJBT3ZEKSbcs+FVdm0dlCsDDQYM0R1yHQSV0d6wGXXtamGC35l1/zUDOoxpe8Xz218AbxjjKhgiGxQy58yDCrQD/agPQabBk+Swgj7oR9LliqBbd6vQmC0ZdF8+hJEqgPKY1slt2Fkh//jSTj9qcrfgRRP7mnJaWSgw4gRNbC4cnpSUQ+IhHmti//Kg2MCZ1a9gjqo0Il6YN9aCU+DFnbVCYqtZ8o9yVW9nebRA49fXBsx5Tx/jazHGdHRkemOqtdWA1b8zE2lPglkxQ5n2kt5NTsKsClKSFfe2GGVleu1OXqHAiU9yB4rYMnbMtEowhm1QO7DyAIRN0o7xsmeh8mCPaM00zKpmiGCr6g675E01UtRxp2y9/pldByY0I45iWfmWNyCcIy58w1NiP2hdPJCnb1BMu1JNR2pTptHCRJ3KhkmBnuz9XxVhxzuq3cELUdTSvbBXD0IvxACDNLNrmXt6h8VzxTUzporQ9b7jLvzN/H2BTcPzS08dE4Wc6ZNSv6A9HHWdAs1KQnwxiqROjoS1UP8F3hRzD2gTGXex4IVjC48jiVw4Kx1RrJlR2TQaHk0fxmIoB8MAjKPGWui","layer_level":1},{"id":"9b3b9267-ab7b-47f8-b4d9-6ebd98d66b3b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"开发环境设置","description":"development-environment","prompt":"为Netcatty创建开发环境设置指南。详细介绍开发环境的搭建步骤,包括Node.js版本要求、依赖安装和环境变量配置。解释项目的构建系统和开发工具链,包括Vite配置、TypeScript设置和ESLint规则。提供调试环境的配置方法,包括Electron调试、IPC通信调试和性能分析工具。介绍代码规范和提交规范,包括Git工作流和代码审查流程。说明测试环境的搭建,包括单元测试、集成测试和端到端测试的配置。提供IDE配置建议和插件推荐,提升开发效率。包含常见开发问题的解决方案和故障排除方法。","parent_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","order":3,"progress_status":"completed","dependent_files":"package.json,vite.config.ts,tsconfig.json,scripts/,.gitignore","gmt_create":"2026-05-28T20:05:26.321007+08:00","gmt_modified":"2026-05-28T20:27:59.519998+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C3v0Qi9GTCuJoVK/Ltu5T/d3fQnwNF9y7uZrMS22VD25MRnDWhj2EgLAmZVnBDDwS4P/6SZlhG2yucP/Ac/5ySxdYCXqUSexlJo+/yxWKLv5QDcSHWktDdYhsxRTRadtdi5tSC+DROwSiEhDFOCggOE3UGj2RwTRIeEua+j+rPG1/8Y/A/3NpDKJ7V1bss0RRUuvYJ2eBwRG5sQxsiTNiZKOC1O90Csz4T3oI6NEcKe6uRqFDUQ/8ZQame1dVfRMCmFhkyCBVSo2WldB3fuQhCgcB0pVu3xp0/GIBqLhlwgzusygdN3OgM0jHl/vamkVT5ybstTHOUjlKTRRo6pfX3+vZEwlW9p2SuUJidVC4GIkNdp+UqYeuS6LbdPkDonqI7RDFMV2C6U/Wz23SnJf/Gfb0/Dd7noAI+qwpdYzON+mPAvmU3jLYaU1VnJQtkX4aUzKaa8QrsMwgVz8vnGvdE2yOrMksZrNAC7uYR8naJmn72E2v/T9B7zuP0NtnOnWCHHcW0G7y0qxNEKUr2mQUsLRsitBi/v4sjtRSbj1a3omqWx1OzHr+Ig7KzSwaCrlcnfvIEA9kLeKp4R5SAq4wQQwWUnzkt7mhm4WNBWn0fbYjChycd1Oe/Qmklir4mt8IdKednJ4TKs7rcPjnwIi9LVqOSE1zDgZQHq6b1EjCrMIGB3fFxVWwp3b3QriEiHfdQ42E6rn0I229wGhk5kiVwIQSCdKzoPC8Ubi8jwoarOXtexCFVlA/x+u2iIg+eCAoDv3GKGD+pl0OG80a/rNi2sJRk/OR0iFW4DUtDyB9Nm/rCiK19wY4t5HmxuPyEz0xRuZ4O7FBFF3HVCmexNa4h+2TimVuOJJJrS4G0cPIxU8sWwz0EjIn1etUcIfNjsti6ceb/wnpdoxLi3BjMgD+WLw4FqRC9bMtAW2iIFIDhpSY7vkerqIEvJSulUAwwRhcRx0qrNBSj892QuwA1MbmZwalCSvO4YAhCMzS0FXj434Z/SL3TAQgE8e2rWCOGkDw1bjn4PDoHEQ500xO87KBMr1eTNVMwFf2lSKQms+02biGfpv0g9/bSYjuwRXjaDli9bHebh2Bvm10mAy1dCzORrOHZgnOSosTzpUsbtwr7rvfy78IYPoC3+vubCGPGDY/sSHnaAE+PjhkDE53qaO9JxY/vo+DZEAWf7NMi6nmHEMxQKlAqqriPo1wnblHTxRYSpyEsRM5hwXUM6Uo82mbEIMDLF3TZLy/qdgrzgSCbZPrljhOdBUPi2sPexNEukpfqIq6yXtEgmRH/vkhwiSkM0=","layer_level":1},{"id":"3c02a9d4-09e1-40db-8b01-ccb4e222aef5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"数据模型","description":"data-models","prompt":"为Netcatty创建全面的数据模型文档。详细说明核心数据结构的定义和关系,包括Host、TerminalSession、SSHKey、SFTPFile、SyncPayload等实体的字段定义、数据类型、约束条件。解释数据模型之间的关联关系,包括一对多、多对多的映射关系。提供数据模型图,展示实体之间的依赖关系和继承层次。说明数据验证规则和业务规则的实现。包含数据序列化和反序列化的处理方式,以及版本兼容性的处理策略。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":3,"progress_status":"completed","dependent_files":"domain/models.ts,types.ts,global.d.ts,domain/sync.ts","gmt_create":"2026-05-28T20:05:48.20762+08:00","gmt_modified":"2026-05-28T20:29:32.49806+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzxL0nPpsuPMPxr5hj83lS7zLbVY013R4TC8XNEUYbb5qxIyzNIzP0UIL5gcgWgb2Ak+tm4u+/D4jYOwuwcop/O7ik9PflSodk0xGpMIvL7BHNItHcteutOj6XUDEw4nZAEIi8w80OYgcDiKubo4aXDa4KwbbBbhhV8eZbvm/xYMwBpuEb1Z0s9eiYgTb0LKIEogZOyQZ4YcEDQ7sT1GdMe63nAPfk5GnSh9TGlD+Vts9bhQ+TjkzDAnuQWheH/PnXBx5Bl6Ji5H2kUsWw1xUmKBsjKnmBtAgT4kPHPsLC997dTS6zNrkUZe0ruta1jhpIElsslJuxpN9Ot+OimMGX9UsMxgo7qqSDk0tkn0XRh6+QTxrjmmcDwTvbRWMzXUBSq6VimAZ2yYvjV/8aMVr7aJ7uXA5A2InMuoTyKlJZR2bf3oitw6vIuym26mKTcv5FAHeOXu9Voxo0NrEMMi41nlsuaDqvLJ5Ba5I4MfSBLD2FwBHOlm4O2EXnLlsVXpgwjXDrTy9UenUjgCVb1xyJCMa6C1uC7duVt61wxtzZGh0SD0Vw9yXNayoqyOr+Zylbn21CoXlUd/RCrpfxmhnhc2U0Luanx3FHtwwhA0JPHDwnsoDr2Oe55Xx24xRU6kuoKIBzT8J5t2wxeBN7yf3Fq5yG7rp5qWP63d4jFK29K/121fGebCvSRnZhImKd9Te2Jockmyq1NsI8kLaK5eu+Xlvvcl/39DtTHvvI6NRaVe7fgFnj6rkDrfn5xlRJz0bm1YS5Tuos5+cBLu9OVw5yIYSCF+3hr/suAQmkZx4OiQf2QyH3mfd1+1L8wqHYQEBqEX9VpGJCIkNMuVsbdccyOVDe2qqP1wEeD0ODYNx7/Gs/yakwml+3abcge5xo97d7SEaP0hj9gkPGij9a4m8wQVwzQxAXPjjtTvNdnjlfoODh1edeBANHnkyiRLgW8RPuwlb1V5la9OqO40gw0lLrH5t7N5DUw198HS+juZJwIbYgODu+wMCmLY7LLp2mbKWbRiE8dahxYDRKUQB0ZuDrZS+0x/KeHc4ct2j8c69bQP","layer_level":1},{"id":"ef953a09-2620-4559-bfd9-2bcb4e38577b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"终端桥接API","description":"terminal-bridge-api","prompt":"创建终端桥接API的详细文档。详细记录终端会话管理的IPC接口,包括Mosh会话、Telnet会话、路径验证等功能。文档化各种终端协议的支持、会话创建和管理、输出流处理等接口。说明终端会话的生命周期管理、协议转换、字符编码处理和回放功能。包含具体的代码示例展示如何在渲染进程中创建不同类型的终端会话、处理终端输出、实现会话恢复等。记录终端兼容性、性能优化和用户体验改进的技术细节。提供终端功能的调试方法、故障排除和安全配置指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":3,"progress_status":"completed","dependent_files":"electron/bridges/terminalBridge.cjs,electron/bridges/terminalBridge/moshSession.cjs,electron/bridges/terminalBridge/telnetSession.cjs,electron/bridges/terminalBridge/pathValidation.cjs","gmt_create":"2026-05-28T20:05:50.53306+08:00","gmt_modified":"2026-05-28T21:05:58.258707+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjBXZaWH3GZnY7y4ZvxgO+K6vJ1STogMikcOY3ryGDA+01jLtWD0AFyUwYq2WT1NXLn1Sn5vCXKqoWzDW6tImcisQdV0Yve/rIDg4PlZ/1zk1XaCd91hImQuHHY5lzYAKxS4V3idXsJI74htyVDSXHOF1+RrkwR1cxMD/QUf5w2Vq24NR/jhMwo15rQcAigIxfsq7G48f1SXEiwGj5QYwgpL4+orVcHk6GR+vOdBOABAkG/IOZMcdeVS5f8vKnfF73sTpi2KJ4AhHeiDfP+r8dpcrNfppwkvggd+pr/TZpp+6+nSpRaGtq8svYBy44/g/50khHTioFQeRYVzQTZLmloOaRKTdS6yeIIYyrXhGyTZYGq4tOJiVUygqNshgxrOow+OM8a98hYKgoeJtSdOnDSgSF29dfNWW28KRb1RwxQ6oPvnXkHveX8zFDKESUvgMIDxi/h5m6iZyW3RIl2QXbyM719fCT1VuG4F8ZEYGBYuRQamtMLpbmpeUBTYK6xMbwqgRZdqyHV+LTIud8kD5z3A95pNFvQlylqQoTEHyt5/GESsi0E1BnnyhU4gjP/+VD/5XZwN74xn9w2SGNFbdFBKLMcnWh+sNJDArpD3oyHSfv2DLSSSRY425qLFWgwzUHHeFZwkZSgsVqqFea/KWQQdUmaAtHX+HKm+Gf4Ltg3fj6mQmUuNkM0ykdkySuWPCCLl8Dfv+C7LCiafSTj0EVw3K0uEG9p3H6cY9stfmZQlkRihlqzWKYcxtjqPzrECty9ouPgdIX5xeTwR8auT+z6UecuyujtuRKAYTyiI0YXSMhFnvEatcQCa6V2grsGWjKyhO7afvwahJIYTS2JbaEeQ63ONlrH6gEzrXO4YOaLgerDKpf+D5hnrmygOl9u566QlAzO0qVoshfaavaf97y+QJLikCHe3uEZJdnc9gcGQoIl2/WZmcXWKSoEQWee9yujAYwAEbH06wjnYFfyQiUz0ueTAOhJkh8R3oDZk5cVXXNz9wgNoy3M8vCKjcwGmjFxOj6Rcn6tITRn+hGPE9f9QtzD94+JOfE6iq2TQ8HNr0G72ew4tmLx0SRkRu5Obnd3ueQFB07bVvFVB9DyZ8PKy8sued8Z7+Ru17u6n6cUA7rr2tN4roDpbbHhxfeBFdkEsbPDcN8UZkL0HGlaz6dK+1GuaK6h15qm60ujkZUUkIk1FpdCIUGBGRuhWoeZZgfmSSR2j+gWiD0Yb12ZQRkonjgYwjdMHoHaeDfIq+dM6Lxpf1Jm1sV59S4UKZq3rE8SQvPQ+Uhj0mE048qMB7Qq7ijOH5G/ncN9b3SosfQU/qubiBRQWXEYb0yAK7Mne4xNp0Q1uOMdIhErcm4I9C2TKymO1E1vwVsYtACG31MY3VMr2EBz2bpBGqkMl3jWiDVg==","layer_level":2},{"id":"b4067c14-ddaa-47ff-8b33-41d5a27efd23","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"保管库组件","description":"vault-components","prompt":"创建保管库相关组件的详细API文档。详细说明主机视图、主机详情、分组管理等组件的属性和方法。记录主机配置管理、凭据存储、分组组织等功能接口。文档化主机连接、认证处理、代理设置等配置选项。包含保管库数据模型、关系映射和状态同步机制。提供保管库组件的组合使用模式和数据绑定示例。记录数据安全、加密存储和访问控制的实现方案。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":3,"progress_status":"completed","dependent_files":"components/VaultView.tsx,components/HostTreeView.tsx,components/HostDetailsPanel.tsx,components/GroupDetailsPanel.tsx,components/KeychainManager.tsx,components/vault/","gmt_create":"2026-05-28T20:05:51.882318+08:00","gmt_modified":"2026-05-28T21:06:58.815962+08:00","raw_data":"WikiEncrypted:LajIqfQIWQDzuZqMU/ew3jByHmp/WGTQ0DdBu7Gm25OuqylRbGc5evU956fNR3Fj2/UD5BOlasxQLuED4oT9CbeeJpY2s/GM5HFK5OnI028EMjl/iOc1jpWH27y9NOyZJP+DW8z5Kl8Na3+zTgS5Q0KFVt8PPfdszTwlTY2uhaLkNer6eyED7pRujSq/c8TYn9vCo047RzeV2AzyUFr8qygK5C77/w464tGj9qUy/Eso4Lh/dMFDIQXHDz9ICRvk1xYJ8a0Rn9+dRlXe7QRs9fQuhUcoJIZVWXJ4TTc91FUCCq3OsVjPYwosT+pTzQvocqAOFE80g9pMZ149rVC5NVGulhlFCuDXlg7UpuXYQiFZYcUpvSN1+lcPVmUxa2zsaqYWG5DAFTsiV+XlF0k2O4b3F2e6gIHSCKdmE34T6wtn59cLaoyhPbB1JAaC31J3ohdNmFnRqB/NyW4c2OqfW9/ZV6QtY3RI6DoWBLvrgLOKgI44OV3fHhCU5Nyn+OfCoHYR3MTGmVPyiFfKBev1S8/xqVprUQSYI4BpxgMG579riAFV4IIZAK77rmWctYcVGNL1Xy659MH9hjaNrLVB9umfkdY6/zdbAXjCeTzQBS1IAAG/d/4hIH5X6dpbGRtacRrFZI7q9C3iuPPQW8Srk2EPHAXcJus55tMYGhSGCFTZxdinnOMVa9yNqiNIJ3Gs8vhloHDS6eLXvNeh/rJLuPtYGGJIdU3Zn3xNrGff7Pb1NxjUkjrPFtvCnVgyy5WkHSs3tkhNj4MCHq2D74zqEd54ZIxNhjJ7a8QqNXcsGRZO4uJ6impPVn04iLS3aWZG3Nv5n4ayFftZut+9GV425zqSqEblSvLgYQtz44NzYTjoPIAmmzMI12AL18rQpgy4JMs7OFB/6EmQzwq2FxpMf40VzxW/qNqv/Bs7rCQ0Ind8edckXCIXGwXCFzfgRrtboyAZKXT07IIv2eV/9EWLAGSwHKsdHS/UMfDGKxA+q1r0hSdjlKhk3GHIQF8Z8fgiLbTYw1cOyQa4uQRnPcudIYIMklF+cPJSOAHYKDDFcfdteKrM3fWn7i4inYRKDm/SqT1A6eQO5kbPWqd/4nhe2ksLlcMrZpELunhit9Lsyf6yJqAzHQMElhTBllQjSc+FnezYytAr8Ve6mUG8sJRqsXu5f4U9H631k7pN2R7oiso=","layer_level":2},{"id":"0fe183f4-652b-49e9-86be-7ee73ed050e6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接模型","description":"connection-model","prompt":"创建连接模型的详细API文档。详细记录各种连接类型的模型定义,包括SSH、Telnet、Mosh、串行连接的配置结构。文档化连接参数的验证规则、协议特定的配置选项和安全设置。说明连接建立过程中的状态管理、重连机制和超时处理。包含代理配置、算法协商、认证流程的API规范。提供连接测试、健康检查和故障诊断的方法接口。记录连接池管理、资源清理和内存优化策略。包含快速连接、连接历史和最近使用的连接管理功能。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":3,"progress_status":"completed","dependent_files":"domain/models/connection.ts,domain/quickConnect.ts,domain/proxyProfiles.ts,domain/sshAlgorithmList.ts","gmt_create":"2026-05-28T20:06:08.451845+08:00","gmt_modified":"2026-05-28T21:06:38.517968+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AJNHKkXYt0MquX9FMhKnhTbWTwtYbmqmnixki7VM7fcFLLb1O0emDKO8T/wn/NBkscM5W4yTSjVqlgKpKh1g3G4KiIuj2zjVOb/Hnj6PUAZid8j3wqkJjn+QrH0Y/pXJCbfxXPoIFJ0XLE3ADsEckWleOSlNtYfABK23xKDEzkPay0K/9EwSpSS0/rNd/z4VhY9XZG8cBEgxl7oA7hZmGRwpp1e0WNuviQVfDH+a6Lbo6uvo/k1kfEmXBHfARg8hGMnQvk9G4WlnGbqh9/pZ7Tn6AV8MShQsZOxnUuLgmOVBer5GWQLutgfSKC8+LUr+aucmF3PVUOr6QMbpXKEJUQoUn9ln8jktPtiqRG5XEGRHVgMGVeZiKp4Ig+90edFF+sOrO3QPzkZSIsE/S4nfkzRq/0GXscU+aJMQKZCucj3rBlvsq+cPPHKAH44c9lgw41Zg5PYRnWqu3GDgqRbX9Jn2Tb65DtigkYGBJFlJgJSbt1Z8WasFVWUnF0w1p4QFR9CjMhx2BWkt+jVQ5VgpKscGl4/cp2HvGYgqP+70bUA+tSbs3xY0L2PCqYBOENIRHFHsGuaXXCvkovr1FGf2RP5HT2gk5+7YnJRXLmlrV8OKpag0IWJm5+AcOFsQQy1yUqEMzPJ2G0SVC/6F5j7Q6QPsQ53T37Ug0IgA0hkZscOK6bIUM1l211MQZUZSnMxXI/XS51QG/b+uRPy60ytlVNqRswQt1rJmjwBSb2cD9ohp0dfL1yFnsjjmB9mngkHsVkLPiX+Kt5HE0CLThsTtaJtyfCyrLaqS+etca6elE7JLf+fSOcV3MwpRGRlp2ulkBTrtQymZvKpm+jaoz8cSRaBwnjeP51mPL1WWLHuzZ+5rm6Ac5uIET3G46Hwc4iYdkVA8C37P4Xae6yokj+eiJWXV3km2uKe7U3sd3k+gn31NLaovfrIERsuK3FEDNyeToOCaijkFeyK1V0yJEekPCrNxo1JTYVlRXpGiOFpPm9tkjCRrmZD0w1dS/dUsV+/ZhTfDo0nIDq8gyPPUz32aCNJVQYWmkW1hQ36BYXiwhFH4igAfiRS3TmQwgeOiOLzBey84oLrVfJzHPbxsxARXNl8km2PHP6Sy3soQvRCoiPwmoNxchYlW2TAbatL4CaqWPaElzFn0tzXDvjyryh9onD0imZsDuMzRqPLMERbEcGau+MoaT+osJVOVQDQl/R7SzVk4XC9+aIh8URdSmwz7xLs0NY5FiLG3KhB2ESgFSeUY","layer_level":2},{"id":"ae037469-2c02-419e-89fa-7982b8a8fc56","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快速连接向导","description":"quick-connect-wizard","prompt":"为快速连接向导功能创建详细的内容。深入解释Quick Connect格式的语法和使用方法,包括标准格式、简写格式、协议指定等各种输入方式。详细说明向导的交互流程,从输入连接字符串到确认连接参数的完整过程。解释协议自动检测和选择机制,包括SSH、Telnet、Mosh协议的自动识别和手动选择。说明快速连接的安全检查和警告机制,包括不安全连接的提示和风险评估。提供各种使用场景下的快速连接示例,如一次性连接、临时访问、批量连接等。包含常见输入错误的纠正方法和连接失败的故障排除指南。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":3,"progress_status":"completed","dependent_files":"components/QuickConnectWizard.tsx,domain/quickConnect.ts,components/ProtocolSelectDialog.tsx","gmt_create":"2026-05-28T20:06:10.068341+08:00","gmt_modified":"2026-05-28T21:07:49.341303+08:00","raw_data":"WikiEncrypted:1aHEw3M2aeluf1++NE1n1G3LCMcvVk9CAu/UGxl63djIX3ZK9YOG/YC4PMilPmTNKKLtcywAnTk3LD6P6fXvrucJ9rxaek99Rv/i/S0vUR/iZ3ZQ1NFixAQlYb0/8fK2OsR8qlaOCWUvTWRVvKcStUfu3ijppkDD+wg8nvzGB284o8t05Jm/eatydwMxilXZ+MuZufwbjsl7/DXISyII4rpCTFnOzEPOqzS1Hfp1da31XCGPwVr8MF1qKXhDvrBjMdlGfQ3lAV4HQo4p7tzAdrWokVnQR7mEoYw1lRcXOwNHMhYtYAhwnb1AZIj7kluNseenvZfOLsHXDcPIuCCZmoJLA/TBgxtdTFaTjQK3JMpN4U7vB9ObdBh6+xMtPIWIPRcFwM0hTu7VuhrpstdLsBSc1/KCrMQCecUnQ9k3raamW9auvFTAnm02rh07oF1wGO9vpIz05Yo2Smb7xwGe5NPKhttc8dObQmEsny2Dfnw4U+zFDesD32nC+mtvYHJXyXzp9SJzpdgYIIW5eam7M6Z+rnthWc304jM2kI7gN6QYJgylzwJsQsdUBXp32UG/Xlx3NcOf1xYLEcNPTxAyMDVMOzbJ9B5HJDwcnw7p3uDj39kBns8q2KhVMCvnRxgEd7mtZDieq+wUsiO1eYaXdDw0pDDC4VC5PbhkYmT7iakE8z0egyRbw84eQbsyOugX3iFTuyYQTTS17A01jG0iesFib1rTRJDZZ9LifyAz49jwJGHZbVByb579gWKF292CUChcrP41CBK2zBbHgRogDmv0TVC+E3tSb4b8fR4NjIfrSRlHNbVG2CpMi34NWvoRgHLLvDr+/LBi4m6rv7s8GEkFsbPHeabLbgF1AlKOSX8JLOtARqXD0y57JpgIQkGorNwHx616lYYpjTyOqc6BppAiRGHDoOeLy3zHZ6WgzIEOZdOPewsCp/2Kx6qNAY2YIQjSufHZurtBwgEdeBnpeJrEuZicZUl6+pRyauw7CS1+Xn1EVtPziShVlfhtlZhZUG01zWqmfPB1zeD6FLXlMBVP31j9Z6WWwjKDsd8XVt6JhMaip/M+V5C4gQFjPF4IFiPb4XccuiIdh4kCaQUXbedITfN+Oh+XbCDF+VcDMBF6MXj8q9QuG2g+HBi0pOxsN03v9Hd72i6uy0sDjKh9EuxFWr+0UoqYT4Qs1oC76BgUViU3rhTTtUh2x9hJHyu17MjfiA5PD8UuXY6SvViAg02uuZCEdN88lX9RaBymoHbo+aacO+5bpFhRIx6aI2qMylEFuj/E1JSlpJiaf9mMMYj7z6GykCr0TZjn/HoMlhOXTFZnhRwWGjuTkxgl7F2V1DNq5R3g+/5ONO7VP/5Hv1XmPRmMMSZ+RFwlRvHA3XMtejQm9n06gaVt/TayOubi","layer_level":2},{"id":"991f3dd4-c9b9-472c-abb2-dbcf1445dceb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"SFTP状态Hook","description":"sftp-state-hooks","prompt":"创建SFTP状态Hook的详细API文档。详细记录useSftpState、useSftpBackend、useSftpTransfers等SFTP管理相关Hook的使用方法。说明SFTP连接状态、目录浏览和文件传输的数据结构。文档化文件关联、标签页状态和外部操作的实现机制。包含文件上传下载、冲突处理和权限管理的API说明。提供SFTP会话清理、主机凭据管理和文件监听的实现细节。记录SFTP相关的错误处理、性能优化和并发控制策略。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":3,"progress_status":"completed","dependent_files":"application/state/useSftpState.ts,application/state/useSftpBackend.ts,application/state/useSftpFileAssociations.ts,application/state/useSftpTabsState.ts,application/state/sftp/,application/state/useSftpConnections.ts,application/state/useSftpDirectoryListing.ts,application/state/useSftpExternalOperations.ts,application/state/useSftpFileWatch.ts,application/state/useSftpHostCredentials.ts,application/state/useSftpPaneActions.ts,application/state/useSftpTransfers.ts","gmt_create":"2026-05-28T20:06:17.569561+08:00","gmt_modified":"2026-05-28T21:08:52.790837+08:00","raw_data":"WikiEncrypted:IisJrPimgG/RiDycqfO1L5X8PCHWhl3CtfoQA8R7RKJ3wJ1Cv3DlP/Lx1RG0Mg9mqIwStrytRrv0Pic9sdZuTD6q/X2ErJ5f44v3QEhtEmLaRAITcuSSA2MFWptcQJAadh029PRNNlTZ/pX/rwdFgVBSWfJct8Q6AZ6ZrqIsjvjJka3SSHmKoT0hG4n3jJuoec8FI8WtbdhWALPRnt0Om8z5J26ZwvblXdf7pNYEywY/igEuduYgDlg4C4OXFmDKuDxTVRI9pA0DMJv6sIruJIdtD+MTDJt8ivX81RuQTm9hhuRDe3i/kHmwf2pok3LdSoBJ22eM9nWbUfhoXdrlu6pkQb16iMVXU13QlQOh9pXDWjOQnhgghtF8oBMe69GNICEuWzzMB+g4P7HhfodcQxgHtR1SJSFGB5+7jH9bB5+PNdEa7SZww0e5LcjyLTLQE+/hDS93BuGt3/jxtmWAwusAU+/kY45Cg+znOno6PHXU+FMm8lEM3fiFrdSAvh9w4Rx8H+Vpt9VhxXa1KLjLzytji72wnx6RbSOAAJIaoBpgSKSYUjWc7XGPp+gNa2BB2YFMNfbUzfTdGMTInq6o5osEhSEdbqjKTPYTI0A1fHlUxPu3eVPJf2w7djUIyo1IDjWyOh1mwFgGgi0P21jQ9jgtpXHwlogMUPd9lrrFUOeh1EjrkAYRqETE+/jAZu9nJ4WFA+udTsmNTelMfL/cZJSX0Obyc8NWkeH0OQ/2rnECBaAQQy4n8AR9nrhO2v4YUygrVXRMgBCD76y4ZOd/TPsD7QMy3FTbpISZw+rfmASeH1wrD4lIm3STH078WFKl6zO3sF/qUql4S2cIfkJGvvWl8Ir2NwxCJla168mxrg7I/CYaZ7EwRVWrwcmjXjhrjMhv8RCP32/4mTBdEP0c8zG4OlD65+siL7o3ZctqYtatlm7U9eqpyDNc2I07Ljk91mINhqxBbJH63hXgUzlIEPt1QjpmM1+/bkDQgbv1GiQ20at5R6fPV+E9HG7UV/GEXDiUGM1ombrFbWdcVT0XOFsTrMroFotc/xAVLwUn5ufppMD45G/qLWtBm1YGY5Ic2PPZYvhT6t5HqlTh+V8eBdg2h8EZuEjlL9SQPJYMQSsGOPnhtw4fCGyvRSl9PQDvcBEp+bwFLGnka/P/+hGOT95+hIUfbWiIAMp68aDtv40hpiuNl0NhnW6ID5Lbj3Wjv/VxCrLv93aprzLfr7YmRq9GlbesuzNqiTTc4/KJW1fkyb1ZIIseED4iON6/VTYHJIb50JuY2lw6vuiVVYx/rpiJ76ZxROCVEqOlANRFJMwh5KYdJDzfFAwvxnKHW7TnWdvhPDXU34hW4fj8+muxwePYQDRdCLyA+J72WhCD0EXteYIXzx9yhPIMor4ypKeAP9sm7RhB+Bi5P62jg0eyBFYYNP82FMhZGbEmWRVBOLmC2MJGsvAzMklWaGY7oVF5DCkLI0m+BUYp/tigsfJB9FDGzcSA8or4Zb0ZhFBhstZF+4BK//v4bSr5Thavw+kWfbOUfrOjBqVfRAKMrwoE0B+T8CD1V6LqqXGrMuEaqY+Uc7DSxC4TruO6VtBycns5exUtGr2QPGX439UJmf9oG2B36GvUEaK4S6Wzk+PbxbsWl3joM2FF5XLUw9dN6+2P","layer_level":2},{"id":"f2e87c7b-b2d2-4b60-97bb-02df5afcae18","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"凭据安全管理","description":"credential-security","prompt":"为凭据安全管理功能创建专业的技术文档。详细介绍SSH密钥的生成、导入、存储和管理流程。深入说明身份认证机制,包括密码认证、公钥认证、键盘交互认证等方式。解释已知主机管理,包括主机密钥验证、指纹比较、信任管理等。介绍凭据加密存储机制,包括加密算法、密钥管理、访问控制等安全措施。说明凭据的备份和恢复策略,包括安全备份、灾难恢复、迁移流程等。提供凭据管理的安全最佳实践,包括密钥轮换、访问审计、风险评估等建议。包含具体的安全配置示例和故障排除指南。","parent_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","order":3,"progress_status":"completed","dependent_files":"domain/credentials.ts,domain/knownHosts.ts,components/keychain/IdentityCard.tsx,components/keychain/KeyCard.tsx","gmt_create":"2026-05-28T20:06:30.344194+08:00","gmt_modified":"2026-05-28T21:09:04.402512+08:00","raw_data":"WikiEncrypted:lWJu5Y2JZOiGlWPLQVzpPixziG16BT8TXqibNpEuC9FyvdKqyn7skCX20dENSJwsQbVZIdIbGdHsQ8EsTfX8+dV5kM6+Rqum0Ori8LwBke59baNCN+n+VEGhu1CfMEW5ZwokbFuCkWfLwxDJkL8PT4Su+5Se9FV/TCPI/c7dYKIvyE1k19IFlJkaruFPHkagxEJg6HikgDTfe4p5YPGvO85jmWRWuKe++WISJo0jde7DDjanUV9ygumZ4JK8mTixvJSJhYlLEPZLpImz8oQQ97BIwT10ICDwBGFrrJdkrJ+JQF485Ao43gcF9VhTuMLWO/L2RP3KQ3SLLODd/th5oiiWu4Yl80FTafBc0thvUNLDKO+BLu5guYGCDwcI761KOh/LD1OYu33GNZCpuAmwSae0crgazA7yUh7SZoDacpvqmx5WN44N4RDEHn5mbyHx4o/dc4yOHT0QtP8NN84+mm4L5VayUWrFqF2FVXdB/dCH4opsXx1hLq0dtEEnBLBcqE5NaUwWq9LiZW/+++ibKV/5wXDJ3zeX0EXq8UBvvfCMiPorEi1gfxODIbPmuO6YOZfINYTMnUxcWdc7clG+u/9dM31JiY9CU5mKGMvDN6xAelnDEddAKlGmYMMRLiu9vm4UEDVIK+f7ljy5oJGN8S/1VkbMePXc1na1yE1XGlRJYfn+HVrAHd1Nn1g6Fh5ghKWN7PNoRQmCKogl5JJNhX3J5aSiDkJBHC6GJxJCNzaq0VqhuXETNCxCnodjBDAvIGD8jMKx7wfnHNiVoZLK77OTtcJ0Z5ntRNINCsowIB7T9EXAg6P9tOposV2PIwMLat1ANHoY5MP2yAD3Z12hTMERA6dNwY9BVO/3W+3GnE+6zFQGgByP1wpcdx5Fs3NFtT6gVm5oBfXIaIPxJMoNRJ/XOlyVTUJmyFDcSVeKlgTt5LT4vj5Tvbi3cJJ+F7KQEdvVeEqiKJYMkaIOBxjVUI3BhFIcS/I2bZlktlwVsyVWd1hHeJk9PiBR2qBdA4ZofqkqYoBWkcbSy3PQT1yIkOLjLeTFz6RU9va2bwtH6ZMG5bMfaR4UrCR+NzGO0PdQmeZV3nxuWDVk8+DLyIeuYDDwqoHXnCFP4Gtsg2eQH3nP/ch6zrChqqm81Kf1xNddkt16pOC38zbhXZnJwFjRbqbOdDqN3INU3dx2g+iHsnSjvk4I0wP/oiqg/+4jCjvblqiXL1GmX4URmGsNo0B0oyt3NtG1tidQ3c9cNb0klc77DiNo3iEnCgfIA5BuLS8d+inCs/Gi5sRazuETFCdYK8D89y3nOyVchsy+WasRWuAPu7fpQdxsQ7uma7aHhORzvX5cYje0uamIl1mtav+boqCOs+lSLS+A7ly/HNMcKwQ=","layer_level":2},{"id":"f65b1d62-7cb2-4475-acba-acba86b920e0","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"主题定制系统","description":"terminal-themes","prompt":"为终端主题定制系统创建全面的技术文档。详细解释主题系统的架构设计,包括主题定义格式、颜色方案管理、字体配置系统等核心机制。深入说明内置主题的特性和适用场景,包括经典主题、现代主题、UI匹配主题等不同风格的设计理念。解释自定义主题的创建流程,包括颜色值配置、字体设置、透明度调整、渐变效果等个性化定制选项。提供主题预览和实时编辑功能的技术实现,包括主题参数验证、即时渲染效果、配置持久化等用户体验优化。包含主题开发的最佳实践,如颜色对比度考虑、可访问性设计、跨平台兼容性等重要指导原则。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":3,"progress_status":"completed","dependent_files":"infrastructure/config/terminalThemes.ts,components/terminal/CustomThemeEditor.tsx,components/terminal/CustomThemeModal.tsx,domain/terminalAppearance.ts","gmt_create":"2026-05-28T20:06:31.735042+08:00","gmt_modified":"2026-05-28T21:11:17.302102+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjJ4RRjoG0xN6MwiHdB3p0JzKFJwIbwGQSp4YLdlUtqIDeynuZhKJEvqOdmN52YBAxhQlN4BOBuFS+xHjvNloCL1Ao2QznX5/siGvvEo22t0hb41JxcD4IXlXJqRhgVkVxFRaWQqsTd0cHRl4ZXjWzIgg5u8PuKTVdcibQ6z+9lgdXJxMVwLVLarhWxcG7einCioku7+LyUtorSlO9eS8XEkbOtgkoMHUqrBQ3WCmpYfcW7ecqZ/AcHFf7PkZwxHOXLpn/CWJtyppl/5uor+jUSwrPaZmTbuz2RfntBmSi6tfOuOGbSkyXp+ewTDATaM+R8DeY5rxLGY47DqbPv2+twODV/502MX8FtejSu/+wsU7228EFGFfo91zGpvVyxcVqNvHGlhtSS/w5eergEF1bXDi0uiPwM2jj+cB3GPe/PfSKJUU0ZIrX8ndyC5vVddH6qgzjM6D8qQB36lkZFESL82eiSoHxLyBpbXhttK+YCbzkD6qC+9iNJcTSLA9UuPuPihm3lp0odkho9RWGc3Yp52ok8WnSldeMxkLBUCVGk0vSF4ctFz7hvhDnUdKM/uDa48EFltNMBEQHwTtnomM+0JkuK4IqRP49NJ1ODlVaFRSQUua+9am+BY9pqbv25pHOvU1JDqR5kjGJntKrjV4kX9G8ed1R1o2IC68VUjoW3Wf3YRsVMU3Th7bhPFBX5YkzKEqF8r/EyS0BH1DZLB5J+U9uzcx5rzipRxYPInioCzPOVCj8qIyDAQO6rDCkZGJdC5IOM7u11KIQwulHcj8X5QwNCy+ZpwXkXsfFAKAm3Av1vfhlHcxNZEif4QzBZgAA//ETvNRxa3vdtjeY+1E1ogxWJAE9PccWkqt/TwhAj7sar2ajzH4nLPon+feQwkDqUZFMqHIRKek11+1IXjQVBV/t3/KGi0vW87e2eT+aT7GRJLK4fHHy9tNLsjA6yYA5JdraQyIZM0xQKP/pCxW9TrFbaSr8OGrkebWBYPMTFkn/mYeziq2VQSJSmyoXpwzHQql62RwF06rrZcpbvDB1UsZtDQuJsM/qkR1cju9t9l5YYKoL36lfuP05zOH493T+jyPmhq9/fhmWjVB3C5U/Pdz+Ks8lT7l+o5uV8zT7yERg07M+x4joC2JZMEKl0gIVYrrltti96EZnx8P736gAJg/74iOpAk0E/8LEDrAtkiU+tjo/s1EArRyOwA/7ggIKpisICkJOGRSy/r9tYFYExT6Gy6iKandNp6qplLbeVau6AwMoz7Mz8X/KUKP0bVIusfjLkgMcy67wzO3sbpusnv/O5lC/IitHV7RnLQLpReJJAlhjoxhUKh7WxKo+muVUiyW+Em3eeiWuoTmqIwvQjRdlPt/9dUa72qyzChT9EFB7mp+jiMy9kDDk0ko/ZhiJGJdgzrST7iTkfRL8IQz7wi3r7xgs4wjinHfA42R6Pnq","layer_level":2},{"id":"6fd20312-1e9b-42d7-9ac2-5bca9f46eb5e","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件关联和编辑","description":"sftp-file-associations","prompt":"为SFTP文件关联和编辑功能创建详细的用户指南。深入介绍文件关联系统的使用方法,包括如何为不同文件类型配置默认打开程序、如何添加新的文件关联规则、如何修改现有关联设置等。详细说明内置文本编辑器的功能和使用方法,包括语法高亮、自动补全、代码折叠、搜索替换等编辑功能。解释外部程序关联机制,包括系统程序选择对话框的使用、程序路径配置、参数传递等。介绍文件类型识别规则,包括文件扩展名匹配、MIME类型识别、内容检测等。说明文件编辑的保存和同步机制,包括自动保存、手动保存、版本控制等。提供文件关联配置的最佳实践和常见问题解决方案。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":3,"progress_status":"completed","dependent_files":"application/state/useSftpFileAssociations.ts,components/editor/TextEditorPane.tsx,components/editor/TextEditorTabView.tsx,components/FileOpenerDialog.tsx","gmt_create":"2026-05-28T20:06:36.997071+08:00","gmt_modified":"2026-05-28T21:11:35.913749+08:00","raw_data":"WikiEncrypted:Rg5m7Fm1I0TMvgGv+BYsng7FonfvwF2a+iOpR/z8qrYlLcqxKV2xsUTNKkEz2Y3rrNQKdAn7FS2eMjPQgaNwZ3d2PaEIMbr83uf+4+3oplzCd5hIeSDRIKhzs2WzxlC1AiCZNZiSmNNNjvkEt7/OnXY4OWSIguuC8yPLBlWqa6/YCPIIy6yqL+tYTddmWx8sJRC5nDP5srstKnj1JAERwWeisPDFgdv+Go/+5aWHcMJ9cCy1URCkqWOImU3OGJn6d8AX8rCyUuDqNLrOk2ezuTELkA9XwW+WhdALr1D0o1hoHZQUNna2SM+IIWUI/Aei3rsHzAgPAaCvn9m4wl2spPtvjVAx9bgncykri7mT3T+Otu1UGNV+rGa9tIFBF+SFpglEysg7JkBqXxQkxvkwO75bm68qJYMDAzCbA2jLLT6pcd3AVZ3gUGj29UAtG4ogXknKv05pTl7NR3E4V00SAVNhrOJQ/pANe2wI8QydLYdm14CwZMtEzHyBX82x0V8NHL6HysSJC5ILoelZOFPT7Ikw/h7oMP/2WarBKOuk2g27v2P6B03q1O+d2KO7EPVLmX5KD/Cw5rWBpHhH1tnKkIYqJZmR7CruSejnGNajgfaH3FYPLI53Jz33icPHiWRKXmqbKQKmAw/FtkXdc6cX83x7jalAYp7p0He672rGSLtb+GCnaWMQMRApZwqgvUn8XxjrcZZmqlVTL/tZzjbyOQWJJTuBhRxdtWUbtnPmpIFRHJ92seLmnt/U0do84BaAhy6VyuoLANlfAU1vHBHh8/jNrxKnNEGVpURZM4At3CMZnk//SDtf0aEP28MW/vpxcZOB4o/Y3QTM1NfrNHhjPx6/IE5xCgIv9Ig6A3d5QdFM4NqVTCj0Vl4M2tken034ei20l9YX/u+wX3wFQLqy1cxfX5TAnWFRIA4aOQKKQwMxIU4mhlpHb1qU+W/uPypxkefiZ6M5cSu75Kty6r39JilX4zrn6EtchMax91kHwWIVOPKbDfshCbScEhiuWOZll06eCRWwVQI488TdKW6Tg87Ml6Cf27W7bV8W78qNmRv70w/rTYZSjt22Qv/Tyzyv5B/4krok2XhMhQUWjD3d0q1LEZwxHc0Kma5AhzcdAr9Vb7SsLVL+Ev505A3ofpiTpHQE+2Ih5F4QY6jrc/nTk8nLd/aQ5FyVH9AMpMq4vhgwWhO0Gi+pZzhudSdA+J8xMyyFCMV4IR4lTgxE1lto+8JgCuMSAxWEB2k26TkUfpNmDOwMuWaRRIcqsKvTA2VNVzXuVvqw5swdzf9yA4zE7s8CMIGYEKe18CdF+xK2AeFrA/gM6bIXRmprcv8M2duKW+UZX+2vVenssDB3aFunZEtXDZIE5m36gZQ/xM35ZBpQHK6nDQtRL3IBwMjIdLwW1jqhVAw4tuWHmEPRfReWOLQtV6zTQ3BavW7LeVmU3bbjc4+xP5Nn2pjrDGestPUcKQLSsuTlRWDGRqS7ad0bkdVka0UgOlHUrAvcv7TQdEMUZ7Ff5vTTjzNqyHh1A/HMMcE5gGLvnqeCOPAKGb1yJJjbrgp48lmzJLX0IOBlgsYJEQroa0/MDXCgLOFI9Wd+hmFdF2bplxQjXqJtRtnDHlQSBC+285sKaleMsiBVZiuJFVVW0Bj4ZEGmzZKTOMKSTzM3ECEHVleKxDEMvzgfOPWGPZXJPDWF1EuJ9lNs0XU=","layer_level":2},{"id":"2b57cd0f-33e0-4b9d-9a23-efbdd7e042fc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具调用执行","description":"tool-calls-execution","prompt":"为工具调用执行功能创建详细的技术文档。深入介绍工具执行器的架构设计,包括工具注册、参数验证、执行调度、结果处理等核心机制。详细说明内置工具的功能范围,包括文件操作、系统查询、网络检测、命令执行等实用工具的具体实现。解释工具调用的生命周期管理,包括调用发起、状态跟踪、结果回传、错误处理等完整流程。介绍工具调用的安全控制机制,包括权限验证、命令白名单、资源限制、审计日志等安全保障。说明工具调用的可视化呈现,包括工具调用块的渲染、执行状态指示、结果格式化等用户体验优化。提供工具调用的开发指南,包括自定义工具开发、测试验证、性能优化等技术要点。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":3,"progress_status":"completed","dependent_files":"infrastructure/ai/shared/toolExecutors.ts,infrastructure/ai/sdk/tools.ts,components/ai-elements/tool-call.tsx,components/ai-elements/conversation.tsx","gmt_create":"2026-05-28T20:06:51.154394+08:00","gmt_modified":"2026-05-28T21:12:12.34123+08:00","raw_data":"WikiEncrypted:bVhjjtdabUbjpHV1gusV8M8VOKy2PexSNGd7xWq6gXgRvu7huSZwtDXlP2iUJTreUW8ojcEcxj9HVT0A/XxG7tVn9mhiqrPdhHzVZTLCFmPoyKgEYYt8p2kPagPi5QdOzvLTnoWDRyWPmjkmyU7Vuf2wB426AGRtv9Ms1JrJrfOjXgE1VMKtRWASUGugvE5Of9iLU5NEv89xEun/J3RefqSwnxherjPjuj3ODfqN3c3vnc96pq3JsrG+OToGUkICzh1d3eTawCEQkBBD+K96CVK4ttNhtHhofk8kb+8fQJ/uON+cdiEnaBYUQ66INJrUtIwvlrK+z5B9FUp3pm4EgFVhKSpTfht6nKEUrTuD/w7nHDn8rwnNp3GAZxJG90Xi39UI45TrSkMgXS7kLKwwwB16upoz58nAxdV4xU0jbVQ3yImv6PhHWhHJ8WgQVz9nYDdXvbLVmy0LTPViZn8wZ8cpiaIiWMoNhYYTI0IIPQW4Xd4z97xhTSiFqmbZQ99p19ycXIFN8/qyo9oyXvAFsfjhwRKQW0bE58HWQ4eB/EMRAkgdkBzpp+aD5j2wDjXL9/t099j8AlTNH8ZyJpiL2Xs3VGXSyksiItS0PogvQZIvIecSmsK7ydGsoZcu+y0UI+XcfL0skhBNFHQBwnwUsCoSUhcmK9U7QWNWL5klytYqRb+boOS5TLyPfTRtk4Twt4s0hon+ZUGWM1KuTSnpkGzWp5vEtbjE0mSTYS6QQ6zWQ89nG0hZKuPs3ez7TvxtDZNGZhhA/+j2hNd38iUS/VGcD2lfqG54KkXC6Vu+ISQ3hXBpbkUbUvV50v+09Fm9u0ycVjdAOipj3f41FbeqxJXriVsQ547kBzpmR93YbiJRp2kafAUtYvgmpWDArXZhuWlv0SiGqkAeRRyc36YrnZ6LcXt3zCHyWmHrZceiGwLcyoBT5yhvdHe7tw6oaAMqjjkThcGIyT2FQ/DdckBuMUtKAgICEEWN02vfigK5DaFv0TqnWSB8edIiTC3Obm5m17NcNYZUBLuqAggW2gojKHRo8fmtLc+ZFpiOPLErUXTG/V8m9MJ1/0bKVRBAAYMbu0tWZB5qWJxz/BCfr2Vx6Emt0JvdTiwAzbsxPVN9ONSmG5ldNX1XxpQa78Y3Xd61G5DfHduKM1R+40odk93Yh7uFodjxutpTtEhjYHTIl8Wkhtml0fEOmuJcomd/DKL7nYs94oCEVhOqAmT8LxMRwiAoBp+sPRmuGWaJDKp7C7gNlm5G23UG2tSN0T2Nzo2JG1E/ifS0uRMyBieBpcdhhasBYjQLYhbdvNTSFeDEEbrY3gYLLyEfruqZB/uuWZ9VED9NMldOdjdcSop80YeIhXtNDSll47m9oB19nFmTgWgNn22CUl3JyMQ8zpjiG+rRDBO+mHt/745BhXlEx/rjSBrk2m8o8rReAavMpqBAMJw0OOOubHLkMCL/b5X1OVxHK/sewvf4VypVeeNgIy28NTUhb8zecPve31/AaE+aALcnn+0+riEcgImGsCddH0bHgHMmuqNr1omGR9wEBJlHLJBHEtyalfMXXUOSuKvWHwqZ38pej4uePEBrg1dmG68XutadwzTWtieSaM1IYkgtp6WcoXohVK47RsfFFVmrbYQ=","layer_level":2},{"id":"2154cf33-167b-49cd-b5b4-73427e843b34","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"IPC通信机制","description":"ipc-communication","prompt":"为Netcatty创建IPC通信机制文档。详细说明主进程与渲染进程之间的通信模式,包括请求-响应模式和事件广播模式的具体实现。描述IPC桥接层的设计原理,包括如何封装底层API调用和处理异步通信。提供IPC通信流程图,展示消息传递的完整路径和数据流向。解释错误处理机制和异步通信的实现方式。包含性能优化建议和最佳实践,如消息序列化、批量处理、内存管理等。提供常见通信场景的代码示例和调试技巧。","parent_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","order":3,"progress_status":"completed","dependent_files":"electron/bridges/,electron/preload.cjs,electron/main.cjs","gmt_create":"2026-05-28T20:06:56.178634+08:00","gmt_modified":"2026-05-28T21:13:32.704257+08:00","raw_data":"WikiEncrypted:vsblGOysfqWFeFET2CTzTH3yjSKE3IAuVwffmBFa56DSijFF0xCsfD5iSmpUKbcIKXdOsqgfVOWutHeWOU/AeAbMXvAhpSqLxqZCS44Oit5/RMY+bSYQg8qp7ffZ31lrUBeVVLZjIz+JiWNIkj6ZKaH7cvDNvp71DPoIXimInk8LV9SOIeAfuf1kX3HMS2nOGzojWKA0RisXs76BT7Nizx+79ao21Tx0p3yME+1jZ0OAYn7/0vAwJb4X+KC6pceRW3PEQhbPL2J5PGag/bo1vXCuYn1qIHCfDeyFWdbLw8kDG1KKU3dzNkEvdWCQ2kPoGGNnum4JSDG7Y9UlFaxa0tNZka5AhT0BAsLPoiJ5teHjG2/yuwNC2QTqRJcYCg41HOqQ9eRsxn2I70+VWuOixPLTig4b0fJVRP5qX+qTu/lSVxcJ8F6wXsItuSC9fj93tqfwnN4IgXwx84oxRtm5wBB4zZaxYOElGu585BscK7zyzRJ+L1CeHqxPUypivib6/PFpaJyo2qznh9nNtg+l2tTuDMw1SpG4gSiINNZ5rko35hr6QT7kwwXGOyfnNvnqJ4dr956L1QFzOQ/DSsoid5/S63FIo+PpBDKSV3pb1ouHtr4ib1HH+b7/+Br4r/T4gVFP0qSLxD4w7ERb4hhTrU1A3MXFW4HTSGktiq0o76sfM16ehLHMBfElYZNEq5SoKbGR8HjFyjUESwlnpjzxHAmSLEI+hpN7U7zUDLvDnPqSveuiUtJL+mR9FWO8e2tTf8JFuTFOaKWMLCspZwNMsjqo1OZctj65X2yhTlK5H4O9WhV1ztbLaU9bU2F0sNWDg1SSAkse2W3QMHJxHOeYLnpvbYWeqJFWsLsU9YjSGoPlgpaRovZ7Sp137RsGhuKA6lJxbPJnS2djca7r3In8n9S2dnLzL17wGm3o7iEkq5kwCJOFUDS8uL7vivhUqq4ldOvyg/5MK9qD5ChgpgEG/2ooXMSRvFh913yuI/egSRYwtjeizwe/h4UwgcOKFM7H4zUABa80tKuF0tcWr/oi8ZfdmXXR3bBJNHwCmcPOgk0Hh8E/xjw90vMZEW10o8JErq2S//HiiqYUr9TCYBktT3VSZtIqjXku9DXBHeXhbpTIZscwOPfkMAeYoht2StGCFXso/KKVThRJsaQnXLfPKQhvjqDYyRKcPsGkr4jWf5SRbISERexXTWW3uh3gRsGi8XA4LFobGdNhN2Hd01jVNFWqDMmyD+oR8Fs4uCRZWJs=","layer_level":2},{"id":"ee9178f8-f4f8-4b57-90fa-6462c4acb72f","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具库","description":"utility-libraries","prompt":"为Netcatty的工具库和辅助函数创建详细的技术文档。解释通用工具函数的设计原则和实现方式,包括字符串处理、数组操作、对象合并、类型判断等常用功能的实现。分析上传服务、本地Shell管理、字体处理、标签页交互等专用工具库的功能和使用方法。详细说明每个工具函数的API文档,包括参数说明、返回值类型、异常处理、使用示例。提供错误处理机制和异常情况的处理策略,包括网络错误、文件操作错误、权限错误的处理方式。包含性能优化技巧和内存管理策略,以及工具函数的测试方法和质量保证措施。","parent_id":"478f9651-04e6-429b-ad0a-f182114e1102","order":3,"progress_status":"completed","dependent_files":"lib/,lib/localShell.ts,lib/uploadService.ts,lib/utils.ts,lib/fontAvailability.ts,lib/tabInteractions.ts,lib/useDiscoveredShells.ts","gmt_create":"2026-05-28T20:07:11.127632+08:00","gmt_modified":"2026-05-28T21:13:33.318851+08:00","raw_data":"WikiEncrypted:SvMc2PRoWqDcMfdzcPf97AuVTkmybn75mqW1cLNr+OIrZEaeH5sTVFgcR2BkTeXmfVEreLIaVCLUtVvd+3WaSBjMYmVcdBHau+8C1CsRNAjTTa2lPZA/bsjJia+5mOrgH4d0xVs/7KjMLohvewVD/80l0f7xJ0NhNJZF5kMar1fGcBUULUw0YupINcOlzr2n2T5u9HYNmOX/MN9xrAD7Gou9iNQBdHm5uTXfvu3s/FxGVRlb6WuZhE/xjoFv9ZVYoR/UPpwKrKXrVyDroGZA78GptasHuC5I4SvJEt0CoqF+xQgGCH0Cs1rshbqXIKVeky1xZJwm4bB0aHvbGP0j/Mng3atmIZ5BUp+v24D9hFu2PxFgD4eHLF8yu2UdwcLRxeXfNiaHl67ay3gSCFL3yc9cIMvTWoXkqBac4XR5Rf4kJprVhuqopmjL+y9hUkeyG5W+v8X4pDW8PMGNDSz3DtGRNI3R8D+myn68wVmXAtHjG2MO3uv/cD/0xT/ATbgD15+bTLFi/2fuDsscEDlNTvlyvkJaTO1yeDlg5/hFh2BtqVcxySkPdta9g1WfPFqYweEWyHmghZNeMU6tv3DsH+I2oNAO5JydLzFuB5da4aETxIBdbtMpWin09el8jW0SLKOr1+roTAIv9nVcXxvkMVg5DqYWbsfrfOVd3qqnXTdnh2hND3/PDXEgB7OEBuFIwY+x8X2Xkugvd45jye/qPc3fdYgqlCq8uTd4RtoV/hAxQewk5bnUMYIvSBYWP0S0oPtAedXu9IDdIdYtYED5TEn0zJnQ/1ApRz4hLLBbM1hQV1fsUycvDvKK9t/zEnzrSNr2CEFZXXxPKe1mRS4vTqSPKsDVmJCV72mEmhuOYehi2NLePPGrd0+zjMU9gojAVrmRN/Zi9spQ+hhLjoEVjQr3sfFo9hx6FtiYtoAMzrIpcjPQabYrRDBGt0pWezFVHIAyukvN+GVMat8Gg0ALb/aGLczFzLSxJMXO++Vc+63iRaGVbo6xpNYkqXR92td4bQpoaa9lrl+e4hkalnjwLS1CMZum0hTrG3ZDfoVl0QvUsElG5Yljzuvx9q7Hk9JhutzXfbneNaqAGt1nx8eYcp3gXhoRH8e0g9FbxhXVNtb7uccy9boroEIatw7PPccBHK3FuZCGoouNUkLNqSKl3U2bX1taRUZ+lz/OUfIKchC4JlPjF7Qp5hi6P2PDw4vGx6U7gitLMbTgcgFNpsWq6IS/wNVdLLdeY0qUiUJbaFWffxttrVaPZ1KsxTbMrNW4eSiBLvI0TGDpafQ6oN2V5i/IGF+SAOxv5vuGHr0+7PhOAbU3tzjsxeRookH16IyErE1lnLqR2uEFZUGxAnl8Ahf9wGZz1tTb4UJOXNZVyRcOLMIAockfrDqRZmoa69Gz","layer_level":2},{"id":"2af9b53c-66bb-4ae8-8cfd-72579a55e354","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快捷键设置","description":"shortcut-settings","prompt":"为快捷键设置功能创建全面的用户指南。详细介绍全局快捷键配置,包括窗口切换、应用控制、系统操作等快捷键绑定。深入说明局部快捷键设置,包括终端快捷键、SFTP快捷键、AI面板快捷键等。解释快捷键录制功能,包括按键组合捕获、冲突检测、重复绑定处理等。介绍快捷键方案管理,包括预设方案切换、自定义方案保存、方案导入导出等。提供快捷键冲突解决和最佳实践建议。包含常用快捷键推荐和个性化配置指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":3,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsShortcutsTab.tsx,components/settings/tabs/SettingsShortcutsTab.tsx,domain/customKeyBindings.ts","gmt_create":"2026-05-28T20:07:11.894919+08:00","gmt_modified":"2026-05-28T21:13:58.2467+08:00","raw_data":"WikiEncrypted:IAgkkogvFzAPSrRdUGePIyX0FVR9arRO1F711SqrMo3txF+/4XReNNTTpj0Tl+knB5GwPfgXQwnG+t21jGkLuFQxfhClwVtxCUwdO8FIpRn+hLlwyi4xDmDXW8PYfTeqPIm7MtzGRFnwZduJaBnthpzuX0Nq42pZqRmCVLM6X1LlVn0E1Rcf4VcUW75Em3UxP9jrsZxyxz+Jbs6KramE8xk4Yftiq/0D7ONuh0Qha7HnpOf351czyG2oGOfrz8baBtmxRnTx7SEP14zbwjSJ/CaEadvOKZ2YN0wAry0Lz8GD3FWEdWhhsx+7utvtqH/gt4tZsIqVHxLVlTvnonFhnZg2vp4R9jhZ2iMn0C4hbzn9KlL5bquvzBTZsW98d/bf2KcJc6rxk65jAAPXtge1qj5JFkAguYzKubbSV2QBKsOwVNCeOugzn/t1/aRHHY1HepjpAtYHOB8WklXEZF0EOJeKp//siCJi2K4mJug98noH7XTMjJAS7tR/2SxEKNtbTPGZAzG5RwIhp6IeFvvMOVKl7vTZXUdb1YBCrTeUNT34x1+em4hELKWDm7j5Z0K3GxpV8nMXX/3J7ES+cZmWJWwSyHu1pmxvRiBOlTqGDgI8k3ZWJxFgnkXv9Y0LcIewzdIm5T3WIziE8a7v1yvgAKKzs1af3Yu02/8VnMuYm3kM2v835frcV/VqWpP8W3IbMABSdgUnvdZBLEt2CX1ZMKCnzK4DbS0fIzeu5Shhyqnx7lNbjWCR9HyHvCT6X8N8Ook/hmdSaCXjUdwCzmhh7wAIlAJWAAgwWfnnXVIkZTid1pUmTKAi4oh86MemgYR5NOVWeTTPbi+gstAxokZifmiHHA3htpvFStEIU1cCoNNQDL6avDCobAFP40arbMEUTL5NJeFwFqOGnEj1I3dVhQt4PMhJijIGByXa/6qg7q2tzu10/oudA0rbgeO6CY2mHc4pRkkST16Xj7ILyOxZnz89VWCV2vfDtBdURv1ympdj02Zhbhw00CIVq0yxoy4OWLl5L54oTVSn0zzWJRURJi1PRNYTFXNjFGi3i0Ki1VVPsxk5KJ0CWj86zC+dioEed6libs4lt2dLc5+9krlOPd7SIGH/UN0iN/eYtj0g6vZShcgtUfUdJSEowObUdgZ7esiWm2W2zyjkhhNawGREQraY/RkcfsDYwObkACCU1ZlJNANWC2d/reouOyrZ/o0QEXWsKEPLIjCNJXICVzCO/BEU4d+zCo2Tz7iXLwbVoYAx245XPnck1fruohijdsip","layer_level":2},{"id":"d9afe811-1714-4c00-9188-6b5535c6700c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"CLI工具","description":"cli-tools","prompt":"介绍Netcatty的CLI工具集和实现。详细说明netcatty-tool-cli工具的功能和使用方法,包括命令行参数解析、执行流程控制。解释CLI工具与主应用的集成方式,包括IPC通信和数据交换。提供CLI工具的使用示例和最佳实践。包含命令行工具的扩展机制和自定义命令的开发指南。分析CLI工具的发现机制和路径解析实现。","parent_id":"da5af3f0-4251-4700-9284-7ee621720087","order":3,"progress_status":"completed","dependent_files":"electron/cli/,skills/netcatty-tool-cli/","gmt_create":"2026-05-28T20:07:13.149326+08:00","gmt_modified":"2026-05-28T21:16:18.018385+08:00","raw_data":"WikiEncrypted:N3FJ1M6uXIDpqziw7Sfc36FmOqr+zpJRLjIee1Rqnmhce5m9z/wf8n/LboE3aJ8uCo/HoT8JxDZH9mU/hUnJM7FlOtZdlP/wVj8Ilh+38f2bvyOLYTY/JPcOu7jajpddNJ7BfkrK1G1VP9rwtDyT7dz0AgdIXBEjlAJMp0jtuz4L/9vowX1+p+/BEPjdV3KARB32lpjwppN728etn17jKY0wySBif8zsg+FrqG3oHGuFHVMr8xQJVewr0q8P17dhFdXfrIWMuudja8vw6ylXqrY9OlCjJp373TXEWIGA3kijzulcOi9wu6hfmcz5qm03WIFnRYUAms4m8k+3mMFnfEnrq4bdiCBJMczYlWKsqVU057ZAZsMZB/pKqE/pmIuSFWHjIUXu2sMhyDcK/knDmmf4McuC9m3vqR1r1KyLw+taLNVQkeJW8j2hN2tVxDrLfq3Q4nr3eP/u3NjVciTF/iyn7gZ/pwZF3ZUvOn01/PrJqrxQgEnwz4cbTbXku0rnyUKv86Vi92GXw8MuxEhE3b3Gze3vf6Ml0ijuPvBKASXgpaPWumEwQYzikRbIcSEKhD9p/erZ2VO5hn528MNCSnjdipmg4Qs3Ohv1rb2OWRvPcc1iTS37xPYIL+WFveCKT1pCIevhaUnJ/USJVUxVY1PGFC2RbJ88Zk9/fZvEitFefRlh/7Zmc81HmFWBZ95bENY9iVgCsle7eoZioOQ1nH5zZl1hJ547mHSexRD3kJAUvf0zuTPo5GNH3SbYfzBRNReztU6v5GJj4wqRuUAXC4a12M1skGVQZ4gk1MauT+XwhEdAUJFA/lbsWA85w65IgqR9YoMMFkjLmk3uilDkMFRoRXZW7Et6X92pHSaMGZe62/hRtyx28cMU/AflS/2cySvdgg1ffKApqqtEULnxEkUOQj+k9+jK0N9CQtdc6zU2Uhbkh43eDZaP2BLt9F7elUUjNQhx2oBDJbE+9TJLuw==","layer_level":2},{"id":"8433df7e-7804-4604-ba3a-45580e402754","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI基础设施","description":"ai-infrastructure","prompt":"为Netcatty的AI基础设施创建全面的技术文档。深入解释AI代理管理器的设计架构,包括代理发现机制、生命周期管理、资源调度和并发控制。详细分析AI SDK的集成实现,包括Claude、OpenAI等提供商的适配器设计、API调用封装和错误处理机制。解释共享服务的架构,包括会话执行队列、工具执行器、安全控制和输出解析器的实现。提供AI服务的完整架构图,展示从用户请求到AI响应的端到端流程,包括请求路由、上下文管理、流式响应处理等关键环节。包含AI服务的监控指标、日志记录策略和性能优化方案。详细说明ACPAgentAdapter的实现原理、工具调用的安全边界和会话状态管理机制。解释AI服务的扩展性设计,包括新提供商接入、自定义工具开发和插件化架构。","parent_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","order":3,"progress_status":"completed","dependent_files":"electron/bridges/aiBridge/acpHandlers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,infrastructure/ai/managedAgents.ts,infrastructure/ai/types.ts,infrastructure/ai/,infrastructure/ai/shared/,infrastructure/ai/sdk/,infrastructure/ai/acpAgentAdapter.ts,infrastructure/ai/agentOutputParser.ts","gmt_create":"2026-05-28T20:07:29.923282+08:00","gmt_modified":"2026-05-29T00:36:03.462458+08:00","raw_data":"WikiEncrypted:wIw+pCZoifvNCBWjhMJ7PoDhza76sphxtpVC5ozYPJG8j2olGFc73bHPg97BWQhod5M7+Vpk2Jd7lVpn9Y/CryO30pVRvwjxfOARgR6ezVhdxxfqlYiKJrGj0mj6kM7YAyRq3QFhjk17sn0hrQyrrqNAMXfdh/nmxC2N5McMtB9Dld/HkWw+ee4gy2Ssw7Z0OIbPcXlDK6VZqEgPlsulucVzfs0r+s5FbDjZ9afkWU5wZMWOVezkP0t1G23KKE9O3Z62mG6uR9Whv7chLVxtTqYB7nQjS42eVYnLtOUilg5OkhC7sIkdXidqc8k0sx8Dp859Q8z6dl4szcD/fpTbA7vEuixQly0wHfnuYmdFKqyiE7LTs3HYlAb7Mty7mLdgEPWf84FluJA52K7+NzvZlpVRGtizvbNyMEmtSMU1k8glfSDnCxGSOHxJoMwAsC0y9zUdDEaZ0AgXQ2A7fD4lQk0us7jovKocP6qSNzvREuF28qDvv8blrrXV8G1n56hQs7xqA5zM/kGBRU5GS+H7JQ0yUtDCytPXnEXzmyj/unfOi+AX5YLh17ZJ0me4QpbICK1v2B+RwsuoPTSAsDTNKdRUez+ZQG/tgaJ4dJRnACjrN3Piy0NxulgOnppv3BbdVKM4bKayjId00zMhyjCoBXLuHm63N0eYNuzMcIOzpE/+rQun1rMj8t4CRFFss8WCbbk6hIC1c3kZMUSBe7/SUp1Kws5Ej1JIaJkxUa4BwmxOZsGXYea0RezlOzrSmvhG/9+8hVMDD4/2fgevDPJFZ8BT9ILgJhzpaeC1wbheE1I6/6wpygjR0SShYlcOsG/l0zlba+joqTxtkyu3FZCEzNCb2wjOBUiflBUg2/58TrApaC+mg45naziRhoa5O7DODn0C/nDJ1oG64mAKlVrHqbQ5VXvswQ6bm7pRv/0dKvmGfpjhQQaDAkvAngqGlYeNDgyBaBhBCF8dio5WsA2m0C6YpxqnSWrQBoLQAvC2CUn8syuVhUE4P2ia85A/FOk8ZlHk13usirWm/tTVNBYyLhOKOo+0GcoYU2wqzBGdxMVCuQQbXKYDt9dGAv4rR6lwdswBVhGmB4KP7nV3xZIBTRQbSXCivDG/eGWfJtT0K2SyOMEa7HD6q6tbYuw8MeKgLmK4Fc/Oe3q8LRgitTO+PGykoKtk3XKw79UHFS3wz2v0m2t0xlgCdE9c+R7+EP9u0c+EZDKgF3Sm9R52WbymhwCHBw5ZaHU3qnA55ru6GWkv+YMJn4n19u0MH8I6iMtp3YRtyoM1QkLlYidO8f1dHFkL2Tm0q4a7zArlUm2qYGtZbCT1XUEQrm/Uxnu/9sUCGdQ0MJpES85r9TBwW+qy20g5aPRxMtAg3MGLLOY4ASigDTqVg3G/xkz2EU4YzuihrL/mE7Vkx0QUuVJyZZMZ+6SPEA4hzjRktv7f8PmDYJvYN8+8/nY3pkyKsNXrgn1ywOvyPl+S7CymH3ADTKUjFacTzy0I+xUVGJDfw08NQCz5ygUZRlSmFEaUriv20+d3RnqhoI2JvDBuT8+O0rsYUPQm3Z7BCCt4frc3Ld0T01hTh9NPl1KWKKgk1+gLcTJ4fHpelYxiAED4OZ2kxDFSOxmykBJzEKT7c/PB4Op/tTN+ckjQEhtryDhmX7ZqAaQZMf/AucR/n0UVNXwsiwj/Bnn/4vmDxMt/9tUpUmC2YjzVt6AJWL2rX8CQe3pt6tcR3yazZrvSGZVrd9F7SZuyHNozmytZ5HWAPoxqKr1kh5h1XZ6hK5qnN1G8nlyW5hhiEzqCAG9Eyo1CdObvJqLN04NgcccRZ9JzXa/DYb5OXas6EWqTcx75JYwmJK47XlOMa4kjMSLHO2ENGsFpB5iCs1OTAFNbf/RVnS1O9r4bqA8/qmKUqWt37jsWUXxUtCvS0ugV7/u/I8h7ZwQcHc37a0Xe/4qQT8wLfOqasW3cZV4=","layer_level":2},{"id":"78d9aab1-277d-456d-b81f-c6226b357a1a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"API参考","description":"api-reference","prompt":"创建Netcatty的完整API参考文档。详细记录所有公共接口和API端点,包括IPC桥接API、组件API和状态管理API。对于IPC桥接API,文档化主进程与渲染进程之间的通信接口,包括方法调用规范、参数格式、返回值类型和错误处理机制。对于组件API,详细说明React组件的属性、方法、事件处理和生命周期。对于状态管理API,记录所有Hook函数的使用方法、状态更新机制和数据获取接口。包含具体的代码示例和使用场景,说明常见的调用模式和最佳实践。提供API版本兼容性信息和迁移指南。确保API文档的准确性和完整性,便于开发者集成和扩展。","order":4,"progress_status":"completed","dependent_files":"electron/bridges/aiBridge.cjs,electron/bridges/sshBridge.cjs,electron/bridges/sftpBridge.cjs,application/state/,components/ui/","gmt_create":"2026-05-28T20:04:49.697265+08:00","gmt_modified":"2026-05-28T20:12:29.294441+08:00","raw_data":"WikiEncrypted:C34GewOyK1SlumqKiPsSg+WPNa2UHH7yP2PPjE4/OPkUytUlTK+XtmhJqDmkbtEHEAcR/fQDGzU2bqlmJ29g1SqsJHGFyO6zV++81fOfKXcggn4oOr9aX8VYJkXLAnsre4qAusShy6ujMgmAACbEcpgFFwLG/hPwTx+JTYtVjn238Rjhmm16TTP1WBayMOZu8p8A5LlPenKF97WCfXBj5pJyvhUN9bMqhenFW0vzbls3Yw6NgX64Sln/IVXShZUmg4+5gi+e0IvRWB/ZybB+vjRUHFuTBfgI+aNPRe0h3Vj8v9IJjDJbiw558VdombcgkrCk1gdHDf59UjULxvuGiQ1O5l36rJhI5j41Bfsqf/GSGRUmM2c16CLmxO+QY4bKc3q7R/0Iu4n7uiFw1iRsVROY2JIkSp+Ncen3q7UvYCApdpSXFy7Ss5Zz1uufNBKNZ3GAAJAuYX+iUITfhu4Ir5KKPr9bDs8oDVoP9a+lLCwvnI13HhLKUZtCnbaQzqKL4O6jH44Dyk3rUypEiGFXyU6ZwU9mgDSa8EGuLM/qfkk3O76+ZcesKGJF3CGQyavFURbNs6Tn2aUVojcNZPHm3+tzH++EEjAfxtfP79JI5SqlSaoeSYVLilaAx6hrtIihMbhFyV/AqpddNnp2TS7Z2Ca5tKSk2p2FfsFuGTBVyi29iRFsQiTY3/FbfBvb8VzNuT5zYUgfbQX3jACxOXKSoo9LYXa5K0zMok25zHRpjFVwW0zptFIBb1Bpv40I+N8a6NyHq6ZpNE/pB0eXDKSQAZxas29gG5C2Y9c+UgDCthL9PW5UA0UzYxWU/aYMuK+VQ2pLwb2fXzA/J+a5HapoIRr6EiElQTP8xIxr3Tfztkb/xe5jjNI+0NvgCiRfJ/b1wWKEcDHKuEz6pRbdkdl/yViFUpch3igMnz3Ga3z1KQZGSfz0zoTx05AL/op7J+w2P5Rpq2XVfHAprxn/Mx3sBDeTvGOdPOMZCBbryWDjeZuzY9heLAmovid97IhG8fae7VhjElP4o355hTx9ecdbgZloL5/iBsuZoVgOV2DLq+YwG8IkeVbtvb/zUb7dvUQxJKwJS/l7qTbgvYS7sDhRsKLrt8dYZRiSIIByi9hcdiOvOykimfqj7k4lsC53BNb8cLSDoUfT+p5Ow1RZ/K8jWHFOrV/uTXAjP94We/wu7WbgLkc7lsHFsA/zByRlpCPylFTwWaYm9iMYuOi2uvQR0a6nfYr9ajdCvw62XvQb41dvUBN/WoZqoQ4aKOvSTVtuf7v8+My3wj5DO0G4ncPCdc3Mm31A9J49hznQ7QDRc/+t7hM4E0cRhj0/oJR9EGNq5Qo9c9OI53Ux1j6btaMyKLlXUgji0pWMixrfApByG11U40o13CLxFVzC/1+T60c8ze+Iq1Ll2Jt1cClNJUwUqQ2xGlqs6nYFGxu7RECzYdDMRiSfMZt8agwpfIi+C5UtbRhvJhEuW0z9FkwhrH2Cpf0udQEXtN1sAgtrksh77RXo43hSmriKfdTLig0bgy94YxdJr0Gtf1KsFMRxTh4mnA=="},{"id":"827df142-1133-4deb-97f5-fe3c3e67ba38","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI代理集成","description":"ai-agent-integration","prompt":"为AI代理集成功能创建详细的用户指南。深入介绍AI聊天面板的使用方法,包括对话界面、消息历史、会话管理等功能。详细说明AI代理的选择和配置,包括Claude、OpenAI等不同提供商的设置方法。解释自然语言交互模式,包括多主机操作指令、任务执行、上下文理解等。介绍AI工具调用功能,包括文件操作、命令执行、系统查询等实用工具。说明会话历史管理,包括历史记录查看、导出、删除等功能。提供AI代理使用的最佳实践,包括提示词编写、多轮对话技巧、结果验证等建议。包含常见问题和故障排除指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":4,"progress_status":"completed","dependent_files":"components/AIChatSidePanel.tsx,infrastructure/ai/managedAgents.ts,components/ai/AgentIconBadge.tsx,infrastructure/ai/types.ts,components/AIChatPanelContent.tsx,electron/bridges/aiBridge.cjs,components/ai/AgentSelector.tsx,components/ai/ChatInput.tsx","gmt_create":"2026-05-28T20:05:22.527078+08:00","gmt_modified":"2026-05-29T00:34:06.368112+08:00","raw_data":"WikiEncrypted:FY4xlKL4tdBVaLrcCgRorOz7jLqOUNjAO93nSA6sBmgS9PaPVcVgV1+++ZDcRKlQdIPn35K11Iv9aGWeK87nnC8uc2I7CpvRqASAPOD4TMyJeIxckMjU9kVVsnxzVI9W8nJdQSbia3Px6YUW/4SgRg6ElCvKf0MfsznjSA3sRUvGyjnv9fbtuRwAs7Ay4+n1xrMdHgqb/WMBwJumDFrHBxZPm+tHpTyldRkQzhq7Le4u1z+ahRK82sGoLaCGQaemXw/cEbTdMgB/rLxhHqDURnTwkT0EDcdOmuNQHBuotcdAXAXtmZ61wLZhyE7x8nsRQODcWXiMbh8hHYjgz3ApSMbPNobQrg6LLCtrz/PZ59h3G0VxWczzEUDCRGx4IeIBR/WECLjGBb7bN0FXNqlm5/JyupFg4FnHQxTTwWRYovsy0j2w1iBN0s64vtIUPC45TVl15mIqGQgRcsbDhcKSrqlbx7PlCJw8hb/ofdtvTolmoS6mCGrVA4tlezKKbsSggmS/DRDmb9ZrH1uqCn48EogSCovKi27cQMORAFpV73BO+xpNDbtYBFMrJ0Aicd7Yyls744fTne65z7kKwRZvXKBLB4YipYP/GMpBszG/4UY4QlxvUbnYrLVVCN+4bFwCGHpHDxP0l7dNz1HcUKRzXhpYG2ndd6+kbOk2t1fThV9AuVPUA6u4/x3ZeNSGvMNHHgS6xjLBJf8jt0FPM3WPyCEp9ffl1db7yxrKCQ+o7Z7wTB4K3SkUue5zVhdtgwJC2gOugcVUiDWYF+RjmM3XNNGZ0NBohNKbAMMOgdGk+3lnDX8o8DpSXlvyZlPy6rNklWFizaFYKGekxYBN8vf8HFP1rs6Sp5LR9r1E9xVexQe3kE9WEqyZOCtjNAJZsZDq926hc2/MPkqoWtpkW1pPvpsK03j9mZxkcGNeJITiibm9HaAghWKNf9BEdOFGKzs4Vgg2L/j4NDFRSrssXVTmOKHIEX7ll2ltOJS0usL0S8VvHKClzHMQc3sOsM7A2fDaCe3C5y2mIgIXKD/lnKou65FL28jDMjdvHVencnG7AwIZpr4UrRHl8E37+4gmwzo3amnLQzmgswmVbtiZvJalRiz3eV3b1ncEFPXg/myjKKJGh+K3iDHX9DCsvmBoiwrVJGaYhX6sidOmU0OHlvGkFVZ+qLOMkZajd8Hzbk+Qb+JEjA00iY1TfZs28jofd+X1udaTrM3OMoYpHB/yf5i15CTn3Dlwh7E1L+shvaYZJJINu/fUmuNOziq+IPy/7CzuBUmqU+PchwiMcsXSueTH8aCAGRozqVQTNv8D1FGagxCnvyGJSRoioBturslrOwMQJ21EzznHqx9ai+thoU1RIHJORgenbuE+f6sDOvbisxRw8V/xH2Tn5efffB5jJ8c8Y7dy8pEOUl26+xlD2QUzdP9LEjH81jqjPOJaJjU7OBiX30JHl+F1Pkg3ACgjv2RMG90UkI5Zd84qgM2KzkzU0UJB7p5rDLl86fboKloMo0AgxpvLB/+DlKlRIk704sxm0rIl1UPT7CGrNGyA3pGg4ylmVXri5AAJlEtY4WU+dNkvVeW/KYQdcHvm/cyI6fIrEZ+uJ2ivh2d8S7WSSts/Pg==","layer_level":1},{"id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"基础设施服务","description":"infrastructure-services","prompt":"为Netcatty的基础设施服务创建详细的技术文档。深入解释云同步服务的实现,包括CloudSyncManager的设计和多云提供商支持。详细说明加密服务的实现,包括数据保护、密钥管理、安全传输。分析字体配置系统,包括终端字体、UI字体的管理和动态切换。解释AI服务的集成,包括AI代理管理、工具调用、会话处理。提供基础设施服务的架构图,展示服务之间的依赖关系和交互方式。包含服务配置、监控、故障恢复等运维相关内容。","parent_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","order":4,"progress_status":"completed","dependent_files":"infrastructure/services/,infrastructure/config/,infrastructure/persistence/,infrastructure/ai/","gmt_create":"2026-05-28T20:05:48.207712+08:00","gmt_modified":"2026-05-28T20:29:52.471428+08:00","raw_data":"WikiEncrypted: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","layer_level":1},{"id":"f82dd286-099d-4821-8190-abf67ab92593","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"窗口管理桥接API","description":"window-manager-bridge-api","prompt":"创建窗口管理桥接API的详细文档。详细记录窗口管理的IPC接口,包括主窗口、设置窗口、外部窗口等功能。文档化窗口生命周期管理、窗口状态同步、窗口间通信等接口。说明窗口创建、销毁、最小化、最大化等操作的实现机制。包含具体的代码示例展示如何在渲染进程中管理应用窗口、处理窗口事件、实现窗口间数据交换等。记录窗口管理的安全考虑、性能优化和用户体验设计原则。提供窗口功能的调试方法、故障排除和跨平台兼容性处理指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":4,"progress_status":"completed","dependent_files":"electron/bridges/windowManager.cjs,electron/bridges/windowManager/backgroundColor.cjs,electron/bridges/windowManager/externalWindows.cjs,electron/bridges/windowManager/mainWindow.cjs,electron/bridges/windowManager/settingsWindow.cjs","gmt_create":"2026-05-28T20:05:50.533146+08:00","gmt_modified":"2026-05-28T21:16:17.784634+08:00","raw_data":"WikiEncrypted:FUZS6U84+pFN68Gw9RhawQxXblPQbPgw8tBLC1PUFTM58d+8ciaaaCL8htEJ6kFdp/FaXiBMRUxa415qFlHtxclePHbST5W7CP28oS5Nc89JWSJunROE+VIB76X4GZAKDtan6LTtasfCaF9vgi1S6odZzapSW64vzYvDWGJNCJxDn016tfgKv0CbBLLjIHUcu4CGOu6mLVSEKZ2c7ecqwU9Hi8TwudeIzY81f+VylkAuL17MpLAt+74IvZxwk5monASgZqGUakC5tXGdo8E//AX6cIoVpoCw8EdRJlEAjG1K50bYfaKSa5KC61O8SKvxZAP6awJLMn6O4SxbGJyHMXRqDqq7eDthC1ezI4ICQOsnqsnKAYtdcWhQcq+bjtPrV4h+407F+jNEmx0QBT+c6zbwqG+wegwY+0rg3Ba4PuwBkO0OdArBZCFvmEWsAvZWNUsiEuKsQogwxp4nXoD7zfl8L2Ab4JW8lvps4KwV3M3OVUgtKN/s54Mbab9VZtqY8nx/oMXcc+deD4wvCusLdw3xq0UG6bvCzq05pxpdREmif4mvPzvZ5/PAc1jSZkOagrQtrdWurp/VZhkHONCL/WUEhfff7n1h64gNX52ugtukL9HewjzgITsgRU6XsCVYCwbegzH4CNo/tLoVjvlpfRM4xr86rhYYjhFS9dPj4gr43HMHPfT+jxMB6Vk4ezM05idztg8wdRj6MClHE9J9KubhEaxwC3mFd5zb5tHM24MhBpZdNjQ5JFGksvrXB5s4PyJX19BtxSlH6TlV0KBtwxc3qbm9//X4zZvO/h/tzAgMVhf2X4TOzCxE9UYdMOxDOk3HcCYcQE9t6kGxAJKX92n8gYFUveBAXUZ6yXTR7g1qfxWqsVSkVYZKswaowihp/Y/8W7FEa+p8aXUqTGIlxVcx9RxF7fmdAVGIKEpEut5tKzFbotJQaYwfQTkCGJnGh3vs5RvltLhhgzH3WWgOpSblm/6k31YF6M7C4ga/jeIOsf4JuQZqkajeAGLcjJCT/1hwb+BFVpAdQ2jz2rHcfTLK/SUVt1fq9asGIAScCjT8B/FPTmHfLE8viuk5ZR+zdITB2ADPpYqrEM8yzvebbBy4wGxqFAQ4KUtXOvPB+6FITRp0TQt5390If6txmrw1xA7SeM6fBrMAT6NTPJaC1P0S7S9h3yEVAmu2KMBy37mPul6etBbiVizcGm6OGBDP6TPyMQfzm/Njlkczzvg56PZaI9EAxLJ6ichd9a30K1/85wt3UaGfffzXFH/SAyQHf7YF66fl+KY43lXi9Xk9Sdb5HrWBFiXeNJNSF6G1LL/G1/b4yzjZuECJrnW5N3YeBzCI+wkODHDZiEdM/LNQXDdUfvha9vOZvhRRYJY85snw12h4jwIwSrk6VNB2bTVnNIFOmZ7RKjxUKBPX3vBdOKsX0y/i/wJZVcNsSaD02oJXxsFY3JLVVHD6GaTLQdFgudpdjwXj9dE65W9rU6jdHQ==","layer_level":2},{"id":"d281abbd-5367-47dc-ab13-aff302093b89","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI组件","description":"ai-components","prompt":"创建AI相关组件的详细API文档。详细说明聊天面板、消息列表、输入框等组件的属性和方法。记录AI对话管理、会话历史、代理选择等功能接口。文档化AI工具调用、代码高亮、思考过程显示等特性配置。包含AI会话状态管理、流式响应处理和错误恢复机制。提供AI组件的组合使用模式和自定义扩展示例。记录AI性能优化、内存管理和并发控制的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":4,"progress_status":"completed","dependent_files":"components/AIChatPanelContent.tsx,components/AIChatSidePanel.tsx,components/ai/,components/ai-elements/,components/ai/hooks/","gmt_create":"2026-05-28T20:05:51.882431+08:00","gmt_modified":"2026-05-28T21:18:59.642815+08:00","raw_data":"WikiEncrypted:9VLW8p8ml1pWblbBtgr3NLNqQL5RYc5NHrUxEWux8qG3izAd+GWOnpuVtHNRNXQrCpoiDC9ICz7Qm194G0j2+MRt7iAn8llFK/1oVIX1xp2lS6NInxtnyf5ZTfT7XGugzrf0tsA/FxE7tNUeZhT1FjZhf5IrBPZTUiA1RrfiVtspvpLtem6lthRhhIHd8jNXgECnrpM2sCz16Ps66pnPnBwEqu6dFQ2HCaR9ISNqotuqZSQCmFgxS1lJ9pghho+cjHHEvWjOBADrjJ4LvoN9Ttt4r6WzvBuoOHCtfLWAhPf4aUFZxYn64rSiw4OQsvpb1x7+tMEb3QdS1RkvagruHgUcqU0Jq4dCwJc1CFHoor0etlScFpI5S21R2UcCXabrcFBYl67iOmCPZaR9gTubHAAuVx/7Q1TE87GFFSQlkbTFU7IAz4NrZ8m4jwcIdYGCMssajWcjG6nuLj3ADKcDpCIznYDd61Fl90Ewzzy5BaWfB4OXMPv+pMWbu7YaDSAxpEgfymtkzbGpBcfaiFaSvVJTGENZpnz4u7aa0IS3j2ll3nqSVq7+OwzS2Uod0yE63aK7znhgncyDdF0J1Jv7dtUlL7EMdIjBz4RsWbxf7HSdDX2S/h/XQR+jeDiQcVRhuTZ3NNR92yp2zWGWOKQ94HuNaXSTtVQgcU0TsbQYp7rPD6u+gQ5dbPvbMcAZ5urXJFvSL+MYXa5fEfY545ZfJdt9SrTQMHYY1Yd3coqSvgxv58kiFo0k3wsoxZ5hkdvFefQQWVZ8O2TmO4MAQrJ7r91U/c90e2PuqfyyPZZus/CQ5vm2B0SwZ7qUvT/230MKKkCuraiuJ7PKZ5peeMhrPa5pysil0fZ8/XMHIrgJ2XQNXy0KBkpHCavQJ1D2/3B94erd20Hk/5PYbnu9UjLqzLTmZOajpTfB5Efjfw96OJGNl5CXqwrOXHcltpUZSBS3TRxPnmgy7k9kWs0q8cQ3DnBfpkPEZCRu6XjHBql/Il3V4mCkkpoThekHoARjX1Qizc07x1pcIaGSFw8RRvox61grHB+mcrOB9aIwmD857gxom6Uj7SioijEPMxU11BaTuxipkQ87TuywgvwvkMGoIsFF4GgxFMjLxlsdSsvBv1A68aq1NBMOFm4+eIXD9ZhI","layer_level":2},{"id":"a34970ad-c11c-48af-931c-5cca9ef2f01a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工作区模型","description":"workspace-model","prompt":"创建工作区模型的详细API文档。详细记录Workspace实体的结构定义,包括工作区配置、主机分组、布局设置和共享权限。文档化工作区的创建、修改、删除和复制操作的API方法。说明工作区与主机、标签页、会话的关联关系和数据同步机制。包含工作区导入导出、模板管理和版本控制功能。提供工作区安全配置、访问控制和权限管理的实现细节。记录工作区的备份恢复、迁移升级和数据一致性保证。包含多用户协作、远程同步和冲突解决的处理方案。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":4,"progress_status":"completed","dependent_files":"domain/models/workspace.ts,domain/workspace.ts,components/workspace/AddToWorkspaceDialog.tsx,application/state/useVaultState.ts","gmt_create":"2026-05-28T20:06:08.451947+08:00","gmt_modified":"2026-05-28T21:18:29.930859+08:00","raw_data":"WikiEncrypted:Di1ozXFlWwX2EdovvmvRIisdNiYMwYbseKvawaE9z5G0iSmeWHgXo57qpjbmPwoWXgFxUVM4yspXFfcZXHeRYmVcB7oSGtT+1vZWdXc3Tf8bsPrEzK9qtAUCaouns+rZEYPKPA9DFPeUtB1yOmRCLlE7JOrDDTBzl5v0V15b2a+OG5Vc6expSZsA/bkuT+gnUxYDHePXLmkanRCOuyCCX8B1XS+02nB/TT+GbGEYdxVUbXcmJqCnBOanx9XfXkGew/n/lFh1DfzhCsfeWT5/fsujkn4qM5ncddGa0JNNWISOHfmyvWsP8vti6zyt3D6fT3WF9RXWeezKW7wZdGhUkM2rhp3PGsA6k+1RNfGVqtmNErkgGURC8aO7UOpimwhAwuAjrAeMBZkdzikd13vCrJAmum6vETxhCcFgzCQT0GM97pRhlXxCrvIQSHs7uyeKTqf7Vz9oVzzYR7kxUoRAhjkG+uDO07hH2IPX+WMxd/obnJlyzdxjQ3CX1jXxtN7yeBdJBGEnE54tDCP3RysqIqkXEskJXz0gD5a84bLMk2Oy6pxgtYnSExdxXCoEsRbEDoNrdU4Y9GB/9OZ5OF4uY71uerWhljGMkWJ0hbkxaqsGqC7y6qXE6t9ti+SBPZYJBLMOaJzcSCRUWlsENCkd5vS3rbBgdcVpDJNWNA6K+XPw7pGDXl+xv0VEuQQzd+8ZZXkbfDOt0/RLTYYHDJuIeoCRRMluV6mWnFODOhcRA3uzLqqwV77YGEjrYDI4NpZwKatznB9FlMXtvoT+etQ0JJd8TOBQBAQvbLbXnRAdPNqBLVcvEYkf5bkDER8tnQMdBWPQbqAGWVVIe9TE0KTbQn5B9n/jH8pOl8SBjaZ/mX0t5k3ttYvbDv0rvEw+k/Rt2hxyeISPFMVsXc2oGwqbbd08Y9zRwr985oiSrLU70u3IhidJXUTvd10LiZIzXuQDhtKe6XatOCIT1wAO2sAvjz2xszh0qA7n+xvvrJ6Dc6n33b4rrXQcxqRYTJkzVrdwYHn+ieykhInFejU1kf+USP+E/GNsx7nbQlKoeTqb3ItDcGEEAZjyPDX9hfxRD+tljXCjfFosoiYkeERnzf5YxSrPnS8dMlqGpxd3yBoJFQJtEWYLjattpRgCCtCQn8zEp8DAlF7NVQDTUKGq8OJVAQQzbmGJu98XAGXa5V5i4VW8/T1ST+Ojglag1sqUBsVYGhP79zHu3vODhsKEylq8M+1eDkpWXrvbRFXnAZzZFQ5pJOKY9159wdPfVmZhO5QbgP10y1xVJGtXTQpo/wbtHBMHvlaeHKBKGefJkUaWLNZVfkRH3sgQ1u5sKI+mZQ5G","layer_level":2},{"id":"5ab851c5-022e-47a4-8293-af1491c63b59","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"连接测试","description":"connection-testing","prompt":"为连接测试功能创建详细的内容。深入解释如何测试主机连接的可用性和稳定性,包括连接前的预检查、连接后的验证步骤。详细说明连接日志的查看和分析方法,包括成功连接、连接失败、认证错误等各种日志类型的解读。解释会话活动监控功能,包括连接状态显示、活动时间记录、异常断开检测等特性。说明连接性能测试和网络质量评估的方法,包括延迟测试、带宽测量、丢包率统计等功能。提供连接问题的诊断工具和方法,包括网络连通性测试、端口扫描、DNS解析验证等实用技巧。包含常见连接问题的解决方案和预防措施。","parent_id":"f348201e-855d-4899-83da-3a544ea6e040","order":4,"progress_status":"completed","dependent_files":"components/HostDetailsPanel.tsx,domain/connectionLog.ts,components/ConnectionLogsManager.tsx,application/state/sessionActivity.ts","gmt_create":"2026-05-28T20:06:10.068486+08:00","gmt_modified":"2026-05-28T21:18:40.067026+08:00","raw_data":"WikiEncrypted:k1fKnz3ioW1yTq9x1Tu5AMsjBPK+UZ0xLtGFzXqQXFXuXI18f0UwnajtkRZ+hnJgJ1ZfzLCmtQc4OADCWygmASlQzR0sfFXSERwyYvm53GOmIaZTPeky5u7xG3zpY+J0LZP71bAxVDNJYESL3tSx1LYylKmo0mRhH6lmjUVQucLPGwtzCziuwvaF7b2gQQL1i5G8Dd4LvS6vnU8YWxFjmWiLZGSA8EPTPzgp0OJ+X8MnR+5m7XnAqoFFlZLDcxULCOxN+pf/W6wIA9M+DZGQRKZ2kcA4eHrUn4iT7X7yLW+kwvkfpmWD8DlpCP5XqW8mfuDp1j/v2P+qXvBlNo4dgABzX1Ifh+hsdPkhn8zQ3a+VEaoWkwbmOAQa5UhVXj9bgjw6e+WADVHMEOaVdy4zhe8DfxVIu7flCT6T393/iprZ/7SnQjvrmLPWIEYTTRJhjwrA0qr9+z9v+/yW2yWKRBW9bGDD1r9cw8ujtAs2D8UZpzsrJzP55hiMhTjuCKJUpgRU1gLUAzOuLn2/RC/0KIOl1t6XFfuiuywfigbfXuvlo9TAfj1Is3FXj2XCDxzi8v7CUw62Wow0+Wv6ENBPF7UdxVBH15Zrf5ZRh8UgnGV1TBy+MBF75N9vimsW9IkCXhulY3RfIAhfqP6VqcRdPyynWEy8nZpFl5ZFVLgO9QLPEtzQBmT8fAaY91icFxF2kdsmwU7jQv5/F2QkME1iVQSHyzHvb1YCexP6+aj+5S1I192qVbfyTWtMHeK73hxI9sTGbQnZVMiv0HFrOl1KZTcnYqgoUANkG5kXELB2dEhV5+ovQjVdSYRrF7CatLY90XjMzxnQvsA/k4OscTyybg4CgYYz+NcydzkEkRo6ihzW6JXciPXSlVCvIjGjiQ1iyQHV1Yq3bi8A4LZhTBNoupRgPrgKdhR2asrd89IFReyIasBoZeMxsnL2oZ7wHqZgTNl5qlCZfy+CVLAABJWzJBEYfsL3n3r2afCPa7IJ3lm8czaRkWPWPDSezE5jeSyS29YLFAnGvpHhtPzWvlN0UfnScli+8oUuw0z5/sAVf+/qxuxqenUkxnkDKBzcwtdv7ZJUOtkm5VuWp9MWOPqCTfE76IYkxjiFULmYBKYEg6GpNXspUKmQsfAfx/6Vwx158l883jx7ZKbt+WEDo+KfgW1RP1R4zTmOW7lsg3nYJRBPydYjpF76stoEqmt61em5rlxabf6LdRDyykqkltWqpvrHEzYxuH5HVzfs+Kbutl5ZRTYlWIPke1zRsMOTRREXoMTe1i2rOD+BC/gGWYuEZqYJ6Sj9oyrgtyjFULhnw5LOyAka7M/mmffaRvgf9kVKJoO7u3KYi6wq0hSPSNJ97J4jPt7OK3a7vCewcOzMBrSISa5/pts+MN9dN0boy4atFYdZ476wMH2nXmAhwdHSbWSDZrkvpLsUC5jvdmv65Eb03uGlYk7znakWNcm+GXv65Sncwb95W8YsUu2QRfZOeMsu/ZJS7KIOPyTdhrjBu0I=","layer_level":2},{"id":"81f40392-144b-487d-a89a-89595b2ca5e6","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI状态Hook","description":"ai-state-hooks","prompt":"创建AI状态Hook的详细API文档。详细记录useAIState、aiDraftState、useAgentDiscovery等AI管理相关Hook的使用方法。说明AI对话状态、草稿管理和状态快照的数据结构。文档化AI代理发现、剪贴板后端和云同步的实现机制。包含AI会话清理、端口转发状态和树形展开状态的API说明。提供AI相关的状态事件处理、性能监控和内存管理的实现细节。记录AI状态的持久化策略、并发控制和错误恢复机制。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":4,"progress_status":"completed","dependent_files":"application/state/useAIState.ts,application/state/aiDraftState.ts,application/state/aiDraftState.test.ts,application/state/aiStateEvents.ts,application/state/aiStateSnapshots.ts,application/state/aiProviderCleanup.ts,application/state/aiScopeCleanup.ts,application/state/aiScopeCleanup.test.ts,application/state/useAgentDiscovery.ts,application/state/useClipboardBackend.ts,application/state/useCloudSync.ts,application/state/useFileUpload.ts,application/state/useImmersiveMode.ts,application/state/useKeychainBackend.ts,application/state/useKnownHostsBackend.ts,application/state/useLocalVaultBackups.ts,application/state/useManagedSourceSync.ts,application/state/usePortForwardingAutoStart.ts,application/state/usePortForwardingState.ts,application/state/useTrayPanelBackend.ts,application/state/useTreeExpandedState.ts,application/state/useUpdateCheck.ts,application/state/useWindowControls.ts,application/state/windowInputFocus.ts","gmt_create":"2026-05-28T20:06:17.569651+08:00","gmt_modified":"2026-05-28T21:20:51.986779+08:00","raw_data":"WikiEncrypted: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","layer_level":2},{"id":"af609130-8a02-45a6-8465-1217b9e14bb9","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话管理","description":"terminal-session-management","prompt":"为终端会话管理功能创建详细的技术文档。深入解释会话生命周期的管理机制,包括会话创建、连接建立、状态监控、资源清理等完整流程。详细说明会话分割和布局管理,包括水平分割、垂直分割、标签页管理、会话切换等多会话操作的实现原理。解释会话状态的持久化和恢复机制,包括会话数据保存、断线重连、状态同步等关键技术。提供会话性能优化的实现方案,包括内存管理、渲染优化、网络传输效率等技术细节。包含会话管理的安全考虑,如会话隔离、权限控制、数据保护等安全机制。提供实际使用场景的配置示例和故障排除指南。","parent_id":"5e01c9ba-995a-4393-8368-183efee045f3","order":4,"progress_status":"completed","dependent_files":"components/terminal/runtime/createXTermRuntime.ts,components/terminal/runtime/createTerminalSessionStarters.ts,application/state/useTerminalBackend.ts,domain/terminalScroll.ts","gmt_create":"2026-05-28T20:06:31.73517+08:00","gmt_modified":"2026-05-28T21:22:50.045446+08:00","raw_data":"WikiEncrypted:RKHdti4PZ9qbpsNG5nGYjC53il+aCn5uMXx3VyIOnI9DlMf6d448CFCqwjUUW1qiIprWbCfWPW9M+ZminsDhRYAxlSXHBVsjmgieFMrNrgKlwCbBe4ta0vpiT423/vdzGo8h5XNiN1BEJFn+ca8uTjmccVqvJrKucvRLT97nW5Mqr1AA+O64fpjOBwkI9iUNfuxvVcnEJPDECM1g8kcMb/0Qb1wfZfXE0mkhLx6VaJ/i1Kuz3gObm+3vhRz7KJvMEkAXnOoFjgTtAb9abZilxi9Bz5mvblCZYueJ7faU4iROEAfOVC70i/09tNoI1t3AiH4H4h9DOaEjYx7h+FkiaH3GBrqjDEMTvpA88tOu3WYwRmdUo1/mR7NgPQANtS0z2/h2Uwoyrys91CxH8ixnIdidudE2Fse5FYwTtg+xn2fnIZmPG6+WxK/VLB+IofAs+Y+ZkFcs9E8e/OVDIA/pxFhkF9xxZQ1Sl1lulzn5j419Vaq8KIzbRy7ZesHFuRF4DgbLvPbUYCyPeyVucApj1hcn2dZmUyUjiYlQ4TTQXMoq96p+AM8/WQjBXMF0COleNQyVVNR//HO8a+fR+KaRh8BtwGxtC9QJuhOusRfkqnmlXNaY2MWfaWvIXj3/z/pDuXuTYmeXsSM1xqxMsGjJTZyq1gpo9ERhPXFVKwUdSbZo/ShEeWbn388MYLOBcMJrN1xwKHsgQeTbbosa9PkojDxXHqp57xwlTJuRiwxCfh+pgJhmQgmEp7nIjzKcYCOjVm8T0eTbypEBUt/oM+X0ZmHCpoVBQp3RtLKQAe1UBLwzxznP/nBK62MUgeUkfWfZzd+GbcDvhYxQ3Jgq+JUMcOC23td0DxLZ9RvYWSF85xCSThqg534ov9P7/64BjKkI7Yxx4sB1+Q4ZaW9jNk7Ng7kByMWGrWffxD0qMHrHO/oK6njBTkcOSh2wygZvhHts3W5JMcRkTu64J1joReEyGhrixBHLD02b+g5U/xmJHphfRCTFo029vX+4jA/4HrGPpWy+eitKyZS4Tc9FeMnNt6IVGzctDzzdIqzPkzLCWbDyiBU89D9IwLgxLD+S2QdMRKAv+Bp8jmgh1XHvsBmq8MupfipcFZyScYAYI1QiiDtoenSBOFRjYrET10Q+D/7LJ5sM0F4JK1RCvva0i0NUUlGWF3B4sF4x5oWol9B66KI0UH5Zb+xmD9XW8Ftz7/aYh4Io3reBt4v9IvYco5v3LeZM9ADiwXj1m05LZqpcl/mqhFJW791lFWroNMSkKPGDkHJOmxWTRQfbLSR4oozQL1VXJVVOZOW5NBFryRC5CyAdb9q0xVItnRBwmiUSAFO2f/6HAJzs3LfshjMZVaA1MP5mtxbPnx6Iv5nnP3xjYfhGsaJJXL4FHhSX+o+OVLHDrZEeYxR/1huaczyoIEnDbyX5GjBKk+79FAukAJZYsq4SpFxgTAI+1pjvvASHK3gnOlYH0kDqIWFwXHrMDGPDWazXl8Nzb2hcsAJYfk1cgx6Gh4zK2LYWnEH/CK36Otqkg+Ayo5QK0kU6FOMLzbj1YJ31LJdPgUvF4O4EdKQqfqUN9RkTcMcoJpoI2NN9GUlRNyPJvGQeI1EvvZq0NFsfaQ==","layer_level":2},{"id":"76a4607c-76b0-4c26-ab56-f2fc6f194f7a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"传输队列管理","description":"sftp-transfer-queue","prompt":"为SFTP传输队列管理功能创建详细的用户指南。深入介绍传输队列的工作原理和管理方法,包括传输任务的创建、排队、执行、完成等生命周期管理。详细说明传输队列界面的使用方法,包括任务列表显示、任务状态跟踪、进度条显示、剩余时间估算等。解释传输任务的各种状态,包括等待、正在传输、暂停、完成、失败等状态的含义和处理方法。介绍传输队列的操作功能,包括暂停/恢复任务、取消任务、重新开始任务、删除已完成任务等。说明传输错误的处理机制,包括错误类型识别、重试策略、错误报告、故障排除等。提供传输队列性能优化建议和大量文件传输的最佳实践。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":4,"progress_status":"completed","dependent_files":"components/sftp/SftpTransferQueue.tsx,components/sftp/SftpTransferItem.tsx,application/state/sftp/transferTaskOps.ts,application/state/sftp/transferDirectoryOps.ts","gmt_create":"2026-05-28T20:06:36.998228+08:00","gmt_modified":"2026-05-28T21:21:03.09833+08:00","raw_data":"WikiEncrypted:F2ZD69I8HipXU9iLvRJsyfaHmoVCEFsYQSfdJ+c29qqFQlc6kxzVFDLmQdA2uroOtdGilPQzrYaUzwQeYgxmrCD0G0u2GeFamG+ZVb9+ixCJ0q4ejOn/N04gxXkomYFr2zrb9BtMbkiYnXVSfDIGTmtQniQrngeICoTimfCwmPaean6t7/WC7ak03RPuI/BYbMJhzoGiigDPvD1B2uIyeTnz7/lpIYerI19sebADSU/onlw3hKVU6b+GAi4Ja2hU3eM5+mbHGtL1ryRg1aSq8OQl6KrlVBGNfGpQJDs3m2S84emZKRbuBeFR91ZkWqlzrgOA57iHtm8zk/Ci+Yvq9h5fBirzPnYBfc9WyDceEmuYjRIDz9e0EMVj1K6pqvudQwVcXIm7h9XcD7LjQTrZqjOomoaOYxrKO2nTeEXkobZkmqWJ8JgrmpDEM5OZISgq+z5uUV9lVtjkRmcxCN25l/lFKuwzv4iseirEUHRaMaXumfMF5gLxzcAVXc7TP3KmpXsSeZ5BuQIS6AYnwzCxgpA8lg+hYtGSIkKyDVnHmgACudki8rYlWQcLKMOKUPQPKDDrCWihbrakoTuMF52Eq+gVHCAz9euJPQXrova25cCyfL5Tk7MnAUhAMRECT+UpVEhEaFkqf2fzZxaNLdo98w7wb8Az+q0zVyWfKQQMAoQHpTwCKHed9bLwl4Id/fXIBCBFF8EB+cL5JUZbd7xq5uc9TWsIfe0NvT+P0N8C6WWcZa6jaQxGTLPlCDy3oyccGYhrIf7f+IZfCZld5Hk6t+PpTnF10NsKiKUWhi9zLfIPnLXlwhcAdOK8fKmxfPcheZCnKBmVTRyeX/3H8D+V5hHYOn7A4UbnMJoqOleEcXwlYVmJc62ugG9zd8cH8MN2MX1DYQQiMy1TSQXLfsuiUQHEYAjlXTQNR94CM+QCr+T0RWlAW2SmRsd08L0hiw5NJO0whA/Km6gilanIYD9D3Dla4YyWAuvoA3v5n/TE82wnn6ZSRnvTCgpYniypTvmrBCKXvJIroA6VBSKAVtZLqxc3EoCdFpwV2WhbhDHwujLrE6sw/x8yF+TeyhPvYKkY3HFsTe7AvWYIkw1iQt1J1GoeZGNvn1K/6bVWarXkAE9IC7XX9TeYP9ZtaXiYgyodwEnTnWGk2RhlbuP7LtJXPjq9Q/o+OU/g8lnbTOCgLBXLaXhfxI/ZB1L4U57F81Pzg7U0aUQtHxwFLr0gsrqDn1a3jPYYZWd7oDfLT5CzGFlAXD0EwHIoSDwdyKLzdtrttlySIgW+u5ebfio6fGVODxvA3ZPSWUeOXyXXZvSZ7HNDnCRc6pltwh4LOTJIxOwuoXLwpWirQ9zvZwYq7Q/Hqd9+kW0MVYEZap0Q6+RL0536CRwM3XSmx07df5FBbXegi5icDQSmYCzldgysnnDwDF4vHItiXSuqjMjLuQZYKByIY3cvW1BCZm48Ydjfd094aOeUaAYjSk6uzIE5lV72b1PqzKt9OHqQB71RQ5XMoajRrtCLC8TNAZ4nGrBrPvSS6J8ms3PHGl+KHDp7uTQyfuJpFEsK5EIZWreu9N1TFMF4UOsmn0LH9pswQ1IdR1DQIUYKDrt4Ufh8vWdtKg3OU/ICEhmIBwjVU92miwwa8bjzARX41Y6NzogDl51DGAImUwQjy3K80Zrhn1VhyXj+81YRD6GfNRLbbc0h5MooUnQ=","layer_level":2},{"id":"55d86c92-cc94-43ea-a7b9-b13e17e6f7ce","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"会话历史管理","description":"session-history-management","prompt":"为会话历史管理功能创建全面的技术文档。详细介绍会话历史抽屉的实现机制,包括历史列表渲染、会话筛选、快速导航、批量操作等功能特性。深入说明会话状态持久化机制,包括数据存储格式、同步策略、版本迁移、备份恢复等技术实现。解释会话导出功能,包括多种格式支持(Markdown、JSON、TXT)、内容过滤、元数据保留等导出选项。介绍会话视图状态管理,包括面板显示控制、布局切换、响应式适配等用户体验优化。说明会话事件监听机制,包括状态变更通知、实时更新、冲突解决等数据一致性保障。提供会话历史管理的最佳实践,包括存储优化、性能调优、隐私保护等运维建议。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":4,"progress_status":"completed","dependent_files":"components/AIChatSessionHistoryDrawer.tsx,components/ai/aiPanelViewState.ts,components/ai/conversationExport.tsx,application/state/aiStateEvents.ts","gmt_create":"2026-05-28T20:06:51.15458+08:00","gmt_modified":"2026-05-28T21:22:26.742695+08:00","raw_data":"WikiEncrypted:0Uk4p/ZIoJw1paXZ+Fb51l0f41qT7H39Vmt9tZt2tNNVQzidlxb4GpuJrsgKUvDaC5feNcf7DUUOium13pu+gsJ5IsJDLEyLXJWBhpT32/VzdZLPcUrcHq4z74+vnoubr2Lt7vAP+jv+t7av1pa2e9Rtm3PhF8kXkln9fqAyCgER5JIAuRHnwZoH1TP/fJ8FCbtQ10UPuwQRXe056gxYYwTp7pX5E5AUb7BSVDTxVP4Zad270on/La3mCji8nKutDsjibZtbceqyaWty5gx+jL7kGK8vtegVW5/ffn1b1kYPLPqsF5ZwKMtj+kRqqMgd3nm6BkG/v1mbtrprNgYX+p5CyBc79Y0z7Q1WvJOYVJRB/Lk1l+YK2oyPath2Xb90Uzkc2luzoYkPcbQWc++re/u842hED6rjUs86a8SFk+PU9LiUc44XtrJi7jn1KBRmxyYe1MbZlPOJWP1+/Je/bVzWo3Oz94jZBVpTBKDuO2uVxEF7ChAr+8fc3kPE2WxLx33/OpObaK5i7NWSgGWe1L2DdVDX6qnhslN8ODFc/D0V4HCBRwfy1pvnY0/9PwCptbM+b01/56PXFkUN5v1G/DOa40HQfoDVwoYEttyd8T2kTebgIj4RHC/56j3dVxwpTIGDTJw7OVTVncss9mu2Qgm80jiXBVHP0pgUxrid37KgDgZ0KJMcqTVcqlbVRU6SrZVmPXqRRFqeHo46VLvjWeKEVG0KLiMzLbe2M9nPI/3na/rJo3tuoTyNR6J/tk6chYBWEfQT+9li/u37RHZp+OronC3kHqVHU2kef1yv/Sp5sT2Mt6OCP6KkFroKPf/wd7vmGLtcEFgeTpVNe/bQW86Ec0fHLRzOKlfWUUsOPB3y+J0I0xkRFDzixNb1crMLa9Gt66U+apVO/HsFikPdnC6MyPVuUyX6IZOKVlQfTdrbHiU17nObwahyKNO+inZfP6w5vNexQfy7n8j+HETYWojZvicPKeGVq3uSu3jfonbRwY/kWcaCPNY08Cf/H5H0XNEL3JiVgg3YS644Iy4HSQ+kElje4QQrlkkOEI7hbVvXU2vyVHGLN7FsHKwbDclDGUn7XJa3Xaa551QlgfInEdNrOa86Fyid+6ULAgv1zVvra6soDKaYlKaCzC7R2s2/C+q23IfWImQZKFitxnjkoZVxZXj35GrNlHnv+lUptng6UPNhTd66b0oBOkatCirk5F0FOetmSNkFzvRI5zLf4dvmNLbvIS9Q17fmZM1ivO7qCrD5UfVP+TECG81RVk2km877Zvx1AzmilPdsLtmqOIKfdoMd128RI5UHEj0I7v5D95FVNsjzZIDtQXjJ4YAmmYrlTu0aDs9tlW5ITQPyWPCCmVMli0gdboM15pmegyGivWVtb8yTWcAnsEjxViDpXRjxTQJfp3SWXVRbbGcx261uHY/v9cI5VNptP4QSchmUXD67HvvDzgWr9G51tBMPR0UkS6czHzebFT6n4Ib7p9s06/5m0NjmZCbUDt9sY2Sj4ypXGPlAOt2A22nYtmotBuKJQYE02kBM6GekEFDnQllD1MkYJLipN5cJp28/9Osv551FUDiOpPFrIqzAWfPf","layer_level":2},{"id":"d9ee0f3d-a1bb-4b04-970e-740ac07f60c3","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"文件关联设置","description":"file-associations-settings","prompt":"为文件关联设置功能创建详细的用户指南。深入介绍文件类型关联配置,包括文件扩展名映射、默认程序设置、编辑器选择等。详细说明文件关联规则,包括正则表达式匹配、优先级设置、继承关系等。解释文件关联的优先级和冲突处理机制。介绍特殊文件类型的处理,如配置文件、日志文件、脚本文件等的关联策略。提供文件关联的导入导出功能说明。包含文件关联设置的最佳实践和常见应用场景。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":4,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsFileAssociationsTab.tsx,application/state/useSftpFileAssociations.ts,domain/vaultImport/csvUtils.ts","gmt_create":"2026-05-28T20:07:11.895033+08:00","gmt_modified":"2026-05-28T21:23:03.042133+08:00","raw_data":"WikiEncrypted:dcDyhCj+/7lwBBP7VwOj/cWj4Uqpnw5NW6iJaTd4UjO26ztD0YiJZeTY9NL3DY8Lpxdn/q2QXH7VkCNL6MypBJMsaKUaIRfhaJikEcF+c1/f4gUUrslzyTgQslhpCvu8qPw6D0x/eCaJusCDUTm1Qf4pbrCSgVIXV9B90D8qELx1JNTBR4J0CGKr5wv11oX5kb4MvYVjdEUlpword6aCgqr4Mq/B/vBL6L0PHZcvKi6GymRtdRJ/v4FTm59DEU0t+zrRHdknbfKN439ak1XxY/GvLVRYje0heGx+251wGJtXp8l/HgMT1zuhrg7FmspHnOrTkqHtT3JSRbyjNcny6Iy9xJtLpq/0N1p/xUiY5bJ4o+qSpVQSYF9h3vdqkSaBO/QNToritVtZLxEN4cVtSOK2Cw3JqiPvwKSqdCrHgw5lYopf5k1MFhorVPP4vdD8fugPHahComCBvlDhLLMuwCGPAFgIp54ggUjCxgn/Oe936zFWAn/IuvuMZvGSuVeQAJrDtuVXsuDEUTqEKJJSUDxCcfWYUN+z6NglFb1ibudZ9RytU9X2N5Rzev/7N0bLbqdsgPMfV4Kz/ZgzRALDhClE859zjYHiOO+xGhjTdibdVHD2MIgPiX4O4RSwHBRO9QRSUTjnKqRCfQn/9xQje6OX1jX4xSWF0QEHbgCmqJuSJxoeIjVAzYnjzdm91Pa+LR3iYnJseFRQx0w4eBaoHImjSEwRrW4k4ioxkHVxF94XOyVHhvjVBf/MvJfQ2DwbJW4RjvgH1GOoB2EE/tkWQ3G2AAzWSkvTbdtKf2vPP/LG3y8V++6OJ3VPw3OsNFe4Nl6Lf7WpvsfLnIrtZjW2t7pqhw+HLMaP7CTMT2U2VVTWNqAZKJZbNrcYiIaczSGJ1XsSzM7+OralJ/ER0k76rjl1SJnkLgqGSFoBCU7GedP05x2ER/aaM2jVbsy9o6A6mvmEQuKbQPyZu5UZAZyo/lUYt80HzrqdjquJhRTlfaYpT10lFaOSUnKan8hqhkOQZpXJYgj61wxQtVuzB6G0Sh9d36ox0WVvA5YkE7ufegnmIXxnWrNDBQeRuaLsDfMPtOR60JRWahG8luxG0UZP+6+fAIoVnPPFvC7ZA4f8IE5A/aONimiDdSMN0KwvbqNwsDtRMowfvyf3NfVGrJ+sAe816Sq/KzHaXKDki7TzP35yVUdytNxrwUvi3MDwHSpThz12SzvYqkSeI4HUO+2DXA==","layer_level":2},{"id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"扩展开发","description":"extension-development","prompt":"为Netcatty创建扩展开发指南。详细介绍如何开发插件和扩展功能,包括插件架构的设计理念和实现机制。提供AI提供商插件的开发指南,说明如何集成新的AI服务和工具调用。解释云存储适配器的开发方法,支持更多云提供商的接入。介绍主题系统的扩展机制,包括自定义主题和字体的开发流程。提供脚本集成和外部工具集成的开发示例。包含完整的开发环境设置、调试技巧和测试方法。提供插件发布和分发的最佳实践。确保内容既适合初学者入门,又包含足够的技术深度供高级开发者参考。","order":5,"progress_status":"completed","dependent_files":"skills/netcatty-tool-cli/,lib/,patches/,infrastructure/ai/","gmt_create":"2026-05-28T20:04:49.697355+08:00","gmt_modified":"2026-05-28T20:12:59.791701+08:00","raw_data":"WikiEncrypted:9tFZPEMPWdLFkkE2XbXYMu38+LmF7cxBGtahEOMSIojOTMoaE/0vg7rsG3K5L5EQwVbodPm3HXNNwKwrYurfvHEefAB4lV1nJ6BcjU2JyUqxVk6HniWMLUrvEVSEsaS+3Nq4aWjBEZyWO4/Yw3T8/wT8v98b1O61wZeVYXgqx4YcmjgM/t3IuAT70S40tulsVaUqzY8DhwtNAcvaufTGT2mKmhUxiBwtAYHRAvwrJs6448QNeB9QuDLrNmk8oGa0azKJz2T3G0DGrGmncAZ389bnFZPWiZpm9PrtFTobhcGUthgVJHuKVuOwj/28qkVo0D6RCALczAKUy7zZZlKYKFxZcSuTUxZof+s4LrhYC8tlB2HCxOZSBH9j/SrEIVaJnqkeGKSIvq3XKPmHBYhsQ+aicqELi4Qx1tHqiPRpreXP1lmPreFeNidWlosKICnZf7w5COQoErbq8f4U0rGgZz15Gr7sFUYGD5yChFaS5kKkAl+fDA14W5j0ZQGTeGz826eI9h6wMHgxYnI8u4WIBbuVz+mJ6wLsX0/ZyWW+rJVuy6D5deZXLRucoK5Q7gX96Cp9rNO2dPvELVi14Yft4kNgrxXe7uUC8uf86d9V0iwES3qFnKEpO6sW55V5g/7eJKd2DIMSy6jSxgXrPfNCtSIiZ32VJFKIVNxFrtSB1rUWqtFvVD3Lzp4nOpzuat7mNOAGKWMSV5/ovGW0zDV1cxG4ReauzPl4JahRSwRCfLUGWFyN1LmXh8ITvmzR07nUg9Jfi7br0HX/G5F6Fw5UQYSUjq1uGZm9/kowEh7+em7hAY/sNLX/+dcvrRPsgO4y52L495/CL4oPs07z9PHck+gzeVmM3ezdBBJyS9Cd3D1QCaNqTr39TFy+m3KJgHYTiwj0i/lyh802ojoZNbawGyxsV6xJcow6EIlGPqv39TV9NJeBDZYkMrW9hl4ChmekFu46JH6oZn8DQMjhRIZmrnCV7NJeThbjX6F5mTwClMO95LeBZ8gyxre7eanwrLdnXdYvPHCmTbWfHaVH2iy0Qt4svr6J5RjBoapV7znJpo4I112fgy1eDUMR+/zQzIILAtm1zEt6IisMkKaPm78rHDsiex8N4CXJcbVvGnZbwcHOcxxDVbigFAoQOMjPhZ6u6y+EEhf2Fnhu4jYF22tcMQm+1EbXZ28movV17zqW8toocj6jV1d02mDtR33A+kYvB+rpHHB5rQ7W3zrAWG4Pc2cSjmK9to6wCykEgyDq351onw1ebPYJA62hgMigI52nFRbpG/ufnFFFjUbDyfciqNTYdpu96Nyxt1WkAUkbpknYULbmJZUKjh97WbeS+EV88P0LUZf9YZwRgrvg8Qjiwj2+vJbR/2PD7mL58LbfKBechygrq2jb7g9LseK1paer"},{"id":"cb81cac0-3062-4a8a-9159-f648291ab27a","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置和配置","description":"settings-configuration","prompt":"为设置和配置功能创建全面的用户指南。详细介绍应用程序设置页面的各个选项卡,包括外观设置、终端设置、同步设置、AI设置等。深入说明主题和字体配置,包括主题选择、自定义主题创建、字体设置、颜色方案调整等。解释快捷键配置功能,包括全局快捷键、局部快捷键、自定义绑定等。介绍同步设置,包括云同步配置、备份策略、数据安全等。说明AI代理设置,包括提供商配置、模型选择、安全设置等。提供系统设置的高级选项,包括性能优化、调试模式、开发者选项等。包含设置迁移和恢复的操作指南。","parent_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","order":5,"progress_status":"completed","dependent_files":"components/SettingsPage.tsx,components/settings/settings-ui.tsx,application/state/useSettingsState.ts,components/settings/tabs/SettingsAppearanceTab.tsx,components/settings/tabs/SettingsTerminalTab.tsx,components/settings/tabs/SettingsSyncTab.tsx","gmt_create":"2026-05-28T20:05:22.527199+08:00","gmt_modified":"2026-05-28T20:32:13.443334+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFVOUt8v3Uv1WPr9VPEcFtayXa/iKhLpCgCchO/rDpXeL0ZKyt7/JIA8O3UN/XajW83JMuOaGOQTbdApUjvm208st80qykTjvbGvHuL2E1NmFMFXZPUiKUoV1YgiEcWHU4rAofDZnyjwflpeOCKfExRgiLgMSayUPfq847WxbcPDVtGmxuGSLfCzb3h2RuTt6YRhn2cp7GBGZaT8J5zRfPieA4beZWj3mEYp7QWAjetunImyoT22tiY2pr4CYxeJbk3yD6kL0PuYfodZV+U3yl71geF7uGgZcQZY504VsAxzZDz0bnUNwwP5RpSzTiQ7+/pe+u0oNTdf8MIpJKtmHbnRsNnhiyhB0+FY4/IgkY8v6fRMhPBSpD5Pdz+v4RMfbsT5pkWrgr7bHl/PGATsUbUPEwbKwoU3Dsvfnf6JOwFAvFnzwOmTRWwnNXj/IeFRQWXT2EvRjQ5KXEW7W2QfaMScV7SsUv3PQZjcIY5DXOgZaBRsaTko3BDcUJNPXi2T/UHmu8Vl1Sic5lqb9j+0dzPC4C/2TE5RNNyiAyK3p71fb+Lp8V1KogiWIVRivuN1AFmGISK0VPamfYy0q5tLUVxhA8p/1+8x9wkAEwx4cNuMRdR+kGnTO6b3iE3CVZsKutazrQzFRxnp9HrrX6FZD4eemej2fX/EEtxSHXHlmZYLbMMjzjSUogYckc99MtuA7drEX8tOHsF6moJZ9JqxmPwnIkMDYqlBT7riWun8Pdi6uFi+fI+DFvw7qYooLJ8RXPoLQRMmFyktiSxdmU1RDp8Eo7tP2uCVW6TJw+AHtaufk3ZPp/LOYM5EPh4LbLtWfOKuilw9FC3t3NXmVucvPekUR6qUTZhri+pX9ZLJUjoysAbSdhZyjLG7VOb50E38PuI+GzabmMlKWLT3/qIlTfkggIH8SlTovSjdjtm1lkjkCUy9d7GkmSPHGcoZg20yoqpB7fTaaRr4RneLMacaa09Otj/hNlJY/cLijMc0IK8oT9SJc6jUSpCP/BSBsEICwuxXk3gdP+CXi4Kfwr9NicQxebxVAsg3vEJpQhgdHRq1wuJcn80xU7idGYwjCqc2pIpGiNP/laouRprUqbCaS9rz7jDgEBegHC5htVE2h7ibpT76lhF8IWl3zr/Wp6S5ldfvQziOYxRkw6TkUue51NREFNh0aox30F7CAYTlMLi2cJWkqN+JMOflNeL1hLXil3mnvF/lSM0LibQ+bB7t5+ctKawmW4WNDguqO+jRezxDX74U02XySoCrWZrQF8yxDqr2x0RgCXCyN6T0lxG0ZSVan/gmSVCHErkQUGg4PYVLC28m5wBowx0m4fp/v3Nq2OPxL54qHDwsKL4cZEcD3taTSrQnPbWbGdy22G9HzDOCZpg7fQmAUfFUM/+WXW6vNtevh5WXycFtsCpo8zwmZ1F6TjVZ3MTMsPraWLPVkhT+asZkbnTc3pPJKEGjWy3K5S9f1G52929cs0wnbSMVgtx0aFEhmV9pOCIyEYb+sW6febex88xrV3clsOtB24wDTC/ZJYd3/ab0JH0DcWmJ0EgkKHOkNkr9LUvPqIJfbO40FIcl6hcT3kzPEUjxPz0erl4ecQXrTSm7qQ48kQvGe0lc=","layer_level":1},{"id":"c6a39c99-d0b1-492c-b25a-4f8f1014969c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"系统集成桥接API","description":"system-integration-bridge-api","prompt":"创建系统集成桥接API的详细文档。详细记录系统级功能的IPC接口,包括自动更新、凭据管理、文件监控、主机密钥验证、端口转发、会话日志、保险库备份、ZMODEM传输等功能。文档化系统权限管理、安全验证、文件系统操作、网络配置等接口。说明各种系统服务的集成方式、错误处理和状态同步机制。包含具体的代码示例展示如何在渲染进程中调用系统功能、处理系统事件、实现系统集成等。记录系统集成的安全考虑、性能影响和兼容性要求。提供系统功能的调试方法、故障排除和最佳实践指南。","parent_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","order":5,"progress_status":"completed","dependent_files":"electron/bridges/ipcUtils.cjs,electron/bridges/autoUpdateBridge.cjs,electron/bridges/credentialBridge.cjs,electron/bridges/fileWatcherBridge.cjs,electron/bridges/hostKeyVerifier.cjs,electron/bridges/passphraseHandler.cjs,electron/bridges/portForwardingBridge.cjs,electron/bridges/sessionLogsBridge.cjs,electron/bridges/vaultBackupBridge.cjs,electron/bridges/zmodemHelper.cjs","gmt_create":"2026-05-28T20:05:50.533236+08:00","gmt_modified":"2026-05-28T21:25:22.898131+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjEIX4/YelxP3ic6XlE5lTA8jocwsxvUQoazzlAS9kdwK5toWlVUObYPTsRPfWLNo3kCH4xA/8aWX4KU9W6CURBmLVn95yua6f+fy3+glbbXPhx1UTPEu07wGBF3HfJuOQz6c73az740a/B/ueOMKXu2bLxTX+tC5UWsC7UzZ8VXPWYXMZBQaT4Q8wPQgGTd3rYE3/5AeXiSxAafcZRc2YSrqzMAyDMREonzi/cKhJr5/YCmjvrn38r823Mf7HGpTAFhf7MoCLG5/srWb49Ie4HhcIVx5zhMAGu/h789+ya1M9mJCs0L7R92bbDrA8D1FblF1eahadXD9QIVL3AHx025rlhdxyI7Y1DhCPzvyovOI6r54lLwFCW7qrC+c1N/H7c6XTCSxO3MQ6FSP3PgOf4DJcEFQ+X/IKAL/c8qbZTV8noQZNX+UXIOzo+isQkM++fF6r0WYWrPeReg2g901TfTnH3xQuWfnRO6Cr77//YI5Wp5xgt6xhfxTe+7P2znpivITOgFDB3Bm6uV9VbJXznBlkqE1vfRHrs1Z9TrcroU1STA4sIttU2Rlbx1XTPriQATQHL1bXINkI2Meqa+4Tl66rnaBYmdC7breVtV8UbfadXKuRMAqHUnW+Pvl7BWurx9RLr0hlvQusuJu6kPDL54RzrfUupdgIj5psHtlsDrp6DMORzdIxn1DllrcOU8aC1mMF97dc762U+1gBI56Ug0AKdrXuWThoJ86alTGS87VT0JhvKi2fQEckui8SQW/U6hI1QW+rrcJ+JMN2ABMhYqYYVPnXe94s3b6DkzQOf+smIWdid4HC/dc3bqDwmJRcqtFSTnwrvvitbCLKPZx8FjB4ivRfRAYsfV9XXpYJo1nQuLfrLMrjLR6JZ4psA3iCOPqxDNjc/FSFRo/pxZgXqpPbtdMI0oksRdDBy+tp8r7fg20nXD8QGWds+Uv6ImMz4is7q0/0Cx//VSvWnPCwS4hTdPhdiYFLuQgKVVV1Rh/pYncg4vh55hy1edP8h6f7idgk/h9rsaJSJpvCG4X0Uqu+TGKL+2s9tEcJrxPx4G2Pwji9MflibuO8ExrSAJo4f20Nc3v6GRPVK/Q/vkZ+0hZYZVtamfUBmJo9MPesIw9jKo5aPaX4+otnGFn4/IItuIbapNx1c+Z2fO7/Bu2wFEbB1+w+eQhhs8ciUHGGWJbdsmc1WmMxymvOi1VLuMe6X+W8KMo9T3vqiJBTTBc9eQ5mzlc7zPQUrvHTyuVI6Jvf6+0uXlsI9ISQ1m8Q2RHUTEwhLxaW0Q7XZ/hK9+dKpx/s42lv+ktlLw6daWd9LzQXlAbB1vO9BmjlDL7RRmnhvFBLVk60f9SU5oSe+368n/gbKhNMtMUTqC5I5TPTxIqrWhM3YJ6gLnmsARUH4blHZ0B5WoaUEq11gyjUe6reAE2s/KiKpvcxYfHX7NMXjlIUjjHS2lsEB3/g33mhU7SH7ywby4qmoSyJgW2W4eRImqlKs2MYdJAme8g3X0U/4gKKbmBUGIPwjrtnUiwhouePPxsDrj2WaS4csq9ip9ZwnRful1A3L7RCogPa10v1U/CWgbxfaofCzFZbRxeGMKDihnK1HO828/Naf9KX1wMO5umeEnwHcaW3lT57N6WM6bcQjjRXL4wowKlFkZwSfFkErSv5H0sjzvt7Bgx/aqJEcVJB3MRxzmQPefKk5bf+knYRrdPzPjR7dR2CBFemg/dO3ck64aU7oFQ3O3uHdl1OrXsONdYlAAnU5iZnYzpN9WisKubMRfLPxdmTCIO5N7bGdPVTEvUUPoigAqfVc79wYY=","layer_level":2},{"id":"2da4f199-600f-40c6-855e-b8e44d60092c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"设置组件","description":"settings-components","prompt":"创建设置相关组件的详细API文档。详细说明设置页面、主题选择、字体配置等组件的属性和方法。记录应用设置、主题定制、快捷键配置等功能接口。文档化设置项的数据绑定、验证规则和持久化机制。包含设置状态管理、实时预览和配置导入导出功能。提供设置组件的组合使用模式和自定义配置示例。记录设置系统的扩展性、插件支持和版本兼容性处理。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":5,"progress_status":"completed","dependent_files":"components/SettingsPage.tsx,components/settings/,components/ThemeSelectPanel.tsx,components/FontSelect.tsx,components/SettingsApplicationTab.tsx","gmt_create":"2026-05-28T20:05:51.882527+08:00","gmt_modified":"2026-05-28T21:24:56.872731+08:00","raw_data":"WikiEncrypted:74Gesx9YnujHPPykBPKBFSTP63yfZssazq+jnSFNIfaXXO0oLPTK6Owss9Ewj5fbl9ZyPaFVmHMXgWAjpCUEmaccVJizozWb6aVrzkUlW7ux41/Uw01ghuloU95cOT24eVtxC5Ah1ew0Yco4gw85f6CKXsC2IKN32Ish7nuHJgcEaWu+DQltaFRftSVIBY0gnuJgp+CjaU/heNZ7k7CsOorZ6kGFybGwHHYA28t8ETabYdD+mh/MaVNJI9u748F6QAY16ak6Jq97Gt28u7bwLsA6UnX02in0yla0odyaTfCOTbHjn7e8C8SB9FS7CPk1LsT+9Wq+G1HX+juNCgl5TDoMbtxVX9x+dQdz5kuvBtLg050NF4zt2ZVDA2AD7j4m/IKn4qB/dw/FTWFENyzTY4aZDSmv36Zy3VcXBWNJlKaqsLkCwUpaxcIFZeCP4lqs6hPDWLtPniEBHzKoUTwL2YnEJ24lg6l9V3JQJB8JLy4V8SrjPscGWJrxO/FibFx5nVbvOMNamxxlnXTKFFBcSPX2LBtLMdOFpFj1HCEVkE6I1oPkop5pefY/8nVkiCJugaI53Y5RFxERFbxucp7HFdN3jkFzr4zQDyMGxATgeSiI18EzlD0xEutkcBHwfHSxwViMMY55EKj17vcsq4twRkC4u4NIfkPuN7j4AJPJqR8/rHkIEuoGcKvpKCdvn2glC4JQzDXec8uo3uZcpMio9XYr4KPE8WJzCt6UlNmGofAwWR5nwKPA6xEC3WinkGt1FNbuIMT3oXGm8PWLs66S2uK/SkOS9OYsPYUgJWhvr3k3tQSQKCnWEaFCTX6jhUqBC4H6bCu2f83pWGpeXhQ7mps4PkSl3QQQmfQDXsTvwd6FAB01tfhHbBt5SZpicInHDKyReHWjZ0oy7pXO1JK36CmuLOocbpRPiVLJ1CJCwAPgTazc9k4BDse6rYGsmtJVPB/4fDUpcxuotJlmX3vKcegaXwq0ovcLvZhX3Z8OvdXucsul5op5XmbzXyL+qLRXNH00jiyknCb2WJZ8b0FepwRKcNu5KCmfJpGsbWCyMLM+18CPOunQt+a9iWkzfrLnu0kC6/rQBuYPLrST9VtaRgsrO/6Jo69MQXXJwiCtEVk13dxX8x459ExGwNiP/GDq","layer_level":2},{"id":"4e97dcc6-bf65-4f09-8d6b-a6d661faf388","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"历史记录模型","description":"history-model","prompt":"创建历史记录模型的详细API文档。详细记录会话历史、连接日志、操作记录的数据结构定义。文档化历史数据的存储格式、索引策略和查询接口。说明历史记录的生命周期管理、自动清理和归档机制。包含历史数据的检索、过滤、排序和分页查询API。提供历史记录的导出、导入和备份恢复功能。记录连接日志的格式规范、敏感信息脱敏和隐私保护措施。包含历史数据分析、统计报表和审计追踪的实现方法。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":5,"progress_status":"completed","dependent_files":"domain/models/history.ts,domain/connectionLog.ts,components/ConnectionLogsManager.tsx,application/state/sessionActivity.ts","gmt_create":"2026-05-28T20:06:08.452052+08:00","gmt_modified":"2026-05-28T21:25:06.796626+08:00","raw_data":"WikiEncrypted:Em4K4xpec86/tQbfCRzBgBVTOTCh8yE78JO5dbkYS08h5Y7wJoLcPLg0xOD8ZtI8rQGPX5DWDP3/cWfRfEAqPSkasi6w6tV2Tzy10sxuY035ifdR98FYmFMyHmDF9H1ksJlKXQqai35oAB4lLFHbiKQbu2RX3kNjOYeJq8axMYgmZObGbnnZHcSHDGLsZ4bQGuehB3NKzVfsfyI6jqQv/w48xXq9I9qfY8BEHxY8ccTb2jn6xvg7N6hIIduEuE4hOfwlFz7tagUzc33AaNKnRBJqv9kK+JuYZwIvvt7th8uJV+YoFWeGQ4Mwkal3H9xBNM0kVunXhnU2501mGGYGoJrxtIRAoGROAIycqEiXnTvKO0QNyzWNBry2y4TeCVcXQnVLYgKjnv3S1BMWqgfw/U+2x3dteZ6/XELVbeoiVRWytaw6CyGvVSmiGMgmD/e9a9/M53dHDe+5Erys3jklhsPgh5LVEL/8s+gWRc+JZ3kKtf88iQwoXk0b3KYj31qAq5qesjB/d+aRWBL/YiqCjgIE2DPRbmDxQrXzRJZbIVnkHzTm/nrJ1fjroDF0fLL7SfBQ/j0oN1RmKVlmeWkc70P4lnyUHFiqru1FhoxMd8Wc7ei0Op3a3Ls7fyV3Ist7YdXGOUeq5o4SBxYnmjNbFRaahR5Vluo/VMwhmyss1bLUhvWDtA04tPdeM2t+EcOw7v4DnYimuk0Pqv7gVizltVr2zxZZcqnMlw9ee9IC+vk5q7X/fIsiWQgW/nGHj60lVqT93W9I3nsRANo0Pi6LnACTMTvTMplnSXcf2+h8FLHAVxSdAxxKo8W7l5dg94B3dPFJqR6N3uePEQWZJ15WkGfINXXteu1i1KJ60Yc2MFcgeVtEk+r8s4ZXaZm4un1NbemAwaUCleyms1Dzxr0fdC8B6a6qWTdaic69xqkqRZWv1K+vi0xLdb4M1/XHxX70I2THRxixXPThcAkyk6znjxNmQg1xBbQCKKMjUk2UdmBDDtRG+12u+VHbNkq0YluAgOCcCnlBlFBAU63/QXSxkipsqoZCO+l4DpdLS60IOcE/MNTt+703HNTEJLjWTM/c2g6QMbr7Ap3DQEHMqo+HPX6ZvEF8QfYplYo6fJ+yyn9cSgSPWjQKByRJdvpdP6Hjr844CCb2nvwUHVM2EXX/HkE3P1C6ktvX9ZciCjHWRRap31CslQl9UOuqNzp6S2fT35nxeoeVoej7PmW62nI+yr00vBawlU8yCZeY84yTwHe7P1Piv4wF2MEiUDkZsv39","layer_level":2},{"id":"4fa9db41-624e-4e43-9e49-8efb973b02b1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"工具状态Hook","description":"utility-state-hooks","prompt":"创建工具状态Hook的详细API文档。详细记录customThemeStore、fontStore、uploadService等工具类Hook的使用方法。说明主题存储、字体管理和自动同步的数据结构和API接口。文档化全局热键、更新检查和树形展开状态的实现机制。包含关闭意图、侧边栏切换和片段快捷键的解析逻辑。提供日志视图状态、应用后端和状态解析的API说明。记录工具状态的性能优化、内存管理和调试方法。","parent_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","order":5,"progress_status":"completed","dependent_files":"application/state/customThemeStore.ts,application/state/fontStore.ts,application/state/uiFontStore.ts,application/state/uploadService.test.ts,application/state/useAutoSync.ts,application/state/useAutoSync.test.ts,application/state/autoSyncRemoteSchedule.ts,application/state/autoSyncRemoteSchedule.test.ts,application/state/useGlobalHotkeys.ts,application/state/useGlobalHotkeys.test.ts,application/state/useUpdateCheck.ts,application/state/useTreeExpandedState.ts,application/state/useTreeExpandedState.ts,application/state/resolveCloseIntent.test.ts,application/state/resolveCloseIntent.ts,application/state/resolveSidePanelToggleIntent.test.ts,application/state/resolveSidePanelToggleIntent.ts,application/state/resolveSnippetsShortcutIntent.test.ts,application/state/resolveSnippetsShortcutIntent.ts,application/state/logViewState.ts,application/state/useApplicationBackend.ts,application/state/useApplicationBackend.test.ts","gmt_create":"2026-05-28T20:06:17.569737+08:00","gmt_modified":"2026-05-28T21:27:22.957961+08:00","raw_data":"WikiEncrypted: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","layer_level":2},{"id":"a68ac9c5-ad3b-42f1-ac16-58c017b05ea8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"冲突解决和错误处理","description":"sftp-conflict-resolution","prompt":"为SFTP冲突解决和错误处理功能创建详细的用户指南。深入介绍文件传输过程中可能出现的各种冲突情况和解决方法,包括文件名冲突、权限冲突、空间不足冲突等不同类型冲突的识别和处理。详细说明冲突解决对话框的使用方法,包括覆盖选项、跳过选项、重命名选项、合并选项等各种解决策略的选择和使用。解释错误处理机制,包括网络错误、权限错误、磁盘空间错误、文件锁定错误等各种错误类型的诊断和处理方法。介绍错误日志和调试功能,包括错误信息查看、日志导出、问题报告等功能的使用。说明预防性措施和最佳实践,包括传输前检查、备份策略、网络稳定性要求等。提供常见问题的故障排除指南和解决方案。","parent_id":"bd3266f2-d226-4e56-b968-4fc41e840104","order":5,"progress_status":"completed","dependent_files":"components/sftp/SftpConflictDialog.tsx,application/state/sftp/transferConflictOps.ts,application/state/sftp/errors.ts","gmt_create":"2026-05-28T20:06:36.998633+08:00","gmt_modified":"2026-05-28T21:26:58.508546+08:00","raw_data":"WikiEncrypted:V6SBJOxOqVqHyrjzZsh7p0zhwA59FMAZoMVLUKQJLgPgsDdIJVQVKB1B3irDUU7GJSe7RNtD/4CUYgmkbiXdDsZfabvxtdI2Toe+m6mSRojo4RQnXbCKyywduOGUTYxtVId8BCPv23MYRpW4K8F9dG0iwEuNAO7PIPVbJhMbmby8VlqsDqqbtmdtS47npOfdWIRt1oR3sU5tiQ0vLhfHGbcO3pxovHH4F5QyumnGc+o04z9sX6cZhfOaa1gcReh4ukKdDXbb8VLm8AyuYleDC38naxWN+fOYr8if25i5wqAFC2VGeZPYQsf03PFSwK48sgSB/PhmipEogtQ+sFF0RAw5jv7QKkSRCiYCzqv/sSmSGI3PtopN0BN36Ul/p+0tgNgoOOQz8WbINXYmWQ8D7eguElKLMxMOYe+n2XfXXzCSJ9T8yGuKWyHP8MsSzMLDHP3+dMMaDCOpdeqMda5/FcJpbuZ+AnX0z8hnZp4E+xWMED3n2YTAtMGbivw+/m2BHEMcvKogy/CWfWRud3+B7BGyho/ZxOBjRUo1sEkYSojCKIckW2GdGhrvdrnkgIho/ndPHBHnuEHj25pckdEs0hza8V4d/8TXAZze3svLKA1xQQP1ayHhOF6DYcDg8d/poYZUREtCAwLlWR2R6gVsWNNTLD+RvfcYDZ4kaxQ9oWE8/124Gr/NxJX1mUVx46Tb7R3/1/Tuc0OngdW2s4tsjkTxy8LacYt4O9hPxznjWDm5VNzlUe4KjFQ9fK0OBXgenlZSSuPLd0PnSeXJYx6/SwqaU0s66/vXPR96yXuxpeLQ3xCLnLghGgL0M6QGpW0l0Gr9RJwOzDYGs7fvdGHN/Woy1XiAxoyr2wJ1ZutJUG2XkZENWx+4tkYxKHHpzmDMNaiqfe+Zm9W5NrvgLiFbY63eeyHgnIjpy1xgr7FEw7xZnbF2mfCoENM8NEMoQCdzfqsk6qks429Q2BwoNMsUj3f8CNcsQNv96KdoKPewdoJrZW7zPJ3QwYDqX8BkSwvJYm7jry+60uR1gPNE6WvDPK+gRvP2CylS8FKVQ/2UIL/lfEfBXX5+wv0Eo9W6+qoapisJhzlPj+eI9aMkGA3a2PsEJFAQIzlLiqr8J1hihxRRFLj22E4mY7Cm74AiKRQDViBK2Sd4Jx/5pPTaKB9D3SZrkbWdPpaFWglFO768jHMWyltoL2SSuJTcZa4MUN6wbAMD7t6ODSrlWrJwKV5I+0dl5D2oR21E1Kfb/10Fc0RgtqDm2f/DtH8HEnV44k+L7b7KJmfz53jI/rPCUNn+MLbfXgYqYivziTlPek+CuK/ba9dokUCy57sDjmOyiEvEA3kBCNJ1d+E8UGvTPXxT/sK0Y0qTuvlRSMWqmno5EzvsApdqvFwvmTbRZVfv4wJUmTfSAx/FTPWmZvCNsGcZw0waBVDiVbAHRJyq1XVIHtWe8jnrpkUN1p+5hlUZ2ANQ/+jaCFH0+hyRshe55ywGkpw9Igg2NJ++tLlOzp2cFl+FrOyYPf2DDJeGrqckBZVSxKGnMofHAJIHqUieNQ4SJ/7lvVzFcNzS2QqCPiSaC4NHdo0gEyo1zqEFplh8HEHr7nE+V8ioUSJ2y9bHF5DdHdCPA5AgBGaui7rSUb/TJycKEEK9W7PRZ9pPbRDBl1XIp/49ZzZRPembRdflOTEODtGWP/Y8Q0IQkfjTmv34M1p4vGZm2cbYWpP2JkGy5ELibAcY4y7R8gz392e2tvXvzHFkP3PJDk/PR2et5jVkY6+6s1Y73rvCU5GJcWiaPfQZ","layer_level":2},{"id":"871bf596-4926-4cf4-a619-8e73b11f79fb","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"权限安全控制","description":"permission-security-control","prompt":"为权限安全控制功能创建深入的技术文档。详细介绍权限门控机制的实现原理,包括访问控制列表、权限验证、审批流程、审计追踪等安全措施。深入说明AI代理的安全防护体系,包括命令过滤、资源限制、沙箱隔离、异常检测等多重安全保障。解释用户技能状态管理,包括技能授权、使用记录、权限继承、动态调整等权限控制机制。介绍作用域清理机制,包括会话结束处理、资源回收、数据销毁、痕迹清除等隐私保护措施。说明安全策略配置,包括全局设置、代理特定规则、用户自定义策略等灵活的权限管理方案。提供权限安全控制的设计原则,包括最小权限原则、纵深防御、透明度、可追溯性等安全最佳实践。","parent_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","order":5,"progress_status":"completed","dependent_files":"infrastructure/ai/shared/approvalGate.ts,infrastructure/ai/cattyAgent/safety.ts,components/ai/userSkillsState.ts,application/state/aiScopeCleanup.ts","gmt_create":"2026-05-28T20:06:51.1547+08:00","gmt_modified":"2026-05-28T21:26:38.975636+08:00","raw_data":"WikiEncrypted:arCjhUL6OOP3tq0tMlrtoNcHk/QrEjERhJVt22MmhEvrB9GrplBaDVhMSe7MUvyVBYPXv62l6CLDghfoDOV2vXirFT+z2ePp+Xm3bYgIzxU+4cr7qs8Zh3eSEKY5qxU0qFZ9vE4o+FtByIAU2rK2Hos5GmUClFYcq0iC8Y9eubbsxx2tNHjcQa5eN+xxNwLI0Oav3XbpUbziGavvjImmHFvHIKOPU3DQlfeflU3ONAoD/CaduviaGypDjBUaQAC8/c+LGzb3cDuQzfDPnAtjfmSTWPfBRdBDIpkCYqHYasiHHfWk5ZMAXdMXhyGXNxU3V4JShcZkFR2/6fODY2fhY59L+6Kb72i/7RD5Hvlxxr4vZS/9gh9IhOFfxPiip7J9ClR9EqDfae//M7Ho7+8GjUmC/mtYJFAKa3hF/MR4Vz5wSqrXvcm9SwVNpOFzQS0tDkr4FYLnq9BHt4MYDD86CbGyd+jaGmLzyGclqaneCAc3hrUfWw7d9GFkqj78OceF0LBlPjahr1b7sVm7zkb8hIQz/IGdbQkC6KgttipGh/6Zk0sFaSMnn20cnMSOgHY0Sfi7bXu3JGcsSNkRzgqu7aq1bUsRyH+cKLWsgxOEMUZkWtH5PP8vdpzRRCkaVFezY6Wiswqh0UDc8exmZ83lInRhm0G0pcGcOIKsQ5GOnh1KQunUF+Rfug9Ail2Osm2ZbGToV1EyMUerPndPnyyaRNHFzlqKcC3JiaelRY7ScmUHtSVMXHOjeoMItyflJWg1Ivoz0fV4/A7hkP5KKPZ8JR+wy6h+mDbprIhOicPU/EIG54Y6EGQC7P3jBM/LQY0d3fjLXe61Oi2P3vVm2vVciDqhqE6JbPChb0YiyXNFXAzmQx/8CQwTqmMIIzbWzQ0OQ9EarLjDljRRTpuplvpZZdSKXBfpu4jzDQY2ECSIu0676Ezq2w+/PU4+i39AGBbmKJC7GMgj8m9IAZxvfiUTsOZs4oCTF3Rn0ieqbTmZ0XOy3jEPrwgAB8C5L25OQgoO8Z2BUvM4qQQRrIjdRFNVUGi8unBxt759sf2f88vTfqR3A5ErX4frrUj9lfb3bNkc8wZOfUbhu27IZmmgKPGSireNZ/Pb9xCCNvuqkdAJobZd0BiaJ5dnoXDLJ4IBcu7eum70yMaisIpoLuASOjPMyCkYE4AO8HR751ieAU8UTFmMmH5v2U0/MYMCqRB2X0+sBHLQjevLESE71jJBr0Ots5L+vUoql3n0JdzSmMBEcF7d5Xy1g4EKoQk5OFptTokmmHJ6LbpuvYSmOYS+vMOXXHstgnt1P/rWxeDxH0GmtVfI89Y6dbo8l7YpmLBQyuln8U2TGhJuk5/TZfrgBg8jZuYbRIjEHe6TnxdRfK/1rK9KoJeV1txDczYeXA0nP+hutBEWeSTNnRMK/Cmtytrk2VfP9qoGoEceoZgMLnXUNDZt7TcpkPFriYEX4nS7D5D14rNIoeWytRU4TGTdasTy1Mkk2td2R/9qzcfIGHe2lzqdFnafLDHsl4wNyHirU/fTXzTzb6r6doqyv2yGs9QoPXg7YyszUiFfBkIPVb5zhmQ4K9sNaVsSVPT3fDk7gEcZX17rKG5m4hKcV8m+4r3ewls/dKQ+tfJxpQqve+74AKXRujWlH6usPq2WaK527wNioR216H/HhaPmCzaZQQkedybuVHk8RSKME5pCbcJ5xUQ=","layer_level":2},{"id":"a629c573-e1f1-40e2-85c7-fbcf947f1204","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"AI设置","description":"ai-settings","prompt":"为AI设置功能创建全面的用户指南。详细介绍AI提供商配置,包括Claude、OpenAI、Gemini等提供商的添加、删除、配置等操作。深入说明模型选择和参数设置,包括模型版本选择、温度参数、最大令牌数等。解释AI权限管理,包括全局权限模式、工具集成模式、命令阻塞列表等安全设置。介绍AI代理配置,包括默认代理设置、外部代理管理、代理性能调优等。说明AI搜索设置,包括网络搜索配置、搜索结果过滤等。提供AI设置的故障排除和性能优化指南。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":5,"progress_status":"completed","dependent_files":"components/settings/tabs/ai/CodebuddyCard.tsx,components/settings/tabs/ai/codebuddyConfigEnv.ts,components/settings/tabs/ai/managedAgentState.ts,infrastructure/ai/managedAgents.ts,infrastructure/ai/types.ts,components/settings/tabs/SettingsAITab.tsx,components/AIChatSidePanel.tsx,electron/bridges/aiBridge/acpHandlers.cjs,electron/bridges/aiBridge/agentDiscoveryHandlers.cjs,components/settings/tabs/ai/SettingsAITab.tsx,components/settings/tabs/ai/ProviderCard.tsx,components/settings/tabs/ai/ModelSelector.tsx,infrastructure/ai/providersBridgeFetch.ts","gmt_create":"2026-05-28T20:07:11.895212+08:00","gmt_modified":"2026-05-29T00:33:30.880442+08:00","raw_data":"WikiEncrypted:aXAUFKNuXjzL+4RuA31qdIouldFamxzmjSEf2YmGm4qQCxG3WluJYrAYcIRWk+lssk0a8BxCaSSmiHw/4Gu27b+F4zPCHzwtE9l9/aeZ5s6HICe7XY+Rpboz5kp+Jm2T0asDP57xjQ3vogogTrCtkYmSb+hHxdTra6qdU3CVVkQldH8I+kNrAEWfAdqXQii1bkB2pBIUgC0kVY7cH7uDO/0QJL1/9FYKZAuknzDsHdcvJZ6weAV8fnRo8UnMNmiUase75BN1lU95itvnSrD1eyGjD5iXHUUvG5zAS+Vf0IJk/F9PBL+xATapxVAaSltJ0Oxv5VpA+dPrkenjQ8kL19ASCRQIPihxDMWY0VR54QG7NKjYI+8r4oG6yGnniewxHd1MYgX+v+DrYyX7wQR4m6W5sHvjgKRvsjkthdUZpxMj+lLzp1Pw2j8UYcQIU/hs+iuTW/xKH23Fh1IVhzzlW1EaWU2mrikbxHerFlpI4FNBlJngT7nWbZ1Vxb52s1Yj0uScounwyYwfnEhd/Dg5uF0CjlM7hCCDD6SdvuduW/MPZZGtVdcw+Trdg1QBeSbp2Ak77KrCbmuk5uJaqoJpOIEW17s164LKCHnjT0cLJtt8Zl2Pwg71DStyOj07MytOEf2QHJvdpqgldwObCrU44FVcqKv+hCa3xf1RoGdo973ucPx7pJGoDbPKTf0j5I0AJVSCPZQsulRbruUxR6k02/vsUgIsHLouOFIS7U2lWiE2Ll/HQK9eI+Ag3ffxpaXKmPAlERK2En2JBDzVjHrb5HtAZkXedaRu4OO2T+FjPeO0mitoeStbkBPI5VnBJyu+UUIxQ7jm42HqG1A8IlCk9dj/s27kZ0hzRd+xB/NnT/5JctAgo64mHL+BlLDu9TwqJMkdXVh0iEsg4oV3teBmN4f119eWq7WR0ccWZ4rAlKYfw1NhibJtD0VYTojBSfaL6snYAgjvbneGZ7CJlspTqMWHrDOfKZRIHN/dNhobOh/Doa1Wr2+Zh3DGEzPcCD4+Nf26ijW9wUsaXfFLp98Zuo5Ujem0eD3eN8fA1WLd1cSpbTEXuvnH4pWnKyfKOiqELiMmu157bI3W0Zljr9Kcb5jCHNTeed/QughgG6FfIgnxpQJWG8SYYGxHNsmaHd0nqPLr5FHUCRQKcTFHWCM7/xYMQAg65+grOYv80v5R2sjX0u6wnvNEXg6RIHxXa7ES6upP0eK3PNUqJV2qS3q5M1kuBPccAOtFyosBY2vCG7ZTcWsodAmnyqdzaWoKRFRkpqQmAoAYVbhDDmNX1wknjHy8UhCO7iG/wgvykccMQ3/vorVgj5bTZ+eVSlUfufBnHYMM7BIscVzxqCdkUBXMjbNNIK0i4GiydZIon2Uki2JZJgynnk5zMnmLQ4XqmdqgpNvfwFqq+XvTZMsmmLVTsPSKAqDiYx1ZFz/fJfYL0wcklUek/sX+NtA8+YMKQsbllbSDRs++PalLl7ntcwz6ZaZ0c+29BQApQqVVCkfIrzrx0z2DuKvGtfwudU4tV1qd4zJl0EM7Z4Vq35R0TxqFzsP2SD5tKa6TsctDDHC8oyYX7kb6rtXbJQ0OY+Ax1Sy0py78RBERjATsjh/qGQL2aeuMHQ4Gh+9wh2msZl9A1P6IH3UdQmFnOMtxn4bIEe4LjWa+0KxHrr7xukUvMbmJNpTGZiXGN8AesiQKQJzvSQKrWaZ2BaideBgXYUu1KxFw+d6DqEwkwWxWkZV3k12r5YdVLqCHDxk3vvT+31KDT6c0l6OuaFXaPu/Vsn9n9el8CDMm4UTJItV7WPGj3aZZLguzyalSRDALDHMJaOLj/p56L9H1G22IkNXIecL8n+DvUiN+2FeuZIQ5NLvc3wI1oPy6R5+3M90hu+BKfmw13jURx9nEvhc1Kts2Z+Dy4vlo","layer_level":2},{"id":"a0af6288-c032-472b-9250-5b36e4e22779","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"部署运维","description":"deployment-operations","prompt":"创建Netcatty的部署和运维文档。详细说明构建配置和打包发布流程,包括开发环境搭建、生产构建步骤和平台特定的打包配置。解释electron-builder的配置选项和自定义打包参数。提供多平台发布的完整流程,包括macOS、Windows和Linux的打包方法。说明自动更新机制的实现和配置方法。包含版本管理和发布流程的最佳实践。提供故障排除指南,包括常见构建错误、打包问题和运行时错误的诊断方法。介绍监控和日志收集的配置方法。提供性能优化建议和内存管理策略。确保运维人员能够独立完成应用的构建、测试和发布工作。","order":6,"progress_status":"completed","dependent_files":"vite.config.ts,electron-builder.config.cjs,scripts/,build/","gmt_create":"2026-05-28T20:04:49.697443+08:00","gmt_modified":"2026-05-28T20:14:18.90556+08:00","raw_data":"WikiEncrypted:0IKfLNOWe9mZfG1jVts3w2XbjO+yyEmY3ONOjrL5GjA3YcCk7HFAQ1etKc5i1P7UH3oVY8Um0qaAPkZpvBj4kdaaQXNyXCV5vbspZ2uhfX+AQ3ZOJ/fYZ0PVmmY/GytZUzS9o2ZHRCCvBEt7bP+VojsxzsI6RUP2y/0nYTetPd8hY2pedR9XpyM6or+rP64GH6y5PSJJtqWIKNQw6Q76oUBUrXfeDHBDgrP4p7N8GVFmwxqYP8RHMDVYqaqeAOiFoFmbEM/IcROKkx8tFWCO7OS2xSbhDzRWZ5p8HO9IQcPb1uyrjLPS4N4zfCVAjM/b4fsKfoBeVvkzSe3DVJmjTqhsNJROY2zliy+p8O1ZfQJFZCVLp71fWuqmNrharZz+cYrl1UQeNRBXa4pNiWR6KbAe2Dq7ac2Avi8jg62jDWww9GQ0uHR0plGBXfW4HVYUmcmvENoNPsg5/ZyVZL0d2OTpPsro69yTylNf2wcQlpMm29SRcHyKZahaY27MxKGx9tEJ3j1gLd9Z4oTV11tpiZuDDyBJFh6YSkj+cFDScEegxRYKFy8W0qvbEQfMiYY5k6qhuWnGOR/jVheXxtgrMCmelOdVkQmnENj7SBNJR+6NwllLWm9xIfMiPVeo5v7LrrdhLgWx1qXbplTc7XpR8//o7ZSA6sIcYEShdovOW2Ytse6cLQ6tfX6nqCo00GRSqo/FVNKU0+G4xzUBoBl5uZEFEZ+i0HwRw+RqzU4rs+ca1ERK4SSQw5Ht28kD+DWwUqyZs9iiiUqvOPH4F+/HSotVL7Fbjq9yQv6Jkk51SS9lVO2fJYb9oc3FeXAJl42BF8HqqRII1+U6QFYnmlga/BlBb6CQzWoH3SZ+5HHQ948Y78FztlZMX0CxP4J8n5ekZJxgA95d8OLhocQ937BNSX5tgEGFDo8qXOZJcpFOR0itl6CR/iD416hHtuQeDb6nTeYRst3Van9BlJQ0ikWZMpxOumjYx7eFzo+Sifo5c7rz/Iz5qDiAiogZYzKxyztQ3O9pge5SMTddVfWZEb0dZbd9r/qdr2Oie/++0KoVNDzG5J66fU8sFTl/25VF1zIc/7xc6qp2DGiCbyIiww2CBp8y/s9UUkjL2eUHvGhkBZ/AHeyVKDJZYIHUO6zdfpQNYaevyyEfxZZZ/KdidQ28GMhwffP6rzjqrkZom7bDGOhCHdL63+Fi+CxgaTkIY4v5FthSUiWLwRU1fEpB92ACCNMfOBDkjpggd4bL1DDqWpC3uxOWfNCCsbWWINGrbzyVw0MHSdrsNhrqjrc3qnWcRc1bojoKIAViiHhc81Imy623Ia3kNCajL9NmoRVOLCqe4+uwMQJrLb4MK2SdBX1RjNy7UcIEdWPwCaJhB9skZVXrnjY5permRne/moxMRBO2OXidt1jSs1OJR49V5UuIR1KuRcoHe/HsjHeJRS3yoTM="},{"id":"72f50650-cccf-42c4-b23e-4e75b8db5ff1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"编辑器组件","description":"editor-components","prompt":"创建编辑器相关组件的详细API文档。详细说明文本编辑器、标签页视图、未保存更改提示等组件的属性和方法。记录文件编辑、语法高亮、自动补全等功能接口。文档化编辑器配置、主题定制和快捷键绑定选项。包含编辑器状态管理、文件监控和保存协调机制。提供编辑器组件的组合使用模式和扩展开发示例。记录编辑器性能优化、内存管理和大文件处理的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":6,"progress_status":"completed","dependent_files":"components/editor/,components/TextEditorPane.tsx,components/UnsavedChangesDialog.tsx","gmt_create":"2026-05-28T20:05:51.882637+08:00","gmt_modified":"2026-05-28T21:29:24.263548+08:00","raw_data":"WikiEncrypted:3mn3XUqbkw+yXadF4b35CiujGxUyvWT5qQ432pvbBDSFj7XCFhyLdsmpjCvbCdiidGWJM07sSyXZVhblbZzDfsy5yRrPqGgcnlL9vYD9aXCl12zkcIYfZCmYCMqL6VUvSfRDCxn4Tw3gumoke/ihNFmFjg/dixH/irKlbAnOOYAsJA3Z1Tb3d+MgTGkggwwyVFudu1Rahc3++9H6lHPrjqd/J3hrN8SzglmQcYS8oW3gZUMZ8bKGB6iE9clsJOzqPL5Xy+BS7iCn2cfoKIGUAdnBxOUIASevnKfIKVzsqtYEr9Tr0TEHEzODafYV7EUBEwVW6SHIWxln66+5GmZ7XfdCvFBckihJI8+IoCLDh+ycXONSyQfrCiaP9qHKKZYZ3cybyVtwTwtOMq99Vc0VvmSSJIAVdsQgDXpCyegVtOo8G4vhmrvMvtzCYZ761UKJOI0jRlyyvVyT5hT1E1JAcumfmvETKoRUTynGjlQnMzLZE86JUhm75pgB5UabLIKXuvku+R+CgndPN0nZ8aEZxTZO5yGF3HWKmAheGVD5avk4+ymzcFnJEUtuaMp9GAOf0zz3L9XVYKPDr3FupyyWR+7Lw/rMHGMAhPpyGgwbUKOzWdSiJZGE59GcB0wzq9kSwPA0ydLyjWh94487d+pC5ReWhTvyswz0TvfOmwrh82Sel1d9BvVZnJ6dK6r24YqAYStF8RpVeSh4kjFgNAU7zDybmjrcgYAO4cCPPCKPfQT0WyFW5JD2tmBQrKGSh5Kt8sL7oGe234lLvDY+WFN80tTTNGajH7xj+Xub3n6Dwde11y4tHYSfRQIyzuzivbOgG9Ow+Vc3L5k7qWQm+eee52yIUA8Mczb5weXPrBx7AdAQMh3Z1elrSDlAc9UxOH6cE3w4ulQpY/STOMycARVsB7bgZnN+JvwAHv6QH9mkUjo9HWNQYj1PqxJJOSf9KvIVSDPQBzyeSOHMX8WaGHtxpa10EbEW4q6fJRgY/vUy4Xa+J5b4KrKJt3kJ3HIRJ9K4I4QJ7BJ4s2p8mrzTkRJssdSmu/WCjAxMtORl1ZwkflknUz+5Kp7dM/7DjEa91zqR","layer_level":2},{"id":"ef7b334b-471b-48d9-b310-d1e3e8bf6e1d","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"快捷键模型","description":"keybindings-model","prompt":"创建快捷键模型的详细API文档。详细记录快捷键配置的数据结构,包括按键组合、动作映射、上下文条件和优先级设置。文档化快捷键的注册、修改、删除和重置API方法。说明全局快捷键、局部快捷键和动态快捷键的配置规则。包含快捷键冲突检测、优先级处理和回退机制。提供快捷键模板、预设配置和自定义方案的管理接口。记录快捷键的持久化存储、跨平台兼容性和系统集成方法。包含快捷键调试、性能监控和用户体验优化的实现细节。","parent_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","order":6,"progress_status":"completed","dependent_files":"domain/models/keyBindings.ts,domain/customKeyBindings.ts,components/settings/tabs/SettingsShortcutsTab.tsx,application/state/useGlobalHotkeys.ts","gmt_create":"2026-05-28T20:06:08.452149+08:00","gmt_modified":"2026-05-28T21:29:34.628135+08:00","raw_data":"WikiEncrypted:w3cK1CNqEpI9dJGke1Jwd9FUPCMIb3dCXqvg3X0h0dUT8KhruzBJ08h8TJ5ITnoNTqFajGfmeHpy6038s7bAyFDBS4nwb6464t2Bg6iOxmnxfetRMjeTX1D1bMNd9CA8/NcVmHmPVWZCAzWIEmsHb+Kr0koF1mVsxLet7ogkRZAG2en5MnrjQHEtnIQlpszL2Ew8FKcQw6tM5BQH07TUqZvPsnGr2N/AclE42hskPldJTyeK0HQVX9/SVxHOGLq1zApKjbXUZdonPQh3jcfTUxaMTX9LkPB3EzlmN6kDNhthh8VxcoGB+pWPKKA7K0T6M3Ow5afNnLhpVuyEmaMyLLTuVi/lSlhbfpjgiZFrB+3g3UdF3MoJzGPXnbpzaoKJ6w5FH7Yba2ER4l65RUnHD6UhPZJ/bqvaPcHMLbgabRhGEKzubcz6bqVi04M/CwVAYHQyR/OtZJAAAZpm77HJf4HST8Ft0s1i/Vj/zJ/I00qAk8dBgxHe/QyXPd5iST8aq02pNAmIZfSpt/vmQckzTzcy6SDGapC4RjRGHWqJvgvFU4sM0BgAnQJwJ7bDvt4o7G0k3DtQMUjowaBi10k9zvYkE3t30V0/Aquz4Ma/qah9g2wWElZYuwsYCljniSxH5DmGHxBOBgx8Jtm0l8cAlb5ZGXONjKsCnEurIjaIEbS2zuVO2F3uGxg5463JJRQnkONQpgbnpXw79tQ2SN0PqcLLwOSJ8TTuWsgMoCn4cfL4EygAjxVkoyNHLD2REVQjlYgXkyMw2JqQ07ciBK3QArdmkIV9JLvAOIJu/uALgf0wcBinRRASyoo+Dd0HYV48tJofDmPYyCpfxDMj3SDhsbvVSLJOyeJkiHQaxQDFft4f80ESk5pGixRQHUpVECE+pycODLC4/HGNdaLEMrdEf6jZKXPFri0qjCgFWmQpgOCTk8GWkZzGo1taWsMoxOJJ1N+ojqz5odBNXd3kO6vsOjWMt3m6JCAHfElHek8IeRyIxVkS1ztxOFtPFhQv+ccCCwfsBG5rMzKeUDZx0BbjJ7eUbbaFUTCdB0+uQUERLG0cAlFfhjuXRTuXR4hM+yMOW4XSiraIxkLS3qAq/byU2h28ig/Ga/SNpWtIACu1NUgd2PfKoR9vX0CdIO/0OVAp4e+aTk+boPlKmxHCXhRSupvcjrvVZNqjS7dNdvsF76i/ObOmWslKsV3rVaMROuYogoF/r984aF1a0NEdd9KKen56m7DxMlWGq6bGfUwS2OJ3HKfwELd1vdbyx4v0Z9UndPSgZHXLJVc3EiRknsaOYJ2plCf8hh3tBsmotC8y2zRWeYEIXj5JTH3SFhE7nml54+2lF6VqIiGW3ua8hoGuSg==","layer_level":2},{"id":"8e0cd55c-9e85-4a3e-acf0-d657222593bc","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"同步设置","description":"sync-settings","prompt":"为同步设置功能创建详细的用户指南。深入介绍云同步配置,包括Google Drive、OneDrive、S3、WebDAV等云存储提供商的连接和配置。详细说明同步策略设置,包括同步频率、冲突解决、增量同步等。解释备份和恢复功能,包括本地备份、云端备份、数据迁移等操作。介绍同步安全设置,包括加密配置、访问权限、数据保护等。说明同步状态监控,包括同步进度、错误日志、健康检查等。提供同步设置的故障排除和性能优化建议。包含同步设置的最佳实践和数据安全保障措施。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":6,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsSyncTab.tsx,components/cloud-sync/CloudSyncControls.tsx,infrastructure/services/CloudSyncManager.ts,application/state/useCloudSync.ts","gmt_create":"2026-05-28T20:07:11.895307+08:00","gmt_modified":"2026-05-28T21:31:21.193535+08:00","raw_data":"WikiEncrypted:DTWo9tPq/9Nwh37S6H3fnR4Wh1aty6B6cxHu5vIw6cWu2hddPNWniGkBB3a67dXbQuAnlpSUIemUW4sR+piJGXLEQXvUiols6ibZOrsoV5CgWAKQSn1ZQ5oQvLUTy2yp1r3gPhYJokL6Xayq/ZFFCL3HUlBi2vtGOdMmRtLzP/exaGMwbjghJPSZjR631YCIyUWOnKKsh2vgExQw3rikfehRP1HdvlS5JsMqnw2gs3S1Wdq7utzyRNjML1Z8X7rHkyVb7X8ziJbX2m7Gja7wZZiLMr6UOOFz7x97OqmFutwTBiCz+faMY2BIKhk1dkPxeYx66orAWrp1vDJnE0SDOVjqa6bVjh41+4zfWgGNZ6r37cQDsMGVMiUs1ngq6pyRs4Ik7owVUzjqWAjeKoBymmwadLOJQcRF+FmlOwsNXNdDQff7qVrE91PVl+D7gXZTUCzrMPYHncqL9jybtYB7Ka8lRdy3D0oX17Go5BV0JMokzrVIKUuHOV51n8rCetf79jcFWK5QI/0Ol40GAFjSTkyOdMc+wHDK4oOsFJLu/Pc2tkpm4WJnPaJ5SQ1S4QXvuvyevi3jG+LqiTFQU3y2SaKLD1GokMHK384v/aMHXfaiYOSohTSmHKbyV0TfXNZI6oahVDaudYy8VEg3bq5YL1PZQ4fzirRQYmXPnCMN0Qc7Ntyd5k827aDzYOGX77mDyGI+IPciaxdD+njhFDLVnwjKtwsv3BG5cjUfnOzNJgpuflFQfbJOV9Ck/qK5LfkcNRNBudSoxHIttIdWKLzFcABIGRKTazjyHK9MzS5iYxuaUxLDhHann4EyoXmDqi/Y0ViGq/fVY5acRL4hOkQeT2jr82JdG+KHWFyp3eKaEKpuR9GSx/faVCW30VRgp8x2QYfxPrT7we7FjdK+NNykEEywY2qM0bERhXi/ogc6W0wIjqYXwX3K4faYWMyNE9M1OQfB9Vph7ReW2y7TFK+d2CDEWvJJnGYFA6J1hd0TJ8vzZnOQASSRyZj4elx2KffijKBHS07D5U7bKc9rWwHep/BSujHTVBAmhrZmHj9o/rZCsj01tpovO6eYevQ9kHb9eu4WqlytBxtF/S3Vdt4YRGCEKyGYUT/ZdWLXdKo22U78B7SUuFUppYL/y3QEES1UqHE+TeqlItut18CjWRnI9Uy97tWNhXxLUCJvdvhOYetaqpQ6hUYse4knb/GvjSTQIzI7IDdRegstVzFCFdkYfYiE5FeZHYXk2BNO2UbDHFVLHyOTMxcC3EB0R+A+l1LnTSzXhGRleFCspziT768akNyO6xAaUJdTCUSWdixrpE/zsqv/FR9R1sfNLmPqDtXLJyzd5YF3GVuCdf0wz8x/L5YKkTFT4bv7gtbSIvGufTLfLgNf05TdqSfqWwgZrX9NaUZCtwfjMWZ9UfOYFcq6tYBCW0BTjoqY06CNZTXpOkhKPBIxjW8s+1w9tZ06Iw2LyXuXHrknSDe+UyxyO1ZBBw==","layer_level":2},{"id":"3691837c-d095-48ec-b481-053483dbb4a1","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"故障排除与常见问题","description":"troubleshooting-faq","prompt":"创建Netcatty的故障排除和常见问题解答文档。收集和整理用户在使用过程中遇到的典型问题及其解决方案。包含SSH连接问题的诊断方法,如认证失败、连接超时、算法不兼容等问题的排查步骤。提供终端功能相关的故障排除指南,包括xterm.js渲染问题、字体显示异常、自动完成失效等。说明SFTP文件传输的常见问题,如权限错误、传输中断、文件锁定等的解决方法。包含AI代理功能的问题诊断,如模型连接失败、响应超时、工具调用错误等。提供日志分析和调试技巧,帮助用户定位和解决问题。包含性能问题的优化建议和系统资源监控方法。确保问题解答的实用性和可操作性。","order":7,"progress_status":"completed","dependent_files":"README.md,electron/bridges/,lib/logger.ts,infrastructure/services/","gmt_create":"2026-05-28T20:04:49.697533+08:00","gmt_modified":"2026-05-28T20:14:18.619325+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0tuZET5JxbVXxA/4vFailoRiq8l6SCRMdp2PbHfZPheZlnnh8Z+Kpz8AMl4GYpnGwvPSD30RS3DGeh82eFm3OjkJKvQpgbMMDGywx2xlI9vkSulMj4z4ttqyetcIkTpSG6FLP5zVjb4AXNgZiBNz9FV3BLr6X5xfPFrt77HuWoKrYBGHryVaHNPcSh9jBCGfBOI40jdJi+WXxN1Fd8CJ71c/kvwHSIrylBF7XAQPcT4UHB1dWusAiwLeUNzM3PEO6WnBMO0jaRrRZJZVQnmzoP3vcDO3nv8/mpjqmyu7HLZVlrBGA32LopGBwY2/YY/oKmIr8amq4PoByFT5kc4tcbACaarG+OuKFlNZG9s1jJQqMaZs9OGsktx6Utbl3d3y9FyysG2iatt5OzAyyasyMpD+kQoj2y26jvcsV7mm/8PHQHCp4VB7cHEmV4p0r4h7LcNo9T+XvMGZUoEFNMboWnmYbluMF5ZrwezVn2/KaXE/k3rQr2YEYwdkVFXkb9dxZ3kdDIp6pJoHI6xNaWTQaHjO55SoHlb6BYM2fLU7cJ1Hd7DRrYLFcZY0BQz5973pWP5/7OUO8WoUjA9gtnwrju8clkFfPShANEAHxU97CqMoBlIQ07hlk9bANI0YGOUSwGwtWPE3uN5UzDXmh7EQcc2b4WGyf4vsKuhq0Ro8gbi9I/tqUmzFTGrJLr5S8Pr5ZMNmNBCywJV72gTjsRsbUfK0/DTsgAfWpfXtkvB/HvRpLO1Mdbcr4eVaeHXAvHxjTv3kbAsekNeISk1CESp6EXRQEwYWN3t5ZzpYRXzGDWoiE5blDHT2uw6Gsw5AcGf2NU/Tv83L/gruZur5IKLzs9yFfIGi384YiMbHPm4tRTQhjm6jWtmHvfxxJbSL+xOhVtUJAgRjTUpIVHRfkiBWt2lfKDnETTQweWbDyrYsRHbFMd8jDpCH+MYNdpgTJRZeKlMC4y42lTV11CskwOtQZbRLYoxOpj6KZp3U6cABWSHbEODkeavGIO9pnP53e1pgeS99n3eG1sbtFw1oJQ2RT5pyMkMvCUmJhWhBfsRl/rNHu6o+YUtsh072VXNvQbJfVsVAE9SicVZbgHiGaLui2MKc4uSU+7x877T7Dk1FDNT4KdN+3Ner5ApT5l44KAe43vlJG2U7qGV7rOjP2yqyCsPBGZ/yB1jVePWCWBDhhEWFQumL4V53chWoXhg0c6r+0nL44vGNNfwGAV3YdmC2ChSyo1ynlVoxSNEL6AgjYZ5L3A0Ye8ndi002hutomI+zo6hRyjaPiUJ2+QoSDzqRlBUtA3QsKU8GmVHDP7oVR3SuUIvcQ6f1NBbNvMW8Qrs+OBp3J+6fjfWoKA+gZZlhkLBgQLdwkhGMp12SeUENbkO8M+9xfVkIlunmWivRJjUsYw2FrhMLdECsdM7eQ0RfDBBoa+D39xpjIUwmYz1ToS245uVPUSoySTjYWbSikC68ywo1aszR5TIyOz35qE0itIg5WOgo67dhnetPOz7QJ9dnLn5I5rGCphz5nw1Cpij8JQ=="},{"id":"ef88488c-8e89-4db4-957f-cd8262dded34","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"布局组件","description":"layout-components","prompt":"创建布局相关组件的详细API文档。详细说明顶部标签、侧边栏、托盘面板等布局组件的属性和方法。记录布局状态管理、响应式设计和主题适配等功能接口。文档化布局切换、面板折叠、位置调整等交互行为的配置选项。包含布局组件的组合使用模式和自定义布局示例。提供布局性能优化、渲染策略和用户体验改进的最佳实践。","parent_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","order":7,"progress_status":"completed","dependent_files":"components/top-tabs/,components/aside-panel.tsx,components/TrayPanel.tsx,components/terminalLayer/,components/workspace/","gmt_create":"2026-05-28T20:05:51.882741+08:00","gmt_modified":"2026-05-28T21:32:33.645771+08:00","raw_data":"WikiEncrypted:x3LcpLCzT0KOPxd1xeYY3c7iq48qz+WPAPm3x7MWgVl9Ka0y39BYIpkYIXIwXtcEkjLNRqcKoI34Ay7VLfvIoULujI3XYk0l1Hga7t74F2t1/O543AoX3q2n9eMYP+nIGP+6hTEXC9VZMIPmzotlnr4RHTb06XxQu0BGvUKJtNrC1VCkLZ9PFAqDfp4G1E5InJ9M1xxNCjBjr3BNdRZvuAWNeRioBCgBEK5caDNfdS0wgehpLWEtT3K4AMtj+29D+mYxtkeMbP1DKFOvm8PpTblhjsfvfaCza0ooeI7vpim7dty1vhys9XdjRxaqbecUThyFkdysaRtNgukNgCItHGo70QT2Rt/a7KdQd6ht95uOaJm3OE858dr0nYyIKy3mdR9A04GxTici4Xfq2rPthgzPQ6VAK/Gb2UOtT2PqXUfJExLes3rnxS7rsN99bVkdc1cvgwwop5nIJeHH6ZbSFGZDPkXwLmxOP5MSt4MrvvSEVoBDBOwTmxZzRv2ulE59naLVxl3JA8pdLNwOItY9A4Kx65cgk9Q4O1iPH5rab/5aHtMcvDyqWL9Ihx7U8rKYq5IiSBc4XNjatWkWNLD99FkpjPY8ufUl8bDTWKHGQOMe8/oqTXqlNt6qbYh7TanaIsJRd+INi4MC8VFI8WNjq5D0aFw9dxfoDEG3VIqrGqWvip7cosVpX3CmPm0Uyuebt8eIdLdVad5GfEDe11dmC62tUhxLB0ESxb8Al67z33Z6nsi7siZrqcj0ITG3UpRHTIP+75XMdk/bJVJmBNOEaF+EU35XuQghGCaT5W3I2efBCt86qB80bMUZ6tjFOcd5swMRU9zhatoaiWgSG1L+BBjQzSrPlSty1Cqpt1eWqQf8hRv8UDl/DRSh/Q8gaSjuj6bgydVccLNAI2SWDefeDkIyotDhcC43aEFoERlIHwgzfCust9hLRPqLYk+S808GmNtZmQWZmQ2iVRpNDhoAQmsK/CcGDDGCLYfwjJwBwp0qjHDPM4bgOgqeXvNGqShY","layer_level":2},{"id":"6e4574ee-0734-4d80-b89e-88e3950337e8","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"系统设置","description":"system-settings","prompt":"为系统设置功能创建全面的用户指南。详细介绍系统级配置选项,包括会话日志管理、日志目录设置、日志格式配置等。深入说明窗口管理设置,包括窗口热键、最小化到托盘、窗口状态保持等。解释系统集成设置,包括全局快捷键、开机自启动、系统通知等。介绍调试和诊断功能,包括日志级别设置、性能监控、错误报告等。说明系统性能优化选项,包括内存管理、CPU使用率、磁盘空间等。提供系统设置的安全考虑和隐私保护措施。包含系统设置的故障排除和维护建议。","parent_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","order":7,"progress_status":"completed","dependent_files":"components/settings/tabs/SettingsSystemTab.tsx,application/state/systemSettingsEffects.ts,electron/bridges/windowManager.cjs","gmt_create":"2026-05-28T20:07:11.895574+08:00","gmt_modified":"2026-05-28T21:32:05.863083+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjKN64WWbousMZp4iRFZtdCAUyqEi9eeNqhSen/ISqRL27tOmWkm0d9U77f0ao45OMIIsUfYMvPSa7qt1Z30aFbXPZcDiYSxxY5F5Q5AEuco5rN5Zun1K+2ogV2/FKxPEuMaZDA6TFleOiSuA9XvzPnZVEZJnuFlT9b4gGfXmIc0tnpV3XghE2RK6kBL0JtqKXfwx95R/qnZhERhySdWSmtoHLYtazz6eLGM513OxUR3yTrH5KmAPS3oGxp7LYPyf9PCgyc66oxKsOOHq9z1oqByjmiyolmkHNfl3GUCjzD9tZus/UF0QG4Anm9rW9fVyAtUYuSy+ZMLzEmisCrkY8DDzJJWkxPW9WNtsJ1QPBuQOLsmx7FuMmX2yE2+lO/Wa/nAw/DpAJvApdIUNXsxskJplppFE81DuhVZE7Vk9R1f2Qui1XabQ7aTpoSm90y+CgSR5rOSmt4tMzJxj4zI7/naIYw8zBWZ38XqDHdvichP5OcsvyChuVMv0RFU1kcR7+EbFtq8RZgrV7q14Tw71Ug2fWtC4J53+N/c4QurmuEBfhJ27Rc8f7gtm/ZJ/BOziP3cAvO1ng+LPH3WI5HgpKG54ZoiWtbuuqrpypAkab9kjLCutidFp/8D769n8DCaMpj28MZOp1eT21kjRWT9ec4sT53p0btvrHkshl3Z6CGEpn+SWwT2y7pc9PdJPiLNURF5DlomSMhuGTYpQ3mTCTC5fOgVcbiaojdeRBFd355b1yljIww66Vw3CeZeHGcQzdzlM73my45frr5L8Go3jjeaawISUejPQfRUAlQYW1o1jAHNipaUCERM1HwlamirON+ynw93YjZUYodVgrJKFLRw5W6Ab9JqvBqloXrr0J2azyStYRqTsNbRhRGPSafDk+k1JvyVNQSwMgzatv9OiWgtjt+fUndYMFu50oGIwnKAHCZKnnTEvspV7y5SDanVY5XECICFtSzHBBV/zI0zgcd8cxIxPpwIECqjdwgvidtakf5p/Pv+FhK1kI4tRk9I7Z7fBc5JciS2RKH71qRG3H1EG3KJhkKB+WlpUTt/YkNGaSqoSivyVUz4rLm4gg0KhOhWupXIM28ikv8AbAAeRyDPXwXPTfH8oVg81y92XyY7Lgt4EQg8K/xdVLovExlZPDNXPZhT6OqEmRcKSoFuJLmdKDN1JfG/OnYdLb9f7C1gGR3wUXAgIO+JXjlat4XaR4GQnn/l4G+Nn0YWKdKdCjqz+aK4FSs5tO3q7nD1woM95+L32llwtFcSZjeATYizDSkoQjXdjq0/8UVfUUZwrZAn5Hk+0t6KdVy6uzxUVnikawnynw5eK2KLClBulYN2Zfn/rzSYZSmoFX9pzxDHaZ5ya0gQm5/5VNnauGO7iNVkuyQlCesKOyEDN6XZPH7UsEg==","layer_level":2},{"id":"ff5d57fa-1eb8-41fc-b0d9-656fce9f059c","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"贡献指南","description":"contributing-guide","prompt":"创建Netcatty的贡献指南文档。详细说明如何参与项目开发和贡献代码,包括开发环境设置、代码规范和提交流程。提供完整的开发工作流程,从Fork仓库到提交Pull Request的详细步骤。说明代码审查标准和质量要求,包括ESLint规则、TypeScript配置和测试要求。介绍项目的编码约定和最佳实践,包括命名规范、文件组织和注释标准。提供测试策略和测试用例编写指南。说明文档贡献的方法和格式要求。包含社区行为准则和沟通渠道。提供新贡献者的入门指导和学习资源。确保贡献流程清晰易懂,鼓励社区参与。","order":8,"progress_status":"completed","dependent_files":"README.md,eslint.config.js,tsconfig.json,.gitignore,package.json","gmt_create":"2026-05-28T20:04:49.697621+08:00","gmt_modified":"2026-05-28T20:14:13.327614+08:00","raw_data":"WikiEncrypted:BxDZrTl5aGXx1MaECOB3NcmqKeEGh4AECncrqqo5NUTzs6aCoRiqPORmAb4kGHOt167ppBhtnKlsV+1DEzzyUF+VsFql++BdGhjb8/2qSOA3N7g0HUUn++ohxc3NJfGs8kI8JtDWnOstGqo1oLnbOoNZEn2KG/ArcG+x1QLfErPIVl3rJBofZrg2CbU9zc9axG5XLIfsNCo9CML2IjQy8NugthXSvlrE5FEN0WXSvrWqAyewlpAHwDKL3SxFGa8UadbLhzWxb1RCY7iV2DsYIlZAwIAmJbzmdWYvmkFCLEdWT+yE8boM8T6F6Wd+x0Cl4TmgcBVSmNIlcVdmxx2XJ+82AgB7NpnT5gFfmk3mGxWElmeQAdTyObCOAh9uA8ZYjOwGRvvH5VSqEn/uhEmQacLoB7cxRPCPeFM/GGx4xnV6d6hLDheQOQrnrOiwW2QnmT6wur22LScfU929XO2lmQgST+801JcysHOpql2zSsLqFiDX5aqy0LPwRQZyxAcHs7zi0EGUxfqVeMJ8aClojXUkcEohuOnpNdVKY3a67PBJP0OlOM9YMB2QW6+evzO3sQUe2zNPH060DE3WsI4MdSeRMhQUn/HWnYGu6SCfy7NwMXFipkIFrSVAF+q3/MBmgYfohsmL6Ge8NAQJ1eWTdFskR2PPH2xo2Lo25r9pNh1lUpUxguFIfWjbqtqwN+TJxV3oDatpVI8P/lz6jJnt3wfVuNSHZ5/3l1ZUFJqJfj8U0+7OKpEFFEWFBvWyywS2PGJSE25gZSdN9svhTFVxwzodiAiNxPrD22Pey5QKq1tJHC8Eb3xlQwqoG5DOtGfQHry87YAStCRoEHwHZwKi4/RQm5WCbJFbtOufkv2plbEOECenwj/RcheBkZs5X/RXi/mD89ji9Dnn9aPR7sHynEXWGsUxVkKz735XtVFShA9PX8GDZlOadyntyBQj0+Hli2oEBNb4m4UQ812wpfuiFc7yGVAK7NZ+Gw56DbX5au42BTk0LQ3g+jNgO0A56nEiMS+m8sataURUZs0WtuT++ao+5InmXnvb6QpVKrTKeZJjs2/ehmgtSNEqYRkA2RcqEbM+ZdbPpipZYPS9SNSSj8eKxQkXa0hQGG1XZOvZjjIgyluWgHZhP79cFMtLrounxxvRWsFqzRpqwRlD4UJtt3FrCJSotQqglLE/2G/yr8F+EHu9jo1Z/4P7LpIj/Sj7WpK0aIvSvcko74QXKG/yVanWOk8DF59744VNFfKqaA7rq7am1Qv4dk890Kmiubg/kyiNuh6TjNR1Yhal13UbRm1GVt150qEOqp68dqVQtBMtqi7ydqRPAwHuYt5EtaBSClto/VmPPQHUhYigw3JLAg=="}],"wiki_items":[{"catalog_id":"f48f62d9-42f8-4ac9-b4fc-f58aff629b9a","title":"快速开始","description":"getting-started","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1de90f7a-3fa3-45c8-8ae1-f3502e65649d","gmt_create":"2026-05-28T20:09:15.859683+08:00","gmt_modified":"2026-05-28T20:09:15.862198+08:00"},{"catalog_id":"fc6a6e51-5154-4f7e-9202-93b4f106b37c","title":"用户指南","description":"user-guide","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"42bce106-b45b-4bc0-9e82-bc2a4fc07beb","gmt_create":"2026-05-28T20:09:18.453271+08:00","gmt_modified":"2026-05-28T20:09:18.455871+08:00"},{"catalog_id":"189657ad-d00c-4381-8f6b-550190edf068","title":"项目概述","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"93ad1190-c3a6-41e6-89ef-1bca18b8f1f4","gmt_create":"2026-05-28T20:10:15.608801+08:00","gmt_modified":"2026-05-28T20:10:15.61661+08:00"},{"catalog_id":"60ed74f4-b0bd-4b4c-b0b0-3ee6063a0020","title":"开发者文档","description":"developer-documentation","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"45bac3b1-6a77-4ce1-a11e-5aa0eee32dfa","gmt_create":"2026-05-28T20:11:54.688473+08:00","gmt_modified":"2026-05-28T20:11:54.691124+08:00"},{"catalog_id":"78d9aab1-277d-456d-b81f-c6226b357a1a","title":"API参考","description":"api-reference","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e3813e85-475b-4636-8677-0ac6b228a891","gmt_create":"2026-05-28T20:12:29.292291+08:00","gmt_modified":"2026-05-28T20:12:29.294509+08:00"},{"catalog_id":"41e9af1f-d378-4dda-8cfd-b3afdacb5ba7","title":"扩展开发","description":"extension-development","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"904a54db-af5c-4b59-ac68-5cb676129021","gmt_create":"2026-05-28T20:12:59.788396+08:00","gmt_modified":"2026-05-28T20:12:59.791778+08:00"},{"catalog_id":"ff5d57fa-1eb8-41fc-b0d9-656fce9f059c","title":"贡献指南","description":"contributing-guide","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2f8120c5-7d6d-46e9-8453-e4c53d600697","gmt_create":"2026-05-28T20:14:13.325779+08:00","gmt_modified":"2026-05-28T20:14:13.327693+08:00"},{"catalog_id":"3691837c-d095-48ec-b481-053483dbb4a1","title":"故障排除与常见问题","description":"troubleshooting-faq","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"27a63031-de53-457a-b3a9-0dd02ca29aba","gmt_create":"2026-05-28T20:14:18.616639+08:00","gmt_modified":"2026-05-28T20:14:18.619497+08:00"},{"catalog_id":"a0af6288-c032-472b-9250-5b36e4e22779","title":"部署运维","description":"deployment-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"03fcfbf2-fc26-471e-aa4e-399d6429a7ff","gmt_create":"2026-05-28T20:14:18.903082+08:00","gmt_modified":"2026-05-28T20:14:18.905621+08:00"},{"catalog_id":"fe2c716e-f60c-4887-86c2-802954fe9d11","title":"插件开发","description":"plugin-development","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"8960eec6-53de-41f2-9da2-35c059bfd993","gmt_create":"2026-05-28T20:16:48.568139+08:00","gmt_modified":"2026-05-28T20:16:48.57119+08:00"},{"catalog_id":"5d7e7e46-f0dc-47af-9a11-ede44175d5b4","title":"IPC桥接API","description":"ipc-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e99874cc-51a8-4b68-8a1c-9daecf64145f","gmt_create":"2026-05-28T20:17:23.594764+08:00","gmt_modified":"2026-05-28T20:17:23.598019+08:00"},{"catalog_id":"f348201e-855d-4899-83da-3a544ea6e040","title":"SSH客户端管理","description":"ssh-client-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"72c92ab5-35c1-4b79-b485-e9f12ce2fae8","gmt_create":"2026-05-28T20:17:29.824327+08:00","gmt_modified":"2026-05-28T20:17:29.827253+08:00"},{"catalog_id":"386a2336-3e78-4cc2-ab49-8a27056c4185","title":"组件API","description":"component-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"3d2b5605-9785-46cf-9081-f52ded42e6c9","gmt_create":"2026-05-28T20:19:39.314567+08:00","gmt_modified":"2026-05-28T20:19:39.317233+08:00"},{"catalog_id":"e346232a-5e19-4ce6-90f5-396d9804cddb","title":"架构概览","description":"architecture-overview","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"83ef41c8-3531-4600-9d56-76e1eff02a93","gmt_create":"2026-05-28T20:19:47.648628+08:00","gmt_modified":"2026-05-28T20:19:47.650448+08:00"},{"catalog_id":"5e01c9ba-995a-4393-8368-183efee045f3","title":"终端功能","description":"terminal-features","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2c41cd44-9608-4cfc-bae9-2825c596789f","gmt_create":"2026-05-28T20:19:53.60585+08:00","gmt_modified":"2026-05-28T20:19:53.608739+08:00"},{"catalog_id":"2315654d-d8cf-4b7c-a65f-ca077b52828f","title":"主题定制","description":"theme-customization","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7027494b-ee06-47c6-ba86-fa80d1bf638d","gmt_create":"2026-05-28T20:21:26.690866+08:00","gmt_modified":"2026-05-28T20:21:26.693384+08:00"},{"catalog_id":"478f9651-04e6-429b-ad0a-f182114e1102","title":"核心模块详解","description":"core-modules","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"076f60a6-04ca-4485-aaaf-9093a6a2c260","gmt_create":"2026-05-28T20:22:08.857516+08:00","gmt_modified":"2026-05-28T20:22:14.126891+08:00"},{"catalog_id":"f6aeab20-2eda-4543-8472-d35e0860ec0a","title":"状态管理API","description":"state-management-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a9e9905f-e5fb-417a-bb3a-cc85c47635a5","gmt_create":"2026-05-28T20:23:05.900549+08:00","gmt_modified":"2026-05-28T20:23:05.90347+08:00"},{"catalog_id":"bd3266f2-d226-4e56-b968-4fc41e840104","title":"SFTP文件传输","description":"sftp-file-transfer","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"21014d8b-82b1-49fa-b9a5-6e9d0aded67f","gmt_create":"2026-05-28T20:24:23.505466+08:00","gmt_modified":"2026-05-28T20:24:23.508235+08:00"},{"catalog_id":"556ed570-1cfd-40f6-906f-450d95ce0cf1","title":"第三方集成","description":"third-party-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"44c64a89-94ca-4e97-8cfe-c248c6cde27a","gmt_create":"2026-05-28T20:24:32.290918+08:00","gmt_modified":"2026-05-28T20:24:32.293566+08:00"},{"catalog_id":"da5af3f0-4251-4700-9284-7ee621720087","title":"Electron集成","description":"electron-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"dc88333f-8744-4c40-9790-3466bdb408b3","gmt_create":"2026-05-28T20:26:15.041899+08:00","gmt_modified":"2026-05-28T20:26:15.045164+08:00"},{"catalog_id":"b2c73fe9-3ff8-4080-9401-37ae61553767","title":"数据模型API","description":"data-model-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5f2c2451-499e-4dc0-9d7c-adfc98ec195e","gmt_create":"2026-05-28T20:27:14.880845+08:00","gmt_modified":"2026-05-28T20:27:14.884462+08:00"},{"catalog_id":"707e9624-d122-4a77-a6b3-36ec7dc9877e","title":"保管库管理","description":"vault-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cf7f749e-8e9a-42b7-958c-19c55410410d","gmt_create":"2026-05-28T20:27:16.392901+08:00","gmt_modified":"2026-05-28T20:27:16.395775+08:00"},{"catalog_id":"9b3b9267-ab7b-47f8-b4d9-6ebd98d66b3b","title":"开发环境设置","description":"development-environment","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c3978d15-7c1b-44d5-8fa0-fe2cf39cb9bc","gmt_create":"2026-05-28T20:27:59.517823+08:00","gmt_modified":"2026-05-28T20:27:59.520073+08:00"},{"catalog_id":"3c02a9d4-09e1-40db-8b01-ccb4e222aef5","title":"数据模型","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f4139171-e9dc-4289-9492-ce7bc9e73974","gmt_create":"2026-05-28T20:29:32.495414+08:00","gmt_modified":"2026-05-28T20:29:32.498139+08:00"},{"catalog_id":"3a18cc92-3f42-4d44-b561-dd3f0d34637b","title":"基础设施服务","description":"infrastructure-services","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6911f629-88c9-46a5-a025-dad6e315f1e3","gmt_create":"2026-05-28T20:29:52.469148+08:00","gmt_modified":"2026-05-28T20:29:52.471483+08:00"},{"catalog_id":"827df142-1133-4deb-97f5-fe3c3e67ba38","title":"AI代理集成","description":"ai-agent-integration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"eb2ff70f-e75d-40c6-89d3-dcbfaf33731d","gmt_create":"2026-05-28T20:29:56.466499+08:00","gmt_modified":"2026-05-29T00:34:06.36818+08:00"},{"catalog_id":"53dbf0f0-acdf-4479-a847-d36e1f74b9c8","title":"AI桥接API","description":"ai-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4dc539e5-a853-4edf-9ca0-48e6322562ef","gmt_create":"2026-05-28T20:31:43.127064+08:00","gmt_modified":"2026-05-28T20:31:43.128911+08:00"},{"catalog_id":"bf18a7e4-a0d1-4ea7-a632-794bbd1a9f8d","title":"UI基础组件","description":"ui-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ecaffc2b-e494-4ed5-8f02-db5fa282aa72","gmt_create":"2026-05-28T20:31:57.440511+08:00","gmt_modified":"2026-05-28T20:31:57.443597+08:00"},{"catalog_id":"cb81cac0-3062-4a8a-9159-f648291ab27a","title":"设置和配置","description":"settings-configuration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b16d96dd-1d17-4426-a57f-2a7fbd6076a5","gmt_create":"2026-05-28T20:32:13.440906+08:00","gmt_modified":"2026-05-28T20:32:13.4434+08:00"},{"catalog_id":"dbb11819-90c1-4dac-9f47-6a4b3c6adf08","title":"主机模型","description":"host-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"28e4f2ee-c8ca-4994-b62c-9ac71403d04d","gmt_create":"2026-05-28T20:33:55.527067+08:00","gmt_modified":"2026-05-28T20:33:55.52959+08:00"},{"catalog_id":"5025fc02-78cc-4128-a1af-0999e00e0ef0","title":"会话状态Hook","description":"session-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7b1c56ff-3c51-4274-bcf5-d3d1f8477382","gmt_create":"2026-05-28T20:33:55.933029+08:00","gmt_modified":"2026-05-28T20:33:55.935541+08:00"},{"catalog_id":"20b46ffd-42d2-46ea-ad8b-7c8881b3c4b0","title":"主机管理","description":"host-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"17c4c84a-4d7b-4f14-84fa-20b0f4a17ea8","gmt_create":"2026-05-28T20:34:13.985533+08:00","gmt_modified":"2026-05-28T20:34:28.614222+08:00"},{"catalog_id":"201aeb54-f4d8-4e97-b976-71048aa09370","title":"终端视图操作","description":"terminal-view-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1694ef25-1221-4fed-8be5-64690fff9c70","gmt_create":"2026-05-28T20:36:26.94047+08:00","gmt_modified":"2026-05-28T20:36:26.943978+08:00"},{"catalog_id":"d85c536d-3df2-4f81-9a4a-b66cbead93f7","title":"主机组织与分组","description":"host-organization","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1f554e89-41a3-4589-9116-715d7326d7df","gmt_create":"2026-05-28T20:36:40.387275+08:00","gmt_modified":"2026-05-28T20:36:40.389701+08:00"},{"catalog_id":"964d0138-2e03-4183-8eed-c1f8f31b16df","title":"文件浏览器界面","description":"sftp-file-browser","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5ef9349b-68d6-4060-bdd6-f994eb94b4b0","gmt_create":"2026-05-28T20:37:04.156971+08:00","gmt_modified":"2026-05-28T20:37:04.159008+08:00"},{"catalog_id":"56d1bb3b-a501-4cb5-bb1e-9d7e4d0e8bf5","title":"整体架构设计","description":"overall-design","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9a20a6d8-32b5-472c-8f96-f55fddf76d5a","gmt_create":"2026-05-28T20:39:07.482788+08:00","gmt_modified":"2026-05-28T20:39:07.490307+08:00"},{"catalog_id":"b8f706d6-4db2-446f-9991-e7c85519a828","title":"AI聊天界面","description":"ai-chat-interface","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d1f115dc-76be-4ec7-8145-b3a79feceafa","gmt_create":"2026-05-28T20:39:15.434081+08:00","gmt_modified":"2026-06-01T18:15:51.959566+08:00"},{"catalog_id":"28e1e3bb-505c-44f8-a1b1-87c5d1bbd609","title":"状态管理","description":"state-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"74c23b15-a37c-415b-8ad8-d01a28fa32ca","gmt_create":"2026-05-28T20:39:36.330674+08:00","gmt_modified":"2026-05-28T20:39:36.333244+08:00"},{"catalog_id":"c690e6a6-c8b9-40d6-87eb-75ee01a32f99","title":"应用程序设置","description":"application-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6f52536a-2f63-46a3-ba9e-99c7d0669a75","gmt_create":"2026-05-28T20:41:13.928608+08:00","gmt_modified":"2026-05-28T20:41:13.93088+08:00"},{"catalog_id":"49eed28b-d88a-412b-b7a4-ad89b94535e5","title":"主进程架构","description":"main-process","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f12bccb7-c5ba-4609-9741-e46383cbbc70","gmt_create":"2026-05-28T20:41:42.591044+08:00","gmt_modified":"2026-05-28T20:41:42.592871+08:00"},{"catalog_id":"ccc96a62-baef-4616-ad83-4919e22a284c","title":"云同步服务","description":"cloud-sync-service","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"73f98836-cfe0-46eb-a986-2349ae88c8c1","gmt_create":"2026-05-28T20:43:17.779511+08:00","gmt_modified":"2026-05-28T20:43:17.782815+08:00"},{"catalog_id":"a2ac83be-41a4-4ac9-8946-bec086179f45","title":"SSH桥接API","description":"ssh-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"397afdaa-9617-42fa-a07e-4c1a29bb6acc","gmt_create":"2026-05-28T20:43:57.405919+08:00","gmt_modified":"2026-05-29T16:04:37.505087+08:00"},{"catalog_id":"e536cbcb-452c-40e1-9547-0991822ec22b","title":"终端组件","description":"terminal-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c5e97fba-c5cc-48ac-9ad0-c97063cc84c4","gmt_create":"2026-05-28T20:44:29.805814+08:00","gmt_modified":"2026-05-28T20:44:29.808677+08:00"},{"catalog_id":"89dfd6ab-5e0f-454c-ae5b-7ea42272a2f0","title":"连接配置","description":"connection-configuration","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c6203bd1-7727-4496-bd98-180f6da076fe","gmt_create":"2026-05-28T20:45:35.640074+08:00","gmt_modified":"2026-05-28T20:45:35.642897+08:00"},{"catalog_id":"fcdc1e35-7fc1-428b-ac53-5a9dea163038","title":"终端模型","description":"terminal-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"dcb07678-55bd-469e-a441-411c1c8b7571","gmt_create":"2026-05-28T20:46:06.806154+08:00","gmt_modified":"2026-05-28T20:46:23.85405+08:00"},{"catalog_id":"03c019d8-c4c8-4af7-b8b9-d24d0a6953ef","title":"设置状态Hook","description":"settings-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1df8b934-e8f0-45d5-a44e-2985b5f62201","gmt_create":"2026-05-28T20:46:33.845626+08:00","gmt_modified":"2026-05-28T20:46:33.848291+08:00"},{"catalog_id":"543fbb38-22d3-4edd-beaf-500a9d27eb05","title":"导入导出与备份","description":"import-export-vault","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6d891e74-605c-4f85-84f1-6c9277f6ae57","gmt_create":"2026-05-28T20:48:30.777259+08:00","gmt_modified":"2026-05-28T20:48:30.780053+08:00"},{"catalog_id":"65f95f28-e6ac-4777-aded-6ef175e0df13","title":"文件操作功能","description":"sftp-file-operations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"1ee90d0b-1543-46d7-8d77-8c6d5a040e35","gmt_create":"2026-05-28T20:49:05.75482+08:00","gmt_modified":"2026-05-28T20:49:05.757196+08:00"},{"catalog_id":"0e8576ec-5da3-4ee7-a79b-721f16083b55","title":"自动完成功能","description":"terminal-autocomplete","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"37433958-d11a-47cc-8b45-7f963b7c3801","gmt_create":"2026-05-28T20:49:21.874304+08:00","gmt_modified":"2026-05-28T20:49:21.877861+08:00"},{"catalog_id":"bb641495-1f33-4d48-a42e-b1cbc65d7beb","title":"代理管理","description":"agent-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a3cbd4c2-14c3-42a3-8d03-34ad7f78acb8","gmt_create":"2026-05-28T20:50:14.028264+08:00","gmt_modified":"2026-05-29T16:05:13.426378+08:00"},{"catalog_id":"af3b4fa1-5540-45d2-a8f0-5da6a08e1577","title":"数据模型","description":"data-models","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"71c44865-0b1f-460a-863f-5a4f24a4fce7","gmt_create":"2026-05-28T20:51:20.932299+08:00","gmt_modified":"2026-05-28T20:51:20.935265+08:00"},{"catalog_id":"f21a1842-6cf5-49cd-bbe8-77311dc5b845","title":"技术栈说明","description":"tech-stack","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"a16a3ff5-48da-45e5-99f9-96588d5b79fa","gmt_create":"2026-05-28T20:51:39.408316+08:00","gmt_modified":"2026-05-28T20:51:39.410305+08:00"},{"catalog_id":"aea259ba-0cb4-4f60-b819-6fdab52f91bd","title":"外观设置","description":"appearance-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"de284344-f31b-48aa-8fd4-91b2e96d4f6b","gmt_create":"2026-05-28T20:52:09.810191+08:00","gmt_modified":"2026-05-28T20:52:23.242309+08:00"},{"catalog_id":"4bb1d350-1bd4-4289-a7bf-a0901b7406fc","title":"加密服务","description":"encryption-service","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"49a94704-ca02-4541-a00e-692fc26c346b","gmt_create":"2026-05-28T20:53:23.313274+08:00","gmt_modified":"2026-05-28T20:53:23.315127+08:00"},{"catalog_id":"b5087fef-552a-44f1-9c4c-c6fd70eb1a72","title":"预加载脚本","description":"preload-scripts","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"fc559a24-ee72-4904-afc4-365c2a61c21f","gmt_create":"2026-05-28T20:53:29.564647+08:00","gmt_modified":"2026-05-28T20:53:29.566646+08:00"},{"catalog_id":"f5e61dbd-beb3-44f7-b208-05f97451f629","title":"SFTP桥接API","description":"sftp-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f018dbe0-35a9-4ac2-abcb-da04c336a890","gmt_create":"2026-05-28T20:54:32.30166+08:00","gmt_modified":"2026-05-28T20:54:32.303719+08:00"},{"catalog_id":"4d7ffc05-5416-4089-88de-4afeccb391b9","title":"SFTP模型","description":"sftp-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"3c9c8608-9041-4736-bff6-4b6c08e234ce","gmt_create":"2026-05-28T20:56:02.760458+08:00","gmt_modified":"2026-05-28T20:56:02.76312+08:00"},{"catalog_id":"371e9339-c3fa-472a-8aa1-01e31ae98f5e","title":"SFTP组件","description":"sftp-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"45af2034-e7e9-47d9-90fd-0a031df9231c","gmt_create":"2026-05-28T20:56:20.751547+08:00","gmt_modified":"2026-05-28T20:56:20.754156+08:00"},{"catalog_id":"dfa19a59-6ae1-41f8-af37-7dfc7d5a0dad","title":"认证方式","description":"authentication-methods","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"6383ad91-1e59-4001-bc06-a9f279ea4ada","gmt_create":"2026-05-28T20:56:40.144097+08:00","gmt_modified":"2026-05-29T16:04:30.697626+08:00"},{"catalog_id":"7d32c18c-49bc-4690-8248-e2296c3b0159","title":"标签系统管理","description":"tag-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"020d314c-4da8-4e4e-ab48-4212b49c5659","gmt_create":"2026-05-28T20:58:08.836338+08:00","gmt_modified":"2026-05-28T20:58:21.634679+08:00"},{"catalog_id":"c9f7477f-6d5e-4f96-854a-19ed0c429466","title":"保管库状态Hook","description":"vault-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5a51d08c-b7e1-4b2c-8196-8e3d248e854a","gmt_create":"2026-05-28T20:58:34.48485+08:00","gmt_modified":"2026-05-28T20:58:34.487869+08:00"},{"catalog_id":"7464267a-5878-4386-b52f-5b5fa2ef0315","title":"终端搜索功能","description":"terminal-search","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f6e21ee1-4113-45ba-ac8f-1eba088c1b24","gmt_create":"2026-05-28T20:58:37.587232+08:00","gmt_modified":"2026-05-28T20:58:37.589173+08:00"},{"catalog_id":"57b18839-40f9-4af4-9a44-e46ef4e2ecf2","title":"拖放传输功能","description":"sftp-drag-drop-transfer","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7484d7a0-8b35-44d2-a7da-139ec01da695","gmt_create":"2026-05-28T21:00:34.811478+08:00","gmt_modified":"2026-05-28T21:00:34.813368+08:00"},{"catalog_id":"9bf4fe2e-010c-4877-877a-14aac3fb2337","title":"自然语言交互","description":"natural-language-interaction","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0872749e-a205-426a-8c47-ea163a05e729","gmt_create":"2026-05-28T21:01:11.555983+08:00","gmt_modified":"2026-05-28T21:01:25.915648+08:00"},{"catalog_id":"5823d155-378b-4d13-9e56-b4f4513a55c6","title":"模块化设计","description":"modular-design","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"8f287c60-fbc7-4023-a21d-a9904046e89f","gmt_create":"2026-05-28T21:01:16.448818+08:00","gmt_modified":"2026-05-28T21:01:25.91627+08:00"},{"catalog_id":"8cc41ec0-2de7-4a7e-8273-e22748136cea","title":"组件架构","description":"component-architecture","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2098231c-2de5-4da3-b958-08734c3a8419","gmt_create":"2026-05-28T21:02:30.897868+08:00","gmt_modified":"2026-05-28T21:02:30.900637+08:00"},{"catalog_id":"3856196c-0e63-462e-9090-d6089a6c4b22","title":"终端设置","description":"terminal-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ed67120f-9ffd-4cb6-bd1b-aff9f8c3b165","gmt_create":"2026-05-28T21:03:38.653691+08:00","gmt_modified":"2026-05-28T21:03:38.65627+08:00"},{"catalog_id":"cb787d46-a943-46c4-bae1-df40a40459e8","title":"IPC桥接层","description":"ipc-bridges","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"fcc17a60-93fe-4e71-b393-74e8fde83291","gmt_create":"2026-05-28T21:03:44.865436+08:00","gmt_modified":"2026-05-28T21:03:44.867309+08:00"},{"catalog_id":"6047dcc4-e68e-4b0f-a011-afcbedb871ba","title":"字体系统","description":"font-system","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"861be5e2-69ca-4618-8fb5-950adbbc35fe","gmt_create":"2026-05-28T21:04:30.973816+08:00","gmt_modified":"2026-05-28T21:04:30.976543+08:00"},{"catalog_id":"ef953a09-2620-4559-bfd9-2bcb4e38577b","title":"终端桥接API","description":"terminal-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"326cecd9-d969-462d-9281-a1d57888dccd","gmt_create":"2026-05-28T21:05:58.25603+08:00","gmt_modified":"2026-05-28T21:05:58.258778+08:00"},{"catalog_id":"0fe183f4-652b-49e9-86be-7ee73ed050e6","title":"连接模型","description":"connection-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2d2a4c62-7798-4c1c-81a0-200c0748b4d2","gmt_create":"2026-05-28T21:06:38.514768+08:00","gmt_modified":"2026-05-28T21:06:38.518055+08:00"},{"catalog_id":"b4067c14-ddaa-47ff-8b33-41d5a27efd23","title":"保管库组件","description":"vault-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"36703908-4de5-4a47-ae0c-1560ce2453e4","gmt_create":"2026-05-28T21:06:58.813087+08:00","gmt_modified":"2026-05-28T21:06:58.816033+08:00"},{"catalog_id":"ae037469-2c02-419e-89fa-7982b8a8fc56","title":"快速连接向导","description":"quick-connect-wizard","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f2bbaae1-29e0-4399-9142-1d3f26b371ef","gmt_create":"2026-05-28T21:07:49.338785+08:00","gmt_modified":"2026-05-28T21:07:49.341603+08:00"},{"catalog_id":"991f3dd4-c9b9-472c-abb2-dbcf1445dceb","title":"SFTP状态Hook","description":"sftp-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cf2d1803-be1b-4f5c-abef-19c145d455cf","gmt_create":"2026-05-28T21:08:52.788406+08:00","gmt_modified":"2026-05-28T21:08:52.790914+08:00"},{"catalog_id":"f2e87c7b-b2d2-4b60-97bb-02df5afcae18","title":"凭据安全管理","description":"credential-security","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4c7c01e9-edfe-4726-81ca-4b4aceaae66a","gmt_create":"2026-05-28T21:09:04.399686+08:00","gmt_modified":"2026-05-28T21:09:04.402578+08:00"},{"catalog_id":"f65b1d62-7cb2-4475-acba-acba86b920e0","title":"主题定制系统","description":"terminal-themes","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b68a612e-3c3f-4c43-9676-bdb3f91bb678","gmt_create":"2026-05-28T21:11:17.299407+08:00","gmt_modified":"2026-05-28T21:11:17.302163+08:00"},{"catalog_id":"6fd20312-1e9b-42d7-9ac2-5bca9f46eb5e","title":"文件关联和编辑","description":"sftp-file-associations","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e32b3a8e-2c05-4fd2-95bf-67c0e69978d0","gmt_create":"2026-05-28T21:11:35.910945+08:00","gmt_modified":"2026-05-28T21:11:35.913854+08:00"},{"catalog_id":"2b57cd0f-33e0-4b9d-9a23-efbdd7e042fc","title":"工具调用执行","description":"tool-calls-execution","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"82f9a2a7-0743-43ab-98ff-8557eb71151a","gmt_create":"2026-05-28T21:12:12.338392+08:00","gmt_modified":"2026-05-28T21:12:12.341324+08:00"},{"catalog_id":"2154cf33-167b-49cd-b5b4-73427e843b34","title":"IPC通信机制","description":"ipc-communication","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"59643266-d11f-47e4-acd1-e4caaa810589","gmt_create":"2026-05-28T21:13:32.702363+08:00","gmt_modified":"2026-05-28T21:13:32.704316+08:00"},{"catalog_id":"ee9178f8-f4f8-4b57-90fa-6462c4acb72f","title":"工具库","description":"utility-libraries","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"c51ce701-f39e-4770-bfe9-7ed664d78ece","gmt_create":"2026-05-28T21:13:33.316698+08:00","gmt_modified":"2026-05-28T21:13:33.318904+08:00"},{"catalog_id":"2af9b53c-66bb-4ae8-8cfd-72579a55e354","title":"快捷键设置","description":"shortcut-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"966e6580-5798-40b2-8453-4626ca83115b","gmt_create":"2026-05-28T21:13:58.244814+08:00","gmt_modified":"2026-05-28T21:13:58.246754+08:00"},{"catalog_id":"8433df7e-7804-4604-ba3a-45580e402754","title":"AI基础设施","description":"ai-infrastructure","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"930fbb30-624e-4be4-b9d7-3467b84db500","gmt_create":"2026-05-28T21:15:49.978165+08:00","gmt_modified":"2026-05-29T00:36:03.462506+08:00"},{"catalog_id":"f82dd286-099d-4821-8190-abf67ab92593","title":"窗口管理桥接API","description":"window-manager-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d1b154bc-d0c4-48ba-bcb7-3970fc9b4cf9","gmt_create":"2026-05-28T21:16:17.783035+08:00","gmt_modified":"2026-05-28T21:16:17.784697+08:00"},{"catalog_id":"d9afe811-1714-4c00-9188-6b5535c6700c","title":"CLI工具","description":"cli-tools","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9c3b9e04-fe49-45a5-a3fc-4cd3c8bd0537","gmt_create":"2026-05-28T21:16:18.016116+08:00","gmt_modified":"2026-05-28T21:16:18.018463+08:00"},{"catalog_id":"a34970ad-c11c-48af-931c-5cca9ef2f01a","title":"工作区模型","description":"workspace-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"df2cb5b8-13f3-4cf9-9a0f-a66b144caecc","gmt_create":"2026-05-28T21:18:29.928242+08:00","gmt_modified":"2026-05-28T21:18:29.930923+08:00"},{"catalog_id":"5ab851c5-022e-47a4-8293-af1491c63b59","title":"连接测试","description":"connection-testing","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"2e7a9992-3118-4134-95d6-362c34c77b26","gmt_create":"2026-05-28T21:18:40.064289+08:00","gmt_modified":"2026-05-28T21:18:40.067081+08:00"},{"catalog_id":"d281abbd-5367-47dc-ab13-aff302093b89","title":"AI组件","description":"ai-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"849b4f17-1d9e-43ca-b3da-44fa5a6b02ce","gmt_create":"2026-05-28T21:18:59.639966+08:00","gmt_modified":"2026-05-28T21:18:59.6429+08:00"},{"catalog_id":"81f40392-144b-487d-a89a-89595b2ca5e6","title":"AI状态Hook","description":"ai-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"4d6cd377-6c95-4b0c-99f7-c126d8f03eb1","gmt_create":"2026-05-28T21:20:51.984996+08:00","gmt_modified":"2026-05-28T21:20:51.986854+08:00"},{"catalog_id":"76a4607c-76b0-4c26-ab56-f2fc6f194f7a","title":"传输队列管理","description":"sftp-transfer-queue","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"ec9e3933-aba5-4959-a593-ae110a420f06","gmt_create":"2026-05-28T21:21:03.096295+08:00","gmt_modified":"2026-05-28T21:21:03.098381+08:00"},{"catalog_id":"55d86c92-cc94-43ea-a7b9-b13e17e6f7ce","title":"会话历史管理","description":"session-history-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0d77fffe-d1dc-48c7-a372-e75b8a87db6b","gmt_create":"2026-05-28T21:22:26.740248+08:00","gmt_modified":"2026-05-28T21:22:26.742756+08:00"},{"catalog_id":"af609130-8a02-45a6-8465-1217b9e14bb9","title":"会话管理","description":"terminal-session-management","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"bb9f89dd-b0e9-4cfa-8153-b52d1904911e","gmt_create":"2026-05-28T21:22:50.042188+08:00","gmt_modified":"2026-05-28T21:22:50.045504+08:00"},{"catalog_id":"d9ee0f3d-a1bb-4b04-970e-740ac07f60c3","title":"文件关联设置","description":"file-associations-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"9293b231-76ae-4669-ac34-f4aaa7babac9","gmt_create":"2026-05-28T21:23:03.04053+08:00","gmt_modified":"2026-05-28T21:23:03.042188+08:00"},{"catalog_id":"2da4f199-600f-40c6-855e-b8e44d60092c","title":"设置组件","description":"settings-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"250e1ffa-0511-4e9b-9572-3b94da7ed30f","gmt_create":"2026-05-28T21:24:56.870393+08:00","gmt_modified":"2026-05-28T21:24:56.8728+08:00"},{"catalog_id":"4e97dcc6-bf65-4f09-8d6b-a6d661faf388","title":"历史记录模型","description":"history-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"0a2074a0-316d-442a-bfb5-7f8ce0e6fc35","gmt_create":"2026-05-28T21:25:06.706503+08:00","gmt_modified":"2026-05-28T21:25:06.796698+08:00"},{"catalog_id":"c6a39c99-d0b1-492c-b25a-4f8f1014969c","title":"系统集成桥接API","description":"system-integration-bridge-api","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"54acc46f-d6ad-4f2c-850a-93c684202570","gmt_create":"2026-05-28T21:25:22.895812+08:00","gmt_modified":"2026-05-28T21:25:22.898245+08:00"},{"catalog_id":"871bf596-4926-4cf4-a619-8e73b11f79fb","title":"权限安全控制","description":"permission-security-control","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"b5fbb704-a1a4-4172-9b6c-6bdddf7e3c06","gmt_create":"2026-05-28T21:26:38.973326+08:00","gmt_modified":"2026-05-28T21:26:38.975694+08:00"},{"catalog_id":"a68ac9c5-ad3b-42f1-ac16-58c017b05ea8","title":"冲突解决和错误处理","description":"sftp-conflict-resolution","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"95f25b79-6d2b-4805-bd19-d055bce67908","gmt_create":"2026-05-28T21:26:58.5059+08:00","gmt_modified":"2026-05-28T21:26:58.508611+08:00"},{"catalog_id":"4fa9db41-624e-4e43-9e49-8efb973b02b1","title":"工具状态Hook","description":"utility-state-hooks","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"765a165b-9816-400a-83ba-473f4418e1ba","gmt_create":"2026-05-28T21:27:22.955482+08:00","gmt_modified":"2026-05-28T21:27:22.958033+08:00"},{"catalog_id":"a629c573-e1f1-40e2-85c7-fbcf947f1204","title":"AI设置","description":"ai-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"cde4dc83-ca09-4401-a05a-438e589695c6","gmt_create":"2026-05-28T21:29:15.276246+08:00","gmt_modified":"2026-05-29T00:33:30.880504+08:00"},{"catalog_id":"72f50650-cccf-42c4-b23e-4e75b8db5ff1","title":"编辑器组件","description":"editor-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"e0edb13e-c272-40b7-ace2-3355efd887d7","gmt_create":"2026-05-28T21:29:24.26047+08:00","gmt_modified":"2026-05-28T21:29:24.263742+08:00"},{"catalog_id":"ef7b334b-471b-48d9-b310-d1e3e8bf6e1d","title":"快捷键模型","description":"keybindings-model","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"5fad6bf9-012b-4055-8a0b-bdec02248b2b","gmt_create":"2026-05-28T21:29:34.625698+08:00","gmt_modified":"2026-05-28T21:29:34.628199+08:00"},{"catalog_id":"8e0cd55c-9e85-4a3e-acf0-d657222593bc","title":"同步设置","description":"sync-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"d8ac62a4-fb66-4e63-9a5a-62bfac54d3b3","gmt_create":"2026-05-28T21:31:21.190965+08:00","gmt_modified":"2026-05-28T21:31:21.193601+08:00"},{"catalog_id":"6e4574ee-0734-4d80-b89e-88e3950337e8","title":"系统设置","description":"system-settings","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"f5dbfab0-b49d-4f86-9bec-8c5d833d7193","gmt_create":"2026-05-28T21:32:05.86062+08:00","gmt_modified":"2026-05-28T21:32:05.863138+08:00"},{"catalog_id":"ef88488c-8e89-4db4-957f-cd8262dded34","title":"布局组件","description":"layout-components","extend":"{}","progress_status":"completed","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","reference_count":0,"id":"7ff04dc2-a695-40d1-8102-cfdd1bcbd276","gmt_create":"2026-05-28T21:32:33.64292+08:00","gmt_modified":"2026-05-28T21:32:33.645838+08:00"}],"wiki_overview":{"content":"基于我对Netcatty项目的深入分析,现在我将生成一个全面的项目概述。\n\n\u003cblog\u003e\n\n# Netcatty 项目架构分析报告\n\n## 1. 项目介绍\n\nNetcatty 是一个现代化的SSH客户端和终端管理器,专为开发者、系统管理员和DevOps工程师设计。该项目提供了一个功能丰富的跨平台应用程序,支持SSH、本地终端、Telnet、Mosh和串行连接等多种协议。\n\n### 核心目标\n- 提供统一的SSH工作空间管理\n- 支持多会话分屏操作\n- 集成SFTP文件浏览器和编辑器\n- 内置AI代理助手\n- 跨平台支持(macOS、Windows、Linux)\n\n### 目标用户\n- 系统管理员和运维工程师\n- 开发者和DevOps团队\n- 需要远程服务器管理的专业人士\n\n## 2. 技术架构\n\nNetcatty采用现代的前端技术栈和Electron桌面应用框架构建,实现了高性能的桌面应用程序体验。\n\n### 架构概览\n\n```mermaid\ngraph TD\n A[Electron Main Process] --\u003e B[React Frontend]\n A --\u003e C[IPC Bridges]\n B --\u003e D[Application State]\n B --\u003e E[Domain Models]\n B --\u003e F[Infrastructure Services]\n C --\u003e G[SSH Bridge]\n C --\u003e H[SFTP Bridge]\n C --\u003e I[Terminal Bridge]\n C --\u003e J[AI Bridge]\n D --\u003e K[Cloud Sync Manager]\n D --\u003e L[Vault State]\n D --\u003e M[Session State]\n```\n\n### 设计模式\n- **模块化架构**:清晰分离UI层、业务逻辑层和基础设施层\n- **状态管理模式**:使用React Hooks进行状态管理\n- **桥接模式**:通过IPC桥接处理与主进程的通信\n- **依赖注入**:通过工厂函数和注册器管理服务依赖\n\n## 3. 核心实现\n\n### 主要入口点\n\n#### 应用程序入口\n- **`App.tsx`** - 主应用程序组件,负责全局状态管理和组件协调\n- **`index.tsx`** - 应用程序入口点,处理路由和窗口管理\n- **`electron/main.cjs`** - Electron主进程入口,管理窗口和系统集成\n\n#### 核心模块\n\n##### 状态管理系统\n- **`application/state/useVaultState.ts`** - 保管库状态管理,处理主机、密钥、会话等数据\n- **`application/state/useSessionState.ts`** - 会话状态管理,处理终端会话和工作区\n- **`application/state/useSftpState.ts`** - SFTP状态管理,处理文件传输和目录浏览\n\n##### 域模型\n- **`domain/models/`** - 定义核心数据模型和类型定义\n- **`domain/host.ts`** - 主机配置和连接管理\n- **`domain/sshAuth.ts`** - SSH认证逻辑\n- **`domain/sync.ts`** - 同步机制和冲突解决\n\n##### 基础设施服务\n- **`infrastructure/services/CloudSyncManager.ts`** - 云同步管理器,支持多云提供商\n- **`infrastructure/services/netcattyBridge.ts`** - 应用程序桥接服务\n- **`infrastructure/persistence/`** - 数据持久化和加密存储\n\n### 配置方法\n\n#### 构建配置\n- **`vite.config.ts`** - Vite构建配置\n- **`electron-builder.config.cjs`** - 应用程序打包配置\n- **`tsconfig.json`** - TypeScript编译配置\n\n#### 环境配置\n- **`electron/.dev-config.json`** - 开发环境配置\n- **`global.d.ts`** - 全局类型声明\n\n### 外部依赖\n\n#### 核心依赖\n- **`react`** 和 **`react-dom`** - 用户界面框架\n- **`electron`** - 桌面应用框架\n- **`@xterm/xterm`** 和 **`@xterm/addon-*`** - 终端渲染和功能扩展\n- **`ssh2`** 和 **`ssh2-sftp-client`** - SSH和SFTP连接\n- **`node-pty`** - 本地终端PTY支持\n\n#### AI和代理相关\n- **`@ai-sdk/*`** - AI SDK集成\n- **`@agentclientprotocol/claude-agent-acp`** - Claude ACP协议支持\n- **`@mcpc-tech/acp-ai-provider`** - MCP AI提供程序\n\n### 集成点\n\n#### IPC桥接系统\n- **`electron/bridges/`** - 主进程与渲染进程通信桥接\n- **`electron/bridges/sshBridge.cjs`** - SSH连接桥接\n- **`electron/bridges/sftpBridge.cjs`** - SFTP操作桥接\n- **`electron/bridges/aiBridge.cjs`** - AI代理桥接\n\n#### 云同步集成\n- **`infrastructure/services/adapters/`** - 云存储适配器\n- **`GitHubAdapter.ts`** - GitHub Gist集成\n- **`WebDAVAdapter.ts`** - WebDAV存储支持\n- **`S3Adapter.ts`** - AWS S3存储支持\n\n### 组件关系图\n\n```mermaid\ngraph LR\n A[App.tsx] --\u003e B[Terminal.tsx]\n A --\u003e C[SftpView.tsx]\n A --\u003e D[VaultView.tsx]\n B --\u003e E[TerminalView.tsx]\n C --\u003e F[SftpPaneView.tsx]\n D --\u003e G[HostTreeView.tsx]\n A --\u003e H[AIChatPanelContent.tsx]\n H --\u003e I[ai/]\n I --\u003e J[aiElements/]\n```\n\n## 4. 关键特性\n\n### 功能概览\n\n#### SSH和终端管理\n- **多协议支持**:SSH、Telnet、Mosh、本地终端、串行连接\n- **会话管理**:分屏操作、标签页切换、会话恢复\n- **终端增强**:自动完成、搜索、主题定制、关键字高亮\n\n#### 文件传输和编辑\n- **SFTP浏览器**:双面板文件管理、拖放上传下载\n- **内置编辑器**:语法高亮、代码折叠、自动保存\n- **文件关联**:根据文件类型自动选择合适的编辑器\n\n#### 保管库管理\n- **主机组织**:网格、列表、树形视图\n- **分组管理**:按项目或环境组织主机\n- **凭据安全**:加密存储SSH密钥和密码\n\n#### AI代理集成\n- **自然语言交互**:通过对话管理服务器\n- **多主机操作**:同时在多个服务器上执行任务\n- **智能上下文**:理解服务器环境和配置\n\n### 实现亮点\n\n#### 状态管理架构\n- **集中式状态**:通过自定义Hook管理复杂的应用状态\n- **响应式更新**:基于React状态的自动UI更新\n- **持久化存储**:本地加密存储确保数据安全\n\n#### 性能优化\n- **虚拟滚动**:大文件列表的高效渲染\n- **懒加载**:组件和资源的按需加载\n- **缓存策略**:主机信息和连接状态的智能缓存\n\n#### 用户体验\n- **主题系统**:深色/浅色主题和自定义颜色\n- **键盘快捷键**:完整的键盘导航支持\n- **无障碍设计**:符合WCAG标准的可访问性\n\n### 特性架构图\n\n```mermaid\nstateDiagram-v2\n [*] --\u003e 初始化\n 初始化 --\u003e 连接验证\n 连接验证 --\u003e 会话建立\n 会话建立 --\u003e 终端操作\n 会话建立 --\u003e SFTP操作\n 会话建立 --\u003e AI代理交互\n \n 终端操作 --\u003e 会话管理\n SFTP操作 --\u003e 文件传输\n AI代理交互 --\u003e 任务执行\n \n 会话管理 --\u003e [*]\n 文件传输 --\u003e [*]\n 任务执行 --\u003e [*]\n```\n\n## 5. 结论和建议\n\n### 项目架构优势\n\n1. **模块化设计**:清晰的分层架构使得代码易于维护和扩展\n2. **跨平台兼容**:基于Electron的跨平台支持确保了广泛的用户覆盖\n3. **性能优化**:合理的状态管理和渲染优化提供了流畅的用户体验\n4. **安全性考虑**:本地加密存储和安全的凭据管理\n\n### 潜在改进领域\n\n1. **测试覆盖率**:可以增加更多的单元测试和集成测试\n2. **文档完善**:需要更详细的API文档和开发指南\n3. **错误处理**:可以进一步完善错误处理和用户反馈机制\n4. **性能监控**:添加性能指标监控以持续优化应用表现\n\n### 可行性建议\n\n1. **微服务化**:考虑将大型组件拆分为更小的服务模块\n2. **插件系统**:开发插件API以支持第三方扩展\n3. **云端同步**:增强云同步功能以支持更多协作场景\n4. **移动端支持**:考虑开发移动版本以支持远程管理\n\n### 下一步发展方向\n\n1. **AI功能扩展**:增强AI代理的能力,支持更多自动化任务\n2. **团队协作**:添加团队共享和权限管理功能\n3. **监控集成**:集成系统监控和告警功能\n4. **自动化运维**:开发更多自动化运维脚本和工具\n\nSources:\n- [package.json](package.json)\n- [App.tsx](App.tsx)\n- [index.tsx](index.tsx)\n- [electron/main.cjs](electron/main.cjs)\n- [README.md](README.md)\n- [electron/bridges/aiBridge.cjs](electron/bridges/aiBridge.cjs)\n- [infrastructure/services/CloudSyncManager.ts](infrastructure/services/CloudSyncManager.ts)\n- [application/state/useVaultState.ts](application/state/useVaultState.ts)\n- [components/terminal/TerminalView.tsx](components/terminal/TerminalView.tsx)\n- [components/SftpView.tsx](components/SftpView.tsx)\n\n\u003c/blog\u003e","gmt_create":"2026-05-28T20:01:39.833493+08:00","gmt_modified":"2026-05-28T20:01:39.833493+08:00","id":"c4de047c-43b7-4be3-8482-fbc8db65b4a5","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3"},"wiki_readme":{"content":"No readme file","gmt_create":"2026-05-28T19:59:33.45226+08:00","gmt_modified":"2026-05-28T19:59:33.45226+08:00","id":"303605c8-f07d-493a-abc6-88ab3b33af81","repo_id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3"},"wiki_repo":{"id":"7d5f7e03-5ad9-4b60-a98a-c30d82399ae3","name":"Netcatty","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── .github/\\n│ ├── scripts/\\n│ └── workflows/\\n├── application/\\n│ ├── app/\\n│ │ ├── AppHandlers.ts\\n│ │ ├── AppMounts.tsx\\n│ │ ├── AppView.tsx\\n│ │ └── useAppStartupEffects.ts\\n│ ├── i18n/\\n│ │ ├── locales/\\n│ │ │ ├── en/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── ru/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── zh-CN/\\n│ │ │ │ ├── ai.ts\\n│ │ │ │ ├── core.ts\\n│ │ │ │ ├── terminal.ts\\n│ │ │ │ └── vault.ts\\n│ │ │ ├── en.ts\\n│ │ │ ├── ru.ts\\n│ │ │ ├── types.ts\\n│ │ │ └── zh-CN.ts\\n│ │ ├── I18nProvider.tsx\\n│ │ └── messages.ts\\n│ ├── state/\\n│ │ ├── sftp/\\n│ │ │ ├── bookmarkHelpers.ts\\n│ │ │ ├── errors.ts\\n│ │ │ ├── globalSftpBookmarks.ts\\n│ │ │ ├── mockLocalFiles.ts\\n│ │ │ ├── sharedRemoteHostCache.ts\\n│ │ │ ├── transferConflictOps.ts\\n│ │ │ ├── transferDirectoryOps.ts\\n│ │ │ ├── transferTaskOps.ts\\n│ │ │ ├── types.ts\\n│ │ │ ├── uploadTaskCallbacks.ts\\n│ │ │ ├── useSftpConnections.ts\\n│ │ │ ├── useSftpDirectoryListing.ts\\n│ │ │ ├── useSftpExternalOperations.ts\\n│ │ │ ├── useSftpExternalOperations.types.ts\\n│ │ │ ├── useSftpFileWatch.ts\\n│ │ │ ├── useSftpHostCredentials.test.ts\\n│ │ │ ├── useSftpHostCredentials.ts\\n│ │ │ ├── useSftpPaneActions.ts\\n│ │ │ ├── useSftpSessionCleanup.ts\\n│ │ │ ├── useSftpSessionErrors.ts\\n│ │ │ ├── useSftpTabsState.ts\\n│ │ │ ├── useSftpTransfers.ts\\n│ │ │ ├── useSftpTransfers.types.ts\\n│ │ │ ├── utils.test.ts\\n│ │ │ └── utils.ts\\n│ │ ├── activeTabStore.ts\\n│ │ ├── aiDraftState.test.ts\\n│ │ ├── aiDraftState.ts\\n│ │ ├── aiProviderCleanup.ts\\n│ │ ├── aiScopeCleanup.test.ts\\n│ │ ├── aiScopeCleanup.ts\\n│ │ ├── aiStateEvents.ts\\n│ │ ├── aiStateSnapshots.ts\\n│ │ ├── autoSyncRemoteSchedule.test.ts\\n│ │ ├── autoSyncRemoteSchedule.ts\\n│ │ ├── customThemeStore.ts\\n│ │ ├── defaultKeyPassphrases.test.ts\\n│ │ ├── editorSftpBridge.ts\\n│ │ ├── editorTabSave.test.ts\\n│ │ ├── editorTabSave.ts\\n│ │ ├── editorTabStore.test.ts\\n│ │ ├── editorTabStore.ts\\n│ │ ├── fontStore.ts\\n│ │ ├── logViewState.ts\\n│ │ ├── resolveCloseIntent.test.ts\\n│ │ ├── resolveCloseIntent.ts\\n│ │ ├── resolveSidePanelToggleIntent.test.ts\\n│ │ ├── resolveSidePanelToggleIntent.ts\\n│ │ ├── resolveSnippetsShortcutIntent.test.ts\\n│ │ ├── resolveSnippetsShortcutIntent.ts\\n│ │ ├── resolveTerminalSessionExitIntent.test.ts\\n│ │ ├── resolveTerminalSessionExitIntent.ts\\n│ │ ├── sessionActivity.ts\\n│ │ ├── sessionActivityStore.ts\\n│ │ ├── sessionFactories.ts\\n│ │ ├── settingsIpcSync.ts\\n│ │ ├── settingsStateDefaults.ts\\n│ │ ├── settingsStorageSync.ts\\n│ │ ├── settingsTerminalTheme.ts\\n│ │ ├── systemSettingsEffects.ts\\n│ │ ├── textEditorSaveCoordinator.test.ts\\n│ │ ├── textEditorSaveCoordinator.ts\\n│ │ ├── uiFontStore.ts\\n│ │ ├── uploadService.test.ts\\n│ │ ├── useAIState.ts\\n│ │ ├── useAgentDiscovery.ts\\n│ │ ├── useApplicationBackend.ts\\n│ │ ├── useAutoSync.ts\\n│ │ ├── useClipboardBackend.ts\\n│ │ ├── useCloudSync.ts\\n│ │ ├── useFileUpload.ts\\n│ │ ├── useGlobalHotkeys.ts\\n│ │ ├── useImmersiveMode.ts\\n│ │ ├── useKeychainBackend.ts\\n│ │ ├── useKnownHostsBackend.ts\\n│ │ ├── useLocalVaultBackups.ts\\n│ │ ├── useManagedSourceSync.ts\\n│ │ ├── usePortForwardingAutoStart.test.ts\\n│ │ ├── usePortForwardingAutoStart.ts\\n│ │ ├── usePortForwardingState.ts\\n│ │ ├── useSessionState.ts\\n│ │ ├── useSettingsState.ts\\n│ │ ├── useSftpBackend.ts\\n│ │ ├── useSftpFileAssociations.ts\\n│ │ ├── useSftpState.ts\\n│ │ ├── useStoredBoolean.ts\\n│ │ ├── useStoredNumber.ts\\n│ │ ├── useStoredString.ts\\n│ │ ├── useStoredViewMode.ts\\n│ │ ├── useTerminalBackend.ts\\n│ │ ├── useTrayPanelBackend.ts\\n│ │ ├── useTreeExpandedState.ts\\n│ │ ├── useUpdateCheck.ts\\n│ │ ├── useVaultState.ts\\n│ │ ├── useWindowControls.ts\\n│ │ └── windowInputFocus.ts\\n│ ├── defaultKeyPassphrases.ts\\n│ ├── localVaultBackups.ts\\n│ ├── notification.ts\\n│ ├── syncPayload.test.ts\\n│ └── syncPayload.ts\\n├── build/\\n├── components/\\n│ ├── ai/\\n│ │ ├── hooks/\\n│ │ │ ├── aiChatStreamingSupport.ts\\n│ │ │ ├── useAIChatStreaming.ts\\n│ │ │ └── useConversationExport.ts\\n│ │ ├── AgentIconBadge.tsx\\n│ │ ├── AgentSelector.tsx\\n│ │ ├── ChatInput.tsx\\n│ │ ├── ChatMessageList.tsx\\n│ │ ├── ConversationExport.tsx\\n│ │ ├── ThinkingBlock.tsx\\n│ │ ├── acpHistory.test.ts\\n│ │ ├── acpHistory.ts\\n│ │ ├── agentSendEligibility.test.ts\\n│ │ ├── agentSendEligibility.ts\\n│ │ ├── aiPanelViewState.test.ts\\n│ │ ├── aiPanelViewState.ts\\n│ │ ├── claudeConfigEnv.test.ts\\n│ │ ├── draftSendGate.test.ts\\n│ │ ├── draftSendGate.ts\\n│ │ ├── managedAgentState.test.ts\\n│ │ ├── sessionHistoryLayout.test.ts\\n│ │ ├── sessionHistoryLayout.ts\\n│ │ ├── sessionScopeMatch.test.ts\\n│ │ ├── sessionScopeMatch.ts\\n│ │ ├── streamdownCodeHighlighter.test.ts\\n│ │ ├── userSkillsState.test.ts\\n│ │ └── userSkillsState.ts\\n│ ├── ai-elements/\\n│ │ ├── conversation.tsx\\n│ │ ├── message.tsx\\n│ │ ├── prompt-input.tsx\\n│ │ ├── streamdownCodeHighlighter.ts\\n│ │ └── tool-call.tsx\\n│ ├── cloud-sync/\\n│ │ ├── CloudSyncControls.tsx\\n│ │ ├── CloudSyncDashboardTabs.tsx\\n│ │ ├── CloudSyncDialogs.tsx\\n│ │ └── CloudSyncLocalBackupsPanel.tsx\\n│ ├── editor/\\n│ │ ├── TextEditorPane.test.tsx\\n│ │ ├── TextEditorPane.tsx\\n│ │ ├── TextEditorTabView.tsx\\n│ │ └── UnsavedChangesDialog.tsx\\n│ ├── host-details/\\n│ │ ├── AlgorithmOverridesPanel.tsx\\n│ │ ├── ChainPanel.tsx\\n│ │ ├── CreateGroupPanel.tsx\\n│ │ ├── EnvVarsPanel.tsx\\n│ │ ├── ProxyPanel.tsx\\n│ │ └── index.ts\\n│ ├── keychain/\\n│ │ ├── GenerateStandardPanel.tsx\\n│ │ ├── IdentityCard.tsx\\n│ │ ├── IdentityPanel.tsx\\n│ │ ├── ImportKeyPanel.tsx\\n│ │ ├── KeyCard.tsx\\n│ │ ├── ViewKeyPanel.tsx\\n│ │ ├── index.ts\\n│ │ └── utils.ts\\n│ ├── port-forwarding/\\n│ │ ├── EditPanel.tsx\\n│ │ ├── NewFormPanel.tsx\\n│ │ ├── RuleCard.tsx\\n│ │ ├── WizardContent.tsx\\n│ │ ├── index.ts\\n│ │ └── utils.tsx\\n│ ├── settings/\\n│ │ ├── tabs/\\n│ │ │ ├── ai/\\n│ │ │ │ ├── AddProviderDropdown.tsx\\n│ │ │ │ ├── ClaudeCodeCard.tsx\\n│ │ │ │ ├── CodexConnectionCard.tsx\\n│ │ │ │ ├── CopilotCliCard.tsx\\n│ │ │ │ ├── ModelSelector.tsx\\n│ │ │ │ ├── ProviderCard.tsx\\n│ │ │ │ ├── ProviderConfigForm.tsx\\n│ │ │ │ ├── ProviderIconBadge.tsx\\n│ │ │ │ ├── SafetySettings.tsx\\n│ │ │ │ ├── WebSearchSettings.tsx\\n│ │ │ │ ├── claudeConfigEnv.ts\\n│ │ │ │ ├── managedAgentState.ts\\n│ │ │ │ └── types.ts\\n│ │ │ ├── SettingsAITab.tsx\\n│ │ │ ├── SettingsAppearanceTab.tsx\\n│ │ │ ├── SettingsFileAssociationsTab.tsx\\n│ │ │ ├── SettingsShortcutsTab.tsx\\n│ │ │ ├── SettingsSyncTab.tsx\\n│ │ │ ├── SettingsSystemTab.tsx\\n│ │ │ ├── SettingsTerminalTab.tsx\\n│ │ │ ├── SettingsTerminalTabControls.tsx\\n│ │ │ └── TerminalBehaviorSettings.tsx\\n│ │ ├── FontSelect.tsx\\n│ │ ├── TerminalCjkFontSelect.tsx\\n│ │ ├── TerminalFontSelect.tsx\\n│ │ ├── ThemeSelectModal.tsx\\n│ │ └── settings-ui.tsx\\n│ ├── sftp/\\n│ │ ├── hooks/\\n│ │ │ ├── selectionScope.ts\\n│ │ │ ├── useGlobalSftpBookmarks.ts\\n│ │ │ ├── useLocalSftpBookmarks.ts\\n│ │ │ ├── useSftpBookmarks.ts\\n│ │ │ ├── useSftpClipboard.ts\\n│ │ │ ├── useSftpDialogAction.ts\\n│ │ │ ├── useSftpFocusedPane.ts\\n│ │ │ ├── useSftpHostViewMode.ts\\n│ │ │ ├── useSftpKeyboardShortcuts.ts\\n│ │ │ ├── useSftpListOrderStore.ts\\n│ │ │ ├── useSftpPaneDialogs.ts\\n│ │ │ ├── useSftpPaneDragAndSelect.ts\\n│ │ │ ├── useSftpPaneFiles.ts\\n│ │ │ ├── useSftpPanePath.ts\\n│ │ │ ├── useSftpPaneSorting.ts\\n│ │ │ ├── useSftpPaneVirtualList.ts\\n│ │ │ ├── useSftpTreeSelectionStore.ts\\n│ │ │ ├── useSftpViewFileOps.ts\\n│ │ │ ├── useSftpViewFileOps.types.ts\\n│ │ │ ├── useSftpViewPaneActions.ts\\n│ │ │ ├── useSftpViewPaneCallbacks.ts\\n│ │ │ └── useSftpViewTabs.ts\\n│ │ ├── SftpBreadcrumb.tsx\\n│ │ ├── SftpConflictDialog.tsx\\n│ │ ├── SftpContext.tsx\\n│ │ ├── SftpFileRow.tsx\\n│ │ ├── SftpHostPicker.tsx\\n│ │ ├── SftpMoveToDialog.tsx\\n│ │ ├── SftpOverlays.tsx\\n│ │ ├── SftpPaneDialogs.tsx\\n│ │ ├── SftpPaneEmptyState.tsx\\n│ │ ├── SftpPaneFileList.tsx\\n│ │ ├── SftpPaneToolbar.tsx\\n│ │ ├── SftpPaneTreeNode.tsx\\n│ │ ├── SftpPaneTreeView.tsx\\n│ │ ├── SftpPaneTreeView.types.ts\\n│ │ ├── SftpPaneView.tsx\\n│ │ ├── SftpPermissionsDialog.tsx\\n│ │ ├── SftpTabBar.tsx\\n│ │ ├── SftpTransferItem.tsx\\n│ │ ├── SftpTransferQueue.tsx\\n│ │ ├── index.ts\\n│ │ ├── sftpTreePathsReducer.ts\\n│ │ ├── sftpUploadMenu.ts\\n│ │ ├── useSftpPaneTreeContextMenu.tsx\\n│ │ ├── useSftpPaneTreeRows.tsx\\n│ │ └── utils.ts\\n│ ├── sync/\\n│ │ └── SyncBlockedBanner.tsx\\n│ ├── terminal/\\n│ │ ├── autocomplete/\\n│ │ │ ├── AutocompletePopup.tsx\\n│ │ │ ├── GhostTextAddon.ts\\n│ │ │ ├── commandHistoryStore.ts\\n│ │ │ ├── completionEngine.ts\\n│ │ │ ├── figSpecLoader.ts\\n│ │ │ ├── ghostSuggestionPolicy.ts\\n│ │ │ ├── ghostTextConsistency.ts\\n│ │ │ ├── index.ts\\n│ │ │ ├── livePreviewSequence.ts\\n│ │ │ ├── promptDetector.ts\\n│ │ │ ├── promptDetectorPatterns.ts\\n│ │ │ ├── remotePathCompleter.ts\\n│ │ │ ├── snippetCompleter.ts\\n│ │ │ ├── terminalAutocompleteInput.ts\\n│ │ │ ├── terminalAutocompleteKeyEvent.ts\\n│ │ │ ├── terminalAutocompleteLayout.ts\\n│ │ │ ├── terminalAutocompletePrompt.ts\\n│ │ │ ├── useTerminalAutocomplete.ts\\n│ │ │ └── xtermUtils.ts\\n│ │ ├── hooks/\\n│ │ │ ├── useServerStats.ts\\n│ │ │ ├── useTerminalAuthState.ts\\n│ │ │ ├── useTerminalContextActions.ts\\n│ │ │ ├── useTerminalDragDrop.ts\\n│ │ │ ├── useTerminalSearch.ts\\n│ │ │ └── useZmodemTransfer.ts\\n│ │ ├── runtime/\\n│ │ │ ├── altKeyOptions.test.ts\\n│ │ │ ├── altKeyOptions.ts\\n│ │ │ ├── createTerminalSessionStarters.mosh.test.ts\\n│ │ │ ├── createTerminalSessionStarters.telnet.test.ts\\n│ │ │ ├── createTerminalSessionStarters.test.ts\\n│ │ │ ├── createTerminalSessionStarters.ts\\n│ │ │ ├── createTerminalSessionStarters.types.ts\\n│ │ │ ├── createXTermRuntime.test.ts\\n│ │ │ ├── createXTermRuntime.ts\\n│ │ │ ├── cursorPreference.test.ts\\n│ │ │ ├── cursorPreference.ts\\n│ │ │ ├── kittyKeyboardProtocol.test.ts\\n│ │ │ ├── kittyKeyboardProtocol.ts\\n│ │ │ ├── kittyKeyboardRuntime.ts\\n│ │ │ ├── optionArrowWordJump.test.ts\\n│ │ │ ├── optionArrowWordJump.ts\\n│ │ │ ├── outputFlowController.test.ts\\n│ │ │ ├── outputFlowController.ts\\n│ │ │ ├── promptLineBreak.test.ts\\n│ │ │ ├── promptLineBreak.ts\\n│ │ │ ├── rendererDprWatch.test.ts\\n│ │ │ ├── rendererDprWatch.ts\\n│ │ │ ├── serialLineInput.test.ts\\n│ │ │ ├── serialLineInput.ts\\n│ │ │ ├── terminalCommandExecution.ts\\n│ │ │ ├── terminalDistroDetection.ts\\n│ │ │ ├── terminalSessionAttachment.ts\\n│ │ │ ├── terminalStartupCommands.ts\\n│ │ │ ├── terminalUserPaste.test.ts\\n│ │ │ └── terminalUserPaste.ts\\n│ │ ├── CustomThemeEditor.tsx\\n│ │ ├── CustomThemeModal.tsx\\n│ │ ├── GhostSuggestionPolicy.test.ts\\n│ │ ├── GhostTextAddon.test.ts\\n│ │ ├── HostKeywordHighlightPopover.tsx\\n│ │ ├── PromptDetector.fallback.test.ts\\n│ │ ├── PromptDetector.test.ts\\n│ │ ├── TerminalAuthDialog.tsx\\n│ │ ├── TerminalAutocomplete.tsx\\n│ │ ├── TerminalComposeBar.tsx\\n│ │ ├── TerminalConnectionDialog.test.ts\\n│ │ ├── TerminalConnectionDialog.tsx\\n│ │ ├── TerminalConnectionProgress.tsx\\n│ │ ├── TerminalContextMenu.test.ts\\n│ │ ├── TerminalContextMenu.tsx\\n│ │ ├── TerminalHostKeyVerification.tsx\\n│ │ ├── TerminalSearchBar.tsx\\n│ │ ├── TerminalToolbar.test.ts\\n│ │ ├── TerminalToolbar.tsx\\n│ │ ├── TerminalView.tsx\\n│ │ ├── ThemeCustomizeModal.tsx\\n│ │ ├── ThemeSidePanel.tsx\\n│ │ ├── ZmodemOverwriteDialog.tsx\\n│ │ ├── ZmodemProgressIndicator.tsx\\n│ │ ├── clearTerminalViewport.ts\\n│ │ ├── completionEngine.test.ts\\n│ │ ├── completionEngineSnippets.test.ts\\n│ │ ├── completionGate.test.ts\\n│ │ ├── connectionLogBuffer.test.ts\\n│ │ ├── connectionLogBuffer.ts\\n│ │ ├── focusTerminalSession.test.ts\\n│ │ ├── focusTerminalSession.ts\\n│ │ ├── ghostTextConsistency.test.ts\\n│ │ ├── hostKeyVerification.test.ts\\n│ │ ├── hostKeyVerification.ts\\n│ │ ├── keywordHighlight.ts\\n│ │ ├── livePreviewSequence.test.ts\\n│ │ ├── replaySafeTerminalLog.test.ts\\n│ │ ├── replaySafeTerminalLog.ts\\n│ │ ├── sftpCwd.test.ts\\n│ │ ├── sftpCwd.ts\\n│ │ ├── snippetCompleter.test.ts\\n│ │ ├── terminalHelpers.ts\\n│ │ ├── toolbarFocus.test.ts\\n│ │ ├── toolbarFocus.ts\\n│ │ ├── useTerminalContextActions.test.ts\\n│ │ └── useTerminalEffects.ts\\n│ ├── terminalLayer/\\n│ │ ├── TerminalLayerSupport.tsx\\n│ │ ├── TerminalLayerView.tsx\\n│ │ ├── useTerminalAiContexts.ts\\n│ │ ├── useTerminalFocusSidebar.tsx\\n│ │ ├── useTerminalLayerEffects.ts\\n│ │ ├── useTerminalThemePanelState.ts\\n│ │ └── useTerminalWorkspaceLayout.ts\\n│ ├── top-tabs/\\n│ │ └── TopTabItems.tsx\\n│ ├── ui/\\n│ │ ├── aside-panel.tsx\\n│ │ ├── badge.tsx\\n│ │ ├── button.tsx\\n│ │ ├── card.tsx\\n│ │ ├── collapsible.tsx\\n│ │ ├── combobox.tsx\\n│ │ ├── context-menu.tsx\\n│ │ ├── dialog.tsx\\n│ │ ├── dropdown.tsx\\n│ │ ├── hover-card.tsx\\n│ │ ├── input-group.tsx\\n│ │ ├── input.tsx\\n│ │ ├── label.tsx\\n│ │ ├── popover.tsx\\n│ │ ├── ripple.tsx\\n│ │ ├── scroll-area.tsx\\n│ │ ├── select.tsx\\n│ │ ├── sort-dropdown.tsx\\n│ │ ├── spinner.tsx\\n│ │ ├── switch.tsx\\n│ │ ├── tabs.tsx\\n│ │ ├── tag-filter-dropdown.tsx\\n│ │ ├── textarea.tsx\\n│ │ ├── toast.tsx\\n│ │ └── tooltip.tsx\\n│ ├── vault/\\n│ │ ├── ImportVaultDialog.tsx\\n│ │ ├── VaultHostListSection.tsx\\n│ │ ├── VaultViewLayout.tsx\\n│ │ ├── useVaultGroupDragHandlers.ts\\n│ │ ├── useVaultHostCollections.tsx\\n│ │ └── useVaultImportHandlers.ts\\n│ ├── workspace/\\n│ │ └── AddToWorkspaceDialog.tsx\\n│ ├── AIChatPanelContent.tsx\\n│ ├── AIChatSessionHistoryDrawer.tsx\\n│ ├── AIChatSidePanel.tsx\\n│ ├── AIChatSidePanel.types.ts\\n│ ├── AIChatSidePanelHelpers.ts\\n│ ├── AppLogo.tsx\\n│ ├── CloudSyncSettings.tsx\\n│ ├── ConnectionLogsManager.tsx\\n│ ├── CreateWorkspaceDialog.tsx\\n│ ├── DistroAvatar.tsx\\n│ ├── FileOpenerDialog.tsx\\n│ ├── GroupDetailsPanel.tsx\\n│ ├── GroupSshSettingsSection.tsx\\n│ ├── HostDetailsAdvancedSections.tsx\\n│ ├── HostDetailsConnectionSections.tsx\\n│ ├── HostDetailsPanel.helpers.ts\\n│ ├── HostDetailsPanel.proxyProfile.test.tsx\\n│ ├── HostDetailsPanel.tsx\\n│ ├── HostTreeView.test.tsx\\n│ ├── HostTreeView.tsx\\n│ ├── KeyboardInteractiveModal.tsx\\n│ ├── KeychainEditPanel.tsx\\n│ ├── KeychainExportPanel.tsx\\n│ ├── KeychainManager.tsx\\n│ ├── KnownHostsManager.tsx\\n│ ├── LogView.tsx\\n│ ├── PassphraseModal.tsx\\n│ ├── PortForwardingNew.tsx\\n│ ├── ProtocolSelectDialog.tsx\\n│ ├── ProxyPanel.test.tsx\\n│ ├── ProxyProfilesManager.test.tsx\\n│ ├── ProxyProfilesManager.tsx\\n│ ├── QuickAddSnippetDialog.tsx\\n│ ├── QuickConnectWizard.tsx\\n│ ├── QuickSwitcher.tsx\\n│ ├── ScriptsSidePanel.tsx\\n│ ├── SelectHostPanel.tsx\\n│ ├── SerialConnectModal.tsx\\n│ ├── SerialHostDetailsPanel.tsx\\n│ ├── SettingsApplicationTab.tsx\\n│ ├── SettingsPage.tsx\\n│ ├── SftpPaneFileList.test.tsx\\n│ ├── SftpSidePanel.tsx\\n│ ├── SftpTransferItem.test.tsx\\n│ ├── SftpView.tsx\\n│ ├── SnippetsHistoryItem.tsx\\n│ ├── SnippetsManager.tsx\\n│ ├── SnippetsPackageDialogs.tsx\\n│ ├── SnippetsRightPanel.tsx\\n│ ├── SyncStatusButton.tsx\\n│ ├── Terminal.tsx\\n│ ├── TerminalLayer.memo.test.tsx\\n│ ├── TerminalLayer.tsx\\n│ ├── TextEditorModal.test.tsx\\n│ ├── TextEditorModal.tsx\\n│ ├── ThemeList.tsx\\n│ ├── ThemeSelectPanel.tsx\\n│ ├── TopTabs.tsx\\n│ ├── TrafficDiagram.tsx\\n│ ├── TrayPanel.tsx\\n│ ├── VaultView.memo.test.tsx\\n│ ├── VaultView.sortPersistence.test.tsx\\n│ ├── VaultView.tsx\\n│ ├── terminalLayerMemo.ts\\n│ ├── terminalPaneVisibility.test.tsx\\n│ ├── terminalPaneVisibility.ts\\n│ ├── terminalTopTabsTheme.test.ts\\n│ └── terminalTopTabsTheme.ts\\n├── domain/\\n│ ├── models/\\n│ │ ├── connection.ts\\n│ │ ├── history.ts\\n│ │ ├── keyBindings.ts\\n│ │ ├── portForwarding.ts\\n│ │ ├── sftp.ts\\n│ │ ├── terminal.ts\\n│ │ └── workspace.ts\\n│ ├── vaultImport/\\n│ │ ├── csvExport.ts\\n│ │ └── csvUtils.ts\\n│ ├── connectionLog.test.ts\\n│ ├── connectionLog.ts\\n│ ├── credentials.ts\\n│ ├── customKeyBindings.test.ts\\n│ ├── customKeyBindings.ts\\n│ ├── groupConfig.test.ts\\n│ ├── groupConfig.ts\\n│ ├── host.test.ts\\n│ ├── host.ts\\n│ ├── keywordHighlight.test.ts\\n│ ├── knownHosts.test.ts\\n│ ├── knownHosts.ts\\n│ ├── models.test.ts\\n│ ├── models.ts\\n│ ├── proxyProfiles.test.ts\\n│ ├── proxyProfiles.ts\\n│ ├── quickConnect.ts\\n│ ├── sshAlgorithmList.test.ts\\n│ ├── sshAlgorithmList.ts\\n│ ├── sshAuth.test.ts\\n│ ├── sshAuth.ts\\n│ ├── sshConfigSerializer.test.ts\\n│ ├── sshConfigSerializer.ts\\n│ ├── sync.ts\\n│ ├── syncGuards.test.ts\\n│ ├── syncGuards.ts\\n│ ├── syncMerge.test.ts\\n│ ├── syncMerge.ts\\n│ ├── terminalAppearance.test.ts\\n│ ├── terminalAppearance.ts\\n│ ├── terminalScroll.ts\\n│ ├── terminalSettings.test.ts\\n│ ├── vaultImport.test.ts\\n│ ├── vaultImport.ts\\n│ ├── workspace.test.ts\\n│ └── workspace.ts\\n├── electron/\\n│ ├── bridges/\\n│ │ ├── ai/\\n│ │ │ ├── acpModels.cjs\\n│ │ │ ├── acpModels.test.cjs\\n│ │ │ ├── claudeAuth.cjs\\n│ │ │ ├── claudeAuth.test.cjs\\n│ │ │ ├── codexHelpers.cjs\\n│ │ │ ├── codexHelpers.test.cjs\\n│ │ │ ├── ptyExec.cjs\\n│ │ │ ├── ptyExec.test.cjs\\n│ │ │ ├── ptyExecHelpers.cjs\\n│ │ │ ├── shellUtils.cjs\\n│ │ │ ├── shellUtils.test.cjs\\n│ │ │ ├── userSkills.cjs\\n│ │ │ └── userSkills.test.cjs\\n│ │ ├── aiBridge/\\n│ │ │ ├── acpHandlers.cjs\\n│ │ │ ├── agentCliHelpers.cjs\\n│ │ │ ├── agentDiscoveryHandlers.cjs\\n│ │ │ ├── agentProcessHandlers.cjs\\n│ │ │ ├── cattyExecHandlers.cjs\\n│ │ │ └── providerHandlers.cjs\\n│ │ ├── mcpServerBridge/\\n│ │ │ ├── backgroundJobs.cjs\\n│ │ │ ├── configAndCleanup.cjs\\n│ │ │ ├── execHandlers.cjs\\n│ │ │ └── sftpHandlers.cjs\\n│ │ ├── sftpBridge/\\n│ │ │ ├── fileOps.cjs\\n│ │ │ └── openConnection.cjs\\n│ │ ├── sshBridge/\\n│ │ │ ├── execCommand.cjs\\n│ │ │ ├── sessionOps.cjs\\n│ │ │ └── startSession.cjs\\n│ │ ├── terminalBridge/\\n│ │ │ ├── moshSession.cjs\\n│ │ │ ├── pathValidation.cjs\\n│ │ │ └── telnetSession.cjs\\n│ │ ├── windowManager/\\n│ │ │ ├── backgroundColor.cjs\\n│ │ │ ├── externalWindows.cjs\\n│ │ │ ├── mainWindow.cjs\\n│ │ │ └── settingsWindow.cjs\\n│ │ ├── aiBridge.acpRecovery.test.cjs\\n│ │ ├── aiBridge.acpStream.test.cjs\\n│ │ ├── aiBridge.cjs\\n│ │ ├── aiBridge.test.cjs\\n│ │ ├── autoUpdateBridge.cjs\\n│ │ ├── boringSslDhCompat.cjs\\n│ │ ├── boringSslDhCompat.test.cjs\\n│ │ ├── cloudSyncBridge.cjs\\n│ │ ├── cloudSyncBridge.s3Checksum.test.cjs\\n│ │ ├── cloudSyncBridge.webdavBasicAuth.test.cjs\\n│ │ ├── compressUploadBridge.cjs\\n│ │ ├── crashLogBridge.cjs\\n│ │ ├── credentialBridge.cjs\\n│ │ ├── fileWatcherBridge.cjs\\n│ │ ├── githubAuthBridge.cjs\\n│ │ ├── globalShortcutBridge.cjs\\n│ │ ├── globalShortcutBridge.test.cjs\\n│ │ ├── googleAuthBridge.cjs\\n│ │ ├── hostKeyVerifier.cjs\\n│ │ ├── hostKeyVerifier.test.cjs\\n│ │ ├── ipcUtils.cjs\\n│ │ ├── keyboardInteractiveHandler.cjs\\n│ │ ├── localFsBridge.cjs\\n│ │ ├── localFsBridge.test.cjs\\n│ │ ├── mainProcessErrorGuards.test.cjs\\n│ │ ├── mcpServerBridge.cjs\\n│ │ ├── moshHandshake.cjs\\n│ │ ├── moshHandshake.test.cjs\\n│ │ ├── netcattyAgent.cjs\\n│ │ ├── oauthBridge.cjs\\n│ │ ├── oauthBridge.test.cjs\\n│ │ ├── onedriveAuthBridge.cjs\\n│ │ ├── passphraseHandler.cjs\\n│ │ ├── portForwardingBridge.cancel.test.cjs\\n│ │ ├── portForwardingBridge.cjs\\n│ │ ├── processErrorGuards.cjs\\n│ │ ├── proxyUtils.cjs\\n│ │ ├── ptyOutputBuffer.cjs\\n│ │ ├── ptyOutputBuffer.test.cjs\\n│ │ ├── ptyProcessTree.cjs\\n│ │ ├── ptyProcessTree.test.cjs\\n│ │ ├── sessionLogStreamManager.cjs\\n│ │ ├── sessionLogStreamManager.test.cjs\\n│ │ ├── sessionLogsBridge.cjs\\n│ │ ├── sessionLogsBridge.test.cjs\\n│ │ ├── sftpBridge.cjs\\n│ │ ├── sftpBridge.cleanup.test.cjs\\n│ │ ├── shellDiscovery.cjs\\n│ │ ├── sshAlgorithms.cjs\\n│ │ ├── sshAlgorithms.test.cjs\\n│ │ ├── sshAuthHelper.cjs\\n│ │ ├── sshAuthHelper.identityFile.test.cjs\\n│ │ ├── sshAuthHelper.kbdInteractive.test.cjs\\n│ │ ├── sshBridge.cjs\\n│ │ ├── sshBridge.execCommandPassphrase.test.cjs\\n│ │ ├── sshBridgeDebug.test.cjs\\n│ │ ├── sshIdentificationCompatibility.test.cjs\\n│ │ ├── tcpNoDelay.cjs\\n│ │ ├── telnetAutoLogin.cjs\\n│ │ ├── telnetAutoLogin.test.cjs\\n│ │ ├── telnetProtocol.cjs\\n│ │ ├── telnetProtocol.test.cjs\\n│ │ ├── tempDirBridge.cjs\\n│ │ ├── terminalBridge.bareMoshClient.test.cjs\\n│ │ ├── terminalBridge.bundledMosh.test.cjs\\n│ │ ├── terminalBridge.cjs\\n│ │ ├── terminalBridge.moshHandshakeSession.test.cjs\\n│ │ ├── terminalBridge.telnetAutoLogin.test.cjs\\n│ │ ├── terminalLogSanitizer.cjs\\n│ │ ├── terminalLogSanitizer.test.cjs\\n│ │ ├── transferBridge.cjs\\n│ │ ├── vaultBackupBridge.cjs\\n│ │ ├── vaultBackupBridge.test.cjs\\n│ │ ├── windowManager.cjs\\n│ │ ├── windowManagerReadiness.test.cjs\\n│ │ ├── x11Forwarding.cjs\\n│ │ ├── x11Forwarding.test.cjs\\n│ │ ├── zmodemHelper.cjs\\n│ │ └── zmodemHelper.test.cjs\\n│ ├── cli/\\n│ │ ├── discoveryPath.cjs\\n│ │ ├── netcatty-tool-cli.cjs\\n│ │ ├── netcatty-tool-cli.cmd\\n│ │ └── netcattyRpcClient.cjs\\n│ ├── main/\\n│ │ └── registerBridges.cjs\\n│ ├── mcp/\\n│ │ └── netcatty-mcp-server.cjs\\n│ ├── preload/\\n│ │ └── api.cjs\\n│ ├── specs/\\n│ │ ├── awk.js\\n│ │ ├── journalctl.js\\n│ │ └── yum.js\\n│ ├── .dev-config.json\\n│ ├── entitlements.mac.plist\\n│ ├── launch.cjs\\n│ ├── main.cjs\\n│ └── preload.cjs\\n├── infrastructure/\\n│ ├── ai/\\n│ │ ├── cattyAgent/\\n│ │ │ ├── executor.ts\\n│ │ │ ├── safety.ts\\n│ │ │ └── systemPrompt.ts\\n│ │ ├── sdk/\\n│ │ │ ├── providers.ts\\n│ │ │ └── tools.ts\\n│ │ ├── shared/\\n│ │ │ ├── approvalGate.ts\\n│ │ │ ├── sessionExecutionQueue.ts\\n│ │ │ ├── streamStateErrors.ts\\n│ │ │ ├── toolExecutors.ts\\n│ │ │ └── webSearchProviders.ts\\n│ │ ├── acpAgentAdapter.test.ts\\n│ │ ├── acpAgentAdapter.ts\\n│ │ ├── agentOutputParser.ts\\n│ │ ├── commandBlocklist.test.ts\\n│ │ ├── conversationExport.ts\\n│ │ ├── errorClassifier.test.ts\\n│ │ ├── errorClassifier.ts\\n│ │ ├── externalAgentAdapter.ts\\n│ │ ├── managedAgents.test.ts\\n│ │ ├── managedAgents.ts\\n│ │ ├── modelDiscoveryHeaders.test.ts\\n│ │ ├── modelDiscoveryHeaders.ts\\n│ │ ├── providerContinuation.test.ts\\n│ │ ├── providerContinuation.ts\\n│ │ ├── providerStyle.test.ts\\n│ │ ├── providersBridgeFetch.test.ts\\n│ │ ├── sdkProviders.test.ts\\n│ │ ├── sessionExecutionQueue.test.ts\\n│ │ ├── streamStateErrors.test.ts\\n│ │ └── types.ts\\n│ ├── config/\\n│ │ ├── terminalThemes/\\n│ │ │ ├── classic.ts\\n│ │ │ ├── core.ts\\n│ │ │ ├── extra.ts\\n│ │ │ ├── modern.ts\\n│ │ │ └── uiMatch.ts\\n│ │ ├── cjkFonts.test.ts\\n│ │ ├── cjkFonts.ts\\n│ │ ├── defaultData.ts\\n│ │ ├── fonts.test.ts\\n│ │ ├── fonts.ts\\n│ │ ├── i18n.ts\\n│ │ ├── storageKeys.ts\\n│ │ ├── terminalThemes.ts\\n│ │ ├── uiFonts.ts\\n│ │ ├── uiThemes.ts\\n│ │ └── xtermPerformance.ts\\n│ ├── parsers/\\n│ │ └── itermcolorsParser.ts\\n│ ├── persistence/\\n│ │ ├── localStorageAdapter.ts\\n│ │ └── secureFieldAdapter.ts\\n│ ├── services/\\n│ │ ├── adapters/\\n│ │ │ ├── GitHubAdapter.ts\\n│ │ │ ├── GoogleDriveAdapter.ts\\n│ │ │ ├── OneDriveAdapter.ts\\n│ │ │ ├── S3Adapter.ts\\n│ │ │ ├── WebDAVAdapter.ts\\n│ │ │ └── index.ts\\n│ │ ├── cloudSync/\\n│ │ │ ├── authMethods.ts\\n│ │ │ ├── providerSyncMethods.ts\\n│ │ │ ├── stateAndSecurityMethods.ts\\n│ │ │ └── syncAllStorageMethods.ts\\n│ │ ├── CloudSyncManager.ts\\n│ │ ├── EncryptionService.ts\\n│ │ ├── compressUploadService.ts\\n│ │ ├── credentialProtection.ts\\n│ │ ├── netcattyBridge.ts\\n│ │ ├── portForwardingService.ts\\n│ │ ├── syncAnchorDecision.js\\n│ │ ├── syncAnchorDecision.test.mjs\\n│ │ ├── syncSignature.js\\n│ │ ├── syncSignature.test.mjs\\n│ │ └── updateService.ts\\n│ └── syncHelpers.ts\\n├── lib/\\n│ ├── commandBlocklist.cjs\\n│ ├── commandBlocklist.json\\n│ ├── fontAvailability.test.ts\\n│ ├── fontAvailability.ts\\n│ ├── localFonts.test.ts\\n│ ├── localFonts.ts\\n│ ├── localShell.cjs\\n│ ├── localShell.test.ts\\n│ ├── localShell.ts\\n│ ├── localShellRules.json\\n│ ├── logger.ts\\n│ ├── sftpFileUtils.ts\\n│ ├── tabInteractions.test.ts\\n│ ├── tabInteractions.ts\\n│ ├── uploadCompressed.ts\\n│ ├── uploadController.ts\\n│ ├── uploadService.ts\\n│ ├── uploadService.types.ts\\n│ ├── useDiscoveredShells.ts\\n│ ├── useInstantThemeSwitch.ts\\n│ ├── useRenderTracker.ts\\n│ └── utils.ts\\n├── patches/\\n│ └── ssh2+1.17.0.patch\\n├── public/\\n│ ├── ai/\\n│ │ ├── agents/\\n│ │ ├── providers/\\n│ │ │ └── NOTICE.md\\n│ │ └── search/\\n│ ├── distro/\\n│ ├── fonts/\\n│ │ ├── SarasaMono-LICENSE.txt\\n│ │ └── SymbolsNerdFont-LICENSE.txt\\n│ ├── import/\\n│ └── shells/\\n├── resources/mosh/\\n│ └── README.md\\n├── screenshots/\\n│ └── gifs/\\n├── scripts/\\n│ ├── build-mosh/\\n│ │ ├── build-linux.sh\\n│ │ ├── build-macos.sh\\n│ │ └── fetch-windows.sh\\n│ ├── afterPackMacUuid.cjs\\n│ ├── afterPackMacUuid.test.cjs\\n│ ├── copy-monaco.cjs\\n│ ├── electron-builder-config.test.cjs\\n│ ├── ensure-node-pty-linux.sh\\n│ ├── fetch-mosh-binaries.cjs\\n│ ├── fetch-mosh-binaries.test.cjs\\n│ ├── generate-tray-ico.py\\n│ ├── mosh-extra-resources.cjs\\n│ ├── mosh-extra-resources.test.cjs\\n│ ├── patch-xterm-webgl-atlas.cjs\\n│ ├── resolve-mosh-bin-release.cjs\\n│ ├── resolve-mosh-bin-release.test.cjs\\n│ └── verify-linux-deb-artifact.sh\\n├── skills/netcatty-tool-cli/\\n│ ├── references/\\n│ │ ├── control-commands.md\\n│ │ ├── errors.md\\n│ │ ├── exec.md\\n│ │ ├── session-types.md\\n│ │ └── sftp.md\\n│ └── SKILL.md\\n├── types/global/\\n│ ├── netcatty-bridge-ai.d.ts\\n│ ├── netcatty-bridge-app.d.ts\\n│ ├── netcatty-bridge-files.d.ts\\n│ ├── netcatty-bridge-session.d.ts\\n│ ├── netcatty-bridge-sftp.d.ts\\n│ └── netcatty-bridge-sync.d.ts\\n├── .gitattributes\\n├── .gitignore\\n├── .npmrc\\n├── AGENTS.md\\n├── App.tsx\\n├── README.ja-JP.md\\n├── README.md\\n├── README.zh-CN.md\\n├── electron-builder.config.cjs\\n├── eslint.config.js\\n├── global.d.ts\\n├── index.css\\n├── index.html\\n├── index.tsx\\n├── metadata.json\\n├── package-lock.json\\n├── package.json\\n├── tsconfig.json\\n├── types.ts\\n└── vite.config.ts\\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":"f98502fc100b265de65d0bae2fb750542b5a9e4e","last_commit_update":"2026-06-01T18:15:52.575831+08:00","gmt_create":"2026-05-28T19:58:47.363933+08:00","gmt_modified":"2026-06-01T18:15:52.575831+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"codebuddy\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"1.4.0\"}"}} \ No newline at end of file