Skip to main content

A command line tool for creating workspaces for agents on top of piku

Project description

Silica: Multi-Workspace Management for Agents

Silica is a command-line tool for creating and managing agent workspaces on top of piku.

Installation

Quick Install

For systems with Python 3.11+:

# Using uv (recommended)
uv pip install pysilica
playwright install chromium  # Install browser for web development tools

# Using pip
pip install pysilica
playwright install chromium  # Install browser for web development tools

Raspberry Pi Deployment

Silica automatically handles Python 3.11 installation on remote Raspberry Pi systems during workspace creation. The deployment process:

  • Detects Raspberry Pi hardware
  • Installs Python 3.11 via pyenv if needed
  • Sets up virtual environment
  • Installs Silica and dependencies
  • Verifies the installation

For detailed deployment information, see the Raspberry Pi Deployment Guide.

Note: The package name is pysilica but the CLI command and import name is silica.

Requirements

  • Python: 3.11 or higher (required)
  • Package Manager: uv (recommended) or pip
  • Playwright Browser: Required for web development tools (installed via playwright install chromium)
  • OpenCV: Optional, required for webcam snapshot capabilities (installed via pip install opencv-python)
  • ripgrep: Optional but recommended for enhanced file search performance

For complete installation instructions, see docs/INSTALLATION.md.

Optional: Install ripgrep for enhanced search performance

# macOS
brew install ripgrep

# Ubuntu/Debian
sudo apt install ripgrep

# Windows (chocolatey)
choco install ripgrep

Ripgrep provides faster file searching and is automatically used by the memory system when available.

What's New: Multi-Workspace Support

Silica now supports managing multiple concurrent workspaces from the same repository. This allows you to:

  1. Create and maintain multiple agent workspaces with different configurations
  2. Switch between workspaces easily without having to recreate them
  3. Track configurations for all workspaces in a single repository

Key Features

  • Multiple Agent Support: Support for different AI coding agents with YAML-based configuration
  • Workspace Management: Create, list, and manage multiple agent workspaces
  • Default Workspace: Set a preferred workspace as default for easier command execution
  • Immutable Workspaces: Each workspace is tied to a specific agent type - create new workspaces for different agents

🤖 Integrated Agent

Silica is tightly integrated with heare-developer (hdev), an autonomous coding agent that includes:

  • Autonomous engineering with the --dwr (Do What's Required) flag
  • Configurable personas for different coding styles
  • Integration with Claude for AI assistance
  • Web search capabilities via Brave Search API
  • GitHub integration for repository management

The agent is automatically installed when creating workspaces and configured for optimal performance.

Usage

Creating Workspaces

# Create a default workspace named 'agent' with heare-developer
silica create

# Create a workspace with a custom name
silica create -w assistant

# Create workspace for a specific project
silica create -w my-project

Managing Workspaces

# List all configured workspaces
silica workspace list

# View the current default workspace
silica workspace get-default

# Set a different workspace as default
silica workspace set-default assistant

Working with Specific Workspaces

Most commands accept a -w/--workspace flag to specify which workspace to target:

# Sync a specific workspace
silica sync -w assistant

# Sync with cache clearing to ensure latest versions
silica sync -w assistant --clear-cache

# Check status of a specific workspace
silica status -w assistant

# Enter a specific workspace's agent session
silica remote enter -w assistant

# Send a message to the workspace's agent
silica tell "Please analyze this code" -w assistant

Configuration Management

# View current configuration
silica config list

# Set configuration values
silica config set key=value

# Run interactive setup wizard  
silica config setup

Destroying Workspaces

# Destroy a specific workspace
silica destroy -w assistant

Configuration

Silica stores workspace configurations in .silica/config.yaml using a nested structure:

default_workspace: agent
workspaces:
  agent:
    piku_connection: piku
    app_name: agent-repo-name
    branch: main
    agent_type: hdev
    agent_config:
      flags: []
      args: {}
  assistant:
    piku_connection: piku
    app_name: assistant-repo-name
    branch: feature-branch
    agent_type: hdev
    agent_config:
      flags: ["--persona", "code_reviewer"]
      args: {}

Development

Running Tests

# Run all tests
pytest

# Run only fast tests (excludes slow integration tests)
pytest -m "not slow"

# Run with verbose output and show slowest tests
pytest -v --durations=10

The test suite includes markers for different test types:

  • slow: Integration tests that take longer to run (tmux operations, subprocess timeouts)
  • integration: Tests requiring external resources
  • safe: Tests with no side effects

For faster development iteration, use pytest -m "not slow" to run only the fast tests (~43s vs ~82s for the full suite).

Compatibility

This update maintains backward compatibility with existing silica workspaces. When you run commands with the updated version:

  1. Existing workspaces are automatically migrated to the new format
  2. The behavior of commands without specifying a workspace remains the same
  3. Old script implementations that expect workspace-specific configuration will continue to work

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 Distribution

pysilica-0.8.24.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysilica-0.8.24-py3-none-any.whl (605.9 kB view details)

Uploaded Python 3

File details

Details for the file pysilica-0.8.24.tar.gz.

File metadata

  • Download URL: pysilica-0.8.24.tar.gz
  • Upload date:
  • Size: 10.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysilica-0.8.24.tar.gz
Algorithm Hash digest
SHA256 6a19550899419cc1e8e077bed3f9a634ee2c5ce2b7ac545fa2e14075d364ccad
MD5 5e77fb243d542c446bbfd3564debf8c6
BLAKE2b-256 bff0222929d2f4f9ee0bdba29c1c10f52bb54f984607a40597d25ba63a082855

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysilica-0.8.24.tar.gz:

Publisher: publish-to-pypi.yml on clusterfudge/silica

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pysilica-0.8.24-py3-none-any.whl.

File metadata

  • Download URL: pysilica-0.8.24-py3-none-any.whl
  • Upload date:
  • Size: 605.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysilica-0.8.24-py3-none-any.whl
Algorithm Hash digest
SHA256 bacf1fde6c153c90001f41bf1a7b7c8ca3dd9fb51626ba653804aa3b3d8ad1ff
MD5 dcd22eb7a19938cd362549d202405f86
BLAKE2b-256 6c0843bd6831bcae4fa2aed14235a982e66469c5645628118ffe38c73eb65571

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysilica-0.8.24-py3-none-any.whl:

Publisher: publish-to-pypi.yml on clusterfudge/silica

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page