trpc-agent-go
trpc-agent-go 是一款专为 Go 语言开发者打造的强大框架,旨在简化基于大语言模型(LLM)的智能体系统构建过程。它解决了传统开发中智能体逻辑复杂、多角色协作困难以及状态记忆难以持久化等痛点,让开发者能够轻松创建具备思考、记忆、协作和执行能力的自主智能应用。
该工具特别适合后端工程师、AI 应用开发者及架构师使用,尤其是那些希望利用 Go 语言高性能特性来构建企业级 AI 服务的团队。无论是开发智能客服机器人、数据分析助手,还是实现复杂的 DevOps 自动化流程,trpc-agent-go 都能提供坚实的技术支撑。
其核心技术亮点包括:支持链式、并行及基于图结构的多智能体编排,实现了类似 LangGraph 的类型安全工作流;内置强大的持久化记忆系统,确保智能体在跨会话中保持上下文感知;拥有丰富的工具生态,可无缝集成外部 API、数据库及 MCP 协议;同时具备生产级可观测性、自动提示词缓存优化及版本化产物管理功能。凭借高性能与低延迟优势,trpc-agent-go 帮助开发者高效落地从概念验证到大规模部署的各类 AI 应用场景。
使用场景
某电商平台的运维团队需要构建一个能自动分析数据库慢查询日志、定位性能瓶颈并生成优化建议的智能诊断系统。
没有 trpc-agent-go 时
- 流程割裂严重:开发人员需手动编写脚本串联日志拉取、SQL 解析和大模型分析环节,代码耦合度高且难以维护。
- 上下文记忆缺失:每次诊断都是“单次对话”,代理无法记住历史故障特征或之前的优化尝试,导致重复分析相同问题。
- 多步推理困难:面对复杂的连锁故障(如锁等待引发超时),缺乏分层规划能力,大模型容易在长链条逻辑中迷失或产生幻觉。
- 工具集成繁琐:每接入一个新的监控 API 或数据库驱动,都需要重新编写大量的胶水代码和错误处理逻辑。
- 生产监控盲区:缺乏内置的可观测性,代理运行时的延迟、Token 消耗及决策路径难以追踪,上线后不敢完全信任。
使用 trpc-agent-go 后
- 编排简洁高效:利用
ChainAgent轻松定义“拉取日志->分析索引->生成报告”的自动化流水线,将复杂工作流简化为声明式代码。 - 持久化记忆增强:通过内置的
MemoryService,代理能跨会话存储历史故障库,遇到相似问题时直接调用过往成功方案,响应速度提升 50%。 - 智能分层规划:借助高级规划器,代理能自主拆解复杂故障为子任务,按顺序执行并动态调整策略,准确定位根因。
- 生态无缝对接:任何 Go 函数均可一键转换为标准工具(Tool),并原生支持 MCP 协议,快速连接内部监控系统与数据库。
- 全链路可观测:内置遥测与追踪功能,实时可视化代理的思考路径与资源消耗,让生产环境的每一次自动决策都透明可控。
trpc-agent-go 将原本需要数周开发的复杂运维专家系统,缩短为几天即可落地的高可靠生产级应用。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
中文 | English
tRPC-Agent-Go
一款功能强大的 Go 框架,用于构建智能代理系统,彻底改变您创建 AI 应用的方式。轻松构建能够思考、记忆、协作并采取行动的自主代理。
为什么选择 tRPC-Agent-Go?
- 智能推理:先进的分层规划器和多代理编排
- 丰富的工具生态:与外部 API、数据库和服务无缝集成
- 持久化内存:长期状态管理和上下文感知能力
- 多代理协作:链式、并行和基于图的代理工作流
- GraphAgent:类型安全的图工作流,支持多条件路由,功能上等同于 Go 语言中的 LangGraph
- 代理技能:可重用的
SKILL.md工作流,具备安全执行机制 - 工件管理:对代理和工具生成的文件进行版本化存储
- 提示缓存:自动优化成本,缓存内容可节省 90% 的费用
- 评估与基准测试:提供评估集和指标,以衡量随时间推移的质量变化
- UI 和服务器集成:AG-UI(代理-用户交互)以及代理间互操作性(A2A)
- 生产就绪:内置遥测、追踪和企业级可靠性
- 高性能:针对可扩展性和低延迟进行了优化
使用场景
非常适合用于构建:
- 客户支持机器人:能够理解上下文并解决复杂问题的智能代理
- 数据分析助手:查询数据库、生成报告并提供洞察的代理
- DevOps 自动化:智能部署、监控和事件响应系统
- 业务流程自动化:具备人工介入能力的多步骤工作流
- 研究与知识管理:基于 RAG 的代理,用于文档分析和问答
核心特性
多代理编排
|
高级内存系统
|
丰富的工具集成
|
生产环境可观测性
|
代理技能
如果您通过 |
评估与基准测试
|
目录
文档
准备好深入探索tRPC-Agent-Go了吗?我们的文档涵盖了从基础概念到高级技术的方方面面,助您自信地构建强大的AI应用。无论您是AI智能体的新手还是经验丰富的开发者,都能在这里找到详尽的指南、实用的示例以及最佳实践,加速您的开发之旅。
快速入门
亲眼见证其运作:【演示GIF占位符——展示智能体推理及工具使用】
先决条件
- Go 1.21或更高版本
- LLM提供商API密钥(OpenAI、DeepSeek等)
- 5分钟即可搭建您的第一个智能体
运行示例
只需3步即可开始:
# 1. 克隆并设置
git clone https://github.com/trpc-group/trpc-agent-go.git
cd trpc-agent-go
# 2. 配置您的LLM
export OPENAI_API_KEY="your-api-key-here"
export OPENAI_BASE_URL="your-base-url-here" # 可选
# 3. 运行您的第一个智能体!
cd examples/runner
go run . -model="gpt-4o-mini" -streaming=true
您将看到:
- 与AI智能体的交互式对话
- 实时流式响应
- 工具使用(计算器+时间工具)
- 多轮对话并具备记忆功能
您可以尝试提问:“现在几点了?然后计算15乘以23再加上100。”
基本用法
package main
import (
"context"
"fmt"
"log"
"trpc.group/trpc-go/trpc-agent-go/agent/llmagent"
"trpc.group/trpc-go/trpc-agent-go/model"
"trpc.group/trpc-go/trpc-agent-go/model/openai"
"trpc.group/trpc-go/trpc-agent-go/runner"
"trpc.group/trpc-go/trpc-agent-go/tool"
"trpc.group/trpc-go/trpc-agent-go/tool/function"
)
func main() {
// 创建模型。
modelInstance := openai.New("deepseek-chat",
openai.WithVariant(openai.VariantDeepSeek),
)
// 创建工具。
calculatorTool := function.NewFunctionTool(
calculator,
function.WithName("calculator"),
function.WithDescription("执行加、减、乘、除运算。"+
"参数:a、b为数值,op取值为add/sub/mul/div;"+
"返回结果为计算结果。"),
)
// 启用流式输出。
genConfig := model.GenerationConfig{
Stream: true,
}
// 创建智能体。
agent := llmagent.New("assistant",
llmagent.WithModel(modelInstance),
llmagent.WithTools([]tool.Tool{calculatorTool}),
llmagent.WithGenerationConfig(genConfig),
)
// 创建运行器。
runner := runner.NewRunner("calculator-app", agent)
// 执行对话。
ctx := context.Background()
events, err := runner.Run(ctx,
"user-001",
"session-001",
model.NewUserMessage("计算2加3等于多少"),
)
if err != nil {
log.Fatal(err)
}
// 处理事件流。
for event := range events {
if event.Object == "chat.completion.chunk" {
fmt.Print(event.Response.Choices[0].Delta.Content)
}
}
fmt.Println()
}
func calculator(ctx context.Context, req calculatorReq) (calculatorRsp, error) {
var result float64
switch req.Op {
case "add", "+":
result = req.A + req.B
case "sub", "-":
result = req.A - req.B
case "mul", "*":
result = req.A * req.B
case "div", "/":
result = req.A / req.B
default:
return calculatorRsp{}, fmt.Errorf("无效操作:%s", req.Op)
}
return calculatorRsp{Result: result}, nil
}
type calculatorReq struct {
A float64 `json:"A" jsonschema:"description=第一个整数操作数,必填"`
B float64 `json:"B" jsonschema:"description=第二个整数操作数,必填"`
Op string `json:"Op" jsonschema:"description=运算类型,枚举值为add、sub、mul、div,必填"`
}
type calculatorRsp struct {
Result float64 `json:"result"`
}
每次请求动态创建智能体
有时您的智能体需要根据每次请求来创建(例如:不同的提示词、模型、工具、沙箱实例)。在这种情况下,可以让运行器为每一次Run(...)构建一个新的智能体:
r := runner.NewRunnerWithAgentFactory(
"my-app",
"assistant",
func(ctx context.Context, ro agent.RunOptions) (agent.Agent, error) {
// 使用ro为本次请求构建智能体。
a := llmagent.New("assistant",
llmagent.WithInstruction(ro.Instruction),
)
return a, nil
},
)
events, err := r.Run(ctx,
"user-001",
"session-001",
model.NewUserMessage("你好"),
agent.WithInstruction("你是一个乐于助人的助手。"),
)
_ = events
_ = err
停止/取消运行
如果您想中断正在运行的代理,建议取消传递给 Runner.Run 的上下文。这样做可以安全地停止模型调用和工具调用,并让运行器进行清理。
重要提示:不要只是简单地“中断”事件循环就退出——代理协程可能会继续运行,并阻塞在通道写入操作上。务必先取消上下文,然后持续从事件通道中读取数据,直到通道被关闭。
选项 A:Ctrl+C(终端程序)
将 Ctrl+C 转换为上下文取消:
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
defer stop()
events, err := r.Run(ctx, userID, sessionID, message)
if err != nil {
return err
}
for range events {
// 持续读取,直到运行器停止(上下文被取消或运行完成)。
}
选项 B:从代码中取消
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
events, err := r.Run(ctx, userID, sessionID, message)
if err != nil {
return err
}
go func() {
time.Sleep(2 * time.Second)
cancel()
}()
for range events {
// 继续读取,直到通道被关闭。
}
选项 C:按 requestID 取消(适用于服务器或后台运行)
requestID := "req-123"
events, err := r.Run(ctx, userID, sessionID, message,
agent.WithRequestID(requestID),
)
mr := r.(runner.ManagedRunner)
_ = mr.Cancel(requestID)
更多详细信息(包括分离式取消、恢复以及服务器端取消流程),请参阅 docs/mkdocs/en/runner.md 和 docs/mkdocs/en/agui.md。
示例
examples 目录包含可运行的演示,涵盖了所有主要功能。
1. 工具使用
- examples/agenttool — 将代理封装为可调用工具。
- examples/multitools — 多工具编排。
- examples/duckduckgo — 集成网络搜索工具。
- examples/filetoolset — 将文件操作封装为工具。
- examples/fileinput — 提供文件作为输入。
- examples/agenttool 展示了流式与非流式模式。
2. 仅使用 LLM 的代理
- 可以将任何聊天补全模型封装为
LLMAgent。 - 配置系统指令、温度、最大令牌数等参数。
- 在模型流式输出时,接收增量式的
event.Event更新。
3. 多代理运行器
- ChainAgent — 子代理的线性流水线。
- ParallelAgent — 并发运行子代理并合并结果。
- CycleAgent — 循环执行,直到满足终止条件。
4. 图形化代理
GraphAgent — 使用
graph和agent/graph包展示如何构建和执行复杂的条件工作流。它演示了如何构造基于图的代理、安全地管理状态、实现条件路由,以及通过运行器编排执行过程。多条件分支路由示例:
// 返回多个分支键和并行执行的目标。 sg := graph.NewStateGraph(schema) sg.AddNode("router", func(ctx context.Context, s graph.State) (any, error) { return nil, nil }) sg.AddNode("A", func(ctx context.Context, s graph.State) (any, error) { return graph.State{"a": 1}, nil }) sg.AddNode("B", func(ctx context.Context, s graph.State) (any, error) { return graph.State{"b": 1}, nil }) sg.SetEntryPoint("router") sg.AddMultiConditionalEdges( "router", func(ctx context.Context, s graph.State) ([]string, error) { return []string{"goA", "goB"}, nil }, map[string]string{"goA": "A", "goB": "B"}, // 路径映射或终点映射 ) sg.SetFinishPoint("A").SetFinishPoint("B")
5. 内存
- 提供内存和 Redis 内存服务,支持 CRUD 操作、搜索及工具集成。
- 展示如何配置、调用工具以及自定义提示词。
6. 知识库
- 基本的 RAG 示例:加载数据源、嵌入向量存储并进行检索。
- 讲解如何利用对话上下文,以及调整加载和并发选项。
7. 链路追踪与遥测
- 在模型、工具和运行器层集成 OpenTelemetry 钩子。
- 将追踪数据导出到 OTLP 端点,以便进行实时分析。
8. MCP 集成
- 提供围绕 trpc-mcp-go 的封装工具,它是 模型上下文协议 (MCP) 的一种实现。
- 支持遵循 MCP 规范的结构化提示、工具调用、资源消息和会话消息。
- 实现动态工具执行以及代理与 LLM 之间的丰富上下文交互。
9. AG-UI 演示
- 通过 AG-UI(代理-用户交互)协议暴露运行器。
- 内置 Server-Sent Events (SSE) 服务器,并提供客户端示例(例如 CopilotKit 和 TDesign Chat)。
10. 评估
- 使用可重复的评估集和可插拔的指标来评估代理。
- 包括本地文件驱动的运行和内存中的运行。
11. 代理技能
示例:examples/skillrun、examples/skillfind
- 技能是以
SKILL.md规范文件为核心,并可选包含文档或脚本的文件夹。 - 内置工具包括:
skill_load、skill_list_docs、skill_select_docs、skill_run,以及(当执行器支持交互式会话时)skill_exec、skill_write_stdin、skill_poll_session、skill_kill_session。 skill_run是默认的一次性命令执行器,运行于隔离的工作空间中。skill_exec和会话相关工具用于处理交互式的标准输入/TTY 流程,而无需将完整脚本内联到提示中。这些工具仅在代码执行器暴露InteractiveProgramRunner接口时注册(或回退到本地引擎实现该接口时)。skill.NewFSRepository(...)可以扫描多个根目录,例如共享的技能目录和用户私有的目录。在长期运行的进程中,安装或移除技能后,请调用(*skill.FSRepository).Refresh()方法刷新仓库。- 建议仅将
skill_run用于所选技能文档中明确要求的命令,而不应用于通用的 Shell 探索任务。 - 当
LLMAgent使用WithCodeExecutor(...)仅为了支持skill_run时,可通过llmagent.WithEnableCodeExecutionResponseProcessor(false)禁用响应中的代码执行处理器。以技能为中心的示例(如examples/skill、examples/skillrun、examples/skilldynamicschema和examples/structuredoutputskills)均遵循此模式,从而避免助手文本中嵌入的代码块自动执行。 examples/skillfind展示了一个完整的端到端发现流程:模型使用内置的skill-find技能搜索公共网络,将一个公开的 GitHub 技能安装到用户私有目录中,刷新仓库,并在同一对话中使用新技能。默认情况下,本地执行功能是关闭的,只有在需要运行已安装技能时才可显式启用。
12. 艺术品
- 保存并检索由工具生成的版本化文件(图像、文本、报告等)。
- 支持多种后端存储(内存、S3、COS 等)。
13. A2A 互操作
- 与 ADK Python A2A 服务器进行代理间互操作。
- 演示跨运行时的流式传输、工具调用和代码执行。
14. 网关服务器
示例:openclaw
- 一个极简的 OpenClaw 风格网关服务器。
- 提供稳定的会话 ID 和每会话序列化功能。
- 具备基础的安全控制机制:白名单 + 提及过滤。
- 类似 OpenClaw 的实现(Telegram + 网关):openclaw
其他值得关注的示例:
- examples/humaninloop – 人机协作。
- examples/codeexecution – 安全的代码执行。
有关使用细节,请参阅每个示例文件夹中的 README.md 文件。
架构概览
架构
执行流程
- Runner 协调整个执行流水线,并管理会话。
- Agent 使用多个专用组件处理请求。
- Planner 确定最优策略和工具选择。
- Tools 执行特定任务(API 调用、计算、网络搜索等)。
- Memory 维护上下文信息,并从交互中学习。
- Knowledge 提供基于 RAG 的文档理解能力。
关键包:
| 包名 | 职责 |
|---|---|
agent |
核心执行单元,负责处理用户输入并生成响应。 |
runner |
代理执行器,负责管理执行流程,并连接会话/记忆服务的功能。 |
model |
支持多种 LLM 模型(OpenAI、DeepSeek 等)。 |
tool |
提供各类工具能力(Function、MCP、DuckDuckGo 等)。 |
session |
管理用户会话状态和事件。 |
memory |
记录用户的长期记忆和个人化信息。 |
knowledge |
实现 RAG 知识检索能力。 |
planner |
提供代理规划和推理能力。 |
artifact |
存储并检索由代理和工具生成的版本化文件(图像、报告等)。 |
skill |
加载并执行由 SKILL.md 定义的可复用代理技能。 |
event |
定义 Runner 和服务器之间使用的事件类型及流式负载。 |
evaluation |
使用可插拔指标评估代理在评测集上的表现,并存储结果。 |
server |
提供 HTTP 服务器(网关、AG-UI、A2A),用于集成和用户界面。 |
telemetry |
开放追踪和度量指标的监控工具。 |
使用内置代理
对于大多数应用场景,您无需自行实现 agent.Agent 接口。框架已经提供了若干开箱即用的代理,您可以像搭积木一样自由组合:
| 代理 | 用途 |
|---|---|
LLMAgent |
将 LLM 对话式补全模型封装为代理。 |
ChainAgent |
依次执行子代理。 |
ParallelAgent |
并发执行子代理,并合并输出。 |
CycleAgent |
循环执行规划器和执行器,直到收到停止信号。 |
多代理协作示例
// 1. 创建一个基础 LLM 代理。
base := llmagent.New(
"assistant",
llmagent.WithModel(openai.New("gpt-4o-mini")),
)
// 2. 创建另一个具有不同指令的 LLM 代理。
translator := llmagent.New(
"translator",
llmagent.WithInstruction("将所有内容翻译成法语"),
llmagent.WithModel(openai.New("gpt-3.5-turbo")),
)
// 3. 将它们组合成一个链式代理。
pipeline := chainagent.New(
"pipeline",
chainagent.WithSubAgents([]agent.Agent{base, translator}),
)
// 4. 通过 Runner 运行会话并进行遥测。
run := runner.NewRunner("demo-app", pipeline)
events, _ := run.Run(ctx, "user-1", "sess-1",
model.NewUserMessage("你好!"))
for ev := range events { /* ... */ }
组合 API 允许您嵌套链式、循环式或并行式代理,从而构建复杂的流程,而无需编写底层的管道逻辑。
贡献
我们非常欢迎贡献!加入我们不断壮大的开发者社区,共同构建人工智能代理的未来。
贡献方式
- 通过 Issues 报告问题或提出功能建议
- 改进文档——帮助更多人更快上手
- 提交 Pull Request(PR)——修复 bug、添加新功能或示例
- 分享你的使用场景——用你的代理应用启发他人
快速贡献设置
# Fork 并克隆仓库
git clone https://github.com/YOUR_USERNAME/trpc-agent-go.git
cd trpc-agent-go
# 运行测试以确保一切正常
go test ./...
go vet ./...
# 进行修改并提交 PR!
请阅读 CONTRIBUTING.md,了解详细的指南和代码规范。
致谢
企业级验证
特别感谢腾讯旗下包括 腾讯元宝、腾讯视频、腾讯新闻、IMA 和 QQ 音乐 等业务部门提供的宝贵支持与实际场景验证。生产环境中的广泛应用推动了框架的持续卓越!
开源灵感
深受 ADK、Agno、CrewAI、AutoGen 等众多优秀框架的启发。站在巨人的肩膀上,我们才能走得更远!
星标历史
许可证
本项目采用 Apache 2.0 许可证 许可——详情请参阅 LICENSE 文件。
在 GitHub 上为我们加星 • 报告问题 • 参与讨论
由 tRPC-Agent-Go 团队用心打造
赋能开发者构建下一代智能应用
版本历史
v1.8.02026/04/07v1.7.02026/03/17openclaw-v0.0.32026/03/12openclaw-v0.0.22026/03/12openclaw-v0.0.12026/03/12tool/wikipedia/v1.6.02026/02/26memory/pgvector/v1.6.02026/02/26v1.6.02026/02/26server/agui/v1.5.12026/02/09v1.5.02026/02/02session/clickhouse/v1.2.02026/01/14v1.2.02026/01/14v1.1.12025/12/31v1.1.02025/12/29knowledge/vectorstore/qdrant/v0.10.02025/12/29v0.10.02025/12/29v0.9.02025/12/29v0.8.02025/12/18v0.7.02025/12/04session/mysql/v0.6.02025/12/01常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

