跳到主要内容

AI 助手

用自然语言询问关于您代码库的问题。

概述

ArchiCore AI 助手理解您的代码库,可以回答以下问题:

  • "认证系统是如何工作的?"
  • "如果我更改 UserService 会破坏什么?"
  • "支付处理逻辑在哪里?"
  • "解释订单创建的数据流"

使用助手

Web 界面

  1. 选择一个项目
  2. 在聊天面板中输入您的问题
  3. 获取带有代码引用的答案

CLI

只需在交互模式下输入您的问题:

> 用户认证是如何工作的?

这个项目中的认证系统使用 JWT 令牌。
工作原理如下:

1. **登录流程** (src/auth/login.ts)
- 用户提交邮箱/密码
- 凭据与数据库验证
- 生成带有用户 ID 的 JWT 令牌

2. **令牌验证** (src/middleware/auth.ts)
- authMiddleware() 从头部提取令牌
- 使用 JWT_SECRET 验证令牌
- 将用户附加到请求对象

3. **会话管理** (src/services/session.ts)
- 会话存储在 Redis 中
- 默认 7 天过期
- 支持刷新令牌

关键文件:
- src/auth/login.ts:45-78
- src/middleware/auth.ts:12-34
- src/services/session.ts:23-56

API

curl -X POST https://api.archicore.io/api/v1/projects/:id/ask \
-H "Authorization: Bearer 您的_API_KEY" \
-d '{"question": "认证是如何工作的?"}'

问题类型

架构问题

> 这个项目的整体架构是什么?
> 模块是如何组织的?
> 使用了哪些设计模式?

代码流问题

> 当用户下订单时会发生什么?
> 数据如何从 API 流向数据库?
> 追踪 /api/users 的请求生命周期

影响问题

> 如果我更改 UserService 会破坏什么?
> 哪些文件依赖数据库模块?
> 哪些测试覆盖支付逻辑?

位置问题

> 邮件发送逻辑在哪里?
> 哪个文件处理用户注册?
> 找到速率限制中间件

解释问题

> 解释 processOrder() 做什么
> 为什么这个函数使用递归?
> 缓存层的目的是什么?

获得更好答案的技巧

具体明确

❌ "它是如何工作的?"
✓ "用户注册流程是如何工作的?"

提供上下文

❌ "为什么这么慢?"
✓ "为什么 src/api/products.ts 中的 getProducts() 函数可能会慢?"

提出后续问题

> 认证是如何工作的?
[关于 JWT 令牌的回答...]

> 你能给我展示令牌验证的代码吗?
[展示具体代码...]

> 如果令牌过期会发生什么?
[解释刷新令牌流程...]

语言支持

助手以与您问题相同的语言回答:

> 认证是如何工作的?

认证系统使用 JWT 令牌...

限制

AI 助手:

  • 只了解已索引的代码 - 首先运行 /index
  • 无法执行代码 - 只分析静态代码
  • 可能有过时信息 - 更改后重新索引
  • 专注于您的项目 - 不会详细讨论外部库

隐私

  • 问题由 AI 模型处理
  • 您的代码上下文被发送用于分析
  • 没有代码被永久存储
  • 详情请参阅隐私政策