Windows MCP.Net:革命性的 .NET Windows 桌面自動化 MCP 服務器

📋 目錄

  • 項目概述

  • 核心技術架構

  • 功能特性詳解

  • 技術實現亮點

  • 安裝與配置

  • 實戰應用場景

  • 代碼示例與API詳解

  • 性能優化與最佳實踐

  • 未來發展規劃

  • 總結

項目概述

在人工智能快速發展的今天,AI 助手與操作系統的深度集成成為了一個重要趨勢。Windows MCP.Net 是一個基于 .NET 10 的革命性項目,它實現了 Model Context Protocol (MCP) 服務器,為 AI 助手提供了與 Windows 桌面環境進行深度交互的能力。

🎯 項目亮點

  • 🚀 基于最新 .NET 10 技術棧:充分利用 .NET 10 的性能優勢和新特性

  • 🔧 完整的桌面自動化解決方案:涵蓋鼠標、鍵盤、窗口管理等全方位操作

  • 🤖 AI 友好的 MCP 協議支持:無縫集成各種 AI 助手和客戶端

  • 📦 模塊化架構設計:高度可擴展的服務和工具組織結構

  • 🛡? 企業級穩定性:完善的異常處理和日志記錄機制

核心技術架構

🏗? 架構設計理念

Windows MCP.Net 采用了現代化的分層架構設計,確保了代碼的可維護性和可擴展性:

┌─────────────────────────────────────┐
│???????????MCP?Protocol?Layer????????│??←?AI?客戶端通信層
├─────────────────────────────────────┤
│??????????????Tools?Layer????????????│??←?功能工具層
├─────────────────────────────────────┤
│????????????Services?Layer???????????│??←?核心服務層
├─────────────────────────────────────┤
│???????????Interface?Layer???????????│??←?接口抽象層
├─────────────────────────────────────┤
│??????????Windows?API?Layer??????????│??←?系統API調用層
└─────────────────────────────────────┘

🔧 核心技術棧

  • .NET 10:最新的 .NET 運行時,提供卓越的性能和跨平臺支持

  • **Model Context Protocol (MCP)**:標準化的 AI 助手通信協議

  • Windows API:深度集成 Windows 系統 API,實現底層操作

  • Serilog:結構化日志記錄,支持多種輸出目標

  • HtmlAgilityPack:強大的 HTML 解析和網頁抓取能力

  • ReverseMarkdown:HTML 到 Markdown 的高效轉換

功能特性詳解

🖱? 鼠標操作系統

ClickTool - 精確的鼠標點擊控制:

[McpServerTool,?Description("Click?on?UI?elements?at?specific?coordinates")]
public?async?Task<string>?ClickAsync([Description("X?coordinate")]?int?x,[Description("Y?coordinate")]?int?y,[Description("Mouse?button:?\"left\",?\"right\",?or?\"middle\"")]?string?button?=?"left",[Description("Number?of?clicks?(1?for?single,?2?for?double,?3?for?triple)")]?int?clicks?=?1)
{_logger.LogInformation("Clicking?at?({X},{Y})?with?{Button}?button,?{Clicks}?clicks",?x,?y,?button,?clicks);return?await?_desktopService.ClickAsync(x,?y,?button,?clicks);
}

功能特點:

  • 支持左鍵、右鍵、中鍵點擊

  • 支持單擊、雙擊、三擊操作

  • 精確的坐標定位

  • 完整的操作日志記錄

?? 鍵盤輸入系統

TypeTool - 智能文本輸入:

public?async?Task<string>?TypeAsync(int?x,?int?y,?string?text,?bool?clear?=?false,?bool?pressEnter?=?false)
{//?點擊目標位置await?_desktopService.ClickAsync(x,?y);//?可選清空現有內容if?(clear){await?_desktopService.SendKeysAsync("^a");?//?Ctrl+A}//?輸入文本await?_desktopService.SendKeysAsync(text);//?可選按回車鍵if?(pressEnter){await?_desktopService.SendKeysAsync("{ENTER}");}return?"Text?input?completed?successfully";
}

🖼? 屏幕截圖與OCR

ScreenshotTool - 高質量屏幕捕獲:

[McpServerTool,?Description("Take?a?screenshot?and?save?it?to?the?temp?directory")]
public?async?Task<string>?TakeScreenshotAsync()
{var?tempPath?=?Path.GetTempPath();var?fileName?=?$"screenshot_{DateTime.Now:yyyyMMdd_HHmmss}.png";var?fullPath?=?Path.Combine(tempPath,?fileName);using?var?bitmap?=?new?Bitmap(Screen.PrimaryScreen.Bounds.Width,?Screen.PrimaryScreen.Bounds.Height);using?var?graphics?=?Graphics.FromImage(bitmap);graphics.CopyFromScreen(0,?0,?0,?0,?bitmap.Size);bitmap.Save(fullPath,?ImageFormat.Png);return?$"Screenshot?saved?to:?{fullPath}";
}

🔍 OCR 文字識別

FindTextOnScreenTool - 智能文字定位:

[McpServerTool,?Description("Find?specific?text?on?the?screen?using?OCR")]
public?async?Task<string>?FindTextAsync([Description("The?text?to?search?for?on?the?screen")]?string?text)
{var?result?=?await?_ocrService.FindTextOnScreenAsync(text);if?(result.Found){return?$"Text?'{text}'?found?at?coordinates:?({result.X},?{result.Y})";}else{return?$"Text?'{text}'?not?found?on?screen";}
}

🌐 Web 內容抓取

ScrapeTool - 智能網頁內容提取:

[McpServerTool,?Description("Fetch?and?convert?webpage?content?to?markdown?format")]
public?async?Task<string>?ScrapeAsync([Description("The?full?URL?including?protocol?(http/https)?to?scrape")]?string?url)
{try{var?html?=?await?_httpClient.GetStringAsync(url);var?doc?=?new?HtmlDocument();doc.LoadHtml(html);//?移除腳本和樣式標簽doc.DocumentNode.Descendants().Where(n?=>?n.Name?==?"script"?||?n.Name?==?"style").ToList().ForEach(n?=>?n.Remove());var?converter?=?new?Converter();var?markdown?=?converter.Convert(doc.DocumentNode.OuterHtml);return?markdown;}catch?(Exception?ex){return?$"Error?scraping?URL:?{ex.Message}";}
}

技術實現亮點

🎯 依賴注入與服務管理

項目采用了 .NET 的內置依賴注入容器,實現了松耦合的架構設計:

//?Program.cs?-?服務注冊
builder.Services.AddSingleton<IDesktopService,?DesktopService>().AddSingleton<IFileSystemService,?FileSystemService>().AddSingleton<IOcrService,?OcrService>().AddSingleton<ISystemControlService,?SystemControlService>().AddMcpServer().WithStdioServerTransport().WithToolsFromAssembly(Assembly.GetExecutingAssembly());

📝 結構化日志記錄

使用 Serilog 實現了企業級的日志記錄系統:

Log.Logger?=?new?LoggerConfiguration().MinimumLevel.Debug().MinimumLevel.Override("Microsoft",?LogEventLevel.Information).Enrich.FromLogContext().WriteTo.Console().WriteTo.File("logs/winmcplog-.txt",rollingInterval:?RollingInterval.Day,?retainedFileCountLimit:?31,outputTemplate:?"{Timestamp:yyyy-MM-dd?HH:mm:ss.fff?zzz}?[{Level:u3}]?{Message:lj}{NewLine}{Exception}").CreateLogger();

🔧 Windows API 集成

通過 P/Invoke 技術深度集成 Windows API:

//?DesktopService.cs?-?Windows?API?聲明
[DllImport("user32.dll")]
private?static?extern?bool?SetCursorPos(int?x,?int?y);[DllImport("user32.dll")]
private?static?extern?void?mouse_event(uint?dwFlags,?uint?dx,?uint?dy,?uint?dwData,?UIntPtr?dwExtraInfo);[DllImport("user32.dll")]
private?static?extern?bool?SetForegroundWindow(IntPtr?hWnd);//?鼠標點擊實現
public?async?Task<string>?ClickAsync(int?x,?int?y,?string?button?=?"left",?int?clicks?=?1)
{SetCursorPos(x,?y);await?Task.Delay(50);?//?確保光標移動完成uint?mouseEvent?=?button.ToLower()?switch{"left"?=>?MOUSEEVENTF_LEFTDOWN?|?MOUSEEVENTF_LEFTUP,"right"?=>?MOUSEEVENTF_RIGHTDOWN?|?MOUSEEVENTF_RIGHTUP,"middle"?=>?MOUSEEVENTF_MIDDLEDOWN?|?MOUSEEVENTF_MIDDLEUP,_?=>?MOUSEEVENTF_LEFTDOWN?|?MOUSEEVENTF_LEFTUP};for?(int?i?=?0;?i?<?clicks;?i++){mouse_event(mouseEvent,?0,?0,?0,?UIntPtr.Zero);if?(i?<?clicks?-?1)?await?Task.Delay(100);}return?$"Clicked?at?({x},{y})?with?{button}?button,?{clicks}?times";
}

安裝與配置

📦 全局工具安裝(推薦)

#?安裝全局工具
dotnet?tool?install?--global?WindowsMCP.Net#?驗證安裝
windows-mcp-net?--version

🔧 MCP 客戶端配置

VS Code 配置示例:

{"mcpServers":?{"WindowsMCP.Net":?{"type":?"stdio","command":?"dnx","args":?["WindowsMCP.Net@",?"--yes"],"env":?{}}}
}

開發模式配置:

{"mcpServers":?{"Windows-MCP.Net-Dev":?{"type":?"stdio","command":?"dotnet","args":?["run",?"--project",?"src/Windows-MCP.Net.csproj"],"cwd":?"${workspaceFolder}","env":?{}}}
}

實戰應用場景

🤖 AI 助手自動化辦公

場景: AI 助手幫助用戶自動填寫表單

{"workflow":?[{"tool":?"LaunchTool","params":?{?"name":?"notepad"?}},{"tool":?"TypeTool","params":?{"x":?100,"y":?100,"text":?"Hello,?this?is?automated?text?input!","clear":?true}},{"tool":?"KeyTool","params":?{?"key":?"ctrl+s"?}}]
}

📊 自動化測試與質量保證

場景: 自動化 UI 測試流程

//?測試用例示例
public?async?Task<bool>?TestLoginWorkflow()
{try{//?1.?啟動應用await?_desktopService.LaunchAppAsync("MyApp");await?Task.Delay(2000);//?2.?輸入用戶名await?_desktopService.ClickAsync(200,?150);await?_desktopService.TypeAsync(200,?150,?"testuser",?true);//?3.?輸入密碼await?_desktopService.ClickAsync(200,?200);await?_desktopService.TypeAsync(200,?200,?"password123",?true);//?4.?點擊登錄按鈕await?_desktopService.ClickAsync(250,?250);//?5.?驗證登錄成功var?result?=?await?_ocrService.FindTextOnScreenAsync("Welcome");return?result.Found;}catch?(Exception?ex){_logger.LogError(ex,?"Login?test?failed");return?false;}
}

🔄 批量數據處理

場景: 批量處理 Excel 數據并更新系統

public?async?Task?ProcessExcelData(string?filePath)
{var?data?=?await?_fileSystemService.ReadExcelAsync(filePath);foreach?(var?row?in?data){//?打開目標應用await?_desktopService.SwitchToApplicationAsync("DataEntry");//?填寫表單字段await?_desktopService.TypeAsync(100,?100,?row["Name"],?true);await?_desktopService.TypeAsync(100,?150,?row["Email"],?true);await?_desktopService.TypeAsync(100,?200,?row["Phone"],?true);//?提交數據await?_desktopService.ClickAsync(200,?300);await?Task.Delay(1000);//?驗證提交成功var?success?=?await?_ocrService.FindTextOnScreenAsync("Success");if?(!success.Found){_logger.LogWarning("Failed?to?submit?data?for?{Name}",?row["Name"]);}}
}

性能優化與最佳實踐

? 異步編程模式

項目全面采用異步編程模式,提升并發性能:

//?優化前:同步操作
public?string?Click(int?x,?int?y)
{SetCursorPos(x,?y);Thread.Sleep(50);?//?阻塞線程mouse_event(MOUSEEVENTF_LEFTDOWN?|?MOUSEEVENTF_LEFTUP,?0,?0,?0,?UIntPtr.Zero);return?"Clicked";
}//?優化后:異步操作
public?async?Task<string>?ClickAsync(int?x,?int?y)
{SetCursorPos(x,?y);await?Task.Delay(50);?//?非阻塞延時mouse_event(MOUSEEVENTF_LEFTDOWN?|?MOUSEEVENTF_LEFTUP,?0,?0,?0,?UIntPtr.Zero);return?"Clicked";
}

🛡? 異常處理策略

public?async?Task<(string?Response,?int?Status)>?ExecuteCommandAsync(string?command)
{try{using?var?process?=?new?Process();process.StartInfo?=?new?ProcessStartInfo{FileName?=?"powershell.exe",Arguments?=?$"-Command?\"{command}\"",RedirectStandardOutput?=?true,RedirectStandardError?=?true,UseShellExecute?=?false,CreateNoWindow?=?true};process.Start();var?output?=?await?process.StandardOutput.ReadToEndAsync();var?error?=?await?process.StandardError.ReadToEndAsync();await?process.WaitForExitAsync();var?response?=?string.IsNullOrEmpty(error)???output?:?$"Output:?{output}\nError:?{error}";return?(response.Trim(),?process.ExitCode);}catch?(Exception?ex){_logger.LogError(ex,?"Failed?to?execute?command:?{Command}",?command);return?($"Error?executing?command:?{ex.Message}",?-1);}
}

📈 內存管理優化

//?使用?using?語句確保資源正確釋放
public?async?Task<string>?TakeScreenshotAsync()
{var?tempPath?=?Path.GetTempPath();var?fileName?=?$"screenshot_{DateTime.Now:yyyyMMdd_HHmmss}.png";var?fullPath?=?Path.Combine(tempPath,?fileName);using?var?bitmap?=?new?Bitmap(Screen.PrimaryScreen.Bounds.Width,?Screen.PrimaryScreen.Bounds.Height);using?var?graphics?=?Graphics.FromImage(bitmap);graphics.CopyFromScreen(0,?0,?0,?0,?bitmap.Size);bitmap.Save(fullPath,?ImageFormat.Png);return?$"Screenshot?saved?to:?{fullPath}";
}

未來發展規劃

🔮 功能擴展路線圖

第一階段:核心功能增強

  • 高級 UI 元素識別(基于 Windows UI Automation)

  • 增強的 OCR 功能(多語言支持)

  • 文件系統操作完善

第二階段:智能化升級

  • AI 驅動的 UI 元素智能識別

  • 自動化工作流錄制與回放

  • 機器學習輔助的操作優化

第三階段:企業級特性

  • 分布式部署支持

  • 企業級安全與審計

  • 云端協作與同步

🛠? 技術演進計劃

//?未來的智能?UI?識別接口設計
public?interface?IIntelligentUIService
{Task<UIElement>?FindElementByDescriptionAsync(string?description);Task<List<UIElement>>?FindSimilarElementsAsync(UIElement?template);Task<bool>?WaitForElementChangeAsync(UIElement?element,?TimeSpan?timeout);Task<string>?DescribeUIElementAsync(int?x,?int?y);
}//?AI?輔助的操作建議
public?interface?IOperationSuggestionService
{Task<List<Operation>>?SuggestNextOperationsAsync(string?goal);Task<WorkflowTemplate>?GenerateWorkflowAsync(string?description);Task<bool>?ValidateOperationSequenceAsync(List<Operation>?operations);
}

總結

Windows MCP.Net 代表了桌面自動化技術的新高度,它不僅提供了完整的 Windows 桌面交互能力,更重要的是為 AI 助手與操作系統的深度集成開辟了新的道路。

🎯 核心價值

  1. 技術先進性:基于最新 .NET 10 技術棧,充分利用現代化開發框架的優勢

  2. 架構優雅性:模塊化設計,高度可擴展,符合企業級應用標準

  3. 功能完整性:涵蓋桌面自動化的各個方面,滿足多樣化需求

  4. 易用性:簡潔的 API 設計,完善的文檔和示例

  5. 可靠性:完善的異常處理和日志記錄,確保生產環境穩定運行

🚀 應用前景

隨著 AI 技術的不斷發展,Windows MCP.Net 將在以下領域發揮重要作用:

  • 智能辦公自動化:幫助用戶自動化日常辦公任務

  • 軟件測試自動化:提供強大的 UI 自動化測試能力

  • 數據處理自動化:批量處理和遷移數據

  • 系統運維自動化:自動化系統管理和監控任務

📢 參與貢獻

我們歡迎開發者參與到 Windows MCP.Net 的發展中來:

  • GitHub 倉庫:https://github.com/AIDotNet/Windows-MCP.Net

  • 問題反饋:通過 GitHub Issues 提交 bug 報告和功能建議

  • 代碼貢獻:提交 Pull Request 參與代碼開發

  • 文檔完善:幫助改進項目文檔和示例


如果這篇文章對您有幫助,請不要忘記點贊👍、收藏?和分享🔄!您的支持是我們持續改進的動力!

關鍵詞:Windows自動化、MCP協議、.NET開發、桌面自動化、AI助手、Windows API、OCR識別、PowerShell集成

標簽#Windows自動化 #MCP #.NET #AI助手 #桌面自動化 #開源項目

更多AIGC文章

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95708.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95708.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95708.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java ArrayList的介紹及用法

十分想念順店雜可。。。ArrayList 是 Java 集合框架中最常用的類之一&#xff0c;實現了 List 接口&#xff0c;底層基于動態數組實現&#xff0c;支持動態擴容&#xff0c;相比普通數組更靈活。以下是其詳細介紹及用法&#xff1a;一、核心特性動態大小&#xff1a;無需預先指…

Docker 命令大全及使用場景總結

一、容器生命周期管理1. 創建并運行容器docker run [選項] 鏡像名 [命令]常用選項&#xff1a;-d&#xff1a;后臺運行&#xff08;detached&#xff09;-it&#xff1a;交互式終端&#xff08;如 -it ubuntu bash&#xff09;--name&#xff1a;指定容器名稱-p 主機端口:容器端…

簡單的 HTTPS 學習

簡單的 HTTPS 學習 1. 需求 現在使用的服務是HTTP調用形式&#xff0c;服務可能會有調用外圍https形式的服務&#xff0c;簡單了解了一下&#xff0c;然后寫了一個簡單的例子進行記錄。 HTTP&#xff08;超文本傳輸協議&#xff09; 是一種用于傳輸超文本的應用層協議&#…

[系統架構設計師]系統質量屬性與架構評估(八)

[系統架構設計師]系統質量屬性與架構評估&#xff08;八&#xff09; 一.軟件系統質量屬性 1.基本概念 軟件系統質量屬性&#xff1a;可測量或可測試的屬性 開發期質量屬性&#xff0c;運行期質量屬性面向架構評估的質量屬性&#xff1a;1.可用性&#xff1a; 提升策略 錯誤檢測…

【R語言】R 語言中 gsub 與正則表達式詳解(含 POSIX 與 Perl 風格實例)

R 語言中 gsub 與正則表達式詳解&#xff08;含 POSIX 與 Perl 風格實例&#xff09; 在 R 語言中&#xff0c;字符串處理是非常常見的需求&#xff0c;R 語言中的 gsub() 函數則具有字符串替換的功能。本文將通過兩個實例&#xff0c;幫助你深入理解 R 的 gsub()、POSIX 字符…

EN55035多媒體設備電磁兼容性抗干擾要求標準

EN55035 是一項由歐洲標準化委員會制定的電磁兼容性&#xff08;EMC&#xff09;標準&#xff0c;全稱為《多媒體設備的電磁兼容性要求》。該標準主要針對多媒體設備的電磁輻射和抗干擾能力進行規范&#xff0c;確保這類設備在電磁環境中能夠正常工作&#xff0c;同時不對其他設…

計算分組內時間列的最大差值

計算分組內時間列的最大差值 在 Pandas 中&#xff0c;要計算每個分組內 time 列的最大值與當前行值的差值&#xff0c;需結合 groupby() 和 transform() 方法。核心步驟如下&#xff1a;分組計算最大值 使用 transform(max) 獲取每個分組中 time 列的最大值&#xff0c;結果會…

CUDA 編程筆記:CUDA延遲隱藏

一、核心概念&#xff1a;延遲隱藏&#xff08;Latency Hiding&#xff09;是 GPU 通過多線程機制掩蓋指令延遲的關鍵技術。當某些線程束&#xff08;warp&#xff09;因指令延遲&#xff08;如內存訪問或算術計算&#xff09;而等待時&#xff0c;其他就緒線程束會立即被調度執…

MySQL工具包中的其他程序

雖然有很多不同的程序&#xff0c;但有些選項是公共的&#xff0c;比兔用戶名和密碼&#xff0c;使用方法和MySQL相同&#xff0c;在這里統一列出&#xff0c;后面我們介紹不同的工具時&#xff0c;只討論個性的選項以及作用以下是常用的MySQL程序&#xff1a;程序名作用mysqld…

C#WPF實戰出真汁09--【消費開單】--選擇菜品

1、功能介紹當選擇一個空桌時&#xff0c;必須先開臺才能開單&#xff0c;可以先開臺&#xff0c;再開單&#xff0c;也可以開臺的同時開單當選擇一個用餐中的餐桌時&#xff0c;必須顯示該桌前面已經點好的菜品&#xff0c;同時可以繼續點餐或結賬所以無論哪個功能都涉及選擇菜…

大廠語音合成成本深度對比:微軟 / 阿里 / 騰訊 / 火山 API 計費拆解與技術選型指南

在 AI 配音、智能客服、教育音頻等場景爆發的當下&#xff0c;語音合成 API 已成為企業技術棧中的核心組件。然而&#xff0c;不同云廠商的計費規則差異顯著&#xff0c;短文本 / 長文本計費分離、預付費 / 后付費價格梯度懸殊、音色授權費暗藏成本陷阱等問題&#xff0c;常導致…

Flutter開發 網絡請求

HttpClient&#xff08;dart自有&#xff09; 1.get 點擊請求按鈕獲取數據&#xff0c;解析數據獲取單詞展示到屏幕上。class MyState extends State {String info "暫無數據";List<Widget> texts [];overridevoid initState() {super.initState();}override…

vscode中用python調用matlab的函數(環境安裝)

本實踐適用于WIN11-x64和ubuntu22.04-x64系統&#xff0c;其余系統和架構未驗證。 效果展示 1.環境要求 MATLAB Engine API for Python 的系統要求&#xff1a;參閱此官方文檔MATLAB 與 Python 的版本兼容性&#xff1a;參閱此官方文檔 2.安裝步驟 安裝Vscode&#xff08;不…

【數據分享】大清河(大慶河)流域上游土地利用

而今天要說明數據就是大清河&#xff08;大慶河&#xff09;流域上游土地利用。數據介紹大清河&#xff0c;又稱大慶河&#xff0c;作為海河流域的重要支流&#xff0c;其流域上游地區不僅是區域水資源調控的關鍵節點&#xff0c;更是生態保護與經濟發展的重要載體。以下從地理…

圖論——Djikstra最短路

原理解釋 首先解釋一下它大概的應用場景以及原理&#xff1a;現在有這么一張圖&#xff0c;圖上各點之間都有一定的邊權或者說是距離。給定你一個起點&#xff08;例如點1&#xff09;&#xff0c;讓你求這個點到圖上所有點的最短距離是多少&#xff1f; 這個問題比較平常&…

kafka初步介紹

Kafka角色介紹TopicTopic主題的意思&#xff0c;消費者必須指定主題用于的消息發送&#xff0c;生產者也必須指定主題用于消息的接收。topic只是邏輯上的劃分。partitionpartition是分區的意思&#xff0c;他的主要作用是將發送到一個topic的數據做一個劃分。如果有4個partitio…

windows10的vs2019編譯openssl靜態庫備忘

1、下載安裝openssl源碼2、官網下載安裝activeperl或Strawberry Perl。官網下載慢&#xff0c;網盤找找。使用中activeperl有些異常提示、缺模塊&#xff0c;最后使用了Strawberry Perl。3、安裝nasm。powershell使用choco install nasm -y 即可。powershell使用cd命令打開當前…

學習筆記與效率提升指南:編程、記憶與面試備考

在學習與工作中&#xff0c;高效的記錄習慣、針對性的記憶方法和實用的技能儲備&#xff0c;是提升效率的關鍵。本文結合編程學習、面試備考和英語單詞積累&#xff0c;整理一套可落地的學習思路&#xff0c;尤其適合編程初學者。 一、學習核心原則&#xff1a;高效優先&#x…

順豐面試題

1. 你擅長處理哪類問題推薦回答&#xff1a; "我比較擅長處理以下幾類前端問題&#xff1a;性能優化&#xff1a;包括加載優化&#xff08;代碼分割、懶加載&#xff09;、運行時優化&#xff08;減少重排重繪&#xff09;等復雜組件開發&#xff1a;如表單聯動、可視化圖…

Warmup_steps 設置經驗

文章目錄什么是 Warmup&#xff1f;實現示例科學設置 Warmup 的黃金法則直觀例子什么是 Warmup&#xff1f; Warmup 是一種學習率調度策略&#xff0c;在訓練初期逐步增加學習率&#xff08;LR&#xff09;&#xff0c;而不是直接使用目標學習率。它解決了兩個關鍵問題&#x…