tachibot-mcp 2.0.2
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/.env.example +260 -0
- package/CHANGELOG.md +54 -0
- package/CODE_OF_CONDUCT.md +56 -0
- package/CONTRIBUTING.md +54 -0
- package/Dockerfile +36 -0
- package/LICENSE +644 -0
- package/README.md +201 -0
- package/SECURITY.md +95 -0
- package/dist/personality/komaai-expressions.js +12 -0
- package/dist/profiles/balanced.json +33 -0
- package/dist/profiles/code_focus.json +33 -0
- package/dist/profiles/full.json +33 -0
- package/dist/profiles/minimal.json +33 -0
- package/dist/profiles/research_power.json +33 -0
- package/dist/scripts/build-profiles.js +46 -0
- package/dist/src/application/services/focus/FocusModeRegistry.js +46 -0
- package/dist/src/application/services/focus/FocusTool.service.js +109 -0
- package/dist/src/application/services/focus/ModeRegistry.js +46 -0
- package/dist/src/application/services/focus/modes/focus-deep.mode.js +27 -0
- package/dist/src/application/services/focus/modes/status.mode.js +50 -0
- package/dist/src/application/services/focus/modes/tachibot-status.mode.js +50 -0
- package/dist/src/collaborative-orchestrator.js +391 -0
- package/dist/src/config/model-constants.js +188 -0
- package/dist/src/config/model-defaults.js +57 -0
- package/dist/src/config/model-preferences.js +382 -0
- package/dist/src/config/timeout-config.js +130 -0
- package/dist/src/config.js +173 -0
- package/dist/src/domain/interfaces/IFocusMode.js +5 -0
- package/dist/src/domain/interfaces/IProvider.js +6 -0
- package/dist/src/domain/interfaces/ITool.js +5 -0
- package/dist/src/focus-deep.js +245 -0
- package/dist/src/infrastructure/ascii/art/robots.ascii.js +16 -0
- package/dist/src/mcp-client.js +90 -0
- package/dist/src/memory/index.js +17 -0
- package/dist/src/memory/memory-config.js +135 -0
- package/dist/src/memory/memory-interface.js +174 -0
- package/dist/src/memory/memory-manager.js +383 -0
- package/dist/src/memory/providers/devlog-provider.js +385 -0
- package/dist/src/memory/providers/hybrid-provider.js +399 -0
- package/dist/src/memory/providers/local-provider.js +388 -0
- package/dist/src/memory/providers/mem0-provider.js +337 -0
- package/dist/src/modes/architect.js +477 -0
- package/dist/src/modes/auditor.js +362 -0
- package/dist/src/modes/challenger.js +841 -0
- package/dist/src/modes/code-reviewer.js +382 -0
- package/dist/src/modes/commit-guardian.js +424 -0
- package/dist/src/modes/documentation-writer.js +572 -0
- package/dist/src/modes/scout.js +587 -0
- package/dist/src/modes/shared/helpers/challenger-helpers.js +454 -0
- package/dist/src/modes/shared/helpers/index.js +17 -0
- package/dist/src/modes/shared/helpers/scout-helpers.js +270 -0
- package/dist/src/modes/shared/helpers/verifier-helpers.js +332 -0
- package/dist/src/modes/test-architect.js +767 -0
- package/dist/src/modes/verifier.js +378 -0
- package/dist/src/monitoring/performance-monitor.js +435 -0
- package/dist/src/optimization/batch-executor.js +121 -0
- package/dist/src/optimization/context-pruner.js +196 -0
- package/dist/src/optimization/cost-monitor.js +338 -0
- package/dist/src/optimization/index.js +65 -0
- package/dist/src/optimization/model-router.js +264 -0
- package/dist/src/optimization/result-cache.js +114 -0
- package/dist/src/optimization/token-optimizer.js +257 -0
- package/dist/src/optimization/token-tracker.js +118 -0
- package/dist/src/orchestrator-instructions.js +128 -0
- package/dist/src/orchestrator-lite.js +139 -0
- package/dist/src/orchestrator.js +191 -0
- package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionEngine.js +1 -0
- package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionStrategy.js +5 -0
- package/dist/src/orchestrators/collaborative/interfaces/IVisualizationRenderer.js +1 -0
- package/dist/src/orchestrators/collaborative/registries/ModelProviderRegistry.js +95 -0
- package/dist/src/orchestrators/collaborative/registries/ToolAdapterRegistry.js +64 -0
- package/dist/src/orchestrators/collaborative/services/tool-execution/ToolExecutionService.js +502 -0
- package/dist/src/orchestrators/collaborative/services/visualization/VisualizationService.js +206 -0
- package/dist/src/orchestrators/collaborative/types/session-types.js +5 -0
- package/dist/src/profiles/balanced.js +37 -0
- package/dist/src/profiles/code_focus.js +37 -0
- package/dist/src/profiles/debug_intensive.js +59 -0
- package/dist/src/profiles/full.js +37 -0
- package/dist/src/profiles/minimal.js +37 -0
- package/dist/src/profiles/research_code.js +59 -0
- package/dist/src/profiles/research_power.js +37 -0
- package/dist/src/profiles/types.js +5 -0
- package/dist/src/profiles/workflow_builder.js +53 -0
- package/dist/src/prompt-engineer-lite.js +78 -0
- package/dist/src/prompt-engineer.js +399 -0
- package/dist/src/reasoning-chain.js +508 -0
- package/dist/src/sequential-thinking.js +291 -0
- package/dist/src/server-diagnostic.js +74 -0
- package/dist/src/server-raw.js +158 -0
- package/dist/src/server-simple.js +58 -0
- package/dist/src/server.js +514 -0
- package/dist/src/session/session-logger.js +617 -0
- package/dist/src/session/session-manager.js +571 -0
- package/dist/src/session/session-tools.js +400 -0
- package/dist/src/tools/advanced-modes.js +200 -0
- package/dist/src/tools/claude-integration.js +356 -0
- package/dist/src/tools/consolidated/ai-router.js +174 -0
- package/dist/src/tools/consolidated/ai-tool.js +48 -0
- package/dist/src/tools/consolidated/brainstorm-tool.js +87 -0
- package/dist/src/tools/consolidated/environment-detector.js +80 -0
- package/dist/src/tools/consolidated/index.js +50 -0
- package/dist/src/tools/consolidated/search-tool.js +110 -0
- package/dist/src/tools/consolidated/workflow-tool.js +238 -0
- package/dist/src/tools/gemini-tools.js +329 -0
- package/dist/src/tools/grok-enhanced.js +376 -0
- package/dist/src/tools/grok-tools.js +299 -0
- package/dist/src/tools/lmstudio-tools.js +223 -0
- package/dist/src/tools/openai-tools.js +498 -0
- package/dist/src/tools/openrouter-tools.js +317 -0
- package/dist/src/tools/optimized-wrapper.js +204 -0
- package/dist/src/tools/perplexity-tools.js +294 -0
- package/dist/src/tools/pingpong-tool.js +343 -0
- package/dist/src/tools/qwen-wrapper.js +74 -0
- package/dist/src/tools/tool-router.js +444 -0
- package/dist/src/tools/unified-ai-provider.js +260 -0
- package/dist/src/tools/workflow-runner.js +425 -0
- package/dist/src/tools/workflow-validator-tool.js +107 -0
- package/dist/src/types.js +23 -0
- package/dist/src/utils/input-validator.js +130 -0
- package/dist/src/utils/model-router.js +91 -0
- package/dist/src/utils/progress-stream.js +255 -0
- package/dist/src/utils/provider-router.js +88 -0
- package/dist/src/utils/smart-api-client.js +146 -0
- package/dist/src/utils/table-builder.js +218 -0
- package/dist/src/utils/timestamp-formatter.js +134 -0
- package/dist/src/utils/tool-compressor.js +257 -0
- package/dist/src/utils/tool-config.js +201 -0
- package/dist/src/validators/dependency-graph-validator.js +147 -0
- package/dist/src/validators/interpolation-validator.js +222 -0
- package/dist/src/validators/output-usage-validator.js +151 -0
- package/dist/src/validators/syntax-validator.js +102 -0
- package/dist/src/validators/tool-registry-validator.js +123 -0
- package/dist/src/validators/tool-types.js +97 -0
- package/dist/src/validators/types.js +8 -0
- package/dist/src/validators/workflow-validator.js +134 -0
- package/dist/src/visualizer-lite.js +42 -0
- package/dist/src/visualizer.js +179 -0
- package/dist/src/workflows/circuit-breaker.js +199 -0
- package/dist/src/workflows/custom-workflows.js +451 -0
- package/dist/src/workflows/engine/AutoSynthesizer.js +97 -0
- package/dist/src/workflows/engine/StepParameterResolver.js +74 -0
- package/dist/src/workflows/engine/VariableInterpolator.js +123 -0
- package/dist/src/workflows/engine/WorkflowDiscovery.js +125 -0
- package/dist/src/workflows/engine/WorkflowExecutionEngine.js +485 -0
- package/dist/src/workflows/engine/WorkflowExecutor.js +113 -0
- package/dist/src/workflows/engine/WorkflowFileManager.js +244 -0
- package/dist/src/workflows/engine/WorkflowHelpers.js +114 -0
- package/dist/src/workflows/engine/WorkflowOutputFormatter.js +83 -0
- package/dist/src/workflows/engine/events/WorkflowEventBus.js +132 -0
- package/dist/src/workflows/engine/events/interfaces/IEventBus.js +5 -0
- package/dist/src/workflows/engine/handlers/ErrorRecoveryHandler.js +162 -0
- package/dist/src/workflows/engine/handlers/PromptEnhancementHandler.js +115 -0
- package/dist/src/workflows/engine/handlers/SessionPersistenceHandler.js +167 -0
- package/dist/src/workflows/engine/handlers/StepExecutionHandler.js +231 -0
- package/dist/src/workflows/engine/handlers/ToolInvocationHandler.js +46 -0
- package/dist/src/workflows/engine/interfaces/IAutoSynthesizer.js +5 -0
- package/dist/src/workflows/engine/interfaces/IStepParameterResolver.js +5 -0
- package/dist/src/workflows/engine/interfaces/IVariableInterpolator.js +5 -0
- package/dist/src/workflows/engine/interfaces/IWorkflowDiscovery.js +4 -0
- package/dist/src/workflows/engine/interfaces/IWorkflowFileManager.js +5 -0
- package/dist/src/workflows/engine/interfaces/IWorkflowOutputFormatter.js +5 -0
- package/dist/src/workflows/engine/state/WorkflowStateMachine.js +194 -0
- package/dist/src/workflows/engine/state/interfaces/IStateMachine.js +17 -0
- package/dist/src/workflows/fallback-strategies.js +373 -0
- package/dist/src/workflows/message-queue.js +455 -0
- package/dist/src/workflows/model-router.js +189 -0
- package/dist/src/workflows/orchestrator-examples.js +174 -0
- package/dist/src/workflows/orchestrator-integration.js +200 -0
- package/dist/src/workflows/self-healing.js +524 -0
- package/dist/src/workflows/tool-mapper.js +407 -0
- package/dist/src/workflows/tool-orchestrator.js +796 -0
- package/dist/src/workflows/workflow-engine.js +573 -0
- package/dist/src/workflows/workflow-parser.js +283 -0
- package/dist/src/workflows/workflow-types.js +95 -0
- package/dist/src/workflows.js +568 -0
- package/dist/test-workflow-file-output.js +93 -0
- package/docs/API_KEYS.md +570 -0
- package/docs/CLAUDE_CODE_SETUP.md +181 -0
- package/docs/CLAUDE_DESKTOP_MANUAL.md +127 -0
- package/docs/CONFIGURATION.md +745 -0
- package/docs/FOCUS_MODES.md +240 -0
- package/docs/INSTALLATION_BOTH.md +145 -0
- package/docs/TERMS.md +352 -0
- package/docs/TOOLS_REFERENCE.md +1622 -0
- package/docs/TOOL_PARAMETERS.md +496 -0
- package/docs/TOOL_PROFILES.md +236 -0
- package/docs/WORKFLOWS.md +987 -0
- package/docs/WORKFLOW_OUTPUT.md +198 -0
- package/docs/WORKFLOW_PROGRESS_TRACKING.md +305 -0
- package/docs/workflows/design-brainstorm.md +335 -0
- package/package.json +97 -0
- package/profiles/balanced.json +37 -0
- package/profiles/code_focus.json +37 -0
- package/profiles/debug_intensive.json +34 -0
- package/profiles/full.json +37 -0
- package/profiles/minimal.json +37 -0
- package/profiles/research_power.json +37 -0
- package/profiles/workflow_builder.json +37 -0
- package/smithery.yaml +66 -0
- package/start.sh +8 -0
- package/tools.config.json +81 -0
- package/tsconfig.json +18 -0
- package/workflows/accessibility-code-audit.yaml +92 -0
- package/workflows/code-architecture-review.yaml +202 -0
- package/workflows/code-review.yaml +142 -0
- package/workflows/core/iterative-problem-solver.yaml +283 -0
- package/workflows/creative-brainstorm-yaml.yaml +215 -0
- package/workflows/pingpong.yaml +141 -0
- package/workflows/system/README.md +412 -0
- package/workflows/system/challenger.yaml +175 -0
- package/workflows/system/scout.yaml +164 -0
- package/workflows/system/verifier.yaml +133 -0
- package/workflows/ultra-creative-brainstorm.yaml +318 -0
- package/workflows/ux-research-flow.yaml +92 -0
package/.env.example
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# TachiBot MCP v2.0 - Configuration
|
|
2
|
+
# Copy this file to .env and add your API keys
|
|
3
|
+
|
|
4
|
+
# ===================================
|
|
5
|
+
# Profile Selection
|
|
6
|
+
# ===================================
|
|
7
|
+
# Choose your tool profile (controls which tools are loaded)
|
|
8
|
+
# Options: minimal, research_power, code_focus, balanced, full
|
|
9
|
+
# Default: balanced (if not specified)
|
|
10
|
+
# See TOOL_PROFILES.md for details
|
|
11
|
+
TACHIBOT_PROFILE=balanced
|
|
12
|
+
|
|
13
|
+
# ===================================
|
|
14
|
+
# Required API Keys
|
|
15
|
+
# ===================================
|
|
16
|
+
# Get your API keys from:
|
|
17
|
+
# - Perplexity: https://www.perplexity.ai/settings/api
|
|
18
|
+
# - Grok/xAI: https://console.x.ai/
|
|
19
|
+
# - OpenAI: https://platform.openai.com/api-keys
|
|
20
|
+
# - Google Gemini: https://aistudio.google.com/apikey
|
|
21
|
+
|
|
22
|
+
# Perplexity API (for web search, research, reasoning)
|
|
23
|
+
PERPLEXITY_API_KEY=
|
|
24
|
+
|
|
25
|
+
# Grok API (for code analysis, debugging, architecture)
|
|
26
|
+
GROK_API_KEY=
|
|
27
|
+
|
|
28
|
+
# OpenAI API (for GPT-5, analysis, comparison)
|
|
29
|
+
OPENAI_API_KEY=
|
|
30
|
+
|
|
31
|
+
# ===================================
|
|
32
|
+
# Optional API Keys
|
|
33
|
+
# ===================================
|
|
34
|
+
# Google Gemini API (for brainstorming, code/text analysis)
|
|
35
|
+
GOOGLE_API_KEY=
|
|
36
|
+
|
|
37
|
+
# OpenRouter API (for Qwen3 Coder and other models)
|
|
38
|
+
OPENROUTER_API_KEY=
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# Anthropic API (optional - not currently used in Claude Code mode)
|
|
42
|
+
# ANTHROPIC_API_KEY=
|
|
43
|
+
|
|
44
|
+
# Qwen API (for Qwen Max model)
|
|
45
|
+
QWEN_API_KEY=
|
|
46
|
+
|
|
47
|
+
# ===================================
|
|
48
|
+
# Memory System (Optional)
|
|
49
|
+
# ===================================
|
|
50
|
+
# Supabase configuration for persistent memory storage
|
|
51
|
+
SUPABASE_URL=
|
|
52
|
+
SUPABASE_SERVICE_KEY=
|
|
53
|
+
|
|
54
|
+
# ===================================
|
|
55
|
+
# Performance Settings
|
|
56
|
+
# ===================================
|
|
57
|
+
# Note: TachiBot does not track API costs internally
|
|
58
|
+
# Monitor your usage through each provider's dashboard
|
|
59
|
+
|
|
60
|
+
# ===================================
|
|
61
|
+
# Timeout Configuration
|
|
62
|
+
# ===================================
|
|
63
|
+
# IMPORTANT: Adjust these if you experience timeout errors
|
|
64
|
+
# Multi-model operations (verifier, challenger) can take 60-180s
|
|
65
|
+
# Complex workflows can take 5-10 minutes
|
|
66
|
+
|
|
67
|
+
# Global default timeout for all operations (milliseconds)
|
|
68
|
+
# Default: 90000 (90 seconds)
|
|
69
|
+
TACHI_DEFAULT_TIMEOUT=90000
|
|
70
|
+
|
|
71
|
+
# Per-tool timeout overrides (milliseconds)
|
|
72
|
+
# Verifier: Multi-model parallel verification (default: 120000 = 2 min)
|
|
73
|
+
TACHI_VERIFIER_TIMEOUT=120000
|
|
74
|
+
|
|
75
|
+
# Challenger: Critical analysis with fact-checking (default: 180000 = 3 min)
|
|
76
|
+
TACHI_CHALLENGER_TIMEOUT=180000
|
|
77
|
+
|
|
78
|
+
# Scout: Information gathering with live search (default: 180000 = 3 min)
|
|
79
|
+
TACHI_SCOUT_TIMEOUT=180000
|
|
80
|
+
|
|
81
|
+
# Focus: Deep reasoning and collaborative sessions (default: 300000 = 5 min)
|
|
82
|
+
TACHI_FOCUS_TIMEOUT=300000
|
|
83
|
+
|
|
84
|
+
# Workflow: Complex multi-step workflows (default: 300000 = 5 min)
|
|
85
|
+
TACHI_WORKFLOW_TIMEOUT=300000
|
|
86
|
+
|
|
87
|
+
# PingPong: Multi-round conversations (default: 600000 = 10 min)
|
|
88
|
+
TACHI_PINGPONG_TIMEOUT=600000
|
|
89
|
+
|
|
90
|
+
# Individual API call timeout (default: 60000 = 1 min)
|
|
91
|
+
# This is PER API call, not total operation time
|
|
92
|
+
TACHI_API_TIMEOUT=60000
|
|
93
|
+
|
|
94
|
+
# Show progress for operations exceeding this duration (default: 30000 = 30s)
|
|
95
|
+
TACHI_PROGRESS_THRESHOLD=30000
|
|
96
|
+
|
|
97
|
+
# ===================================
|
|
98
|
+
# Workflow Configuration
|
|
99
|
+
# ===================================
|
|
100
|
+
# Max ping-pong brainstorm rounds (default: 24)
|
|
101
|
+
# Higher values = deeper reasoning but more cost
|
|
102
|
+
MAX_PINGPONG_ROUNDS=24
|
|
103
|
+
|
|
104
|
+
# Max reasoning rounds for collaborative sessions (1-10)
|
|
105
|
+
MAX_REASONING_ROUNDS=5
|
|
106
|
+
|
|
107
|
+
# ===================================
|
|
108
|
+
# Search & Research Configuration
|
|
109
|
+
# ===================================
|
|
110
|
+
# Default search provider for scout/research (perplexity, grok, both)
|
|
111
|
+
DEFAULT_SEARCH_PROVIDER=perplexity
|
|
112
|
+
|
|
113
|
+
# Enable Grok-4 live search in scout mode (costs extra per 1k sources)
|
|
114
|
+
ENABLE_GROK_LIVE_SEARCH=false
|
|
115
|
+
|
|
116
|
+
# Max sources for Grok live search (default: 100, lower = cheaper)
|
|
117
|
+
GROK_SEARCH_SOURCES_LIMIT=100
|
|
118
|
+
|
|
119
|
+
# ===================================
|
|
120
|
+
# Optional Settings
|
|
121
|
+
# ===================================
|
|
122
|
+
# Enable visual ASCII art in output
|
|
123
|
+
ENABLE_VISUALS=true
|
|
124
|
+
|
|
125
|
+
# Enable debug logging
|
|
126
|
+
DEBUG=false
|
|
127
|
+
|
|
128
|
+
# Default technical domain for brainstorming
|
|
129
|
+
# Options: architecture, algorithms, debugging, security,
|
|
130
|
+
# performance, api_design, database, frontend,
|
|
131
|
+
# backend, devops, testing
|
|
132
|
+
DEFAULT_DOMAIN=
|
|
133
|
+
|
|
134
|
+
# ============================================================================
|
|
135
|
+
# OUTPUT DIRECTORY CONFIGURATION
|
|
136
|
+
# ============================================================================
|
|
137
|
+
# All workflow and session outputs go to workflow-output/ by default
|
|
138
|
+
# Override these to customize output locations
|
|
139
|
+
|
|
140
|
+
# Base directory for all workflow outputs (workflows/*.yaml execution results)
|
|
141
|
+
# Default: ./workflow-output
|
|
142
|
+
# WORKFLOW_OUTPUT_DIR=./workflow-output
|
|
143
|
+
|
|
144
|
+
# Directory for session logs (focus/pingpong tool outputs)
|
|
145
|
+
# Default: ./workflow-output/sessions
|
|
146
|
+
# SESSION_OUTPUT_DIR=./workflow-output/sessions
|
|
147
|
+
|
|
148
|
+
# ============================================================================
|
|
149
|
+
# SESSION CONFIGURATION
|
|
150
|
+
# ============================================================================
|
|
151
|
+
# Controls session logging behavior for focus and pingpong tools
|
|
152
|
+
|
|
153
|
+
# Enable session logging (saves markdown/json/html logs)
|
|
154
|
+
# Default: true
|
|
155
|
+
# ENABLE_SESSION_LOGGING=true
|
|
156
|
+
|
|
157
|
+
# Automatically save sessions after completion
|
|
158
|
+
# Default: false
|
|
159
|
+
# SESSION_AUTO_SAVE=false
|
|
160
|
+
|
|
161
|
+
# Show verbose output during session execution
|
|
162
|
+
# Default: false
|
|
163
|
+
# SESSION_DEFAULT_VERBOSE=false
|
|
164
|
+
|
|
165
|
+
# Output format for session logs
|
|
166
|
+
# Options: markdown, json, html
|
|
167
|
+
# Default: markdown
|
|
168
|
+
# SESSION_DEFAULT_FORMAT=markdown
|
|
169
|
+
|
|
170
|
+
# Include metadata (tokens, timing, models) in session logs
|
|
171
|
+
# Default: true
|
|
172
|
+
# SESSION_INCLUDE_METADATA=true
|
|
173
|
+
|
|
174
|
+
# Maximum number of session history entries to keep
|
|
175
|
+
# Default: 100
|
|
176
|
+
# SESSION_MAX_HISTORY=100
|
|
177
|
+
|
|
178
|
+
# ===================================
|
|
179
|
+
# Local Model Configuration (Optional)
|
|
180
|
+
# ===================================
|
|
181
|
+
# Configure local model endpoints if you run your own models
|
|
182
|
+
|
|
183
|
+
# LMStudio endpoint
|
|
184
|
+
LMSTUDIO_BASE_URL=
|
|
185
|
+
|
|
186
|
+
# Ollama endpoint
|
|
187
|
+
OLLAMA_BASE_URL=
|
|
188
|
+
|
|
189
|
+
# ===================================
|
|
190
|
+
# Advanced: Model-Specific Overrides
|
|
191
|
+
# ===================================
|
|
192
|
+
# Only change these if you need fine-grained control
|
|
193
|
+
|
|
194
|
+
# Enable GPT-5 models (requires OpenAI API key)
|
|
195
|
+
ENABLE_GPT5=false
|
|
196
|
+
|
|
197
|
+
# Enable competitive Qwen mode (enables multi-model parallel reasoning)
|
|
198
|
+
ENABLE_QWEN_COMPETITIVE=false
|
|
199
|
+
|
|
200
|
+
# Enable expensive models (currently only grok_heavy - 256k context)
|
|
201
|
+
ENABLE_EXPENSIVE_MODELS=false
|
|
202
|
+
|
|
203
|
+
# Grok Configuration
|
|
204
|
+
ENABLE_GROK_HEAVY=false
|
|
205
|
+
GROK_MAX_TOKENS=100000
|
|
206
|
+
GROK_COST_LIMIT=1.0
|
|
207
|
+
|
|
208
|
+
# Model priority (lower = higher priority)
|
|
209
|
+
GROK_PRIORITY=2
|
|
210
|
+
|
|
211
|
+
# ===================================
|
|
212
|
+
# Advanced: Tool-Specific Overrides
|
|
213
|
+
# ===================================
|
|
214
|
+
# Force enable/disable specific tools regardless of profile
|
|
215
|
+
# Example: ENABLE_TOOL_PINGPONG=true
|
|
216
|
+
# Example: DISABLE_TOOL_GROK_SEARCH=false
|
|
217
|
+
|
|
218
|
+
# ===================================
|
|
219
|
+
# Model Selection (Multi-Model Tools)
|
|
220
|
+
# ===================================
|
|
221
|
+
# Configure which models are used for Scout, Challenger, and Verifier
|
|
222
|
+
# These tools run multiple models in parallel for consensus/verification
|
|
223
|
+
# Comma-separated list of model names (no spaces)
|
|
224
|
+
|
|
225
|
+
# Scout model configuration
|
|
226
|
+
# quick_scout: Fast checks, cost-efficient (default: qwen/qwen3-coder-plus,gemini-2.5-flash,gpt-5-mini)
|
|
227
|
+
SCOUT_QUICK_MODELS=qwen/qwen3-coder-plus,gemini-2.5-flash,gpt-5-mini
|
|
228
|
+
|
|
229
|
+
# research_scout: Thorough research (default: qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini)
|
|
230
|
+
SCOUT_RESEARCH_MODELS=qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini
|
|
231
|
+
|
|
232
|
+
# Challenger model configuration
|
|
233
|
+
# Used for critical analysis and counter-arguments (default: qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini)
|
|
234
|
+
CHALLENGER_MODELS=qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini
|
|
235
|
+
|
|
236
|
+
# Verifier model configuration
|
|
237
|
+
# quick_verify: Fast verification (default: qwen/qwen3-coder-plus,gemini-2.5-flash,gpt-5-mini)
|
|
238
|
+
VERIFIER_QUICK_MODELS=qwen/qwen3-coder-plus,gemini-2.5-flash,gpt-5-mini
|
|
239
|
+
|
|
240
|
+
# standard modes (fact_check, code_verify, security_verify): Balance quality & cost (default: qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini)
|
|
241
|
+
VERIFIER_STANDARD_MODELS=qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini
|
|
242
|
+
|
|
243
|
+
# deep_verify: Maximum quality for critical verification (default: qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5)
|
|
244
|
+
VERIFIER_DEEP_MODELS=qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5
|
|
245
|
+
|
|
246
|
+
# Default models for fallback (default: qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini)
|
|
247
|
+
DEFAULT_MODELS=qwen/qwen3-coder-plus,gemini-2.5-pro,gpt-5-mini
|
|
248
|
+
|
|
249
|
+
# ===================================
|
|
250
|
+
# Model Selection Tips
|
|
251
|
+
# ===================================
|
|
252
|
+
# gpt-5-mini vs gpt-5:
|
|
253
|
+
# - gpt-5-mini: Faster, good for most tasks
|
|
254
|
+
# - gpt-5: Full quality, best for critical decisions
|
|
255
|
+
#
|
|
256
|
+
# gemini-2.5-flash vs gemini-2.5-pro:
|
|
257
|
+
# - flash: Faster, good for quick checks
|
|
258
|
+
# - pro: Better reasoning, accuracy, recommended for verification tasks
|
|
259
|
+
#
|
|
260
|
+
# Recommendation: Use defaults (gpt-5-mini + flash) for speed and lower costs.
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to TachiBot MCP will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [2.0.0] - 2025-10-15
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Complete rewrite with 12 essential tools (reduced from 80+)
|
|
12
|
+
- Multi-model orchestration with GPT-5, Gemini, Grok, and more
|
|
13
|
+
- Tool profiles system (minimal, research_power, code_focus, balanced, full)
|
|
14
|
+
- Perplexity integration for web search and reasoning
|
|
15
|
+
- Grok-4 integration with live search capabilities
|
|
16
|
+
- Workflow system for multi-step tool sequences
|
|
17
|
+
- Challenger tool for critical thinking and verification
|
|
18
|
+
- Scout tool for hybrid intelligence gathering
|
|
19
|
+
- Verifier tool for multi-model consensus
|
|
20
|
+
- PingPong collaborative brainstorming
|
|
21
|
+
- Cost optimization and tracking features
|
|
22
|
+
- Session management with logging and export
|
|
23
|
+
- Comprehensive .env.example with all configuration options
|
|
24
|
+
- GitHub Actions workflows for CI/CD
|
|
25
|
+
- Community health files (CONTRIBUTING, CODE_OF_CONDUCT, SECURITY)
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- Simplified from 80+ tools to 12 essential ones
|
|
29
|
+
- Improved token efficiency (2.6k tokens vs 30k+)
|
|
30
|
+
- Better environment variable handling
|
|
31
|
+
- Deferred API key loading for better performance
|
|
32
|
+
- Modular architecture for easier maintenance
|
|
33
|
+
- Cleaned up workflows to use only existing tools
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
- Environment variable loading in MCP context
|
|
37
|
+
- API key configuration issues
|
|
38
|
+
- Build errors with missing personality module
|
|
39
|
+
|
|
40
|
+
### Security
|
|
41
|
+
- No hardcoded API keys in source code
|
|
42
|
+
- All sensitive data in environment variables
|
|
43
|
+
- Security policy and responsible disclosure process
|
|
44
|
+
|
|
45
|
+
## [1.0.0] - 2024-12-01
|
|
46
|
+
|
|
47
|
+
### Initial Release
|
|
48
|
+
- Original version with 80+ tools
|
|
49
|
+
- Basic multi-model support
|
|
50
|
+
- Initial MCP server implementation
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
Note: This is a side project maintained in spare time. Updates may be irregular.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity
|
|
10
|
+
and orientation.
|
|
11
|
+
|
|
12
|
+
## Our Standards
|
|
13
|
+
|
|
14
|
+
Examples of behavior that contributes to a positive environment:
|
|
15
|
+
|
|
16
|
+
* Using welcoming and inclusive language
|
|
17
|
+
* Being respectful of differing viewpoints and experiences
|
|
18
|
+
* Gracefully accepting constructive criticism
|
|
19
|
+
* Focusing on what is best for the community
|
|
20
|
+
* Showing empathy towards other community members
|
|
21
|
+
|
|
22
|
+
Examples of unacceptable behavior:
|
|
23
|
+
|
|
24
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
|
25
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
26
|
+
* Public or private harassment
|
|
27
|
+
* Publishing others' private information without explicit permission
|
|
28
|
+
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
29
|
+
|
|
30
|
+
## Enforcement Responsibilities
|
|
31
|
+
|
|
32
|
+
Community leaders are responsible for clarifying and enforcing our standards of
|
|
33
|
+
acceptable behavior and will take appropriate and fair corrective action in
|
|
34
|
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
35
|
+
or harmful.
|
|
36
|
+
|
|
37
|
+
## Scope
|
|
38
|
+
|
|
39
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
|
40
|
+
an individual is officially representing the community in public spaces.
|
|
41
|
+
|
|
42
|
+
## Enforcement
|
|
43
|
+
|
|
44
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
45
|
+
reported to the community leaders responsible for enforcement at the repository
|
|
46
|
+
issues section.
|
|
47
|
+
|
|
48
|
+
All complaints will be reviewed and investigated promptly and fairly.
|
|
49
|
+
|
|
50
|
+
## Attribution
|
|
51
|
+
|
|
52
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
53
|
+
version 2.0, available at
|
|
54
|
+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
55
|
+
|
|
56
|
+
[homepage]: https://www.contributor-covenant.org
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Contributing to TachiBot MCP
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing!
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
1. Fork the repository
|
|
8
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
9
|
+
3. Make your changes
|
|
10
|
+
4. Run tests (`npm test`)
|
|
11
|
+
5. Build (`npm run build`)
|
|
12
|
+
6. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
13
|
+
7. Push to your fork (`git push origin feature/amazing-feature`)
|
|
14
|
+
8. Open a Pull Request
|
|
15
|
+
|
|
16
|
+
## Development Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
git clone https://github.com/pavveu/tachibot-mcp.git
|
|
20
|
+
cd tachibot-mcp
|
|
21
|
+
npm install
|
|
22
|
+
cp .env.example .env # Add your API keys
|
|
23
|
+
npm run build
|
|
24
|
+
npm test
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Guidelines
|
|
28
|
+
|
|
29
|
+
- Write clear commit messages
|
|
30
|
+
- Add tests for new features
|
|
31
|
+
- Update documentation
|
|
32
|
+
- Follow existing code style
|
|
33
|
+
- One feature per PR
|
|
34
|
+
|
|
35
|
+
## Reporting Issues
|
|
36
|
+
|
|
37
|
+
Use the issue templates and include:
|
|
38
|
+
- TachiBot version
|
|
39
|
+
- Node version
|
|
40
|
+
- Operating system
|
|
41
|
+
- Steps to reproduce
|
|
42
|
+
- Error messages
|
|
43
|
+
|
|
44
|
+
## Questions?
|
|
45
|
+
|
|
46
|
+
- Email: `tachibotmcp [at] gmail [dot] com`
|
|
47
|
+
- Open a [Discussion](https://github.com/pavveu/tachibot-mcp/discussions)
|
|
48
|
+
- Create an issue
|
|
49
|
+
|
|
50
|
+
## License
|
|
51
|
+
|
|
52
|
+
By submitting code to this project, you agree that your contributions will be licensed under the AGPL-3.0 license and you grant Pawel Pawlowski the right to relicense your contributions under alternative licenses (including commercial licenses).
|
|
53
|
+
|
|
54
|
+
See [CLA.md](./CLA.md) for full terms.
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
FROM node:18-alpine AS builder
|
|
2
|
+
WORKDIR /app
|
|
3
|
+
|
|
4
|
+
# Copy package files
|
|
5
|
+
COPY package*.json tsconfig.json ./
|
|
6
|
+
|
|
7
|
+
# Install dependencies with caching
|
|
8
|
+
RUN --mount=type=cache,target=/root/.npm npm install
|
|
9
|
+
|
|
10
|
+
# Copy source code
|
|
11
|
+
COPY . .
|
|
12
|
+
|
|
13
|
+
# Build the application
|
|
14
|
+
RUN npm run build
|
|
15
|
+
|
|
16
|
+
FROM node:18-alpine AS release
|
|
17
|
+
WORKDIR /app
|
|
18
|
+
|
|
19
|
+
# Copy only the necessary files from builder
|
|
20
|
+
COPY --from=builder /app/dist /app/dist
|
|
21
|
+
COPY --from=builder /app/package*.json ./
|
|
22
|
+
|
|
23
|
+
# Set production environment
|
|
24
|
+
ENV NODE_ENV=production
|
|
25
|
+
|
|
26
|
+
# Install only production dependencies
|
|
27
|
+
RUN npm ci --ignore-scripts --omit=dev
|
|
28
|
+
|
|
29
|
+
# Set executable permissions
|
|
30
|
+
RUN chmod +x dist/server.js
|
|
31
|
+
|
|
32
|
+
# Set the user to non-root
|
|
33
|
+
USER node
|
|
34
|
+
|
|
35
|
+
# Use ENTRYPOINT instead of CMD for better compatibility
|
|
36
|
+
ENTRYPOINT ["node", "dist/server.js"]
|