Documentation v0.28.17

v0.28.16 -> v0.28.17

Summary

Completes the provider-layer extraction into go-llm-router and makes request behavior explicit at the runtime boundary. Simplifies TUI model controls while adding live provider quota visibility.

翻譯

完成 provider 層抽離至 go-llm-router,並讓請求行為在 runtime 邊界明確傳遞。簡化 TUI 模型控制,同時新增即時供應商額度顯示。

⚠️ Breaking Changes

Shared message and response types moved to go-llm-router

The agent contract and session message fields now use the router module's shared types instead of Agenvoy-local definitions.

Before:

import agentTypes "github.com/pardnchiu/agenvoy/internal/agents/types"

var message agentTypes.Message
var output *agentTypes.Output

After:

import "github.com/pardnchiu/go-llm-router/core"

var message provider.Message
var output *provider.Output

Migration:

// Replace Agenvoy-local Message, Output, ToolCall, and Usage references
// with the corresponding go-llm-router/core types.
翻譯

Agent contract 與 session 訊息欄位改用 go-llm-router 的共用型別。請將 Agenvoy 內部的訊息、輸出、工具呼叫與用量型別參照改到 router module。

Agent.Send requires an explicit reasoning level and returns HTTP status

Reasoning is no longer implicit global state. Each send passes its reasoning level and receives the provider HTTP status for cooldown handling.

Before:

Send(ctx context.Context, messages []provider.Message, tools []provider.Tool) (*provider.Output, error)

After:

Send(ctx context.Context, messages []provider.Message, tools []provider.Tool, reasoning string) (*provider.Output, int, error)

Migration:

// Old
resp, err := agent.Send(ctx, messages, tools)

// New
resp, status, err := agent.Send(ctx, messages, tools, reasoning)
// Use status == http.StatusTooManyRequests to register provider cooldown.
翻譯

Agent.Send 改為明確接收 reasoning level,並回傳 HTTP status 供 cooldown 判斷。所有呼叫端與自訂 agent 實作都需更新函式簽章。

Provider and OAuth implementations moved to go-llm-router

Agenvoy no longer exposes its former internal provider, router, or OAuth implementation packages. Construction, model discovery, usage queries, authentication, and transport implementations now come from the external module.

Before:

import "github.com/pardnchiu/agenvoy/internal/agents/provider/router"
import oauthCodex "github.com/pardnchiu/agenvoy/internal/agents/oauth/codex"

After:

import "github.com/pardnchiu/go-llm-router/core/router"
import oauthCodex "github.com/pardnchiu/go-llm-router/core/oauth/codex"

Migration:

// Update imports from Agenvoy's internal provider and OAuth packages
// to github.com/pardnchiu/go-llm-router/core and its subpackages.
// Build agents through router.New with provider.Config.
翻譯

Agenvoy 內部的 provider、router 與 OAuth 實作已移至 go-llm-router。請更新 import,並透過外部 module 的 router 與共用設定建立 agent。

Global reasoning configuration and TUI model selectors were removed

Reasoning now defaults per session and is passed explicitly to sends. The TUI no longer exposes global reasoning selection, session model selection, or the model-menu reasoning entry; keyboard reasoning cycling remains session-scoped.

Before:

model session
model reasoning
reasoning global
reasoning session

After:

Session reasoning defaults to medium and can be cycled with the existing shortcuts.
Model management remains available for registry, dispatcher, and summary scopes.

Migration:

Remove automation that invokes the deleted TUI commands.
Store a session-specific reasoning value when a non-default level is required.
翻譯

全域 reasoning 設定、session model 選擇及相關 TUI 選單已移除。reasoning 預設改為 session 的 medium,非預設值請寫入 session 設定;既有快捷鍵循環仍保留。

Changes

BREAKING

翻譯
  • 將共用訊息、輸出、工具呼叫與用量型別移至 router 對接的 provider 層
  • 所有 agent send 呼叫改為明確傳入 reasoning level
  • send 呼叫回傳 provider HTTP status,並用於 cooldown 註冊
  • 將 provider、router、OAuth 與用量查詢實作遷移至 go-llm-router
  • 移除全域 reasoning 設定與 TUI session model/reasoning 選擇器

FEAT

翻譯
  • 在 TUI 用量視圖與完成 footer 新增即時供應商額度及餘額顯示

REFACTOR

翻譯
  • 將用量記錄集中至 agent send 邊界
  • 將工具、內容片段、OAuth token 與 agent interface 型別集中至 provider contract

Scope


Generated by SKILL