1作者: harveyrandall6 个月前
我花了很多时间使用 CLI 工具,也喜欢浏览 Bluesky。我发现了一个用 Go 编写的 CLI 客户端,但它没有包含我想要的所有功能,所以我开始构建自己的,并且有点沉迷其中。现在,您可以使用此客户端在应用程序或网络上执行几乎所有常见操作,而无需离开终端。 该客户端通过命名的配置文件支持多账户,在您进行身份验证时即可使用。因此,您可以通过简单地使用一个标志和配置文件名称,每次都使用不同的账户来执行以下所有操作。 每个命令也都支持 `--json`,因此可以将其通过管道输送到 `jq` 或传递给其他脚本,以实现更复杂的工作流程。 它使用 AT Protocol API,涵盖了应用程序中最常见的功能以及更多功能。 * 查看您的时间线 * 发布新帖子,包括带有附加图像或视频的新帖子 * 回复和引用帖子 * 点赞、转发、收藏和搜索帖子 * 关注、取关、屏蔽和取消屏蔽其他用户 * 私信其他用户 * 连接到 Jetstream 以接收帖子的实时 feed,并支持使用 `--pattern` 进行正则表达式过滤,例如 `bsky stream --pattern="typescript|rust"`。默认情况下,它使用 `gi` 修饰符。 除了上述配置文件功能外,还包括 `bash`、`zsh` 和 `fish` 的 shell 补全。 该客户端以独立二进制文件的形式分发,可在 macOS、Linux 和 Windows 上运行,因此无需 Node 运行时。 安装: --------------------------------------------- ```bash ; npm install -g @harveyrandall/bsky-cli ``` ```bash ; # 或 ; brew install harveyrandall/tools/bsky-cli ``` --------------------------------------------- GitHub: <https://github.com/harveyrandall/bsky-cli> 它在底层使用 TypeScript、Commander.js 和 AT Protocol SDK 构建。拥有 134+ 个测试,与它们的实现放在一起。它们可以单独运行,也可以在 CI/CD 中使用 GitHub Actions 运行。GitHub Actions 还会将新版本发布到 NPM 并更新 Homebrew 公式。 很乐意听取关于 CLI 设计的意见——如果您希望某个命令存在,我很想知道。请试用一下,安装并试用它。报告您发现的任何错误并为它们创建问题,欢迎所有反馈!我希望您觉得它和我一样有用。
1作者: rjpruitt166 个月前
代理工作流程通常涉及 10 次以上的 API 调用,这些调用会发送给不同的服务(LLM、数据 API、网络抓取)。如果第 7 层不稳定,工作流程就会失败或引发重试风暴。 我正在思考常见的故障模式: * 429 速率限制 → 代理重试 → 进一步加剧 API 压力 * 部分中断 → 客户之间同步重试 * LangGraph 工作流程执行到一半失败 → 如何恢复? 对于那些大规模运行代理系统的人来说: * 你们如何处理第 7 层故障? * 重试协调?熔断器? * 你们如何防止对下游依赖项的重试风暴? * LangGraph 工作流程能否优雅地处理 API 故障? 我很想知道实际生产环境是什么样的。
1作者: sankalpnarula6 个月前
嗨,HN, Herd 是一个零依赖的 Go 语言库,用于管理操作系统子进程集群,并使用严格的 1:1 会话亲和性将 HTTP 流量路由到它们。 如果你将重量级的、有状态的二进制文件(如 Ollama、无头 Chromium 或 Python REPL)放在标准反向代理之后,并且流量出现激增,通常结果会很糟糕。你可能会触发大规模的 CUDA/Metal 上下文风暴,导致主机机器 OOM 崩溃,或者你会将状态泄露到不同用户的会话中。 Herd 解决了这个问题,而无需像 Kubernetes StatefulSets 或 Firecracker 这样的重量级控制平面。它为你提供了自动的进程生命周期管理和内置的反向代理,只需大约 10 行 Go 代码。 其工作原理如下: * 它通过 exec.Cmd 产生操作系统级别的子进程。 * 它根据你定义的任何自定义会话 ID(标头、cookie、路径参数)路由传入的 HTTP 流量。 * 如果会话存在,它将路由到该确切的、固定的操作系统进程。 * 如果不存在,它会安全地获取一个 singleflight 锁,生成一个新进程,等待 /health 端点,然后代理请求。 * 如果进程崩溃,爆炸半径仅限于一个会话,并且池会自动恢复。 为了测试并发约束,我向一个 Herd 网关发送了 200 个并发 LLM 推理请求,该网关由一个限制为 10 个 Ollama (Qwen3:0.6B) worker 的池支持,运行在 M4 Pro Mac 上。它获得了 200/200 的分数,零丢包,充当一个完美的反压队列,安全地滴灌操作系统,而不会使主机的统一内存超负荷。 它采用 MIT 许可证。欢迎你查看该仓库,尝试破坏 singleflight 锁,或审查其架构。 仓库:[https://github.com/HackStrix/herd](https://github.com/HackStrix/herd) 架构和 Mermaid 图:[https://github.com/HackStrix/herd/blob/main/docs/ARCHITECTURE.md](https://github.com/HackStrix/herd/blob/main/docs/ARCHITECTURE.md)