research

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package research groups the tools an agent uses to read the outside world for a market study, a product comparison or an analysis of customer reviews: app store reviews, Reddit, YouTube, Google Places reviews and Trustpilot. Hacker News, dev.to, web search and page fetch live in their own packages.

Each tool reads one official API and returns readable text, with the source, link, author and date of every item, so the agent can quote and compare. Nothing is stored here: a workflow that wants to keep what it collected saves it as it saves any file.

Keys. Reddit, YouTube, Google Places and Trustpilot need credentials. A host that serves several people at once (seshat-server) hands each run its own keys through Keys and the process environment is then never read, so one organization's key cannot reach another's run. A single-user host (the desktop, a CLI) gives no keys and the environment is used instead. A tool whose keys are missing is not offered to the model at all.

Index

Constants

View Source
const (
	KeyRedditClientID     = "reddit_client_id"
	KeyRedditClientSecret = "reddit_client_secret"
	KeyYouTubeAPIKey      = "youtube_api_key"
	KeyGooglePlacesAPIKey = "google_places_api_key"
	KeyTrustpilotAPIKey   = "trustpilot_api_key"
)

Key names, as they appear in the per-run map. The environment variable of each is the upper-case name.

Variables

This section is empty.

Functions

func Tools

func Tools(keys *Keys) []tool.Tool

Tools returns every research tool, ready to register. A tool whose keys are missing reports itself disabled.

Types

type Keys

type Keys struct {
	// contains filtered or unexported fields
}

Keys resolves the credentials of the research tools.

func NewKeys

func NewKeys(explicit map[string]string) *Keys

NewKeys builds the resolver. With a non-empty map only that map is used; with none, the process environment is.

func (*Keys) Get

func (k *Keys) Get(name string) string

Get returns the value of a key, or "".

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL