易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
还是得derp

还是得derp

不多说,上代码:

docker run -d\
--restart always \
--name derper \
--env DERP_HTTP_PORT=80 \
--env DERP_VERIFY_CLIENTS=false \
--env DERP_ADDR=:33380 \
-v /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock \
-p 33380:33380 -p 3478:3478/udp \
yangchuansheng/ip_derper
DERP_VERIFY_CLIENTS,用来防止蹭网,不过量也没多大,蹭下也没事!然后就是要配置 derpMap:


"derpMap": {
"OmitDefaultRegions": false, // 可以设置为 true,这样不会下发官方的 derper 节点,测试或者实际使用都可以考虑打开
"Regions": {
"900": {
"RegionID": 900, // tailscale 900-999 是保留给自定义 derper 的
"RegionCode": "fly",
"RegionName": "fly",
"Nodes": [
{
"Name": "fly-1",
"RegionID": 900,
"IPv4": "xxx.xxx.xxx", //你的VPS 公网IP地址
"DERPPort": 33380,
"STUNPort": 3478,
"InsecureForTests": true, // 因为是自签名证书,所以客户端不做校验
},
],
},
},
},




OrbStack的端口覆盖了Local端口导致本地Mysql不能启动

OrbStack的端口覆盖了Local端口导致本地Mysql不能启动

OrbStack是个好软件,他让虚拟机、Docker的管理变得更容易了一些,如果你不太爱在mac上使用docker,那orbstack的虚拟机功能,也是值得你使用的。他不像ubuntu官方的虚拟机只能创建ubuntu系统,他支持几乎市面常见的操作系统,连openSUSE也支持,那就确实很方便了。

为了测试我本地开发的项目是否能够在debian上运行(主要是因为安装了playwright,才需要有此一举),在虚拟机里还安装了hestia,之所以没有装bt或者1panel,就是想着hestia比较轻量,而且也支持多用户权限。这点1panel和bt好象没有。 1panel反正就是容器,bt则是以root运行
然后hestia则因为安装了mysql和redis,正常情况下,我没感觉有问题,我本机用的是dbngin,启动着mysql和redis。
在安装更新重启后,orb先启动了。然后我本地测试代码时,dbngin中的mysql和redis就启动不了,说被占用。运行命令后发现:
lsof -i:6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
OrbStack 676 admin 118u IPv4 0x3b94fc9ad9f8ea2e 0t0 TCP localhost:6379->localhost:61448 (ESTABLISHED)
OrbStack 676 admin 122u IPv4 0xb6cd7e64818d058 0t0 TCP localhost:6379 (LISTEN)
OrbStack 676 admin 123u IPv6 0x8ec6c81483673ff9 0t0 TCP localhost:6379 (LISTEN)
OrbStack 676 admin 148u IPv4 0xf08e7374ce714e45 0t0 TCP localhost:6379->localhost:61449 (ESTABLISHED)
php82 47270 admin 11u IPv4 0x687126e3d6dc34f6 0t0 TCP localhost:61448->localhost:6379 (ESTABLISHED)
php82 47270 admin 12u IPv4 0x59a47292c1e5b7dc 0t0 TCP localhost:61449->localhost:6379 (ESTABLISHED)
redis 和 mysql OrbStack占用了。
找了一下配置发现不知道怎么关闭这个端口转发,后来运行orb config get xx ,xx可以乱写,如果他get不到,会获取全部的config,发现有这两条:
machines.expose_ports_to_lan: true
machines.forward_ports: true
由于我其实是想让他的端口被局域网访问的(orb多个虚拟机也有一个网段),所以expose_ports_to_lan就没有关闭,只关闭了forward_ports: orb config set machines.forward_ports false
再重启一下相应的虚拟机,发现6379没有数据了。
启动DBngin,也能够正常启动了。
至此,问题全部解决。
试用了tabbit浏览器后有话说

试用了tabbit浏览器后有话说

看到mactalk推荐的tabbit浏览器(https://mp.weixin.qq.com/s/rYF_bx3FGCmHWs_V61NmxA),试用了一下,没有想像中的那么好

抛开下面codex的结论,我还是觉得arc目前更适合我。比如那12个pin的网页,那是真叫一个方便。所以在ARC目前功能不再更新的情况下,我arc和zen混用了。
(主要是dia不支持切换profile保留在同一窗口。。。。)
相比这个tabbit,不能使用自定义模型,也没有pin网页以及多profile(多profile其实很重要,因为他其实是session隔离,你可以开上多个 gmail,而且不会互相影响,一个针对国内,一个处理国外,还不用打开额外的窗口)。
不能自定义模型,其实就是我们所提的隐私了,在国内,宁可将隐私扔给阿里和腾讯,也不太愿意交给一些创业公司吧!
推荐结论
### ? 综合最佳:夸克(61/80)
- ✅ 适合:大众用户、阿里生态用户、移动端需求
- ⚠️ 注意:隐私问题、AI 能力相对较弱
### ? AI 能力最佳:Dia(60/80)
- ✅ 适合:学生、研究者、办公人员、隐私敏感用户
- ⚠️ 注意:平台有限、价格未知
### ? 模型最多:Tabbit(59/80)
- ✅ 适合:开发者、多模型对比需求、免费体验顶级模型
- ⚠️ 注意:代码争议、公测稳定性、隐私待明确
### ? 体验最佳:Arc(60/80
- ✅ 适合:重度自定义用户、Mac/iOS 生态、设计爱好者
- ⚠️ 注意:学习曲线、部分功能付费
最终建议
┌───────────────┬────────┬──────────────────────┐
│ 需求 │ 推荐 │ 理由 │
├───────────────┼────────┼──────────────────────┤
│ 免费体验 AI │ Tabbit │ 公测免费 + 多模型 │
├───────────────┼────────┼──────────────────────┤
│ 深度学习/研究 │ Dia │ 学习辅助功能最强 │
├───────────────┼────────┼──────────────────────┤
│ 日常使用 │ 夸克 │ 稳定 + 移动端 + 生态 │
├───────────────┼────────┼──────────────────────┤
│ 设计/自定义 │ Arc │ UI 最佳 + 扩展丰富 │
├───────────────┼────────┼──────────────────────┤
│ 隐私优先 │ Dia │ 数据控制最严格 │
├───────────────┼────────┼──────────────────────┤
│ 阿里生态 │ 夸克 │ 无缝整合 │
└───────────────┴────────┴──────────────────────┘
如何给Swap扩容(debian)

如何给Swap扩容(debian)

相关的文章其实很久之前写过([2018-08-09] - How To Add Swap on Ubuntu 14.04),但因为字都粘在一起,所以不够直观 ,现在来个简单的:

sudo swapoff -a

# 创建新的swap文件,bs×count=最后生成的swap大小,这里设置8G
sudo dd if=/dev/zero of=/swapfile bs=1G count=8

# 设置权限
sudo chmod 0600 /swapfile

# 设置swap
sudo mkswap /swapfile

# 打开swap
sudo swapon /swapfile

# 检查设置是否有效
grep Swap /proc/meminfo # 或者htop看一下
因为这里是调整大小,所以一般情况下,fstab里都已经有了,所以就不需要改来改去的
/swapfile,你可以换成你平时用的路由,例如:/var/swapfile 之类的。
最后free -mh就可以看到swap的大小了
没想到绕了一圈,又用回百度五笔了

没想到绕了一圈,又用回百度五笔了

有时候真的感觉像是一个轮回。

用了mac后,各种五笔都用过,后面选择了百度五笔,中间确实切换过为微信输入法,但他突然间就输入不了中文。。。
虽然有不少五笔可用,什么鼠须管之类的。N年前都用过,不过还是选择了百度。
opencode 使用 antigravity 时报错的处理

opencode 使用 antigravity 时报错的处理

opencode 在使用 antigravity 的时候突然报错:This version of Antigravity is no longer supported. Please update to receive the latest features!,翻了一圈,发现是昨天的更新导致的 reddit 上已经有解决方法了,意思是,这个 antigravity-accounts 的 JSON 需要更新一下,将其中两个地方更新:1、antigravity 的版本和 SDK 的版本

编辑:~/.config/opencode/antigravity-accounts.json
找到 fingerprint,修改:
"userAgent": "antigravity/1.15.8 linux/arm64",
"apiClient": "google-cloud-sdk vscode/1.104.0",

目前 antigravity 版本最新是 1.15.8,所以改成这个就行了。下面 apiClient 我原来是 python 的,目前我也改成这样。改完重启 opencode,否则可能会被覆盖。
然后我就恢复正常了:reddit 的原贴在此 :https://www.reddit.com/r/opencodeCLI/comments/1qqhywb/opencode_this_version_of_antigravity_is_no_longer/
或者看这里:https://github.com/NoeFabris/opencode-antigravity-auth/issues/324 ,有现成的一键解决方案
clawdbot 和 slack 之间踩的坑

clawdbot 和 slack 之间踩的坑

昨了试了一下,发现在频道里发消息要一直@,有点麻烦 ,就想着用私信解决。结果发现不能和应用发私信,搜索了一下之后发现有个配置,大致如下:

1. 如果你是该应用的开发者
你需要进入 Slack API 管理后台 进行以下配置:
  1. 在左侧菜单中选择 App Home。
  2. 向下滚动到 Show Tabs 部分。
  3. 确保 Messages Tab 已开启。
  4. 关键步骤:勾选其下方的 "Allow users to send Slash commands and messages from the messages tab"(允许用户从消息标签页发送指令和消息)。
  5. 修改后,回到你的 Slack 客户端,按 Ctrl + R (Windows) 或 Cmd + R (Mac) 刷新界面,输入框才会出现。
---
我原来改好后没刷新页面,就一直不能发送,现在就 OK 啦。把 cron 的事件通过私信发送(主要是 slack 真的不用翻梯子,方便)
Clawdbot 连接 Slack 的步骤

Clawdbot 连接 Slack 的步骤

1. 创建 Slack App
首先需要在 Slack 上创建一个 App:
1. 访问 https://api.slack.com/apps
2. 点击 "Create New App"
3. 选择 "From scratch"
4. 输入 App 名称(例如:Clawdbot)
5. 选择工作空间
6. 创建完成后,进入 App 设置页面
2. 配置 Bot Token
在 Slack App 设置中:
1. 进入 Basic Information 页面
2. 滚动到 App-Level Tokens 部分
3. 点击 Create Token
4. 命名 token(例如:Clawdbot-App-Level-Token)
5. 选择权限范围:connections:write
6. 保存 token(格式:xapp-...) - 这是 App Token
7. 进入 OAuth & Permissions 页面
8. 添加 Bot Token Scopes(根据需要选择):
- chat:write - 发送消息
- chat:write.public - 在公开频道发送消息
- channels:join - 加入频道
- channels:history - 读取频道消息
- groups:history - 读取私有频道消息
- im:history - 读取私信消息
- mpim:history - 读取群组私信消息
- reactions:write - 添加表情回应
9. 安装 App 到工作空间
10. 复制生成的 Bot User OAuth Token(格式:xoxb-...)
3. 在 Clawdbot 中配置 Slack
使用以下命令添加 Slack 配置:
clawdbot channels add \
--channel slack \
--bot-token "xoxb-你的bot-token" \
--app-token "xapp-你的app-token"
或者如果使用环境变量(更安全的方式):
# 设置环境变量
export CLAWDBOT_SLACK_BOT_TOKEN="xoxb-你的bot-token"
export CLAWDBOT_SLACK_APP_TOKEN="xapp-你的app-token"
# 添加配置
clawdbot channels add --channel slack --use-env
4. 启用事件订阅(可选但推荐)
在 Slack App 设置中:
1. 进入 Event Subscriptions 页面
2. 启用 Enable Events
3. 设置 Request URL(需要 Clawdbot gateway 运行后提供)
4. 订阅事件:
- message.channels
- message.groups
- message.im
- message.mpim
5. 保存更改
5. 验证连接
# 查看通道状态
clawdbot channels status
# 查看配置的通道
clawdbot channels list
6. 测试发送消息
clawdbot message send \
--channel slack \
--target <channel-id或频道名> \
--message "Hello from Clawdbot!"
----
上述写法可能会有问题,会收不到消息,所以只能:
步骤 2: 在 Slack App 中启用 Socket Mode
1. 进入 Socket Mode 页面(在左侧导航栏)
2. 启用 Socket Mode("Use Socket Mode" 按钮应该开启)
3. 使用上面的 App-Level Token
4. 保存更改
步骤 3: 订阅事件(必需)
1. 进入 Event Subscriptions 页面
2. 启用 Events("Enable Events" 开关打开)
3. 在 "Subscribe to bot events" 下添加:
- message.channels (公开频道消息)
- app_mention (被提及时)
4. 点击 Save Changes
必须要订阅事件,由于 web 订阅对于 clawdbot 来说不可实现,因为他要么 local 要么 tailnet,正常网页会收不到消息,只有走 socket mode 才 OK
----
再更新:
chat:write (发送消息)
chat:write.public (在公开频道发送消息)
channels:history (读取公开频道消息)
channels:join (加入频道)
channels:read (读取频道信息)
groups:history (读取私有频道消息)
groups:read (读取私有频道信息)
im:history (读取私信)
im:read (读取私信信息)
im:write (发送私信)
mpim:history (读取群组私信)
mpim:read (读取群组私信信息)
mpim:write (发送群组私信)
users:read (读取用户信息)
app_mentions:read (读取提及时)

权限要给足,不然 cron的消息收不到
不知不觉,chatGPT 已经面世3 年多了

不知不觉,chatGPT 已经面世3 年多了

在过去的三年中,ChatGPT的出现犹如一阵春风,不仅吹散了人工智能领域的沉寂,更激起了层层涟漪。回顾这段时光,仿佛不仅是技术的变革,更是我们与科技之间关系的重塑。

三年前,许多人对人工智能仍抱有一丝怀疑,AI在许多人的心中仅仅是一种遥远的未来幻想。然而,ChatGPT的面世让这种幻想逐渐具体化,打开了对话的新篇章。我们开始在工作中与AI交流,在日常生活中寻求它的帮助。那些灵感迸发的瞬间,AI似乎在无形中成为了我们的合作伙伴,赋予了我们新的视角。

与此同时,AI的应用场景如春芽般迅速扩展。无论是在客户服务的前台,还是在教育领域的教室,ChatGPT和类似技术都悄然无声地改变着旧有的格局。响应迅速的智能客服在电商中崭露头角,与此同时,其他竞争者如Google的BERT和Anthropic的Claude也纷纷加入这个领域,带着各自的创新思路。各家公司的技术在不断碰撞与交流中,形成了一个百花齐放的局面,使得整个行业的进步速度得以加快。

不过,这种变化也伴随着思考。虽然技术飞速发展,AI伦理的关注日益提升。从数据隐私到算法偏见,竞争的加剧让人们更加意识到,AI不仅是助力,更是一把双刃剑。如何在发展中保证公平、安全的使用,成为了社会所面临的新挑战。

在这个时刻,我们似乎迎来了一个“人机共生”的新时代。AI与人类的合作关系逐渐深化,许多行业开始敞开怀抱,接受这位“新伙伴”。不再是单纯的工具,AI正在创造力的舞台上展现出独特的魅力,激励着我们去探索更多未知的可能性。除了ChatGPT,像Meta的LLaMA和Cohere等新兴技术同样崭露头角,为了满足不同用户的需求,AI的功能和应用形式愈加多样化。

回首这三年,我们见证了技术的崛起、应用的繁荣,以及深刻的思考。未来的AI之路仍然漫长而未知,但随着各种创新的涌现,我们相信这段旅程将与责任与人性的光辉一同闪耀。在这个百花齐放的时代,期待更多的奇迹与可能。

Zen浏览器

Zen浏览器

ARC 浏览器是我过去 3 年左右一直使用的浏览器。用了它之后,我放弃了 EDGE 和 Chrome,不是因为性能或者其他,而是他的几个小 tip 让我觉得挺好。当然也有不舒服的时候,比如他的 canvas,我就一直失败。存的东西也经常丢。。。不知道怎么回事

1、12 个常驻的类似收藏夹的功能
2、多 space ,每个 space 共享主的 12 个收藏,同时有自己独立的常用链接(这个其实很重要,有点类似 group,但不用象 edge 那样 PIN在那里,点击展开)。这样就可以将工作中用链接、开发用的链接,以及娱乐 用的链接放到不同的 space 里,可以让边栏更干净
3、多 profile 功能。这个才是最重要的。其实所有的浏览器都有 profile,但是对他们来说,每一个 profile 就要单独打开一个窗口。而不是象 arc 一样,集成在一个 space 里,这就意味着你可以设置 N 个 profile 对应 N 个 space。session 什么的就可以完全隔离了。
除此之外,其他好象就没有太多吸引我的了,当然浏览器本来也就这些功能。不过 ARC 的作者们去开发 dio 了。于是 ARC 就被放弃,基本上只做安全更新,也够用,忍着了。
标题所说的 Zen 浏览器就是类似 ARC 的浏览器我想要的功能,他几乎都实现了。有意思的是,他是基于 filrefox 的核心,缺点就是更新一点慢,如果哪一天 ARC 被彻底放弃,ZEN 大概就可以上位了。
ZEN 的缺点也有打开的窗口不多,开了 2 周左右。内存占用到 8G 多,ARC 只有 6G 多,内存占用还是比较大