localshell backend implementation

This commit is contained in:
2026-02-28 16:52:10 +08:00
parent 262d7dd51b
commit abb78ad70e

View File

@@ -0,0 +1,39 @@
from dataclasses import dataclass, field, is_dataclass
from typing import Type, TypedDict, Literal, Dict, List, Tuple, Optional
import tyro
import os.path as osp
from abc import ABC, abstractmethod
import glob
from loguru import logger
from deepagents.backends.utils import create_file_data
from deepagents.backends import LocalShellBackend
from lang_agent.config import InstantiateConfig
from lang_agent.fs_bkends import BaseFilesystemBackend
@tyro.conf.configure(tyro.conf.SuppressFixed)
@dataclass
class LocalShellConfig(InstantiateConfig):
_target:Type = field(default_factory=lambda:LocalShell)
workspace_dir:str = "./workspace"
"""path to workspace directory"""
skills_dir:str = "./workspace/skills"
"""path to directory containing skill files"""
rt_skills_dir:str = "/skills"
"""path to directory with skills in runtime directory"""
class LocalShell(BaseFilesystemBackend):
def __init__(self, config:LocalShellConfig):
self.config = config
self._build_backend()
def _build_backend(self):
self.backend = LocalShellBackend(root_dir=self.config.workspace_dir,
virtual_mode=True,
env={"PATH": "/usr/bin:/bin"})