@timmeck/brain-core 2.36.45 → 2.36.47
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.
- package/README.md +9 -2
- package/command-center.html +61 -1
- package/dist/ecosystem/service.d.ts +19 -0
- package/dist/ecosystem/service.js +27 -3
- package/dist/ecosystem/service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
**Shared infrastructure for the Brain Ecosystem — 72+ autonomous engines, synapses, IPC, MCP, LLM service, consciousness, research missions, notifications, self-modification, RAG, Knowledge Graph, code assimilation, and more.**
|
|
9
9
|
|
|
10
|
-
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A
|
|
10
|
+
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A 51-step feedback orchestrator runs 72+ engines in autonomic cycles — the brain observes itself, forms hypotheses, runs experiments, dreams, debates, reasons in chains, feels emotions, evolves strategies genetically, absorbs code from other repos, extracts reusable features, and modifies its own source code. Full intelligence suite: RAG pipeline, Knowledge Graph, semantic compression, RLHF feedback, tool learning, proactive suggestions, user modeling, code health monitor, inter-brain teaching, consensus voting, active learning, code assimilation with feature extraction.
|
|
11
11
|
|
|
12
12
|
## What's Included
|
|
13
13
|
|
|
@@ -140,6 +140,13 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
140
140
|
| **WatchdogService** | Process monitoring, auto-restart, health checks |
|
|
141
141
|
| **PluginRegistry** | Community plugin loading, lifecycle hooks, MCP tools, IPC routes |
|
|
142
142
|
| **WindowsServiceManager** | NSSM/SC.exe service install/uninstall/status |
|
|
143
|
+
| **CheckpointManager** | Workflow state save/load/resume/fork with crash recovery |
|
|
144
|
+
| **TraceCollector** | Hierarchical traces with spans, P50/P99 latency, cost tracking |
|
|
145
|
+
| **AgentTrainer** | Benchmark suites, scenario-based training, performance grading |
|
|
146
|
+
| **ToolScopeManager** | Context-aware dynamic tool filtering per task |
|
|
147
|
+
| **PluginMarketplace** | Plugin discovery, rating, and installation |
|
|
148
|
+
| **CodeSandbox** | Docker-isolated code execution for safe experimentation |
|
|
149
|
+
| **MessagingInput** | Bidirectional Telegram + Discord bots for remote control |
|
|
143
150
|
|
|
144
151
|
### Utilities
|
|
145
152
|
|
|
@@ -177,7 +184,7 @@ const llm = new LLMService(db, {
|
|
|
177
184
|
ollamaBaseUrl: 'http://localhost:11434',
|
|
178
185
|
});
|
|
179
186
|
|
|
180
|
-
// 3. Research Orchestrator (72+ engines,
|
|
187
|
+
// 3. Research Orchestrator (72+ engines, 51-step feedback cycle)
|
|
181
188
|
const orchestrator = new ResearchOrchestrator(db, { brainName: 'my-brain' });
|
|
182
189
|
orchestrator.start();
|
|
183
190
|
|
package/command-center.html
CHANGED
|
@@ -455,6 +455,14 @@ canvas{display:block;width:100%;height:100%}
|
|
|
455
455
|
<div class="card"><div class="card-title">Win Rate</div><div class="card-value" id="tradingWinRate" style="color:var(--green)">--</div><div class="card-sub" data-t="Gewinnrate aller Trades">Gewinnrate aller Trades</div></div>
|
|
456
456
|
<div class="card"><div class="card-title" data-t="Offene Positionen">Offene Positionen</div><div class="card-value" id="tradingPositions" style="color:var(--green)">--</div><div class="card-sub" data-t="Aktive Trades gerade">Aktive Trades gerade</div></div>
|
|
457
457
|
</div>
|
|
458
|
+
<div class="section" style="margin-top:16px">
|
|
459
|
+
<div class="section-title"><span class="icon">💰</span> <span data-t="Offene Positionen">Offene Positionen</span></div>
|
|
460
|
+
<div id="openPositionsTable"><div class="empty" data-t="Keine offenen Positionen">Keine offenen Positionen</div></div>
|
|
461
|
+
</div>
|
|
462
|
+
<div class="section" style="margin-top:16px">
|
|
463
|
+
<div class="section-title"><span class="icon">📜</span> <span data-t="Letzte Trades">Letzte Trades</span></div>
|
|
464
|
+
<div id="tradeHistoryTable"><div class="empty" data-t="Keine Trades bisher">Keine Trades bisher</div></div>
|
|
465
|
+
</div>
|
|
458
466
|
<div class="section" style="margin-top:16px">
|
|
459
467
|
<div class="section-title"><span class="icon">🏭</span> Trading Engines</div>
|
|
460
468
|
<div class="engine-grid" id="tradingEngineGrid"><div class="empty">Loading...</div></div>
|
|
@@ -755,7 +763,7 @@ const translations = { en: {
|
|
|
755
763
|
'So tradet Trading-Brain':'How Trading Brain Trades',
|
|
756
764
|
'Signale kommen rein, werden analysiert, als Paper Trade getestet und das Ergebnis fließt zurück ins Lernen.':'Signals come in, get analyzed, tested as paper trades, and results feed back into learning.',
|
|
757
765
|
'Signale':'Signals','Analyse':'Analysis','Ergebnis':'Result','Lernen':'Learn',
|
|
758
|
-
'Paper Trading Guthaben':'Paper Trading Balance','Gewinnrate aller Trades':'Win Rate All Trades','Offene Positionen':'Open Positions','Aktive Trades gerade':'Active Trades Now',
|
|
766
|
+
'Paper Trading Guthaben':'Paper Trading Balance','Gewinnrate aller Trades':'Win Rate All Trades','Offene Positionen':'Open Positions','Aktive Trades gerade':'Active Trades Now','Keine offenen Positionen':'No open positions','Aktuell':'Current','Betrag':'Amount','Ge\u00f6ffnet':'Opened','Letzte Trades':'Recent Trades','Keine Trades bisher':'No trades yet','Grund':'Reason','Datum':'Date',
|
|
759
767
|
'So lernt Marketing-Brain':'How Marketing Brain Learns',
|
|
760
768
|
'Posts werden veröffentlicht, das Engagement wird gemessen, Muster erkannt und die Strategie angepasst.':'Posts are published, engagement is measured, patterns detected, and strategy adjusted.',
|
|
761
769
|
'Muster':'Patterns','Strategie':'Strategy','Bester Post':'Best Post','Kampagnen':'Campaigns','Aktive Kampagnen':'Active Campaigns','Zielgruppe':'Audience',
|
|
@@ -1418,6 +1426,58 @@ function renderAnalytics() {
|
|
|
1418
1426
|
setText('tradingWinRate', t.winRate ? (Number(t.winRate)*100).toFixed(1)+'%' : '--');
|
|
1419
1427
|
setText('tradingEquity', t.equity ? '$'+Number(t.equity).toLocaleString() : '--');
|
|
1420
1428
|
setText('tradingPositions', num(t.positions));
|
|
1429
|
+
// Open Positions Table
|
|
1430
|
+
const opEl = document.getElementById('openPositionsTable');
|
|
1431
|
+
if (opEl && Array.isArray(t.openPositionsList) && t.openPositionsList.length > 0) {
|
|
1432
|
+
opEl.innerHTML = '<table style="width:100%;border-collapse:collapse;font-size:12px">'
|
|
1433
|
+
+ '<tr style="color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border)">'
|
|
1434
|
+
+ '<th style="padding:6px 8px">Symbol</th><th style="padding:6px 8px">Side</th>'
|
|
1435
|
+
+ '<th style="padding:6px 8px">Entry</th><th style="padding:6px 8px" data-t="Aktuell">Aktuell</th>'
|
|
1436
|
+
+ '<th style="padding:6px 8px">PnL</th><th style="padding:6px 8px" data-t="Betrag">Betrag</th>'
|
|
1437
|
+
+ '<th style="padding:6px 8px" data-t="Geöffnet">Ge\u00f6ffnet</th></tr>'
|
|
1438
|
+
+ t.openPositionsList.map(pos => {
|
|
1439
|
+
const win = pos.pnlPct > 0;
|
|
1440
|
+
const pnlColor = win ? 'var(--green)' : 'var(--red)';
|
|
1441
|
+
const sign = win ? '+' : '';
|
|
1442
|
+
return '<tr style="border-bottom:1px solid var(--border)">'
|
|
1443
|
+
+ `<td style="padding:6px 8px;font-weight:600;color:var(--cyan)">${pos.symbol}</td>`
|
|
1444
|
+
+ `<td style="padding:6px 8px">${pos.side}</td>`
|
|
1445
|
+
+ `<td style="padding:6px 8px">$${Number(pos.entryPrice).toFixed(4)}</td>`
|
|
1446
|
+
+ `<td style="padding:6px 8px">$${Number(pos.currentPrice).toFixed(4)}</td>`
|
|
1447
|
+
+ `<td style="padding:6px 8px;color:${pnlColor};font-weight:600">${sign}${Number(pos.pnlPct).toFixed(2)}%</td>`
|
|
1448
|
+
+ `<td style="padding:6px 8px">$${Number(pos.usdtAmount).toFixed(2)}</td>`
|
|
1449
|
+
+ `<td style="padding:6px 8px;color:var(--text-dim)">${pos.openedAt ? pos.openedAt.slice(0, 16).replace('T', ' ') : ''}</td>`
|
|
1450
|
+
+ '</tr>';
|
|
1451
|
+
}).join('') + '</table>';
|
|
1452
|
+
} else if (opEl) {
|
|
1453
|
+
opEl.innerHTML = `<div class="empty" data-t="Keine offenen Positionen">${t('Keine offenen Positionen')}</div>`;
|
|
1454
|
+
}
|
|
1455
|
+
// Trade History Table
|
|
1456
|
+
const hEl = document.getElementById('tradeHistoryTable');
|
|
1457
|
+
if (hEl && Array.isArray(t.history) && t.history.length > 0) {
|
|
1458
|
+
hEl.innerHTML = '<table style="width:100%;border-collapse:collapse;font-size:12px">'
|
|
1459
|
+
+ '<tr style="color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border)">'
|
|
1460
|
+
+ '<th style="padding:6px 8px">Symbol</th><th style="padding:6px 8px">Side</th>'
|
|
1461
|
+
+ '<th style="padding:6px 8px">Entry</th><th style="padding:6px 8px">Exit</th>'
|
|
1462
|
+
+ '<th style="padding:6px 8px">PnL</th><th style="padding:6px 8px" data-t="Grund">Grund</th>'
|
|
1463
|
+
+ '<th style="padding:6px 8px" data-t="Datum">Datum</th></tr>'
|
|
1464
|
+
+ t.history.map(h => {
|
|
1465
|
+
const win = h.pnlPct > 0;
|
|
1466
|
+
const pnlColor = win ? 'var(--green)' : 'var(--red)';
|
|
1467
|
+
const sign = win ? '+' : '';
|
|
1468
|
+
return '<tr style="border-bottom:1px solid var(--border)">'
|
|
1469
|
+
+ `<td style="padding:6px 8px;font-weight:600;color:var(--cyan)">${h.symbol}</td>`
|
|
1470
|
+
+ `<td style="padding:6px 8px">${h.side}</td>`
|
|
1471
|
+
+ `<td style="padding:6px 8px">$${Number(h.entryPrice).toFixed(4)}</td>`
|
|
1472
|
+
+ `<td style="padding:6px 8px">$${Number(h.exitPrice).toFixed(4)}</td>`
|
|
1473
|
+
+ `<td style="padding:6px 8px;color:${pnlColor};font-weight:600">${sign}${Number(h.pnlPct).toFixed(2)}% (${sign}$${Number(h.pnlUsdt).toFixed(2)})</td>`
|
|
1474
|
+
+ `<td style="padding:6px 8px">${h.exitReason}</td>`
|
|
1475
|
+
+ `<td style="padding:6px 8px;color:var(--text-dim)">${h.closedAt ? h.closedAt.slice(0, 16).replace('T', ' ') : ''}</td>`
|
|
1476
|
+
+ '</tr>';
|
|
1477
|
+
}).join('') + '</table>';
|
|
1478
|
+
} else if (hEl) {
|
|
1479
|
+
hEl.innerHTML = `<div class="empty" data-t="Keine Trades bisher">${t('Keine Trades bisher')}</div>`;
|
|
1480
|
+
}
|
|
1421
1481
|
}
|
|
1422
1482
|
if (a.marketing) {
|
|
1423
1483
|
const m = a.marketing;
|
|
@@ -28,6 +28,25 @@ export interface AggregatedAnalytics {
|
|
|
28
28
|
positions?: number;
|
|
29
29
|
pnl?: number;
|
|
30
30
|
rules?: number;
|
|
31
|
+
history?: Array<{
|
|
32
|
+
symbol: string;
|
|
33
|
+
side: string;
|
|
34
|
+
entryPrice: number;
|
|
35
|
+
exitPrice: number;
|
|
36
|
+
pnlUsdt: number;
|
|
37
|
+
pnlPct: number;
|
|
38
|
+
exitReason: string;
|
|
39
|
+
closedAt: string;
|
|
40
|
+
}>;
|
|
41
|
+
openPositionsList?: Array<{
|
|
42
|
+
symbol: string;
|
|
43
|
+
side: string;
|
|
44
|
+
entryPrice: number;
|
|
45
|
+
currentPrice: number;
|
|
46
|
+
pnlPct: number;
|
|
47
|
+
usdtAmount: number;
|
|
48
|
+
openedAt: string;
|
|
49
|
+
}>;
|
|
31
50
|
};
|
|
32
51
|
marketing?: {
|
|
33
52
|
posts: number;
|
|
@@ -60,11 +60,13 @@ export class EcosystemService {
|
|
|
60
60
|
*/
|
|
61
61
|
async getAggregatedAnalytics() {
|
|
62
62
|
const analytics = {};
|
|
63
|
-
const [brainResult, tradingResult, marketingResult, paperResult] = await Promise.all([
|
|
63
|
+
const [brainResult, tradingResult, marketingResult, paperResult, historyResult, portfolioResult] = await Promise.all([
|
|
64
64
|
this.crossBrain.query('brain', 'analytics.summary'),
|
|
65
65
|
this.crossBrain.query('trading-brain', 'analytics.summary'),
|
|
66
66
|
this.crossBrain.query('marketing-brain', 'analytics.summary'),
|
|
67
67
|
this.crossBrain.query('trading-brain', 'paper.status'),
|
|
68
|
+
this.crossBrain.query('trading-brain', 'paper.history', { limit: 10 }),
|
|
69
|
+
this.crossBrain.query('trading-brain', 'paper.portfolio'),
|
|
68
70
|
]);
|
|
69
71
|
if (brainResult != null) {
|
|
70
72
|
const data = brainResult;
|
|
@@ -80,14 +82,36 @@ export class EcosystemService {
|
|
|
80
82
|
const rules = data.rules;
|
|
81
83
|
const network = data.network;
|
|
82
84
|
const paper = paperResult;
|
|
85
|
+
const historyArr = Array.isArray(historyResult) ? historyResult : [];
|
|
86
|
+
const portfolio = portfolioResult;
|
|
87
|
+
const positionsArr = Array.isArray(portfolio?.positions) ? portfolio.positions : [];
|
|
83
88
|
analytics.trading = {
|
|
84
89
|
trades: typeof trades === 'object' ? trades?.total ?? 0 : Number(trades) || 0,
|
|
85
|
-
winRate: typeof trades === 'object' ? (trades?.recentWinRate ?? 0) / 100 : 0,
|
|
90
|
+
winRate: Number(paper?.winRate) > 0 ? Number(paper?.winRate) / 100 : (typeof trades === 'object' ? (trades?.recentWinRate ?? 0) / 100 : 0),
|
|
86
91
|
signals: network?.synapses ?? 0,
|
|
87
92
|
rules: typeof rules === 'object' ? rules?.total ?? 0 : 0,
|
|
88
93
|
equity: Number(paper?.equity) || 0,
|
|
89
94
|
positions: Number(paper?.openPositions) || 0,
|
|
90
|
-
pnl: Number(paper?.totalPnL) || 0,
|
|
95
|
+
pnl: Number(paper?.totalPnl ?? paper?.totalPnL) || 0,
|
|
96
|
+
history: historyArr.map(h => ({
|
|
97
|
+
symbol: String(h.symbol ?? ''),
|
|
98
|
+
side: String(h.side ?? ''),
|
|
99
|
+
entryPrice: Number(h.entryPrice) || 0,
|
|
100
|
+
exitPrice: Number(h.exitPrice) || 0,
|
|
101
|
+
pnlUsdt: Number(h.pnlUsdt) || 0,
|
|
102
|
+
pnlPct: Number(h.pnlPct) || 0,
|
|
103
|
+
exitReason: String(h.exitReason ?? ''),
|
|
104
|
+
closedAt: String(h.closedAt ?? ''),
|
|
105
|
+
})),
|
|
106
|
+
openPositionsList: positionsArr.map(p => ({
|
|
107
|
+
symbol: String(p.symbol ?? ''),
|
|
108
|
+
side: String(p.side ?? 'long'),
|
|
109
|
+
entryPrice: Number(p.entryPrice) || 0,
|
|
110
|
+
currentPrice: Number(p.currentPrice) || 0,
|
|
111
|
+
pnlPct: Number(p.pnlPct) || 0,
|
|
112
|
+
usdtAmount: Number(p.usdtAmount) || 0,
|
|
113
|
+
openedAt: String(p.openedAt ?? ''),
|
|
114
|
+
})),
|
|
91
115
|
};
|
|
92
116
|
}
|
|
93
117
|
if (marketingResult != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ecosystem/service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAwB/C,MAAM,OAAO,gBAAgB;IAIjB;IACA;IAJF,MAAM,GAAG,SAAS,EAAE,CAAC;IAE7B,YACU,UAAgC,EAChC,UAA4B;QAD5B,eAAU,GAAV,UAAU,CAAsB;QAChC,eAAU,GAAV,UAAU,CAAkB;IACnC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAwC,CAAC;YACxD,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI,EAAE,OAA6B;gBAC5C,MAAM,EAAE,IAAI,EAAE,MAA4B;gBAC1C,GAAG,EAAE,IAAI,EAAE,GAAyB;gBACpC,OAAO,EAAE,IAAI,EAAE,OAA6B;aAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAChD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,WAAoB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAc;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ecosystem/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED