2025 年你的下一个大型项目必须使用的 13 个顶级开源工具
今年将是科技领域激动人心的一年,我们可能会看到人工智能工具、框架、数据库等多个领域取得突破性成就。
因此,我精心挑选了一些您在构建下一个大型项目时必须使用的开源工具。
1. Composio:将 AI 与外部 SaaS 集成,实现自动化
2025 年将是 AI 代理的元年。然而,AI 代理的实用性取决于其所配备的工具。Composio 是领先的平台,它为 AI 代理提供工具和集成,使其能够与 GitHub、Gmail 等外部应用进行通信。
Composio 可以作为代理和应用之间的桥接层。例如,使用 Composio,您可以添加 Gmail、日历、Meet、Notion 等,构建一个可以总结会议内容、创建行动要点、更新日历(如果需要)以及向相应与会者发送电子邮件的代理。
开始使用它非常容易。
npm install composio-core openai
连接你的 GitHub 帐户
import { Composio } from "composio-core";
const client = new Composio({ apiKey: "<your-api-key>" });
const entity = await client.getEntity("Jessica");
const connection = await entity.initiateConnection({appName: 'github'});
console.log(`Open this URL to authenticate: ${connection.redirectUrl}`);
初始化 Composio 和 OpenAI
import { OpenAI } from "openai";
import { OpenAIToolSet } from "composio-core";
const openai_client = new OpenAI();
const composio_toolset = new OpenAIToolSet();
获取 GitHub 操作并将其传递给 LLM
const tools = await composio_toolset.getTools({
actions: ["github_star_a_repository_for_the_authenticated_user"]
});
const instruction = "Star the repo composiohq/composio on GitHub";
const response = await openai_client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: instruction }],
tools: tools,
tool_choice: "auto",
});
执行工具调用。
const result = await composio_toolset.handleToolCall(response);
console.log(result);
该 文档 提供了有关 Composio、其工作以及制作可用于生产的代理的重要概念的更多信息。
2. Encore:开发者优先的自动化基础设施后端框架
Encore 是一款值得考虑使用的后端框架。它消除了云开发以及云基础设施设置和管理的所有麻烦,从 API 文档到数据库配置、服务发现到部署流水线、监控到跟踪,让您专注于编写应用程序代码。
Encore 就像在您的工作流程中内置了一位 DevOps 专家——您只需专注于编写 TypeScript 或 Go 代码。同时,它还能处理所有复杂的后台基础设施,从数据库管理到微服务部署。它将复杂的云开发流程转化为简单易维护的代码。
通过安装 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
}
有关更多信息,请参阅其 文档。
3. Val Town:运行无服务器 JavaScript 的社交计算平台
把它想象成您在云端的个人 JavaScript 游乐场。Val Town 允许您编写和部署以 API 或自动化方式运行的代码片段,而无需处理服务器或基础设施。它非常适合快速原型设计或自动执行重复性任务。
创建一个新的 Val:
// @username/greet
export function greet(name) {
return `Hello, ${name}!`
}
导入并使用其他人的 Vals:
import { greet } from "@friend/greet"
export function welcome() {
return greet("Val Town")
}
每个 Val 都是一个 API 端点,可以像 cron 作业一样进行调度。它非常适合自动化、机器人和快速实验!
4. Neon:无服务器 Postgress
如果您曾在无服务器环境中管理 PostgreSQL 数据库时遇到过困难,那么您可能听说过 Neon。它的独特之处在于,它为数据库带来了类似 Git 的分支功能,让您可以创建数据库的即时副本,用于测试或开发。
它非常适合现代开发工作流程,您可以在其中测试更改而不会干扰生产数据。
5. Rustify:用于与 HTTP API 端点交互的 Rust 库
Rustify 是一个用 Rust 编写的小型库,可以减轻搭建 HTTP API 的负担。它提供了一个 endpoint
trait 和一个宏助手,允许对各种远程端点进行模板化。它提供异步和同步客户端来执行针对端点的请求,并支持使用 Client
trait 实现自定义客户端。
基本示例
use rustify::{Client, Endpoint};
use rustify_derive::Endpoint;
// Defines an API endpoint at /test/path that takes no inputs and returns an
// empty response.
#[derive(Endpoint)]
#[endpoint(path = "test/path")]
struct Test {}
let endpoint = Test {};
let client = Client::default("http://api.com"); // Configures base address of http://api.com
let result = endpoint.exec(&client).await; // Sends GET request to http://api.com/test/path
assert!(result.is_ok());
6. Trigger Dev:开源后台作业平台
一个开发者优先的后台作业框架,让处理计划任务和 webhook 变得轻松自然。与传统的作业队列不同,Trigger.dev 内置了版本控制、重试功能以及美观的仪表盘来监控您的作业。
真正的魔力在于它的集成——您可以连接 GitHub、Stripe 或任何 API,而无需编写样板代码。它尤其适用于处理 Webhook 驱动的工作流或运行资源密集型的后台任务,而不会影响您的主应用程序。
# Install
npm install @trigger.dev/sdk
typescript
Copy
import { TriggerClient } from "@trigger.dev/sdk";
const client = new TriggerClient({
id: "my-app",
apiKey: process.env.TRIGGER_API_KEY,
});
// Create a scheduled job
client.defineJob({
id: "daily-cleanup",
name: "Daily Cleanup",
version: "1.0.0",
trigger: "schedule",
schedule: "0 0 * * *",
run: async (payload, io) => {
// Built-in integrations
await io.github.createIssue("org/repo", {
title: "Daily Cleanup Report",
body: "Cleanup completed successfully"
});
},
});

