5作者: karakanb大约 1 个月前原帖
大家好,我是Burak。 当代理成为现实时,我想做的第一件事就是自动化构建仪表板。我遇到的第一个,也是最明显的障碍是,很多工具都是通过用户界面驱动的。这意味着,如果没有代理处理浏览器的用户界面等操作,就无法让代理完成这些任务。此外,代理所做的任何更改也无法进行审查。 最初的想法是让代理为仪表板构建一个React应用。这在理想情况下效果很好,但我很快遇到了其他问题: - 每个仪表板实际上都是不同的 - 需要实现一个后端来集中执行查询 - 没有集中控制可视化规则和标准的机制 - 没有简单的方法让语义层与仪表板协同工作 最终,代理在每个新的仪表板上都重新发明了轮子,即使在同一个项目下。为这些仪表板构建一个标准化的本地项目,实际上就是从头开始构建一个商业智能工具。 在尝试过这些之后,我问自己:如果仪表板是为代理作为主要用户构建的,会怎么样? 这样的产品需要具备几个特性: - 首先,一切都需要由可版本控制的文本驱动。YAML格式很好。 - 对仪表板的更改应该易于人类审查和理解。 - 代理擅长编写代码,如果能通过代码驱动动态内容,那就太好了:JSX非常合适。 - 静态分析作为一等公民:在部署之前验证仪表板。代理也可以检查他们的工作。 - 基于文件夹中的几个文件以标准化方式进行部署:在操作上非常简单。 - 内置语义层以标准化指标。 这就是我最终构建的:dac(Dashboard-As-Code)是一个开源工具和规范,用于将仪表板定义为代码。它包含一个用Go实现的版本,可以作为单个二进制文件在任何地方部署。仪表板使用YAML和JSX定义,YAML用于静态内容,JSX用于动态仪表板。您可以在加载时运行查询以定义条件图表,按客户动态生成标签,或列出您正在进行的每个A/B测试的图表。 我选择用Go构建它,因为我非常喜欢Go,并且我认为它是目前与AI代理合作的最佳语言。 dac作为单个二进制文件运行,您可以通过`dac init`命令开始,它会根据duckdb自动为您创建一些示例仪表板。它支持10多种SQL后端,未来还会增加更多。它支持验证、自定义主题等功能。 您可以在这里查看它: [https://github.com/bruin-data/dac](https://github.com/bruin-data/dac) 我很想听听您认为可以改进的地方,请告诉我您的想法。
2作者: recursivedoubts大约 1 个月前原帖
嘿,HN,fixi和朋友们是我其他项目的一些极简主义版本,我终于为它们整理了一个小网站。它们比htmx、hyperscript等更底层和原始,但体积仅为4.5KB。特别是fixi.js,旨在让人易于阅读:<p><a href="https://github.com/bigskysoftware/fixi/blob/master/fixi.js" rel="nofollow">https://github.com/bigskysoftware/fixi/blob/master/fixi.js</a>