Skip to content

Conversation

@xiaomakuaiz
Copy link
Owner

No description provided.

xiaomakuaiz and others added 18 commits November 15, 2025 19:30
添加 defer resp.Body.Close() 确保 HTTP 响应体正确关闭,避免资源泄漏

- pkg/wecom/wecom.go: 在 GetUserList 方法中添加 body close
- repo/pg/knowledge_base.go: 在 syncKBCaddyConfig 方法中添加 body close

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
确保 context 参数在函数调用链中正确传递,避免使用孤立的 context

修改内容:
- pkg/bot/feishu/stream.go: GetUserInfo 添加 ctx 参数
- pkg/bot/lark/client.go: GetUserInfo 添加 ctx 参数,goroutine 中使用回调的 ctx
- pkg/oauth/oauth.go: GetUserInfo 添加 ctx 参数
- pkg/oauth/github.go: GetGithubPrimaryEmail 添加 ctx 参数
- pkg/dingtalk/dingtalk.go: GetAccessToken, GetDepartmentList, GetAllUserList, GetUserList 添加 ctx 参数
- pro/usecase/auth_github.go: 更新 GetUserInfo 调用
- pro/usecase/auth_oauth.go: 更新 GetUserInfo 调用
- pro/usecase/auth_sync.go: 更新 GetDepartmentList 和 GetAllUserList 调用
- usecase/auth_github.go: 更新 GetUserInfo 调用
- usecase/app.go: updateDingTalkBot, updateFeishuBot, updateLarkBot 添加 ctx 参数
- usecase/wecom.go: goroutine 中从父 context 派生而不是使用 Background

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
添加了对所有未检查的错误返回值的处理:
- middleware/jwt.go: 添加 GetKbID 错误检查
- pkg/bot/dingtalk/stream.go: 添加 json.Marshal, http.NewRequest, io.ReadAll 错误检查
- pkg/bot/discord/discord_test.go: 添加 config.NewConfig 错误检查
- pkg/bot/wechat/wechat.go: 添加 io.ReadAll 错误检查
- pkg/bot/wechatservice/tools.go: 添加 http.Post 错误检查并添加 defer Close
- pkg/bot/wechatservice/wechat.go: 添加 GetAccessToken 错误检查
- pkg/bot/wecom/crypt.go: 添加 json.Marshal 错误检查
- pkg/dingtalk/dingtalk.go: 添加 url.Parse 错误检查
- pkg/oauth/github.go: 添加 url.Parse 错误检查
- pkg/oauth/oauth.go: 添加 url.Parse 错误检查
- repo/pg/knowledge_base.go: 添加 json.Marshal 错误检查
- usecase/app.go: 添加 GetAuthByKBIDAndSourceType 错误检查
- usecase/chat.go: 添加 GetAuthBySourceType 错误检查

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
更新 pro submodule 到最新的 errcheck 修复提交

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
在 pkg/oauth/oauth.go 中添加 fmt 包导入,修复编译错误

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
将所有不带 context 的 HTTP 请求改为带 context 的版本:
- usecase/chat.go: 使用 ctx 替代 context.Background()
- pkg/bot/dingtalk/stream.go: 添加 context 参数并使用 NewRequestWithContext
- pkg/bot/wechat/wechat.go: 使用 NewRequestWithContext 和 client.Do 替代 Get/Post
- pkg/bot/wechatservice/tools.go: 使用 NewRequestWithContext 替代 NewRequest
- pkg/bot/wechatservice/wechat.go: 使用 NewRequestWithContext 和 client.Do
- pkg/cas/cas.go: 使用 NewRequestWithContext 和 client.Do
- pkg/dingtalk/dingtalk.go: 使用 NewRequestWithContext 替代 NewRequest
- pkg/feishu/feishu.go: 使用 NewRequestWithContext 替代 NewRequest
- pkg/oauth/github.go: 使用 NewRequestWithContext 和 client.Do
- pkg/oauth/oauth.go: 使用 NewRequestWithContext 和 client.Do
- pkg/wecom/wecom.go: 使用 NewRequestWithContext 和 client.Do
- repo/pg/knowledge_base.go: 使用 Dialer.DialContext 和 NewRequestWithContext
- telemetry/client.go: 使用 NewRequestWithContext 替代 NewRequest
- utils/utils.go: 使用 NewRequestWithContext 和 client.Do

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
添加 nolint 注释和修复安全问题:

G402 (TLS InsecureSkipVerify) - 4 处:
- pkg/anydoc/anydoc.go: 内部服务通信
- pkg/cas/cas.go: CAS 服务器可能使用自签名证书
- utils/utils.go: 通用工具函数访问各种服务器
- usecase/crawler.go: 爬虫访问各种外部服务器

G505/G401 (SHA1) - 2 处:
- pkg/bot/wecom/crypt.go: 企业微信 API 要求使用 SHA1

G101 (硬编码凭证) - 3 处:
- pkg/feishu/feishu.go: TokenURL 常量不是凭证
- pkg/oauth/github.go: githubTokenURL 常量不是凭证
- pkg/wecom/wecom.go: TokenURL 常量不是凭证

G301/G302/G306 (文件权限) - 5 处:
- setup/cert.go: 目录权限从 0o755 改为 0o750
- telemetry/client.go: 目录权限从 0o755 改为 0o750,文件权限从 0o644 改为 0o600

G115 (整数转换) - 14 处:
- handler/share/comment.go: 状态转换 nolint
- handler/v1/app.go: AppType 枚举转换 nolint
- repo/pg/auth.go: 组 ID 转换 nolint
- repo/pg/conversation.go: 计数转换 nolint
- usecase/comment.go: 总数转换 nolint
- usecase/conversation.go: 总数转换 nolint
- usecase/knowledge_base.go: 总数转换 nolint
- usecase/stat.go: AppType 枚举转换 nolint
- pkg/bot/wecom/crypt.go: 文本长度转换 nolint

G304 (文件包含) - 1 处:
- utils/utils.go: 从可信内部源读取图像

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
更新 pro submodule 到最新的 gosec 修复提交

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
修复所有变量遮蔽问题,将内层作用域中的变量重命名为更具描述性的名称:
- handler/mq/rag.go: err -> updateErr
- handler/share/app.go: err -> respErr
- pkg/bot/feishu/stream.go: err -> getUserErr, getChatErr
- pkg/bot/lark/client.go: err -> getUserErr, getChatErr
- pkg/bot/wechatservice/tools.go: err -> closeErr
- pkg/bot/wechatservice/wechat.go: err -> getHumanErr, sendErr, unmarshalErr, changeErr
- pkg/wecom/wecom.go: err -> decodeErr
- repo/pg/app.go: err -> kbErr
- repo/pg/auth.go: err -> createErr, countErr
- repo/pg/knowledge_base.go: err -> updateErr, findErr, checkErr, syncErr
- repo/pg/node.go: err -> countErr, scanErr, reorderErr
- server/http/http.go: err -> bindErr
- setup/cert.go: err -> mkdirErr, chmodErr, chmodKeyErr
- store/cache/redis.go: err -> setErr
- store/rag/ct/rag.go: err -> writeErr, closeErr
- telemetry/client.go: err -> openErr, syncErr, closeErr
- usecase/chat.go: err -> uuidErr, validateErr, saveErr, authErr, checkErr, saveBlockErr
- usecase/llm.go: err -> summaryErr
- usecase/model.go: err -> createErr, deleteErr, updateErr, asyncErr, unmarshalErr
- usecase/wecom.go: err -> uuidErr, cacheErr, chatErr, getErr, respErr
- utils/epub.go: err -> validErr, uploadErr, openErr, openFileErr, readErr, convErr, copyErr, copyResultErr

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
更新 pro submodule 到最新的 revive 修复提交

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
- 修改 WechatServiceConfig.Wechat 方法接受 context 参数
- 修改 Processmessage 方法接受 context 参数
- 修改 getMsgs, CheckSessionState, ChangeState, GetUserInfo 等函数接受 context 参数
- 修改 SendResponseToKfUrl, GetUserImageID, GetDefaultImageID 等函数接受 context 参数
- 修改 UploadMediaFromURL, UploadMediaFromBase64, uploadMediaToWechat 等函数接受 context 参数
- 替换所有 context.Background() 为传递的 context 参数

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
- 修复 consts/license.go 中类型断言未检查 ok 值
- 修复 pkg/bot/lark/client.go 和 pkg/bot/feishu/stream.go 中类型断言
- 修复 pkg/bot/wechatservice/tools.go 中 json.Marshal 和 getCursor 错误未检查
- 修复 pkg/feishu/feishu.go 和 pkg/wecom/wecom.go 中 url.Parse 错误未检查
- 修复 repo/pg/knowledge_base.go 中 io.ReadAll 错误未检查
- 修复 repo/pg/user_access.go 中类型断言未检查
- 修复 repo/pg/auth.go 中 context.Value 类型断言未检查
- 修复 usecase/auth.go 中 url.Parse 和 sessions.Store 类型断言未检查
- 修复 pkg/bot/wechat/wechat.go 和 pkg/bot/wechatservice/wechat.go 中类型断言未检查
- 修复 usecase/wecom.go 中类型断言未检查
- 修复 middleware/session.go 中类型断言未检查

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
- 修复 handler/share/auth.go 中 sessions.Store 类型断言
- 修复 handler/share/chat.go 中 userID 类型断言
- 修复 handler/share/comment.go 中 userID 类型断言
- 修复 handler/share/stat.go 中 userID 类型断言
- 修复 handler/share/wechat.go 中 ConversationState 类型断言
- 修复 middleware/session.go 中缺少 fmt 导入和 secretKey 类型断言

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
使用 gofmt 格式化以下文件:
- pkg/feishu/feishu.go
- pkg/oauth/github.go
- pkg/wecom/wecom.go

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
- 修复 pkg/bot/discord/discord_test.go 中 NewDiscordClient 错误未检查

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
导出类型/函数/方法的注释要求太多,影响开发效率,因此禁用该规则。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
- 将参数名 cap 改为 captchaInstance,避免与预声明标识符冲突
- 简化 decode 函数,移除未使用的 error 返回值

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
更新 pro 子模块到最新的 golangci-lint 修复提交

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: MonkeyCode-AI <monkeycode-ai@chaitin.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant