9 个必须了解的开源工具,让你比 99% 的开发人员更优秀
软件开发领域正以前所未有的速度发展。为了保持领先地位,您必须掌握面向未来的工具和技术。
我整理了一份必知的开源工具列表,以帮助您构建经得起时间考验的应用程序。
1. Composio 👑:AI 自动化的终极平台
我们正在见证人工智能领域前所未有的增长。对我来说,它就像上世纪90年代的互联网热潮。像谷歌、OpenAI、微软等大公司都在人工智能的未来上押注数十亿美元。
Composio 是构建复杂 AI 自动化软件所需的唯一工具。它允许 AI 模型访问第三方工具和应用程序,以实现与它们的自动化交互。
🎯 例如,您可以通过 Composio 将 GitHub 与 GPT 模型连接起来,并自动审查 PR、解决问题、编写测试用例等。
它包含超过 90 种工具和集成,例如 GitHub、Jira、Slack 和 Gmail,可自动化复杂的现实世界工作流程。
此外,您甚至可以集成您的应用程序,只需将应用程序的 OpenAPI 规范添加到 Composio,即可使 AI 执行发送电子邮件、模拟点击、下订单等操作。
它们对 Python 和 Javascript 有原生支持。
您可以通过使用 安装来快速开始使用 Composio pip
。
pip install composio-core
添加 GitHub 集成。
composio add github
Composio 代表您处理用户身份验证和授权。
以下是如何使用 GitHub 集成来为存储库加注星标的方法。
from openai import OpenAI
from composio_openai import ComposioToolSet, App
openai_client = OpenAI(api_key="******OPENAIKEY******")
# Initialise the Composio Tool Set
composio_toolset = ComposioToolSet(api_key="**\\*\\***COMPOSIO_API_KEY**\\*\\***")
## Step 4
# Get GitHub tools that are pre-configured
actions = composio_toolset.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER])
## Step 5
my_task = "Star a repo ComposioHQ/composio on GitHub"
# Create a chat completion request to decide on the action
response = openai_client.chat.completions.create(
model="gpt-4-turbo",
tools=actions, # Passing actions we fetched earlier.
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": my_task}
]
)
运行此 Python 脚本以使用代理执行给定的指令。
执行代码并让代理为您完成工作。
欲了解更多信息,请访问官方 文档,欲查看更复杂的示例,请参阅存储库的 示例 部分。
2. Postiz - 利用人工智能提升你的互联网影响力
打造产品是一回事,获得用户和客户又是另一回事。开发者常常忘记,他们仍然需要营销产品并创建社区来维持业务。
Postiz 可帮助您利用人工智能提升社交媒体游戏水平。
它提供管理社交媒体帖子、建立受众群体、获取潜在客户和发展业务所需的一切。
查看 存储库 以了解更多信息。
3. Encore - 健壮且类型安全的应用程序的后端框架
云服务非常适合构建可扩展的应用程序。然而,复杂的基础设施管理、不一致的 API 以及分散的 DevOps 流程很快就会让云服务变得混乱。
Encore 通过提供集成类型安全后端框架、自动基础设施配置和 DevOps 自动化的统一开发平台来简化这种混乱。
t 在 Golang 和 Typescript 中均可用。
通过安装 CLI 开始使用 Encore。
curl -L https://encore.dev/install.sh | bash
创建一个应用程序。
encore app create
这将配置您的免费帐户,允许您选择应用程序的名称并选择 Hello World
模板。
这将使用您选择的应用程序名称在新文件夹中创建一个带有简单 REST API 的示例应用程序。
在编辑器中打开该文件。
// Service hello implements a simple hello world REST API.
package hello
import (
"context"
)
// This simple REST API responds with a personalized greeting.
//
//encore:api public path=/hello/:name
func World(ctx context.Context, name string) (*Response, error) {
msg := "Hello, " + name + "!"
return &Response{Message: msg}, nil
}
type Response struct {
Message string
}
有关更多信息,请参阅其 文档。
4. Tolgee——本地化和翻译平台
要发展您的应用程序,您必须触达来自不同国家的用户。然而,管理翻译和本地化内容可能颇具挑战性。这时,您需要像 Tolgee 这样的平台。
他们提供专用的 JS-SDK,您可以将其集成到您的 Web 应用中以本地化内容。他们还提供一些实用功能,例如上下文翻译、自动截图生成、审阅翻译等,以加快您的开发流程。
查看文档以了解更多信息。
5. CopilotKit——将 AI集成到你的 Web 应用中
如果您正在寻找一种便捷的方式将 AI 工作流程集成到您的 Web 应用中,那么这就是您的目标。CopilotKit 是一款一体化应用程序,可将聊天机器人、文本自动完成等 AI 功能直接集成到您的应用中。
它提供文本区域、弹出窗口、侧边栏和聊天机器人等 React 组件,以增强任何具有 AI 功能的应用程序。
让我们看看如何使用 CopilotKit 构建 AI 聊天机器人。
npm i @copilotkit/react-core @copilotkit/react-ui
配置应用程序提供商
首先,您必须使用提供商包装与您的副驾驶交互的所有组件 <CopilotKit />
。
使用 <CopilotSidebar />
UI 组件显示 Copilot 聊天侧边栏。您还可以选择其他一些选项,例如 <CopilotPopup />
和 <CopilotChat />
。
"use client";
import { CopilotKit } from "@copilotkit/react-core";
import { CopilotSidebar } from "@copilotkit/react-ui";
import "@copilotkit/react-ui/styles.css";
export default function RootLayout({children}) {
return (
<CopilotKit publicApiKey="<your-public-api-key>">
<CopilotSidebar>
{children}
</CopilotSidebar>
</CopilotKit>
);
}
副驾驶可读状态
为副驾驶提供状态知识。
import { useCopilotReadable } from "@copilotkit/react-core";
export function YourComponent() {
const { employees } = useEmployees();
// Define Copilot readable state
useCopilotReadable({
description: "List of available users",
value: users,
});
return (
<>...</>
);
}
副驾驶行动
让副驾驶使用 useCopilotAction
钩子采取行动。
import { useCopilotReadable, useCopilotAction } from "@copilotkit/react-core";
export function YourComponent() {
const { employees, selectEmployee } = useEmployees();
// Define Copilot readable state
useCopilotReadable({
description: "List of available users",
value: users,
});
// Define Copilot action
useCopilotAction({
name: "Select an employee",
description: "Select an employee from the list",
parameters: [
{
name: "employeeId",
type: "string",
description: "The ID of the employee to select",
required: true,
}
],
handler: async ({ employeeId }) => selectEmployee(employeeId),
});
return (
<>...</>
);
}
您可以查看他们的 文档 以获取更多信息。
6. D3——使用 SVG、Canvas 和 HTML 让数据变得生动
在 JavaScript 中创建可视化效果时,没有比 D3 更好的替代方案了。D3是一个免费的开源 JavaScript 数据可视化库。它基于 Web 标准构建的底层方法为创作动态数据驱动的图形提供了无与伦比的灵活性。
流行的可视化框架(如 Plotly)使用 D3 来绘制交互式图表。
D3 可在任何 JavaScript 环境中运行。
通过安装 D3 快速开始。
npm install d3
这是 React 中折线图的示例。
import * as d3 from "d3";
export default function LinePlot({
data,
width = 640,
height = 400,
marginTop = 20,
marginRight = 20,
marginBottom = 20,
marginLeft = 20
}) {
const x = d3.scaleLinear([0, data.length - 1], [marginLeft, width - marginRight]);
const y = d3.scaleLinear(d3.extent(data), [height - marginBottom, marginTop]);
const line = d3.line((d, i) => x(i), y);
return (
<svg width={width} height={height}>
<path fill="none" stroke="currentColor" strokeWidth="1.5" d={line(data)} />
<g fill="white" stroke="currentColor" strokeWidth="1.5">
{data.map((d, i) => (<circle key={i} cx={x(i)} cy={y(d)} r="2.5" />))}
</g>
</svg>
);
}
查看使用 D3 构建的所有图表和图形的示例。
7. Biome - Web 工具链
Biome是一款快速高效的 Web 开发工具,专注于代码质量。它集代码检查、格式化和编译功能于一体。
与 ESLlint 和 Prettier 相比,它旨在提供更好的性能、更低的资源使用率和更好的开发人员体验。
使用任何包管理器安装 Biome 即可开始使用。
npm install --save-dev --save-exact @biomejs/biome
配置生物群系,
npx @biomejs/biome init
运行该命令后 , 目录中将init
出现一个新 文件:biome.json
生物群系.json
{
"$schema": "https://biomejs.dev/schemas/1.9.3/schema.json",
"vcs": {
"enabled": false,
"clientKind": "git",
"useIgnoreFile": false
},
"files": { "ignoreUnknown": false, "ignore": [] },
"formatter": { "enabled": true, "indentStyle": "tab" },
"organizeImports": { "enabled": true },
"linter": {
"enabled": true,
"rules": { "recommended": true }
},
"javascript": { "formatter": { "quoteStyle": "double" } }
}
启用 linter.enabled: true
linter,并rules.recommended: true
启用推荐规则。这些对应于默认设置。
查看文档以了解更多信息。
8. Continue——领先的人工智能代码助手
您一定听说过 Cursor IDE,这是一款流行的 AI 驱动的 IDE;Continue 与它类似,但在 Apache 许可下开源。
它高度可定制,允许您添加任何语言模型用于自动完成或聊天。这可以极大地提高您的工作效率。您可以将 Continue 添加到 VScode 和 JetBrains。
主要特点
- 在侧边栏中聊天以了解和迭代代码
- 自动完成功能可在您键入时接收内联代码建议
- 编辑以修改代码而无需离开当前文件
- 为日常用例建立快捷方式的操作
更多信息请查看文档。
9. Godot Engine——多平台 2D 和 3D 游戏引擎
游戏市场规模巨大,多项调查显示,过去十年间,玩家平均游戏时长成倍增长。如果您正在考虑游戏开发,Godot 将是一个不错的选择。
它是一个功能丰富的多平台游戏引擎,用于从统一界面构建 2D 和 3D 游戏。
使用 Godot 构建的游戏可以轻松导出到 Web、MacOS、Linux、Windows、Android、iOS 和主机平台。借助游戏引擎,您还可以构建计算密集型应用程序,例如照片编辑器、动画等。
主要特点
- 它包括用于开发虚拟和增强现实应用程序的工具。
- 它高效且轻量,适合独立和小型项目。
- 访问不断增长的免费社区资产库。
- 跨平台。
更多信息请参阅其官方文档。
谢谢阅读。
文章来源:https://dev.to/nevodavid/9-must-know-open-source-tools-that-will-make-you-better-than-99-of-developers-g5b