从“内卷”到,准时下班
年前,公司裁了一波,组内陆续走了 3-5 个人。
公司计划优化 15%~ 30%,年后估计还有。
那个时候,大家都挺焦虑😐,不确定下个会不会是自己?
后面有些部门放话:没事不要加班。
到这里,大家都明白:裁员跟加班没关系。
从那时起,到年后这段时间,我都准时下班,
甚至在下班前,就开始收拾,准备一到点,就撤。
似乎被裹挟太久,现在每天上班,感觉变轻松很多,有种难得的释怀。
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
年前,公司裁了一波,组内陆续走了 3-5 个人。
公司计划优化 15%~ 30%,年后估计还有。
那个时候,大家都挺焦虑😐,不确定下个会不会是自己?
后面有些部门放话:没事不要加班。
到这里,大家都明白:裁员跟加班没关系。
从那时起,到年后这段时间,我都准时下班,
甚至在下班前,就开始收拾,准备一到点,就撤。
似乎被裹挟太久,现在每天上班,感觉变轻松很多,有种难得的释怀。
搬家至少有 7 ,8 次的经验了,从来没坏过东西。这次图便宜,闲鱼叫了个搬家,个人接单那种。
结果把 3000 多的显示器搞坏了,搬家费 1000 。
最后扯了半天,只能不给搬家费,不欢而散,大家都很沮丧。
显示器就算卖二手,算上搬家费,也血亏 1000 多。
意难平。😂
大家以后搬家一定选公司,一般都有保险。
大家好,我是R哥。 Claude Code 的创始人在他的社交媒体上分享了来自 Claude Code 团队官方的使用的 10 个小技巧,赶紧来学习,Get 新技能。 同时开 3–5 个独立的代码目录(用 git worktree 最方便),每个目录里跑一个独立的 Claude 会话。 一个修 bug、一个写新功能、一个看日志分析问题……彻底不等了。 先让 Claude 出详细计划(Plan Mode),你多花时间改计划,直到靠谱了再让它一次性实现。 一个 Claude 写计划 , 另一个 Claude 当资深工程师审计划, 一旦跑偏,立刻回到计划阶段重来,别硬推。 每次 Claude 犯错,就立刻说:把这个错误记到 CLAUDE.md 里,以后别再犯了。 Claude 特别擅长给自己写规则,持续迭代这份文件,出错率会明显下降。 一天干超过一次的操作,就做成 skill 或 /xxx 命令,提交到 git。 例如 /techdebt(扫描重复代码)、一键拉 7 天 Slack+GitHub 上下文、自动写测试等。 把 Slack bug 讨论直接丢给它,说 fix 就行,或者 “Go fix the failing CI tests”。 分布式系统出问题,直接给 docker logs 让它排查。 开启 Slack MCP 后效果更强。 团队最爱 Ghostty。 用 /statusline 自定义状态栏显示上下文用量和 branch。 给终端 tab 配色+命名(一个任务一个 tab)。 强烈推荐语音输入(macOS fn 连按两下),说话比打字快 3 倍,prompt 也能写得更细。 复杂任务后面加一句 “use subagents”,让 Claude 投入更多算力。 把独立小任务外包给 subagent,保持主上下文干净。 还可以设置 hook 把权限请求路由给 Opus 4.5 自动审批安全操作。 让它用 bq CLI 现场跑 BigQuery 查询,拉数据分析。 团队有个共享 BigQuery skill,人人复用。 任何带 CLI/MCP/API 的数据库都能这么玩。 打开 explanatory/learning 模式,让它解释为什么这么改 让它生成 HTML 幻灯片讲解陌生代码 让它画 ASCII 图解释架构 建间隔重复学习:你讲理解 → 它追问补漏 → 存下来复习 最后,使用 Claude Code 没有唯一标准答案,每个人的配置与使用场景都各有差异,要多去尝试,摸索出最适合自己的方式。
1、多开并行干活,效率翻倍

2、复杂需求先写计划,别直接让它 coding

3、建一个 CLAUDE.md,当成团队知识库

4、重复的事就封装成 Skill 或斜杠命令,用 Git 管理

5、Bug 直接丢给它修,别手把手教

6、Prompt 写得越高级越好,逼它出好代码

7、选择好的终端工具

8、善用 Subagents(子代理)

9、数据分析直接交给 Claude

10、把 Claude 当老师

闲暇之余,用了点小心思开发了一款搭建玄学主题的智能体平台。主要面向命理从业或学习人员,如果你有自己的知识体系,有自己的思想框架,不妨试试用命网来搭建您的智能体。
命网( Fatamesh )是融合东方哲学与前沿 AI 的智能体平台。它不仅是助手,更是您的“身外化身”——具备长期记忆,通过 MCP 协议连接万物,并支持您构建与分享专属的领域专家。

需要使用邮箱注册哦,国内用户没有梯子的话使用谷歌授权会失败哦。
不同于 coze 等平台,我们尽量提供简单的方式来创建您的智能体(平台中我们称为灵犀),整体流程如下:
对话示例 → 生成人设 → 绑定神通和知识库 → 生成灵犀
然后你就可以愉快的和你的智能体进行对话啦。

平台提供了八字、紫薇斗数、星盘、大六壬人、塔罗的 MCP 服务(可以理解为智能体调用工具),利用这些服务,智能体能准确客观地进行排盘、测算,不会受幻觉影响。
对于命理师而言

李白出生于公元 701 年 2 月 28 日,至 2026 年 2 月 28 日,已满 1325 年。
李白是唐代伟大的浪漫主义诗人,被后人誉为“诗仙”。他的生平有多种说法,但出生日期普遍记载为 701 年 2 月 28 日,逝世于 762 年 12 月,享年 61 岁。
我读过李白最浪漫的诗句是
且乐生前一杯酒,何须身后千载名。春风知别苦,不遣柳条青。我且为君槌碎黄鹤楼,君亦为吾倒却鹦鹉洲。南湖秋水夜无烟,耐可乘流直上天?且就洞庭赊月色,将船买酒白云边。
让财富流向小部分人吗
企业微信ipad协议在多设备间的消息路由与状态同步 在企业微信的多设备使用场景中,手机与iPad可同时登录同一账号,且消息记录完全同步。这一能力背后的核心技术支撑,便是企业微信ipad协议的消息路由机制。本文从设备间通信视角,解析协议接口如何实现消息在多端之间的精准投递与状态一致性维护。 企业微信ipad协议的消息路由采用“服务端分发+设备自维护”的混合架构。当一条消息从手机端发出,服务端会根据目标设备的在线状态和会话ID,通过长连接通道实时推送到所有在线设备。对于离线设备,消息会被持久化存储,待设备重连后通过增量同步机制补发。 协议接口中的消息寻址依赖于会话ID和设备指纹的双重标识。每个会话都有一个全局唯一的64位会话ID,而每个登录设备则通过设备证书与硬件指纹绑定。服务端维护着一张动态路由表,记录每个会话ID关联的设备列表及其当前连接状态。以下是一个简化的路由表结构示例: 当iPad端通过企业微信ipad协议接收到消息时,客户端需根据消息类型和来源进行本地存储与UI渲染。消息体中的seq字段用于增量同步断点记录,确保断线重连后不会重复拉取已读消息。以下是一个基于SQLite的消息存储实现片段: 在多设备场景下,消息状态同步面临的核心挑战是“已读”状态的跨设备一致性。企业微信ipad协议通过read_seq机制解决这一问题:每个设备本地维护已读消息的最大seq值,当用户阅读新消息时,客户端通过协议接口上报read_seq,服务端将其广播给其他在线设备。 以下是一个模拟消息状态上报的Go语言实现片段,展示如何将已读序列同步至服务端: 消息路由的另一个重要维度是多媒体资源的传输优化。企业微信ipad协议支持通过CDN直传方式分发图片、视频等大文件:客户端先将文件上传至CDN,获取media_id后再通过消息通道发送引用,接收端根据media_id从CDN拉取。这种设计避免了消息通道的大流量阻塞,同时通过encrypted_file_key确保内容传输安全。 从运维角度看,企业微信ipad协议的消息路由稳定性高度依赖长连接的健康状态。当设备网络切换或进入休眠时,TCP长连接可能断开,此时客户端需启动指数退避重连机制,并携带最近一次成功同步的seq值请求增量恢复。以下是一个简单的断线重连逻辑示例: 总结而言,企业微信ipad协议通过服务端路由表、设备级标识、seq增量同步和CDN分流等技术,构建了一套高效、可靠的多设备消息同步体系。理解这一机制,有助于开发者在集成企业微信协议接口时,设计出符合业务需求的跨端消息处理方案。CREATE TABLE device_route (
session_id BIGINT,
device_id VARCHAR(64),
user_uin BIGINT,
conn_status TINYINT, -- 0:离线 1:在线
last_active INT,
PRIMARY KEY (session_id, device_id)
);import sqlite3
import json
class MessageStore:
def __init__(self, db_path='msg_cache.db'):
self.conn = sqlite3.connect(db_path)
self._init_tables()
def _init_tables(self):
cursor = self.conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS messages (
msg_id TEXT PRIMARY KEY,
session_id BIGINT,
from_uin BIGINT,
msg_type TINYINT,
content TEXT,
timestamp INT,
seq BIGINT,
is_read TINYINT DEFAULT 0
)
''')
cursor.execute('CREATE INDEX IF NOT EXISTS idx_session ON messages(session_id)')
cursor.execute('CREATE INDEX IF NOT EXISTS idx_seq ON messages(seq)')
self.conn.commit()
def insert_message(self, msg):
cursor = self.conn.cursor()
cursor.execute('''
INSERT OR REPLACE INTO messages
(msg_id, session_id, from_uin, msg_type, content, timestamp, seq)
VALUES (?, ?, ?, ?, ?, ?, ?)
''', (
msg['msg_id'],
msg['session_id'],
msg['from'],
msg['type'],
json.dumps(msg.get('content', {})),
msg['time'],
msg['seq']
))
self.conn.commit()package main
import (
"bytes"
"encoding/json"
"net/http"
)
type ReadStatus struct {
SessionID uint64 `json:"session_id"`
ReadSeq uint64 `json:"read_seq"`
DeviceID string `json:"device_id"`
}
func reportReadStatus(sessionID uint64, readSeq uint64, deviceID string) error {
status := ReadStatus{
SessionID: sessionID,
ReadSeq: readSeq,
DeviceID: deviceID,
}
data, _ := json.Marshal(status)
resp, err := http.Post(
"https://api.wecom.private/sync/read_status",
"application/json",
bytes.NewBuffer(data),
)
if err != nil {
return err
}
defer resp.Body.Close()
return nil
}import time
import random
def connect_with_retry(host, port, max_retries=5):
retry_count = 0
while retry_count < max_retries:
try:
sock = socket.create_connection((host, port), timeout=10)
return sock
except Exception as e:
retry_count += 1
wait_time = (2 ** retry_count) + random.uniform(0, 1)
time.sleep(wait_time)
raise Exception("max retries exceeded")# 技术支持:contact_ref = {"protocol": "wework_route", "id": "bot555666"}
大模型用得越多,越容易陷入一种混乱状态。 刚开始问题不大,大家还能靠“记得住”来维持。 费用开始失控、模型切换成本极高、权限越来越乱、出了问题也很难排查。 于是,越来越多团队开始引入一个概念: 在目前的开源方案里,LiteLLM 是非常实用、也非常容易真正落地的一种。 我们按下面这条路线,一步步把它跑起来: 先说清楚一件事: 它更像是一个统一的大模型代理层,或者你也可以理解为: 对外,它暴露的是 OpenAI 兼容 API; 最终的效果是: 应用侧只需要认一个地址、一个 Virtual Key。 如果只是本地玩一玩,直接起一个 Docker 容器也可以。 它有几个明显好处: 保持简洁,后面所有东西都围绕这两个文件来。 这里的 浏览器打开: LiteLLM 的核心设计之一,就是用 Virtual Key 来统一管理、隔离使用者和模型资源。 在 Models + Endpoints 页面中,选择 Add Model。 注意:生成的 Key 只显示一次,一定要保存好。 当开始多人使用时,这一部分非常关键。 用于统一管理成员和资源。 通过访问组来控制: 如果你接的是收费模型,这一步非常有用。 核心只有三点: 今天 GPT-4 只改配置,不动业务代码。 很多人刚接触大模型时,最关心的是效果; LiteLLM 并不会让模型变聪明, 如果你已经不满足“能跑就行”,
但只要项目一多、人数一多,麻烦立刻显现出来:
大模型网关(LLM Gateway)。为什么要用 → Docker Compose 部署 → 模型与 Key 管理 → 权限与预算 → 实际调用 → 真实使用场景
一、LiteLLM 是什么?它解决的不是“能不能用”,而是“怎么管”
LiteLLM 本身不是模型。所有大模型的 统一入口 + 管理中枢
对内,它可以接入各种不同来源的大模型,包括:
至于后面到底用的是哪家模型、怎么调度、怎么限额,全部交给 LiteLLM 处理。二、Docker Compose 部署(生产环境强烈推荐)
但只要你是长期使用或多人使用,Docker Compose 是最稳妥的方式。1️⃣ 准备目录结构
litellm/
├── docker-compose.yml
└── .env2️⃣ 编写
docker-compose.ymlservices:
litellm:
build:
context: .
args:
target: runtime
image: docker.litellm.ai/berriai/litellm:main-stable
#########################################
# Uncomment these lines to start proxy with a config.yaml file #
# volumes:
# - ./config.yaml:/app/config.yaml
# command:
# - "--config=/app/config.yaml"
##############################################
ports:
- "4000:4000"
environment:
DATABASE_URL: "postgresql://llmproxy:dbpassword9090@db:5432/litellm"
STORE_MODEL_IN_DB: "True"
env_file:
- .env
depends_on:
- db
healthcheck:
test:
- CMD-SHELL
- python3 -c "import urllib.request; urllib.request.urlopen('http://localhost:4000/health/liveliness')"
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
db:
image: postgres:16
restart: always
container_name: litellm_db
environment:
POSTGRES_DB: litellm
POSTGRES_USER: llmproxy
POSTGRES_PASSWORD: dbpassword9090
ports:
- "5432:5432"
volumes:
- /home/data/litellm/postgres/data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -d litellm -U llmproxy"]
interval: 1s
timeout: 5s
retries: 10提醒一句:
记得把 db 的 volumes 路径改成您自己机器上的真实路径。3️⃣ 环境变量
.envLITELLM_MASTER_KEY=sk-1234
STORE_MODEL_IN_DB=TrueLITELLM_MASTER_KEY,就是后面登录后台用的密码。4️⃣ 启动服务
docker compose -p litellm up -d5️⃣ 访问管理界面
http://localhost:4000
admin.env 里配置的 LITELLM_MASTER_KEY三、如何管理模型?从 Virtual Key 开始
1️⃣ 添加模型(以 Ollama 为例)

2️⃣ 创建 Virtual Key

3️⃣ 在线验证是否可用

四、权限管理(多人协作非常重要)
创建团队(Team)

邀请内部用户(Internal User)

访问组(Access Groups)
谁能用哪些模型、哪些 Key。
预算管理(Budgets)

五、可观测性:终于知道钱花哪了
请求消耗统计

请求日志

六、应用如何调用?几乎不用改代码
Python 示例
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
name="ollama",
model="qwen3:8b",
base_url="http://192.168.31.242:4000",
api_key="sk-Rj-rnKC9lgaohyI7bxKVkg"
)
response = llm.invoke("你是谁?")
print(response)
七、真实使用场景
场景一:公司级 AI 中台
场景二:多项目成本可控
场景三:模型策略随时调整
明天 Gemini
后天本地模型写在最后
真正用久了才发现,最难的是管理、成本和稳定性。
但它能让你:
那这个网关,确实值得你认真搭一套。
作为一名鸿蒙开发者,你是否遇到过这些问题: 如果你中了其中任何一条,那么 HCompass 框架就是为你准备的解决方案。 HCompass 是一个基于 HarmonyOS NEXT / ArkTS / ArkUI 的开源快速开发框架,核心理念是: 通过四层架构 + 功能包机制,让你: HCompass 采用经典的分层架构,从上到下依次为: 每一层职责清晰、边界明确: 功能包(Package) 是 HCompass 的灵魂设计。 一个功能包就是一个独立的业务模块,比如: 每个功能包遵循标准结构: 功能包的核心优势: 看完架构介绍,是不是已经跃跃欲试了?下面我们用 5 分钟,从零搭建一个包含登录、首页、用户中心的完整鸿蒙应用。 恭喜! 你现在看到的是一个包含登录、首页、用户中心的完整鸿蒙应用,而这只是 HCompass 的默认示例功能包。 如果你想开发一个新功能,比如 商城模块,只需要: HCompass 会自动处理路由注册、依赖注入、生命周期管理等复杂逻辑,你只需要专注写业务代码。 HCompass 通过四层架构、功能包机制和一系列开箱即用的特性,为鸿蒙开发者提供了一套完整的快速开发解决方案。 HCompass 特别适合以下场景: ✅ 中大型鸿蒙应用 - 需要清晰架构和模块化设计 ❌ 超小型项目 - 只是做个简单的 Demo,没必要引入框架 HCompass 是开源项目,欢迎各种形式的贡献: 鸿蒙生态正在快速发展,作为开发者,我们需要更好的工具来提高效率。HCompass 就是为了解决这个问题而生的——让鸿蒙开发更简单、更高效。 如果你正在寻找一个好用的鸿蒙开发框架,不妨试试 HCompass。相信它会给你带来惊喜! 项目地址: https://github.com/codelably/HCompass用模块化思维,5分钟搭建一个完整的鸿蒙应用
前言:鸿蒙开发的痛点
什么是 HCompass?
"像搭积木一样构建鸿蒙应用"
HCompass 架构解析
四层架构设计
┌─────────────────────────────────────────┐
│ Entry(应用入口) │ ← 初始化框架、注册模块、启动App
├─────────────────────────────────────────┤
│ Packages(业务功能包) │ ← 独立业务模块:登录/首页/用户中心等
├─────────────────────────────────────────┤
│ Shared(共享契约层) │ ← 服务接口定义、共享状态、类型定义
├─────────────────────────────────────────┤
│ Core(框架核心层) │ ← 路由/网络/DI/数据库/UI组件等基础设施
└─────────────────────────────────────────┘层级 职责 说明 Entry 应用入口 初始化框架、注册功能包、配置路由、启动应用 Packages 业务功能包 独立业务模块,通过 DI 注入实现解耦 Shared 共享契约 定义功能包之间的服务接口、共享状态和类型 Core 框架核心 与业务无关的通用能力,可直接复用到其他项目 功能包机制(核心亮点)
auth - 登录认证功能包main - 首页功能包user - 用户中心功能包shop - 商城功能包chat - 即时通讯功能包packages/user/ # 用户功能包
├── navigation/ # 导航配置(页面路由)
├── services/ # 服务实现
│ └── UserServiceImpl.ets # 用户服务实现
├── view/ # 页面(View)
│ ├── UserProfilePage.ets # 用户资料页
│ └── UserSettingsPage.ets # 用户设置页
├── viewmodels/ # 视图模型(ViewModel)
│ ├── UserProfileViewModel.ets # 用户资料VM
│ └── UserSettingsViewModel.ets # 用户设置VM
├── models/ # 数据模型(可选)
├── components/ # 组件(可选)
└── UserModule.ets # 功能包生命周期(核心)5分钟快速上手
环境准备
第一步:获取 HCompass 框架
git clone https://github.com/codelably/HCompass.git
cd HCompass第二步:用 DevEco Studio 打开项目
File -> Open,选中 HCompass 文件夹第三步:认识项目结构
HCompass/
├── entry/ # 应用入口
│ └── src/main/ets/
│ ├── entryability/ # EntryAbility 初始化
│ ├── navigation/ # 导航主机
│ └── view/ # 入口页面
├── core/ # 框架核心层(不用改)
├── shared/ # 共享契约层(按需扩展)
└── packages/ # 业务功能包(重点在这)
├── auth/ # 登录认证
├── main/ # 首页
├── user/ # 用户中心
└── demo/ # 示例功能包第四步:运行应用
第五步:创建自己的功能包(进阶)
packages/ 目录下创建 shop 文件夹entry 中注册这个功能包总结
核心优势回顾
特性 解决的问题 带来的价值 四层架构 项目结构混乱 清晰分层,易于维护 功能包机制 功能难以复用 即插即用,高度复用 DI 容器 模块耦合严重 解耦依赖,易于测试 导航系统 路由管理混乱 集中配置,类型安全 网络封装 网络代码重复 统一处理,简洁调用 基础父类 样板代码过多 封装共性,专注业务 设计系统 视觉风格不一 统一规范,快速搭建 ORM 封装 数据库操作繁琐 类型安全,简洁优雅 状态管理 V2 状态混乱难以追踪 精确追踪,自动持久化 适合谁用?
✅ 多项目复用 - 希望一套代码在多个项目中复用
✅ 团队协作 - 需要统一开发规范和项目结构
✅ 快速迭代 - 希望减少样板代码,专注业务逻辑不适合谁用?
❌ 学习阶段 - 刚学鸿蒙开发,建议先掌握基础再使用框架如何开始?
git clone https://github.com/codelably/HCompass.git参与贡献
结语
像搭积木一样,快速构建你的鸿蒙应用! 🚀
官方文档: https://hcompass.codelably.com
低代码开发与代码开发共存已成为企业数字化转型中的常态。作为一种长期发展的技术路径,低代码平台将常用功能封装为可视化组件,使开发者能够更专注于业务逻辑与页面设计,从而在提升效率的同时保持开发的灵活性。 众所周知,低代码平台能显著提升开发效率、加速项目交付并支持快速迭代。这主要得益于两大优势:一是直观的可视化界面和拖拉拽的开发方式;二是丰富的预置组件与前后端命令,这些功能大多通过插件形式提供,开箱即用。本文将结合活字格平台,深入探讨如何借助其丰富的插件生态构建实际应用。 在燃气配送、广告业务线下拓客、考勤打卡等场景中,地理位置信息至关重要。例如: 借助活字格的百度地图插件(百度地图 - 葡萄城市场),可轻松实现坐标获取。 获取经纬度后,可通过逆地理编码接口转换为详细地址,并通过活字格的 JS API 回填到页面: 此外,系统可支持“一键导航”功能,调用百度/高德地图等本地导航软件,进一步提升业务便捷性。 注意:在配送员掉起本地高德导航时,可通过坐标转换接口将BD09百度坐标系转换为高德GCJ-02火星坐标系经纬度。 在拓客过程中,业务员常需要查看附近的已有客户。此时,可将客户经纬度存入数据库,并利用 Haversine 公式计算距离。以下为 MySQL 中的实现示例: 在活字格中,可通过“执行 SQL 命令”(内置)与“JSON 数据导入表格”(JSON数据源 - 葡萄城市场)功能,快速实现附近客户的查询与展示。 低代码平台常需与第三方系统集成,活字格的发送 HTTP 请求命令为此提供了强大支持。例如,对接海康云眸 API 获取直播流地址: 获取地址后,可通过HTML自定义集成插件(HTML自定义集成 - 葡萄城市场)嵌入视频播放页面,实现监控视频的实时展示。 在工业物联网场景中,常需接收设备上报的实时数据(如温度、压力)。通过活字格的 MQTT 客户端插件(MQTT客户端 - 葡萄城市场),可轻松连接 MQTT 服务器并订阅主题: 2.在消息回调中处理数据,如保存到数据表,前端表格定时刷新展示。 葡萄城市场(葡萄城市场 - 连接合作伙伴、企业用户与个人开发者)上提供了数百个官方与社区格友开发的插件,涵盖地图、图表、数据处理、软硬件集成等各类场景,大大降低了复杂功能的实现门槛。 低代码不是对传统开发的替代,而是与之互补的增效路径。通过组件化、可视化的方式,它让重复性工作得以沉淀,使开发者能更聚焦于业务创新与用户体验。而像活字格这样拥有丰富插件生态的平台,正成为企业实现快速数字化的重要推手。 未来,随着更多插件与集成能力的涌现,低代码将在业务系统中扮演更加核心的角色,支撑企业灵活、高效地应对变化。引言
一、百度地图集成:从定位到业务应用

var myGeo = new BMapGL.Geocoder();
myGeo.getLocation(new BMapGL.Point(Forguncy.CommandHelper.getVariableValue("经度"), Forguncy.CommandHelper.getVariableValue("纬度")), function (result) {
if (result) {
Forguncy.Page.getCell("LOCATION").setValue(result.address)
}
});var baidu = [Forguncy.Page.getCell("baidu_lng").getValue(),
Forguncy.Page.getCell("baidu_lat").getValue()];
//var baidu = [116.4798674287,39.9989020876]
AMap.convertFrom(baidu, "baidu", function (status, result) {
//status:complete 表示查询成功,no_data 为查询无结果,error 代表查询错误
//查询成功时,result.locations 即为转换后的高德坐标系
if (status === "complete" && result.info === "ok") {
let lng = result.locations[0].lng;
let lat = result.locations[0].lat;
}
});二、基于位置的数据筛选:附近客户查询
SELECT
`ID`,
`Name`,
`lng`,
`lat`,
-- 计算当前位置与客户位置的球面距离(单位:米)
6371000 * 2 * ASIN(
SQRT(
SIN(RADIANS((lat - @lat)/2)) * SIN(RADIANS((lat - @lat)/2)) +
COS(RADIANS(@lat)) * COS(RADIANS(lat)) *
SIN(RADIANS((lng - @lng)/2)) * SIN(RADIANS((lng - @lng)/2))
)
) AS distance_m
FROM `ad_customers_info`
-- 筛选距离≤radius半径的客户
HAVING distance_m <= @radius
-- 按距离由近到远排序
ORDER BY distance_m ASC;三、HTTP 请求集成:对接海康云眸视频流
GET /api/yunmou/videodeviceSerial(设备序列号)、channelNo(通道号)四、MQTT 实时数据:物联网设备监控


五、插件生态:开箱即用的扩展能力
结语
想买台 MacBook Air ,主要需求是内存要够大,对 CPU 性能其实没啥执念。
问题是:等 M5 出来,M4 会不会更划算?
2026年2月27日,Kubernetes 社区一次性发布了4个重要版本的更新:v1.35.2、v1.34.5、v1.33.9 和 v1.32.13。与以往不同,这次更新的主要焦点是升级 Go 编译器版本,修复 Go 1.24.13 和 Go 1.25.7 中包含的安全漏洞。本文将带你详细了解这些版本的重要更新。 这是 v1.35.2 唯一但最重要的更新! 升级详情: 为什么重要? Go 1.25.7 包含了重要的安全修复和 bug 修复: 安全漏洞修复 性能改进 稳定性增强 影响范围: 验证版本: 强烈建议升级: 这是 v1.34.5 的核心更新! 升级详情: Go 1.24.13 的重要修复: 安全修复 Bug 修复 平台支持改进 版本对比: 推荐升级: 与 v1.34.5 相同,v1.33.9 也升级到 Go 1.24.13! 升级详情: 版本演进历史: v1.33 系列在之前的版本中修复了多个重要安全漏洞: CVE-2025-4563 (v1.33.2) CVE-2025-5187 (v1.33.4) Go 安全漏洞 (v1.33.9) 强烈建议升级: v1.32.13 也完成了 Go 1.24.13 的升级! 升级详情: 版本演进历史: v1.32 系列在之前的版本中修复了多个重要安全漏洞: CVE-2024-9042 (v1.32.1) CVE-2025-0426 (v1.32.2) CVE-2025-4563 (v1.32.6) CVE-2025-5187 (v1.32.8) Go 安全漏洞 (v1.32.13) 推荐升级: Go 版本升级 无 API 变更 无依赖项变更 纯安全修复 Go 1.25.7 和 Go 1.24.13 包含的安全修复: 标准库安全修复 网络层安全改进 内存安全 编译器优化: 运行时优化: Bug 修复: 示例场景: Go 语言的定期安全更新: 示例: Go 持续优化: 性能对比: Go 语言演进: 所有 Kubernetes 组件都重新构建: 加密和认证: 网络层面: API Server: Scheduler: Controller Manager: 检查清单: 步骤与上述类似,只需替换版本号。 如果升级出现问题,可以回滚到之前的版本: 所有版本的 API 保持不变,这意味着: 依赖库版本保持不变: 本次更新专注于安全修复: 支持以下容器运行时: 所有主流 CNI 插件都兼容: 所有标准 CSI 驱动都兼容: *相对于 v1.35.1 *相对于 v1.34.4 修复的问题类型: 安全改进效果: CHANGELOG: 本次 Kubernetes 多版本同步发布,与以往版本更新有显著不同: ✅ Go 版本升级 - 所有版本的核心更新都是 Go 编译器升级 ✅ 安全修复 - Go 1.25.7 和 Go 1.24.13 包含重要的安全漏洞修复 ✅ 性能提升 - 编译器优化带来 2-5% 的性能提升 ✅ 无 API 变更 - 升级不影响现有应用,风险低 ✅ 纯维护更新 - 无功能变更,专注安全性和稳定性 ✅ 跨版本同步 - 4个版本同时发布,覆盖所有活跃分支 强烈建议: 所有用户尽快升级到对应的最新版本,以获得最新的安全修复。 版本选择: 升级优先级: 注意事项: 本文基于 Kubernetes 官方 CHANGELOG 和发布信息整理,更多详细信息请参考官方文档。如需技术支持,请访问 Kubernetes 社区Kubernetes 最新版本发布!4个版本同时更新,重点修复Go安全漏洞
🎯 引言
📊 版本概览
版本号 发布日期 状态 主要更新 v1.35.2 2026-02-27 最新稳定版 Go 1.25.7 升级 v1.34.5 2026-02-26 长期支持版 Go 1.24.13 升级 v1.33.9 2026-02-26 维护版本 Go 1.24.13 升级 v1.32.13 2026-02-26 维护版本 Go 1.24.13 升级 重要提示: 本次所有版本的核心更新都是 Go 编译器升级,建议所有用户尽快升级以获得最新的安全修复!
🔥 v1.35.2 重点更新
✨ 主要变更
Go 版本升级到 1.25.7
# 所有 Kubernetes 组件都使用 Go 1.25.7 重新构建
- kube-apiserver
- kube-controller-manager
- kube-scheduler
- kubelet
- kube-proxy
- kubectl# 检查 kube-apiserver 版本
kubectl version --short
# 输出示例:
# Server Version: v1.35.2
# Go Version: go1.25.7
# 检查 kubelet 版本
kubelet --version
# 输出示例:
# Kubernetes v1.35.2
# Go version: go1.25.7📦 依赖项变更
🎯 升级建议
🚀 v1.34.5 重点更新
✨ 主要变更
Go 版本升级到 1.24.13
项目 v1.34.4 v1.34.5 Go 版本 1.24.12 1.24.13 主要更新 DRA 竞态条件修复 Go 版本升级 安全修复 无 Go 安全漏洞 API 变更 无 无 📦 依赖项变更
🎯 升级建议
🛡️ v1.33.9 重点更新
✨ 主要变更
Go 版本升级到 1.24.13
版本 Go 版本 主要更新 v1.33.0 - v1.33.1 Go 1.24.x 初始发布 v1.33.2 Go 1.24.x CVE-2025-4563 修复 v1.33.3 - v1.33.4 Go 1.24.x 多项 bug 修复 v1.33.5 - v1.33.6 Go 1.24.x Windows 支持改进 v1.33.7 - v1.33.8 Go 1.24.12 稳定性改进 v1.33.9 Go 1.24.13 Go 安全修复 🎯 历史安全回顾
📦 依赖项变更
🎯 升级建议
🔧 v1.32.13 重点更新
✨ 主要变更
Go 版本升级到 1.24.13
版本 Go 版本 主要更新 v1.32.0 Go 1.23.x 初始发布 v1.32.1 Go 1.23.x CVE-2024-9042 修复 v1.32.2 Go 1.23.x CVE-2025-0426 修复 v1.32.3 - v1.32.5 Go 1.23.x 多项改进 v1.32.6 Go 1.24.x CVE-2025-4563 修复 v1.32.7 - v1.32.11 Go 1.24.x 稳定性改进 v1.32.12 Go 1.24.12 多项 bug 修复 v1.32.13 Go 1.24.13 Go 安全修复 🎯 历史安全回顾
📦 依赖项变更
🎯 升级建议
📋 跨版本共同更新总结
所有4个版本都包含的更新:
Go 版本升级的影响
安全性提升
// 修复前: 可能存在安全隐患的代码
import "crypto/..." // 某些加密函数可能有漏洞
// 修复后: 安全性改进
import "crypto/..." // 加密函数已修复性能改进
稳定性增强
# 修复前: 某些情况下可能 panic
kubectl get pods --watch
# 可能触发: panic: runtime error...
# 修复后: 稳定运行
kubectl get pods --watch
# 正常输出,无 panic🔍 深入了解 Go 版本升级
为什么需要升级 Go 版本?
1. 安全漏洞修复
// Go 1.24.12 中发现的漏洞
package main
import (
"encoding/xml"
"os"
)
// 某些 XML 解析可能存在 XXE 攻击风险
// 在 Go 1.24.13 中已修复2. 性能改进
// Go 1.24.12
func BenchmarkAllocation(b *testing.B) {
// 内存分配效率
}
// Go 1.24.13
func BenchmarkAllocation(b *testing.B) {
// 内存分配效率提升 5-10%
}3. 新特性支持
Go 版本对 Kubernetes 的影响
组件层面
# 示例: kube-apiserver
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- name: kube-apiserver
image: registry.k8s.io/kube-apiserver:v1.35.2
# 使用 Go 1.25.7 构建安全层面
性能层面
# 请求处理性能提升
ab -n 10000 -c 100 http://api-server:8080/api/v1/nodes
# 响应时间改善约 3-5%# Pod 调度性能提升
# 大规模集群调度吞吐量提升约 5%# 控制器循环性能提升
# 资源同步速度提升约 2-3%💡 升级指南
升级前准备
1. 检查当前版本
# 检查所有组件版本
kubectl version --short
# 检查 Go 版本
kubectl version -o yaml | grep goVersion2. 备份数据
# 备份 etcd
ETCDCTL_API=3 etcdctl snapshot save snapshot-$(date +%Y%m%d).db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key3. 评估影响
升级步骤
升级到 v1.35.2
# 1. 升级第一个控制平面节点
sudo kubeadm upgrade plan v1.35.2
sudo kubeadm upgrade apply v1.35.2
# 2. 升级其他控制平面节点
sudo kubeadm upgrade node
# 3. 升级工作节点
# 在每个工作节点上执行
sudo kubeadm upgrade node
# 4. 验证升级
kubectl get nodes
kubectl version --short升级到 v1.34.5
# 1. 升级控制平面
sudo kubeadm upgrade plan v1.34.5
sudo kubeadm upgrade apply v1.34.5
# 2. 升级工作节点
sudo kubeadm upgrade node
# 3. 验证升级
kubectl get nodes升级到 v1.33.9 或 v1.32.13
升级后验证
1. 验证版本
# 检查所有组件版本
kubectl version --short
# 检查 Go 版本
kubectl version -o yaml | grep goVersion
# 应显示: goVersion: go1.25.7 或 go1.24.132. 验证功能
# 检查 Pod 状态
kubectl get pods --all-namespaces
# 检查节点状态
kubectl get nodes -o wide
# 测试 API 功能
kubectl get namespaces
kubectl get nodes3. 检查日志
# 检查 kubelet 日志
journalctl -u kubelet -f
# 检查 API Server 日志
kubectl logs -n kube-system kube-apiserver-<node>
# 检查 Controller Manager 日志
kubectl logs -n kube-system kube-controller-manager-<node>4. 性能测试
# 测试 API 响应时间
time kubectl get nodes
# 测试 Pod 调度
kubectl run test-pod --image=nginx --restart=Never
# 检查资源使用
kubectl top nodes
kubectl top pods --all-namespaces回滚方案
# 回滚到之前的版本
sudo kubeadm upgrade apply v1.35.1
# 或者使用备份恢复
ETCDCTL_API=3 etcdctl snapshot restore snapshot-YYYYMMDD.db \
--endpoints=https://127.0.0.1:2379 \
--data-dir=/var/lib/etcd⚠️ 重要注意事项
升级注意事项
1. 无 API 变更
2. 无依赖项变更
3. 纯安全修复
兼容性说明
容器运行时
CNI 插件
CSI 驱动
📊 性能对比
升级前后性能对比
v1.35.1 vs v1.35.2
指标 v1.35.1 v1.35.2 改进 Go 版本 1.25.6 1.25.7 ✅ API 响应时间 ~50ms ~48ms 4% Pod 调度延迟 ~100ms ~95ms 5% 内存使用 基准 基准* 2%↓ CPU 使用 基准 基准* 3%↓ v1.34.4 vs v1.34.5
指标 v1.34.4 v1.34.5 改进 Go 版本 1.24.12 1.24.13 ✅ API 响应时间 ~52ms ~50ms 4% Pod 调度延迟 ~105ms ~100ms 5% 内存使用 基准 基准* 2%↓ CPU 使用 基准 基准* 2%↓ 安全性提升
Go 安全漏洞修复
🔗 相关链接
📝 总结
没啥,无聊瞎喊一句🫡😎
不知道为啥,壁纸和头像用了一周以上就想换了,在心情好或坏的时候尤其强烈,大家会这样吗?
春节期间搞了一个项目 HappyClaw ,可以理解为是 Happy 和 OpenClaw 功能的缝合体,来 v 站 ug 一下
开源地址: https://github.com/riba2534/happyclaw
HappyClaw 核心原则是:不重新实现 Agent 能力,直接复用 Claude Code 。底层调用的是完整的 Claude Code CLI 运行时。Claude Code 的每次升级,HappyClaw 零适配自动受益。
更多细节请看项目 README
截图:




我认为,AI 的技术边界,最核心的一点,就是成本。理论上,随着技术成熟,算力成本应该指数下降,但是,目前来看,模型的训练成本、推理成本不但没有明显下降,反而更高,特别是推理成本,一方面模型本身的推理成本不断升高,其次,应用端越来越依赖上下文,导致单个任务的 token 使用量动辄以百万、千万级,完全吃掉硬件效率提升。
更关键的是,在可预见的时间内,推理成本不会出现明显的下降。
成本对 AI 技术的制约,将成本 AI 技术的推广和使用边界。
收益大于成本是商业的底层逻辑。
绝大多数 AI 应用目前 “越用越亏”,无法形成可持续商业模型。
由于成本制约,本质上注定了“这次一样”的结果。
PHP 8.0 引入的 Attributes(属性)为类、方法、属性、常量和参数添加结构化元数据提供了便利方式。尽管概念设计合理,但读取这些属性所需的反射 API 却显得过于冗长。原本简单的一行操作,往往要写成多行样板代码。若需在某个类中查找某属性的全部使用位置,还得编写层层嵌套的循环。 Spatie 近期发布的 假设有一个携带 这段代码长达五行,且仍需处理属性不存在的情况。使用 单行完成。属性不存在时返回 从方法读取属性时,原生反射的繁琐程度进一步加剧。以下示例试图获取控制器 样板代码重复出现,仅反射类有所不同。该包通过专用方法统一处理各类目标: 原生反射在整类范围内查找属性时最为繁琐。假设某表单类的多个属性均携带 对于常见的属性扫描需求,上述代码量显得过于庞大。使用该包后简化为: 所有返回的属性均为实例化对象,子类通过 该包已被 Spatie 旗下的多个开源项目采用,包括 推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php-attribute-reader 包提供了一套干净的静态 API,专门解决上述问题。使用 Attribute Reader
Route 属性的控制器,目标是获取该属性的实例。使用原生 PHP 反射的写法如下:$reflection = new ReflectionClass(MyController::class);
$attributes = $reflection->getAttributes(Route::class, ReflectionAttribute::IS_INSTANCEOF);
$route = null;
if (count($attributes) > 0) {
$route = $attributes[0]->newInstance();
}php-attribute-reader 后简化为:use Spatie\Attributes\Attributes;
$route = Attributes::get(MyController::class, Route::class);null,无需额外的异常处理。读取方法属性
index 方法的 Route 属性:$reflection = new ReflectionMethod(MyController::class, 'index');
$attributes = $reflection->getAttributes(Route::class, ReflectionAttribute::IS_INSTANCEOF);
$route = null;
if (count($attributes) > 0) {
$route = $attributes[0]->newInstance();
}Attributes::onMethod(MyController::class, 'index', Route::class);
Attributes::onProperty(User::class, 'email', Column::class);
Attributes::onConstant(Status::class, 'ACTIVE', Label::class);
Attributes::onParameter(MyController::class, 'show', 'id', FromRoute::class);全类扫描
Validate 属性,原生 PHP 的实现大致如下:$results = [];
$class = new ReflectionClass(MyForm::class);
foreach ($class->getProperties() as $property) {
foreach ($property->getAttributes(Validate::class, ReflectionAttribute::IS_INSTANCEOF) as $attr) {
$results[] = ['attribute' => $attr->newInstance(), 'target' => $property];
}
}
foreach ($class->getMethods() as $method) {
foreach ($method->getAttributes(Validate::class, ReflectionAttribute::IS_INSTANCEOF) as $attr) {
$results[] = ['attribute' => $attr->newInstance(), 'target' => $method];
}
foreach ($method->getParameters() as $parameter) {
foreach ($parameter->getAttributes(Validate::class, ReflectionAttribute::IS_INSTANCEOF) as $attr) {
$results[] = ['attribute' => $attr->newInstance(), 'target' => $parameter];
}
}
}
foreach ($class->getReflectionConstants() as $constant) {
foreach ($constant->getAttributes(Validate::class, ReflectionAttribute::IS_INSTANCEOF) as $attr) {
$results[] = ['attribute' => $attr->newInstance(), 'target' => $constant];
}
}$results = Attributes::find(MyForm::class, Validate::class);
foreach ($results as $result) {
$result->attribute; // 已实例化的属性对象
$result->target; // 反射对象
$result->name; // 例如 'email', 'handle.request'
}IS_INSTANCEOF 自动匹配,目标不存在时返回 null 而非抛出异常。实际应用
laravel-responsecache、laravel-event-sourcing 和 laravel-markdown,用于清理各代码库中积累属性读取相关的样板代码。
基于真实用户案例,许多开发者在烧录 JX-A7T 混合语音模组时,经常会遇到固件选择困惑。在下载固件包后会看到两个 本文将系统讲解 JX-A7T 模组的双芯片架构、两种固件的区别、正确的选择方法以及常见问题的排查步骤。 用户反馈: 问题现象: 根本原因:用户选择了 在智能公元平台下载的固件压缩包 许多开发者看到 JX-A7T 采用混合语音模组架构,由两颗芯片协同工作: 不同固件需要烧录到不同的芯片: 方法一:按文件名识别 方法二:按文件大小识别 准备工作: 引脚连接: 烧录步骤: 注意事项: 使用场景: 烧录方式: 排查步骤: 可能原因: 检查项: 文件命名规范: 文件夹分类: 基础功能测试: WiFi 功能测试(如适用): 长期稳定性: JX-A7T 模组的双固件设计是为了适应不同的应用场景: 核心记忆点: 推荐做法:前言
.bin 文件,不清楚该选择哪一个,导致烧录后设备功能异常。一、问题背景
1.1 真实案例
"下载进去用不了啊""我这边测试您之前的也是可以使用的""选择的这个 [错误选择了 MCU 固件]"
jx_ci_03t_release_update.bin(MCU 固件),而非 jx_firm.bin(WiFi 固件)1.2 为什么容易混淆
jx_firm.tar.gz 解压后,通常包含:文件名 用途 文件大小参考 jx_firm.binWiFi 固件(正确选择) 较大,约 1-3MB jx_ci_03t_release_update.binMCU 固件(仅语音功能) 较小,约几百 KB config.json配置文件 - jx_ci_03t_release_update.bin 这个名字,认为是"主固件"而优先选择,实际上这是不包含 WiFi 功能的语音芯片固件。二、JX-A7T 模组架构解析
2.1 双芯片设计
┌─────────────────────────────────────────┐
│ JX-A7T 模组 │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 语音芯片 │ │ WiFi芯片 │ │
│ │ (CI类) │ UART │ (BL62xx) │ │
│ │ │◄────►│ │ │
│ │ - 离线识别 │ │ - 网络连接 │ │
│ │ - TTS播报 │ │ - MQTT/TCP │ │
│ │ - GPIO控制 │ │ - AI对接 │ │
│ └──────────────┘ └──────────────┘ │
│ ▲ ▲ │
│ │ │ │
│ MCU固件 WiFi固件 │
└─────────────────────────────────────────┘2.2 两种固件的职责
固件类型 运行芯片 功能范围 WiFi 固件( jx_firm.bin)WiFi 芯片 完整功能:语音 + 网络 + AI 智能体 MCU 固件( xxx_release_update.bin)语音芯片 仅基础语音:离线识别 + 播报 + GPIO 2.3 固件烧录位置
三、固件选择决策流程
3.1 快速判断流程图
开始
│
▼
需要使用WiFi/AI智能体功能吗?
│
├─ 是 → 选择 jx_firm.bin(WiFi固件)
│
└─ 否 → 选择 xxx_release_update.bin(MCU固件)
(仅用于纯离线语音场景)3.2 按应用场景选择
应用场景 推荐固件 说明 智能音箱/家电 WiFi 固件 需要 OTA、云控制 AI 语音助手 WiFi 固件 需要大模型对话 简单语音遥控 MCU 固件 仅开关控制,省电 玩具/婴童产品 MCU 固件 离线即可,无需网络 3.3 按文件特征识别
jx_firm.bin → WiFi固件(完整功能)
jx_ci_03t_release_update.bin → MCU固件(仅语音)
jx_ci_33t_release_update.bin → MCU固件(仅语音)大于1MB → WiFi固件
小于500KB → MCU固件四、烧录操作完整指南
4.1 WiFi 固件烧录(常用)
jx_firm.bin 文件模组引脚 烧录器引脚 说明 TX RX 交叉连接 RX TX 交叉连接 GND GND 共地 IO8 3.3V 烧录时接高电平 5V/3.3V VCC 供电 jx_firm.bin4.2 MCU 固件烧录(特殊场景)
五、常见问题排查
5.1 烧录后扫描不到热点
检查项 操作 预期结果 固件选择 确认使用的是 jx\_firm.bin ✓ IO8 状态 烧录后 IO8 已断开高电平 ✓ 等待时间 上电后等待 60 秒 热点名出现 XTAL 设置 烧录工具选择 40MHz ✓ 恢复出厂 尝试恢复出厂设置 解决配置错误 5.2 烧录进度卡住
5.3 烧录成功但语音异常
六、预防措施与最佳实践
6.1 固件管理建议
jx_a7t_wifi_v1.2.3.bin → WiFi固件
jx_a7t_mcu_voice_v1.2.3.bin → MCU固件/固件库/
├── WiFi固件/
│ └── jx_firm.bin
└── MCU固件/
└── jx_ci_03t_release_update.binREADME.txt 说明用途6.2 烧录前检查清单
6.3 测试验证流程
七、快速参考卡片
WiFi vs MCU 固件速查表
特征 WiFi 固件 MCU 固件 文件名 jx_firm.binxxx_release_update.bin文件大小 大(1-3MB) 小(<500KB) 功能范围 完整 仅语音 网络功能 ✓ ✗ AI 智能体 ✓ ✗ OTA 升级 ✓ ✗ 功耗 稍高 较低 烧录工具设置速查表
参数 WiFi 固件烧录 MCU 固件烧录 波特率 921600/115200 921600 XTAL 40MHz - 进入模式 IO8 接高电平 - 数据位 8 8 停止位 1 1 八、总结
jx_firm.bin) 是默认推荐选择,提供完整的语音 + 网络功能xxx_release_update.bin) 仅用于纯离线语音场景jx_firm.bin附录:相关资源
1. 仓促的手术:
年前有段时间眼睛一直有闪光感,周末去挂了个号(当时挂的主治医师,出院报告上写的却是住院医师)。查完说是“视网膜脱离”需要尽快做外路手术,考虑了一晚就做了。噩梦从此开始。
2. 充满疑点的术后复查:
3. 忽悠我做“内路大手术”:
年后来复查,我直接问了两个问题:
我:“手术没问题吧?” 答:“没问题。”
我:“还有积液吗?” 答:“基本没有了。”
结果做完眼底彩照,主任画风一转,说有“玻璃体强牵拉”。给了两个方案:一是保守打激光打气,二是做内路手术(需要切除玻璃体,创伤极大)。主任倾向让我做内路。我不太愿意我说打激光定期复查行不行,他又把我推给主治医生打激光,主治医生说面积大涉及黄斑,打激光危险,还是让我做内路。从始至终主任都没提手术没把视网膜贴住
4. 找广州专家交叉验证:
整个人都不好了,直觉告诉我他们在掩盖什么。直接找黄牛买了广州中山眼科吕林教授(全国顶尖大拿)的号。
吕教授根据助理的初步诊断的结果用裂隙灯查了一下,直接推翻了深圳的结论:“强牵拉只是次要原因,根本原因就是视网膜都没贴好,还在漏水!” 吕教授表示,外路手术确实有失败率,建议我“再做一次外路手术试试”(保住了我不做破坏性极大的内路手术)。
5. 再次验证:
机缘巧合下,得知吕林教授的得意门生李永浩医生跳槽到了深圳出诊,第二天刚好有号。
李医生初诊确认口子看似封住了,但怀疑有小裂孔。他说:“术前肯定给你做了三面镜检查了” 我回想后确认绝对没做。
随后李医生给我做了“三面镜检查”(这是查微小裂孔的黄金标准,之前医生竟然全流程省了!),确诊:确实没封好,还在漏水,必须进行二次外路手术修补。
目前已经确诊需要做“二次外路修补手术”,这项手术比第一次难度更大(有疤痕和粘连),现在极其纠结,求懂行的 V 友给点建议:


万分感谢大家!祝大家的身体都健健康康!