实现行为树执行器、任务协调和技能接口
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
"""JSONL worker host. Factory is deployment code, never read from model output."""
|
||||
import argparse,importlib,json,sys,contextlib
|
||||
|
||||
def main():
|
||||
p=argparse.ArgumentParser();p.add_argument('--factory',required=True);p.add_argument('--config',required=True);a=p.parse_args()
|
||||
module,name=a.factory.split(':',1)
|
||||
with open(a.config) as f:config=json.load(f)
|
||||
wire=sys.stdout
|
||||
with contextlib.redirect_stdout(sys.stderr):engine=getattr(importlib.import_module(module),name)(config)
|
||||
for line in sys.stdin:
|
||||
if len(line)>262144:raise ValueError('input too large')
|
||||
request=json.loads(line)
|
||||
with contextlib.redirect_stdout(sys.stderr):raw={'ready':True} if request.get('capability')=='__health__' else engine(request)
|
||||
if not isinstance(raw,str):raw=json.dumps(raw,ensure_ascii=False,allow_nan=False)
|
||||
wire.write(json.dumps({'raw':raw},ensure_ascii=False,allow_nan=False)+'\n');wire.flush()
|
||||
if __name__=='__main__':main()
|
||||
Reference in New Issue
Block a user