Pine
|
985b85cb4e
|
feat(oss): 统一OSS/CDN对象存储与直链出口体系
- infrastructure/oss.py 重写:服务端上传/预签名上下行/CDN鉴权直链(方式A)/resolve_url·to_object_path 出入口规范
- config.py 新增 OSS_REGION/OSS_CDN_BASE_URL/OSS_CDN_AUTH_KEY
- media_upload 统一走 oss 单例,返回 CDN 直链;dispatcher /oss 前缀路由
- 管理端用户列表头像出口 CDN 化
|
2026-08-28 17:17:38 +08:00 |
|
Pine
|
0cdcdeed26
|
feat(auth): 关闭所有微信登录(开放平台扫码),只保留小程序登录
- AUTH_WECHAT_QR 默认 false(禁用微信扫码OAuth); AUTH_WECHAT_LOGIN 默认 true(小程序登录开启)
- mp-qr/start 改挂 AUTH_WECHAT_LOGIN(小程序); /auth/status login_modes 不含 wechat
|
2026-08-26 12:25:53 +08:00 |
|
Pine
|
fa06678e92
|
feat(auth): 运行环境(生产/开发)+ 小程序码版本(体验版trial/正式版release)可配
- PINEAGENTS_ENV=prod|dev 判定运行环境; /auth/status 回显 env + wxacode_env 以便确认
- PINEAGENTS_WXACODE_ENV=release|trial|develop 决定小程序码指向(默认 prod→release, dev→trial=体验版)
- get_wxacode 用该 env_version(支持体验版测试)
|
2026-08-26 12:21:30 +08:00 |
|
Pine
|
32ca580a06
|
feat(auth): 统一四种登录 —— 短信演示码123456 + 微信扫码OAuth + 小程序扫码
- sms stub 固定演示码123456
- 微信扫码(开放平台标准OAuth): /auth/wx-qr/start|wx-callback(GET/POST)|wx-qr/poll
- 小程序扫码: /auth/mp-qr/start|poll|confirm
- /auth/status 返回四 login_modes;WECHAT_OPEN_APPID/SECRET、AUTH_WECHAT_QR、WECHAT_QR_REDIRECT_URI 配置
|
2026-08-25 22:47:27 +08:00 |
|
Pine
|
a976ce194e
|
refactor(auth): 统一登录=账号密码+手机号验证码, 微信扫码预留(本期未开放)
- auth/status 返回 login_modes([password,phone]) + wechat_login 标志, 供各端渲染(VITE 按此显示)
- wx-login 用 config.AUTH_WECHAT_LOGIN(默认 false) 闸门, 未开放返回 503'微信登录预留中'
- 本期所有端口两种登录模式; 微信扫码后期拓展
|
2026-08-25 16:25:50 +08:00 |
|
Pine
|
515735b772
|
feat(compute): 用户端算力中心 base 地址支持公网配置(PINEAGENTS_COMPUTE_PUBLIC_BASE)
- config 加 COMPUTE_PUBLIC_BASE; /opc/compute/base 优先用公网, 回落 request.base_url
- 避免经代理显示 127.0.0.1 内部地址; 用户可获真实可用的 /v1 接入地址
|
2026-08-25 14:08:26 +08:00 |
|
Pine
|
1ca2e38559
|
feat(compute): 算力引擎对接改造 + 用户生命周期自动同步
- config: 置顶 load_dotenv(.env),修复 .env 未生效;COMPUTE_ADMIN_TOKEN 改读 PINEAGENTS_INTERNAL_TOKEN(回退旧名),新增独立 COMPUTE_RELAY_TOKEN
- compute_client: 空令牌不下发 Bearer(避免 httpx 非法头);proxy 空令牌返 503 中文诊断;新增 sync_user_enabled/sync_delete_user
- relay: /v1 转发改走 COMPUTE_RELAY_TOKEN(真实消费令牌),空令牌不下发
- rbac_admin: 平台用户创建→自动建引擎账号+签PAT;启用/禁用→同步引擎状态;删除→同步删引擎账号(最佳努力,失败静默)
|
2026-08-25 12:08:14 +08:00 |
|
Pine
|
b90539a013
|
feat(server): 统一登录+算力打通(port 阶段0-1)落地四层架构
- 登录:/auth/send-code·phone-login·wx-login·wx-phone(复用 RBAC 签发)
- 算力:services/compute_client(loopback :3000)+ /admin/compute/ping·provision
- /v1 relay 改走 compute-engine(前端不直连引擎)
- 模型:User 补 wx_openid/phone;仓储 async create+新方法
- 契约:api/schemas(auth/compute)Pydantic
|
2026-08-24 14:16:34 +08:00 |
|
Pine
|
0c0e2586ed
|
feat: serverdata 资源目录 + serverrun 运维编排
- serverdata/:统一承载全部资源目录(data/logs/files/keys/prompts/uploads)
- data/→serverdata/data、templates/→serverdata/prompts、uploads/→serverdata/uploads
- config.py 集中 serverdata 路径;培训子应用 db/uploads 指到 serverdata
- serverrun/:start.sh(初始化资源目录+启动 dispatcher)、Dockerfile、docker-compose(core+compute-engine+redis+mysql)
- 66 测试全绿
|
2026-08-24 00:42:35 +08:00 |
|
Pine
|
980a2db6d9
|
refactor: 平台应用异步四层架构(接口/业务/领域/基础设施)
- 基础设施层 async:SQLAlchemy 异步引擎/会话、33 Repository async 化、models/security/seed 迁入 infrastructure、新增 cache.py(redis.asyncio) 与 oss.py(aioboto3)
- 接口层:routers 迁 api/routers 并全 async,dependencies 迁 api/dependencies(get_db/get_current_user async)
- 依赖:sqlalchemy[asyncio]/aiosqlite/asyncmy/redis/aioboto3;config 异步 URL + Redis/OSS 配置
- 删除废弃:旧同步 db/dependencies/repositories/storage
- 验证:平台 19 路由 + 培训 48 路由全注册;/health /auth/login /auth/me /admin/tasks /notifications 等接口 async 可用
|
2026-08-23 23:52:58 +08:00 |
|
Pine
|
26fa546f67
|
feat: 核心服务端基础框架(身份/平台 API)
- 七端口 RBAC、select-identity、JWT、审计
- FastAPI + SQLAlchemy + SQLite,/auth /opc /admin /agents 等路由
|
2026-08-23 22:35:59 +08:00 |
|