星期一, 5月 11, 2026

# 小米 15 本地 AI 教學:Llama.cpp + Adreno 830 GPU 加速

 # 小米 15 本地 AI 教學:Llama.cpp + Adreno 830 GPU 加速


 MNN Chat 的優勢 (2026年3月更新)

  • 隱私安全: 完全離線運行,無需網絡,資料不上傳。
  • 多模態: 支援文字、影像、語音輸入。
  • 最佳化: 對移動端 GPU/CPU 進行了最佳化,適合小米 15 的 Adreno

https://github.com/alibaba/MNN/issues/4396#issuecomment-4405235507

## 硬體資訊

- 手機:小米 15 (Xiaomi 15)

- 處理器:Snapdragon 8 Elite

- GPU:Adreno 830

- 最大 GPU 記憶體:~1GB

- 系統:Android + Termux


---


## 第一部分:安裝 Termux 與環境設定


### 1. 安裝 Termux

從 **F-Droid**(不要用 Google Play)下載 Termux:

```

https://f-droid.org/packages/com.termux/

```


### 2. 更新與安裝依賴

```bash

pkg update && pkg upgrade

pkg install git cmake ninja clang make python curl

```


---


## 第二部分:編譯 Llama.cpp(OpenCL 版本)


### 1. 下載 llama.cpp 原始碼

```bash

cd ~

git clone https://github.com/ggml-org/llama.cpp.git

cd llama.cpp

```


### 2. 設定 OpenCL 環境

```bash

# 測試 OpenCL 是否正常

export LD_LIBRARY_PATH=/vendor/lib64

clinfo

```


應該顯示:

```

Platform Name   : QUALCOMM Snapdragon(TM)

Device Name     : QUALCOMM Adreno(TM) 830

```


### 3. 編譯(使用 OpenCL)

```bash

cd ~/llama.cpp


cmake -B build-android \

  -DCMAKE_BUILD_TYPE=Release \

  -DGGML_OPENCL=ON \

  -DGGML_OPENCL_EMBED_KERNELS=ON \

  -DGGML_OPENCL_USE_ADRENO_KERNELS=ON \

  -DBUILD_SHARED_LIBS=ON


cmake --build build-android -j$(nproc)

```


---


## 第三部分:下載模型


### 建議模型(記憶體限制)


| 模型 | 大小 | 記憶體需求 |

|-----|------|----------|

| gemma-2-2b-it-Q4_0 | ~1.5GB | 較低,推薦 |

| Qwen3-0.8B-Q4_0 | ~500MB | 最低 |

| gemma-4-E2B-it-Q4_0 | ~1.8GB | 中等 |


### 下載模型

```bash

# 自動下載到緩存

export LD_LIBRARY_PATH=/vendor/lib64

./build-android/bin/llama-server -hf unsloth/gemma-2-2b-it-GGUF:Q4_0

```


---


## 第四部分:啟動 Llama Server


```bash

export LD_LIBRARY_PATH=/vendor/lib64


cd ~/llama.cpp


./build-android/bin/llama-server \

  -hf unsloth/gemma-2-2b-it-GGUF:Q4_0 \

  -ngl 20 \

  -c 4096 \

  --host 0.0.0.0 \

  --port 8080

```


**參數說明:**

- `-ngl 20`:使用 GPU 加速層數(Adreno 830 約 20 層)

- `-c 4096`:Context 長度

- `--host 0.0.0.0`:允許其他設備連接


---


## 第五部分:上網搜尋 + AI 對話


### 建立搜尋腳本


建立 `~/web_search_llama.py`:


