ai-roundtable 0.0.38__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. ai_roundtable-0.0.38/.gitignore +11 -0
  2. ai_roundtable-0.0.38/CLAUDE.md +16 -0
  3. ai_roundtable-0.0.38/PKG-INFO +138 -0
  4. ai_roundtable-0.0.38/README.md +111 -0
  5. ai_roundtable-0.0.38/ROADMAP.md +15 -0
  6. ai_roundtable-0.0.38/bin/roundtable +10 -0
  7. ai_roundtable-0.0.38/config.yml +32 -0
  8. ai_roundtable-0.0.38/img_temp.png +0 -0
  9. ai_roundtable-0.0.38/prompts/README.md +36 -0
  10. ai_roundtable-0.0.38/prompts/compare.md +13 -0
  11. ai_roundtable-0.0.38/prompts/compress.md +17 -0
  12. ai_roundtable-0.0.38/prompts/guest.md +35 -0
  13. ai_roundtable-0.0.38/prompts/guest_quick.md +7 -0
  14. ai_roundtable-0.0.38/prompts/moderator.md +39 -0
  15. ai_roundtable-0.0.38/prompts/opening.md +25 -0
  16. ai_roundtable-0.0.38/prompts/solo_roundtable.md +37 -0
  17. ai_roundtable-0.0.38/pyproject.toml +46 -0
  18. ai_roundtable-0.0.38/requirements.txt +4 -0
  19. ai_roundtable-0.0.38/roundtable.py +409 -0
  20. ai_roundtable-0.0.38/src/__init__.py +1 -0
  21. ai_roundtable-0.0.38/src/cli_caller.py +222 -0
  22. ai_roundtable-0.0.38/src/context_manager.py +114 -0
  23. ai_roundtable-0.0.38/src/default_config.yml +32 -0
  24. ai_roundtable-0.0.38/src/history.py +305 -0
  25. ai_roundtable-0.0.38/src/main.py +90 -0
  26. ai_roundtable-0.0.38/src/orchestrator.py +619 -0
  27. ai_roundtable-0.0.38/src/prompt_loader.py +56 -0
  28. ai_roundtable-0.0.38/src/prompts/README.md +36 -0
  29. ai_roundtable-0.0.38/src/prompts/compare.md +13 -0
  30. ai_roundtable-0.0.38/src/prompts/compress.md +17 -0
  31. ai_roundtable-0.0.38/src/prompts/guest.md +35 -0
  32. ai_roundtable-0.0.38/src/prompts/guest_quick.md +7 -0
  33. ai_roundtable-0.0.38/src/prompts/moderator.md +39 -0
  34. ai_roundtable-0.0.38/src/prompts/opening.md +25 -0
  35. ai_roundtable-0.0.38/src/prompts/solo_roundtable.md +37 -0
  36. ai_roundtable-0.0.38/src/quick.py +126 -0
  37. ai_roundtable-0.0.38/src/tui.py +1193 -0
