Record explicit feedback on a recommended paper.
(
user_id: str = typer.Option(..., "--user-id", "-u"),
push_id: str = typer.Option(..., "--push-id", "-p", help="Push ID returned by the daily command."),
reply: str = typer.Option(..., "--reply", "-r", help="Natural-language feedback or selected paper numbers."),
send_feishu: bool = typer.Option(False, "--send-feishu", help="Send follow-up messages through Feishu/Lark."),
feishu_user_id: Optional[str] = typer.Option(None, "--feishu-user-id", help="Optional Feishu/Lark user open_id."),
)
| 208 | |
| 209 | @app.command() |
| 210 | def feedback( |
| 211 | user_id: str = typer.Option(..., "--user-id", "-u"), |
| 212 | push_id: str = typer.Option(..., "--push-id", "-p", help="Push ID returned by the daily command."), |
| 213 | reply: str = typer.Option(..., "--reply", "-r", help="Natural-language feedback or selected paper numbers."), |
| 214 | send_feishu: bool = typer.Option(False, "--send-feishu", help="Send follow-up messages through Feishu/Lark."), |
| 215 | feishu_user_id: Optional[str] = typer.Option(None, "--feishu-user-id", help="Optional Feishu/Lark user open_id."), |
| 216 | ) -> None: |
| 217 | """Record explicit feedback on a recommended paper.""" |
| 218 | script = PROJECT_ROOT / "agents" / "feedback-agent" / "main.py" |
| 219 | if not script.exists(): |
| 220 | typer.echo(f"[error] feedback agent not found: {script}", err=True) |
| 221 | raise typer.Exit(code=1) |
| 222 | args = ["--user-id", user_id, "--push-id", push_id, "--reply", reply] |
| 223 | if send_feishu: |
| 224 | args.append("--send-feishu") |
| 225 | if feishu_user_id: |
| 226 | args.extend(["--feishu-user-id", feishu_user_id]) |
| 227 | raise typer.Exit(code=_run_python(script, *args)) |
| 228 | |
| 229 | |
| 230 | @app.command() |
nothing calls this directly
no test coverage detected