Commit Graph
83 Commits
Author SHA1 Message Date
chakcy ac8b563c7d fix: --encrypt/--license 构建链修复(网关收集项、[license] 注入点、契约测试)
- config.toml:--encrypt 会先 PyArmor 混淆 main.py / server.py,PyInstaller 静态
  分析跟不到里面的 `from chongming.app import app`,网关包整个漏收(打包"成功"、
  产物启动即报 No module named 'chongming')—— 收集清单显式列出 chongming /
  chongming.app 等入口包,注释也从"静态分析可跟到"改准;
- public/config.toml:补 [license] 段(public_key 留空),--license 的注入点,
  缺了会在 prepare 阶段报"未找到 [license] 段的 public_key";
- README:补 --license 的公钥前置条件(keygen → license_public.key 或环境变量);
- test_build_flags.py:4 条契约守卫 —— 真实模板/骨架可注入 [license]、收集清单含
  网关入口包、加密包密钥写进包内且按运行端口径(get_key())可导入。此前用例都
  自造 config.toml,这两类模板漂移测不出来。

实测(device-hub):修复前 --encrypt --license 产物启动报错;修复后网关启动、
授权校验通过、插件从加密 mbank 正常加载、HTTP 正常返回。
2026-10-14 15:29:29 +08:00
chakcy 774f44f830 test: 构建开关测试适配授权烘焙(--license 可选、缺公钥不再出砖头包)
prepare 现在把"是否为授权版"烘焙进 chongming/_build_flags.py:
- 默认(不加 --license):断言烘焙 enforce=False,产物不校验、插件照常加载
- --license 缺公钥:仍断言构建失败;ALLOW_NO_KEY=1 放行时断言降级为非授权版
- --license + 公钥:改用合法的 base64 Ed25519 公钥(构建期会校验格式),
  断言注入 config.toml 之外还烘焙了 enforce=True + 公钥 + 指纹,且生成物是
  合法 Python;新增非法公钥应终止构建的用例
- 测试结束恢复构建 venv 内的烘焙标记(不留副作用)
2026-10-14 10:57:14 +08:00
chakcy 4cdb9c7049 add: 补充回归测试(build 开关/资源档位、日志 fork、插件迁移与依赖清单、父进程死亡、worker 疑似失联) 2026-10-13 17:29:38 +08:00
chakcy fe96fc9b6c docs: 说明文件重整(README 改使用导向,运维细节移入 docs/worker-management.md) 2026-10-13 17:29:38 +08:00
chakcy 6d087fa4e3 modify: 网关拆为独立包 chongming-gateway(源码迁出到 utils/gateway,打包只留 plugins.mbank) 2026-10-13 17:29:38 +08:00
chakcy ac7ddb7445 modify: 依赖 chongming-worker 0.5.0(启用 inline 进程内直调快路径) 2026-10-13 02:15:34 +08:00
chakcy b1fed6f4b5 modify: inline 插件进程内直调快路径(external 不受影响,含 inline/external 一致性测试) 2026-10-13 01:59:08 +08:00
chakcy c87b7baa64 modify: JWT 结果加进程内一级缓存(L1),免每请求共享缓存同步往返(+45~68% 吞吐) 2026-10-13 01:59:05 +08:00
chakcy c92b34a55f modify: 访问日志中间件改纯 ASGI,高并发下回收 30~50% 吞吐(含异常补记 500) 2026-10-13 01:59:05 +08:00
chakcy 2df1e7266c modify: 集成 granian/uvicorn(gunicorn 保留),启动参数保持现状用函数转换 2026-10-13 01:59:00 +08:00
chakcy 3a359fa485 modify: 微服务演进 2026-10-02 11:54:46 +08:00
chakcy a0a65093c4 modify chongming-worker 2026-09-18 15:36:43 +08:00
chakcy b4a5985fe6 modify: inline 插件配置按模式对齐(网关侧兜底,兼容未升级的 worker 包)
现象:cache 模式下应用重启后插件仍按 toml 跑,而前端(读缓存)显示的是缓存值。
根因:跑起来的产物里 chongming-worker 是索引里的发布版(uv run build / uv sync 会把
uv pip install -e utils/worker 的可编辑安装替换回锁文件版本),旧版 Plugin.create_workers
在 on_init 时只拿到 config/workers/<type>/config.toml 展平出来的配置。

改动(两层对齐,规则与 SDK 一致且幂等):
- WorkerManager.align_inline_config:创建 inline 副本之前按 [cache].launch_worker_count
  对齐 [workers.config]——cache 模式取缓存值(缺失才用 toml 引导并写回),toml 模式以
  文件为准并把该段覆盖写入缓存;未配置缓存后端时原样返回。网关侧这层让网关与 worker
  包版本解耦:worker 包仍是旧版时 cache 模式同样生效。
- _discover_plugins 透出 [workers.config] 展平前的原始段;load_workers 在注册 starter/
  创建副本之前完成对齐(插件实例 on_init 用的就是这份配置)。
- test/test_inline_config_align.py:两模式 + 无缓存/无段的边界用例,并校验缓存键与 SDK 一致。
- README:补打包陷阱(可编辑安装会被 uv sync 替换回发布版)与对齐时机说明。
2026-09-18 15:23:13 +08:00
chakcy d252eb87e1 modify 修复前端展示配置与实际插件配置不一致的bug 2026-09-17 15:33:35 +08:00
chakcy 3aa5087f96 modify: sqlite_vfs v0.2.0 2026-09-14 10:34:22 +08:00
chakcy 7cb5771e06 modify: auth插件拆分,将token签发部分交给网关 2026-09-10 16:43:17 +08:00
chakcy 93be99141f modify: 清除diskcache依赖 2026-09-04 14:50:34 +08:00
chakcy eaf4089b6f modify: worker重启失败 bug 修复 2026-09-02 11:34:30 +08:00
chakcy ae37d282b4 modify: rust插件 2026-08-31 16:34:13 +08:00
chakcy 2db6e24899 modify: worker 管理多进程副本 2026-08-28 16:19:31 +08:00
chakcy 2baef7cf2f modify: 分布式方案 2026-08-27 17:06:03 +08:00
chakcy 53f2ac236e modify: 多worker模式插件扩缩容问题 2026-08-27 15:46:44 +08:00
chakcy eb2529e6c3 modify: public 配置变更 2026-08-27 10:13:03 +08:00
chakcy 378128fc16 modify: worker 管理端点 2026-08-27 09:49:47 +08:00
chakcy 2270f2f6e8 modify: 进程插进目录结构更新 2026-08-26 09:37:31 +08:00
chakcy 741d7cda09 modify:进程插件开发环境目录结构变更 2026-08-25 17:03:35 +08:00
chakcy d8cb69bb6b modify: 依赖环境变更发布正式软件包 2026-08-25 14:49:49 +08:00
chakcy 4d6b759a1b modify: 日志重复问题 2026-08-25 09:29:27 +08:00
chakcy eeffc06841 modify: 测试 2026-08-23 05:10:27 +08:00
chakcy a1be33376e modify: 性能优化 2026-08-23 04:34:05 +08:00
chakcy 8b13ed17e6 modify: json 解析优化 2026-08-22 03:53:31 +08:00
chakcy 440efa716f modify: rust worker 2026-08-22 03:26:50 +08:00
chakcy 5ba1a2a8cd modify: S3对象存储 2026-08-21 15:30:28 +08:00
chakcy c0b9d7e75f modify 进程插件开发文档 2026-08-21 14:55:31 +08:00
chakcy cc8713d5e7 modify: 流式输出 2026-08-21 14:40:36 +08:00
chakcy 94c50353f4 modify:网关配置控制amqtt broker 2026-08-21 09:45:47 +08:00
chakcy 46ac6a748a modify: 为uv run build添加仅替换mbank的参数 2026-08-20 15:03:31 +08:00
chakcy 41ae36f34d modify: chongming-cli 2026-08-19 17:28:23 +08:00
chakcy 679f9e4259 modify:日志命名问题 2026-08-19 11:44:29 +08:00
chakcy ba384df5c2 add: deploy/chongming.service systemd 单元,管理 Nuitka 打包应用(工作目录/非特权用户/优雅停机/自愈重启) 2026-08-18 12:31:20 +08:00
chakcy 983afa6957 modify: MQTT Bridge 兼容非信封原始报文(盒子心跳)——不再丢弃,整包视为 data 路由,与 worker 运行时容错语义一致;每主题仅告警一次 2026-08-18 12:31:20 +08:00
chakcy 39bf39bd86 modify: chongming-database/worker 升至 0.2.0(PostgreSQL 支持);打包清单补充 asyncpg 2026-08-17 17:28:27 +08:00
chakcy 9d1166dcfa add chongming-cache 2026-08-17 15:16:36 +08:00
chakcy a99c5ebacc add: 进程插件打包命令 build_plugin;RouteRegistry 常驻订阅与插件盘扫解耦(external 插件无需网关侧配置) 2026-08-17 14:34:22 +08:00
chakcy 2c625f4b04 modify: uv.lock 依赖重新解析(amqtt 0.12.0 等升级,MQTT e2e 已验证) 2026-08-14 18:26:53 +08:00
chakcy ade4f394bc modify: README 补充混合部署与进程插件隔离架构(动态路由注册/容器部署/命令入口) 2026-08-14 18:22:59 +08:00
chakcy 26188b94b9 modify: README 标注 workers/ 为本地开发目录 2026-08-14 18:07:38 +08:00
chakcy 326ae1fae6 modify: workers/ 移出版本控制(开发期本地目录,容器内独立部署) 2026-08-14 18:07:22 +08:00
chakcy 1995b2d170 modify: worker 运行时下沉 chongming-worker SDK——进程插件与网关零导入关系 2026-08-14 18:04:57 +08:00
chakcy 1f727bcdd7 add: workers/ 进程插件目录 + demo 示例(external 模式经 Zenoh 注册路由) 2026-08-14 17:44:19 +08:00
chakcy b9498750ff modify: 混合模式——按插件 load_mode 共存(inline/external 由 Docker/K8s 编排) 2026-08-14 17:34:06 +08:00
chakcy fe4d5af9cd modify: P1 独立进程经 Zenoh 注册路由(load_mode 双模式共存) 2026-08-14 17:24:25 +08:00
chakcy b89881ce64 modify: 脚本 ruff F541 清理 2026-08-14 16:33:04 +08:00
chakcy d51633db4d modify: ruff 清理 + 单例锁持有者释放 + 移除死代码 2026-08-14 16:31:37 +08:00
chakcy 2eb5cc23cb modify: 多仓库开发引导与发布检查清单(plugins/config/web/utils 独立仓库约定) 2026-08-14 16:28:08 +08:00
chakcy 1be7d55e15 modify: 锁定 chongming-request 信封协议版本 (3800d5f) 2026-08-14 16:20:02 +08:00
chakcy f2a3a37389 modify: 统一插件风格 2026-08-14 16:03:49 +08:00
chakcy fe95a67e93 modify: 插件初始化 2026-08-12 10:18:34 +08:00
chakcy 58a889dc6b modify amqtt broker启动问题 2026-08-10 09:33:01 +08:00
chakcy 7f31591b22 modify: mqtt 启动 2026-08-07 18:26:01 +08:00
chakcy 3cc29aad80 modify: internal_mqtt 测试 2026-08-07 16:40:34 +08:00
chakcy d340ab2e19 modify: chongming-mqtt 应用 2026-08-07 14:28:03 +08:00
chakcy 0049045ead modify: mqtt额外主题 2026-08-07 09:39:29 +08:00
chakcy 6037c098e9 modify: uvloop 异步运行时 2026-08-06 16:40:07 +08:00
chakcy 44ffee79c7 modify: 说明文档 2026-08-05 18:18:48 +08:00
chakcy 42aa007253 modify: 打包错误提示 2026-08-05 14:48:57 +08:00
chakcy cc926c8bd3 modify: 打包配置 2026-08-05 14:20:04 +08:00
chakcy c4a539f8d4 modify: 修复未找到如何 RPC 方法的问题 2026-08-03 17:04:52 +08:00
chakcy 49229977e7 modify: 插件配置由插件自己管理,取消全局配置 2026-08-03 16:55:32 +08:00
chakcy 83a9824686 modify 算能接口适配 2026-08-03 15:03:50 +08:00
chakcy 3e9f54035a modify: 依赖打包调整 2026-07-31 17:22:57 +08:00
chakcy f7eab17164 modify: 插件日志 2026-07-31 16:52:50 +08:00
chakcy 2a85b8b724 modify: aiofile 文件覆盖问题 2026-07-28 16:19:45 +08:00
chakcy cd0f7d89f2 modify: 上报接口 422 问题 2026-07-28 15:45:01 +08:00
chakcy 292605e446 modify: sophon 视频文件上传、告警接口 2026-07-28 14:13:43 +08:00
chakcy 8db26c08a0 public/utils 2026-07-27 16:52:55 +08:00
chakcy edf777fcaa modify: mqtt 2026-07-27 14:25:29 +08:00
chakcy 3ee018e3dd modify: amqtt 打包支持 2026-07-24 18:53:36 +08:00
chakcy a29155e033 modify: mqtt broker 适配 2026-07-24 16:33:23 +08:00
chakcy a9ff99959d modify: 添加 internal 路由屏蔽 2026-07-24 15:14:18 +08:00
chakcy b5aa970213 modify: jwt 完善 2026-07-23 17:29:26 +08:00
chakcy a25ec7630f modify: README.md 文档 2026-07-21 16:12:13 +08:00
chakcy 37434cf207 add first commit 2026-07-21 15:39:47 +08:00