```python

#!/usr/bin/env python3

"""

網頁搜尋 + llama.cpp AI 分析

"""


import sys

import requests

import openai


LLAMA_SERVER = "http://localhost:8080/v1"

MODEL = "gemma"


def web_search(query, num_results=5):

    """用 DuckDuckGo 搜尋"""

    print(f"🔍 搜尋: {query}")

    url = f"https://duckduckgo.com/html/?q={requests.utils.quote(query)}"

    headers = {"User-Agent": "Mozilla/5.0"}

    try:

        resp = requests.get(url, headers=headers, timeout=10)

        import re

        links = re.findall(r'<a class="result__a" href="([^"]+)"[^>]*>([^<]+)</a>', resp.text)

        results = []

        for href, title in links[:num_results]:

            if href.startswith('http'):

                results.append({"title": title.strip(), "url": href})

        return results if results else ["找不到結果"]

    except Exception as e:

        return [f"搜索失敗: {e}"]


def fetch_web(url):

    """抓取網頁內容"""

    try:

        response = requests.get(url, timeout=10, headers={"User-Agent": "Mozilla/5.0"})

        text = response.text

        import re

        text = re.sub(r'<[^>]+>', '', text)

        text = ' '.join(text.split())

        return text[:3000]

    except Exception as e:

        return f"錯誤: {e}"


def chat(message):

    print("\n🔍 搜尋中...")

    results = web_search(message)

    print(f"找到 {len(results)} 個結果")


    all_content = ""

    for i, r in enumerate(results[:3]):

        print(f"{i+1}. {r.get('title', r)}")

        if isinstance(r, dict) and 'url' in r:

            content = fetch_web(r['url'])

            all_content += f"\n\n--- {r.get('title')} ---\n{content}\n"


    prompt = f"根據以下搜尋結果回答:{message}\n\n{all_content}"


    try:

        client = openai.OpenAI(api_key="dummy", base_url=LLAMA_SERVER)

        response = client.chat.completions.create(

            model=MODEL,

            messages=[{"role": "user", "content": prompt}],

            temperature=0.7,

            max_tokens=500

        )

        return response.choices[0].message.content

    except Exception as e:

        return f"錯誤: {e}"


if __name__ == "__main__":

    print("🎯 AI 搜尋助手(輸入問題,或按 Ctrl+C 離開)")

    while True:

        try:

            msg = input("\n你: ").strip()

            if not msg:

                continue

            print(f"\nAI: {chat(msg)}")

        except KeyboardInterrupt:

            break

```


### 使用方式


1. 先啟動 llama-server(終端機 1):

```bash

export LD_LIBRARY_PATH=/vendor/lib64

cd ~/llama.cpp

./build-android/bin/llama-server -hf unsloth/gemma-2-2b-it-GGUF:Q4_0 -ngl 20 -c 4096 --host 0.0.0.0 --port 8080

```


2. 啟動搜尋腳本(終端機 2):

```bash

python ~/web_search_llama.py

```


3. 輸入問題,例如:

```

你: 今天天氣如何?

```


---


## 第六部分:測試結果


### OpenCL 偵測成功

```

clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)

  Platform Name   : QUALCOMM Snapdragon(TM)

  Device Name     : QUALCOMM Adreno(TM) 830

```


### 執行時顯示

```

ggml_opencl: selecting device: QUALCOMM Adreno(TM) 830

ggml_opencl: using kernels optimized for Adreno (GGML_OPENCL_USE_ADRENO_KERNELS)

```


---


## 常見問題


### Q1:無法偵測 OpenCL?

```bash

# 檢查路徑

ls /vendor/lib64/libOpenCL.so


# 設定環境

export LD_LIBRARY_PATH=/vendor/lib64

```


### Q2:模型載入失敗?

- 確認使用 b5026 版本:`git checkout b5026`

- 或使用支援的模型:gemma-2-2b, Qwen3-0.8B


### Q3:記憶體不足?

- 減少 `-ngl` 數值(從 20 降到 10)

- 使用更小的模型


### Q4:gemma-4 需要 64K context?

- gemma-4-e2b 支援 6400 context

- 直接使用:`./build-android/bin/llama-server -hf unsloth/gemma-4-E2B-it-GGUF:Q4_0 -ngl 20 -c 6400`


---


## 總結


✅ 小米 15 + Adreno 830 可以運行本地 AI

✅ 使用 OpenCL 加速

✅ 可上網搜尋 + AI 分析

✅ 支援 gemma-2, gemma-4, Qwen3 等模型


需要更多模型或優化性能的可以繼續探索!


---


**更新日**:2025年

**適用**:小米 15 / Snapdragon 8 Elite / Adreno 830



cd ~/llama.cpp


export LD_LIBRARY_PATH=/vendor/lib64:$LD_LIBRARY_PATH


./build-android/bin/llama-server \

  -hf unsloth/gemma-4-E4B-it-GGUF:Q4_0 \

  -ngl 20 \

  -c 6400 \

--mlock \

  --host 0.0.0.0 \

  --port 8080



 python web_search_llama.py


