Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Omnifact CLI

Omnifact CLI is a command-line interface tool for managing documents and chatting with AI assistants in the Omnifact platform.

The Omnifact API Spec can be found here. For more information on Omnifact, please visit omnifact.ai.

Installation

To install Omnifact CLI, follow these steps:

  1. Clone the repository:
git clone https://github.com/OmnifactAI/omnifact-cli.git
cd omnifact-cli
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
  1. Install the package in editable mode:
pip install -e .

Configuration

Before using the Omnifact CLI, you need to set your API key:

omnifact-cli config set-api-key YOUR_API_KEY

Optionally, set your Connect URL:

omnifact-cli config set-connect-url YOUR_CONNECT_URL

You can also use environment variables to set the API key and Connect URL. This is useful for scripts or CI/CD pipelines, when using the CLI in a non-interactive way or when you want to avoid storing the API key in the configuration file.

OMNIFACT_API_KEY=your_api_key OMNIFACT_CONNECT_URL=https://your-connect-url.com omnifact-cli list-documents --space-id YOUR_SPACE_ID

Usage

Here are some example commands:

  1. List documents in a space:
omnifact-cli list-documents --space-id YOUR_SPACE_ID
  1. Upload a document:
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf
# Optionally, you can set the name of the document and the metadata
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.pdf --name "Document Name" --metadata '{"url": "https://example.com/docs/document.pdf"}'
# For text files with specific encoding, you can specify the encoding
omnifact-cli upload-document --space-id YOUR_SPACE_ID --file /path/to/your/document.txt --encoding windows-1252
  1. Get document details:
omnifact-cli get-document DOCUMENT_ID
  1. Rename a document:
omnifact-cli rename-document DOCUMENT_ID --name "New Document Name.pdf"
  1. Delete a document:
omnifact-cli delete-document DOCUMENT_ID
  1. List supported file types:
omnifact-cli list-supported-types
  1. Purge all documents from a space:
omnifact-cli purge --space-id YOUR_SPACE_ID

Note: The purge command will ask for confirmation before deleting all documents.

  1. Chat with an AI assistant (single question):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID "What is clean code?"
  1. Chat with an AI assistant (interactive mode):
omnifact-cli chat --endpoint-id YOUR_ENDPOINT_ID -i

Interactive mode starts a conversation where you can chat back and forth with the assistant. The conversation history is maintained throughout the session. Type exit or quit to end the session.

For more information on available commands, use:

omnifact-cli --help

Development

To set up the development environment:

  1. Install development dependencies:
pip install -r requirements.txt
  1. Run tests:
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any problems or have any questions, please open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages