Posts for: #Tech

Mac 下 neovim 里自动 esc 切换输入法

1. 安装 macism

https://github.com/laishulu/macism

brew tap laishulu/homebrew
brew install macism

2. nvim 插件里加一个 im-select.lua

~/.config/nvim/lua/plugins/im-select.lua

return {
  "keaising/im-select.nvim",
  config = function()
    require("im_select").setup({
      -- 在普通模式下,默认使用的英文输入法
      -- 请将下面的值替换为您在上一步中获取到的英文输入法标识符
      default_im_select = "com.apple.keylayout.ABC", -- macOS 示例
      -- default_im_select = "1033", -- Windows 示例
      -- default_im_select = "keyboard-us", -- Linux (Fcitx5) 示例

      -- 设置触发切换的事件
      set_default_events = { "InsertLeave", "CmdlineLeave" },
      set_previous_events = { "InsertEnter" },

      -- 保持安静,当找不到依赖的命令行工具时不发出警告
      keep_quiet_on_no_binary = false,

      -- 异步切换输入法,避免卡顿
      async_switch_im = true
    })
  end,
}

Mac 下开启 sshd 登录后马上断开连接的一种可能

如果"共享 → 远程登录"里选择了"只允许这些用户…",系统会用 com.apple.access_ssh 做白名单。不在组里就会被 PAM 拒绝

# 查看是否在白名单组
dseditgroup -o checkmember -m "$USER" com.apple.access_ssh

# 不在的话加入(需要管理员密码)
sudo dseditgroup -o edit -a "$USER" -t user com.apple.access_ssh

# 也可放开给所有用户(图形界面改:系统设置 → 通用 → 共享 → 远程登录,选"所有用户")

改完重启 sshd:

sudo launchctl kickstart -k system/com.openssh.sshd

开源超轻量的 Flutter 聊天库

这两年,大量 AI ChatBot 涌现。不少人在用 Flutter 做跨平台应用时,想加个简单的 AI 聊天,却被一堆 IM 方案搞得头大——我们就是这样。

所以同事做了一个超轻量的 Flutter 库:simple_chat。

它能让你几行代码就把聊天界面跑起来,通吃 iOS、Android、Web。

之所以叫 simple,是因为它真的是主打简洁。你不用拉一大堆依赖或后端配置,几分钟就能搞定。UI 也很好改,如果想要自己定制聊天气泡、字体、颜色,分分钟就能上手。

有人会问,能用它干什么?

常见的 IM、客服、AI 聊天机器人都能用得上,毕竟它支持消息发送状态、群聊、未读消息指示,还能直接选图、预览图片,算是“麻雀虽小,五脏俱全”。

如果你对那些大而全的 Stream、Sendbird 没什么兴趣,只想要个纯前端的简洁方案,simple_chat 或许就是你想要的。同事 Lawrence 还在不断迭代这个项目,未来计划支持更多自定义选项、多媒体消息、实时打字状态等功能。

项目开源,如果你也想帮忙或者提想法,不妨去看看:

simple_chat 能让 Flutter 开发者省去很多麻烦,专注业务逻辑,而不是陷在复杂的聊天框架里。

再上一个 simple_chat 的小应用案例:EatVenture——觅食历险产品,里面嵌了 simple_chat,如图:

我用 EatVenture 解决俩问题:

  1. 在海外找餐馆

  2. 在餐厅看不懂菜单拍一下识图推荐

EatVenture 更多信息:https://tealseed.com/eatventure/。

为什么我不喜欢 Notion 了

这两年,我比较重度地使用 Notion,在小团队,甚至跨团队的项目,用 Notion 协作都很方便。不过,我也开始厌烦它了。我反感的主要的原因有这么几个:

  1. Notion 已经成为“吃内容的怪兽”,内容输入很愉悦,但希望将内容导出很困难,是私有格式,全部在他们的服务器上,可以导出,但导出的数据问题很多,并不方便真正想迁移的人——从这个角度,想从 Notion 搬走,就得做好放弃在里面的全部数据的准备。

  2. 不是本地存储、本地优先,数据都在云端,无法离线使用。

  3. Notion 逐渐从一个类似乐高那样的灵活的小产品,变成了全家桶,有日历、有 AI、有邮箱,而且不同功能相互融合交织,不能关闭。

至于性能差、经常有闹心的细节问题(比如:看过的通知不会消除、从 Notion 往外复制几段内容经常不好选择等等),相比之下还都能忍。

想来也有趣,总在重复上演少年斗恶龙然后变成恶龙,越做越强之后,优势反而变成弱点,这种一体两面的转化,还真有些哲学意味。

现在我的选择是:

  • 团队协作,我就不折腾了,还是用 Notion,只是留个心,重要的文档存一份 pdf。

  • 自己的工作,用本地的纯文本文件 + GitHub 存储——编辑器可以随便换——Obsidian、vscode……

开源发布 Slax Reader?

先说一下,Slax Reader 是个结合了 AI 能力的稍后阅读产品,可以免费使用,同时具备付费功能(毕竟要 AI 算力),只允许 Gmail 账号登录。

地址:https://r.slax.com,欢迎试试,也欢迎付费 ;)

开源了,也还是会收费的。

以下是正文:

前几天,我在群里发了一条:

讨论:如果 Reader 索性开源发布,大家会喜欢,还是担忧?为什么?

同事们的回复普遍比较积极。

Zhiqiang:

两者都有。

  • 喜欢是没试过开源一整个项目,有机会尝试了。
  • 担忧是光开源代码不够、还需要支撑,比如文档、issue 的处理、PR 管理这些。事情多了起来。咱开源除了表达一种态度,还希望能提供价值,仅代码的价值比较有限,支撑性的工作是蛮重要的一环。

总体上,喜欢 > 担忧。

Senwei:

总体来说我赞成开源

  • 有部分用户是喜欢自己部署的,开源能吸引他们(omnivore 停服的时候看到了一些这样的用户)
  • 开源大部分功能,一部分功能闭源(dify、lobechat 的策略)
  • 开源让用户自己接模型,如果用得多可能是付费更省钱,如用 cursor 的开源替代,自己接模型比 cursor 月付费要贵  (cline 多聊几轮就 1 美元了,可能还没把功能改好,cursor 月费 20 刀)

Huanan:

喜欢 > 担忧 +1。

我再补充个担忧的点,市面上整个项目开源的产品也不少,部署难度(特指后端)会直接决定我们能够吸引多少小白用户,但是碰巧,我们选择的依赖 Cloudflare 的 Serverless 以及后端依赖项目过多,我们的部署难度其实挺高的。需要用户绑定 VISA 信用卡、开通各种各样的服务配置才能使用~

Junchang:

[阅读全文]