Skip to main content

DeepAgent Assist

DeepAgent Assist is an interactive, terminal-based AI coding assistant built with LangGraph, LangChain, and the deepagents framework. It utilizes Google's Generative AI models (like Gemini) to assist developers with coding tasks directly from their terminal.

Features

  • Interactive Chat Interface: A rich terminal UI built with click and rich for an engaging conversation experience.
  • Human-in-the-Loop (HITL): Safe file operations. The agent pauses execution and requests user approval before executing sensitive actions like writing or editing files.
  • DeepAgents Architecture:
    • FilesystemBackend: For workspace file manipulation (virtual mode enabled).
    • StateBackend & CompositeBackend: For structured state routing and management.
  • Summarization Middleware: Automatically summarizes chat history to keep the LLM context manageable during long sessions.
  • State Persistence: Built-in memory using LangGraph's MemorySaver to persist conversation threads.
  • Web Search Tool: Integrated DuckDuckGo search (internet_search) allowing the agent to fetch real-time information without needing an API key.
  • Skills System: Includes a skill system with a default langgraph-docs skill to fetch and reference LangGraph documentation using the standard llms.txt.

Project Structure

src/s_assist/
├── __init__.py
├── agent.py            # Agent configuration, tools, middleware, and backend setup
├── main.py             # CLI entry point, chat loop, and Human-in-the-Loop interrupt handling
├── skills/             # Agent skills (e.g., langgraph-docs/SKILL.md)
└── tools/              # Custom agent tools (e.g., web_search_tool.py)

Setup & Prerequisites

Make sure you have Python installed along with the necessary dependencies:

  • google-auth
  • langchain-google-genai
  • deepagents
  • langgraph
  • click
  • rich
  • python-dotenv
  • langchain-community
  • duckduckgo-search

Authentication

The assistant requires access to Google Cloud's Generative AI via a Google Service Account or Application Default Credentials (ADC).

Environment Variables

You can configure the assistant using a .env file or environment variables:

  • SA_FILE_PATH: (Optional) The absolute path to your Google Cloud Service Account JSON key file. If omitted, the application falls back to Application Default Credentials.
  • MODELE_NAME: (Optional) The Google Generative AI model to use (default: gemini-3.5-flash).

Usage

Start the interactive chat loop by running the main module:

python -m src.s_assist.main [OPTIONS]

Options

  • -d, --directory-name TEXT: The root workspace directory for the agent (defaults to the current working directory).
  • -m, --model-name TEXT: The model name to use (overrides MODELE_NAME environment variable).

Interactive Commands

  • Type your coding questions or instructions at the You: prompt.
  • Validation Prompts: When the agent wants to write or edit a file, it will pause. You will be prompted to:
    • a (accepter): Approve the action.
    • r (refuser): Reject the action and provide a reason.
  • Type quit, exit, or q to exit the chat session.

Metadata

Release files for s-assist 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for s-assist 0.1.0
File Size Uploaded
s_assist-0.1.0.tar.gz 254.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for s-assist 0.1.0
File Interpreter ABI Platform
s_assist-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 261.7 kB

Release files / s_assist-0.1.0.tar.gz

Download URL s_assist-0.1.0.tar.gz
Size 254.3 kB
Tags Source
SHA-256 checksum
How to use checksums
aceeb7d32ef26c3724e467fd4bc99860da0c69f936f847c5864a714d375529c4
BLAKE2b-256 checksum
How to use checksums
d14ad176ac383a439857e633323085ce13aafea2899776425140cf4f89ee68e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.12

Release files / s_assist-0.1.0-py3-none-any.whl

Download URL s_assist-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b75534b85f4cc2883dc6de64dd38ddf3b3abfc327746e9119aa61adbd743ed94
BLAKE2b-256 checksum
How to use checksums
192c28327cc92f401748e3b0b2f3c07980f85540a98f0e6e417067d578585260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page