freshcrate
Skin:/
Home > MCP Servers > trpc-agent-go

trpc-agent-go

trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.

README

English | ไธญๆ–‡

tRPC-Agent-Go

Go Reference Go Report Card LICENSE ReleasesTests Coverage Documentation

A powerful Go framework for building intelligent agent systems that transforms how you create AI applications. Build autonomous agents that think, remember, collaborate, and act with unprecedented ease.

Why tRPC-Agent-Go?

  • Intelligent Reasoning: Advanced hierarchical planners and multi-agent orchestration
  • Rich Tool Ecosystem: Seamless integration with external APIs, databases, and services
  • Persistent Memory: Long-term state management and contextual awareness
  • Multi-Agent Collaboration: Chain, parallel, and graph-based agent workflows
  • GraphAgent: Type-safe graph workflows with multi-conditional routing, functionally equivalent to LangGraph for Go
  • Agent Skills: Reusable SKILL.md workflows with safe execution
  • Artifacts: Versioned storage for files produced by agents and tools
  • Prompt Caching: Automatic cost optimization with 90% savings on cached content
  • Evaluation & Benchmarks: Eval sets + metrics to measure quality over time
  • UI & Server Integration: AG-UI (Agent-User Interaction), and Agent-to-Agent (A2A) interoperability
  • Production Ready: Built-in telemetry, tracing, and enterprise-grade reliability
  • High Performance: Optimized for scalability and low latency

Use Cases

Perfect for building:

  • Customer Support Bots - Intelligent agents that understand context and solve complex queries
  • Data Analysis Assistants - Agents that query databases, generate reports, and provide insights
  • DevOps Automation - Smart deployment, monitoring, and incident response systems
  • Business Process Automation - Multi-step workflows with human-in-the-loop capabilities
  • Research & Knowledge Management - RAG-powered agents for document analysis and Q&A

Key Features

Multi-Agent Orchestration

// Chain agents for complex workflows
pipeline := chainagent.New("pipeline",
    chainagent.WithSubAgents([]agent.Agent{
        analyzer, processor, reporter,
    }))

// Or run them in parallel
parallel := parallelagent.New("concurrent",
    parallelagent.WithSubAgents(tasks))

Advanced Memory System

// Persistent memory with search
memory := memorysvc.NewInMemoryService()
agent := llmagent.New("assistant",
    llmagent.WithTools(memory.Tools()),
    llmagent.WithModel(model))

// Memory service managed at runner level
runner := runner.NewRunner("app", agent,
    runner.WithMemoryService(memory))

// Agents remember context across sessions

Rich Tool Integration

// Any function becomes a tool
calculator := function.NewFunctionTool(
    calculate,
    function.WithName("calculator"),
    function.WithDescription("Math operations"))

// MCP protocol support
mcpTool := mcptool.New(serverConn)

Production Observability

// Start Langfuse integration
clean, _ := langfuse.Start(ctx)
defer clean(ctx)

runner := runner.NewRunner("app", agent)
// Run with Langfuse attributes
events, _ := runner.Run(ctx, "user-1", "session-1", 
    model.NewUserMessage("Hello"),
    agent.WithSpanAttributes(
        attribute.String("langfuse.user.id", "user-1"),
        attribute.String("langfuse.session.id", "session-1"),
    ))

Agent Skills

// Skills are folders with a SKILL.md spec.
repo, _ := skill.NewFSRepository("./skills")

// Let the agent load and run skills on demand.
tools := []tool.Tool{
    skilltool.NewLoadTool(repo),
    skilltool.NewRunTool(repo, localexec.New()),
}

NewFSRepository also accepts an HTTP(S) URL (for example, a .zip or .tar.gz archive). The payload is downloaded and cached locally (set SKILLS_CACHE_DIR to override the cache location).

NewFSRepository also accepts multiple roots, which is useful for combining shared skills with user-private skills. In a long-lived process, call repo.Refresh() after installing, deleting, or renaming a skill so the next turn sees the updated skill set.

If you wire Skills through LLMAgent with llmagent.WithCodeExecutor(...), consider also setting llmagent.WithEnableCodeExecutionResponseProcessor(false) so Markdown fenced code blocks embedded in assistant text do not auto-execute while skill_run is enabled.

