<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>工具 &#8211; wqh博客</title>
	<atom:link href="https://wangqianhong.com/tag/%E5%B7%A5%E5%85%B7/feed/" rel="self" type="application/rss+xml" />
	<link>https://wangqianhong.com</link>
	<description>和而不同</description>
	<lastBuildDate>Mon, 23 Mar 2026 01:07:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://wangqianhong.com/wp-content/uploads/2020/09/cropped-1-1-1-32x32.png</url>
	<title>工具 &#8211; wqh博客</title>
	<link>https://wangqianhong.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>TurboGet &#124; 桌面下载工具</title>
		<link>https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/</link>
					<comments>https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Wed, 20 Aug 2025 06:03:32 +0000</pubDate>
				<category><![CDATA[工具文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=3931</guid>

					<description><![CDATA[<p>基于 aria2 驱动，支持多协议下载，体积轻巧，开箱即用。Windows / macOS / Li&#8230; <a href="https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">TurboGet &#124; 桌面下载工具</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/">TurboGet | 桌面下载工具</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>基于 aria2 驱动，支持多协议下载，体积轻巧，开箱即用。Windows / macOS / Linux 全覆盖。</p>



<p><a href="https://turboget.wangqianhong.com/">https://turboget.wangqianhong.com/</a></p>



<p></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/">TurboGet | 桌面下载工具</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2025/08/turboget-%e6%a1%8c%e9%9d%a2%e4%b8%8b%e8%bd%bd%e5%b7%a5%e5%85%b7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>天枢 &#124; 中国古文诗词AI助手</title>
		<link>https://wangqianhong.com/2024/08/tianshu/</link>
					<comments>https://wangqianhong.com/2024/08/tianshu/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Wed, 07 Aug 2024 12:50:14 +0000</pubDate>
				<category><![CDATA[工具文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=3827</guid>

					<description><![CDATA[<p>天枢 一位深谙中国古文诗词的AI助手，致力于为您提供精准、丰富的诗词解读。 PrivacyPolic&#8230; <a href="https://wangqianhong.com/2024/08/tianshu/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">天枢 &#124; 中国古文诗词AI助手</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2024/08/tianshu/">天枢 | 中国古文诗词AI助手</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3827" class="elementor elementor-3827">
									<section class="elementor-section elementor-top-section elementor-element elementor-element-9e6066f elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="9e6066f" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-85eeeb9" data-id="85eeeb9" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<section class="elementor-section elementor-inner-section elementor-element elementor-element-897f532 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="897f532" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeIn&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-6c83e6c" data-id="6c83e6c" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-c5fb704 elementor-widget elementor-widget-heading" data-id="c5fb704" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.7.6 - 15-09-2022 */
.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}</style><h1 class="elementor-heading-title elementor-size-xxl">天枢</h1>		</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-a029001 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="a029001" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeIn&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-f249b32" data-id="f249b32" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-80c7d3a elementor-widget elementor-widget-heading" data-id="80c7d3a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">一位深谙中国古文诗词的AI助手，致力于为您提供精准、丰富的诗词解读。</h2>		</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-06bc20e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="06bc20e" data-element_type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-d37bd8a" data-id="d37bd8a" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-54831d0 elementor-widget elementor-widget-html" data-id="54831d0" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<iframe
 src="https://tx.wangqianhong.com/chatbot/4aJYwIMgRp4GgbYY"
 style="width: 100%; height: 100%; min-height: 700px"
 frameborder="0"
 allow="microphone">
</iframe>		</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-ec3392d elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="ec3392d" data-element_type="section" data-settings="{&quot;animation_delay&quot;:600,&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-0176d77 elementor-invisible" data-id="0176d77" data-element_type="column" data-settings="{&quot;animation&quot;:&quot;fadeInUp&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-eb15380 elementor-widget elementor-widget-text-editor" data-id="eb15380" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.7.6 - 15-09-2022 */
.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}</style>				<p><a style="color: white;" href="https://wangqianhong.com/privacy-policy/" target="_blank" rel="noopener"><strong><em>PrivacyPolicy</em></strong></a>&nbsp; &nbsp;&nbsp;<a style="color: white;" href="https://wangqianhong.com/terms-of-service/" target="_blank" rel="noopener"><strong><em>TermsOfService</em></strong></a></p>						</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-33f2efb elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="33f2efb" data-element_type="section" data-settings="{&quot;animation_delay&quot;:600,&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-b14ce8d" data-id="b14ce8d" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-0cff391 elementor-widget elementor-widget-text-editor" data-id="0cff391" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Copyright © all rights reserved wangqianhong.com</strong></p>						</div>
				</div>
					</div>
		</div>
							</div>
		</section>
					</div>
		</div>
							</div>
		</section>
							</div>
		<p><a rel="nofollow" href="https://wangqianhong.com/2024/08/tianshu/">天枢 | 中国古文诗词AI助手</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2024/08/tianshu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>灵枢 &#124; 去中心化的加密聊天</title>
		<link>https://wangqianhong.com/2023/09/lingshu/</link>
					<comments>https://wangqianhong.com/2023/09/lingshu/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 13:49:58 +0000</pubDate>
				<category><![CDATA[工具文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=3748</guid>

					<description><![CDATA[<p>灵枢 去中心化的加密聊天 Web PrivacyPolicy&#160; &#160;&#160;T&#8230; <a href="https://wangqianhong.com/2023/09/lingshu/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">灵枢 &#124; 去中心化的加密聊天</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2023/09/lingshu/">灵枢 | 去中心化的加密聊天</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="3748" class="elementor elementor-3748">
									<section class="elementor-section elementor-top-section elementor-element elementor-element-725434dd elementor-section-full_width elementor-section-height-default elementor-section-height-default" data-id="725434dd" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4f4fa08f" data-id="4f4fa08f" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<section class="elementor-section elementor-inner-section elementor-element elementor-element-68877e25 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="68877e25" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeIn&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-4c1ed43a" data-id="4c1ed43a" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-ad78ce elementor-widget elementor-widget-heading" data-id="ad78ce" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-xxl">灵枢</h1>		</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-1f6c62b elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="1f6c62b" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeIn&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-d5e6f3f" data-id="d5e6f3f" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-54e6de1a elementor-widget elementor-widget-heading" data-id="54e6de1a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">去中心化的加密聊天</h2>		</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-798d5e20 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="798d5e20" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-f37b274" data-id="f37b274" data-element_type="column">
			<div class="elementor-widget-wrap">
									</div>
		</div>
				<div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-eb68efe" data-id="eb68efe" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-139c61a elementor-align-justify elementor-widget__width-inherit elementor-widget elementor-widget-button" data-id="139c61a" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
					<div class="elementor-button-wrapper">
			<a href="https://im.wangqianhong.com/" target="_blank" class="elementor-button-link elementor-button elementor-size-xl" role="button">
						<span class="elementor-button-content-wrapper">
							<span class="elementor-button-icon elementor-align-icon-left">
				<svg aria-hidden="true" class="e-font-icon-svg e-fab-chrome"><use xlink:href="#fab-chrome" /></svg>			</span>
						<span class="elementor-button-text">Web</span>
		</span>
					</a>
		</div>
				</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-4c85a846" data-id="4c85a846" data-element_type="column">
			<div class="elementor-widget-wrap">
									</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-3e727880 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="3e727880" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-7436b782" data-id="7436b782" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-60783c63 elementor-widget elementor-widget-image" data-id="60783c63" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.7.6 - 15-09-2022 */
.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}</style>												<img width="3817" height="1958" src="https://wangqianhong.com/wp-content/uploads/2025/03/1.png" class="attachment-medium size-medium" alt="" loading="lazy" srcset="https://wangqianhong.com/wp-content/uploads/2025/03/1.png 3817w, https://wangqianhong.com/wp-content/uploads/2025/03/1-768x394.png 768w, https://wangqianhong.com/wp-content/uploads/2025/03/1-1536x788.png 1536w, https://wangqianhong.com/wp-content/uploads/2025/03/1-2048x1051.png 2048w, https://wangqianhong.com/wp-content/uploads/2025/03/1-585x300.png 585w" sizes="(max-width: 3817px) 100vw, 3817px" />															</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-b00b423 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="b00b423" data-element_type="section" data-settings="{&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-b04d876" data-id="b04d876" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-5ab6057d elementor-widget elementor-widget-image" data-id="5ab6057d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img width="2775" height="1923" src="https://wangqianhong.com/wp-content/uploads/2025/03/3.png" class="attachment-medium size-medium" alt="" loading="lazy" srcset="https://wangqianhong.com/wp-content/uploads/2025/03/3.png 2775w, https://wangqianhong.com/wp-content/uploads/2025/03/3-768x532.png 768w, https://wangqianhong.com/wp-content/uploads/2025/03/3-1536x1064.png 1536w, https://wangqianhong.com/wp-content/uploads/2025/03/3-2048x1419.png 2048w, https://wangqianhong.com/wp-content/uploads/2025/03/3-433x300.png 433w" sizes="(max-width: 2775px) 100vw, 2775px" />															</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-45a78541 elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="45a78541" data-element_type="section" data-settings="{&quot;animation_delay&quot;:600,&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-2b037179 elementor-invisible" data-id="2b037179" data-element_type="column" data-settings="{&quot;animation&quot;:&quot;fadeInUp&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-6654e1e2 elementor-widget elementor-widget-text-editor" data-id="6654e1e2" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><a style="color: white;" href="https://wangqianhong.com/privacy-policy/" target="_blank" rel="noopener"><strong><em>PrivacyPolicy</em></strong></a>&nbsp; &nbsp;&nbsp;<a style="color: white;" href="https://wangqianhong.com/terms-of-service/" target="_blank" rel="noopener"><strong><em>TermsOfService</em></strong></a></p>						</div>
				</div>
					</div>
		</div>
							</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-126dd6cb elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible" data-id="126dd6cb" data-element_type="section" data-settings="{&quot;animation_delay&quot;:600,&quot;animation&quot;:&quot;fadeInUp&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-9f7a8f9" data-id="9f7a8f9" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
								<div class="elementor-element elementor-element-dbea7a8 elementor-widget elementor-widget-text-editor" data-id="dbea7a8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Copyright © all rights reserved wangqianhong.com</strong></p>						</div>
				</div>
					</div>
		</div>
							</div>
		</section>
					</div>
		</div>
							</div>
		</section>
							</div>
		<p><a rel="nofollow" href="https://wangqianhong.com/2023/09/lingshu/">灵枢 | 去中心化的加密聊天</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2023/09/lingshu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>黑白GPT &#124; 精简的ChatGPT客户端</title>
		<link>https://wangqianhong.com/2022/09/hbsearch/</link>
					<comments>https://wangqianhong.com/2022/09/hbsearch/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Wed, 21 Sep 2022 13:51:50 +0000</pubDate>
				<category><![CDATA[工具文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=2432</guid>

					<description><![CDATA[<p>欢迎使用黑白搜索，清新的界面，简单的功能，准确的结果，ChatGPT客户端，希望可以帮助你提升工作效&#8230; <a href="https://wangqianhong.com/2022/09/hbsearch/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">黑白GPT &#124; 精简的ChatGPT客户端</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2022/09/hbsearch/">黑白GPT | 精简的ChatGPT客户端</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>欢迎使用黑白搜索，清新的界面，简单的功能，准确的结果，ChatGPT客户端，希望可以帮助你提升工作效率</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-wqh博客"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="EBFEBih1XS"><a href="https://wangqianhong.com/landing-heibaisearch/">landing-heibaisearch</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《landing-heibaisearch》—wqh博客" src="https://wangqianhong.com/landing-heibaisearch/embed/#?secret=EBFEBih1XS" data-secret="EBFEBih1XS" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div><figcaption><a href="https://hbsearch.wangqianhong.com/" target="_blank" rel="noreferrer noopener">https://hbsearch.wangqianhong.com/</a></figcaption></figure>
<p><a rel="nofollow" href="https://wangqianhong.com/2022/09/hbsearch/">黑白GPT | 精简的ChatGPT客户端</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2022/09/hbsearch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>无极工具箱 &#124; 移动互联网的工具箱</title>
		<link>https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/</link>
					<comments>https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Sat, 11 Dec 2021 05:09:51 +0000</pubDate>
				<category><![CDATA[工具文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=2484</guid>

					<description><![CDATA[<p>拥有移动互联网的各种小功能，可以解决工作生活中的一些问题，功能包括扫描生成二维码、局域网互传文件、扫&#8230; <a href="https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">无极工具箱 &#124; 移动互联网的工具箱</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/">无极工具箱 | 移动互联网的工具箱</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>拥有移动互联网的各种小功能，可以解决工作生活中的一些问题，功能包括扫描生成二维码、局域网互传文件、扫码连接WIFI、生成随机密码等</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-wqh博客"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="m1U4wIOoYW"><a href="https://wangqianhong.com/landing-wujitoolbox/">landing-wujitoolbox</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《landing-wujitoolbox》—wqh博客" src="https://wangqianhong.com/landing-wujitoolbox/embed/#?secret=m1U4wIOoYW" data-secret="m1U4wIOoYW" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/">无极工具箱 | 移动互联网的工具箱</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2021/12/%e6%97%a0%e6%9e%81%e5%b7%a5%e5%85%b7%e7%ae%b1-%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91%e7%9a%84%e5%b7%a5%e5%85%b7%e7%ae%b1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>使用Bing Map API地址编码</title>
		<link>https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/</link>
					<comments>https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Thu, 04 Feb 2021 02:17:53 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://wangqianhong.com/?p=1327</guid>

					<description><![CDATA[<p>最近在使用Bing Map API进行逆地址编码，传入经纬度，返回详细地址，官方链接：https:/&#8230; <a href="https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">使用Bing Map API地址编码</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/">使用Bing Map API地址编码</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>最近在使用Bing Map API进行逆地址编码，传入经纬度，返回详细地址，官方链接：<a href="https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-point" target="_blank" rel="noreferrer noopener">https://docs.microsoft.com/en-us/bingmaps/rest-services/locations/find-a-location-by-point</a></p>



<pre class="wp-block-code"><code>http://dev.virtualearth.net/REST/v1/Locations/{Lat, Long}?includeEntityTypes=Address&amp;key={BingMapsKey}</code></pre>



<p>BingMapsKey：API KEY</p>



<p>Lat：纬度</p>



<p>Long：经度</p>



<p>但是默认返回的是英语，如果需要返回中文，需要在链接后面再加上&amp;c=zh-Hans，<a rel="noreferrer noopener" href="https://docs.microsoft.com/en-us/bingmaps/getting-started/bing-maps-api-best-practices?redirectedfrom=MSDN" target="_blank">https://docs.microsoft.com/en-us/bingmaps/getting-started/bing-maps-api-best-practices?redirectedfrom=MSDN</a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/">使用Bing Map API地址编码</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2021/02/%e4%bd%bf%e7%94%a8bing-map-api%e5%9c%b0%e5%9d%80%e7%bc%96%e7%a0%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>批量把PSD文件转换成PNG文件</title>
		<link>https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/</link>
					<comments>https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/#respond</comments>
		
		<dc:creator><![CDATA[wqh_work]]></dc:creator>
		<pubDate>Mon, 31 Aug 2020 08:10:48 +0000</pubDate>
				<category><![CDATA[技术文章]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[工具]]></category>
		<guid isPermaLink="false">https://localhost/?p=67</guid>

					<description><![CDATA[<p>最近在Unity开发过程中，遇到要把大量PSD文件转成PNG文件，很多在线网站都提供这种功能，但无法&#8230; <a href="https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/" class="more-link read-more" rel="bookmark">继续阅读 <span class="screen-reader-text">批量把PSD文件转换成PNG文件</span><i class="fa fa-arrow-right"></i></a></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/">批量把PSD文件转换成PNG文件</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p>最近在Unity开发过程中，遇到要把大量PSD文件转成PNG文件，很多在线网站都提供这种功能，但无法做到批量处理，所以自己用Go写了一个程序来。</p>



<h3>第一部分 PSD转PNG</h3>



<p>这里主要用到github.com/oov/psd这个库</p>



<pre class="wp-block-code"><code>//把PSD转换成PNG
func convertPNG(oldName string) bool {
	file, err := os.Open(oldName)
	if err != nil {
		return false
	}
	defer file.Close()

	img, _, err := image.Decode(file)
	if err != nil {
		return false
	}

	newName := strings.Replace(oldName, ".psd", ".png", 1)
	out, err := os.Create(newName)
	if err != nil {
		return false
	}
	err = png.Encode(out, img)
	if err != nil {
		return false
	}
	return true
}</code></pre>



<h3>第二部分 递归目录</h3>



<p>这里主要是递归目录，循环处理每个文件，psd.meta文件是Unity特有的，如果你的目录只有psd文件，可以把对应的psd.meta文件代码注释掉，不注释也照样可以跑。</p>



<pre class="wp-block-code"><code>//重命名文件
func renameFile(dirPath string) bool {
	wg.Add(1)
	defer wg.Done()
	dir, err := ioutil.ReadDir(dirPath)
	if err != nil {
		fmt.Println(err)
		return false
	}

	pthSep := string(os.PathSeparator)

	for _, file := range dir {
		if file.IsDir() {
			//递归目录
			fileName := dirPath + pthSep + file.Name()
			go renameFile(fileName)
		} else {
			//psd.meta文件
			if ok := strings.HasSuffix(file.Name(), ".psd.meta"); ok {
				fileName := dirPath + pthSep + file.Name()
				newName := strings.Replace(fileName, ".psd.meta", ".png.meta", 1)
				os.Rename(fileName, newName)
			}
			//.psd文件
			if ok := strings.HasSuffix(file.Name(), ".psd"); ok {
				fileName := dirPath + pthSep + file.Name()
				if !convertPNG(fileName) {
					fmt.Println(fileName)
					return false
				}
				os.Remove(fileName)
			}
		}
	}

	return true
}</code></pre>



<h3>第三部分 main函数</h3>



<p>为了提高效率，代码使用了协程处理每个子目录，所以这里定义了一个全局WaitGroup变量，用来等待协程结束。</p>



<pre class="wp-block-code"><code>var wg sync.WaitGroup

func main() {
	renameFile("./Sprites")
	wg.Wait()
}</code></pre>



<h3>结束语</h3>



<p>可能有些小伙伴没有Go环境，所以我已经生成了exe文件。请大家下载之后，在同级目录下创建Sprites文件夹，把要转换的psd文件放到该目录下面。</p>



<pre class="wp-block-verse">链接：<a href="https://pan.baidu.com/s/1tRLTstfuA78jxk-xyJsqfQ" target="_blank" rel="noreferrer noopener">https://pan.baidu.com/s/1tRLTstfuA78jxk-xyJsqfQ</a>
提取码：<code>206f</code></pre>



<p></p>
<p><a rel="nofollow" href="https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/">批量把PSD文件转换成PNG文件</a>最先出现在<a rel="nofollow" href="https://wangqianhong.com">wqh博客</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wangqianhong.com/2020/08/%e6%89%b9%e9%87%8f%e6%8a%8apsd%e6%96%87%e4%bb%b6%e8%bd%ac%e6%8d%a2%e6%88%90png%e6%96%87%e4%bb%b6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