#!/usr/bin/env python3
"""
網頁搜尋 + AI 分析 (支援天氣、新聞、股票等)
用法: python web_search_llama.py --interactive
"""

import sys
import requests
import openai
from urllib.parse import quote
LLAMA_SERVER = "http://http://192.168.5.233:8080/v1"
#LLAMA_SERVER = "http://localhost:8080/v1"
MODEL = "gemma"

def get_location():
    """嘗試自動取得位置"""
    try:
        r = requests.get("http://ip-api.com/json/?fields=61445", timeout=5)
        data = r.json()
        return data.get('city', 'Unknown'), data.get('country', 'Unknown')
    except:
        return None, None

def detect_search_type(query):
    """自動判斷搜尋類型"""
    query_lower = query.lower()
   
    if any(kw in query_lower for kw in ['天氣', 'weather', '溫度', '降雨']):
        city = None
        for word in ['台北', '台中', '台南', '高雄', '新北', '桃園', '北京', '上海', '東京', '首爾', '香港']:
            if word in query:
                city = word
                break
        if not city:
            city, country = get_location()
            if city:
                city = city.replace('City', '')
        return "weather", city or "台灣"
   
    if any(kw in query_lower for kw in ['新聞', 'news', '時事', '最新']):
        return "news", None
   
    if any(kw in query_lower for kw in ['股票', 'stock', '股價', '台積電', '鴻海', '股市']):
        return "stock", None
   
    if any(kw in query_lower for kw in ['匯率', '匯率', '美元', '日元', '歐元']):
        return "exchange", None
   
    if any(kw in query_lower for kw in ['翻譯', 'translate', '英文', '日文']):
        return "translate", None
   
    return "general", None

def web_search(query, num_results=5):
    """用 DuckDuckGo 搜尋網頁"""
    print(f"🔍 搜尋: {query}")
    url = f"https://duckduckgo.com/html/?q={quote(query)}&kp=1"
    headers = {"User-Agent": "Mozilla/5.0"}
    try:
        response = requests.get(url, headers=headers, timeout=30)
        results = []
        import re
        links = re.findall(r'<a class="result__a" href="([^"]+)"[^>]*>([^<]+)</a>', response.text)
        for href, title in links[:num_results]:
            if href.startswith('http'):
                results.append({"title": title.strip(), "url": href})
        return results
    except Exception as e:
        return [{"error": str(e)}]

def fetch_web(url):
    """抓取網頁內容"""
    print(f"🌐 抓取: {url}")
    try:
        response = requests.get(url, timeout=15, headers={"User-Agent": "Mozilla/5.0"})
        text = response.text
        import re
        text = re.sub(r'<[^>]+>', '', text)
        text = ' '.join(text.split())
        return text[:4000]
    except Exception as e:
        return f"錯誤: {e}"

def ask_ai(prompt):
    """傳給 AI"""
    print("🤖 AI 分析中...")
    try:
        client = openai.OpenAI(api_key="dummy", base_url=LLAMA_SERVER)
        response = client.chat.completions.create(
            model=MODEL,
            messages=[{"role": "user", "content": prompt}],
            temperature=0.7,
            max_tokens=600
        )
        return response.choices[0].message.content
    except Exception as e:
        return f"AI 錯誤: {e}"

def process_query(query):
    search_type, extra = detect_search_type(query)
   
    if search_type == "weather":
        city = extra if extra else "台北"
        query = f"{city} 天氣"
    elif search_type == "news":
        query = "最新新聞"
    elif search_type == "stock":
        query = "台灣股票行情"
    elif search_type == "exchange":
        query = "美元兌台幣匯率"
   
    results = web_search(query)
    if not results or "error" in results[0]:
        print("搜尋失敗")
        return
   
    print(f"找到 {len(results)} 個結果\n")
   
    all_content = ""
    for i, r in enumerate(results[:3]):
        print(f"{i+1}. {r['title']}")
        content = fetch_web(r['url'])
        all_content += f"\n\n--- {r['title']} ---\n{content}\n"
   
    prompt = f"根據以下搜尋結果,用中文回答這個問題: {query}\n\n{all_content}"
    result = ask_ai(prompt)
    print("\n📝 AI 回覆:")
    print(result)

