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.
Files changed (214) hide show
  1. package/.env.example +260 -0
  2. package/CHANGELOG.md +54 -0
  3. package/CODE_OF_CONDUCT.md +56 -0
  4. package/CONTRIBUTING.md +54 -0
  5. package/Dockerfile +36 -0
  6. package/LICENSE +644 -0
  7. package/README.md +201 -0
  8. package/SECURITY.md +95 -0
  9. package/dist/personality/komaai-expressions.js +12 -0
  10. package/dist/profiles/balanced.json +33 -0
  11. package/dist/profiles/code_focus.json +33 -0
  12. package/dist/profiles/full.json +33 -0
  13. package/dist/profiles/minimal.json +33 -0
  14. package/dist/profiles/research_power.json +33 -0
  15. package/dist/scripts/build-profiles.js +46 -0
  16. package/dist/src/application/services/focus/FocusModeRegistry.js +46 -0
  17. package/dist/src/application/services/focus/FocusTool.service.js +109 -0
  18. package/dist/src/application/services/focus/ModeRegistry.js +46 -0
  19. package/dist/src/application/services/focus/modes/focus-deep.mode.js +27 -0
  20. package/dist/src/application/services/focus/modes/status.mode.js +50 -0
  21. package/dist/src/application/services/focus/modes/tachibot-status.mode.js +50 -0
  22. package/dist/src/collaborative-orchestrator.js +391 -0
  23. package/dist/src/config/model-constants.js +188 -0
  24. package/dist/src/config/model-defaults.js +57 -0
  25. package/dist/src/config/model-preferences.js +382 -0
  26. package/dist/src/config/timeout-config.js +130 -0
  27. package/dist/src/config.js +173 -0
  28. package/dist/src/domain/interfaces/IFocusMode.js +5 -0
  29. package/dist/src/domain/interfaces/IProvider.js +6 -0
  30. package/dist/src/domain/interfaces/ITool.js +5 -0
  31. package/dist/src/focus-deep.js +245 -0
  32. package/dist/src/infrastructure/ascii/art/robots.ascii.js +16 -0
  33. package/dist/src/mcp-client.js +90 -0
  34. package/dist/src/memory/index.js +17 -0
  35. package/dist/src/memory/memory-config.js +135 -0
  36. package/dist/src/memory/memory-interface.js +174 -0
  37. package/dist/src/memory/memory-manager.js +383 -0
  38. package/dist/src/memory/providers/devlog-provider.js +385 -0
  39. package/dist/src/memory/providers/hybrid-provider.js +399 -0
  40. package/dist/src/memory/providers/local-provider.js +388 -0
  41. package/dist/src/memory/providers/mem0-provider.js +337 -0
  42. package/dist/src/modes/architect.js +477 -0
  43. package/dist/src/modes/auditor.js +362 -0
  44. package/dist/src/modes/challenger.js +841 -0
  45. package/dist/src/modes/code-reviewer.js +382 -0
  46. package/dist/src/modes/commit-guardian.js +424 -0
  47. package/dist/src/modes/documentation-writer.js +572 -0
  48. package/dist/src/modes/scout.js +587 -0
  49. package/dist/src/modes/shared/helpers/challenger-helpers.js +454 -0
  50. package/dist/src/modes/shared/helpers/index.js +17 -0
  51. package/dist/src/modes/shared/helpers/scout-helpers.js +270 -0
  52. package/dist/src/modes/shared/helpers/verifier-helpers.js +332 -0
  53. package/dist/src/modes/test-architect.js +767 -0
  54. package/dist/src/modes/verifier.js +378 -0
  55. package/dist/src/monitoring/performance-monitor.js +435 -0
  56. package/dist/src/optimization/batch-executor.js +121 -0
  57. package/dist/src/optimization/context-pruner.js +196 -0
  58. package/dist/src/optimization/cost-monitor.js +338 -0
  59. package/dist/src/optimization/index.js +65 -0
  60. package/dist/src/optimization/model-router.js +264 -0
  61. package/dist/src/optimization/result-cache.js +114 -0
  62. package/dist/src/optimization/token-optimizer.js +257 -0
  63. package/dist/src/optimization/token-tracker.js +118 -0
  64. package/dist/src/orchestrator-instructions.js +128 -0
  65. package/dist/src/orchestrator-lite.js +139 -0
  66. package/dist/src/orchestrator.js +191 -0
  67. package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionEngine.js +1 -0
  68. package/dist/src/orchestrators/collaborative/interfaces/IToolExecutionStrategy.js +5 -0
  69. package/dist/src/orchestrators/collaborative/interfaces/IVisualizationRenderer.js +1 -0
  70. package/dist/src/orchestrators/collaborative/registries/ModelProviderRegistry.js +95 -0
  71. package/dist/src/orchestrators/collaborative/registries/ToolAdapterRegistry.js +64 -0
  72. package/dist/src/orchestrators/collaborative/services/tool-execution/ToolExecutionService.js +502 -0
  73. package/dist/src/orchestrators/collaborative/services/visualization/VisualizationService.js +206 -0
  74. package/dist/src/orchestrators/collaborative/types/session-types.js +5 -0
  75. package/dist/src/profiles/balanced.js +37 -0
  76. package/dist/src/profiles/code_focus.js +37 -0
  77. package/dist/src/profiles/debug_intensive.js +59 -0
  78. package/dist/src/profiles/full.js +37 -0
  79. package/dist/src/profiles/minimal.js +37 -0
  80. package/dist/src/profiles/research_code.js +59 -0
  81. package/dist/src/profiles/research_power.js +37 -0
  82. package/dist/src/profiles/types.js +5 -0
  83. package/dist/src/profiles/workflow_builder.js +53 -0
  84. package/dist/src/prompt-engineer-lite.js +78 -0
  85. package/dist/src/prompt-engineer.js +399 -0
  86. package/dist/src/reasoning-chain.js +508 -0
  87. package/dist/src/sequential-thinking.js +291 -0
  88. package/dist/src/server-diagnostic.js +74 -0
  89. package/dist/src/server-raw.js +158 -0
  90. package/dist/src/server-simple.js +58 -0
  91. package/dist/src/server.js +514 -0
  92. package/dist/src/session/session-logger.js +617 -0
  93. package/dist/src/session/session-manager.js +571 -0
  94. package/dist/src/session/session-tools.js +400 -0
  95. package/dist/src/tools/advanced-modes.js +200 -0
  96. package/dist/src/tools/claude-integration.js +356 -0
  97. package/dist/src/tools/consolidated/ai-router.js +174 -0
  98. package/dist/src/tools/consolidated/ai-tool.js +48 -0
  99. package/dist/src/tools/consolidated/brainstorm-tool.js +87 -0
  100. package/dist/src/tools/consolidated/environment-detector.js +80 -0
  101. package/dist/src/tools/consolidated/index.js +50 -0
  102. package/dist/src/tools/consolidated/search-tool.js +110 -0
  103. package/dist/src/tools/consolidated/workflow-tool.js +238 -0
  104. package/dist/src/tools/gemini-tools.js +329 -0
  105. package/dist/src/tools/grok-enhanced.js +376 -0
  106. package/dist/src/tools/grok-tools.js +299 -0
  107. package/dist/src/tools/lmstudio-tools.js +223 -0
  108. package/dist/src/tools/openai-tools.js +498 -0
  109. package/dist/src/tools/openrouter-tools.js +317 -0
  110. package/dist/src/tools/optimized-wrapper.js +204 -0
  111. package/dist/src/tools/perplexity-tools.js +294 -0
  112. package/dist/src/tools/pingpong-tool.js +343 -0
  113. package/dist/src/tools/qwen-wrapper.js +74 -0
  114. package/dist/src/tools/tool-router.js +444 -0
  115. package/dist/src/tools/unified-ai-provider.js +260 -0
  116. package/dist/src/tools/workflow-runner.js +425 -0
  117. package/dist/src/tools/workflow-validator-tool.js +107 -0
  118. package/dist/src/types.js +23 -0
  119. package/dist/src/utils/input-validator.js +130 -0
  120. package/dist/src/utils/model-router.js +91 -0
  121. package/dist/src/utils/progress-stream.js +255 -0
  122. package/dist/src/utils/provider-router.js +88 -0
  123. package/dist/src/utils/smart-api-client.js +146 -0
  124. package/dist/src/utils/table-builder.js +218 -0
  125. package/dist/src/utils/timestamp-formatter.js +134 -0
  126. package/dist/src/utils/tool-compressor.js +257 -0
  127. package/dist/src/utils/tool-config.js +201 -0
  128. package/dist/src/validators/dependency-graph-validator.js +147 -0
  129. package/dist/src/validators/interpolation-validator.js +222 -0
  130. package/dist/src/validators/output-usage-validator.js +151 -0
  131. package/dist/src/validators/syntax-validator.js +102 -0
  132. package/dist/src/validators/tool-registry-validator.js +123 -0
  133. package/dist/src/validators/tool-types.js +97 -0
  134. package/dist/src/validators/types.js +8 -0
  135. package/dist/src/validators/workflow-validator.js +134 -0
  136. package/dist/src/visualizer-lite.js +42 -0
  137. package/dist/src/visualizer.js +179 -0
  138. package/dist/src/workflows/circuit-breaker.js +199 -0
  139. package/dist/src/workflows/custom-workflows.js +451 -0
  140. package/dist/src/workflows/engine/AutoSynthesizer.js +97 -0
  141. package/dist/src/workflows/engine/StepParameterResolver.js +74 -0
  142. package/dist/src/workflows/engine/VariableInterpolator.js +123 -0
  143. package/dist/src/workflows/engine/WorkflowDiscovery.js +125 -0
  144. package/dist/src/workflows/engine/WorkflowExecutionEngine.js +485 -0
  145. package/dist/src/workflows/engine/WorkflowExecutor.js +113 -0
  146. package/dist/src/workflows/engine/WorkflowFileManager.js +244 -0
  147. package/dist/src/workflows/engine/WorkflowHelpers.js +114 -0
  148. package/dist/src/workflows/engine/WorkflowOutputFormatter.js +83 -0
  149. package/dist/src/workflows/engine/events/WorkflowEventBus.js +132 -0
  150. package/dist/src/workflows/engine/events/interfaces/IEventBus.js +5 -0
  151. package/dist/src/workflows/engine/handlers/ErrorRecoveryHandler.js +162 -0
  152. package/dist/src/workflows/engine/handlers/PromptEnhancementHandler.js +115 -0
  153. package/dist/src/workflows/engine/handlers/SessionPersistenceHandler.js +167 -0
  154. package/dist/src/workflows/engine/handlers/StepExecutionHandler.js +231 -0
  155. package/dist/src/workflows/engine/handlers/ToolInvocationHandler.js +46 -0
  156. package/dist/src/workflows/engine/interfaces/IAutoSynthesizer.js +5 -0
  157. package/dist/src/workflows/engine/interfaces/IStepParameterResolver.js +5 -0
  158. package/dist/src/workflows/engine/interfaces/IVariableInterpolator.js +5 -0
  159. package/dist/src/workflows/engine/interfaces/IWorkflowDiscovery.js +4 -0
  160. package/dist/src/workflows/engine/interfaces/IWorkflowFileManager.js +5 -0
  161. package/dist/src/workflows/engine/interfaces/IWorkflowOutputFormatter.js +5 -0
  162. package/dist/src/workflows/engine/state/WorkflowStateMachine.js +194 -0
  163. package/dist/src/workflows/engine/state/interfaces/IStateMachine.js +17 -0
  164. package/dist/src/workflows/fallback-strategies.js +373 -0
  165. package/dist/src/workflows/message-queue.js +455 -0
  166. package/dist/src/workflows/model-router.js +189 -0
  167. package/dist/src/workflows/orchestrator-examples.js +174 -0
  168. package/dist/src/workflows/orchestrator-integration.js +200 -0
  169. package/dist/src/workflows/self-healing.js +524 -0
  170. package/dist/src/workflows/tool-mapper.js +407 -0
  171. package/dist/src/workflows/tool-orchestrator.js +796 -0
  172. package/dist/src/workflows/workflow-engine.js +573 -0
  173. package/dist/src/workflows/workflow-parser.js +283 -0
  174. package/dist/src/workflows/workflow-types.js +95 -0
  175. package/dist/src/workflows.js +568 -0
  176. package/dist/test-workflow-file-output.js +93 -0
  177. package/docs/API_KEYS.md +570 -0
  178. package/docs/CLAUDE_CODE_SETUP.md +181 -0
  179. package/docs/CLAUDE_DESKTOP_MANUAL.md +127 -0
  180. package/docs/CONFIGURATION.md +745 -0
  181. package/docs/FOCUS_MODES.md +240 -0
  182. package/docs/INSTALLATION_BOTH.md +145 -0
  183. package/docs/TERMS.md +352 -0
  184. package/docs/TOOLS_REFERENCE.md +1622 -0
  185. package/docs/TOOL_PARAMETERS.md +496 -0
  186. package/docs/TOOL_PROFILES.md +236 -0
  187. package/docs/WORKFLOWS.md +987 -0
  188. package/docs/WORKFLOW_OUTPUT.md +198 -0
  189. package/docs/WORKFLOW_PROGRESS_TRACKING.md +305 -0
  190. package/docs/workflows/design-brainstorm.md +335 -0
  191. package/package.json +97 -0
  192. package/profiles/balanced.json +37 -0
  193. package/profiles/code_focus.json +37 -0
  194. package/profiles/debug_intensive.json +34 -0
  195. package/profiles/full.json +37 -0
  196. package/profiles/minimal.json +37 -0
  197. package/profiles/research_power.json +37 -0
  198. package/profiles/workflow_builder.json +37 -0
  199. package/smithery.yaml +66 -0
  200. package/start.sh +8 -0
  201. package/tools.config.json +81 -0
  202. package/tsconfig.json +18 -0
  203. package/workflows/accessibility-code-audit.yaml +92 -0
  204. package/workflows/code-architecture-review.yaml +202 -0
  205. package/workflows/code-review.yaml +142 -0
  206. package/workflows/core/iterative-problem-solver.yaml +283 -0
  207. package/workflows/creative-brainstorm-yaml.yaml +215 -0
  208. package/workflows/pingpong.yaml +141 -0
  209. package/workflows/system/README.md +412 -0
  210. package/workflows/system/challenger.yaml +175 -0
  211. package/workflows/system/scout.yaml +164 -0
  212. package/workflows/system/verifier.yaml +133 -0
  213. package/workflows/ultra-creative-brainstorm.yaml +318 -0
  214. 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
@@ -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"]