sirchmunk 0.0.1__py3-none-any.whl → 0.0.2__py3-none-any.whl
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.
- sirchmunk/api/__init__.py +1 -0
- sirchmunk/api/chat.py +1123 -0
- sirchmunk/api/components/__init__.py +0 -0
- sirchmunk/api/components/history_storage.py +402 -0
- sirchmunk/api/components/monitor_tracker.py +518 -0
- sirchmunk/api/components/settings_storage.py +353 -0
- sirchmunk/api/history.py +254 -0
- sirchmunk/api/knowledge.py +411 -0
- sirchmunk/api/main.py +120 -0
- sirchmunk/api/monitor.py +219 -0
- sirchmunk/api/run_server.py +54 -0
- sirchmunk/api/search.py +230 -0
- sirchmunk/api/settings.py +309 -0
- sirchmunk/api/tools.py +315 -0
- sirchmunk/cli/__init__.py +11 -0
- sirchmunk/cli/cli.py +789 -0
- sirchmunk/learnings/knowledge_base.py +5 -2
- sirchmunk/llm/prompts.py +12 -1
- sirchmunk/retrieve/text_retriever.py +186 -2
- sirchmunk/scan/file_scanner.py +2 -2
- sirchmunk/schema/knowledge.py +119 -35
- sirchmunk/search.py +384 -26
- sirchmunk/storage/__init__.py +2 -2
- sirchmunk/storage/{knowledge_manager.py → knowledge_storage.py} +265 -60
- sirchmunk/utils/constants.py +7 -5
- sirchmunk/utils/embedding_util.py +217 -0
- sirchmunk/utils/tokenizer_util.py +36 -1
- sirchmunk/version.py +1 -1
- {sirchmunk-0.0.1.dist-info → sirchmunk-0.0.2.dist-info}/METADATA +196 -14
- sirchmunk-0.0.2.dist-info/RECORD +69 -0
- {sirchmunk-0.0.1.dist-info → sirchmunk-0.0.2.dist-info}/WHEEL +1 -1
- sirchmunk-0.0.2.dist-info/top_level.txt +2 -0
- sirchmunk_mcp/__init__.py +25 -0
- sirchmunk_mcp/cli.py +478 -0
- sirchmunk_mcp/config.py +276 -0
- sirchmunk_mcp/server.py +355 -0
- sirchmunk_mcp/service.py +327 -0
- sirchmunk_mcp/setup.py +15 -0
- sirchmunk_mcp/tools.py +410 -0
- sirchmunk-0.0.1.dist-info/RECORD +0 -45
- sirchmunk-0.0.1.dist-info/top_level.txt +0 -1
- {sirchmunk-0.0.1.dist-info → sirchmunk-0.0.2.dist-info}/entry_points.txt +0 -0
- {sirchmunk-0.0.1.dist-info → sirchmunk-0.0.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -27,9 +27,44 @@ class TokenizerUtil:
|
|
|
27
27
|
"""
|
|
28
28
|
if not content.strip():
|
|
29
29
|
return []
|
|
30
|
-
|
|
31
30
|
return self.tokenizer.encode(content.strip())
|
|
32
31
|
|
|
32
|
+
def decode(self, token_ids: List[int]) -> str:
|
|
33
|
+
"""Decode a list of token IDs back into a natural text string.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
token_ids: List of token IDs to decode.
|
|
37
|
+
|
|
38
|
+
Returns:
|
|
39
|
+
Decoded text string.
|
|
40
|
+
"""
|
|
41
|
+
if not token_ids:
|
|
42
|
+
return ""
|
|
43
|
+
return self.tokenizer.decode(token_ids, skip_special_tokens=True)
|
|
44
|
+
|
|
45
|
+
def segment(self, content: str) -> List[str]:
|
|
46
|
+
"""Tokenize text into a list of token strings suitable for BM25-like algorithms indexing/retrieval.
|
|
47
|
+
|
|
48
|
+
This method returns the actual sub-word tokens as strings (e.g., ["▁Hello", "▁world"]),
|
|
49
|
+
preserving token boundaries. These tokens can be directly used as terms in BM25.
|
|
50
|
+
|
|
51
|
+
Args:
|
|
52
|
+
content: Input text string.
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
List of token strings (not IDs), ready for BM25-style processing.
|
|
56
|
+
"""
|
|
57
|
+
if not content.strip():
|
|
58
|
+
return []
|
|
59
|
+
|
|
60
|
+
token_ids = self.encode(content)
|
|
61
|
+
# Decode each token ID individually to get its string representation
|
|
62
|
+
token_strings = [
|
|
63
|
+
self.tokenizer.decode([tid], skip_special_tokens=True)
|
|
64
|
+
for tid in token_ids
|
|
65
|
+
]
|
|
66
|
+
return token_strings
|
|
67
|
+
|
|
33
68
|
def count_tokens(self, contents: Union[str, List[str]]) -> Union[int, List[int]]:
|
|
34
69
|
"""
|
|
35
70
|
Batch count tokens for multiple texts.
|
sirchmunk/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.0.
|
|
1
|
+
__version__ = "0.0.2"
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sirchmunk
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Sirchmunk: From raw data to self-evolving real-time intelligence.
|
|
5
|
-
Home-page: https://github.com/modelscope/sirchmunk
|
|
6
5
|
Author: ModelScope Team
|
|
7
6
|
Author-email: contact@modelscope.cn
|
|
8
7
|
License: Apache License 2.0
|
|
9
8
|
Project-URL: Homepage, https://github.com/modelscope/sirchmunk
|
|
10
|
-
Keywords: LLM,Agentic
|
|
9
|
+
Keywords: LLM,Agentic Search,Embedding-Free,RAG,Indexless,Self-evolving,Real-time Intelligence,Multi-modal
|
|
11
10
|
Classifier: Development Status :: 4 - Beta
|
|
12
11
|
Classifier: Operating System :: OS Independent
|
|
13
12
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -20,13 +19,76 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
20
19
|
Requires-Python: >=3.10
|
|
21
20
|
Description-Content-Type: text/markdown
|
|
22
21
|
License-File: LICENSE
|
|
22
|
+
Requires-Dist: loguru
|
|
23
|
+
Requires-Dist: fastapi
|
|
24
|
+
Requires-Dist: openai
|
|
25
|
+
Requires-Dist: genson
|
|
26
|
+
Requires-Dist: pillow
|
|
27
|
+
Requires-Dist: pypdf
|
|
28
|
+
Requires-Dist: pandas
|
|
29
|
+
Requires-Dist: parquet
|
|
30
|
+
Requires-Dist: numpy
|
|
31
|
+
Requires-Dist: msgpack
|
|
32
|
+
Requires-Dist: sentencepiece
|
|
33
|
+
Requires-Dist: tqdm
|
|
34
|
+
Requires-Dist: rapidfuzz
|
|
35
|
+
Requires-Dist: duckdb
|
|
36
|
+
Requires-Dist: kreuzberg>=4.0.0rc1
|
|
37
|
+
Requires-Dist: sentence-transformers
|
|
38
|
+
Requires-Dist: modelscope
|
|
39
|
+
Provides-Extra: web
|
|
40
|
+
Requires-Dist: fastapi>=0.100.0; extra == "web"
|
|
41
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "web"
|
|
42
|
+
Requires-Dist: websockets>=12.0; extra == "web"
|
|
43
|
+
Requires-Dist: python-multipart>=0.0.6; extra == "web"
|
|
44
|
+
Requires-Dist: pydantic>=2.0.0; extra == "web"
|
|
45
|
+
Requires-Dist: requests>=2.32.2; extra == "web"
|
|
46
|
+
Requires-Dist: aiohttp>=3.9.4; extra == "web"
|
|
47
|
+
Requires-Dist: httpx>=0.27.0; extra == "web"
|
|
48
|
+
Requires-Dist: urllib3>=2.2.1; extra == "web"
|
|
49
|
+
Requires-Dist: pydantic>=2.0; extra == "web"
|
|
50
|
+
Requires-Dist: python-dotenv>=1.0.0; extra == "web"
|
|
51
|
+
Requires-Dist: psutil; extra == "web"
|
|
23
52
|
Provides-Extra: docs
|
|
53
|
+
Requires-Dist: docutils>=0.16.0; extra == "docs"
|
|
54
|
+
Requires-Dist: myst_parser; extra == "docs"
|
|
55
|
+
Requires-Dist: recommonmark; extra == "docs"
|
|
56
|
+
Requires-Dist: sphinx>=5.3.0; extra == "docs"
|
|
57
|
+
Requires-Dist: sphinx-book-theme; extra == "docs"
|
|
58
|
+
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
59
|
+
Requires-Dist: sphinx-design; extra == "docs"
|
|
60
|
+
Requires-Dist: sphinx_markdown_tables; extra == "docs"
|
|
61
|
+
Requires-Dist: sphinxawesome-theme; extra == "docs"
|
|
62
|
+
Requires-Dist: sphinxcontrib-mermaid; extra == "docs"
|
|
24
63
|
Provides-Extra: tests
|
|
25
|
-
|
|
64
|
+
Requires-Dist: pytest; extra == "tests"
|
|
65
|
+
Requires-Dist: pytest-asyncio; extra == "tests"
|
|
26
66
|
Provides-Extra: all
|
|
27
|
-
|
|
67
|
+
Requires-Dist: fastapi>=0.100.0; extra == "all"
|
|
68
|
+
Requires-Dist: uvicorn[standard]>=0.24.0; extra == "all"
|
|
69
|
+
Requires-Dist: websockets>=12.0; extra == "all"
|
|
70
|
+
Requires-Dist: python-multipart>=0.0.6; extra == "all"
|
|
71
|
+
Requires-Dist: pydantic>=2.0.0; extra == "all"
|
|
72
|
+
Requires-Dist: requests>=2.32.2; extra == "all"
|
|
73
|
+
Requires-Dist: aiohttp>=3.9.4; extra == "all"
|
|
74
|
+
Requires-Dist: httpx>=0.27.0; extra == "all"
|
|
75
|
+
Requires-Dist: urllib3>=2.2.1; extra == "all"
|
|
76
|
+
Requires-Dist: pydantic>=2.0; extra == "all"
|
|
77
|
+
Requires-Dist: python-dotenv>=1.0.0; extra == "all"
|
|
78
|
+
Requires-Dist: psutil; extra == "all"
|
|
79
|
+
Requires-Dist: docutils>=0.16.0; extra == "all"
|
|
80
|
+
Requires-Dist: myst_parser; extra == "all"
|
|
81
|
+
Requires-Dist: recommonmark; extra == "all"
|
|
82
|
+
Requires-Dist: sphinx>=5.3.0; extra == "all"
|
|
83
|
+
Requires-Dist: sphinx-book-theme; extra == "all"
|
|
84
|
+
Requires-Dist: sphinx-copybutton; extra == "all"
|
|
85
|
+
Requires-Dist: sphinx-design; extra == "all"
|
|
86
|
+
Requires-Dist: sphinx_markdown_tables; extra == "all"
|
|
87
|
+
Requires-Dist: sphinxawesome-theme; extra == "all"
|
|
88
|
+
Requires-Dist: sphinxcontrib-mermaid; extra == "all"
|
|
89
|
+
Requires-Dist: pytest; extra == "all"
|
|
90
|
+
Requires-Dist: pytest-asyncio; extra == "all"
|
|
28
91
|
Dynamic: license-file
|
|
29
|
-
Dynamic: provides-extra
|
|
30
92
|
|
|
31
93
|
<div align="center">
|
|
32
94
|
|
|
@@ -43,6 +105,7 @@ Dynamic: provides-extra
|
|
|
43
105
|
[](https://github.com/phiresky/ripgrep-all)
|
|
44
106
|
[](https://github.com/openai/openai-python)
|
|
45
107
|
[](https://github.com/kreuzberg-dev/kreuzberg)
|
|
108
|
+
[](https://github.com/modelcontextprotocol/python-sdk)
|
|
46
109
|
|
|
47
110
|
|
|
48
111
|
[**Quick Start**](#-quick-start) · [**Key Features**](#-key-features) · [**Web UI**](#-web-ui) · [**How it Works**](#-how-it-works) · [**FAQ**](#-faq)
|
|
@@ -166,6 +229,19 @@ It serves as a unified intelligent hub for AI agents, delivering deep insights a
|
|
|
166
229
|
---
|
|
167
230
|
|
|
168
231
|
|
|
232
|
+
## 🎉 News
|
|
233
|
+
|
|
234
|
+
* 🚀 **Feb 5, 2026**: Release **v0.0.2** — MCP Support, CLI Commands & Knowledge Persistence!
|
|
235
|
+
- **MCP Integration**: Full [Model Context Protocol](https://modelcontextprotocol.io) support, works seamlessly with Claude Desktop and Cursor IDE.
|
|
236
|
+
- **CLI Commands**: New `sirchmunk` CLI with `init`, `config`, `serve`, and `search` commands.
|
|
237
|
+
- **KnowledgeCluster Persistence**: DuckDB-powered storage with Parquet export for efficient knowledge management.
|
|
238
|
+
- **Knowledge Reuse**: Semantic similarity-based cluster retrieval for faster searches via embedding vectors.
|
|
239
|
+
|
|
240
|
+
* 🎉🎉 Jan 22, 2026: Introducing **Sirchmunk**: Initial Release v0.0.1 Now Available!
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
169
245
|
## 🚀 Quick Start
|
|
170
246
|
|
|
171
247
|
### Prerequisites
|
|
@@ -206,9 +282,9 @@ llm = OpenAIChat(
|
|
|
206
282
|
|
|
207
283
|
async def main():
|
|
208
284
|
|
|
209
|
-
|
|
285
|
+
searcher = AgenticSearch(llm=llm)
|
|
210
286
|
|
|
211
|
-
result: str = await
|
|
287
|
+
result: str = await searcher.search(
|
|
212
288
|
query="How does transformer attention work?",
|
|
213
289
|
search_paths=["/path/to/documents"],
|
|
214
290
|
)
|
|
@@ -219,11 +295,117 @@ asyncio.run(main())
|
|
|
219
295
|
```
|
|
220
296
|
|
|
221
297
|
**⚠️ Notes:**
|
|
222
|
-
- Upon initialization, AgenticSearch automatically checks if ripgrep-all and ripgrep are installed. If they are missing, it will attempt to install them automatically. If the automatic installation fails, please install them manually.
|
|
298
|
+
- Upon initialization, `AgenticSearch` automatically checks if `ripgrep-all` and `ripgrep` are installed. If they are missing, it will attempt to install them automatically. If the automatic installation fails, please install them manually.
|
|
223
299
|
- References: https://github.com/BurntSushi/ripgrep | https://github.com/phiresky/ripgrep-all
|
|
224
300
|
- Replace `"your-api-key"`, `"your-base-url"`, `"your-model-name"` and `/path/to/documents` with your actual values.
|
|
225
301
|
|
|
226
302
|
|
|
303
|
+
### Command Line Interface
|
|
304
|
+
|
|
305
|
+
Sirchmunk provides a powerful CLI for server management and search operations.
|
|
306
|
+
|
|
307
|
+
#### Installation
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
pip install "sirchmunk[web]"
|
|
311
|
+
|
|
312
|
+
# or install via UV
|
|
313
|
+
uv pip install "sirchmunk[web]"
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
#### Initialize
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# Initialize Sirchmunk with default settings (Default work path: `~/.sirchmunk/`)
|
|
321
|
+
sirchmunk init
|
|
322
|
+
|
|
323
|
+
# Alternatively, initialize with custom work path
|
|
324
|
+
sirchmunk init --work-path /path/to/workspace
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
#### Configure
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Show current configuration
|
|
331
|
+
sirchmunk config
|
|
332
|
+
|
|
333
|
+
# Regenerate configuration file if needed (Default config file: ~/.sirchmunk/.env)
|
|
334
|
+
sirchmunk config --generate
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
#### Start API Server
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
# Start server with default settings
|
|
341
|
+
sirchmunk serve
|
|
342
|
+
|
|
343
|
+
# Custom host and port
|
|
344
|
+
sirchmunk serve --host 0.0.0.0 --port 8000
|
|
345
|
+
|
|
346
|
+
# Development mode with auto-reload
|
|
347
|
+
sirchmunk serve --reload
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
#### Search
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
# Search in current directory
|
|
354
|
+
sirchmunk search "How does authentication work?"
|
|
355
|
+
|
|
356
|
+
# Search in specific paths
|
|
357
|
+
sirchmunk search "find all API endpoints" ./src ./docs
|
|
358
|
+
|
|
359
|
+
# Quick filename search
|
|
360
|
+
sirchmunk search "config" --mode FILENAME_ONLY
|
|
361
|
+
|
|
362
|
+
# Output as JSON
|
|
363
|
+
sirchmunk search "database schema" --output json
|
|
364
|
+
|
|
365
|
+
# Use API server (requires running server)
|
|
366
|
+
sirchmunk search "query" --api --api-url http://localhost:8584
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
#### Available Commands
|
|
370
|
+
|
|
371
|
+
| Command | Description |
|
|
372
|
+
|---------|-------------|
|
|
373
|
+
| `sirchmunk init` | Initialize working directory and configuration |
|
|
374
|
+
| `sirchmunk config` | Show or generate configuration |
|
|
375
|
+
| `sirchmunk serve` | Start the API server |
|
|
376
|
+
| `sirchmunk search` | Perform search queries |
|
|
377
|
+
| `sirchmunk version` | Show version information |
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## 🔌 MCP Server
|
|
382
|
+
|
|
383
|
+
Sirchmunk provides a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that exposes its intelligent search capabilities as MCP tools. This enables seamless integration with AI assistants like **Claude Desktop** and **Cursor IDE**.
|
|
384
|
+
|
|
385
|
+
### Quick Start
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# Install MCP package
|
|
389
|
+
pip install sirchmunk-mcp
|
|
390
|
+
|
|
391
|
+
# Initialize and configure
|
|
392
|
+
sirchmunk-mcp init
|
|
393
|
+
sirchmunk-mcp config --generate
|
|
394
|
+
|
|
395
|
+
# Edit ~/.sirchmunk/.mcp_env with your LLM API key
|
|
396
|
+
|
|
397
|
+
# Test with MCP Inspector
|
|
398
|
+
npx @modelcontextprotocol/inspector sirchmunk-mcp serve
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Features
|
|
402
|
+
|
|
403
|
+
- **Multi-Mode Search**: DEEP mode for comprehensive analysis, FILENAME_ONLY for fast file discovery
|
|
404
|
+
- **Knowledge Cluster Management**: Automatic extraction, storage, and reuse of knowledge
|
|
405
|
+
- **Standard MCP Protocol**: Works with stdio and Streamable HTTP transports
|
|
406
|
+
|
|
407
|
+
📖 **For detailed documentation, see [Sirchmunk MCP README](src/sirchmunk_mcp/README.md)**.
|
|
408
|
+
|
|
227
409
|
---
|
|
228
410
|
|
|
229
411
|
## 🖥️ Web UI
|
|
@@ -297,10 +479,10 @@ python scripts/stop_web.py
|
|
|
297
479
|
|
|
298
480
|
### Data Storage
|
|
299
481
|
|
|
300
|
-
All persistent data is stored in the configured `
|
|
482
|
+
All persistent data is stored in the configured `SIRCHMUNK_WORK_PATH` (default: `~/.sirchmunk/`):
|
|
301
483
|
|
|
302
484
|
```
|
|
303
|
-
{
|
|
485
|
+
{SIRCHMUNK_WORK_PATH}/
|
|
304
486
|
├── .cache/
|
|
305
487
|
├── history/ # Chat session history (DuckDB)
|
|
306
488
|
│ └── chat_history.db
|
|
@@ -343,7 +525,7 @@ Any OpenAI-compatible API endpoint, including (but not limited too):
|
|
|
343
525
|
Simply specify the path in your search query:
|
|
344
526
|
|
|
345
527
|
```python
|
|
346
|
-
result = await
|
|
528
|
+
result = await searcher.search(
|
|
347
529
|
query="Your question",
|
|
348
530
|
search_paths=["/path/to/folder", "/path/to/file.pdf"]
|
|
349
531
|
)
|
|
@@ -358,7 +540,7 @@ No pre-processing or indexing required!
|
|
|
358
540
|
|
|
359
541
|
Knowledge clusters are persisted in Parquet format at:
|
|
360
542
|
```
|
|
361
|
-
{
|
|
543
|
+
{SIRCHMUNK_WORK_PATH}/.cache/knowledge/knowledge_clusters.parquet
|
|
362
544
|
```
|
|
363
545
|
|
|
364
546
|
You can query them using DuckDB or the `KnowledgeManager` API.
|
|
@@ -370,7 +552,7 @@ You can query them using DuckDB or the `KnowledgeManager` API.
|
|
|
370
552
|
|
|
371
553
|
1. **Web Dashboard**: Visit the Monitor page for real-time statistics
|
|
372
554
|
2. **API**: `GET /api/v1/monitor/llm` returns usage metrics
|
|
373
|
-
3. **Code**: Access `
|
|
555
|
+
3. **Code**: Access `searcher.llm_usages` after search completion
|
|
374
556
|
|
|
375
557
|
</details>
|
|
376
558
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
sirchmunk/__init__.py,sha256=5sdppELUcjnTofJtwZ2ACuUscmLYIPhCwj-G-MMSl-M,184
|
|
2
|
+
sirchmunk/base.py,sha256=qVQ63QfEWhEvOJl3OxQvC2rOUNTZCD5weXRn-1vvEkU,439
|
|
3
|
+
sirchmunk/search.py,sha256=rOfcdrXZbm5gcZWKRHSJWmK_kZDgP0pKS0uQsGIlTXQ,34270
|
|
4
|
+
sirchmunk/version.py,sha256=QvlVh4JTl3JL7jQAja76yKtT-IvF4631ASjWY1wS6AQ,22
|
|
5
|
+
sirchmunk/api/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
|
|
6
|
+
sirchmunk/api/chat.py,sha256=5Y3ujcgK3GPkPDrCnS1uduAQYr4dpzYmHjztCJQWITA,41103
|
|
7
|
+
sirchmunk/api/history.py,sha256=iKRzMtvy-fRVSfqd5mkisHPTttNb2XOVh1P1Zv3Ohgk,9135
|
|
8
|
+
sirchmunk/api/knowledge.py,sha256=fpXX16O2XD-JIrywBUH5JOt8arVBz8X9JoNhxSBfofo,12948
|
|
9
|
+
sirchmunk/api/main.py,sha256=FVSbIa_5EKTRldDRwzAvDoezr6VyvktJTiQhv5CKq2k,3253
|
|
10
|
+
sirchmunk/api/monitor.py,sha256=SIG_kYxERpVbLHBzOYAuPH9fbVAy8gGq_mNuVO14v1M,5655
|
|
11
|
+
sirchmunk/api/run_server.py,sha256=FvYwlvrQ0MUhk4Yn7lbvoXWnJ6d7k6D0T9hUV6EDEmE,1632
|
|
12
|
+
sirchmunk/api/search.py,sha256=-eqmewxy4541apNoB-7SU_gXtrPz-7MLKBa_OkbJwCA,6776
|
|
13
|
+
sirchmunk/api/settings.py,sha256=w7mpyynBhtLmjkvofGVsu7IqO5YrjE0M08yntK3kPwk,10544
|
|
14
|
+
sirchmunk/api/tools.py,sha256=VMYPkxm4ofiSqHrZISrpEZ0QQ83Ef6MUN4MRKUo1kiI,11227
|
|
15
|
+
sirchmunk/api/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
sirchmunk/api/components/history_storage.py,sha256=5ug-CitkIounlLct5n6iK8va3hFM1t4FRGgiGM5SB60,13969
|
|
17
|
+
sirchmunk/api/components/monitor_tracker.py,sha256=oBLq3My3Fq0WTpbIvcRW0MJR6Nf_eiEy0tIWb4AzeOM,18424
|
|
18
|
+
sirchmunk/api/components/settings_storage.py,sha256=kPG87q5iZjUZrcNPeZFEhb-6Fy3oY7_4AfVBESdn1uA,11415
|
|
19
|
+
sirchmunk/cli/__init__.py,sha256=ivKDHPZFyKEQ5GDhtK6ZjuQWduUgziF5sUtNFwXFW10,253
|
|
20
|
+
sirchmunk/cli/cli.py,sha256=QsF9vIgzySQrX0bdbjJqA97RMMvem2RLXSvFij6jbPU,23463
|
|
21
|
+
sirchmunk/insight/__init__.py,sha256=7sQeT0fSg5-b9jrwthA9_fSCR1Q5qSvm33L9l7kHjLY,144
|
|
22
|
+
sirchmunk/insight/text_insights.py,sha256=BwFqmDNG8FmOz4Lv3qO1Mz2xRv_LVg4b3wj6YUhVLVE,9075
|
|
23
|
+
sirchmunk/learnings/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
|
|
24
|
+
sirchmunk/learnings/evidence_processor.py,sha256=QDg-qReSte8R8I2BrRRC-d-Glyfjcnqazbe57-PSDHU,17922
|
|
25
|
+
sirchmunk/learnings/knowledge_base.py,sha256=K-Rx2jnZH5dGzQk6lrwoSFaaVZ4QJJQtnTFO3rkyr-I,8496
|
|
26
|
+
sirchmunk/llm/__init__.py,sha256=4ynF6R63afMWW1d9T21C8JqfVc9xJTiOFXZNzDwPLww,98
|
|
27
|
+
sirchmunk/llm/openai_chat.py,sha256=ET7HqEoFTbbvhUTlAUZNOoJwxF9hA73qeH3xFTsNK-w,8138
|
|
28
|
+
sirchmunk/llm/prompts.py,sha256=uCNH4mbwtAL7QUJuGEzNGI7rXKPXW5Sbs0g1ZRMAKqI,9274
|
|
29
|
+
sirchmunk/retrieve/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
|
|
30
|
+
sirchmunk/retrieve/base.py,sha256=VDpCwdwhjVYuj0mbe78qg_FhbcQkasbCS0cd66hQ4hk,618
|
|
31
|
+
sirchmunk/retrieve/text_retriever.py,sha256=hqvdCYFKwLJlhnGXabxwEDWPhBK8sQ9fxb3oIhEGE_s,46980
|
|
32
|
+
sirchmunk/scan/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
|
|
33
|
+
sirchmunk/scan/base.py,sha256=3Jqvn0W9KJ00u2oy8U-qD16KksV7taAx4s9qhCpRD-c,496
|
|
34
|
+
sirchmunk/scan/file_scanner.py,sha256=7w7wTvYc2SZpfIo02HvWxHEnJGmw_rifWPTXMMpYn6s,14698
|
|
35
|
+
sirchmunk/scan/web_scanner.py,sha256=YQRBQ5JnATwNdek2o1_Y8GB0eG0IWQvx4YhqW4Zc5Tw,531
|
|
36
|
+
sirchmunk/scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
sirchmunk/schema/__init__.py,sha256=kvzKU8Rt1t91Rm5tuy6KqgZXj8lfYQ2q1XvLYGNLUh4,103
|
|
38
|
+
sirchmunk/schema/cognition.py,sha256=NDgCOjMpqyUBxd_ymeMQrjSr3Ri-nJeMUNRuWfLUhBI,4031
|
|
39
|
+
sirchmunk/schema/context.py,sha256=wwsSBE5EJXmrvh-RCluf3nJm7hcxkWaiNWfJ10coGY4,628
|
|
40
|
+
sirchmunk/schema/knowledge.py,sha256=4OiLvNK_wKT96FxeUsOxZG4ZmJ5RCyCtlyehbIBTpLg,14824
|
|
41
|
+
sirchmunk/schema/metadata.py,sha256=VdUD6GPCB_jtyBkowkGEpCPMYL1c-sFVSUloKPSZRwE,22810
|
|
42
|
+
sirchmunk/schema/request.py,sha256=EPum-IzmN15EgFmwN12oL-CNoI-KvTcHN4nLuO-c09c,7702
|
|
43
|
+
sirchmunk/schema/response.py,sha256=6xc5tvAnqL_zpUhQtchVGwbrt1btzy4QArCeS81DrIU,488
|
|
44
|
+
sirchmunk/schema/snapshot.py,sha256=zZSKDRN8jMtpOIH3TL0FCrAn7AlUc_5zO8qFX2f2u_s,12341
|
|
45
|
+
sirchmunk/storage/__init__.py,sha256=maUD6CAUydaWYHewhGLLaaKAH1ap-qzVTjVbb_XeEmg,231
|
|
46
|
+
sirchmunk/storage/duckdb.py,sha256=Jw_EK9i589YyKXYhi-yjAmX7zIM7txDsoxy0Gx-XY8o,23092
|
|
47
|
+
sirchmunk/storage/knowledge_storage.py,sha256=I7KdBbul9TTAWsClYJMyXNK_4b2o76PzGoycOYwHGTs,36009
|
|
48
|
+
sirchmunk/utils/__init__.py,sha256=33bVrhpUfPXpM85r_SEB07QJnGDjD-4BE5p9vpF-fXw,265
|
|
49
|
+
sirchmunk/utils/constants.py,sha256=Ki7XtUD152q6jZDK5rUqZJ8H_AMeFGO40Wvc2UBKqV0,703
|
|
50
|
+
sirchmunk/utils/deps.py,sha256=QTL0k7CN1t0_r-CrZ4TM__pdK8U2X1d0OKvJUtQe_xA,563
|
|
51
|
+
sirchmunk/utils/embedding_util.py,sha256=5xEH773XklRqMu5kNBDKmIMqtFjU-H_c8DtjYiPxvhk,6603
|
|
52
|
+
sirchmunk/utils/file_utils.py,sha256=9OtYNffXbo1Pz6XuJsOECQS_mYRBg1NpGUsglNgfWnU,2257
|
|
53
|
+
sirchmunk/utils/install_rga.py,sha256=i7sWYi6u2A32dc0mq5LB_OtqcMWqKezSz6WILWaK1Oc,5215
|
|
54
|
+
sirchmunk/utils/log_utils.py,sha256=HujosgEXV9fpSVd6JjRh7KEQuskhrcpC4Kit6aIpnW0,14195
|
|
55
|
+
sirchmunk/utils/tokenizer_util.py,sha256=BC-U3ahUPID0ctuRGw9dEc_IfNe_vAKZuiwQ_GSib6g,2848
|
|
56
|
+
sirchmunk/utils/utils.py,sha256=qnwZ8R9xLqsMooW0IdcWoPKto7q4AQ49-SOR33rCy1g,3394
|
|
57
|
+
sirchmunk-0.0.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
58
|
+
sirchmunk_mcp/__init__.py,sha256=EFeOjlxKZJjPhAyb6ISdSUT-7arY3EZw0zZyvYPVx24,612
|
|
59
|
+
sirchmunk_mcp/cli.py,sha256=uYcahqzYMPcJWcrVOzuvkQeoUWKeGhkIv2R5nHW7S3M,15341
|
|
60
|
+
sirchmunk_mcp/config.py,sha256=7nbN9G0ECCqnINWEuqh6Hddxs_o_JznpdwOyGgFf5LE,8956
|
|
61
|
+
sirchmunk_mcp/server.py,sha256=XH3_EohE-91zJtiAeLdwH69oISn7Hizytipwbu-gJmc,11515
|
|
62
|
+
sirchmunk_mcp/service.py,sha256=d5G0IJHlBeaTkxo_MmFIF1h9GZu62oOTjvWX7Pd29XI,12184
|
|
63
|
+
sirchmunk_mcp/setup.py,sha256=ELDZu3FIhiAd8u-GgIxsvfmK-58cYdC1NLEJBAZnhsI,370
|
|
64
|
+
sirchmunk_mcp/tools.py,sha256=8L95ajxB51eu4GWyXGpq2sorE30HwZ2KLA7tyqLii-Q,12739
|
|
65
|
+
sirchmunk-0.0.2.dist-info/METADATA,sha256=nWhcRloB7ESH8zsTw3JqrGk3TtczzvvKZlhOTmIZT7o,21813
|
|
66
|
+
sirchmunk-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
67
|
+
sirchmunk-0.0.2.dist-info/entry_points.txt,sha256=lpnP-Ll2CUY0P1wYm6kutcBMrxwG67astmgY-vVhF14,56
|
|
68
|
+
sirchmunk-0.0.2.dist-info/top_level.txt,sha256=TBWdnogNJmu7ZizAztBsxTVOqkpoAc-5o-aKCU8KpBc,24
|
|
69
|
+
sirchmunk-0.0.2.dist-info/RECORD,,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) ModelScope Contributors. All rights reserved.
|
|
2
|
+
"""
|
|
3
|
+
Sirchmunk MCP Server
|
|
4
|
+
|
|
5
|
+
A Model Context Protocol (MCP) server that exposes Sirchmunk's intelligent
|
|
6
|
+
code and document search capabilities as MCP tools.
|
|
7
|
+
|
|
8
|
+
Uses FastMCP for simplified MCP server implementation.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
__version__ = "0.1.0"
|
|
12
|
+
__author__ = "ModelScope Contributors"
|
|
13
|
+
|
|
14
|
+
from .server import create_server, run_stdio_server, run_http_server
|
|
15
|
+
from .service import SirchmunkService
|
|
16
|
+
from .config import Config
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
"create_server",
|
|
20
|
+
"run_stdio_server",
|
|
21
|
+
"run_http_server",
|
|
22
|
+
"SirchmunkService",
|
|
23
|
+
"Config",
|
|
24
|
+
"__version__",
|
|
25
|
+
]
|