-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
361 lines (345 loc) · 24.4 KB
/
Copy pathindex.html
File metadata and controls
361 lines (345 loc) · 24.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HaoXiang Huang | 向世界交付你的价值</title>
<meta name="description" content="HaoXiang Huang 的个人主页:持续更新的思考、交易复盘、公开写作,以及可验证的 Web 与本地自动化工具。">
<meta name="keywords" content="HaoXiang Huang, NextWeb4, 个人网站, 作品集, Web 开发">
<meta property="og:title" content="HaoXiang Huang | 向世界交付你的价值">
<meta property="og:description" content="记录判断,交付价值,把值得重复解决的问题做成可以打开、使用和修正的工具。">
<meta property="og:type" content="website">
<meta property="og:url" content="https://nextweb4.github.io/">
<meta property="og:image" content="https://nextweb4.github.io/images/hero-campus.jpg">
<meta property="og:image:alt" content="HaoXiang Huang 站在校园石刻前">
<meta property="og:site_name" content="HaoXiang Huang">
<meta property="og:locale" content="zh_CN">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="HaoXiang Huang | 向世界交付你的价值">
<meta name="twitter:description" content="记录判断,交付价值,把值得重复解决的问题做成可以打开、使用和修正的工具。">
<meta name="twitter:image" content="https://nextweb4.github.io/images/hero-campus.jpg">
<meta name="twitter:image:alt" content="HaoXiang Huang 站在校园石刻前">
<link rel="canonical" href="https://nextweb4.github.io/">
<meta name="theme-color" content="#ffffff">
<link rel="icon" type="image/png" href="images/favicon.png">
<link rel="apple-touch-icon" href="images/favicon.png">
<script>
(function () {
try {
var theme = window.localStorage.getItem("theme");
if (theme === "dark" || theme === "light") {
document.documentElement.dataset.theme = theme;
}
} catch (error) {
document.documentElement.dataset.theme = "light";
}
}());
</script>
<link rel="stylesheet" href="css/site.css?v=20260722-4">
</head>
<body>
<a class="skip-link" href="#main" data-i18n="skip">跳到主要内容</a>
<header class="site-header" id="top">
<a class="brand" href="#top" aria-label="HaoXiang Huang 主页" data-i18n-attr="aria-label:brand_aria">
<span class="brand-mark" aria-hidden="true">H</span>
<span>HaoXiang Huang</span>
</a>
<div class="header-right">
<div class="header-actions js-only-inline" role="group" aria-label="显示控制" data-i18n-attr="aria-label:display_controls_aria">
<button class="control-button" id="theme-toggle" type="button" aria-label="切换暗色模式">
<span data-theme-icon aria-hidden="true">☾</span>
<span data-theme-label>暗色</span>
</button>
<button class="control-button language-toggle" id="language-toggle" type="button" aria-label="切换到英文">
<span data-lang-label>EN</span>
</button>
</div>
<nav class="site-nav" aria-label="主导航" data-i18n-attr="aria-label:nav_primary_aria">
<a href="#about" data-module-link="about" data-i18n="nav_about">关于</a>
<a href="#work" data-module-link="work" data-i18n="nav_work">项目</a>
<a href="#skills" data-module-link="skills" data-i18n="nav_skills">技术</a>
<a href="https://nextweb4.github.io/Private/" target="_blank" rel="noopener noreferrer" data-i18n="nav_blog">博客</a>
<a href="#contact" data-module-link="contact" data-i18n="nav_contact">联系</a>
</nav>
</div>
</header>
<div class="page-scale js-only" data-page-scale aria-hidden="true">
<span class="page-scale-current" data-page-scale-current>01 / 06</span>
<span class="page-scale-track">
<span class="page-scale-progress"></span>
<span class="page-scale-ticks">
<span class="is-current" data-page-scale-step="hero"></span>
<span data-page-scale-step="about"></span>
<span data-page-scale-step="work"></span>
<span data-page-scale-step="skills"></span>
<span data-page-scale-step="journal"></span>
<span data-page-scale-step="contact"></span>
</span>
</span>
</div>
<main id="main" tabindex="-1">
<section class="hero" data-module="hero" aria-labelledby="hero-title">
<div class="hero-grid">
<div class="hero-copy" data-reveal>
<p class="eyebrow"><span class="section-index" aria-hidden="true">01</span><span data-i18n="hero_eyebrow">交易复盘 / 写作 / 本地工具</span></p>
<div class="hero-intro">
<h1 id="hero-title" data-i18n="hero_title">向世界交付你的价值</h1>
<a class="hero-thought hero-thought-link" href="https://nextweb4.github.io/Private/article/%E6%84%9F%E6%83%B3%E4%B8%80%E5%88%9924.11.6.html" target="_blank" rel="noopener noreferrer" aria-label="打开原文:感想一则24.11.6" data-blog-thought data-thought-link aria-live="polite">
<figure class="hero-thought-content">
<blockquote data-thought-text>真正稳的交易,不是永远不亏,而是亏了以后仍然不伤根本。</blockquote>
<figcaption>
<span data-thought-source>出处:自我刻度·记录 / 投资与思想 / 感想一则24.11.6 / 2024-11-06</span>
<span class="hero-thought-arrow" aria-hidden="true">↗</span>
</figcaption>
</figure>
</a>
<div class="hero-actions" role="group" aria-label="主要入口" data-i18n-attr="aria-label:hero_actions_aria">
<a class="button button-primary" href="https://nextweb4.github.io/Private/" target="_blank" rel="noopener noreferrer" data-i18n="hero_blog">读博客</a>
<a class="button button-secondary" href="#work" data-module-link="work" data-i18n="hero_work">查看项目</a>
</div>
</div>
<section class="hero-reflections" data-reflection-rotator role="region" aria-roledescription="carousel" aria-label="思考轮播" data-i18n-attr="aria-label:reflections_aria">
<article id="reflection-stage" class="reflection-stage" data-reflection-stage data-reflection-density="medium" aria-live="off" aria-atomic="true">
<div class="reflection-entry-meta">
<time datetime="2026-07-05" data-reflection-date>2026.07.05</time>
<span class="reflection-entry-source" data-reflection-entry-source>来源:朋友圈</span>
</div>
<p data-reflection-preview>当实现一个想法的成本越来越低,创造的门槛也越来越低。以前最大的遗憾,是想到却没去做;现在最大的幸运,是想到就能开始做。</p>
</article>
<footer class="reflection-footer js-only">
<div class="reflection-status">
<p>
<span data-reflection-current>001</span>
<span aria-hidden="true">/</span>
<span data-reflection-count>100</span>
</p>
<button type="button" class="reflection-more" data-reflection-more data-i18n="reflections_more">阅读全文</button>
</div>
<div class="reflection-controls" role="group" aria-label="思考切换控制" data-i18n-attr="aria-label:reflections_controls_aria">
<button type="button" class="reflection-mode" data-reflection-mode="random" aria-label="切换为顺序播放" aria-pressed="true">
<span data-reflection-mode-label>随机</span>
</button>
<button type="button" data-reflection-prev aria-label="上一则思考" data-i18n-attr="aria-label:reflections_prev">←</button>
<button type="button" class="reflection-pause" data-reflection-toggle aria-label="暂停自动切换" data-i18n-attr="aria-label:reflections_pause_aria">
<span data-reflection-toggle-label>暂停</span>
</button>
<button type="button" data-reflection-next aria-label="下一则思考" data-i18n-attr="aria-label:reflections_next">→</button>
</div>
</footer>
<span class="reflection-progress js-only" aria-hidden="true"><span data-reflection-progress></span></span>
</section>
<figure class="hero-visual" data-reveal>
<img src="images/hero-campus.jpg" width="1600" height="900" alt="HaoXiang Huang 站在校园石刻前" draggable="false" decoding="async" fetchpriority="high" data-i18n-attr="alt:hero_visual_alt">
<figcaption class="hero-card">
<p class="photo-meta" data-i18n="photo_meta">2024.11.10 / 校园留影</p>
<p class="photo-line" data-i18n="photo_line">先把判断写清楚,再做成可以打开和验证的东西。</p>
<a href="https://nextweb4.github.io/Private/" target="_blank" rel="noopener noreferrer" data-i18n="photo_link">自我刻度·记录</a>
</figcaption>
</figure>
</div>
</div>
<div class="scroll-cue" aria-hidden="true"></div>
</section>
<dialog class="reflection-dialog" data-reflection-dialog data-reflection-density="medium" aria-labelledby="reflection-dialog-title">
<div class="reflection-dialog-panel">
<header>
<h2 id="reflection-dialog-title" class="sr-only" data-i18n="reflections_dialog_title">完整记录</h2>
<div class="reflection-dialog-meta">
<time datetime="2026-07-05" data-reflection-dialog-date>2026.07.05</time>
<span class="reflection-entry-source" data-reflection-dialog-source>来源:朋友圈</span>
</div>
<button type="button" data-reflection-close data-i18n="reflections_close">关闭</button>
</header>
<div class="reflection-dialog-copy" tabindex="0" role="document" data-reflection-full-text></div>
</div>
</dialog>
<section class="section section-about" id="about" data-module="about" aria-labelledby="about-title">
<div class="section-shell two-column">
<div data-reveal>
<p class="section-label"><span class="section-index" aria-hidden="true">02</span><span data-i18n="about_label">关于</span></p>
<h2 id="about-title" data-i18n="about_title">这里不是简介,是一份持续更新的工作记录。</h2>
</div>
<div class="prose" data-reveal>
<p data-i18n="about_p1">我不是只想做一张漂亮名片。这个站点更像我的公开工作台:一边把交易复盘、阅读思考和日常判断写下来,一边把 Web 练习、自动化脚本和小工具做成可访问的项目。</p>
<p data-i18n="about_p2">NextWeb4 是我给自己的交付系统。博客留下判断形成的过程,GitHub 保存能运行的实现,网页把入口整理清楚;如果一个想法还不能被打开、被使用、被复盘,它就还没有真正交付。</p>
<p data-i18n="about_p3">所以这里的“关于”不是一句包装好的自我介绍,而是一组正在更新的证据:我关心什么问题,怎样拆解它,用什么方式做出来,又如何根据反馈继续修正。</p>
<dl class="about-ledger">
<div>
<dt data-i18n="about_ledger_1_label">写作</dt>
<dd data-i18n="about_ledger_1_text">把交易、阅读和阶段性判断沉淀成可回看的文字。</dd>
</div>
<div>
<dt data-i18n="about_ledger_2_label">建造</dt>
<dd data-i18n="about_ledger_2_text">用前端页面、脚本和工具把想法做成能用的东西。</dd>
</div>
<div>
<dt data-i18n="about_ledger_3_label">公开</dt>
<dd data-i18n="about_ledger_3_text">让项目、博客和联系入口都经得起访问与反馈。</dd>
</div>
</dl>
<ul class="about-list" aria-label="关于 HaoXiang Huang 的工作方式" data-i18n-attr="aria-label:about_focus_aria">
<li>
<span data-i18n="about_focus_1_title">观察</span>
<p data-i18n="about_focus_1_text">从交易复盘、阅读笔记和日常问题里找到真正要解决的变量。</p>
</li>
<li>
<span data-i18n="about_focus_2_title">建造</span>
<p data-i18n="about_focus_2_text">用前端和自动化把判断做成页面、脚本、数据整理或可复用流程。</p>
</li>
<li>
<span data-i18n="about_focus_3_title">公开</span>
<p data-i18n="about_focus_3_text">把内容放到博客与 GitHub,让时间、访问和反馈继续筛选。</p>
</li>
<li>
<span data-i18n="about_focus_4_title">迭代</span>
<p data-i18n="about_focus_4_text">保留可追踪的更新,把每次修正都变成下一次交付的基础。</p>
</li>
</ul>
</div>
</div>
</section>
<section class="section section-work" id="work" data-module="work" aria-labelledby="work-title">
<div class="section-shell">
<div class="section-heading" data-reveal>
<div class="section-heading-main">
<p class="section-label"><span class="section-index" aria-hidden="true">03</span><span data-i18n="work_label">GitHub 项目</span></p>
<h2 id="work-title" data-i18n="work_title">项目的使用和更新,直接从 GitHub 来。</h2>
</div>
<div class="project-heading-aside">
<p data-i18n="work_intro">Star 显示外部使用,更新时间显示最近交付;先看四个主要项目,需要时再展开全部仓库。</p>
<label class="project-sort-control js-only-inline" for="project-sort">
<span data-i18n="projects_sort_label">项目排序</span>
<select id="project-sort" data-project-sort>
<option value="popular" selected data-i18n="projects_sort_popular">最受欢迎</option>
<option value="recent" data-i18n="projects_sort_recent">最新交付</option>
</select>
</label>
</div>
</div>
<div class="work-grid project-grid" id="github-projects" data-github-projects aria-busy="false">
<article class="work-card project-card project-card-status js-only is-visible" role="status" aria-live="polite" data-reveal>
<div>
<p class="card-meta" data-i18n="projects_loading_meta">GitHub</p>
<h3 data-i18n="projects_loading_title">正在读取项目</h3>
<p data-i18n="projects_loading_text">正在从 NextWeb4 的公开仓库读取项目简介。</p>
</div>
</article>
<noscript>
<article class="work-card project-card project-card-status">
<div>
<p class="card-meta">GitHub</p>
<h3>查看公开项目</h3>
<p>当前浏览器未运行 JavaScript,可以直接打开 GitHub 主页查看公开仓库。</p>
<a class="text-link" href="https://github.com/NextWeb4" target="_blank" rel="noopener noreferrer">GitHub</a>
</div>
</article>
</noscript>
</div>
<div class="project-disclosure" data-project-disclosure hidden>
<button class="project-toggle" type="button" aria-controls="github-projects" aria-expanded="false" data-project-toggle>
<span data-project-toggle-label>查看归档项目</span>
<span class="project-toggle-icon" aria-hidden="true">+</span>
</button>
</div>
</div>
</section>
<section class="section section-skills" id="skills" data-module="skills" aria-labelledby="skills-title">
<div class="section-shell">
<div class="section-heading skills-heading" data-reveal>
<div class="section-heading-main">
<p class="section-label"><span class="section-index" aria-hidden="true">04</span><span data-i18n="skills_label">技术与方法</span></p>
<h2 id="skills-title" data-i18n="skills_title">四条能力线,都有公开证据。</h2>
</div>
<p data-i18n="skills_intro">从产品、基础设施、内容系统到安全交付,每条能力线都由可运行项目和公开实现共同验证。</p>
</div>
<ul class="skill-list" aria-label="技能与技术" data-i18n-attr="aria-label:skills_list_aria">
<li data-reveal>
<span data-i18n="skill_automation_title">桌面产品与本地优先工具</span>
<p data-i18n="skill_automation_text">用 Python / PySide6、.NET / WinUI 和 Tauri,把局域网传输、翻译、号码与邮箱管理做成可安装、可备份、可审计的桌面产品。</p>
<div class="skill-evidence">
<a href="https://github.com/NextWeb4/lan-file-transfer" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_automation_link_1">局域网文件传输</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/deepseek-translation-studio" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_automation_link_2">DeepSeek 翻译工作台</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/phone-record-manager" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_automation_link_3">号码绑定管理器</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
</div>
</li>
<li data-reveal>
<span data-i18n="skill_network_title">配置、网络与离线工作流</span>
<p data-i18n="skill_network_text">围绕 Clash / OpenClash / Mihomo YAML、字幕处理和文件夹保护,把高频本地操作整理成可检查、可导出、可回滚的离线流程。</p>
<div class="skill-evidence">
<a href="https://github.com/NextWeb4/yaml-proxy-editor" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_network_link_1">YAML 配置工作台</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/offline-utility-suite" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_network_link_2">离线工具套件</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
</div>
</li>
<li data-reveal>
<span data-i18n="skill_search_title">检索、提示词与内容工程</span>
<p data-i18n="skill_search_text">把 NFKC 归一化、中文二元分词与字段加权用于博客检索,同时把提示词和照片元数据整理成可搜索、可复用的本地内容资产。</p>
<div class="skill-evidence">
<a href="https://github.com/NextWeb4/tips-prompt-manager" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_search_link_1">提示词管理器</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/Private" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_search_link_2">博客检索实现</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/photo-metadata-editor" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_search_link_3">照片元数据编辑器</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
</div>
</li>
<li data-reveal>
<span data-i18n="skill_delivery_title">权限、安全与可恢复交付</span>
<p data-i18n="skill_delivery_text">把用户组权限、操作审计、AES-256-GCM 加密、SQLite 备份与发布校验放进交付链路,让工具不仅能运行,也能恢复和追责。</p>
<div class="skill-evidence">
<a href="https://github.com/NextWeb4/lan-file-transfer" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_delivery_link_1">权限与操作审计</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/folder-locker" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_delivery_link_2">离线文件夹加密</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
<a href="https://github.com/NextWeb4/phone-record-manager/blob/main/docs/SECURITY_MODEL.md" target="_blank" rel="noopener noreferrer"><span class="evidence-index" aria-hidden="true"></span><span data-i18n="skill_delivery_link_3">本地数据安全模型</span><span class="evidence-arrow" aria-hidden="true">↗</span></a>
</div>
</li>
</ul>
</div>
</section>
<section class="journal" id="journal" data-module="journal" aria-labelledby="journal-title">
<div class="journal-inner" data-reveal>
<p class="section-label"><span class="section-index" aria-hidden="true">05</span><span data-i18n="journal_label">博客</span></p>
<h2 id="journal-title" data-i18n="journal_title">还没做成工具的判断,先写进博客。</h2>
<p data-i18n="journal_text">交易、阅读和项目复盘先在自我刻度里留下过程;值得重复解决的问题,再继续变成项目。</p>
<a class="button button-primary" href="https://nextweb4.github.io/Private/" target="_blank" rel="noopener noreferrer"><span data-i18n="journal_button">阅读自我刻度·记录</span><span class="journal-arrow" aria-hidden="true">↗</span></a>
</div>
</section>
<section class="section section-contact" id="contact" data-module="contact" aria-labelledby="contact-title">
<div class="section-shell contact-grid">
<div data-reveal>
<p class="section-label"><span class="section-index" aria-hidden="true">06</span><span data-i18n="contact_label">联系</span></p>
<h2 id="contact-title" data-i18n="contact_title">联系我</h2>
</div>
<div class="contact-links" data-reveal>
<a href="mailto:Rays688888@Gmail.com">
<span data-i18n="contact_email">Email</span>
<small>Rays688888@Gmail.com</small>
<span class="contact-arrow" aria-hidden="true">✉</span>
</a>
<a href="https://x.com/Rayfon66" target="_blank" rel="noopener noreferrer">
<span data-i18n="contact_x">X / Twitter</span>
<small>@Rayfon66</small>
<span class="contact-arrow" aria-hidden="true">↗</span>
</a>
<a href="https://www.facebook.com/people/Hx-Hwang/pfbid0JoDqMefLXPuWEmUfU7z5hZTgb1LQ82qX9yWCZxEmPcLc61mNuqZTicLP57NttWe7l/" target="_blank" rel="noopener noreferrer">
<span data-i18n="contact_facebook">Facebook</span>
<small>HaoXiang Huang</small>
<span class="contact-arrow" aria-hidden="true">↗</span>
</a>
<a href="https://github.com/NextWeb4" target="_blank" rel="noopener noreferrer">
<span data-i18n="contact_github">GitHub</span>
<small>NextWeb4</small>
<span class="contact-arrow" aria-hidden="true">↗</span>
</a>
</div>
</div>
</section>
</main>
<div class="devtools-shield" role="status" aria-live="polite" aria-hidden="true">
<div>
<strong id="devtools-title">页面已进入保护模式</strong>
<span id="devtools-text">请关闭开发者工具后继续浏览。</span>
</div>
</div>
<footer class="site-footer">
<p><span data-i18n="footer_prefix">©</span> <span id="year">2026</span> <span data-i18n="footer_suffix">HaoXiang Huang. 持续更新的个人作品与记录。</span></p>
<a href="https://nextweb4.github.io/Private/" target="_blank" rel="noopener noreferrer" data-i18n="footer_blog">博客</a>
</footer>
<script src="js/site.js?v=20260722-4" defer></script>
</body>
</html>