7. Tolgee:开源本地化工具
Tolgee 是一个创新的开源本地化平台,它正在彻底改变开发者处理应用程序翻译的方式。它支持直接在应用程序中进行上下文翻译,只需按下 ALT 键并点击即可,无需编辑传统的本地化文件。
8. OpenTelemetry:轻松实现有效的可观察性
拼凑各种监控工具的日子已经一去不复返了。OpenTelemetry 是可观察性的“瑞士军刀”,为您提供监控系统所需的一切。
它是一个全面的框架,可以收集整个基础架构的跟踪信息、指标和日志,让您更轻松地了解复杂分布式应用程序中的运行情况。无论是在 Kubernetes 中运行微服务还是传统应用程序,OpenTelemetry 都提供了一种统一的方法来收集和分析性能数据,而无需依赖任何供应商。
# Install for Node.js
npm install @opentelemetry/api @opentelemetry/sdk-node
import { NodeSDK } from '@opentelemetry/sdk-node'
import { trace } from '@opentelemetry/api'
const sdk = new NodeSDK()
sdk.start()
// Create a span
const tracer = trace.getTracer('my-app')
const span = tracer.startSpan('my-operation')
span.end()
9. ChromaDB:高性能矢量数据库
构建需要理解和搜索内容的 AI 应用程序?ChromaDB 可以帮您实现。它是一个开源的嵌入式数据库,让向量搜索变得轻而易举。
开始使用它很容易。
pip install chromadb
import chromadb
client = chromadb.Client()
collection = client.create_collection("docs")
# Add documents
collection.add(
documents=["ChromaDB is awesome", "Vector databases are the future"],
ids=["1", "2"]
)
# Search
results = collection.query(
query_texts=["What's awesome?"],
n_results=1
)
10. Hono:适用于边缘设备的超轻量级 Web 框架
专为边缘计算构建的超轻量级 Web 框架。虽然其他框架最初都是以服务器为目标,但 Hono 专为 Cloudflare Workers 和 Deno Deploy 等边缘计算平台而设计。它运行速度快,占用空间小,并提供类似 Express 的 API。
开始使用它非常容易。
npm create hono@latest
一个简单的例子
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hono!'))
export default app
11. Astro:内容驱动网站的 Web 框架
一个正在改变我们 JavaScript 传输方式的 Web 框架:Astro 默认提供闪电般快速的网站,除非您明确需要,否则不会向客户端发送任何 JavaScript。它的独特之处在于其“孤岛架构”——您可以在同一个项目中混合搭配使用 React、Vue 或 Svelte 组件,Astro 只会加载必要的组件。
这意味着您可以同时获得两种体验:在需要的地方使用动态组件,在其他地方使用静态、极速的 HTML。非常适合内容丰富且需要选择性交互的网站。
#create new project
npm create astro@latest
---
// pages/index.astro
const data = await fetch('api/posts').then(r => r.json())
---
<html>
<body>
{data.map(post => (
<article>
<h2>{post.title}</h2>
<p>{post.excerpt}</p>
</article>
))}
</body>
</html>
12. Grafbase:GraphQL 联合平台
Grafbase 允许您使用 TypeScript 定义 API 模式,并处理所有后端复杂性。它最棒之处在于它能够与您现有的工具连接——从用于身份验证的 Auth0 到用于文件存储的 S3。
此外,它还能自动将您的 API 部署到边缘,无论用户身在何处,都能实现极速运行。对于那些希望拥有现代 GraphQL 后端,又不想面对运维难题的团队来说,它堪称理想之选。
# Install Grafbase CLI
npm install -g grafbase
# Initialize a new project
grafbase init my-api
// schema.ts
type Post @model {
id: ID!
title: String!
content: String
author: User!
}
type User @model {
id: ID!
name: String!
posts: [Post]
}
13. Letta:构建具有记忆功能的 LLM
Letta 是一个创新的 AI 平台,为基于 LLM 的代理带来先进的记忆功能。该平台创立于加州大学伯克利分校的 Sky Computing Lab,旨在帮助 AI 代理在交互过程中保持持久记忆和状态。
创建代理
from letta import EmbeddingConfig, LLMConfig, create_client
client = create_client()
# set automatic defaults for LLM/embedding config
client.set_default_llm_config(LLMConfig.default_config(model_name="gpt-4"))
client.set_default_embedding_config(EmbeddingConfig.default_config(model_name="text-embedding-ada-002"))
# create a new agent
agent_state = client.create_agent()
print(f"Created agent with name {agent_state.name} and unique ID {agent_state.id}")
创建代理后,您可以向其发送消息:
# Message an agent
response = client.send_message(
agent_id=agent_state.id,
role="user",
message="hello"
)
print("Usage", response.usage)
print("Agent messages", response.messages)
欲了解更多信息,请查看文档。
感谢您的阅读,再次祝您新年快乐。
如果您想成为充满活力的 AI 开发者社区的一员,请加入我们的Discord 频道。
文章来源:https://dev.to/composiodev/13-top-open-source-tools-you-must-use-for-your-next-big-project-in-2025-5gld