# Tencent AI Agent Server

### 安装应用
```
npm i @tencent-ai/agent-server
```

### 配置环境变量

在项目根目录下新建.env文件，配置相关的OPEN API的信息

```
MODEL_ID=
MODEL_NAME=
BASE_URL=
API_KEY=
TOKEN=
PROVIDER_TYPE = openai # 支持 openai  / deepseek 

MAX_STEPS=5
MAX_RETRIES=3
MAX_TOKENS=4096
TEMPERATURE=0.1

WORKSPACE_DIR=/workspace

```

### 启动服务

服务默认运行在3000端口

```
npx agent-server
```

### 修改端口

如需要将端口修改为3009

```
// package.json， 服务将在3009启动

"scripts": {
    "server": "npx cross-env SERVER_PORT=3009 agent-server"
}

```

安装cross-env
```
npm install -D cross-env
```

启动服务
```
npm run server
```

### 接口

- craft发起对话（通用代码生成模式）
```
url: /api/v1/craft/completions
method: POST
payload: {
    "messages":[{"role":"user","content":"写一个排序算法"}]
}
```

对话发起后，将会流式返回数据。

示例：
```
fetch("http://localhost:3000/api/v1/craft/completions", {
  "headers": {
    "content-type": "application/json",
  },
  "body": "{\"messages\":[{\"role\":\"user\",\"content\":\"写一个排序算法\"}]}",
  "method": "POST",
});
```

- swe发起对话（SWE-Bench 模式）​​

```
url: /api/v1/swe/completions
method: POST
payload: {
    "messages":[{"role":"user","content":"在 `tests/test_math.py` 中为 `utils/math.py` 的 `square(n)` 函数添加测试。"}],
    "reasoningParams": {
      "effort": "",
      "summary": ""
    }
}
```

​使用说明​：
- 请将示例中的消息内容替换为您的具体工程任务
- 任务描述应包含必要的上下文，例如：
  * 需要修改的代码文件路径
  * 具体的Bug描述或功能需求
  * 相关的代码片段（如有）

对话发起后，将会流式返回数据。

示例：
```
fetch("http://localhost:3000/api/v1/swe/completions", {
  "headers": {
    "content-type": "application/json",
  },
  "body": "{\"messages\":[{\"role\":\"user\",\"content\":\"在 `tests/test_math.py` 中为 `utils/math.py` 的 `square(n)` 函数添加测试。\"}]}",
  "method": "POST",
});
```
