Pensieve header: The loose $gl_n$ version 2 (failed).

(Subscript[χ, cond_]) := If[TrueQ@cond, 1, 0];
B[0,_]=0; B[_,0]=0;
B[c_*x:(Subscript[(e|h), __]),y_]:=Expand[c B[x,y]];
B[y_,c_*x:(Subscript[(e|h), __])]:=Expand[c B[y,x]];
B[x_Plus,y_] := B[#,y]& /@ x;
B[x_,y_Plus] := B[x,#]& /@ y;

B[(Subscript[e, i_,j_]),(Subscript[e, j_,i_])] := (Subscript[χ, i<j])(Subscript[h, i,j])-(Subscript[χ, j<i])(Subscript[h, j,i]);
B[(Subscript[h, i_,j_]),(Subscript[e, i_,j_])] := 2(Subscript[e, i,j]);
B[(Subscript[h, j_,i_]),(Subscript[e, i_,j_])] := -2(Subscript[e, i,j]);

B[(Subscript[e, i_,j_]),(Subscript[e, k_,l_])] := η (Subscript[χ, j==k])(Subscript[e, i,l])-η (Subscript[χ, l==i])(Subscript[e, k,j]);
B[(Subscript[h, i_,j_]),(Subscript[e, k_,l_])] := Expand[η((Subscript[χ, i==k])(Subscript[e, i,l])-(Subscript[χ, i==l])(Subscript[e, k,i])-(Subscript[χ, j==k])(Subscript[e, j,l])+(Subscript[χ, j==l])(Subscript[e, k,j]))];
B[(Subscript[h, __]),(Subscript[h, __])] =0;

B[x_,x_]=0;
B[y_,x_] := Expand[-B[x,y]];

Basis[n_] := Union@Flatten@Table[{(Subscript[e, i,j]),(Subscript[e, j,i]),(Subscript[h, i,j])}, {i,n-1}, {j,i+1,n}];

Basis[4]

n=3;
Table[
{x,y}->B[x,y],
{x,Basis[n]}, {y,Basis[n]}
]// MatrixForm

n=4;
Union@Table[
{x,y}=t; B[x,y]+B[y,x],
{t, Tuples[Basis[n], 2]}
]

n=3;
DeleteCases[Table[
({x,y,z}=t)-> B[x,B[y,z]]+B[y,B[z,x]]+B[z,B[x,y]] /. η->0,
{t, Tuples[Basis[n], 3]}
], _->0]

n=3;
DeleteCases[Table[
({x,y,z}=t)-> B[x,B[y,z]]+B[y,B[z,x]]+B[z,B[x,y]] /. η->1,
{t, Tuples[Basis[n], 3]}
], _->0]

n=3;
DeleteCases[Table[
({x,y,z}=t)-> B[x,B[y,z]]+B[y,B[z,x]]+B[z,B[x,y]],
{t, Tuples[Basis[n], 3]}
], _->0]