{"id":26873678,"url":"https://github.com/berquerant/ai-roundtable","last_synced_at":"2025-10-13T01:41:50.525Z","repository":{"id":285216005,"uuid":"957415988","full_name":"berquerant/ai-roundtable","owner":"berquerant","description":"Discuss with multiple AIs","archived":false,"fork":false,"pushed_at":"2025-10-01T12:21:31.000Z","size":475,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-01T14:14:52.379Z","etag":null,"topics":["python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/berquerant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-30T10:13:59.000Z","updated_at":"2025-10-01T12:19:52.000Z","dependencies_parsed_at":"2025-03-30T11:23:29.666Z","dependency_job_id":"1d0aeb62-c402-4f15-b0f3-515466ecfe35","html_url":"https://github.com/berquerant/ai-roundtable","commit_stats":null,"previous_names":["berquerant/ai-roundtable"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/berquerant/ai-roundtable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berquerant%2Fai-roundtable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berquerant%2Fai-roundtable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berquerant%2Fai-roundtable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berquerant%2Fai-roundtable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/berquerant","download_url":"https://codeload.github.com/berquerant/ai-roundtable/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berquerant%2Fai-roundtable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013904,"owners_count":26085326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python"],"created_at":"2025-03-31T09:19:50.907Z","updated_at":"2025-10-13T01:41:50.520Z","avatar_url":"https://github.com/berquerant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ai-roundtable\n\n``` shell\n❯ python -m ai_roundtable.cli -h\nusage: cli.py [-h] [-a AGENDA] [-m MODEL] [-u BASE_URL] [-c CONFIG] [-t THREAD] [-o OUT] [--disable_stream]\n              [-n MAX_TURNS] [-p EVAL_MESSAGES] [-e EVAL_OUT] [-s SKIP_EVAL] [--user_input_end USER_INPUT_END]\n              [--debug] [--quiet] [--skeleton {minimal,dual,full}] [--instructions INSTRUCTIONS] [-l LANGUAGE]\n              [--api_key_env API_KEY_ENV]\n\nDiscuss with multiple AIs\n\noptions:\n  -h, --help            show this help message and exit\n  -a, --agenda AGENDA   first message to give to AI, agenda. @file_name to specify a file. @- to read from stdin. if\n                        not specified and thread file exists, the first statement should be agenda\n  -m, --model MODEL     AI model, default: gemma3\n  -u, --base_url BASE_URL\n                        base url of API\n  -c, --config CONFIG   config file, default: config.yml\n  -t, --thread THREAD   thread file, - means stdin\n  -o, --out OUT         thread output, default: null\n  --disable_stream      disable message streaming to stdout\n  -n, --max_turns MAX_TURNS\n                        maximum number of statements, default: 16\n  -p, --eval_messages EVAL_MESSAGES\n                        maximum number of statements to go back for evaluation, default: 5\n  -e, --eval_out EVAL_OUT\n                        evaluation output, default: null\n  -s, --skip_eval SKIP_EVAL\n                        turns skip evaluation, negative value means never evaluate, default: 0\n  --user_input_end USER_INPUT_END\n                        signal end of user input, default: END\n  --debug               enable debug log\n  --quiet               quiet log\n  --skeleton {minimal,dual,full}\n                        display config skeleton\n  --instructions INSTRUCTIONS\n                        display instructions for n-th speaker (0 means the first speaker), needs config\n  -l, --language LANGUAGE\n                        preferred language\n  --api_key_env API_KEY_ENV\n                        Name of environment variable of API key\n\nExamples:\n# start discussion\npython -m ai_roundtable.cli --skeleton dual \u003e dual.yml\npython -m ai_roundtable.cli -c dual.yml -a \"Can AI be a friend to humans?\"\n# continue discussion\npython -m ai_roundtable.cli -c dual.yml -a \"Can AI be a friend to humans?\" -o thread.yml\npython -m ai_roundtable.cli -c dual.yml -t thread.yml\n# custom model provider\npython -m ai_roundtable.cli -c dual.yml -a \"Can AI be a friend to humans?\" \\\n  -u \"http://localhost:11434/v1\" -m \"gemma3\"\n\nA speaker that system.name is \"end\" overrides the end evaluator that \\\ndicides whther to continue the discussion.\nA speaker that system.name is \"summary\" override the summary evaluator that \\\nprovides the summary of the discussion.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberquerant%2Fai-roundtable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberquerant%2Fai-roundtable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberquerant%2Fai-roundtable/lists"}