{"id":28373824,"url":"https://github.com/twinnydotdev/symmetry-cli","last_synced_at":"2025-07-09T04:05:42.817Z","repository":{"id":248300880,"uuid":"827038211","full_name":"twinnydotdev/symmetry-cli","owner":"twinnydotdev","description":"The client for the Symmetry peer-to-peer inference network. Enabling users to connect with each other, share computational resources, and collect valuable machine learning data.","archived":false,"fork":false,"pushed_at":"2025-03-17T09:35:43.000Z","size":1225,"stargazers_count":26,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-12T00:09:42.809Z","etag":null,"topics":["ai","artificial-intelligence","encryption","holepunching","hyperswarm","inference","llms","localllm","network","p2p","vscode-extension"],"latest_commit_sha":null,"homepage":"https://docs.twinny.dev/general/symmetry/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twinnydotdev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-10T22:37:40.000Z","updated_at":"2025-05-25T21:57:27.000Z","dependencies_parsed_at":"2024-08-05T15:49:03.484Z","dependency_job_id":"c77b04b7-f0ba-445d-9ba1-8e5f63f860fe","html_url":"https://github.com/twinnydotdev/symmetry-cli","commit_stats":null,"previous_names":["twinnydotdev/twinny-mind","twinnydotdev/symmetry-cli"],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/twinnydotdev/symmetry-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twinnydotdev%2Fsymmetry-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twinnydotdev%2Fsymmetry-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twinnydotdev%2Fsymmetry-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twinnydotdev%2Fsymmetry-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twinnydotdev","download_url":"https://codeload.github.com/twinnydotdev/symmetry-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twinnydotdev%2Fsymmetry-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264390709,"owners_count":23600562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","artificial-intelligence","encryption","holepunching","hyperswarm","inference","llms","localllm","network","p2p","vscode-extension"],"created_at":"2025-05-29T20:37:32.850Z","updated_at":"2025-07-09T04:05:42.798Z","avatar_url":"https://github.com/twinnydotdev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Symmetry\n\nUse this repository to become an inference provider on the Symmetry network.\n\nSymmetry is a distributed peer-to-peer network tool that allows users to share computational resources for AI inference. It enables users to connect directly and securely with each other, offering or seeking computational power for various AI tasks.\n\n## Features\n\n- Decentralized peer-to-peer network\n- YAML-based configuration\n- Privacy options\n- Optional data collection for providers\n- Compatible with various AI inference providers\n\n## Installation\n\nTo install Symmetry, use the following commands:\n\nFor Linux and macOS:\n```bash\ncurl -fsSL https://www.twinny.dev/symmetry-unix.sh | sh\n```\n\nFor Windows:\n```powershell\niwr -useb https://www.twinny.dev/symmetry-windows.ps1 | iex\n```\n\n## Usage\n\nTo start Symmetry, run which will create a config file and detect your provider.\n\n```bash\nsymmetry-cli start\n```\n\nYou will then be joined with the symmetry server and ready for connections!\n\n```bash\nℹ️ INFO: 🔗 Initializing client using config file: /home/twinnydotdev/.config/symmetry/provider.yaml\nℹ️ INFO: 📁 Symmetry client initialized.\nℹ️ INFO: 🔑 Discovery key: xxx\nℹ️ INFO: 🔑 Server key: 4b4a9cc325d134dee6679e9407420023531fd7e96c563f6c5d00fd5549b77435\nℹ️ INFO: 🔗 Joining server, please wait.\nℹ️ INFO: 🔗 Connected to server.\nℹ️ INFO: 👋 Saying hello to your provider...\nℹ️ INFO: 🚀 Sending test request to http://localhost:11434/v1/chat/completions\nℹ️ INFO: 📡 Got response, checking stream...\nℹ️ INFO: ✅ Test inference call successful!\n```\n\nBy default, Symmetry looks for its configuration file at `~/.config/symmetry/provider.yaml`. To use a different configuration file, use:\n\n```bash\nsymmetry-cli start -c /path/to/your/provider.yaml\n```\n\n## Configuration\n\nHere's an example `provider.yaml` configuration:\n\n```yaml\napiHostname: localhost  # The hostname of the API server.\napiKey:  # The API key for authentication.\napiBasePath: /v1  # The endpoint path for the api.\napiPort: 11434  # The port number on which the API server is listening.\napiProtocol: http  # The protocol used to communicate with the API server.\nmodelName: llama3.1:latest  # The name and version of the AI model to use.\nname: twinnydotdev  # Your chosen name as a provider on the Symmetry network.\nserverKey: 4b4a9cc325d134dee6679e9407420023531fd7e96c563f6c5d00fd5549b77435  # The unique key for connecting to the Symmetry server.\nsystemMessage: \"I'm a system message\" # An optional system message for each conversation.\nuserSecret: # The secret key for user authentication and points tracking.\n```\n\nAdjust these settings according to your preferences and setup.\n\n## Architecture\n\n```mermaid\ngraph TB\n    S[Symmetry Server]\n    \n    subgraph \"Inference Providers\"\n        P1[Provider 1]\n        P2[Provider 2]\n        P3[Provider 3]\n    end\n    \n    subgraph \"Clients\"\n        C1[Client 1 Requests Model B]\n        C2[Client 2 Requests Model C]\n    end\n    \n    P1 \u003c--\u003e |\"1. Connect \u0026 Auth \u0026 Register Model\"| S\n    P2 \u003c--\u003e |\"1. Connect \u0026 Auth \u0026 Register Model\"| S\n    P3 \u003c--\u003e |\"1. Connect \u0026 Auth \u0026 Register Model\"| S\n    \n    C1 -- \"2. Connect\" --\u003e S\n    C2 -- \"2. Connect\" --\u003e S\n    \n    S -- \"3. Assign Provider based on Model\" --\u003e C1\n    S -- \"3. Assign Provider based on Model\" --\u003e C2\n    \n    C1 \u003c--\u003e |\"4. Inference Request/Response\"| P2\n    C2 \u003c--\u003e |\"4. Inference Request/Response\"| P3\n```\n\n## Development\n\nTo set up Symmetry for development:\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/twinnydotdev/symmetry.git\n   cd symmetry\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Build the project:\n   ```bash\n   npm run build\n   ```\n\n4. Start the development server:\n   ```bash\n   npm run dev\n   ```\n\n## Contributing\n\nContributions are welcome! Please submit your pull requests to the [GitHub repository](https://github.com/twinnydotdev/symmetry/pulls).\n\n## License\n\nThis project is licensed under the [Apache 2.0 Licence](https://github.com/twinnydotdev/symmetry/blob/master/LICENCE).\n\n## Support\n\nIf you encounter any issues or have questions, please [open an issue](https://github.com/twinnydotdev/symmetry/issues) on GitHub.\n\n## Acknowledgments\n\nWe thank [Hyperswarm](https://github.com/holepunchto/hyperswarm) for providing the underlying peer-to-peer networking capabilities.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwinnydotdev%2Fsymmetry-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwinnydotdev%2Fsymmetry-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwinnydotdev%2Fsymmetry-cli/lists"}