这里是按照「分类」阅读往期的 HelloGitHub 月刊内容, 您目前在查看 HelloGitHub Go 项目 集合。
基于 Docker 的生成 PDF 文件服务。它支持通过 Docker 启动一个服务,该服务可以通过 API 与 Chromium 和 LibreOffice 进行交互。让你可以通过调用接口,轻松地将网页、HTML、Markdown、Word、Excel 等格式的文档转换为 PDF 文件。
curl \ --request POST 'https://demo.gotenberg.dev/forms/chromium/convert/url' \ --form 'url="https://sparksuite.github.io/simple-html-invoice-template/"' \ -o my.pdf
Go 语言的高性能 HTTP 请求路由器。该项目结构简洁,核心代码仅三个文件。它通过 Radix tree 数据结构,实现了高效的路由处理。值得一提的是,著名的 Gin 框架也使用了它。
package main import ( "fmt" "net/http" "log" "github.com/julienschmidt/httprouter" ) func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { fmt.Fprint(w, "Welcome!\n") } func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name")) } func main() { router := httprouter.New() router.GET("/", Index) router.GET("/hello/:name", Hello) log.Fatal(http.ListenAndServe(":8080", router)) }
一款强大的代码搜索平台。该项目能够对代码库进行语义索引和分析,支持正则表达式搜索、输入搜索条件时的自动补全、类似 IDE 的跳转到定义和引用。它可以用于构建公司内部的代码搜索平台,帮助程序员完成跨项目的代码查找、代码审查、代码追踪等。
专为“小场面”而生的 Go 编译器。这是一个基于 LLVM 的小型 Go 编译器,它能够将 Go 代码编译成可运行在开发板、物联网、WebAssembly 等场景的程序。
现代化、开源的 Linux 服务器运维管理面板。这是一款 Go 写的 Linux 服务器的在线管理系统,它安装简单、安全可靠,同时集成了 WordPress 等应用、域名绑定、SSL 证书配置、备份等功能,支持快速建站。
随时准备好编码的云开发环境。这是一个提供在线开发环境的 K8s 应用程序,通过配置文件可以快速地为 GitHub、GitLab 上的项目,创建一个集成了在线 IDE、库、依赖项等工具的在线开发环境。
OpenAI 的本地替代品。一个实现了在个人电脑上运行 LLM 模型,并集成了服务接口和在线聊天界面的项目。虽然效果无法和 GPT-4 媲美,但它开箱即用且免费,支持 Vicuna、Alpaca、GPT4ALL 等模型。
# Clone LocalAI git clone https://github.com/go-skynet/LocalAI cd LocalAI # (optional) Checkout a specific LocalAI tag # git checkout -b build <TAG> # Download gpt4all-j to models/ wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j # Use a template from the examples cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/ # (optional) Edit the .env file to set things like context size and threads # vim .env # start with docker-compose docker-compose up -d --pull always # or you can build the images with: # docker-compose up -d --build # Now API is accessible at localhost:8080 curl http://localhost:8080/v1/models # {"object":"list","data":[{"id":"ggml-gpt4all-j","object":"model"}]} curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "ggml-gpt4all-j", "messages": [{"role": "user", "content": "How are you?"}], "temperature": 0.9 }' # {"model":"ggml-gpt4all-j","choices":[{"message":{"role":"assistant","content":"I'm doing well, thanks. How about you?"}}]}
一条命令在本机启动 Kubernetes 集群的工具。一个可以在本地轻松运行 K8s 集群的工具,它支持标准的 Kubernetes 功能,可作为本地开发 Kubernetes 应用程序的工具,适用于 macOS、Linux 和 Windows 操作系统。
一款可视化路由跟踪工具。该项目默认使用 ICMP 协议发送 TraceRoute 请求,特点是显示经过路由器的 IP、地理位置和耗时,以及在地图上以可视化的方式显示路径。