[开源分享] lathe - 可以把 api/proto 一键转为 CLI and SKILL

4 小时 10 分钟前
 samzong

https://github.com/samzong/lathe

越来越多的人在讨论通过 CLI 的方式让 Agent 来连接和使用应用。

但是对于存量的业务系统,大家还都是提供 restapi/grpc 这样的接口;因为业务需要,我们也遇到了需要把最近 2-3 年的超过 30 多个子模块的业务的 API 结合大模型,提供类似 Copilot 的能力。面临的问题要兼容老版本,也不希望每个业务团队再去做开发支持, 而且大量业务 API 众多,最大一个都超过上千的 API 。

在这个背景下,我做了一个 lathe ,他的特点是连接你已有的 swagger/openapi/protobuf ,通过 spec parser 聚合为统一的 IR , 然后生成 cobra 应用,并且会附带一份 API 指南的 SKILL ,就这么简单。你可以通过组合的方式,把旧世界存量的系统直接接入到 Agent 中。

你需要做的,就是维护 cli.yaml - 生成 CLI 的名称、介绍等信息 sources.yaml - 定义各个模块及来源信息

几个我觉得还挺不错功能点可以说下:

  1. override layer - 一定会被问到的屎山的 API 生成 CLI 也是屎山,一样难用,不是原生为 CLI 设计的,所以 你可以定义一个 override.yaml 来覆盖其中的一些 名称,参数等等
  2. auth - lathe 提供统一的 auth 的接入方式,和认证信息管理;你不需要自己维护 auth 这块的功能,目前支持了 token ,basic auth, oidc 这些,可以扩充
  3. command/search - 可以 agent 在执行时可以通过 search 快速找到合适的命令,配合 command 查看命令的参数信息

140 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1212400

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX