Files
ai-agent-deep-dive/src/agt/cli.py
2026-04-02 10:09:34 +00:00

48 lines
1.1 KiB
Python

from __future__ import annotations
import argparse
from pathlib import Path
from .agent import Agent, Tool, echo_tool
def build_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(prog="agt", description="Teaching-oriented AI agent CLI")
parser.add_argument("prompt", nargs="?", default="请开始", help="User prompt")
parser.add_argument(
"--skills-dir",
default="skills",
help="Directory containing skill folders with SKILL.md",
)
parser.add_argument(
"--list-skills",
action="store_true",
help="List discovered skills and exit",
)
return parser
def main() -> int:
parser = build_parser()
args = parser.parse_args()
agent = Agent()
agent.register_tool(Tool("echo", "Echo input text", echo_tool))
skills = agent.load_skills(Path(args.skills_dir))
if args.list_skills:
for skill in skills:
print(skill)
return 0
if skills:
agent.remember(f"loaded_skills={','.join(skills)}")
reply = agent.run(args.prompt)
print(reply)
return 0
if __name__ == "__main__":
raise SystemExit(main())