车东 Che, Dong

Wed 12 August, 2026

23:22 tools: 发现阶段自动跳过跨 tailnet 共享节点 » Recent Commits to phpman:master
tools: 发现阶段自动跳过跨 tailnet 共享节点

- 用 tailscale status --json 的 DNSName 后缀识别跨网节点(如 mbprolia.tail2bbe8a.ts.net 与同网 tail8433bf 不同)
- 跨网共享节点无法用本网 IP 主动建链(mesh 测试必 UNREACH), 发现时自动排除
- ID_STATUS 获取上移到发现循环前, 一次 python 解析同时产出跨网集合与 StableID 映射
- 消除 mbprolia 5 条 UNREACH 链路拖慢测速的问题

Co-Authored-By: Claude Code / deepseek-v4-flash / auto
12:57 tools: mesh 带宽统一使用 Mb/s 单位(含 code-review 缺陷修复) » Recent Commits to phpman:master
tools: mesh 带宽统一使用 Mb/s 单位(含 code-review 缺陷修复)

- iperf3 解析支持 G/M/K bits/sec,统一归一为 Mb/s 紧凑 token(如 96.5Mb/s、0.262Mb/s、1120Mb/s)
- 修复报表与 JSON 之前丢失单位的问题(matrix token 无空格,awk $3 仍可解析)
- 修复 Gbits/sec 链路被误判为 ERR 的问题
- --skip/--only 改为词边界匹配,避免短 token(如 "mb")误命中多个节点
- ID_STATUS 增加 SSH 回退,与 STATUS 发现逻辑一致
- ExitNodeID 解析只捕获引号值(NULL/缺失视为无 exit node)
- 移除死代码 LABELS 数组;EXITUSAGE 改逗号分隔保持空元素语义

Co-Authored-By: Claude Code / deepseek-v4-flash / auto
12:33 tools: mesh 报告列出各节点对 exit node 的使用情况 » Recent Commits to phpman:master
tools: mesh 报告列出各节点对 exit node 的使用情况

- 收集节点 StableID→hostname 映射(tailscale status --json)
- 逐节点查 tailscale debug prefs 的 ExitNodeID,映射为对应的 exit node 名
- Node details 显示: exit 节点标 "(is exit node)",非 exit 节点标 "→ exit: <名>" 或 "(no exit node)"
- 修复 get_label 的数组错位(LABELS 逗号分隔 + 从原始 status 行判断)
- exit node 查询统一用 $TAILSCALE app 路径(裸 tailscale 在部分机器 PATH 缺失)

Co-Authored-By: Claude Code / deepseek-v4-flash / auto

Tue 11 August, 2026

09:42 tools: 将当前执行节点纳入 mesh 测速 » Recent Commits to phpman:master
tools: 将当前执行节点纳入 mesh 测速

- 用 status 首行识别本机(LOCAL_HOST),无需 .ssh/config 别名也强制收编
- 新增 run_on() 辅助:本机用 sh -c 本地执行,其他节点走 ssh
- 替换 Phase2/3/4 及 get_iperf_path 的 ssh 调用点为 run_on
- 修复:当前节点(mbairm2dong)不再因无 config 别名被排除

Co-Authored-By: Claude Code / deepseek-v4-flash / auto
01:26 tools: 使 mesh 测速脚本支持本地 status、config 收编节点、无参数显示 help » Recent Commits to phpman:master
tools: 使 mesh 测速脚本支持本地 status、config 收编节点、无参数显示 help

- 无参数时显示 help 而非静默以 macminidong 运行
- 优先用本机 tailscale status 发现节点,失败才回退 control 节点
- 去掉 chedong@ 账号硬编码,改为 ~/.ssh/config 能把主机名解析为 Host 别名即收编
  (liyangche@ 的 mbprolia 等亦可),并把完整域名归一化为 config 短别名

Co-Authored-By: Claude Code / deepseek-v4-flash / auto

Sat 08 August, 2026

03:07 v4.10: remove LLM enhancement — batch-enhance, callLLM, enhanceManPage » Recent Commits to phpman:master
v4.10: remove LLM enhancement — batch-enhance, callLLM, enhanceManPage

Delete (6 files):
  cli/batch-enhance.php — batch LLM enhancement CLI
  start-enhance-all.sh — batch launcher
  src/enhance.php — callLLM(), callLLMEndpoint(), enhanceManPage(), cleanEmojiHtml()
  test/unit/test_enhance.php — LLM tests
  docs/llm-gateway-failure-analysis.md — LLM failure analysis

Cleanup (5 files):
  src/bootstrap.php — remove require 'enhance.php'
  src/config.php — remove LLM_API_KEY/URL/MODEL/MAX_TOKENS
  src/web_footer.php — remove 'Enhanced by LLM' footer credit
  src/format_html.php — remove batch-enhance CLI examples
  phpMan.php — serve emoji_html from cache (no cleanEmojiHtml pass)

Keep: CACHE_FORMAT_EMOJI_MD/HTML — existing ~69% enhanced pages
continue to render from cache. No new enhancement generation possible.

Rationale: STRATEGY.md §5.2 — AI bots (Meta 9K/day, ClaudeBot 0.9K/day)
prefer raw markdown/json/mcp. Emoji adds no value for agent consumption.

Co-Authored-By: Claude Code deepseek-v4-pro <noreply@taotoken.net>

Fri 07 August, 2026

01:56 feat: add --help / -h to tailscale-mesh-bench.sh » Recent Commits to phpman:master
feat: add --help / -h to tailscale-mesh-bench.sh

Shows usage, options, examples, and node labels.

Thu 06 August, 2026

23:05 feat: Tailscale mesh iperf3 bandwidth benchmark script » Recent Commits to phpman:master
feat: Tailscale mesh iperf3 bandwidth benchmark script

tools/tailscale-mesh-bench.sh — auto-discovers Tailscale nodes,
starts iperf3 servers, runs full mesh bandwidth tests, outputs
matrix table + optional JSON report.

Usage: ./tools/tailscale-mesh-bench.sh [control_node] [options]
  --port=N       iperf3 port (default 5201)
  --duration=N   test duration in seconds (default 4)
  --json         output machines.json
  --skip=hosts   comma-separated hosts to skip
  --only=hosts   comma-separated hosts to test only

Co-Authored-By: Claude Code deepseek-v4-pro <noreply@taotoken.net>

Fri 31 July, 2026

04:15 fix: emoji cache entries never expire (7d TTL caused mass data loss) » Recent Commits to phpman:master
fix: emoji cache entries never expire (7d TTL caused mass data loss)

The default 7-day cache TTL was silently deleting ~12K emoji entries
after they turned 7 days old. Each batch enhance run costs ~¥2K in LLM
API calls — losing the results after a week is unacceptable.

Set emoji_md/emoji_html TTL to 0 (never expire). HTML content cache
and search results still use the standard TTL.

Root cause: July 23-enhanced entries expired July 30, causing total
emoji_html to drop from 17,751 (65.4%) to 5,049 (18.1%) overnight.

Co-Authored-By: Claude <noreply@taotoken.net>

Fri 24 July, 2026

03:22 fix: PageCache::set() guards against overwriting valid content with e… » Recent Commits to phpman:master
fix: PageCache::set() guards against overwriting valid content with empty not_found

Prevents WAL-mode stale reads from causing batch-enhance to destroy
existing valid emoji data when LLM calls fail. Before writing a
not_found entry, check if valid (non-empty, status=found) content
already exists — if so, skip the overwrite.

Fixes the man -139 entry and info -21 entry data loss observed during
the batch enhance monitoring loop.

Co-Authored-By: Claude <noreply@taotoken.net>
02:12 feat: generate compressed sitemap during reindex » Recent Commits to phpman:master

Tue 21 July, 2026

23:21 Docs: CSP nonce + strict-dynamic strategy (#158) + v4.9 PLANDOC entry » Recent Commits to phpman:master

Mon 20 July, 2026

06:46 fix: --status query excludes NOT_FOUND entries from emoji counts » Recent Commits to phpman:master
06:36 fix: cache NOT_FOUND on LLM failure to prevent repeated retries » Recent Commits to phpman:master
01:42 fix: preg_match_all called before empty() check in splitHtmlIntoSections » Recent Commits to phpman:master
01:22 fix: man page heading detection in splitHtmlIntoSections » Recent Commits to phpman:master
00:39 fix: wire chunked enhancement into batch-enhance.php HTML path » Recent Commits to phpman:master

Sun 19 July, 2026

22:45 feat: chunked LLM enhancement for large man pages (>200KB) » Recent Commits to phpman:master
16:57 docs: add architectural paradox — data sources are already CLI tools » Recent Commits to phpman:master
16:43 docs: strategic review — phpMan value in the LLM era (GEO/MCP/SEO ana… » Recent Commits to phpman:master