[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EFAJRWY6CSR02GTQTZPZKZ":3,"skill-same:01M6EFAJRWY6CSR02GTQTZPZKZ":51},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":26,"frontMatter":27,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":33,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":35,"updatedAt":36,"install":37,"resources":50},"01M6EFAJRWY6CSR02GTQTZPZKZ","label-studio",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flabel-studio\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[23],"label studio","2026-11-10 10:12:30",false,"# Label Studio\n\n## Installation\n\n```bash\n# Install Label Studio\npip install label-studio\n\n# Start the server\nlabel-studio start --port 8080\n# Visit http:\u002F\u002Flocalhost:8080 to create account and first project\n```\n\n## Docker Deployment\n\n```yaml\n# docker-compose.yml — Production Label Studio with PostgreSQL\nversion: \"3.9\"\nservices:\n  label-studio:\n    image: heartexlabs\u002Flabel-studio:latest\n    ports:\n      - \"8080:8080\"\n    environment:\n      DJANGO_DB: default\n      POSTGRE_NAME: labelstudio\n      POSTGRE_USER: labelstudio\n      POSTGRE_PASSWORD: labelstudio\n      POSTGRE_HOST: db\n      POSTGRE_PORT: 5432\n      LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED: \"true\"\n      LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT: \u002Flabel-studio\u002Ffiles\n    volumes:\n      - ls-data:\u002Flabel-studio\u002Fdata\n      - .\u002Ffiles:\u002Flabel-studio\u002Ffiles\n    depends_on:\n      - db\n  db:\n    image: postgres:15\n    environment:\n      POSTGRES_DB: labelstudio\n      POSTGRES_USER: labelstudio\n      POSTGRES_PASSWORD: labelstudio\n    volumes:\n      - pg-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\nvolumes:\n  ls-data:\n  pg-data:\n```\n\n## Labeling Configuration (XML Templates)\n\n```xml\n\u003C!-- text_classification.xml — Sentiment classification labeling interface -->\n\u003CView>\n  \u003CHeader value=\"Classify the sentiment of this text:\"\u002F>\n  \u003CText name=\"text\" value=\"$text\"\u002F>\n  \u003CChoices name=\"sentiment\" toName=\"text\" choice=\"single\" showInline=\"true\">\n    \u003CChoice value=\"Positive\"\u002F>\n    \u003CChoice value=\"Negative\"\u002F>\n    \u003CChoice value=\"Neutral\"\u002F>\n  \u003C\u002FChoices>\n\u003C\u002FView>\n```\n\n```xml\n\u003C!-- ner_labeling.xml — Named entity recognition labeling interface -->\n\u003CView>\n  \u003CLabels name=\"label\" toName=\"text\">\n    \u003CLabel value=\"Person\" background=\"#FF0000\"\u002F>\n    \u003CLabel value=\"Organization\" background=\"#00FF00\"\u002F>\n    \u003CLabel value=\"Location\" background=\"#0000FF\"\u002F>\n    \u003CLabel value=\"Date\" background=\"#FFA500\"\u002F>\n  \u003C\u002FLabels>\n  \u003CText name=\"text\" value=\"$text\"\u002F>\n\u003C\u002FView>\n```\n\n```xml\n\u003C!-- image_bbox.xml — Image object detection with bounding boxes -->\n\u003CView>\n  \u003CImage name=\"image\" value=\"$image\"\u002F>\n  \u003CRectangleLabels name=\"label\" toName=\"image\">\n    \u003CLabel value=\"Car\" background=\"#FF0000\"\u002F>\n    \u003CLabel value=\"Person\" background=\"#00FF00\"\u002F>\n    \u003CLabel value=\"Bicycle\" background=\"#0000FF\"\u002F>\n  \u003C\u002FRectangleLabels>\n\u003C\u002FView>\n```\n\n## API: Import Tasks\n\n```python\n# import_tasks.py — Import labeling tasks via the API\nimport requests\n\nLS_URL = \"http:\u002F\u002Flocalhost:8080\"\nAPI_KEY = \"your-api-key-from-account-settings\"\nPROJECT_ID = 1\n\nheaders = {\"Authorization\": f\"Token {API_KEY}\"}\n\n# Import text classification tasks\ntasks = [\n    {\"data\": {\"text\": \"This product is amazing! I love it.\"}},\n    {\"data\": {\"text\": \"Terrible experience, would not recommend.\"}},\n    {\"data\": {\"text\": \"It's okay, nothing special.\"}},\n]\n\nresponse = requests.post(\n    f\"{LS_URL}\u002Fapi\u002Fprojects\u002F{PROJECT_ID}\u002Fimport\",\n    headers=headers,\n    json=tasks,\n)\nprint(f\"Imported {response.json()['task_count']} tasks\")\n```\n\n## API: Export Annotations\n\n```python\n# export_annotations.py — Export completed annotations for model training\nimport requests\nimport json\n\nLS_URL = \"http:\u002F\u002Flocalhost:8080\"\nAPI_KEY = \"your-api-key\"\nPROJECT_ID = 1\n\nheaders = {\"Authorization\": f\"Token {API_KEY}\"}\n\nresponse = requests.get(\n    f\"{LS_URL}\u002Fapi\u002Fprojects\u002F{PROJECT_ID}\u002Fexport?exportType=JSON\",\n    headers=headers,\n)\n\nannotations = response.json()\nfor task in annotations:\n    text = task[\"data\"][\"text\"]\n    label = task[\"annotations\"][0][\"result\"][0][\"value\"][\"choices\"][0]\n    print(f\"Text: {text[:50]}... → Label: {label}\")\n\n# Save for training\nwith open(\"labeled_data.json\", \"w\") as f:\n    json.dump(annotations, f, indent=2)\n```\n\n## Label Studio SDK\n\n```python\n# sdk_usage.py — Use the Python SDK for programmatic access\nfrom label_studio_sdk import Client\n\nls = Client(url=\"http:\u002F\u002Flocalhost:8080\", api_key=\"your-api-key\")\n\n# Create a new project\nproject = ls.start_project(\n    title=\"Customer Reviews\",\n    label_config=\"\"\"\n    \u003CView>\n      \u003CText name=\"text\" value=\"$text\"\u002F>\n      \u003CChoices name=\"sentiment\" toName=\"text\" choice=\"single\">\n        \u003CChoice value=\"Positive\"\u002F>\n        \u003CChoice value=\"Negative\"\u002F>\n      \u003C\u002FChoices>\n    \u003C\u002FView>\n    \"\"\",\n)\n\n# Import tasks\nproject.import_tasks([\n    {\"text\": \"Great product!\"},\n    {\"text\": \"Not worth the money.\"},\n])\n\n# Get annotated tasks\nlabeled = project.get_labeled_tasks()\nprint(f\"Completed annotations: {len(labeled)}\")\n```\n\n## ML Backend (Pre-labeling)\n\n```python\n# ml_backend.py — ML backend for pre-labeling \u002F active learning\nfrom label_studio_ml import LabelStudioMLBase\n\nclass SentimentPredictor(LabelStudioMLBase):\n    def setup(self):\n        from transformers import pipeline\n        self.classifier = pipeline(\"sentiment-analysis\")\n\n    def predict(self, tasks, **kwargs):\n        predictions = []\n        for task in tasks:\n            text = task[\"data\"][\"text\"]\n            result = self.classifier(text)[0]\n            predictions.append({\n                \"result\": [{\n                    \"from_name\": \"sentiment\",\n                    \"to_name\": \"text\",\n                    \"type\": \"choices\",\n                    \"value\": {\"choices\": [result[\"label\"].capitalize()]},\n                }],\n                \"score\": result[\"score\"],\n            })\n        return predictions\n```\n\n```bash\n# Start the ML backend\nlabel-studio-ml start .\u002Fml_backend --port 9090\n\n# Connect it to Label Studio project via Settings > Machine Learning\n```\n\n## Key Concepts\n\n- **Labeling configs**: XML templates defining the annotation interface — highly customizable\n- **Tasks**: Data items to be labeled, imported via API or UI\n- **Annotations**: Human labels on tasks, exportable in multiple formats (JSON, CSV, COCO, etc.)\n- **ML backends**: Connect models for pre-labeling and active learning workflows\n- **Webhooks**: Get notified when annotations are created or updated\n- **Multi-type**: Supports text, images, audio, video, HTML, and time-series in one platform\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Flabel-studio",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill label-studio",{"tool":43,"command":44},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill label-studio",{"tool":46,"command":47},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill label-studio","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Flabel-studio\u002FSKILL.md",true,[],[52,64,74,83,89,96],{"skillNo":53,"name":54,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":60,"publishedAt":24},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[57],{"categoryNo":58,"categoryName":59,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[61,62,63],"model","model hierarchy","model hierarchy skill",{"skillNo":65,"name":66,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":70,"publishedAt":24},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[69],{"categoryNo":58,"categoryName":59,"taxonomyType":20,"taxonomyTypeDesc":21},[71,72,73],"MCP","zoom","zoom mcp",{"skillNo":75,"name":76,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":24},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[80,81,82,72],"sdk","zoom apps sdk","apps",{"skillNo":84,"name":85,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":24},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[85],{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":24},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[94],{"categoryNo":58,"categoryName":59,"taxonomyType":20,"taxonomyTypeDesc":21},[91],{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":24},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[98]]