pdca
Version:
🎯 AI 驅動的 PDCA 多代理開發系統 - 智能循環控制 + 成本管理 + Token 優化 + 多 AI 引擎支援
76 lines • 1.97 kB
TypeScript
/**
* 基礎代理類別
* 所有 PDCA 代理的基類
*/
import { EventEmitter } from 'events';
import type { Agent, AgentStatus, LegacyAgentConfig } from '../../../types/index.js';
export declare abstract class BaseAgent extends EventEmitter implements Agent {
name: string;
role: string;
icon: string;
description: string;
workspacePath?: string;
protected _status: AgentStatus;
protected tmuxTarget?: string;
protected config?: LegacyAgentConfig;
constructor(config?: LegacyAgentConfig);
get status(): AgentStatus;
/**
* 啟動代理
*/
start(task: string): Promise<void>;
/**
* 停止代理
*/
stop(): Promise<void>;
/**
* 獲取代理狀態
*/
getStatus(): AgentStatus;
/**
* 發送消息給代理
*/
sendMessage(message: string): Promise<void>;
/**
* 設置 tmux 目標
*/
setTmuxTarget(target: string): void;
/**
* 設置工作空間路徑
*/
setWorkspacePath(path: string): void;
/**
* 檢查代理是否還在運行
*/
isRunning(): Promise<boolean>;
/**
* 設置狀態並發送事件
*/
protected setStatus(status: AgentStatus): void;
/**
* 子類別實現的啟動邏輯
*/
protected abstract onStart(task: string): Promise<void>;
/**
* 子類別實現的停止邏輯
*/
protected abstract onStop(): Promise<void>;
/**
* 獲取代理特定的初始 prompt
*/
protected abstract getInitialPrompt(task: string): string;
/**
* 在 tmux 中啟動 Claude CLI
*/
protected startClaudeInTmux(task: string): Promise<void>;
/**
* 使用自定義命令啟動代理
* 供 StyledAgent 使用
*/
protected startWithCommand(command: string): Promise<void>;
/**
* 休眠工具函數
*/
protected sleep(ms: number): Promise<void>;
}
//# sourceMappingURL=base-agent.d.ts.map