RK3566嵌入式开发板运行Coco AI Sever
之前在泰山派上运行了Easysearch,这次也想着是不是可以在泰山派开发板RK3566上运行Coco server,毕竟这板子功耗小,适合常开。 我的RK3566上是Armbian,但是没有配置网络环境,访问Dockerhub有问题,所以从Macbook 上下载玩,然后通过离线方式导成tar文件。我的镜像改了tag叫做cocoai-arm:test,你也可以不改。 1docker save -o cocoai-arm_test.tar cocoai-arm:test 然后通过SCP上传到RK3566的开发板 1234567scp cocoai-arm_test.tar [email protected]:~** WARNING: connection is not using a post-quantum key exchange algorithm.** This session may be vulnerable to "store now, decrypt later" attacks.** The server may need to be ...
被CUPS共享打印机驱动搞疯了,换windows10 做打印机 server吧
之前黑群晖上部署的CUPS挂了,后来查了一下是数据盘坏了,还有一个原因是CUPS对联想打印机的兼容不是很好,索性就刷成windows10,有原生驱动,出问题还能RDP。 参考了这个方案: 兜兜转转回到了一个不折腾的方案:Win10 安装 Mobility Print Server → 发布本地打印机 → 手机走 AirPrint / Mobility Print 直接打印。 其实就是: 让 Win10 这台电脑充当“打印服务器”,把 USB/本地打印机发布到局域网里,手机就能像用无线打印机一样用它。 如果你家里有打印机可以试试,比CUPS的安装和运维成本小很多。 windows 安装打印机驱动先把打印机的 Windows 驱动和配套软件装好(重点是:确保 Win10 上“本地打印”完全正常)。 驱动下载页(示例):https://www.lenovoimage.com/index.php/services/servers_drivers?cat_id=2&ProCode=48001877&OS=%E5%85...
Docker启动Coco AI Server后,如何访问内置Easysearch
使用 Docker 启动 Coco AI 的时候会自带一个 Easysearch,我们使用连接器连接外部数据源的时候,就会把这个数据解析到 Easysearch 里。 但是默认的话,容器不会把这个 Easysearch 的端口映射出来,那就需要我们自己做些小的技巧:在官网的命令上修改一下,把 9200 端口先映射出来。 启动命令如下: 1234567docker run -d --name cocoserver \ -p 9000:9000 \ -p 9200:9200 \ -v coco_data_vol:/app/easysearch/data \ -v coco_config_vol:/app/easysearch/config \ -v coco_logs_vol:/app/easysearch/logs \ infinilabs/coco:0.10.0-2678 启动之后,可以使用 netstat 看到容器端口的情况。换句话说,这个自带的 Easysearch 把 9200 和 9300 的端口确实启动起来了,但默认只绑定在 127.0.0.1 上,...
懒猫微服实战入门(三十五):不要再买打印机小白盒了,用懒猫微服把有线打印机改成无线,还支持airprint
家里的打印机有十多年了,最近使用频率不是很高,所以把打印机放在柜子里了,需要用的时候再拿出来接线——每次都像在搬砖:找线、找口、开机,试打一张、再把它塞回去。 那时候还不流行网络打印,但是现在看来确实是硬伤了。那我就计划把它改成“随时可用”。不求快,不求高级,只求你在任何设备上点一下就能打,别让我再拿着电脑跟着打印机跑。 大概前前后后摸索了这些方案: 用小白盒连接路由器:其实这个思路跟网络打印机很类似,就是打印机 over IP,企业里几乎也都是这样的做法。缺点就是需要客户端安装驱动,所以相比之下就牺牲了移动端。 windows/MacOS共享:由于缺少 airprint,所以Apple 设备无法使用隔空打印。其实 Windows 的兼容性是最好的。 在OpenWrt上安装CUPS驱动,然后打印机接路由器当做无线使用。Apple生态会舒服很多。 我在第三个方法上进行了改良:不在OpenWrt上折腾了,换成用懒猫微服充当CUPS驱动传递的Server。 我这套里懒猫微服就干三件事:跑CUPS(带AirPrint)、挂网盘做中转、把Windows远程入口映射出去。 应...
Macbook Pro 虚拟机安装ARM飞牛
飞牛公测有一阵子了,一直没腾出时间折腾这些。手里的ARM设备有泰山派开发板和Macbook Pro。由于泰山派实在没啥资料,所以还是先用Macbook + PD 安装飞牛吧,官网也提供了安装包下载。 我本来想给泰山派也刷一个:https://www.fnnas.com/download-arm 不过我看这里没有镜像了,估计是和OEC的关系影响到了RK3566的适配。 不用UTM的原因是大家都觉得很难用,所以还是选择了Parallel Desktop,安装很丝滑,几分钟就完成了。 自动识别到了飞牛的ISO,因为FN用的debian内核,就当debian用吧。(本质就是一套 Linux 安装流程,PD 对 Debian 这套适配也成熟,少踩坑。) 然后进入图形化安装流程,其实和安装debian一样的。 选择安装磁盘,这里是系统盘。 然后无脑安装就行了,等进度条。 安装进度条结束之后就看到了FNOS的标志,没有图形GUI。会显示IP地址。(这一步其实已经装完系统了,后续基本都在 Web 后台做初始化。) 然后从IP地址进入web后台,设置管理员用户名密码。 进入系统之后...
在Macbook Pro上突破原生限制,实现菊花链三屏显示(曲线救国版)
M芯片的Macbook Pro 原生只支持外接两个4K显示器,接第三个显示器就黑屏,意外在网上看到了display link的方案。于是买回来突破了原生的MacOS的限制。 我买的:display link 是这个配置: 输入可以切换Typec + USB 输出是俩HDMI 还有几个USB2.0: 没啥用 hhhh,也就接个耳机和键鼠 需要下载驱动Displaylink manager,然后系统里就能看到你在共享屏幕,不管你在哪家买的硬件,应该用的都是这个软件。 Macbook Pro有三个Typec口,打算预留一个TypeC给其他设备,所以一开始用2个TypeC + 一个HDMI,而Display link也是实现的Typec转HDMI,所以整体的线就很乱。 1234Macbook1. -> TypeC - 显示器12. -> HDMI - 显示器23. -> TypeC(Display link) - HDMI - 显示器3 如果用Typec普通拓展坞接出来的HDMI是4K@30, 直接TypeC就是 4k@60。 突发奇想如果直接把USB接到显...
国民NAS 飞牛零日漏洞之后:我们需要什么样的 NAS ?
前些日子被飞牛刷屏了,因为他们的零日漏洞。对于这种事我并不意外,这种“某个厂商又被爆出高危漏洞”的新闻,在过去几年里已经见过太多次了。威联通被勒索软件批量打过,群晖也出过远程代码执行的高危洞,甚至于阿里云盘也有照片“串号”的问题。只是平时刷到这类消息的时候,大多数人都会下意识地划过去,觉得这更多是厂商的锅,恰好我们没有用这个产品,或者没有被攻击过。直到这次轮到飞牛,论坛里有人说“已经被扫到”“后台被进过”“文件目录被翻过”,甚至资料被公开售卖,我甚至想说,我只想安安静静地存个东西就那么难吗。 但是感慨的原因,并不在于某一个厂商被爆出漏洞,而在于我们一直默认家用 NAS 是一类“相对安全的设备”,但现实并不完全是这样。当我们做内网穿透、端口转发的时候,运营商会禁止我们对外提供服务,这么看来倒是一种保护了。在漫长的斗智斗勇过程中,我们也学到了不少专业知识,但如果非要用数据泄露来交学费,那实在是太过惨痛了。 先说清楚,这篇文章无意针对飞牛以及其他厂家,我也是飞牛,群晖和威联通的忠实用户。他们能在市场上有这么多用户量,靠的是真本事,这一点谁都没法否认。但这次漏洞事件暴露出来的东西,不是换...
使用 AWS SES + S3 发送 HTML 邮件
在营销、通知等场景中,我们经常需要发送格式丰富的 HTML 邮件。本文介绍如何用 Python + boto3,从 S3 读取 HTML 模板并通过 SES 发送邮件。 架构S3 (HTML模板) → Python脚本 → SES → 收件人 前置条件 AWS 账号已开通 SES 服务,且发件地址已验证 S3 Bucket 中已上传 HTML 模板文件 本地已配置 AWS 凭证(aws configure 或 IAM Role) 安装依赖:pip install boto3 核心代码12345678910111213141516171819202122232425262728293031323334#!/usr/bin/env python3"""从 S3 读取 HTML 模板并通过 SES 发送邮件"""import boto3REGION = '<region>'BUCKET = '<your-bucket-name>'TEMPLATE_KEY = &...
一次拿trace把langfuse打挂的修复
用 Langfuse 做 LLM 观测平台,拉 trace 数据时不小心把服务端打挂了。本文记录从发现 502 到定位 Node.js OOM,再到写脚本安全导出标注数据的完整过程。 Langfuse 是一个开源的 LLM 观测平台,用来追踪 LLM 应用的调用链路、记录 input/output、做人工标注评估等. 跑了一段时间,积累了不少 trace 数据和人工标注。某天想通过 API 批量拉取 trace 数据做分析,结果把服务端打挂了。 故障现象第一阶段:502 后端超时请求 /api/public/traces/{id} 接口拉取单个 trace 的完整数据时,先是返回 502 Bad Gateway,Nginx/OpenResty 报后端超时。 第二阶段:整个应用挂了多请求几次之后,不只是 API 超时了,整个 Langfuse Web 界面都打不开了,彻底 503。 根因分析把容器日志扔给 AI 分析,定位到了问题: 因果链12345大 trace 请求 → 服务端序列化 >4MB 的响应体 → Node.js 堆内存爆了(...
懒猫微服实战入门(三十四):方寸之间,自有天地:懒猫微服,男人的网络瑞士军刀
曾几何时,中文互联网圈流行着这样一个段子,叫做中年男人三件套:NAS、软路由、充电头。 我们今天就来聊聊第一个。NAS 似乎是给职业运维人员的福音,而广大的爱好者们通常都是野路子,靠着一腔孤勇或者是兴趣来维护自己的小小世界,能够借鉴参考的,也就是互联网的帖子以及各种群里的答疑而已。 靠着坚持不懈,入门了 Linux 和网络,但是不求甚解,安静的文件存储,只躺在方寸之间。 如果你恰好有一台懒猫微服,那么我们正好可以一起来学习这繁杂的网络,拆解这美丽的网络新世界。 我从事过几年的云行业,在发烧友和职业人员之间横跳,于是心有所感,立志让爱好者可以有专业的技术,让职业人员可以真的产生兴趣。这是网络篇。 首先你一定听说过 IP 地址,这是互联网通信的门牌号。我们的手机、电脑,包括懒猫微服都有一个 IP 地址。当你连上网络的时候,这个地址就被分配给了设备。准确地说,是分配给了网卡,所以懒猫微服可以用转接口来拓展第二张网卡。 连上网线之后,第一步我们习惯在路由器上看 IP 地址,然后 ping 一下确认连通。懒猫微服使用 IPv6,可以用 ping -6 或 ping6。 循迹(ping、te...
