在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用aim-logic-domain
星标5
分支0
更新时间2026年6月3日 06:00
aim 的逻辑域。对应 `logic` 模块。
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
文件资源管理器
3 个文件SKILL.md
readonly菜单
aim 的逻辑域。对应 `logic` 模块。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
aim 的进程内共享包域。对应 `app/shared` 模块。
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 接口、运行集成测试、压力测试、或新增命令时使用。
| name | aim-logic-domain |
| description | aim 的逻辑域。对应 `logic` 模块。 |
references/detail.mdreferences/api.mdreferences/detail.mdreferences/api.mdapp/logic/rpc/logic.go 现在注册 SearchServiceServer,避免 gateway GET /api/search 调用 UnifiedSearch 时收到 gRPC Unimplemented。新增注册回归测试覆盖 logic.SearchService。friend_tags / friend_tag_assignments 表(迁移 012_friend_tags_and_search.sql);FriendshipService 新增 CreateFriendTag/RenameFriendTag/DeleteFriendTag/ListFriendTags/SetFriendTags/RemoveFriendTag 六个 RPC;ListFriends 查询支持按 tag_id/tag_name 过滤,响应新增 tags 字段。详见 references/api.md §好友标签 RPC。SearchService 及 UnifiedSearch RPC,支持按用户/好友/会话/消息多 scope 搜索,消息按游标分页、返回高亮 snippet;搜索通过 SQL pg_trgm/tsvector 与 ILIKE 兜底上实现中文短词匹配。消息搜索通过 JOIN conversation_members 做访问控制。详见 references/api.md §搜索服务。logic.yaml 新增 Cache 配置块。app/logic/rpc/etc/logic.yaml 已启用 ConversationEventProducerConf,logic 在群管理事务提交后会将系统消息事件发布到 aim.conversation.events,由 core 的 ConversationEventConsumer 推送到 Gateway。DatabasePermissionChecker 对 direct 会话新增 Bot 识别:当发送者或对端 user_info.user_type='bot' 时,非好友关系仍保留 block 拦截但跳过临时会话累计消息上限,避免 user ↔ echo-bot 对话达到 10 条后被误判为临时会话限额耗尽。messages.content JSONB 写入:附件消息等合法 JSON 内容按 JSON object 保存,普通文本消息仍按 JSON string 保存,避免附件 aim.attachment.v1 被二次编码。conversation_id 作为好友 friend_id 的问题。DatabasePermissionChecker 现在先从 conversation_members 解析发送者与对端成员,再用对端用户 ID 查询 GetFriendshipBidirectional,避免已成为好友后仍被判定为临时会话;同时拒绝非成员或成员数异常的 direct 会话发送。ListFriends 查询改为双向归一化:同时读取 user_id = 当前用户 与 friend_id = 当前用户 的 accepted 关系,并统一返回 user_id=当前用户 / friend_id=对端用户,兼容历史单向 accepted 数据导致 presence/好友快照不对称的问题。messages.content JSONB 读取后透传 JSON 字符串字面量的问题。GetConversationHistory 现在会对 JSONB 字符串执行 json.Unmarshal,避免 Desktop/REST 历史消息展示多出首尾两个 ";非字符串 JSON(如系统消息对象)保持 JSON 文本。display_name 字段。GetConversationMembersDetail SQL JOIN 新增 ui.nickname AS display_name,MemberDetail struct 新增 DisplayName 字段,GetConversationMembersDetail 映射行更新。GetConversationHistory 现在填充 MessageItem.IsSystem(sender_id==0 && message_type=="system")、ReadStateItem 的 email/avatar/display_name(来自成员列表)、MessageReadDetailItem.DisplayName。SenderInfo 填充新增 DisplayName。005_conversation_read_states.sql 与 sqlc queries read_state.sql(UpsertConversationReadState 用 GREATEST 保证单调递增);ConversationService 新增 UpdateReadReceipt(校验会话存在 + 成员身份 + 三字段合法)与 ListConversationReadStates;GetConversationHistory 同步返回会话成员的已读游标。ConversationService 新增 6 个 RPC(AddGroupMembers, RemoveGroupMembers, LeaveGroup, DismissGroup, UpdateGroupInfo, GetConversationMembersDetail);数据库迁移 004_group_management.sql 为 conversations 表添加 name/avatar/creator_id 字段、conversation_members 表添加 role 字段;logic 通过 aim.conversation.events Kafka topic 生产群变更事件通知 core;CreateConversation 支持 name 参数且创建者 role 设为 owner。详见 references/detail.md §群管理 和 references/api.md §群管理 RPC。config.DevConf 及 yaml Dev: 块,提供 TemporaryConversationMessageLimit(默认 10,设 0/负数为不限制);DatabasePermissionChecker 新增 NewDatabasePermissionCheckerWithLimit 构造函数。仅供本地开发 / 压测使用,生产保持默认。CreateConversation 在 direct 类型下先通过 GetDirectConversationByMembers 查找已有活跃会话,找到则直接返回,避免创建重复的直接会话。GetUserConversations,返回指定用户参与的所有会话列表(通过 GetConversationsByUserID 查询);该接口用于 gateway GET /api/conversations 端点。