메인 콘텐츠로 건너뛰기
Node.js 코드 실행 툴킷 접근 방법: 메인 사이드바 > “에이전트” > 에이전트 선택 > “툴킷” 탭 > “코드 및 개발” > “Node.js 코드 실행”
  1. 에이전트 열기 > “툴킷” 탭 > “코드 및 개발” 카테고리 > “Node.js 코드 실행” 툴킷 찾기.
  2. Node.js 코드 실행에서 “에이전트에 추가” 클릭, 다음 “구성” 클릭. “저장” 클릭.

Node.js 코드 실행 툴킷

NPM 패키지 지원 및 파일 관리 기능을 갖춘 안전한 샌드박스 환경에서 Node.js/JavaScript 코드를 실행합니다. JavaScript/TypeScript 워크로드, API 통합, JSON 처리, 비동기 작업 및 웹 자동화에 최적화되어 있습니다.

Node.js 툴킷 구성

Node.js 툴킷 구성 패널 Node.js 샌드박스 환경을 구성합니다. 이 툴킷은 에이전트가 Node.js/JavaScript 코드를 실행하고, 파일을 업로드하며, 샌드박스에서 파일을 관리할 수 있게 합니다.

보안 정보

  • Node.js 코드는 안전하고 격리된 샌드박스 환경에서 실행됩니다
  • 각 채팅 세션은 영구 상태를 갖춘 전용 샌드박스를 받습니다
  • 샌드박스에 업로드된 파일은 다른 사용자 및 프로젝트와 격리됩니다
  • 세션 종료 후 샌드박스는 자동으로 정리됩니다

사용 가능한 도구 (5/5)

코드 실행:
  • Execute Code: 안전한 샌드박스 환경에서 Node.js/JavaScript 코드를 실행합니다
파일 관리:
  • Search Files: 샌드박스에 업로드할 지식 기반에서 파일을 검색합니다
  • Upload File: 지식 기반에서 Node.js 샌드박스로 파일을 업로드합니다
  • List Files: 현재 샌드박스에서 사용 가능한 모든 파일을 나열합니다
  • Create Download URL: 샌드박스의 파일에 대한 안전한 다운로드 URL을 생성합니다

사용 사례

  • API 통합: REST API를 호출하고 OAuth 흐름을 처리합니다.
  • JSON 처리: JSON 데이터 구조를 파싱하고 변환합니다.
  • 웹 자동화: 웹사이트를 스크래핑하고 양식을 자동화합니다.
  • 데이터 변환: 형식 간 변환 (CSV, JSON, XML, YAML).

예시 코드

다음은 NPM 패키지 사용, 종속성 확인, main() 엔트리 포인트 함수가 있는 필수 module.exports 패턴을 보여주는 예시 Node.js 스크립트입니다:
const _ = require("lodash");
const PACKAGES = ["lodash", "@google-cloud/bigquery", "axios"];

const isPackageInstalled = (packageName) => {
    try {
        require.resolve(packageName);
        return true;
    } catch (e) {
        return false;
    }
};

const getPackageVersion = (packageName) => {
    if (!isPackageInstalled(packageName)) return {
        isInstalled: false,
        version: null,
        message: "Package is not installed",
        package: packageName,
    };

    const version = require(`${packageName}/package.json`).version;
    return {
        isInstalled: true,
        version,
        message: `Package is installed with version ${version}`,
        package: packageName,
    };
};

const test = () => {
    return _.map(PACKAGES, (pkg) => getPackageVersion(pkg));
};

async function main(inputText, maxLength = 100, options = {}) {
    /**
     * Main function that will be executed
     *
     * @param {string} inputText - The text to process
     * @param {number} maxLength - Maximum length of output (default: 100)
     * @param {object} options - Additional processing options (default: {})
     */

    return { data: test() };
}

// The entry point function will be called with the arguments you define
module.exports = { main };

예시의 핵심 포인트

  • 엔트리 포인트: main() 함수는 module.exports = { main }을 통해 내보내지는 엔트리 포인트입니다.
  • NPM 패키지: require()를 사용하여 설치된 패키지를 가져옵니다 (예: lodash, axios, @google-cloud/bigquery).
  • 패키지 확인: require.resolve()를 사용하여 샌드박스에서 패키지 사용 가능 여부를 확인합니다.
  • 비동기 지원: 메인 함수는 API 호출 및 파일 작업을 처리하기 위해 비동기일 수 있습니다.
  • 매개변수: 유연한 입력을 위해 기본값이 있는 매개변수를 정의합니다 (예: maxLength = 100, options = {}).
  • 반환 형식: 구조화된 출력을 위해 객체로 결과를 반환합니다 (예: { data: ... }).