tina-python 0.7.0__tar.gz → 0.7.1__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.
- {tina_python-0.7.0/tina_python.egg-info → tina_python-0.7.1}/PKG-INFO +48 -8
- {tina_python-0.7.0 → tina_python-0.7.1}/README.md +47 -7
- {tina_python-0.7.0 → tina_python-0.7.1}/pyproject.toml +1 -1
- {tina_python-0.7.0 → tina_python-0.7.1}/setup.py +1 -1
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/__init__.py +1 -1
- {tina_python-0.7.0 → tina_python-0.7.1/tina_python.egg-info}/PKG-INFO +48 -8
- {tina_python-0.7.0 → tina_python-0.7.1}/LICENSE +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/MANIFEST.in +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/setup.cfg +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/agent.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/agent_response.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/agent_runtime.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/context_manager.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/events.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/executor.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/keyword_actions.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/prompt.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/state.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/core/tools.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/agent/multimodal_agent.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/core/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/core/error.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/core/logger.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/llm/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/llm/base_api.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/llm/base_multimodal_api.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/llm/files_api.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/mcp/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/mcp/client.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/mcp/mcp_tools_executor.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/py.typed +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/agent_worker.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/deepseek.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/doc_parser.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/env_reader.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/environment.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/message.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/message_bus.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/web/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multi_agent/web/server.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/multimodal_formatter.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/output_parser.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/run_agent_in_cli.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/system_tools.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/tui/__init__.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/tui/context_manager.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/tui/token.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/tui/tui.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/type_mapper.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/url.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina/utils/usage.py +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina_python.egg-info/SOURCES.txt +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina_python.egg-info/dependency_links.txt +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina_python.egg-info/requires.txt +0 -0
- {tina_python-0.7.0 → tina_python-0.7.1}/tina_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tina-python
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Summary: tina is in your computer!
|
|
5
5
|
Home-page: https://gitee.com/wang-churi/tina
|
|
6
6
|
Author: 王出日
|
|
@@ -53,10 +53,13 @@ pip install tina-python
|
|
|
53
53
|
# 如果需要使用 MCP(模型上下文协议)服务
|
|
54
54
|
pip install tina-python[mcp]
|
|
55
55
|
|
|
56
|
-
# 如果需要 TUI
|
|
56
|
+
# 如果需要 TUI 终端界面(独立发行包 tina-tui)
|
|
57
57
|
pip install tina-python[tui]
|
|
58
58
|
|
|
59
|
-
#
|
|
59
|
+
# 如果需要多 Agent 环境 + Web 调试控制台(独立发行包 tina-multi-agent)
|
|
60
|
+
pip install tina-python[multi-agent]
|
|
61
|
+
|
|
62
|
+
# 一次装齐所有可选功能(TUI + 多 Agent + MCP)
|
|
60
63
|
pip install tina-python[all]
|
|
61
64
|
|
|
62
65
|
# 如果需要运行测试
|
|
@@ -113,7 +116,7 @@ for chunk in result:
|
|
|
113
116
|
- [四、MCP 支持 —— 模型上下文协议](#四mcp-支持--模型上下文协议)
|
|
114
117
|
- [五、多模态支持](#五多模态支持)
|
|
115
118
|
- [六、快速开发工具](#六快速开发工具)
|
|
116
|
-
- [
|
|
119
|
+
- [七、拓展包(可选)](#七拓展包可选)
|
|
117
120
|
|
|
118
121
|
---
|
|
119
122
|
|
|
@@ -141,7 +144,8 @@ tina 是一个轻量、模块化的 AI 智能体框架,专注于让开发者
|
|
|
141
144
|
| **MCPClient** | MCP 集成 | 连接 MCP 服务器生态(stdio/SSE) |
|
|
142
145
|
| **ContextManager** | 上下文管理 | 滚动窗口策略,自动截断 |
|
|
143
146
|
| **AgentEvents** | 事件系统 | 贯穿 Agent 生命周期的回调钩子 |
|
|
144
|
-
| **TUI(可选)** | 终端界面 |
|
|
147
|
+
| **TUI(可选)** | 终端界面 | 独立包 `tina-tui`:测试 Agent 的交互控制台,也可当作自己的 TUI 使用 |
|
|
148
|
+
| **多 Agent(可选)** | 多 Agent 环境 | 独立包 `tina-multi-agent`:消息总线 + Web 调试控制台 |
|
|
145
149
|
|
|
146
150
|
---
|
|
147
151
|
|
|
@@ -707,7 +711,7 @@ tina 支持通过 MCP(Model Context Protocol)连接外部工具生态。
|
|
|
707
711
|
pip install tina-python[mcp]
|
|
708
712
|
```
|
|
709
713
|
|
|
710
|
-
> 想一次装齐所有可选功能(TUI + MCP):`pip install tina-python[all]`
|
|
714
|
+
> 想一次装齐所有可选功能(TUI + 多 Agent + MCP):`pip install tina-python[all]`
|
|
711
715
|
|
|
712
716
|
### 4.2 使用 MCP 客户端
|
|
713
717
|
|
|
@@ -1031,7 +1035,13 @@ print(message)
|
|
|
1031
1035
|
# {"role": "user", "content": [{"type": "text", "text": "..."}, {"type": "image_url", ...}]}
|
|
1032
1036
|
```
|
|
1033
1037
|
|
|
1034
|
-
|
|
1038
|
+
---
|
|
1039
|
+
|
|
1040
|
+
## 七、拓展包(可选)
|
|
1041
|
+
|
|
1042
|
+
tina 核心保持轻量:终端界面与多 Agent 环境这两块较大的功能,拆成**独立发行包**,按需安装、独立更新与发布。主包内不再包含它们的实现(仅保留 `tina.utils.*` 兼容转发壳)。
|
|
1043
|
+
|
|
1044
|
+
### 7.1 终端界面 TUI(`tina-tui`)
|
|
1035
1045
|
|
|
1036
1046
|
终端界面由配套包 **`tina-tui`**(基于 [Textual](https://textual.textualize.io/))提供,作为**可选扩展**单独发行:方便你测试自己写的 Agent,也可以直接当作自己的 TUI 来用。核心不依赖它,需要额外安装:
|
|
1037
1047
|
|
|
@@ -1080,6 +1090,35 @@ run_agent_in_tui(agent, max_tokens=32000)
|
|
|
1080
1090
|
|
|
1081
1091
|
完整说明(安装、指令、快捷键、自建界面)见 [`docs/tui.md`](./docs/tui.md)。
|
|
1082
1092
|
|
|
1093
|
+
### 7.2 多 Agent 环境(`tina-multi-agent`)
|
|
1094
|
+
|
|
1095
|
+
多 Agent 场景由独立发行包 **`tina-multi-agent`** 提供:把多个各自独立的 `Agent`(含 `MultimodalAgent`)注册进一个「环境」,通过消息总线互相通信,并带一个 Web 调试控制台用于观测与介入。
|
|
1096
|
+
|
|
1097
|
+
```bash
|
|
1098
|
+
pip install tina-python[multi-agent] # 等价于安装 tina-multi-agent
|
|
1099
|
+
```
|
|
1100
|
+
|
|
1101
|
+
```python
|
|
1102
|
+
from tina import Agent
|
|
1103
|
+
from tina.llm import BaseAPI
|
|
1104
|
+
from tina_multi_agent import MultiAgentEnvironment, MultiAgentWeb
|
|
1105
|
+
|
|
1106
|
+
llm = BaseAPI()
|
|
1107
|
+
|
|
1108
|
+
env = MultiAgentEnvironment(name="room")
|
|
1109
|
+
env.add_agent(Agent(llm=llm, name="alice", system_prompt="你是 alice"))
|
|
1110
|
+
env.add_agent(Agent(llm=llm, name="bob", system_prompt="你是 bob"))
|
|
1111
|
+
|
|
1112
|
+
# 带 Web 控制台启动(自动启动环境):打开 http://127.0.0.1:7077
|
|
1113
|
+
MultiAgentWeb(env, port=7077).run()
|
|
1114
|
+
```
|
|
1115
|
+
|
|
1116
|
+
- 每个 Agent 一个收信队列;外部指令走 `add_user_message`,同伴消息作为带 `name` 的 assistant 消息注入。
|
|
1117
|
+
- 支持**回合中途注入**(`before_llm_call`)、打断(`env.interrupt`)、工具确认与权限表。
|
|
1118
|
+
- Web 控制台能力、消息总线、`POST /instruction`、`WS /ws` 事件等完整说明见 [`packages/tina-multi-agent/README.md`](./packages/tina-multi-agent/README.md)。
|
|
1119
|
+
|
|
1120
|
+
> 兼容提示:旧路径 `tina.utils.multi_agent` 仍可用(主包内保留转发壳);未安装 `tina-multi-agent` 时会提示安装。
|
|
1121
|
+
|
|
1083
1122
|
---
|
|
1084
1123
|
|
|
1085
1124
|
## 附录
|
|
@@ -1101,7 +1140,8 @@ MAX_INPUT=8000
|
|
|
1101
1140
|
|------|------|
|
|
1102
1141
|
| 核心功能 | `httpx`, `python-dotenv` |
|
|
1103
1142
|
| MCP 支持 | `mcp` |
|
|
1104
|
-
| TUI
|
|
1143
|
+
| TUI 界面(可选,`tina-tui`) | `textual` |
|
|
1144
|
+
| 多 Agent(可选,`tina-multi-agent`) | `fastapi`, `uvicorn`, `websockets` |
|
|
1105
1145
|
| 测试 | `pytest`, `pytest-asyncio`, `pytest-cov` |
|
|
1106
1146
|
|
|
1107
1147
|
### 许可证
|
|
@@ -15,10 +15,13 @@ pip install tina-python
|
|
|
15
15
|
# 如果需要使用 MCP(模型上下文协议)服务
|
|
16
16
|
pip install tina-python[mcp]
|
|
17
17
|
|
|
18
|
-
# 如果需要 TUI
|
|
18
|
+
# 如果需要 TUI 终端界面(独立发行包 tina-tui)
|
|
19
19
|
pip install tina-python[tui]
|
|
20
20
|
|
|
21
|
-
#
|
|
21
|
+
# 如果需要多 Agent 环境 + Web 调试控制台(独立发行包 tina-multi-agent)
|
|
22
|
+
pip install tina-python[multi-agent]
|
|
23
|
+
|
|
24
|
+
# 一次装齐所有可选功能(TUI + 多 Agent + MCP)
|
|
22
25
|
pip install tina-python[all]
|
|
23
26
|
|
|
24
27
|
# 如果需要运行测试
|
|
@@ -75,7 +78,7 @@ for chunk in result:
|
|
|
75
78
|
- [四、MCP 支持 —— 模型上下文协议](#四mcp-支持--模型上下文协议)
|
|
76
79
|
- [五、多模态支持](#五多模态支持)
|
|
77
80
|
- [六、快速开发工具](#六快速开发工具)
|
|
78
|
-
- [
|
|
81
|
+
- [七、拓展包(可选)](#七拓展包可选)
|
|
79
82
|
|
|
80
83
|
---
|
|
81
84
|
|
|
@@ -103,7 +106,8 @@ tina 是一个轻量、模块化的 AI 智能体框架,专注于让开发者
|
|
|
103
106
|
| **MCPClient** | MCP 集成 | 连接 MCP 服务器生态(stdio/SSE) |
|
|
104
107
|
| **ContextManager** | 上下文管理 | 滚动窗口策略,自动截断 |
|
|
105
108
|
| **AgentEvents** | 事件系统 | 贯穿 Agent 生命周期的回调钩子 |
|
|
106
|
-
| **TUI(可选)** | 终端界面 |
|
|
109
|
+
| **TUI(可选)** | 终端界面 | 独立包 `tina-tui`:测试 Agent 的交互控制台,也可当作自己的 TUI 使用 |
|
|
110
|
+
| **多 Agent(可选)** | 多 Agent 环境 | 独立包 `tina-multi-agent`:消息总线 + Web 调试控制台 |
|
|
107
111
|
|
|
108
112
|
---
|
|
109
113
|
|
|
@@ -669,7 +673,7 @@ tina 支持通过 MCP(Model Context Protocol)连接外部工具生态。
|
|
|
669
673
|
pip install tina-python[mcp]
|
|
670
674
|
```
|
|
671
675
|
|
|
672
|
-
> 想一次装齐所有可选功能(TUI + MCP):`pip install tina-python[all]`
|
|
676
|
+
> 想一次装齐所有可选功能(TUI + 多 Agent + MCP):`pip install tina-python[all]`
|
|
673
677
|
|
|
674
678
|
### 4.2 使用 MCP 客户端
|
|
675
679
|
|
|
@@ -993,7 +997,13 @@ print(message)
|
|
|
993
997
|
# {"role": "user", "content": [{"type": "text", "text": "..."}, {"type": "image_url", ...}]}
|
|
994
998
|
```
|
|
995
999
|
|
|
996
|
-
|
|
1000
|
+
---
|
|
1001
|
+
|
|
1002
|
+
## 七、拓展包(可选)
|
|
1003
|
+
|
|
1004
|
+
tina 核心保持轻量:终端界面与多 Agent 环境这两块较大的功能,拆成**独立发行包**,按需安装、独立更新与发布。主包内不再包含它们的实现(仅保留 `tina.utils.*` 兼容转发壳)。
|
|
1005
|
+
|
|
1006
|
+
### 7.1 终端界面 TUI(`tina-tui`)
|
|
997
1007
|
|
|
998
1008
|
终端界面由配套包 **`tina-tui`**(基于 [Textual](https://textual.textualize.io/))提供,作为**可选扩展**单独发行:方便你测试自己写的 Agent,也可以直接当作自己的 TUI 来用。核心不依赖它,需要额外安装:
|
|
999
1009
|
|
|
@@ -1042,6 +1052,35 @@ run_agent_in_tui(agent, max_tokens=32000)
|
|
|
1042
1052
|
|
|
1043
1053
|
完整说明(安装、指令、快捷键、自建界面)见 [`docs/tui.md`](./docs/tui.md)。
|
|
1044
1054
|
|
|
1055
|
+
### 7.2 多 Agent 环境(`tina-multi-agent`)
|
|
1056
|
+
|
|
1057
|
+
多 Agent 场景由独立发行包 **`tina-multi-agent`** 提供:把多个各自独立的 `Agent`(含 `MultimodalAgent`)注册进一个「环境」,通过消息总线互相通信,并带一个 Web 调试控制台用于观测与介入。
|
|
1058
|
+
|
|
1059
|
+
```bash
|
|
1060
|
+
pip install tina-python[multi-agent] # 等价于安装 tina-multi-agent
|
|
1061
|
+
```
|
|
1062
|
+
|
|
1063
|
+
```python
|
|
1064
|
+
from tina import Agent
|
|
1065
|
+
from tina.llm import BaseAPI
|
|
1066
|
+
from tina_multi_agent import MultiAgentEnvironment, MultiAgentWeb
|
|
1067
|
+
|
|
1068
|
+
llm = BaseAPI()
|
|
1069
|
+
|
|
1070
|
+
env = MultiAgentEnvironment(name="room")
|
|
1071
|
+
env.add_agent(Agent(llm=llm, name="alice", system_prompt="你是 alice"))
|
|
1072
|
+
env.add_agent(Agent(llm=llm, name="bob", system_prompt="你是 bob"))
|
|
1073
|
+
|
|
1074
|
+
# 带 Web 控制台启动(自动启动环境):打开 http://127.0.0.1:7077
|
|
1075
|
+
MultiAgentWeb(env, port=7077).run()
|
|
1076
|
+
```
|
|
1077
|
+
|
|
1078
|
+
- 每个 Agent 一个收信队列;外部指令走 `add_user_message`,同伴消息作为带 `name` 的 assistant 消息注入。
|
|
1079
|
+
- 支持**回合中途注入**(`before_llm_call`)、打断(`env.interrupt`)、工具确认与权限表。
|
|
1080
|
+
- Web 控制台能力、消息总线、`POST /instruction`、`WS /ws` 事件等完整说明见 [`packages/tina-multi-agent/README.md`](./packages/tina-multi-agent/README.md)。
|
|
1081
|
+
|
|
1082
|
+
> 兼容提示:旧路径 `tina.utils.multi_agent` 仍可用(主包内保留转发壳);未安装 `tina-multi-agent` 时会提示安装。
|
|
1083
|
+
|
|
1045
1084
|
---
|
|
1046
1085
|
|
|
1047
1086
|
## 附录
|
|
@@ -1063,7 +1102,8 @@ MAX_INPUT=8000
|
|
|
1063
1102
|
|------|------|
|
|
1064
1103
|
| 核心功能 | `httpx`, `python-dotenv` |
|
|
1065
1104
|
| MCP 支持 | `mcp` |
|
|
1066
|
-
| TUI
|
|
1105
|
+
| TUI 界面(可选,`tina-tui`) | `textual` |
|
|
1106
|
+
| 多 Agent(可选,`tina-multi-agent`) | `fastapi`, `uvicorn`, `websockets` |
|
|
1067
1107
|
| 测试 | `pytest`, `pytest-asyncio`, `pytest-cov` |
|
|
1068
1108
|
|
|
1069
1109
|
### 许可证
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tina-python
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.1
|
|
4
4
|
Summary: tina is in your computer!
|
|
5
5
|
Home-page: https://gitee.com/wang-churi/tina
|
|
6
6
|
Author: 王出日
|
|
@@ -53,10 +53,13 @@ pip install tina-python
|
|
|
53
53
|
# 如果需要使用 MCP(模型上下文协议)服务
|
|
54
54
|
pip install tina-python[mcp]
|
|
55
55
|
|
|
56
|
-
# 如果需要 TUI
|
|
56
|
+
# 如果需要 TUI 终端界面(独立发行包 tina-tui)
|
|
57
57
|
pip install tina-python[tui]
|
|
58
58
|
|
|
59
|
-
#
|
|
59
|
+
# 如果需要多 Agent 环境 + Web 调试控制台(独立发行包 tina-multi-agent)
|
|
60
|
+
pip install tina-python[multi-agent]
|
|
61
|
+
|
|
62
|
+
# 一次装齐所有可选功能(TUI + 多 Agent + MCP)
|
|
60
63
|
pip install tina-python[all]
|
|
61
64
|
|
|
62
65
|
# 如果需要运行测试
|
|
@@ -113,7 +116,7 @@ for chunk in result:
|
|
|
113
116
|
- [四、MCP 支持 —— 模型上下文协议](#四mcp-支持--模型上下文协议)
|
|
114
117
|
- [五、多模态支持](#五多模态支持)
|
|
115
118
|
- [六、快速开发工具](#六快速开发工具)
|
|
116
|
-
- [
|
|
119
|
+
- [七、拓展包(可选)](#七拓展包可选)
|
|
117
120
|
|
|
118
121
|
---
|
|
119
122
|
|
|
@@ -141,7 +144,8 @@ tina 是一个轻量、模块化的 AI 智能体框架,专注于让开发者
|
|
|
141
144
|
| **MCPClient** | MCP 集成 | 连接 MCP 服务器生态(stdio/SSE) |
|
|
142
145
|
| **ContextManager** | 上下文管理 | 滚动窗口策略,自动截断 |
|
|
143
146
|
| **AgentEvents** | 事件系统 | 贯穿 Agent 生命周期的回调钩子 |
|
|
144
|
-
| **TUI(可选)** | 终端界面 |
|
|
147
|
+
| **TUI(可选)** | 终端界面 | 独立包 `tina-tui`:测试 Agent 的交互控制台,也可当作自己的 TUI 使用 |
|
|
148
|
+
| **多 Agent(可选)** | 多 Agent 环境 | 独立包 `tina-multi-agent`:消息总线 + Web 调试控制台 |
|
|
145
149
|
|
|
146
150
|
---
|
|
147
151
|
|
|
@@ -707,7 +711,7 @@ tina 支持通过 MCP(Model Context Protocol)连接外部工具生态。
|
|
|
707
711
|
pip install tina-python[mcp]
|
|
708
712
|
```
|
|
709
713
|
|
|
710
|
-
> 想一次装齐所有可选功能(TUI + MCP):`pip install tina-python[all]`
|
|
714
|
+
> 想一次装齐所有可选功能(TUI + 多 Agent + MCP):`pip install tina-python[all]`
|
|
711
715
|
|
|
712
716
|
### 4.2 使用 MCP 客户端
|
|
713
717
|
|
|
@@ -1031,7 +1035,13 @@ print(message)
|
|
|
1031
1035
|
# {"role": "user", "content": [{"type": "text", "text": "..."}, {"type": "image_url", ...}]}
|
|
1032
1036
|
```
|
|
1033
1037
|
|
|
1034
|
-
|
|
1038
|
+
---
|
|
1039
|
+
|
|
1040
|
+
## 七、拓展包(可选)
|
|
1041
|
+
|
|
1042
|
+
tina 核心保持轻量:终端界面与多 Agent 环境这两块较大的功能,拆成**独立发行包**,按需安装、独立更新与发布。主包内不再包含它们的实现(仅保留 `tina.utils.*` 兼容转发壳)。
|
|
1043
|
+
|
|
1044
|
+
### 7.1 终端界面 TUI(`tina-tui`)
|
|
1035
1045
|
|
|
1036
1046
|
终端界面由配套包 **`tina-tui`**(基于 [Textual](https://textual.textualize.io/))提供,作为**可选扩展**单独发行:方便你测试自己写的 Agent,也可以直接当作自己的 TUI 来用。核心不依赖它,需要额外安装:
|
|
1037
1047
|
|
|
@@ -1080,6 +1090,35 @@ run_agent_in_tui(agent, max_tokens=32000)
|
|
|
1080
1090
|
|
|
1081
1091
|
完整说明(安装、指令、快捷键、自建界面)见 [`docs/tui.md`](./docs/tui.md)。
|
|
1082
1092
|
|
|
1093
|
+
### 7.2 多 Agent 环境(`tina-multi-agent`)
|
|
1094
|
+
|
|
1095
|
+
多 Agent 场景由独立发行包 **`tina-multi-agent`** 提供:把多个各自独立的 `Agent`(含 `MultimodalAgent`)注册进一个「环境」,通过消息总线互相通信,并带一个 Web 调试控制台用于观测与介入。
|
|
1096
|
+
|
|
1097
|
+
```bash
|
|
1098
|
+
pip install tina-python[multi-agent] # 等价于安装 tina-multi-agent
|
|
1099
|
+
```
|
|
1100
|
+
|
|
1101
|
+
```python
|
|
1102
|
+
from tina import Agent
|
|
1103
|
+
from tina.llm import BaseAPI
|
|
1104
|
+
from tina_multi_agent import MultiAgentEnvironment, MultiAgentWeb
|
|
1105
|
+
|
|
1106
|
+
llm = BaseAPI()
|
|
1107
|
+
|
|
1108
|
+
env = MultiAgentEnvironment(name="room")
|
|
1109
|
+
env.add_agent(Agent(llm=llm, name="alice", system_prompt="你是 alice"))
|
|
1110
|
+
env.add_agent(Agent(llm=llm, name="bob", system_prompt="你是 bob"))
|
|
1111
|
+
|
|
1112
|
+
# 带 Web 控制台启动(自动启动环境):打开 http://127.0.0.1:7077
|
|
1113
|
+
MultiAgentWeb(env, port=7077).run()
|
|
1114
|
+
```
|
|
1115
|
+
|
|
1116
|
+
- 每个 Agent 一个收信队列;外部指令走 `add_user_message`,同伴消息作为带 `name` 的 assistant 消息注入。
|
|
1117
|
+
- 支持**回合中途注入**(`before_llm_call`)、打断(`env.interrupt`)、工具确认与权限表。
|
|
1118
|
+
- Web 控制台能力、消息总线、`POST /instruction`、`WS /ws` 事件等完整说明见 [`packages/tina-multi-agent/README.md`](./packages/tina-multi-agent/README.md)。
|
|
1119
|
+
|
|
1120
|
+
> 兼容提示:旧路径 `tina.utils.multi_agent` 仍可用(主包内保留转发壳);未安装 `tina-multi-agent` 时会提示安装。
|
|
1121
|
+
|
|
1083
1122
|
---
|
|
1084
1123
|
|
|
1085
1124
|
## 附录
|
|
@@ -1101,7 +1140,8 @@ MAX_INPUT=8000
|
|
|
1101
1140
|
|------|------|
|
|
1102
1141
|
| 核心功能 | `httpx`, `python-dotenv` |
|
|
1103
1142
|
| MCP 支持 | `mcp` |
|
|
1104
|
-
| TUI
|
|
1143
|
+
| TUI 界面(可选,`tina-tui`) | `textual` |
|
|
1144
|
+
| 多 Agent(可选,`tina-multi-agent`) | `fastapi`, `uvicorn`, `websockets` |
|
|
1105
1145
|
| 测试 | `pytest`, `pytest-asyncio`, `pytest-cov` |
|
|
1106
1146
|
|
|
1107
1147
|
### 许可证
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|