# 🚀 DeepSeek R1 Local Web UI
An offline, privacy-focused AI chat application with TinyLlama model, Web Search Integration, and Council Deliberation System optimized for CPU performance.
## Features
- 🤖 Offline AI Chat (TinyLlama-1.1B, CPU-optimized)
- 🔍 Web Search Integration (DuckDuckGo)
- 🏛️ Council Deliberation System (5 AI personas, voting)
- ⚡ Performance Optimizations (response caching, fast inference)
- 🔒 100% Privacy (all processing local)
## Council Members
- 🧠 Dr. Logic (Analytical Rationalist)
- 📚 Professor Sage (Historical Scholar)
- 💡 Innovator Nova (Creative Visionary)
- ❤️ Advocate Heart (Empathetic Humanist)
- 🎯 Pragmatist Ray (Practical Realist)
## Installation
### 1. Install via pip (when published)
```bash
pip install deepseek-r1-local
```
### 2. Download Model
```bash
deepseek-r1-local download-model
```
### 3. Start Server
```bash
deepseek-r1-local start
```
### 4. Open Browser
Go to: http://localhost:5000
## Usage
- Use toggles for Web Search and Council Mode in the UI
- Ask questions, get AI and council responses
- Council mode: 5 personas deliberate, vote, and select a winning proposal
## Python API Example
```python
from deepseek_r1_local import ModelManager, Council, WebSearcher
model = ModelManager()
model.load_model()
response = model.generate_response("Hello!", max_length=50)
council = Council()
results = council.deliberate("Should I learn Rust or Go?", model)
print(council.format_results(results))
searcher = WebSearcher()
results = searcher.search("Python tutorials", max_results=5)
print(searcher.format_search_results(results))
```
## File Structure
```
deepseek_r1-local/
├── deepseek_r1_local/
│ ├── __init__.py
│ ├── app.py
│ ├── cli.py
│ └── templates/
│ └── index.html
├── models/ # Model files (downloaded)
├── setup.py
├── pyproject.toml
├── requirements.txt
├── README.md
├── LICENSE
├── MANIFEST.in
├── CHANGELOG.md
├── INSTALL.md
├── QUICKREF.md
├── PACKAGE_GUIDE.md
├── build.sh
├── test_package.py
```
## Troubleshooting
- If model fails to load, re-run `download-model`
- Use `deepseek-r1-local start --port 8080` for a different port
- For help: `deepseek-r1-local --help`
## License
MIT License
## Links
- PyPI: https://pypi.org/project/deepseek-r1-local/
- GitHub: https://github.com/yourusername/deepseek-r1-local
Raw data
{
"_id": null,
"home_page": "https://github.com/yourusername/deepseek-r1-local",
"name": "deepseek-r1-local",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "ai, deepseek, llm, web-ui, council, local",
"author": "DeepSeek R1 Local Team",
"author_email": "contact@example.com",
"download_url": "https://files.pythonhosted.org/packages/a0/78/76621c44de201c0f539fadce9900e0dc7fb7b1b89011c71538adeaea7574/deepseek_r1_local-1.0.0.tar.gz",
"platform": null,
"description": "# \ud83d\ude80 DeepSeek R1 Local Web UI\n\nAn offline, privacy-focused AI chat application with TinyLlama model, Web Search Integration, and Council Deliberation System optimized for CPU performance.\n\n## Features\n- \ud83e\udd16 Offline AI Chat (TinyLlama-1.1B, CPU-optimized)\n- \ud83d\udd0d Web Search Integration (DuckDuckGo)\n- \ud83c\udfdb\ufe0f Council Deliberation System (5 AI personas, voting)\n- \u26a1 Performance Optimizations (response caching, fast inference)\n- \ud83d\udd12 100% Privacy (all processing local)\n\n## Council Members\n- \ud83e\udde0 Dr. Logic (Analytical Rationalist)\n- \ud83d\udcda Professor Sage (Historical Scholar)\n- \ud83d\udca1 Innovator Nova (Creative Visionary)\n- \u2764\ufe0f Advocate Heart (Empathetic Humanist)\n- \ud83c\udfaf Pragmatist Ray (Practical Realist)\n\n## Installation\n\n### 1. Install via pip (when published)\n```bash\npip install deepseek-r1-local\n```\n\n### 2. Download Model\n```bash\ndeepseek-r1-local download-model\n```\n\n### 3. Start Server\n```bash\ndeepseek-r1-local start\n```\n\n### 4. Open Browser\nGo to: http://localhost:5000\n\n## Usage\n- Use toggles for Web Search and Council Mode in the UI\n- Ask questions, get AI and council responses\n- Council mode: 5 personas deliberate, vote, and select a winning proposal\n\n## Python API Example\n```python\nfrom deepseek_r1_local import ModelManager, Council, WebSearcher\n\nmodel = ModelManager()\nmodel.load_model()\nresponse = model.generate_response(\"Hello!\", max_length=50)\n\ncouncil = Council()\nresults = council.deliberate(\"Should I learn Rust or Go?\", model)\nprint(council.format_results(results))\n\nsearcher = WebSearcher()\nresults = searcher.search(\"Python tutorials\", max_results=5)\nprint(searcher.format_search_results(results))\n```\n\n## File Structure\n```\ndeepseek_r1-local/\n\u251c\u2500\u2500 deepseek_r1_local/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 app.py\n\u2502 \u251c\u2500\u2500 cli.py\n\u2502 \u2514\u2500\u2500 templates/\n\u2502 \u2514\u2500\u2500 index.html\n\u251c\u2500\u2500 models/ # Model files (downloaded)\n\u251c\u2500\u2500 setup.py\n\u251c\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 requirements.txt\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 MANIFEST.in\n\u251c\u2500\u2500 CHANGELOG.md\n\u251c\u2500\u2500 INSTALL.md\n\u251c\u2500\u2500 QUICKREF.md\n\u251c\u2500\u2500 PACKAGE_GUIDE.md\n\u251c\u2500\u2500 build.sh\n\u251c\u2500\u2500 test_package.py\n```\n\n## Troubleshooting\n- If model fails to load, re-run `download-model`\n- Use `deepseek-r1-local start --port 8080` for a different port\n- For help: `deepseek-r1-local --help`\n\n## License\nMIT License\n\n## Links\n- PyPI: https://pypi.org/project/deepseek-r1-local/\n- GitHub: https://github.com/yourusername/deepseek-r1-local\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Offline AI Web UI with Council Deliberation System",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/yourusername/deepseek-r1-local/issues",
"Documentation": "https://github.com/yourusername/deepseek-r1-local#readme",
"Homepage": "https://github.com/yourusername/deepseek-r1-local",
"Repository": "https://github.com/yourusername/deepseek-r1-local.git"
},
"split_keywords": [
"ai",
" deepseek",
" llm",
" web-ui",
" council",
" local"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e138cc760a1829b75b7f83c87723b85e2d0a574796109ab207122415b8321b3d",
"md5": "f89800fb1af9687562e4b94b5c43264f",
"sha256": "0d1310bb5cd264bd355e009ca68fe5b362c2d077016ba17590333a98f5de7b2e"
},
"downloads": -1,
"filename": "deepseek_r1_local-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f89800fb1af9687562e4b94b5c43264f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 18683,
"upload_time": "2025-11-10T01:31:50",
"upload_time_iso_8601": "2025-11-10T01:31:50.263267Z",
"url": "https://files.pythonhosted.org/packages/e1/38/cc760a1829b75b7f83c87723b85e2d0a574796109ab207122415b8321b3d/deepseek_r1_local-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a07876621c44de201c0f539fadce9900e0dc7fb7b1b89011c71538adeaea7574",
"md5": "84eb6b463766977a7f05d1db68df8df2",
"sha256": "3a5878f91c1fbc35b76e3a34d8b82d943e5629b219675f1b2295022bee3cae10"
},
"downloads": -1,
"filename": "deepseek_r1_local-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "84eb6b463766977a7f05d1db68df8df2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 47292,
"upload_time": "2025-11-10T01:31:52",
"upload_time_iso_8601": "2025-11-10T01:31:52.951213Z",
"url": "https://files.pythonhosted.org/packages/a0/78/76621c44de201c0f539fadce9900e0dc7fb7b1b89011c71538adeaea7574/deepseek_r1_local-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-10 01:31:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yourusername",
"github_project": "deepseek-r1-local",
"github_not_found": true,
"lcname": "deepseek-r1-local"
}