@@ -0,0 +1,11 @@
1
+ # dependencies
2
+ .venv/
3
+
4
+ # reference materials (local only)
5
+ reference/
6
+
7
+ # python cache
8
+ __pycache__/
9
+ *.pyc
10
+ *.pyo
11
+ .DS_Store
@@ -0,0 +1,16 @@
1
+ # CLAUDE.md — AI Roundtable 项目协作规则
2
+
3
+ ## 版本号规则
4
+
5
+ 格式:`Major.Minor.Build`,存储在 `config.yml` 的 `version` 字段。
6
+
7
+ - **Build**:每次 git push 前自动 +1,由 Claude 负责
8
+ - **Minor / Major**:由用户决定何时升级
9
+
10
+ ## 项目结构
11
+
12
+ - `src/tui.py` — TUI 主界面(Textual)
13
+ - `src/quick.py` — Rapid Fire 模式逻辑
14
+ - `src/orchestrator.py` — Deep Dive 模式编排
15
+ - `config.yml` — 配置文件,含版本号
16
+ - `prompts/` — Prompt 模板
@@ -0,0 +1,138 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-roundtable
3
+ Version: 0.0.38
4
+ Summary: A terminal UI that runs Claude, Gemini, and Codex side-by-side in parallel deliberation
5
+ Project-URL: Homepage, https://github.com/HiJiangChuan/ai-roundtable
6
+ Project-URL: Repository, https://github.com/HiJiangChuan/ai-roundtable
7
+ Author-email: HiJiangChuan <hijiangchuan@gmail.com>
8
+ License: MIT
9
+ Keywords: ai,claude,codex,gemini,llm,multi-agent,terminal,tui
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: MacOS
15
+ Classifier: Operating System :: POSIX :: Linux
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Classifier: Topic :: Terminals
22
+ Requires-Python: >=3.10
23
+ Requires-Dist: pillow>=10.0
24
+ Requires-Dist: pyyaml>=6.0
25
+ Requires-Dist: textual>=0.47.0
26
+ Description-Content-Type: text/markdown
27
+
28
+ # AI Roundtable
29
+
30
+ 让 Claude、Gemini、Codex 围坐一桌,就任意议题展开真正的多轮辩论。
31
+
32
+ ## 效果
33
+
34
+ ```
35
+ 🔵 CLAUDE 🟢 GEMINI 🟡 CODEX
36
+ ───────────────────────────── ───────────────────────────── ──────────────────────────
37
+ ── 快问 ── ── 快问 ── ── 快问 ──
38
+ 大模型的核心竞争力在于推理能力, 我认为数据飞轮才是护城河所在, 工程落地能力被严重低估……
39
+ ```
40
+
41
+ ## 两种模式
42
+
43
+ ### 快问(默认)
44
+ 三个 AI **并行**回答同一个问题,适合快速对比不同视角。
45
+
46
+ - `/compare` — 让三个 AI 互评彼此的回答
47
+ - `^t` — 将当前问题升级为深度讨论
48
+
49
+ ### 深度讨论
50
+ 主持人轮换制(Gemini → Codex → Claude → …),每轮结束后主持人分析矛盾点、分配行动类型,推动讨论深入。
51
+
52
+ **行动类型**:陈述立场 / 反驳 / 补充 / 追问 / 挑战前提 / 综合
53
+
54
+ **轮次指令**:
55
+ | 输入 | 作用 |
56
+ |------|------|
57
+ | `可` | 开始下一轮 |
58
+ | `止` | 结束会话并生成总结 |
59
+ | `深入此节` | 不推进轮次,围绕当前矛盾点再挖一层 |
60
+ | `@claude 你的看法?` | 单独问某个 AI |
61
+
62
+ ## 安装
63
+
64
+ **前置条件**:已安装并登录 `claude`、`gemini`、`codex` CLI。
65
+
66
+ ```bash
67
+ git clone https://github.com/yourname/ai-roundtable
68
+ cd ai-roundtable
69
+ python3 -m venv .venv
70
+ .venv/bin/pip install -r requirements.txt
71
+ chmod +x bin/roundtable
72
+ ```
73
+
74
+ ## 使用
75
+
76
+ ```bash
77
+ ./bin/roundtable # 快问模式启动
78
+ ./bin/roundtable --deep # 直接进入深度讨论
79
+ ```
80
+
81
+ **快捷键**:
82
+
83
+ | 快捷键 | 功能 |
84
+ |--------|------|
85
+ | `Ctrl+T` | 切换模式 |
86
+ | `Ctrl+Y` | 复制当前面板内容(先点击面板) |
87
+ | `Ctrl+E` | 导出会话为 Markdown |
88
+ | `Ctrl+N` | 新建会话 |
89
+ | `Ctrl+Q` | 退出 |
90
+
91
+ ## 配置
92
+
93
+ `config.yml` 可调整:
94
+
95
+ ```yaml
96
+ ais:
97
+ claude:
98
+ cmd: "claude"
99
+ flags: ["--dangerously-skip-permissions"]
100
+
101
+ deep:
102
+ moderator_rotation: ["gemini", "codex", "claude"] # 主持人轮换顺序
103
+ speaking_order: ["claude", "codex", "gemini"] # 嘉宾发言顺序
104
+ full_rounds_kept: 3 # 保留完整的最近 N 轮
105
+ timeout_seconds: 30 # 每个 AI 的超时时间
106
+
107
+ history:
108
+ save_dir: "~/.ai-roundtable/history" # 会话记录保存位置
109
+ ```
110
+
111
+ ## 会话记录
112
+
113
+ 每次会话自动保存到 `~/.ai-roundtable/history/`,JSON + Markdown 各一份,也可按 `Ctrl+E` 随时导出。
114
+
115
+ ## 项目结构
116
+
117
+ ```
118
+ ai-roundtable/
119
+ ├── bin/roundtable # 启动脚本
120
+ ├── config.yml # 配置文件
121
+ ├── prompts/ # Prompt 模板
122
+ │ ├── opening.md # 开场(第0轮)
123
+ │ ├── guest.md # 嘉宾发言(深度模式)
124
+ │ ├── guest_quick.md # 嘉宾发言(快问模式)
125
+ │ ├── moderator.md # 主持人综述
126
+ │ ├── compare.md # 互评
127
+ │ └── compress.md # 上下文压缩
128
+ ├── src/
129
+ │ ├── main.py # 入口
130
+ │ ├── tui.py # 终端界面
131
+ │ ├── orchestrator.py # 深度讨论状态机
132
+ │ ├── quick.py # 快问模式
133
+ │ ├── cli_caller.py # AI CLI 调用
134
+ │ ├── context_manager.py# 上下文压缩管理
135
+ │ ├── history.py # 会话历史
136
+ │ └── prompt_loader.py # Prompt 加载渲染
137
+ └── requirements.txt
138
+ ```
@@ -0,0 +1,111 @@
1
+ # AI Roundtable
2
+
3
+ 让 Claude、Gemini、Codex 围坐一桌,就任意议题展开真正的多轮辩论。
4
+
5
+ ## 效果
6
+
7
+ ```
8
+ 🔵 CLAUDE 🟢 GEMINI 🟡 CODEX
9
+ ───────────────────────────── ───────────────────────────── ──────────────────────────
10
+ ── 快问 ── ── 快问 ── ── 快问 ──
11
+ 大模型的核心竞争力在于推理能力, 我认为数据飞轮才是护城河所在, 工程落地能力被严重低估……
12
+ ```
13
+
14
+ ## 两种模式
15
+
16
+ ### 快问(默认)
17
+ 三个 AI **并行**回答同一个问题,适合快速对比不同视角。
18
+
19
+ - `/compare` — 让三个 AI 互评彼此的回答
20
+ - `^t` — 将当前问题升级为深度讨论
21
+
22
+ ### 深度讨论
23
+ 主持人轮换制(Gemini → Codex → Claude → …),每轮结束后主持人分析矛盾点、分配行动类型,推动讨论深入。
24
+
25
+ **行动类型**:陈述立场 / 反驳 / 补充 / 追问 / 挑战前提 / 综合
26
+
27
+ **轮次指令**:
28
+ | 输入 | 作用 |
29
+ |------|------|
30
+ | `可` | 开始下一轮 |
31
+ | `止` | 结束会话并生成总结 |
32
+ | `深入此节` | 不推进轮次,围绕当前矛盾点再挖一层 |
33
+ | `@claude 你的看法?` | 单独问某个 AI |
34
+
35
+ ## 安装
36
+
37
+ **前置条件**:已安装并登录 `claude`、`gemini`、`codex` CLI。
38
+
39
+ ```bash
40
+ git clone https://github.com/yourname/ai-roundtable
41
+ cd ai-roundtable
42
+ python3 -m venv .venv
43
+ .venv/bin/pip install -r requirements.txt
44
+ chmod +x bin/roundtable
45
+ ```
46
+
47
+ ## 使用
48
+
49
+ ```bash
50
+ ./bin/roundtable # 快问模式启动
51
+ ./bin/roundtable --deep # 直接进入深度讨论
52
+ ```
53
+
54
+ **快捷键**:
55
+
56
+ | 快捷键 | 功能 |
57
+ |--------|------|
58
+ | `Ctrl+T` | 切换模式 |
59
+ | `Ctrl+Y` | 复制当前面板内容(先点击面板) |
60
+ | `Ctrl+E` | 导出会话为 Markdown |
61
+ | `Ctrl+N` | 新建会话 |
62
+ | `Ctrl+Q` | 退出 |
63
+
64
+ ## 配置
65
+
66
+ `config.yml` 可调整:
67
+
68
+ ```yaml
69
+ ais:
70
+ claude:
71
+ cmd: "claude"
72
+ flags: ["--dangerously-skip-permissions"]
73
+
74
+ deep:
75
+ moderator_rotation: ["gemini", "codex", "claude"] # 主持人轮换顺序
76
+ speaking_order: ["claude", "codex", "gemini"] # 嘉宾发言顺序
77
+ full_rounds_kept: 3 # 保留完整的最近 N 轮
78
+ timeout_seconds: 30 # 每个 AI 的超时时间
79
+
80
+ history:
81
+ save_dir: "~/.ai-roundtable/history" # 会话记录保存位置
82
+ ```
83
+
84
+ ## 会话记录
85
+
86
+ 每次会话自动保存到 `~/.ai-roundtable/history/`,JSON + Markdown 各一份,也可按 `Ctrl+E` 随时导出。
87
+
88
+ ## 项目结构
89
+
90
+ ```
91
+ ai-roundtable/
92
+ ├── bin/roundtable # 启动脚本
93
+ ├── config.yml # 配置文件
94
+ ├── prompts/ # Prompt 模板
95
+ │ ├── opening.md # 开场(第0轮)
96
+ │ ├── guest.md # 嘉宾发言(深度模式)
97
+ │ ├── guest_quick.md # 嘉宾发言(快问模式)
98
+ │ ├── moderator.md # 主持人综述
99
+ │ ├── compare.md # 互评
100
+ │ └── compress.md # 上下文压缩
101
+ ├── src/
102
+ │ ├── main.py # 入口
103
+ │ ├── tui.py # 终端界面
104
+ │ ├── orchestrator.py # 深度讨论状态机
105
+ │ ├── quick.py # 快问模式
106
+ │ ├── cli_caller.py # AI CLI 调用
107
+ │ ├── context_manager.py# 上下文压缩管理
108
+ │ ├── history.py # 会话历史
109
+ │ └── prompt_loader.py # Prompt 加载渲染
110
+ └── requirements.txt
111
+ ```
@@ -0,0 +1,15 @@
1
+ # Roadmap
2
+
3
+ ## Phase 1 — 历史记录补全
4
+ - [ ] Quick 模式存历史(目前完全无记录)
5
+ - [ ] MD 实时写入(每轮结束追加,不等 `止` 命令)
6
+ - [ ] 会话自动命名:话题前 20 字作为文件名(`2026-03-30 AI会取代程序员吗.md`)
7
+
8
+ ## Phase 2 — Obsidian 支持
9
+ - [ ] YAML frontmatter(日期、话题、模式、轮数、标签)
10
+ - [ ] Callout 格式区分三个 AI(`> [!note]` 不依赖 CSS 插件)
11
+ - [ ] `config.yml` 新增 `obsidian_vault` 路径配置
12
+
13
+ ## Phase 3 — 可选增强
14
+ - [ ] 每月 Index 文件(自动生成 `2026-03 目录.md`,wikilink 到当月会话)
15
+ - [ ] TUI 内会话历史列表
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4
+ ROOT="$SCRIPT_DIR/.."
5
+ if [[ -x "$ROOT/.venv/bin/python3" ]]; then
6
+ PYTHON="$ROOT/.venv/bin/python3"
7
+ else
8
+ PYTHON="python3"
9
+ fi
10
+ exec "$PYTHON" "$ROOT/src/main.py" "$@"
@@ -0,0 +1,32 @@
1
+ ais:
2
+ claude:
3
+ cmd: "claude"
4
+ prompt_flag: "-p"
5
+ flags: ["--dangerously-skip-permissions"]
6
+ color: "blue"
7
+ icon: "🔵"
8
+ timeout: 60
9
+ gemini:
10
+ cmd: "gemini"
11
+ prompt_flag: "-p"
12
+ flags: ["--yolo"]
13
+ color: "green"
14
+ icon: "🟢"
15
+ timeout: 90
16
+ codex:
17
+ cmd: "codex"
18
+ subcommand: "exec"
19
+ flags: []
20
+ color: "yellow"
21
+ icon: "🟡"
22
+ timeout: 60
23
+
24
+ deep:
25
+ full_rounds_kept: 3
26
+ compress_summary_max: 80
27
+ timeout_seconds: 60
28
+
29
+ history:
30
+ obsidian_vault: "/Users/chuan/Workspace/notes" # 留空则默认存至 ~/Documents/ai-roundtable/
31
+
32
+ version: "0.0.38"
Binary file
@@ -0,0 +1,36 @@
1
+ # Prompts Directory
2
+
3
+ This directory contains prompt templates for the AI Roundtable system.
4
+
5
+ ## Templates
6
+
7
+ - `opening.md` — Opening moderator prompt (Round 0)
8
+ - `guest.md` — Guest AI speaking prompt
9
+ - `moderator.md` — Moderator summary prompt
10
+ - `compress.md` — Context compression prompt
11
+
12
+ ## Template Variables
13
+
14
+ Variables are written as `{{variable_name}}` and replaced at runtime.
15
+
16
+ ### opening.md
17
+ - `{{moderator_name}}` — Name of the moderator AI
18
+ - `{{topic}}` — The discussion topic
19
+
20
+ ### guest.md
21
+ - `{{agent_name}}` — Name of this guest AI
22
+ - `{{context}}` — Current context (topic summary + history + recent rounds)
23
+ - `{{round_num}}` — Current round number
24
+ - `{{moderator_question}}` — The moderator's guiding question
25
+ - `{{action_type}}` — Assigned action type for this round
26
+ - `{{action_instruction}}` — Detailed action instruction
27
+ - `{{prior_speeches}}` — Speeches from earlier speakers this round (empty in round 1)
28
+
29
+ ### moderator.md
30
+ - `{{moderator_name}}` — Name of the moderator AI
31
+ - `{{context}}` — Current context
32
+ - `{{round_num}}` — Current round number
33
+ - `{{round_speeches}}` — All guest speeches from this round
34
+
35
+ ### compress.md
36
+ - `{{round_content}}` — Full round content to compress
@@ -0,0 +1,13 @@
1
+ 你是 {{agent_name}},刚才你已经回答了一个问题。现在请评价其他 AI 的回答。
2
+
3
+ 原始问题:{{question}}
4
+
5
+ 其他 AI 的回答:
6
+ {{others_answers}}
7
+
8
+ 请分析:
9
+ 1. 哪些观点你认同?为什么?
10
+ 2. 哪些观点你认为有缺陷或遗漏?为什么?
11
+ 3. 综合来看,你认为最关键的角度是什么?
12
+
13
+ 简洁直接,200字以内。
@@ -0,0 +1,17 @@
1
+ 请将以下一轮圆桌讨论内容压缩为不超过80字的摘要。
2
+
3
+ ## 压缩要求
4
+
5
+ 1. 保留核心矛盾和各方立场
6
+ 2. 保留关键论点(数据、案例、核心逻辑)
7
+ 3. 丢弃重复内容和细节展开
8
+ 4. 保留主持人指出的矛盾点
9
+ 5. 用客观、概括性语言
10
+
11
+ ## 待压缩内容
12
+
13
+ {{round_content}}
14
+
15
+ ## 输出
16
+
17
+ 直接输出压缩摘要,不要添加任何说明或标题,不超过80字:
@@ -0,0 +1,35 @@
1
+ 你是 {{agent_name}},参加 AI 圆桌讨论的嘉宾。
2
+
3
+ ## 当前上下文
4
+
5
+ {{context}}
6
+
7
+ ## 本轮信息
8
+
9
+ - 轮次:第 {{round_num}} 轮
10
+ - 主持人问题:{{moderator_question}}
11
+ - 你的行动类型:{{action_type}}
12
+ - 行动说明:{{action_instruction}}
13
+
14
+ ## 本轮已发言内容
15
+
16
+ {{prior_speeches}}
17
+
18
+ ## 行动类型说明
19
+
20
+ - **陈述立场**:清晰表明你对议题的核心观点,有理有据
21
+ - **反驳**:针对已有观点提出直接反驳,指出其错误或局限
22
+ - **补充**:在已有观点基础上补充新的维度或证据
23
+ - **追问**:提出一个深度问题,挑战或深化讨论
24
+ - **挑战前提**:质疑讨论的基本假设,提出不同框架
25
+ - **综合**:整合多方观点,提炼共识与分歧
26
+
27
+ ## 要求
28
+
29
+ 1. 严格按照分配的行动类型发言
30
+ 2. 发言聚焦、有观点、不废话,200字以内
31
+ 3. 如果有先发言者的内容,你的发言应回应或参照他们的观点
32
+ 4. 不要重复行动类型说明,直接发言
33
+ 5. 用第一人称,语气自然、有主见
34
+
35
+ 请直接输出你的发言内容:
@@ -0,0 +1,7 @@
1
+ 你是 {{agent_name}},正在参与一个 Rapid Fire 环节。
2
+
3
+ {{context_history}}
4
+
5
+ 用户提问:{{question}}
6
+
7
+ 请直接、简洁地回答这个问题。不需要介绍自己,不需要客套,直接给出你的核心答案和判断。300字以内。
@@ -0,0 +1,39 @@
1
+ 你是 {{moderator_name}},担任第 {{round_num}} 轮的主持人。
2
+
3
+ ## 当前上下文
4
+
5
+ {{context}}
6
+
7
+ ## 本轮嘉宾发言
8
+
9
+ {{round_speeches}}
10
+
11
+ ## 你的任务
12
+
13
+ 分析本轮嘉宾({{guests_list}})的发言,完成主持人综述。
14
+
15
+ ## 行动类型规则
16
+
17
+ 可用行动类型:陈述立场、反驳、补充、追问、挑战前提、综合
18
+
19
+ 约束:
20
+ - 不能让所有人都是"补充"
21
+ - 至少一人分配"反驳"或"挑战前提"
22
+ - "综合"只在第4轮之后才可使用(当前第 {{round_num}} 轮)
23
+ - 行动分配要制造张力,推动讨论深入
24
+
25
+ ## 输出格式
26
+
27
+ 请严格按照以下格式输出,每个字段都必须填写,不要添加额外说明或标题:
28
+
29
+ 【矛盾点】
30
+ (用一句话指出本轮最核心的分歧或张力点)
31
+
32
+ 【下一问】
33
+ (针对矛盾点提出一个引导性问题,要具体、可辩论)
34
+
35
+ 【行动分配】
36
+ {{guests_action_format}}
37
+
38
+ 【本轮摘要】
39
+ (100字以内,概括本轮核心观点和主要分歧,保留立场差异)
@@ -0,0 +1,25 @@
1
+ 你是 {{moderator_name}},担任本次 AI 圆桌的主持人。
2
+
3
+ 议题:{{topic}}
4
+
5
+ 你的任务是主持开场。请完成以下事项:
6
+
7
+ 1. 用不超过50字定义议题边界(核心问题是什么、不讨论什么)
8
+ 2. 提出一个开场引导问题,激发嘉宾思考
9
+ 3. 为第1轮分配行动(开场轮所有人均为"陈述立场")
10
+
11
+ 嘉宾:{{guests_list}}(你自己也是嘉宾之一)
12
+
13
+ 请严格按照以下格式输出,不要添加任何额外说明:
14
+
15
+ 【矛盾点】
16
+ 议题初始
17
+
18
+ 【下一问】
19
+ (你的开场引导问题,要具体、有启发性)
20
+
21
+ 【行动分配】
22
+ {{guests_action_format}}
23
+
24
+ 【本轮摘要】
25
+ 议题:{{topic}}。各方将在第1轮各自陈述立场。
@@ -0,0 +1,37 @@
1
+ 你将主持并扮演一场圆桌讨论。议题是:
2
+
3
+ **{{topic}}**
4
+
5
+ ## 你的任务
6
+
7
+ 1. **担任主持人**:冷静客观,引导讨论朝向更深邃的层面。
8
+ 2. **发明3位典型代表人物**:根据议题推荐最能产生思想张力的人物(历史人物、思想流派代表、或典型角色),每人附上立场和性格特征。
9
+ 3. **扮演每位人物发言**:各自从其世界观出发,200字以内,直接有力。
10
+ 4. **主持人综述**:指出本轮核心矛盾,提出下一个更深的问题。
11
+
12
+ {{context}}
13
+
14
+ ## 当前轮次信息
15
+
16
+ - 轮次:第 {{round_num}} 轮
17
+ - 当前焦点问题:{{moderator_question}}
18
+
19
+ ## 输出格式
20
+
21
+ **【主持人开场/过渡】**
22
+ (简短引入本轮焦点)
23
+
24
+ **【人物甲 · 姓名/角色】**
25
+ (发言内容)
26
+
27
+ **【人物乙 · 姓名/角色】**
28
+ (发言内容)
29
+
30
+ **【人物丙 · 姓名/角色】**
31
+ (发言内容)
32
+
33
+ **【主持人综述】**
34
+ 核心矛盾:(一句话)
35
+ 下一个问题:(引导性问题,更深一层)
36
+
37
+ 请直接开始输出,不要解释格式:
@@ -0,0 +1,46 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "ai-roundtable"
7
+ version = "0.0.38"
8
+ description = "A terminal UI that runs Claude, Gemini, and Codex side-by-side in parallel deliberation"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.10"
12
+ authors = [{ name = "HiJiangChuan", email = "hijiangchuan@gmail.com" }]
13
+ keywords = ["ai", "claude", "gemini", "codex", "tui", "terminal", "llm", "multi-agent"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Environment :: Console",
17
+ "Intended Audience :: Developers",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: MacOS",
20
+ "Operating System :: POSIX :: Linux",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Topic :: Terminals",
26
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
27
+ ]
28
+ dependencies = [
29
+ "textual>=0.47.0",
30
+ "pyyaml>=6.0",
31
+ "Pillow>=10.0",
32
+ ]
33
+
34
+ [project.scripts]
35
+ ai-roundtable = "ai_roundtable.main:main"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/HiJiangChuan/ai-roundtable"
39
+ Repository = "https://github.com/HiJiangChuan/ai-roundtable"
40
+
41
+ [tool.hatch.build.targets.wheel]
42
+ packages = ["src"]
43
+
44
+ [tool.hatch.build.targets.wheel.sources]
45
+ "src" = "ai_roundtable"
46
+
@@ -0,0 +1,4 @@
1
+ textual>=0.47.0
2
+ pyyaml>=6.0
3
+ pyperclip>=1.8.0
4
+ Pillow>=10.0