How mgalen007/skye works
Skye is an early-stage conversational CLI assistant. Its main workflow is a user prompt entering the Rich loop, passing through the PydanticAI agent to a configured model, and returning a response while the loop retains message history. The agent can invoke sandboxed file tools, fetch and extract web pages, and use provider web search. The file and fetch tools are registered through imports in the CLI. Memory and session modules are empty scaffolds; cross-session memory and several other capabilities remain planned, not implemented.
Main entry points: core.py Skye agent · main.py Interactive loop · files.py Sandboxed file tools · fetch.py Page fetch and extract
Components 13
CLI interaction
- Interactive loop
src/main.py - Message history
src/main.py - Session scaffold
src/session/history.py
Agent runtime
- Skye agent
src/agent/core.py - Workspace dependency
src/agent/deps.py - Memory scaffold
src/memory/store.py
Agent tools
- Sandboxed file tools
src/tools/files.py - Page fetch and extract
src/tools/fetch.py
External services
- OpenRouter model
- Provider web search
Other components
- User
- Workspace files
workspace - Web pages
Connections 15
- User → Interactive loop: enters prompt
- Interactive loop → Skye agent: runs agent
- Interactive loop → Message history: passes and updates
- Interactive loop → Sandboxed file tools: imports registration
- Interactive loop → Page fetch and extract: imports registration
- Interactive loop → Workspace dependency: creates dependencies
- Skye agent → Workspace dependency: receives dependencies
- Skye agent → OpenRouter model: sends requests
- Skye agent → Provider web search: uses capability
- Skye agent → Sandboxed file tools: invokes tools
- Skye agent → Page fetch and extract: invokes tool
- Sandboxed file tools → Workspace files: reads and writes
- Sandboxed file tools → Workspace dependency: gets workspace root
- Page fetch and extract → Web pages: fetches page
- Page fetch and extract → Skye agent: returns extraction