def main():
    print("🎯 AI 搜尋助手")
    print("📌 功能:天氣、新聞、股票、翻譯、任意問題")
    print("📌 範例:天氣怎麼樣?最新新聞?台積電股價?")
    print("-" * 40)
   
    while True:
        try:
            query = input("\n你 > ").strip()
            if not query:
                continue
            if query.lower() in ['exit', 'q', 'quit', '離開']:
                break
            process_query(query)
        except KeyboardInterrupt:
            print("\n再見!")
            break

if __name__ == "__main__":
    main()


星期六, 5月 09, 2026

風暴之前:2027的陰影

風暴之前:2027的陰影



2026年的世界,正逐漸瀰漫著一種難以言喻的不安。

在中國,經濟成長放緩、青年失業率攀升、地方財政壓力沉重,房地產危機與消費低迷讓社會氣氛變得壓抑。原本熱鬧的五一假期,許多商圈卻顯得冷清。人們開始質疑,曾經高速發展的時代是否已經結束。

網路上的討論被迅速刪除,但焦慮卻無法被真正消失。

有人開始相信,當一個龐大國家面臨內部壓力時,外部衝突往往會成為轉移矛盾的方法。

於是,一份流出的「2027計畫」開始在地下論壇瘋傳。

傳聞指出,北京高層可能已認定「和平統一」只是歷史口號,真正的方向早已轉向強硬路線。文章中甚至寫道:

「當經濟無法再次創造奇蹟時,民族主義將成為新的燃料。」

這份文件的真假無法證實,但它迅速引發全球關注。

台海局勢因此更加緊張。

軍機、軍艦、無人機與衛星監控密度不斷升高。亞洲金融市場開始動盪,各國企業悄悄將供應鏈轉移。世界彷彿知道,一場巨大的風暴正在逼近。

然而,更令人恐懼的,卻不是戰爭。

而是疾病。


就在此時,一艘名為「洪迪亞斯號」的貨輪事件震驚世界。

南美洲爆發的新型漢他病毒病例中,科學家驗出了極為危險的安地斯病毒株(Andes virus)。與過去多數漢他病毒不同,安地斯病毒曾被研究認為具有罕見的人傳人能力。

港口開始封鎖。

船員被隔離。

恐慌迅速蔓延。

社群媒體上開始出現大量陰謀論,有人聲稱病毒並非自然出現,而是某種「人口控制計畫」的一部分。影片、匿名文件與模糊錄音瘋狂流傳。

真正可怕的是,在資訊混亂的時代,人們已經無法分辨真相與恐懼。

各國政府彼此指責。

民眾開始搶購物資。

航空業與旅遊業再度重創。

短短幾個月內,全球許多城市都出現疑似病例,市場崩跌,邊境管制重新啟動。人們發現,現代文明其實遠比想像中脆弱。

戰爭的陰影。

疾病的恐懼。

經濟的崩潰。

資訊的失控。

這些力量同時交織,讓世界進入一個前所未有的不安年代。


而最令人悲傷的是——

普通人其實從未真正想要戰爭。

人民想要的,始終只是能安心生活、照顧家人、擁有未來。

但當權力、恐懼與極端民族情緒不斷被放大時,整個世界都可能被推向危險邊緣。

歷史曾無數次證明:

真正毀滅文明的,
不只是病毒,
也不只是武器。

而是人類失去了彼此信任之後,
所產生的瘋狂與仇恨。

星期五, 5月 08, 2026

「洪迪亞斯號」漢他病毒疫情:一場可能改變未來公共衛生觀念的警訊

 「洪迪亞斯號」漢他病毒疫情:一場可能改變未來公共衛生觀念的警訊



近日,圍繞「洪迪亞斯號」所爆發的漢他病毒疫情,引發全球高度關注。這次疫情由安地斯病毒(Andes virus,ANDV)所造成,目前已出現8起疑似病例,其中3例已確認感染,並已有3人死亡。雖然感染規模仍有限,但由於安地斯病毒具有特殊的「人傳人」能力,使這起事件被視為近年來最值得警惕的病毒案例之一。
什麼是安地斯病毒?
漢他病毒症候群 是一類由鼠類傳播的病毒疾病,而安地斯病毒則是其中最危險的變種之一,主要出現在南美洲地區,尤其與 安地斯山脈 周邊有關。
一般漢他病毒大多透過:
接觸鼠類排泄物
吸入受污染灰塵
接觸受感染動物
而傳播。
但安地斯病毒最令人不安的是:
它是目前少數被證實可能「人傳人」的漢他病毒。
這代表疫情的危險性,遠超過一般鼠傳疾病。
為何這次疫情特別危險?
1. 致死率極高
安地斯病毒的死亡率可高達30%至40%。
感染者初期可能只是:
發燒
肌肉痠痛
疲倦
咳嗽
但幾天後,病情可能急速惡化:
肺部積水
呼吸衰竭
血氧驟降
多重器官受損
許多患者會在短時間內陷入危急狀態。
2. 人傳人能力令人擔憂
大部分漢他病毒並不容易在人類間傳播,但安地斯病毒曾在南美出現家庭群聚與醫療感染案例。
若病毒未來產生更多變異,可能帶來新的公共衛生風險,包括:
更高傳播效率
更長潛伏期
更難辨識的早期症狀
這也是全球防疫單位高度警戒的原因。
3. 全球交通加速病毒擴散
「洪迪亞斯號」事件也再次暴露現代交通系統的脆弱性。
在全球化時代:
郵輪
國際航班
港口物流
大規模旅遊
都可能讓局部疫情迅速跨國擴散。
病毒不再只是一個地區問題,而可能在幾天內影響整個世界。
對未來可能造成的影響
一、全球公共衛生將再次升級
這次事件可能讓各國重新強化:
港口檢疫
郵輪健康監測
動物傳染病研究
國際疫情通報系統
尤其在經歷 COVID-19 後,各國對高致死率病毒的敏感度已大幅提高。
未來可能出現更多:
即時生物監測
AI疫情預警
全球共享病毒資料庫
來防止下一次大型疫情。
二、人類與自然失衡問題將再次被討論
許多新型病毒,都與:
森林破壞
氣候變遷
野生動物棲地消失
人類過度開發
有密切關聯。
當野生動物被迫靠近人類生活區域,病毒跨物種傳播的風險就會增加。
這也提醒人類:
對自然的破壞,最終可能以疾病形式反撲人類自身。
三、社會恐慌與資訊混亂可能加劇
每當高致死率病毒出現,網路上往往伴隨:
假消息
陰謀論
過度恐慌
錯誤醫療資訊
若資訊不透明,可能造成:
民眾恐慌搶購
對醫療體系失去信任
社會對立升高
因此未來各國政府如何維持透明與科學溝通,將變得非常重要。
四、生物科技與疫苗研發將加速
這次事件也可能推動:
漢他病毒疫苗研究
抗病毒藥物開發
快速病毒檢測技術
AI醫療模型
未來人類與病毒的競爭,很可能不再只是醫院對抗疾病,而是科技、資料與全球合作的競賽。
結語
「洪迪亞斯號」的安地斯病毒疫情,也許目前規模不大,但它像是一道警訊:
在人類高度全球化、自然環境快速變化的時代,一種原本局部存在的病毒,也可能在短時間內成為全球焦點。
真正值得警惕的,不只是病毒本身,
而是人類是否已經準備好面對下一次未知的大規模公共衛生危機。
未來的世界,也許不只需要更強大的醫療技術,
更需要人類重新思考與自然、科技以及彼此之間的關係

5535 這組數字,帶著非常強烈的「改變」與「覺醒」訊息。

 清晨醒來的那一瞬間,人的意識往往處於最安靜、也最敏感的狀態。當你在腦海中突然浮現「5535」這組數字時,許多人會覺得這不只是巧合,而像是一種來自內在、宇宙,甚至靈性層面的提醒。所謂的「天使數字」,並不是預言命運的絕對答案,而更像是一面鏡子,映照出你目前生命階段的能量與心理狀態。

【天使數字是什麼?】

只要是重複的數字(例如111、222)或是出現在特定序列中的數字(例如1234)確實都有它背後的代表意義,它們也被稱之為「天使數字」。

【什麼時候會看到天使數字?】

每當在一個關鍵的時刻看到天使數字(例如擔心某件事時或期待著一個徵兆時)你幾乎可以確信,這就是一位天使給你打了個暗示,你將可以在任何地方看到這些來自天使的信號,比如説車牌上、門牌號碼上,甚至是早晨冰咖啡的收據上,都是天使數字會出現的地方哦!

【為什麼天使數字是特別的暗示?】

「天使數字」來自神聖的指標(無論被稱為上帝、神明、內在自我、宇宙...)它都表明了你正在走上正確的道路,它們是宇宙中的巧妙推動,同時肯定生活中發生的一切都是注定的。

回想那位讓你心動的對象,車牌上的「111」代表著你正在向愛情敞開心扉,積極追求的正確方向。就像是宇宙在輕輕地推動你前進,並支持著你。也因為每個數字都有自己獨特的含義,所以當你看見不同的數字,便會接收到出不同的訊息。



5535 這組數字,帶著非常強烈的「改變」與「覺醒」訊息。
其中,數字 5 重複出現兩次,象徵快速的變化、自由、突破限制,以及人生即將進入新的循環。它像是在提醒你:過去那些壓抑、停滯、重複的狀態,正在逐漸結束。你可能會開始重新思考工作、人際關係、生活方向,甚至是自己的存在意義。有些改變看似突然,但其實是內心早已累積許久的渴望,現在終於到了必須行動的時刻。
而數字 3,則帶著靈性與創造力的能量。它代表內在智慧、宇宙的支持,以及更高層次的引導。當 3 出現在 5535 的中心位置時,彷彿在說:「不要只用恐懼看待改變,而要用靈魂去理解它。」很多時候,人之所以痛苦,不是因為改變本身,而是因為害怕失去熟悉的一切。但生命真正的成長,往往都發生在跨越未知之後。
5535 也有一種很深的精神象徵——「舊的自己正在退去,新的自己即將誕生。」
也許最近的你,對世界有許多複雜感受。可能感受到時代變化太快、人心混亂、資訊真假難辨,甚至對未來有些不安。然而這組數字像是在提醒你:外界再混亂,也不要失去內在的平靜。真正重要的,不是世界發生了什麼,而是你如何看待自己的內心。
當一個人開始覺察自己的情緒、思想與靈魂方向時,生命就會慢慢產生轉變。5535 並不是要你逃避現實,而是鼓勵你在混亂中保持清醒,在變化中保持信念。它像一道微弱卻溫暖的光,提醒你:「你並不孤單,你正在被引導。」
或許,你現在正站在人生某個轉折點上。
可能是新的機會即將出現;
可能是某段關係正在改變;
也可能是你的思想與價值觀,正在悄悄蛻變。
5535 的精神意義,不只是「好運即將來臨」,更深層的是——它要你學會相信自己的靈魂。當你願意放下恐懼、停止過度懷疑自己,很多原本封閉的道路,反而會慢慢打開。
有時候,宇宙並不會直接給人答案,而是透過一些細微訊號,引導人重新認識自己。一組突然浮現的數字、一個反覆出現的夢境、一種難以解釋的直覺,都可能成為內心覺醒的開始。
所以,當你看到 5535,也許可以靜下心來問自己:
「我是否正準備迎接新的生命階段?」
「我真正想成為怎樣的人?」
「我是否願意放下過去,走向新的未來?」
也許答案,早已存在你的內心深處。

星期三, 4月 29, 2026

「重力本質目前最好的描述是時空彎曲」

在現代物理裡,重力的主流解釋來自 廣義相對論:

不是某個「網格在拉東西」,而是質量和能量讓時空本身彎曲,而物體只是沿著這個彎曲的幾何路徑運動。

時空彎曲(重力的核心概念)

Image

Image

Image

Image

Image

可以把它想像成一張彈性布(只是比喻):

  • 放一顆重球(像地球) → 布凹下去

  • 小球(像衛星)經過 → 被「引導」繞著走

這不是力在拉,而是路徑被改變了


那「宇宙網格」這個想法從哪來?

你說的其實有點接近幾種前沿或概念性理論,但要分清楚:

1. 宇宙大尺度結構(真的有「網」)

Image

Image

Image

Image

Image

Image

Image

宇宙中確實存在一種像網狀的結構,叫做
宇宙網
由星系、暗物質形成的絲狀結構。

👉 但重點是:
這個「網」是重力作用的結果,不是來源。


2. 量子尺度的「時空離散結構」(假說)

有些理論(例如 迴圈量子重力)認為:
時空在最小尺度上可能像「網格」或「量子泡沫」。

👉 但目前:

  • 還沒有實驗證實

  • 也還不能完整解釋重力


3. 模擬宇宙 / 計算網格(哲學或科幻)

有人會說宇宙像電腦網格運算。
這屬於哲學或科幻推測,目前沒有科學證據支持。


所以你的說法可以這樣修正會更準確:

  • ✅「宇宙中的結構像網,是重力長期作用形成的」

  • ✅「重力本質目前最好的描述是時空彎曲」


如果用一句更精準又有畫面的說法

你可以這樣說:

重力不是一種看不見的拉力,而是宇宙時空本身的形狀;
所謂的「宇宙網」,只是這種形狀在巨大尺度上的痕跡。


如果你其實是想往更深的方向(例如:
「重力是不是資訊結構?是不是來自更底層網格?」),
那就已經碰到現代理論物理最前沿了,我可以陪你往那一層拆解。

星期日, 4月 05, 2026

伊朗的未來,應由人民自己決定,而不是被壓迫與恐懼所綁架

 


各位朋友、各位關心自由與人權的人們:

當一個社會,連恐懼都無法再讓人民沉默時,改變,其實已經悄然開始。

今天,我們關注的不只是伊朗,而是所有在戰火與壓迫之中掙扎求生的人們。
在那片土地上,有孩子在夜裡因爆炸聲驚醒,有母親在恐懼中緊抱著家人,有年輕人原本應該擁有夢想,卻被迫面對不確定的明天。

戰爭與衝突,從來不只是地圖上的線條變化,
它是真實的痛苦,是一個個家庭被撕裂,是無數無辜生命被吞噬的現實。

而更令人心痛的,是當權力機器選擇無視人民的聲音。
伊斯蘭革命衛隊本應守護國家,卻在某些時刻,成為壓制人民的力量。
當武力被用來對付自己的人民,當恐懼被當作統治的工具,這不只是冷酷,更是一種對人性的背離。

無情,不只是行動上的鎮壓,
更是對生命價值的忽視,對未來希望的剝奪。

無知,則體現在對歷史的誤判——
任何試圖以壓迫維持的秩序,最終都無法長久;
任何忽視人民聲音的權力,終將被時代淘汰。

但即使在最黑暗的時刻,人性的光依然存在。
每一個站出來的人,都是一道光。
每一個願意說出真相的人,都是改變的起點。

他們不是為了對抗而對抗,
他們只是想要一個可以安心生活、可以自由呼吸的未來。

我們也許身處不同的地方,
但我們可以選擇不冷漠。

世界正在注視。
歷史正在記錄。

而我們要記住——
真正的力量,不來自恐懼,
而來自人民的勇氣與尊嚴。

願那些在黑暗中堅持的人,不再孤單。
願這個世界,終有一天,不再需要用勇氣去換取自由。

謝謝大家。

دوستان، و همه کسانی که به آزادی و حقوق بشر اهمیت می‌دهند:


وقتی جامعه‌ای دیگر نمی‌تواند مردم خود را حتی با ترس ساکت کند، تغییر بی‌سروصدا آغاز شده است.


امروز، تمرکز ما نه تنها بر ایران، بلکه بر همه کسانی است که در میان جنگ و ظلم برای زنده ماندن تلاش می‌کنند.


در آن سرزمین، کودکان با انفجار در شب از خواب بیدار می‌شوند، مادران خانواده‌های خود را از ترس در آغوش می‌گیرند و جوانانی که باید رؤیا داشته باشند، مجبور به رویارویی با فردایی نامشخص هستند.


جنگ و درگیری هرگز فقط خطوطی روی نقشه نیستند؛


آنها رنج واقعی، از هم پاشیدن خانواده‌ها، از دست دادن جان‌های بی‌شماری از بی‌گناهان هستند.


و حتی دلخراش‌تر این است که دستگاه قدرت تصمیم می‌گیرد صدای مردم را نادیده بگیرد.


سپاه پاسداران انقلاب اسلامی، که قرار است از ملت محافظت کند، گاهی اوقات به نیرویی برای سرکوب مردم تبدیل شده است.


وقتی از زور علیه مردم خود استفاده می‌شود، وقتی از ترس به عنوان ابزاری برای حکومت استفاده می‌شود، این فقط خونسردی نیست، بلکه خیانت به بشریت است.


بی‌رحمی فقط به سرکوب فیزیکی مربوط نمی‌شود؛ همچنین در مورد نادیده گرفتن ارزش زندگی و محروم کردن مردم از امید به آینده است.


جهل در قضاوت نادرست تاریخ آشکار می‌شود - هر نظمی که از طریق ظلم و ستم حفظ شود، نمی‌تواند دوام بیاورد؛ هر قدرتی که صدای مردم را نادیده بگیرد، سرانجام توسط زمان از بین خواهد رفت.


اما حتی در تاریک‌ترین لحظات، نور بشریت همچنان می‌درخشد.


هر کسی که برخیزد، پرتوی از نور است.


هر کسی که مایل به بیان حقیقت باشد، نقطه شروع تغییر است.


آنها برای جنگیدن نمی‌جنگند؛


آنها صرفاً آینده‌ای می‌خواهند که بتوانند در آن در صلح زندگی کنند و آزادانه نفس بکشند.


ما ممکن است در مکان‌های مختلفی باشیم، اما می‌توانیم بی‌تفاوت نباشیم.


جهان در حال تماشا است.


تاریخ در حال ثبت است.


و باید به یاد داشته باشیم - قدرت واقعی نه از ترس، بلکه از شجاعت و شرافت مردم ناشی می‌شود.


باشد که کسانی که در تاریکی استقامت می‌کنند، دیگر تنها نباشند.


باشد که روزی این جهان دیگر نیازی به مبادله شجاعت با آزادی نداشته باشد.


متشکرم.


居安思危——在權力集中的時代,重新審視台海局勢

 

居安思危——在權力集中的時代,重新審視台海局勢



各位朋友,大家好:

站在 2026 年的這個時間點,我們回頭看過去幾年的台海局勢,會發現我們正處於一個歷史的轉折點。今天我想跟大家聊一個嚴肅,但我們無法迴避的話題:為什麼台灣必須對習近平領導下的中國保持高度警覺?

這不是在製造對立,更不是在散布恐慌,而是身為民主社會的公民,我們必須擁有的「政治現實感」。

一、 從「集體領導」轉向「個人意志」的風險

過去的中國共產黨,多少存在「權力平衡」的機制。但隨著習近平進入他的第三個(甚至更久)任期,權力高度集中的結果,是決策圈的縮小。

  • 資訊過濾的隱憂: 當領導者身邊只剩下「順從者」,真實的民意與國際反應往往會被過濾。這種「資訊繭房」極易導致戰略誤判,認為武力解決台海問題是簡單且必要的選擇。

  • 歷史使命的壓力: 習近平將「祖國統一」與他的「中華民族偉大復興」深度綁定。當這成為他個人歷史定位的唯一指標時,他對和平現狀的耐心可能會遠低於前幾任領導人。

二、 內部壓力的外部轉向

2026 年的今天,我們看到中國面臨房地產轉型困難、人口紅利消失以及青年失業率的挑戰。歷史經驗告訴我們,當一個強權國家內部經濟面臨結構性停滯時,領導者往往會利用**「民族主義」**來轉移社會矛盾。

台灣,不幸地,總是被推上這個政治舞台的最前線。習近平需要的可能不是一場全面的戰爭,而是一場持續不斷的「灰色地帶衝突」,透過軍事演習和經濟施壓,來鞏固他對內部的號召力。

三、 認知作戰與社會韌性

我們要小心的,不只是飛彈,還有**「看不見的戰爭」**。習近平政府近年來對台的干預手段已趨向精細化:

  • 裂解社會: 透過社群媒體散布爭議資訊,讓我們內部產生懷疑與仇恨。

  • 心理疲勞: 透過頻繁的軍演,讓我們對威脅產生「感官麻痺」。

我們應有的覺悟: 「小心習近平」,並不代表我們要陷入仇恨,而是要建構更強大的**「社會韌性」**。

  1. 經濟脫鉤與多元化: 減少對單一市場的依賴,保護我們的半導體與高科技產業鏈。

  2. 國際聯盟: 讓世界知道,台灣的和平不僅是台灣的事,更是全球供應鏈與民主價值的紅線。

  3. 心理防線: 辨識假訊息,保持理性討論的空間,不讓恐懼撕裂我們的團結。

結語

各位,和平從來不是卑躬屈膝換來的,而是建立在「實力」與「警覺」之上。我們不求戰,但我們必須讓對方知道,發動戰爭的代價是他無法承受的。

面對一個權力集中的領導者,我們最好的防禦,就是展現民主社會的韌性與冷靜。謝謝大家。