CChildHarbor
พื้นที่เขียนโค้ดด้วย AI

การรันโปรเซสลูก Python แบบจำกัดเวลา

รันข้อความ Python ที่เชื่อถือได้ไม่เกิน 4096 อักขระในไดเรกทอรีที่มีอยู่ด้วยเวลา 50–5000 ms.

● ● ●ChildHarbor●
ขั้นตอนการทำงาน · การรันโปรเซสลูก Python แบบจำกัดเวลา ×
import math, os, subprocess, sys
from pathlib import Path

def run_trusted_python(script, seconds, folder):
    if type(script) is not str or len(script) > 4096:
        raise ValueError("child.script")
    if type(seconds) not in (int, float) or not .05 <= seconds <= 5 or not math.isfinite(seconds):
        raise ValueError("child.timeout")
    if not isinstance(folder, (str, Path)) or not Path(folder).is_dir():
        raise ValueError("child.folder")
    return subprocess.run([sys.executable, "-I", "-S", "-X", "utf8", "-c", script],
        cwd=folder, timeout=seconds, capture_output=True, text=True,
        encoding="utf-8", check=False,
        creationflags=subprocess.CREATE_NO_WINDOW if os.name == "nt" else 0)
✳การรันโปรเซสลูก Python แบบจำกัดเวลา
✓ การเปลี่ยนแปลงตรวจสอบก่อนนำไปใช้ ↗
ภาพประกอบพื้นที่ทำงาน
ตรวจสอบก่อนนำไปใช้เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
โมเดลตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
โปรเจกต์ทดสอบ Unicode การจบแบบผิดพลาดและหยุดลูกโดยตรง ปฏิเสธเวลาผิดโดยไม่รับรองการแยกหรือหยุดลูกหลาน.
ขั้นตอนการทำงาน

การรันโปรเซสลูก Python แบบจำกัดเวลา

ขั้นตอนการทำงาน ↗
ขั้นตอนการทำงาน
import math, os, subprocess, sys
from pathlib import Path

def run_trusted_python(script, seconds, folder):
    if type(script) is not str or len(script) > 4096:
        raise ValueError("child.script")
    if type(seconds) not in (int, float) or not .05 <= seconds <= 5 or not math.isfinite(seconds):
        raise ValueError("child.timeout")
    if not isinstance(folder, (str, Path)) or not Path(folder).is_dir():
        raise ValueError("child.folder")
    return subprocess.run([sys.executable, "-I", "-S", "-X", "utf8", "-c", script],
        cwd=folder, timeout=seconds, capture_output=True, text=True,
        encoding="utf-8", check=False,
        creationflags=subprocess.CREATE_NO_WINDOW if os.name == "nt" else 0)
พื้นที่เขียนโค้ดด้วย AI

ตรวจตัวครอบโปรเซสโดยรักษาขอบเขตความเชื่อถือ

ChildHarbor เป็นไคลเอนต์เขียนโค้ดด้วย AI บน Windows สำหรับตรวจโค้ดจัดการโปรเซสในการสนทนาโครงการ เริ่มด้วยการระบุว่าโค้ดใดเชื่อถือให้รันได้และผู้เรียกต้องสังเกตอะไร ขอให้โมเดลที่เชื่อมต่อตรวจตัวครอบเดิมก่อนเสนอแก้ เพื่อให้ข้อเสนอรักษาทั้งวัตถุประสงค์และขอบเขต

งานที่เป็นรูปธรรมคือตัวครอบโปรเซสลูก Python ที่เชื่อถือได้ โดยมีไดเรกทอรีทำงานที่มีอยู่และเวลารอที่จำกัด อภิปรายผลลัพธ์ Unicode การจบโปรเซสด้วยสถานะล้มเหลว และสิ่งที่เกิดขึ้นเมื่อโปรเซสลูกโดยตรงเกินเวลาที่กำหนด แยกข้อกำหนดเหล่านี้จากการแยกเพื่อความปลอดภัย การยอมรับโค้ดที่เชื่อถือให้รันไม่ได้ทำให้ตัวครอบเป็นแซนด์บ็อกซ์สำหรับข้อมูลใดก็ได้