Evaluation & Benchmarks

evaluator, _ := evaluation.New("app", runner, evaluation.WithNumRuns(3))
defer evaluator.Close()
result, _ := evaluator.Evaluate(ctx, "math-basic")
_ = result.OverallStatus

Table of Contents

Documentation

Ready to dive into tRPC-Agent-Go? Our documentation covers everything from basic concepts to advanced techniques, helping you build powerful AI applications with confidence. Whether you're new to AI agents or an experienced developer, you'll find detailed guides, practical examples, and best practices to accelerate your development journey.

Quick Start

See it in Action: [Demo GIF placeholder - showing agent reasoning and tool usage]

Prerequisites

  • Go 1.21 or later
  • LLM provider API key (OpenAI, DeepSeek, etc.)
  • 5 minutes to build your first intelligent agent

Run the Example

Get started in 3 simple steps:

# 1. Clone and setup
git clone https://github.com/trpc-group/trpc-agent-go.git
cd trpc-agent-go

# 2. Configure your LLM
export OPENAI_API_KEY="your-api-key-here"
export OPENAI_BASE_URL="your-base-url-here"  # Optional

# 3. Run your first agent!
cd examples/runner
go run . -model="gpt-4o-mini" -streaming=true

What you'll see:

  • Interactive chat with your AI agent
  • Real-time streaming responses
  • Tool usage (calculator + time tools)
  • Multi-turn conversations with memory

Try asking: "What's the current time? Then calculate 15 * 23 + 100"

Basic Usage

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() {
    // Create model.
    modelInstance := openai.New("deepseek-chat",
        openai.WithVariant(openai.VariantDeepSeek),
    )

    // Create tool.
    calculatorTool := function.NewFunctionTool(
        calculator,
        function.WithName("calculator"),
        function.WithDescription("Execute addition, subtraction, multiplication, and division. "+
            "Parameters: a, b are numeric values, op takes values add/sub/mul/div; "+
            "returns result as the calculation result."),
    )

    // Enable streaming output.
    genConfig := model.GenerationConfig{
        Stream: true,
    }

    // Create Agent.
    agent := llmagent.New("assistant",
        llmagent.WithModel(modelInstance),
        llmagent.WithTools([]tool.Tool{calculatorTool}),
        llmagent.WithGenerationConfig(genConfig),
    )

    // Create Runner.
    runner := runner.NewRunner("calculator-app", agent)

    // Execute conversation.
    ctx := context.Background()
    events, err := runner.Run(ctx,
        "user-001",
        "session-001",
        model.NewUserMessage("Calculate what 2+3 equals"),
    )
    if err != nil {
        log.Fatal(err)
    }

    // Process event stream.
    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("invalid operation: %s", req.Op)
    }
    return calculatorRsp{Result: result}, nil
}

type calculatorReq struct {
    A  float64 `json:"A"  jsonschema:"description=First integer operand,required"`
    B  float64 `json:"B"  jsonschema:"description=Second integer operand,required"`
    Op string  `json:"Op" jsonschema:"description=Operation type,enum=add,enum=sub,enum=mul,enum=div,required"`
}

type calculatorRsp struct {
    Result float64 `json:"result"`
}

Dynamic Agent per Request

Sometimes your Agent must be created per request (for example: different prompt, model, tools, sandbox instance). In that case, you can let Runner build a fresh Agent for every Run(...):

r := runner.NewRunnerWithAgentFactory(
    "my-app",
    "assistant",
    func(ctx context.Context, ro agent.RunOptions) (agent.Agent, error) {
        // Use ro to build an Agent for this request.
        a := llmagent.New("assistant",
            llmagent.WithInstruction(ro.Instruction),
        )
        return a, nil
    },
)

events, err := r.Run(ctx,
    "user-001",
    "session-001",
    model.NewUserMessage("Hello"),
    agent.WithInstruction("You are a helpful assistant."),
)
_ = events
_ = err

Stop / Cancel a Run

If you want to interrupt a running agent, cancel the context you passed to Runner.Run (recommended). This stops model calls and tool calls safely and lets the runner clean up.

Important: do not just โ€œbreakโ€ your event loop and walk away โ€” the agent goroutine may keep running and can block on channel writes. Always cancel, then keep draining the event channel until it is closed.

Option A: Ctrl+C (terminal programs)

Convert Ctrl+C into context cancellation:

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 {
    // Drain until the runner stops (ctx canceled or run completed).
}

Option B: Cancel from your code

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 {
    // Keep draining until the channel is closed.
}

Option C: Cancel by requestID (for servers / background runs)

requestID := "req-123"
events, err := r.Run(ctx, userID, sessionID, message,
    agent.WithRequestID(requestID),
)

mr := r.(runner.ManagedRunner)
_ = mr.Cancel(requestID)

For more details (including detached cancellation, resume, and server cancel routes), see docs/mkdocs/en/runner.md and docs/mkdocs/en/agui.md.

Examples

The examples directory contains runnable demos covering every major feature.

1. Tool Usage

2. LLM-Only Agent

Example: examples/llmagent

  • Wrap any chat-completion model as an LLMAgent.
  • Configure system instructions, temperature, max tokens, etc.
  • Receive incremental event.Event updates while the model streams.

3. Multi-Agent Runners

Example: examples/multiagent

  • ChainAgent โ€“ linear pipeline of sub-agents.
  • ParallelAgent โ€“ run sub-agents concurrently and merge results.
  • CycleAgent โ€“ iterate until a termination condition is met.

4. Graph Agent

Example: examples/graph

  • GraphAgent โ€“ demonstrates building and executing complex, conditional workflows using the graph and agent/graph packages. It shows how to construct a graph-based agent, manage state safely, implement conditional routing, and orchestrate execution with the Runner.

  • Multi-conditional fan-out routing:

// Return multiple branch keys and run targets in parallel.
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"}, // Path map or ends map
)
sg.SetFinishPoint("A").SetFinishPoint("B")

5. Memory

Example: examples/memory

  • Inโ€‘memory and Redis memory services with CRUD, search and tool integration.
  • How to configure, call tools and customize prompts.

6. Knowledge

Example: examples/knowledge

  • Basic RAG example: load sources, embed to a vector store, and search.
  • How to use conversation context and tune loading/concurrency options.

7. Telemetry & Tracing

Example: examples/telemetry

  • OpenTelemetry hooks across model, tool and runner layers.
  • Export traces to OTLP endpoint for real-time analysis.

8. MCP Integration

Example: examples/mcptool

  • Wrapper utilities around trpc-mcp-go, an implementation of the Model Context Protocol (MCP).
  • Provides structured prompts, tool calls, resource and session messages that follow the MCP specification.
  • Enables dynamic tool execution and context-rich interactions between agents and LLMs.

9. AG-UI Demo

Example: examples/agui

  • Exposes a Runner through the AG-UI (Agent-User Interaction) protocol.
  • Built-in Server-Sent Events (SSE) server, plus client samples (for example, CopilotKit and TDesign Chat).

10. Evaluation

Example: examples/evaluation

  • Evaluate an agent with repeatable eval sets and pluggable metrics.
  • Includes local file-backed runs and in-memory runs.

11. Agent Skills

Examples: examples/skillrun, examples/skillfind

  • Skills are folders with a SKILL.md spec + optional docs/scripts.
  • Built-in tools: skill_load, skill_list_docs, skill_select_docs, skill_run, and (when the executor supports interactive sessions) skill_exec, skill_write_stdin, skill_poll_session, skill_kill_session.
  • skill_run is the default one-shot command runner in an isolated workspace.
  • skill_exec and the session tools cover interactive stdin/TTY flows without inlining full scripts into the prompt. They are registered only when the code executor exposes InteractiveProgramRunner (or falls back to a local engine that does).
  • skill.NewFSRepository(...) can scan multiple roots, such as a shared skills directory plus a user-private directory. Use (*skill.FSRepository).Refresh() after skill installation or removal in long-lived processes.
  • Prefer using skill_run only for commands required by the selected skill docs, not for generic shell exploration.
  • When LLMAgent uses WithCodeExecutor(...) only to support skill_run, disable the response code execution processor with llmagent.WithEnableCodeExecutionResponseProcessor(false). The skill-focused examples (examples/skill, examples/skillrun, examples/skilldynamicschema, and examples/structuredoutputskills) follow this pattern so fenced code blocks embedded in assistant text do not auto-execute.
  • examples/skillfind demonstrates a real end-to-end discovery flow: the model uses a built-in skill-find skill to search the public web, install a public GitHub skill into a user-private directory, refresh the repository, and use the new skill in the same conversation. Local execution stays off by default and can be enabled explicitly when you want to run an installed skill.

12. Artifacts

Example: examples/artifact

  • Save and retrieve versioned files (images, text, reports) produced by tools.
  • Supports multiple backends (in-memory, S3, COS).

13. A2A Interop

Example: examples/a2aadk

  • Agent-to-Agent (A2A) interop with an ADK Python A2A server.
  • Demonstrates streaming, tool calls, and code execution across runtimes.

14. Gateway Server

Example: openclaw

  • A minimal OpenClaw-like gateway server.
  • Stable session ids and per-session serialization.
  • Basic safety controls: allowlist + mention gating.
  • OpenClaw-like implementation (Telegram + gateway): openclaw

Other notable examples:

See individual README.md files in each example folder for usage details.

Architecture Overview

Architecture

architecture

Execution Flow

  1. Runner orchestrates the entire execution pipeline with session management
  2. Agent processes requests using multiple specialized components
  3. Planner determines the optimal strategy and tool selection
  4. Tools execute specific tasks (API calls, calculations, web searches)
  5. Memory maintains context and learns from interactions
  6. Knowledge provides RAG capabilities for document understanding

Key packages:

Package Responsibility
agent Core execution unit, responsible for processing user input and generating responses.
runner Agent executor, responsible for managing execution flow and connecting Session/Memory Service capabilities.
model Supports multiple LLM models (OpenAI, DeepSeek, etc.).
tool Provides various tool capabilities (Function, MCP, DuckDuckGo, etc.).
session Manages user session state and events.
memory Records user long-term memory and personalized information.
knowledge Implements RAG knowledge retrieval capabilities.
planner Provides Agent planning and reasoning capabilities.
artifact Stores and retrieves versioned files produced by agents and tools (images, reports, etc.).
skill Loads and executes reusable Agent Skills defined by SKILL.md.
event Defines event types and streaming payloads used across Runner and servers.
evaluation Evaluates agents on eval sets using pluggable metrics and stores results.
server Exposes HTTP servers (Gateway, AG-UI, A2A) for integration and UIs.
telemetry OpenTelemetry tracing and metrics instrumentation.

Using Built-in Agents

For most applications you do not need to implement the agent.Agent interface yourself. The framework already ships with several ready-to-use agents that you can compose like Lego bricks:

Agent Purpose
LLMAgent Wraps an LLM chat-completion model as an agent.
ChainAgent Executes sub-agents sequentially.
ParallelAgent Executes sub-agents concurrently and merges output.
CycleAgent Loops over a planner + executor until stop signal.

Multi-Agent Collaboration Example

// 1. Create a base LLM agent.
base := llmagent.New(
    "assistant",
    llmagent.WithModel(openai.New("gpt-4o-mini")),
)

// 2. Create a second LLM agent with a different instruction.
translator := llmagent.New(
    "translator",
    llmagent.WithInstruction("Translate everything to French"),
    llmagent.WithModel(openai.New("gpt-3.5-turbo")),
)

// 3. Combine them in a chain.
pipeline := chainagent.New(
    "pipeline",
    chainagent.WithSubAgents([]agent.Agent{base, translator}),
)

// 4. Run through the runner for sessions & telemetry.
run := runner.NewRunner("demo-app", pipeline)
events, _ := run.Run(ctx, "user-1", "sess-1",
    model.NewUserMessage("Hello!"))
for ev := range events { /* ... */ }

The composition API lets you nest chains, cycles, or parallels to build complex workflows without low-level plumbing.

Contributing

We love contributions! Join our growing community of developers building the future of AI agents.

Ways to Contribute

  • Report bugs or suggest features via Issues
  • Improve documentation - help others learn faster
  • Submit PRs - bug fixes, new features, or examples
  • Share your use cases - inspire others with your agent applications

Quick Contribution Setup

# Fork & clone the repo
git clone https://github.com/YOUR_USERNAME/trpc-agent-go.git
cd trpc-agent-go

# Run tests to ensure everything works
go test ./...
go vet ./...

# Make your changes and submit a PR!

Please read CONTRIBUTING.md for detailed guidelines and coding standards.

Acknowledgements

Enterprise Validation

Special thanks to Tencent's business units including Tencent Yuanbao, Tencent Video, Tencent News, IMA, and QQ Music for their invaluable support and real-world validation. Production usage drives framework excellence!

Open Source Inspiration

Inspired by amazing frameworks like ADK, Agno, CrewAI, AutoGen, and many others. Standing on the shoulders of giants!


Star History

Star History Chart


License

Licensed under the Apache 2.0 License - see LICENSE file for details.


Star us on GitHub โ€ข Report Issues โ€ข Join Discussions

Built with love by the tRPC-Agent-Go team

Empowering developers to build the next generation of intelligent applications

Release History

VersionChangesUrgencyDate
v1.10.0## What's Changed * telemetry: add otel-compatible message attributes by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1730 * feat(model): add opt-in OpenAI chat telemetry by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1770 * model: add local context window options by @Rememorio in https://github.com/trpc-group/trpc-agent-go/pull/1747 * telemetry: share stable tool ordering by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1756 * openclaw: adHigh6/5/2026
v1.9.1## What's Changed * openclaw: keep admin sidebar navigable by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1766 * {agent, graph, runner}: align graph agent child surface roots by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1771 * agent: preserve custom state in invocation views by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1772 **Full Changelog**: https://github.com/trpc-group/trpc-agent-go/compare/v1.9.0...v1.9.1High5/11/2026
v1.9.0## What's Changed * openclaw/skills: watch local skill roots by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1582 * {model/openai,openclaw}: record final chat requests in debug traces by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1593 * openclaw: redact exec output instead of blocking env reads by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1590 * openclaw: add memory admin inventory by @bytethm in https://github.com/trpc-group/trpc-agHigh5/8/2026
v1.8.0## What's Changed * {agent, telemetry}: add agent name and id attribute for trace and metric by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1410 * memory: make preload adapt to memory volume by @Rememorio in https://github.com/trpc-group/trpc-agent-go/pull/1450 * memory/sqlitevec: migrate legacy schema on startup by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1453 * model/openai: infer deepseek variant for text-only chat by @WineChord in https://github.coHigh4/7/2026
v1.7.0## What's Changed * processor: add content parts at convertForeignEvent by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1067 * {log, event, internal/telemetry}: short-circuit disabled trace/metrics and stop timeout timers by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1258 * model/antropic: set antropic default no prompt cache by @sandyskies in https://github.com/trpc-group/trpc-agent-go/pull/1261 * examples: go mod tidy by @Flash-LHR in https://github.coLow3/17/2026
openclaw-v0.0.3**Full Changelog**: https://github.com/trpc-group/trpc-agent-go/compare/openclaw-v0.0.2...openclaw-v0.0.3Low3/12/2026
openclaw-v0.0.2**Full Changelog**: https://github.com/trpc-group/trpc-agent-go/compare/openclaw-v0.0.1...openclaw-v0.0.2Low3/12/2026
openclaw-v0.0.1## What's Changed * {log, event, internal/telemetry}: short-circuit disabled trace/metrics and stop timeout timers by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1258 * model/antropic: set antropic default no prompt cache by @sandyskies in https://github.com/trpc-group/trpc-agent-go/pull/1261 * examples: go mod tidy by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1262 * feat: support MCP tool _meta field with backward compatibility by @srcrs in https://githuLow3/12/2026
tool/wikipedia/v1.6.0Release tool/wikipedia/v1.6.0Low2/26/2026
memory/pgvector/v1.6.0Release memory/pgvector/v1.6.0Low2/26/2026
v1.6.0## What's Changed * model: add context window for OpenAI GPT-5.2 by @Rememorio in https://github.com/trpc-group/trpc-agent-go/pull/1177 * {server/agui, examples}: bump agui go sdk version by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1171 * codeexecutor: omit empty file content by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1178 * all: update TraceChat to use params struct by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/1182 * skill: iLow2/26/2026
server/agui/v1.5.1Release server/agui/v1.5.1Low2/9/2026
v1.5.0## What's Changed * graph: nested subgraph HITL interrupt resume by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/1027 * evaluation: support any JSON values for tool arguments/result by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/1055 * tool/codeexec: add tool for LLM to execute code via toolcall by @bytethm in https://github.com/trpc-group/trpc-agent-go/pull/1046 * evaluation: support trace evaluation mode by @Flash-LHR in https://github.com/trpc-group/trLow2/2/2026
session/clickhouse/v1.2.0Release session/clickhouse/v1.2.0Low1/14/2026
v1.2.0## What's Changed * telemetry: skip token usage attributes for InvokeAgent spans by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/972 * skill: support URL skills roots by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/965 * skill: support adding skill_run allowed commands by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/947 * examples: allow copilotkit use remote agent service by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/9Low1/14/2026
v1.1.1## What's Changed * {evaluation, docs, examples}: support env key for judge model by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/967 * session/summary: enhance prompt validation by @Rememorio in https://github.com/trpc-group/trpc-agent-go/pull/969 * session/internal/summary: refactor async summary job handling in tests by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/973 * graph: add emit final model response option to restore previous behavior by @WineChorLow12/31/2025
v1.1.0## What's Changed * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/913 * trpc-agent-goo: resolve conflict in readme by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/915 * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/914 * session: persist a error event while error occured by @hyprh in https://github.com/trpc-group/trpc-agent-go/pull/892 * agent: add appender for agenttool's own tool calls by @WiLow12/29/2025
knowledge/vectorstore/qdrant/v0.10.0Release knowledge/vectorstore/qdrant/v0.10.0Low12/29/2025
v0.10.0## What's Changed * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/913 * trpc-agent-goo: resolve conflict in readme by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/915 * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/914 * session: persist a error event while error occured by @hyprh in https://github.com/trpc-group/trpc-agent-go/pull/892 * agent: add appender for agenttool's own tool calls by @WiLow12/29/2025
v0.9.0## What's Changed * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/913 * trpc-agent-goo: resolve conflict in readme by @Flash-LHR in https://github.com/trpc-group/trpc-agent-go/pull/915 * docs/agent: fix typo by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/914 * session: persist a error event while error occured by @hyprh in https://github.com/trpc-group/trpc-agent-go/pull/892 * agent: add appender for agenttool's own tool calls by @WiLow12/29/2025
v0.8.0## What's Changed * .github: check go build in examples, interface{} usage and license headers in all go files by @Rememorio in https://github.com/trpc-group/trpc-agent-go/pull/808 * llmagent: add refresh toolset on run option by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/793 * summary: fix concurrent map read and write by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/815 * agent: provide SubAgentSetter to set subagents by @WineChord in https://github.comLow12/18/2025
v0.7.0## What's Changed * agui: add UpdateSessionState method for test server to fix test by @liuzengh in https://github.com/trpc-group/trpc-agent-go/pull/743 * model/openai: sanitize empty tool_calls chunks by @bytethm in https://github.com/trpc-group/trpc-agent-go/pull/745 * graph: check nil choices from final response by @WineChord in https://github.com/trpc-group/trpc-agent-go/pull/747 * docs: update graph.md for consistency and clarity by @Rememorio in https://github.com/trpc-group/trpc-agentLow12/4/2025
session/mysql/v0.6.0Release session/mysql/v0.6.0Low12/1/2025
tool/arxivsearch/v0.6.1Release tool/arxivsearch/v0.6.1Low11/26/2025
model/provider/v0.6.1Release model/provider/v0.6.1Low11/26/2025
evaluation/v0.6.1Release evaluation/v0.6.1Low11/26/2025
server/agui/v0.6.1Release server/agui/v0.6.1Low11/26/2025
model/anthropic/v0.6.1Release model/anthropic/v0.6.1Low11/26/2025
memory/postgres/v0.6.1Release memory/postgres/v0.6.1Low11/26/2025
memory/mysql/v0.6.1Release memory/mysql/v0.6.1Low11/26/2025
server/debug/v0.6.1Release server/debug/v0.6.1Low11/26/2025
evaluation/v0.6.0Release evaluation/v0.6.0Low11/25/2025
server/debug/v0.6.0Release server/debug/v0.6.0Low11/25/2025
codeexecutor/container/v0.6.0Release codeexecutor/container/v0.6.0Low11/24/2025
knowledge/document/reader/pdf/v0.6.0Release knowledge/document/reader/pdf/v0.6.0Low11/24/2025
knowledge/embedder/gemini/v0.6.0Release knowledge/embedder/gemini/v0.6.0Low11/24/2025
knowledge/vectorstore/elasticsearch/v0.6.0Release knowledge/vectorstore/elasticsearch/v0.6.0Low11/24/2025
knowledge/vectorstore/pgvector/v0.6.0Release knowledge/vectorstore/pgvector/v0.6.0Low11/24/2025
knowledge/vectorstore/tcvector/v0.6.0Release knowledge/vectorstore/tcvector/v0.6.0Low11/24/2025
memory/mysql/v0.6.0Release memory/mysql/v0.6.0Low11/24/2025
memory/postgres/v0.6.0Release memory/postgres/v0.6.0Low11/24/2025
memory/redis/v0.6.0Release memory/redis/v0.6.0Low11/24/2025
model/anthropic/v0.6.0Release model/anthropic/v0.6.0Low11/24/2025
model/tiktoken/v0.6.0Release model/tiktoken/v0.6.0Low11/24/2025
server/agui/v0.6.0Release server/agui/v0.6.0Low11/24/2025
session/postgres/v0.6.0Release session/postgres/v0.6.0Low11/24/2025
session/redis/v0.6.0Release session/redis/v0.6.0Low11/24/2025
storage/elasticsearch/v0.6.0Release storage/elasticsearch/v0.6.0Low11/24/2025
storage/mysql/v0.6.0Release storage/mysql/v0.6.0Low11/24/2025
storage/postgres/v0.6.0Release storage/postgres/v0.6.0Low11/24/2025
storage/redis/v0.6.0Release storage/redis/v0.6.0Low11/24/2025
storage/tcvector/v0.6.0Release storage/tcvector/v0.6.0Low11/24/2025
v0.6.0## What's Changed * feat(tool): implement arxiv search tool by @chengjoey in https://github.com/trpc-group/trpc-agent-go/pull/629 * difyagent: Add DifyAgent package to support Dify platform integration by @liujin0506 in https://github.com/trpc-group/trpc-agent-go/pull/651 * example: optimize comment on code by @hyprh in https://github.com/trpc-group/trpc-agent-go/pull/658 * graph: refactor the conditional edge processing logic in the graph by @nomand-zc in https://github.com/trpc-group/trpc-Low11/24/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

tekmetric-mcp๐Ÿ” Ask questions about your shop data in natural language and get instant answers about appointments, customers, and repair orders with Tekmetric MCP.main@2026-06-05
mcp-toolboxMCP Toolbox for Databases is an open source MCP server for databases.v1.4.0
mcp-yandex-trackerManage and automate tasks in Yandex Tracker using a robust MCP integration for efficient issue tracking and project control.main@2026-06-04
agent-identity-discoveryAgent Interface Discovery main@2026-06-01
aptevaAI agent platform with multi-thread orchestration, MCP integrations, and dashboardv0.23.0

More from trpc-group

trpc-agent-pythontRPC-Agent-Python provides an end-to-end foundation for agent building, orchestration, tool integration, session and long-term memory, service deployment, and observability, so you can ship reliable a

More in MCP Servers

AstrBotAgentic IM Chatbot infrastructure that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. โœจ
agentscopeBuild and run agents you can see, understand and trust.
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme