{"id":119,"date":"2025-01-26T23:01:00","date_gmt":"2025-01-26T15:01:00","guid":{"rendered":"https:\/\/blog.liu-qi.cn\/?p=119"},"modified":"2026-04-18T21:36:21","modified_gmt":"2026-04-18T13:36:21","slug":"%e5%86%8d%e8%a7%81%e4%ba%86%e7%99%be%e5%ba%a6%ef%bc%81%e6%88%91%e7%94%a8ai%e6%89%8b%e6%90%93%e4%ba%86%e8%87%aa%e5%b7%b1%e7%9a%84%e4%b8%93%e5%b1%9e%e7%bd%91%e5%9d%80%e5%af%bc%e8%88%aa%e9%a1%b5","status":"publish","type":"post","link":"https:\/\/en.blog.liu-qi.cn\/2025\/01\/26\/%e5%86%8d%e8%a7%81%e4%ba%86%e7%99%be%e5%ba%a6%ef%bc%81%e6%88%91%e7%94%a8ai%e6%89%8b%e6%90%93%e4%ba%86%e8%87%aa%e5%b7%b1%e7%9a%84%e4%b8%93%e5%b1%9e%e7%bd%91%e5%9d%80%e5%af%bc%e8%88%aa%e9%a1%b5\/","title":{"rendered":"Farewell to Baidu! I Used AI to Build My Own Custom Web Navigation Page"},"content":{"rendered":"<p>There&#8217;s something a bit embarrassing to admit.<\/p>\n<p>I&#8217;ve actually been using the navigation feature on Baidu&#8217;s homepage for over a decade, specifically this thing:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/001-8ada30279957.png\" \/><\/p>\n<p>Image from the internet<\/p>\n<p>Because hao123 was too flashy, and I&#8217;m an old Tieba user, Baidu&#8217;s navigation was indeed more convenient. Over the years, I accumulated over 100 website bookmarks, and the cost of migrating them was too high. So even though I could deploy many excellent navigation apps via Docker on my NAS later, and even though Baidu forcibly inserted a bunch of junk news and Baijiahao content into the navigation section that I had no interest in, as long as it didn&#8217;t affect usability, I just tolerated it.<\/p>\n<p>But recently, Baidu, for some inexplicable reason, decided to redesign it. The entire navigation module became narrower, with only 6 icons per row, leaving a huge blank area displaying meaningless background images. Now, my 100+ websites are stacked across several pages.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/002-1ef40de49684.png\" \/><\/p>\n<p>It&#8217;s absolutely absurd.<\/p>\n<p>At first, I thought there was some issue with my settings, but after searching for a long time, I couldn&#8217;t find any. I looked online and found that many others were complaining too.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/003-22fa6c70fa3f.jpg\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/004-ea8a577684b9.jpg\" \/><\/p>\n<p>It&#8217;s really outrageous.<\/p>\n<p>This time, I decided not to sit back and take it anymore.<\/p>\n<p>Who knows what other nonsense Baidu&#8217;s **designers might come up with next?<\/p>\n<p>Give up Baidu and switch to a new navigation website.<\/p>\n<p>Actually, there have been alternatives before.<\/p>\n<p>But honestly, I&#8217;ve accumulated so many navigation websites over the years that the thought of re-entering and migrating them one by one is daunting.<\/p>\n<p>But times have changed, and in the era of AI, we can use AI methods to solve problems that were previously unsolvable.<\/p>\n<p>First, we can use AI to extract the original navigation categories and websites.<\/p>\n<p>The free DeepSeek-R1 can handle this task:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/005-3648188a1aa3.png\" \/><\/p>\n<p>In the navigation section of Baidu, right-click and select &#8216;Inspect&#8217;.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/006-765c9bf43cbf.png\" \/><\/p>\n<p>Then copy all the front-end code of the entire section.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/007-04bc58b89794.png\" \/><\/p>\n<p>You just need to tell the AI: &#8216;This is the front-end code of a navigation page. Please help me extract the categories, website names, and URLs from it.&#8217;<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/008-987085d44506.png\" \/><\/p>\n<p>It will automatically extract the categories, names, and links of the websites within.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/009-fccf7f455c7a.png\" \/><\/p>\n<p>Next, you can have the AI complete the navigation page.<\/p>\n<p>This can be done in a Chat tool:<\/p>\n<p>Claude is recommended, as it allows for repeated modifications and adjustments in Artifacts and supports previewing.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/010-319227b9a89b-scaled.png\" \/><\/p>\n<p>If you need changes, simply continue chatting.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/011-95cf8914c7ae-scaled.png\" \/><\/p>\n<p>The back-end implementation can also be generated through conversation.<\/p>\n<p>Special note: If, like me, you don&#8217;t have much coding experience, it&#8217;s advisable to ask it to implement using relatively easy-to-deploy languages like Python or PHP.<\/p>\n<p>However, Chat tools always require copying and pasting and finding code locations, which can be cumbersome. For a more automated solution, you can also use AI programming tools:<\/p>\n<p>If you&#8217;re pursuing ultimate cost-effectiveness, you can use VS Code (Cursor actually works fine) with plugins like Roo Code or Cline, connected to the DeepSeek API, which is more than capable of writing simple pages.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/012-e160fac48f76.png\" \/><\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/013-2d7bc9718a6a.png\" \/><\/p>\n<p>The usage is the same as using a Chat tool directly, which is through dialogue.<\/p>\n<p>I completed it directly through Cursor; its Composer feature can also automatically write and debug code across files, using the Claude 3.5 Sonnet model that I am very familiar with.<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/014-90641ca8d0be-scaled.png\" \/><\/p>\n<p>During development, I even had it write a small tool to ping and send HTTP requests to over 150 websites I had accumulated over more than a decade, eliminating over a dozen that were no longer functional.<\/p>\n<p>The final result is shown in the image:<\/p>\n<p><img decoding=\"async\" alt=\"\" loading=\"lazy\" src=\"https:\/\/blog.liu-qi.cn\/wp-content\/uploads\/2026\/04\/015-b4789175fed6-scaled.png\" \/><\/p>\n<ul>\n<li>I hosted it on my own Alibaba Cloud server (to be precise, I generated the code directly via SSH on the cloud server) and bound it to my own domain name.<\/li>\n<li>It was designed to a width that I find satisfactory, and it is also responsive on small-screen devices.<\/li>\n<li>While cleaning up defunct websites, I also re-categorized them.<\/li>\n<li>I added a simple backend. After migrating the websites from the original Baidu navigation, it supports editing and adding new websites, as well as drag-and-drop layout. (My backend does not use a database; it only uses a simple Python file to store these websites, so I can also edit this file from the server&#8217;s backend to make modifications and arrange the layout.)<\/li>\n<li>I added time and date displays, weather functionality, and quick search boxes for three major search engines.<\/li>\n<li>I added secondary aggregation page entries for NAS and AI. Clicking on them can open Docker applications deployed on my NAS and the AI tools I commonly use.<\/li>\n<li>I added an auto-saving sticky note box. Now, when copying and pasting text between multiple Windows, Mac, and mobile devices, I no longer have to get angry at the occasionally unreliable WeChat input method, nor do I need to log into multiple WeChat or QQ accounts. I just paste into this box, and on another device, opening the browser homepage allows for quick copying.<\/li>\n<\/ul>\n<p>In short, by being proactive and saying goodbye to Baidu navigation, I feel much better.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I leveraged AI tools to migrate my 100+ website bookmarks from Baidu&#8217;s flawed navigation page into a personalized, self-hosted start page.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-articles"],"_links":{"self":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":0,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"wp:attachment":[{"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/en.blog.liu-qi.cn\/index.php\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}