en un clic
aim-shared-domain
aim 的进程内共享包域。对应 `app/shared` 模块。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
aim 的进程内共享包域。对应 `app/shared` 模块。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
AIM 数据库迁移规范与 Docker Compose 集成。当修改 migration SQL 文件、新增迁移、修改 docker-compose.yaml 的 migrate 服务、或排查迁移失败时使用。
AIM 的附件域。涉及 `app/attachment`、AttachmentService gRPC、上传/下载授权、SeaweedFS/S3 签名、附件元数据、`aim.attachment.uploaded` 事件时使用。
aim 的认证域。对应 `auth` 模块。
aim 的核心域。对应 `core` 模块。
AIM 开发测试工具(dev-tool)。Python CLI,覆盖 gateway 全部 REST 端点与 WebSocket 帧协议,支持多 profile 多用户并行测试、并发压测。当需要调试 REST/WS 接口、运行集成测试、压力测试、或新增命令时使用。
aim 的网关域。对应 `gateway` 模块。
| name | aim-shared-domain |
| description | aim 的进程内共享包域。对应 `app/shared` 模块。 |
references/package-rules.mdreferences/package-rules.md2026-06-05: 新增 app/shared/outbox(事务发件箱模式)。Store 接口定义 outbox 表 CRUD;Poller 后台轮询 + 快速路径 Wake() 投递到 Kafka,保证至少一次投递。Nil-safe 构造(Store/PublisherFunc 为 nil 时 Poller 为 no-op)。配置 Config.WithDefaults() 与 cleanup 自动清理。
2026-06-03: 弃用 Nacos v2,改用 go-zero 内置 etcd 作为服务注册中心。删除 app/shared/nacos 与 aimnacos:// 自定义 resolver scheme;服务注册/发现由 zrpc.RpcServerConf.Etcd / zrpc.RpcClientConf.Etcd 接管,zrpc.MustNewServer 自动 keepalive,进程退出由 proc.AddWrapUpListener 自动撤销。YAML 加 Etcd: { Hosts, Key } 块即可,业务代码零改动。参考 https://go-zero.dev/guides/microservice/service-discovery/。
2026-06-01: 新增 app/shared/quota(Redis ZSET 滑动窗口限流)。New(client, opts) 在 MaxRequests<=0 时返回 (nil, nil) 让调用方免 nil 检查;AllowPair(a, b) 拼接 a:b(空 b 渲染为 unknown)保持与 core 旧 aim:transfer:quota:<sender>:<device> key 兼容。
2026-05-28: (已废弃)原 Nacos gRPC resolver scheme 改为 aimnacos 并新增 BuildTarget,避免抢占 Nacos SDK 内部 nacos:9848 直连目标导致日志反复刷 SelectInstances for "9848"。2026-06-03 切到 etcd 后此问题不再存在,app/shared/nacos 与 aimnacos scheme 整包删除。
2026-05-28: 新增 app/shared/cache 两级缓存工具:L1 使用 go-zero collection.Cache,L2 使用 go-zero stores/cache + Redis,跨实例本地缓存失效通过 go-zero Redis DoCtx(XADD/XREAD) 的 Redis Stream 实现。
2026-05-25: app/shared/tracing 新增 Kafka producer span helper 与 RecordSpanError,用于附件上传/解析事件的 producer/consumer span 串联和统一错误标记。
2026-05-25: 新增 app/shared/attachment(aim.attachment.v1 内容 schema 与校验)、app/shared/events 附件事件(AttachmentUploadedEvent / AttachmentParsedEvent)和 app/shared/s3signer(SeaweedFS S3 预签名工具)。
2026-05-24: app/shared/tracing 新增 DetachSpanContext(ctx),保留 context 值/取消/超时/baggage 但清除 active span context,供 WebSocket 等长连接在 upgrade 后创建独立 per-message span,避免长连接 upgrade span 成为短生命周期子 span 的父级,减少 tracing backend 的无效父 span/时钟偏移类告警。
2026-05-20: 从 app/shared/AGENTS.md 迁移