如何选择一个数字出版适用的chatui

设计风格上我很喜欢https://chatui.io/,但是它是react的,我的vue3项目没法直接用,虽然可以用跨框架方案https://github.com/gloriasoft/veaury来集成,但这显然更适用于直接使用现有组件,而不是需要继续改造的情景。

还有一个风格和更新活跃度上都不错的是https://deepchat.dev/,但是经过一番研究,这个项目是完全基于web components的,虽然兼容性很好,可以同时用于vue和react等,但是为我的vue适配扩展显得依然比较繁重,短期内我没有这么多精力去维护。

再退一步来说,https://github.com/advanced-chat/vue-advanced-chat其实是个不错的方案,但近期更新较少,我担心后续维护有问题,不能继续吸血社区。另外,其中一些命名偏传统即时通讯概念,而不是面向AI,当然,功能上倒是没问题。

还有一个https://github.com/pdsuwwz/chatgpt-vue3-light-mvp实现了多种消息内容的适配,比如 markdown-it Mermaid/KaTex/LaTex 公式等,这是我想在对话中扩展的类型,但这个项目并没有封装为一个可插入的组件。

最终,我想在vue-advanced-chat的基础上,参考chatgpt-vue3-light-mvp的一些消息类型的扩展方式,做一个自定义的vue-advanced-chat组件。

国产替代5k屏最佳使用方案

所谓国产替代5k屏指的是号称平替戴尔和LG等一线产品的国产显示器,不管其声称用的是多么好的面板,多半是京东方的,京东方产量其实很不小,只是品质可能差一些,但也能用,差距应该没有多大,主要差别在于显示器主板做工,平替要是打开看的话是一眼就知道是平替,至于摄像头、光感、音响,为了价钱,都是可以舍弃的。

之所以说能替,在于配置得当还是可以用的,记住以下要点:

  1. 首先要确认接5k屏的电脑要够强大,我用的是m2 max,刷新率可以干到120Hz,但为了省电,我选择了设置60Hz,同时,也避免可能会发生的闪屏。
  2. 显示器最好接一个带开关的插座,不用的时候直接关插座上的开关断电,不要用待机自动熄屏,否则恢复的时候可能会闪屏。
  3. 显示器设置为p3色彩模式,显示效果和mac的屏很接近了,当然,修图不算,主要说的是针对一般的软件开发。如果是修图,本身有一个macbook pro的原装屏作为对照,也好看一看普通人显示出来是什么效果。在这个模式下,其他很多参数就已经固化了,不用再去设置。
  4. 主机用macbook的话,把内建显示器的原彩显示关掉,自动亮度可以不关,因为这外接替代屏本身也不会同步亮度,影响不大。主机还建议把锁定屏幕中的“使用电源适配器供电且不活跃时关闭显示器”设置为“永不”或者设置成两三个小时,否则再起来的时候外接显示器也会闪屏(不是一直闪,是亮起之后偶尔会闪一下),养成手动断电的好习惯。
  5. 主机最好不用显示器的反向充电,毕竟macbook的原装充电器比显示器里内置的那个劣质产品要好多了。

完成以上设置,就可以舒舒服服的使用了。

建议的开机顺序:

  1. 打开macbook
  2. 打开显示器电源(插上type-c到macbook,如果没插的话)
  3. 合上macbook(如果只想用外接屏的话)

建议的关机顺序

  1. 断开显示器电源
  2. 合上macbook

我的新开发环境硬件组合

macbook pro m2 max 96G 2T+星华辰UP40R2(5120×2160,120hz,最高144hz,但接我这个笔记本只有120)

显示器设置色彩模式为DCIP3,色彩已经很接近苹果的屏幕了。

注意如果开盖使用,外接屏幕有可能会发黄/暖,那是因为mac开了原彩显示,关掉即可,内外屏的色彩就基本上一致了。

另外,如果外接屏幕支持亮度同步,比如明基,也需要关闭自动亮度,明基官网是这么说的。

想了解更多细节,可以留言评论。

macos微信双开方法2025

命令如下:

1、复制微信应用:

sudo cp -R /Applications/WeChat.app /Applications/WeChat2nd.app

2、修改 Bundle ID:

sudo /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier com.tencent.WeChat2nd" /Applications/WeChat2nd.app/Contents/Info.plist

3、重新签名应用:

sudo codesign --force --deep --sign - /Applications/WeChat2nd.app

