{"id":20767147,"url":"https://github.com/archeb/cloud-chara-card","last_synced_at":"2026-07-02T22:31:55.938Z","repository":{"id":249634934,"uuid":"832060389","full_name":"Archeb/Cloud-Chara-Card","owner":"Archeb","description":"为 SillyTavern 角色卡设计的数字权利管理 (DRM) 方案","archived":false,"fork":false,"pushed_at":"2024-07-23T03:59:05.000Z","size":80,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-17T00:55:26.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cloud-chara-card.pages.dev/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Archeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T09:19:49.000Z","updated_at":"2025-03-26T02:12:27.000Z","dependencies_parsed_at":"2024-11-17T23:32:40.843Z","dependency_job_id":null,"html_url":"https://github.com/Archeb/Cloud-Chara-Card","commit_stats":null,"previous_names":["archeb/cloud-chara-card"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Archeb/Cloud-Chara-Card","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archeb%2FCloud-Chara-Card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archeb%2FCloud-Chara-Card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archeb%2FCloud-Chara-Card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archeb%2FCloud-Chara-Card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Archeb","download_url":"https://codeload.github.com/Archeb/Cloud-Chara-Card/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archeb%2FCloud-Chara-Card/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281761849,"owners_count":26557114,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-17T11:27:53.937Z","updated_at":"2025-10-30T07:02:44.410Z","avatar_url":"https://github.com/Archeb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud Character Card “云角色卡”方案\r\n\r\n为了防止角色卡设定和世界书轻易流出，设计此方案。\r\n\r\n该方案相当于在你的反代（或者LLM API）前面多加一层反代，这个反代负责把角色卡的内容和世界书填充进去，然后这个反代由角色卡作者控制。\r\n\r\n## 流程\r\n酒馆（空白卡只有卡面和作者预先设定好的可以被调整的参数，用户填入LLM API地址和token）-\u003e cloudflare worker/vercel/hf space等saas平台 -\u003e 填充设定和世界书 -\u003e LLM API\r\n\r\n## 防御效果\r\n如果要让用户能够自己指定API Endpoint地址，prompt还是能获取到的。但是通过增加暗桩等方案，他们很难获取到完整的世界书和触发机制。\r\n\r\n## 部署成本\r\n可以做成模板一键发布到cloudflare worker/vercel/hf space等saas平台，门槛不算特别高\r\n\r\n## 方案开发难度与维护成本\r\n低，该方案只需要进行一些参数的替换然后发给API后端即可。主要需要工作量的是权限管理部分。\r\n\r\n## 缺点\r\n~~角色卡作者会不可避免地从原理上能够获得LLM API Token，还有聊天记录（当然也完全可以匿名化处理）~~ \r\n\r\n通过使用hugging face等平台进行部署，可以做到代码可审计（同时角色卡受到保护），消除这方面的担忧。\r\n\r\n## 使用自定义API钓走prompt？\r\n为了防止这种事情，流程可以优化成：用户想要使用官方API或者OpenRouter等大代理站以外的自定义代理，则必须与卡片作者沟通，然后作者将其添加到代理白名单中。\r\n\r\n让要加proxy的手动在dc、qq等渠道私聊作者让他加。对于潜在的恶意转载者来说，这很麻烦而且低效率，增加了他暴露的风险；但是对于真正想玩的人和创作者来说，都不会太麻烦，同时有效地促进了沟通。\r\n\r\n## 更多可能性？\r\n\r\n- 本项目除了作为代理，还可以建立一个landing page。\r\n- 该landing page可以放置角色卡的介绍、一些自定义的元素比如背景音乐和图片、使用指引等\r\n- 作者想停止配布了也可以随时关闭，但是又不会影响玩家自己存在本地的聊天记录\r\n\r\n## Q\u0026A\r\nQ：如果想要改卡或者用自定义API怎么办\r\nA：角色卡作者可以预留被允许修改的参数，没设计的话那确实连user的名字都没办法改；API的话，角色卡作者可以设定是否允许请求openai、claude等以外的非官方API，但是有被偷走prompt的风险。\r\n\r\nQ：和电子魅魔网站、TG酒馆等Bot的区别？\r\nA：该方案是去中心化的，我们提供的只有模板，不用担心偷卡私有化或者盈利化等问题；角色卡作者们自己进行一键部署，托管到各大SaaS云平台，都有免费套餐，也不用担心被人攻击的问题（作者有很多，攻击不过来）","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcheb%2Fcloud-chara-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farcheb%2Fcloud-chara-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcheb%2Fcloud-chara-card/lists"}