ThousandSailAgent(千帆 Agent)
千帆竞发,万舸争流 — 多 AI Agent 编排框架,用声明式 YAML 定义 Agent 协作流程。
特性
- 声明式工作流 — 用 YAML 定义多步骤 Agent 编排规则,支持依赖关系和并行执行
- 多模型混用 — 不同步骤可使用不同 LLM(DeepSeek 写代码、GLM 审查、Qwen 生成测试)
- 国产模型优先 — 内置 DeepSeek、智谱GLM、通义千问、Moonshot、豆包 等国内主流模型支持
- 真实工具调用 — Agent 自主决定何时读写文件、执行命令,多轮工具调用循环
- 交互式配置 — TUI 引导配置 Provider、选择默认模型、验证 API Key 有效性
- 中英文界面 —
tsail config --lang en 一键切换界面语言
- 执行历史 — SQLite 存储每次运行记录,可回溯查看
安装
npm install -g thousandsailagent
快速开始
1. 配置 Provider
tsail config
交互式引导,选择 LLM Provider、输入 API Key、选择默认模型:
◆ 选择要配置的 Provider
│ ● DeepSeek(深度求索) 已配置 ✓
│ ○ 智谱 GLM(ChatGLM)
│ ○ 通义千问(Qwen)
│ ○ Moonshot(Kimi)
│ ○ 豆包(火山引擎)
│ ○ Anthropic(Claude)
│ ○ OpenAI(GPT)
│ ○ 自定义 Provider
└ ○ 完成配置
也可以直接配置指定 Provider:
tsail config deepseek
2. 编写工作流
创建 pipeline.yaml:
name: code-review-pipeline
steps:
- id: code
agent: coder
model: deepseek/deepseek-v4-flash
prompt: "根据以下需求实现功能: {{input.requirement}}"
tools: [file_write, file_read, terminal]
max_steps: 5
- id: review
agent: reviewer
model: glm/glm-4-flash
prompt: "审查代码,检查安全和性能问题: {{steps.code.output}}"
depends_on: [code]
tools: [file_read]
- id: test
agent: tester
model: deepseek/deepseek-v4-flash
prompt: "为以下代码编写单元测试并执行: {{steps.code.output}}"
depends_on: [code]
tools: [file_write, file_read, terminal]
max_steps: 5
- id: refine
agent: coder
model: deepseek/deepseek-v4-flash
prompt: "根据审查意见和测试结果修改代码。审查: {{steps.review.output}} 测试: {{steps.test.output}}"
depends_on: [review, test]
tools: [file_write, file_read, terminal]
max_steps: 5
retry_count: 1
3. 运行
tsail run pipeline.yaml -i requirement="实现一个HTTP服务器"
使用 --verbose 查看工具调用详情:
tsail run pipeline.yaml -i requirement="实现一个HTTP服务器" --verbose
CLI 命令
tsail run <file> | 运行工作流 YAML |
tsail config | 交互式配置 Provider |
tsail config <provider> | 直接配置指定 Provider(如 tsail config deepseek) |
tsail config --lang en | 切换界面语言(zh/en) |
tsail providers | 查看已配置的 Provider |
tsail providers --test | 验证所有 API Key 是否有效 |
tsail list | 列出当前目录的工作流文件 |
tsail history [id] | 查看运行历史 |
run 选项
-i, --input <k=v...> 传入输入参数
-d, --db <path> 指定数据库路径
--verbose 显示详细输出(含工具调用详情)
工作流 YAML 语法
name: <工作流名称>
workdir: <工作目录>
steps:
- id: <步骤ID>
agent: <Agent类型>
model: <provider/model>
prompt: <提示词>
tools: [file_read, ...]
depends_on: [step_id, ...]
max_steps: <number>
retry_count: <number>
模板变量
{{input.xxx}} | 运行时传入的参数 |
{{steps.xxx.output}} | 上游步骤的 LLM 输出 |
模型引用
model: deepseek/deepseek-v4-flash
model: deepseek
依赖与并行
无 depends_on 的步骤会并行执行,有依赖的步骤等待上游完成后才启动。
支持的 Provider
| DeepSeek | OpenAI-compatible | deepseek-v4-flash |
| 智谱 GLM | OpenAI-compatible | glm-4-flash |
| 通义千问 | OpenAI-compatible | qwen-plus |
| Moonshot | OpenAI-compatible | moonshot-v1-8k |
| 豆包 | OpenAI-compatible | doubao-pro-32k |
| Anthropic | Anthropic | claude-sonnet-4-20250514 |
| OpenAI | OpenAI-compatible | gpt-4o |
也支持通过 tsail config 添加任意 OpenAI-compatible API。
开发进度
当前版本:V0.3.0
已完成
待开发
开发
git clone https://github.com/Lion-1209/ThousandSailAgent.git
cd ThousandSailAgent
npm install
npm test
npm run dev -- --help
License
MIT