来源:https://www.bilibili.com/video/BV1xiLbzLECp/

截至目前最好用的語音轉文字方案依然是aadnk/faster-whisper-webui

地址:https://huggingface.co/spaces/aadnk/faster-whisper-webui

對比了幾個更新一點的方案,有的增加了隊列和資源可視化,但是效率比較低,尤其是沒有優化顯存佔用,比如https://github.com/jhj0517/Whisper-WebUI,使用v3模型時需要25G顯存,我的3090還跑不起來了,而且並不支持詞級標註。

爲了更方便的使用aadnk/faster-whisper-webui,可以在其文件目錄中增加一個docker-compose.yml

services:
  faster-whisper:
    image: registry.gitlab.com/aadnk/whisper-webui:latest
    container_name: faster-whisper
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]
    ports:
      - "7001:7860"
    volumes:
      - ./cache/whisper:/root/.cache/whisper
      - ./cache/huggingface:/root/.cache/huggingface
    restart: on-failure:15
    environment:
      - HTTP_PROXY=http://192.168.1.200:16236
      - HTTPS_PROXY=http://192.168.1.200:16236
      - NO_PROXY=localhost,127.0.0.1,::1
    command: >
      app.py
      --whisper_implementation whisper
      --input_audio_max_duration -1
      --server_name 0.0.0.0
      --auto_parallel True
      --default_vad silero-vad
      --default_model_name large-v2

注意其中的large-v2也可以改爲large-v3,最新版已經支持。另外,HTTP_PROXY相關設置是爲了啓動時通過代理訪問gradio,否則會啓動失敗,通過environment來設置代理的方式比較靈活,不會影響其他docker容器,詳細情況參加我前面一篇博客。

在 Ubuntu 系統中設置代理:網絡連接、Shell 和 Docker 的配置方法與影響範圍

在 Ubuntu 系統中設置代理:網絡連接、Shell 和 Docker 的配置方法與影響範圍在 Ubuntu 系統中,設置代理是常見的需求,特別是在企業網絡環境或需要訪問特定資源時。本文將詳細介紹如何在 Ubuntu 的網絡連接、Shell 環境以及 Docker 中設置代理,並闡述它們的影響範圍和注意事項。無論你是普通用戶還是開發者,這篇博客都能幫助你清晰理解代理配置的邏輯與實操。


1. 為什麼需要分別配置代理?在 Ubuntu 中,代理設置的應用範圍因環境而異:

  • 系統網絡設置:適用於圖形界面應用程序(如瀏覽器、某些 GUI 工具),由系統的網絡管理工具(如 NetworkManager)控制。
  • Shell 環境:命令行工具(如 curl、wget、apt)依賴環境變量或專屬配置文件,獨立於系統代理設置。
  • Docker:Docker 引擎(dockerd)和容器內的命令有各自的代理配置,分別影響鏡像拉取和 Dockerfile 中的網絡操作。

由於這些環境的網絡棧相互獨立,代理設置不會自動共享,因此需要在每個環境中單獨配置。


2. 配置系統網絡代理方法Ubuntu 的圖形界面(如 GNOME)允許通過設置應用程序配置全局代理,影響支持系統代理的應用(如 Firefox、Chrome)。

  1. 打開網絡設置:
    • 打開「設置」 > 「網絡」 > 「網絡代理」。
    • 選擇代理類型(如 HTTP、HTTPS、SOCKS)並輸入代理服務器地址和端口。
    • 如果需要認證,填入用戶名和密碼。
  2. 命令行配置(適用於無 GUI 環境):
    • 編輯 /etc/environment,添加全局代理設置:bashsudo nano /etc/environment添加:http_proxy="http://proxy_server:port" https_proxy="http://proxy_server:port" ftp_proxy="http://proxy_server:port" no_proxy="localhost,127.0.0.1,::1"
    • 保存後,登出或重啟使設置生效。
  3. NetworkManager CLI 工具(nmcli): 如果使用 NetworkManager,可以通過命令行設置代理:bashnmcli connection modify <connection_name> proxy.method manual nmcli connection modify <connection_name> proxy.http http://proxy_server:port nmcli connection modify <connection_name> proxy.https http://proxy_server:port查看當前連接名稱:bashnmcli connection show

影響範圍

  • 適用:圖形界面的應用程序(如瀏覽器、某些更新工具)。
  • 不適用:Shell 環境中的命令行工具(如 curl、apt)和 Docker 引擎。

注意事項

  • 系統代理設置不影響命令行工具,因為它們不直接讀取 NetworkManager 或 GSettings 的配置。
  • 如果代理需要認證,確保格式為 http://username:password@proxy_server:port。

3. 配置 Shell 環境代理Shell 環境中的命令行工具(如 curl、wget、apt)依賴環境變量或專屬配置文件來使用代理。方法3.1 臨時設置(僅當前會話)在 Shell 中設置環境變量:

bash

export http_proxy="http://proxy_server:port"
export https_proxy="http://proxy_server:port"
export ftp_proxy="http://proxy_server:port"
export no_proxy="localhost,127.0.0.1,::1"

這些設置僅對當前 Shell 會話有效,關閉終端後失效。3.2 全局設置將環境變量添加到 Shell 配置文件(如 ~/.bashrc 或 ~/.zshrc):

bash

echo 'export http_proxy="http://proxy_server:port"' >> ~/.bashrc
echo 'export https_proxy="http://proxy_server:port"' >> ~/.bashrc
echo 'export ftp_proxy="http://proxy_server:port"' >> ~/.bashrc
echo 'export no_proxy="localhost,127.0.0.1,::1"' >> ~/.bashrc

使配置生效:

bash

source ~/.bashrc

或者,編輯 /etc/environment(影響所有用戶):

bash

sudo nano /etc/environment

添加:

http_proxy="http://proxy_server:port"
https_proxy="http://proxy_server:port"
ftp_proxy="http://proxy_server:port"
no_proxy="localhost,127.0.0.1,::1"

3.3 特定工具配置某些工具需要獨立配置代理:

  • APT: 創建或編輯 /etc/apt/apt.conf.d/proxy.conf:bashsudo nano /etc/apt/apt.conf.d/proxy.conf添加:Acquire::http::Proxy "http://proxy_server:port"; Acquire::https::Proxy "http://proxy_server:port";
  • curl: 在命令行指定:bashcurl --proxy http://proxy_server:port http://example.com或在 ~/.curlrc 中設置:bashecho "proxy = http://proxy_server:port" >> ~/.curlrc
  • wget: 在 ~/.wgetrc 中設置:bashecho "http_proxy = http://proxy_server:port" >> ~/.wgetrc echo "https_proxy = http://proxy_server:port" >> ~/.wgetrc echo "use_proxy = on" >> ~/.wgetrc

3.4 使用 proxychains(可選)對於不支持環境變量的工具,可以使用 proxychains:

  • 安裝:bashsudo apt install proxychains
  • 編輯 /etc/proxychains.conf,添加代理:http proxy_server port
  • 運行命令:bashproxychains curl http://example.com

影響範圍

  • 適用:大多數命令行工具(如 curl、wget),但需要工具支持環境變量或有自己的配置文件。
  • 不適用:Docker 引擎的網絡操作(如拉取鏡像)或 Dockerfile 中的命令,除非顯式傳遞。

注意事項

  • 環境變量大小寫敏感,建議同時設置小寫和大寫(如 http_proxy 和 HTTP_PROXY)。
  • 臨時禁用代理:bashunset http_proxy https_proxy

4. 配置 Docker 代理Docker 的代理設置分為兩部分:Docker 引擎(影響鏡像拉取)和容器內部(影響 Dockerfile 的 RUN 命令)。方法4.1 配置 Docker 引擎代理(用於拉取鏡像)Docker 引擎負責從倉庫(如 Docker Hub)下載鏡像,其代理設置獨立於 Shell 和系統代理。

  • 編輯 /etc/docker/daemon.json:json{ "proxies": { "http-proxy": "http://proxy_server:port", "https-proxy": "http://proxy_server:port", "no-proxy": "localhost,127.0.0.1,::1" } }
  • 重啟 Docker 服務:bashsudo systemctl restart docker
  • 驗證:bashdocker info --format '{{.HTTPProxy}}'