ตรวจการแก้ที่เสนอกับกรณีทดสอบโปรเซสของคุณ ตรวจผลที่บันทึก สถานะออก และเส้นทางหมดเวลาของโปรเซสลูกโดยตรงในสภาพแวดล้อมพัฒนา หากโปรเซสลูกหลานมีความสำคัญ ให้กำหนดและสืบหาข้อกำหนดเพิ่มเติมนั้นอย่างชัดเจน การทดสอบหมดเวลาที่สำเร็จกับลูกหนึ่งโปรเซสไม่ใช่หลักฐานว่าทำความสะอาดทั้งต้นไม้โปรเซส จึงต้องรักษาความต่างนี้ไว้ในการตรวจ

ChildHarbor รองรับการเชื่อมต่อปลายทางที่เข้ากันได้กับ OpenAI หรือปลายทาง Anthropic พร้อมข้อมูลรับรองเมื่อจำเป็น เลือกโมเดล AI ไร้การกรองได้เมื่อปลายทางมีให้ เซิร์ฟเวอร์และโมเดลกำหนดบริบท เครื่องมือที่มี และข้อจำกัด การเลือกโมเดลไม่ได้อนุญาตให้รันโค้ดที่ไม่เชื่อถือหรือยืนยันตัวครอบที่เสนอ

คำถามก่อนเปลี่ยนโค้ดเริ่มโปรเซส

ควรระบุอะไรเกี่ยวกับข้อมูลเข้าที่เชื่อถือได้?

ระบุว่าใครให้สคริปต์และเหตุใดแอปพลิเคชันอนุญาตให้รัน คงสมมติฐานนั้นให้ชัดในงาน หากสคริปต์มาจากผู้ใช้ที่ไม่เชื่อถือได้ ปัญหาความปลอดภัยกว้างกว่าการเพิ่มเวลารอให้ตัวครอบเดิม

การหมดเวลาหมายถึงลูกหลานทั้งหมดถูกยุติหรือไม่?

ไม่ ตรวจให้แน่ว่าโค้ดควบคุมโปรเซสใดและทดสอบพฤติกรรมนั้นในสภาพแวดล้อมของคุณ หากแอปพลิเคชันต้องทำความสะอาดต้นไม้โปรเซส ให้กำหนดเป็นข้อกำหนดแยกชัดเจนและตรวจโค้ดเฉพาะแพลตฟอร์ม แทนอนุมานจากการจัดการลูกโดยตรง

เหตุใดต้องทดสอบผล Unicode พร้อมการจบโปรเซสด้วยสถานะล้มเหลว?

ทั้งสองทดสอบคนละส่วนของข้อตกลงผู้เรียกของตัวครอบ รวมข้อความและพฤติกรรมออกที่คาดหวังเพื่อให้ข้อเสนอรักษาทั้งคู่ โปรเซสอาจรันถูกต้อง แต่การถอดรหัสผลหรือรายงานข้อผิดพลาดยังให้ผลที่แอปพลิเคชันใช้ไม่ได้

ควรรันทุกสคริปต์ที่เสนอในการสนทนาหรือไม่?

ตรวจโค้ดและผลกระทบก่อนรัน การสนทนาในพื้นที่ทำงานช่วยอธิบายข้อเสนอได้ แต่คุณเป็นผู้ตัดสินความเชื่อถือ ใช้กรณีทดสอบโครงการที่เหมาะสม และอย่าถือว่าข้อความที่โมเดลสร้างเป็นการอนุญาตให้รันการดำเนินการใดก็ได้

ดาวน์โหลดสำหรับ Windows ↗

ChildHarbor · อัปเดตล่าสุด 2026-10-25