SilverRiver SDK for advanced automation and AI-driven tasks
Project description
SilverRiver
SilverRiver is an SDK for advanced automation and AI-driven tasks.
Installation
You can install SilverRiver using pip:
pip install silverriver
Agentic API
Here's a basic example of how to use SilverRiver:
import os
import time
from silverriver import AgentChatInterface
from silverriver.client import Crux
from silverriver.interfaces import SupportedModes
from silverriver.interfaces.data_models import Observation, ChatMessage, HUMAN_ROLE
# Create a custom chat interface
class CustomChat(AgentChatInterface):
def __init__(self, init_message):
self.chat_history = init_message
def send_message_to_user(self, message):
# Implement this method to send messages to the user
pass
def wait_for_user_message(self):
# Implement this method to wait for and return user messages
pass
# Initialize the Crux client
client = Crux(api_key=os.environ["CRUX_API_KEY"])
# Create a chat instance with an initial message
chat = CustomChat(
init_message=[ChatMessage(role=HUMAN_ROLE, message="On which website are you?", timestamp=time.time())]
)
# Create a browser session
browser_session, browser_obs, browser_meta = client.create_browser_session(
start_url="https://www.example.com",
chat=chat
)
# Create an observation
browser_obs = Observation(
**dict(browser_obs),
chat_messages=chat.chat_history,
last_action_error="",
)
# Get an action from the AI agent
code = client.get_action(browser_obs, mode=SupportedModes.FLASH)
# Execute the action
browser_session.execute(code)
# Close the client when done
client.close()
Workflow Automation
SilverRiver now includes a command-line interface (CLI) for easier interaction. Here are the available commands:
Authentication
To authenticate with Crux and save the API token:
silverriver auth --api-key YOUR_API_KEY
This will save the configuration file in ~/.config/silverriver
.
Record a Trace
To record a new trace:
silverriver record URL [-o OUTPUT] [--upload]
URL
: The URL of the webpage to trace (must start with http:// or https://)-o OUTPUT
,--output OUTPUT
: The output filename for the trace (default: 'silverriver_trace')--upload
: Upload the trace after recording
Upload a Trace
To upload an existing trace:
silverriver upload TRACE_FILE
TRACE_FILE
: The path to the trace file you want to upload
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file silverriver-0.1.37b7-py3-none-any.whl
.
File metadata
- Download URL: silverriver-0.1.37b7-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2f206b568b82c7ef36ea51515badfb17c964ec603f8758602e460e327cde381 |
|
MD5 | 9b7371203773fe0fef26b4f1ed00f55b |
|
BLAKE2b-256 | 2bfed49ec3b714e604c8fbbdb63d10bef619628de102bb8d3d95451894a86b34 |