4.2 配置容器內代理(用於 Dockerfile 的 RUN 命令)Dockerfile 中的 RUN 命令運行在臨時容器中,默認不繼承宿主機的代理設置。

  • 方法 1:在 Dockerfile 中設置:dockerfileFROM ubuntu:20.04 ENV http_proxy=http://proxy_server:port ENV https_proxy=http://proxy_server:port RUN apt-get update && apt-get install -y curl # 清理代理設置(安全考慮) ENV http_proxy="" ENV https_proxy=""
  • 方法 2:通過 docker build 傳遞: 如果 Shell 已設置 http_proxy 等變量,可以在構建時傳遞:bashdocker build \ --build-arg http_proxy=$http_proxy \ --build-arg https_proxy=$https_proxy \ --build-arg no_proxy=$no_proxy \ -t myimage .
  • 方法 3:為特定工具配置(如 APT): 在 Dockerfile 中為 apt 配置代理:dockerfileRUN echo 'Acquire::http::Proxy "http://proxy_server:port";' > /etc/apt/apt.conf.d/proxy.conf RUN echo 'Acquire::https::Proxy "http://proxy_server:port";' >> /etc/apt/apt.conf.d/proxy.conf RUN apt-get update

影響範圍

  • Docker 引擎代理:影響 docker pull 和 docker build 中的鏡像拉取。
  • 容器內代理:影響 Dockerfile 中 RUN 命令的網絡操作(如 apt-get、curl)。
  • 不適用:Shell 的 http_proxy 不會自動影響 Docker,除非通過 –build-arg 或 Dockerfile 傳遞。

注意事項

  • 如果代理需要認證,格式為 http://username:password@proxy_server:port。
  • 在 Dockerfile 中設置代理後,建議在構建結束時清理環境變量以避免泄露。
  • proxychains 不推薦用於 Docker,因其對容器內部行為影響有限。

5. 驗證代理配置

  • 系統代理: 使用瀏覽器訪問外部網站,檢查是否通過代理。
  • Shell 代理:bashenv | grep -i proxy curl -I http://example.com
  • Docker 引擎代理:bashdocker pull hello-world
  • 容器內代理: 在 Dockerfile 中添加測試命令:dockerfileRUN curl -I http://example.com

6. 總結與最佳實踐配置總結

  • 系統網絡代理:適用於 GUI 應用,通過設置或 /etc/environment 配置。
  • Shell 代理:通過環境變量或工具特定配置文件設置,影響命令行工具。
  • Docker 代理:
    • Docker 引擎:配置 /etc/docker/daemon.json,影響鏡像拉取。
    • 容器內:通過 Dockerfile 或 –build-arg 設置,影響 RUN 命令。

最佳實踐

  1. 分環境配置:根據需求分別設置系統、Shell 和 Docker 代理,避免依賴單一配置。
  2. 安全性:在 Dockerfile 中清理代理設置,避免敏感信息泄露。
  3. 靈活性:使用 –build-arg 動態傳遞代理,適應不同環境。
  4. 驗證:每次配置後測試代理是否生效,確保網絡行為符合預期。

通過以上方法,你可以在 Ubuntu 中靈活配置代理,滿足不同場景的網絡需求。希望這篇博客能為你的代理設置提供清晰的指導!

from:grok

ps:要想從grok裏面整體複製以上內容還要想一點特殊的辦法,否則容易被截斷或者丟失格式。方法如下:打開瀏覽器的調試窗口,選中回復內容的區塊,編輯HTML,全選其中的代碼並複製,然後粘貼到wordpress的編輯窗口中,注意直接粘貼即可,wordpress的編輯窗口對輸入的html會進行自動處理。

中医的针灸针

朋友最近很累,几年来从来没有见他这么累过,显然是心累。

作为一个中医,拿到手上的针灸针不如意,显然是采购那里有猫腻,退货,退货,目前还在僵持。

grok给的建议中如下部分可以参考:

保持中立:绝不直接指控“回扣”或高层问题,避免被贴上“麻烦制造者”标签。始终以“保障医疗质量”和“患者安全”为出发点。

记录沟通:与采购科、上级或管理层的所有沟通(邮件、会议、口头)都要记录时间、内容、对方态度,防止被反咬或推责。

人际关系:私下与同事或可信上级沟通,了解采购科或高层的背景,判断问题深度。避免孤军奋战,争取盟友支持。

心理调理:面对复杂职场环境,心累加剧。建议继续针灸(内关、神门、三阴交、太冲)或中药(归脾汤、逍遥散加酸枣仁、合欢皮)调理,配合散步、冥想,保持情绪稳定。

为什么要交社保

有人说既然现在的人交的社保,直接发给了现在的这波老年人,那么每个月两三干的社保为什么不直接给自己家老人呢?毕竟,能每月按时给自己家老人这个数目的人并不多。

问这个问题不如问下为什么不能不交社保。

如果你的答案是不能不交,那就证明社保不是转移支付的方式,而是保护费。