MCPcopy Create free account
hub / github.com/ResearAI/DeepScientist / build_parser

Function build_parser

src/deepscientist/cli.py:98–207  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

96
97
98def build_parser() -> argparse.ArgumentParser:
99 parser = DeepScientistArgumentParser(
100 prog="ds",
101 description="DeepScientist Core skeleton",
102 allow_abbrev=False,
103 )
104 parser.add_argument("--home", default=None, help="Override DeepScientist home")
105 parser.add_argument("--proxy", default=None, help="Explicit outbound HTTP/WS proxy, for example `http://127.0.0.1:7890`.")
106 parser.add_argument("--codex", default=None, help="Override the Codex executable path for this invocation.")
107
108 subparsers = parser.add_subparsers(
109 dest="command",
110 required=True,
111 parser_class=DeepScientistArgumentParser,
112 )
113
114 subparsers.add_parser("init")
115
116 new_parser = subparsers.add_parser("new")
117 new_parser.add_argument("goal")
118 new_parser.add_argument("--quest-id", default=None)
119
120 subparsers.add_parser("status").add_argument("quest_id", nargs="?")
121
122 pause_parser = subparsers.add_parser("pause")
123 pause_parser.add_argument("quest_id")
124
125 resume_parser = subparsers.add_parser("resume")
126 resume_parser.add_argument("quest_id")
127
128 daemon_parser = subparsers.add_parser("daemon")
129 daemon_parser.add_argument("--host", default=None)
130 daemon_parser.add_argument("--port", type=int, default=None)
131 daemon_parser.add_argument("--auth", default=None)
132 daemon_parser.add_argument("--auth-token", default=None)
133 daemon_parser.add_argument("--runner", default=None, help=argparse.SUPPRESS)
134 daemon_parser.add_argument(
135 "--prompt-version",
136 default=None,
137 help="Use `latest` managed prompts, an official historical prompt version such as `1.5.13`, or an exact backup id from `.codex/prompt_versions/` for this daemon session.",
138 )
139
140 run_parser = subparsers.add_parser("run")
141 run_parser.add_argument("skill_id")
142 run_parser.add_argument("--quest-id", required=True)
143 run_parser.add_argument("--message", required=True)
144 run_parser.add_argument("--model", default=None)
145 run_parser.add_argument("--runner", default=None)
146 run_parser.add_argument(
147 "--prompt-version",
148 default=None,
149 help="Use `latest` managed prompts, an official historical prompt version such as `1.5.13`, or an exact backup id from `.codex/prompt_versions/` for this one-off run.",
150 )
151
152 ui_parser = subparsers.add_parser("ui")
153 ui_parser.add_argument("--mode", choices=("web", "tui", "both"), default="web")
154
155 note_parser = subparsers.add_parser("note")

Calls 1