Skip to content

Commit 4a47ee6

Browse files
authored
Merge pull request #3865 from kev1n77/fmy/skin
feat(visual-skin): replace legacy skin market with declarative skin packs
2 parents 4e7e25d + 5207c71 commit 4a47ee6

336 files changed

Lines changed: 8626 additions & 45334 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎Cargo.lock‎

Lines changed: 0 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ members = [
88
"src/apps/server",
99
"src/apps/relay-server",
1010
"src/apps/miniapp-market-server",
11-
"src/apps/skin-market-server",
1211
"src/crates/interfaces/acp",
1312
"src/crates/interfaces/app-server",
1413
"src/crates/interfaces/app-server-client",
@@ -37,7 +36,6 @@ members = [
3736
"src/crates/services/legacy-migration",
3837
"src/crates/services/legacy-migration-adapters",
3938
"src/crates/services/miniapp-market-service",
40-
"src/crates/services/skin-market-service",
4139
"src/crates/services/relay-service",
4240
"src/crates/services/page-function-runtime",
4341
"src/crates/services/terminal",

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ Install and reuse the apps you build, or explore the [Mini App Marketplace](http
9696

9797
- **Build a specialist agent.** Choose a model, define its role, and equip it with the tools and workflows it needs for motion comic production, visual design, code review, or your own field.
9898
- **Connect tools and workflows.** Connect tools through MCP, turn repeatable processes into Skills, and use Hooks to customize how tasks run.
99-
- **Change the interface and source.** Install [skins](https://market.openbitfun.com/skin/) for a new look, or modify the UI, tools, and runtime source to build your own version of OpenBitFun.
99+
- **Change the interface and source.** Choose a built-in theme, or modify the UI, tools, and runtime source to build your own version of OpenBitFun.
100100

101101
**You can ask OpenBitFun's Code Agent to modify and extend OpenBitFun itself.**
102102

@@ -133,7 +133,7 @@ Getting there means making long-running tasks more reliable, the runtime more ef
133133

134134
**Share what you build, offer feedback, or contribute code to help shape OpenBitFun.**
135135

136-
Share your use cases and experience, contribute agents, Skills, Mini Apps, or skins, or help improve the docs, interface, and runtime. Ideas and questions are welcome in this repository's Issues and Discussions. See the [contribution guide](./CONTRIBUTING.md) for the development workflow.
136+
Share your use cases and experience, contribute agents, Skills, or Mini Apps, or help improve the docs, interface, and runtime. Ideas and questions are welcome in this repository's Issues and Discussions. See the [contribution guide](./CONTRIBUTING.md) for the development workflow.
137137

138138
<details>
139139
<summary>Download, setup, and running from source</summary>

‎README.zh-CN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你
9696

9797
- **定制专属 Agent。** 围绕漫剧创作、视觉设计、代码评审等领域,选择模型、设定角色,组合需要的工具与工作方法。
9898
- **接入工具与流程。** 通过 MCP 连接专业工具,把常用工作方法保存为 Skills,用 Hooks 扩展任务执行流程。
99-
- **改变界面与源码。** 安装[皮肤](https://market.openbitfun.com/skin/)调整外观,也可以修改 UI、工具与 Runtime 源码,构建自己的 OpenBitFun。
99+
- **改变界面与源码。** 选择内置主题调整外观,也可以修改 UI、工具与 Runtime 源码,构建自己的 OpenBitFun。
100100

101101
**你可以直接让 OpenBitFun 的 Code Agent 修改和扩展 OpenBitFun 本身。**
102102

‎deploy/README.md‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ own environment before running commands.
1111
| --- | --- |
1212
| [market-data-migration/](market-data-migration/README.md) | Legacy market data migration tooling |
1313
| [miniapp-market/](miniapp-market/README.md) | MiniApp market |
14-
| [skin-market/](skin-market/README.md) | Skin market |
1514
| [relay-v1/](relay-v1/README.md) | Versioned Relay deployment |
1615
| [outbound-mail/](outbound-mail/README.md) | Send-only Postfix/OpenDKIM: auth integration, DNS, maintenance and rollback |
1716
| [model-router/](model-router/README.md) | Client-side router launcher and system prompt |
@@ -20,7 +19,6 @@ Component source guides:
2019

2120
- Relay: [`src/apps/relay-server/README.md`](../src/apps/relay-server/README.md)
2221
- MiniApp market server: [`src/apps/miniapp-market-server/README.md`](../src/apps/miniapp-market-server/README.md)
23-
- Skin market service: [`src/crates/services/skin-market-service/README.md`](../src/crates/services/skin-market-service/README.md)
2422

2523
For deployment changes, read the relevant component guide and keep every
2624
example hostname, path, and credential as a placeholder.

‎deploy/market-data-migration/README.md‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ python3 -m unittest test_migrate_market_data_v1.py
2525
## Related guides
2626

2727
- MiniApp market: [`../miniapp-market/README.md`](../miniapp-market/README.md)
28-
- Skin market: [`../skin-market/README.md`](../skin-market/README.md)
2928
- Relay: [`../relay-v1/README.md`](../relay-v1/README.md) and
3029
[`../../src/apps/relay-server/README.md`](../../src/apps/relay-server/README.md)
3130
- Outbound mail: [`../outbound-mail/README.md`](../outbound-mail/README.md)

‎deploy/miniapp-market/README.md‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ MiniApp 市场网页源码在 `src/miniapp-market-web/`,后端入口在
3838
3939
不要单独上传 `dist/`,也不要在服务器上直接改源码。
4040
41-
Skin 市场复用本服务的 GitHub OAuth、桌面 token 和 Web 会话别名。修改
42-
`miniapp-market-service/src/auth.rs`、`routes.rs` 或 OAuth 回跳参数时,必须同时
43-
验证 Skin 的“我的投稿”和“审核”接口;Skin 容器只能通过它自己的部署手册和
44-
专用 checkout 更新,不能从 MiniApp Compose 项目重建。
45-
4641
## 部署边界
4742
4843
本目录只能部署 MiniApp 市场。如果同一主机上还运行 Relay、官网或其他服务,不要
@@ -497,8 +492,8 @@ backup root;不要放宽该保护。
497492

498493
GitHub OAuth App 的注册 callback 为
499494
`https://auth.example.com/api/v1/auth/github/callback`。统一入口将 code/state 原样转交市场的兼容完成端点;只有市场
500-
host 写入两组 host-only Cookie(`/miniapp` 与 `/skin`),然后桌面授权跳转到
501-
独立完成页;不要通过 `Domain=.example.com` 扩大 Cookie 信任范围。桌面
495+
host 写入 host-only Cookie(`/miniapp`),然后桌面授权跳转到独立完成页;不要通过
496+
`Domain=.example.com` 扩大 Cookie 信任范围。桌面
502497
poll token 仍受一次性 transaction secret 约束。旧市场 API 与旧完成页路径保留,
503498
已有安装无需手动迁移。
504499

@@ -515,7 +510,7 @@ API 的 Relay/客户端。两个市场各自的网页仍在所属 Compose 项目
515510
## 邮箱验证码发布补充
516511

517512
邮箱登录与 GitHub 登录是独立账号,不自动绑定或合并。部署前需同时验证身份服务、
518-
当前版本 Relay 和 Skin 身份消费者;保留旧 GitHub 数字账号及旧授权启动行为。
513+
当前版本 Relay 身份消费者;保留旧 GitHub 数字账号及旧授权启动行为。
519514
客户端使用 `methods=all` 主动选择统一登录页,旧客户端继续走原 GitHub URL。
520515

521516
SMTP 配置单独存放在 `/etc/openbitfun-miniapp-market/smtp.env`,root:root 0600,

‎deploy/miniapp-market/nginx-market.conf‎

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -37,58 +37,12 @@ server {
3737
proxy_read_timeout 60s;
3838
}
3939

40-
location = /skin {
41-
return 308 https://market.example.com/skin/;
42-
}
43-
44-
location ^~ /skin/ {
45-
client_max_body_size 100m;
46-
error_page 413 = @skin_payload_too_large;
47-
error_page 429 = @skin_rate_limited;
48-
limit_req zone=skin_market_api burst=30 nodelay;
49-
limit_req zone=skin_market_upload burst=2 nodelay;
50-
limit_req_status 429;
51-
limit_conn skin_market_connections 8;
52-
limit_conn_status 429;
53-
54-
proxy_pass http://127.0.0.1:9720;
55-
proxy_http_version 1.1;
56-
proxy_request_buffering off;
57-
proxy_buffering on;
58-
59-
proxy_set_header Host $host;
60-
proxy_set_header X-Forwarded-Host $host;
61-
proxy_set_header X-Forwarded-Proto https;
62-
# The http-level Skin config accepts XFF only from the explicit WAF
63-
# peer set. Forward one normalized address instead of the caller chain.
64-
proxy_set_header X-Real-IP $skin_market_client_address;
65-
proxy_set_header X-Forwarded-For $skin_market_client_address;
66-
proxy_set_header X-Request-ID $request_id;
67-
68-
proxy_connect_timeout 5s;
69-
proxy_send_timeout 300s;
70-
proxy_read_timeout 300s;
71-
}
72-
7340
location @market_payload_too_large {
7441
default_type application/json;
7542
add_header X-Request-ID $request_id always;
7643
return 413 '{"error":{"code":"payload_too_large","message":"Uploads must not exceed 25 MiB.","requestId":"$request_id"}}';
7744
}
7845

79-
location @skin_payload_too_large {
80-
default_type application/json;
81-
add_header X-Request-ID $request_id always;
82-
return 413 '{"error":{"code":"payload_too_large","message":"Appearance uploads must not exceed 96 MiB.","requestId":"$request_id"}}';
83-
}
84-
85-
location @skin_rate_limited {
86-
internal;
87-
default_type application/json;
88-
add_header X-Request-ID $request_id always;
89-
return 429 '{"error":{"code":"rate_limited","message":"Too many Skin market requests. Retry shortly.","requestId":"$request_id"}}';
90-
}
91-
9246
location / {
9347
return 404;
9448
}

0 commit comments

Comments
 (0)