diff --git a/src/main/java/vip/Vip.java b/src/main/java/vip/Vip.java
new file mode 100644
index 0000000..c9d3dc7
--- /dev/null
+++ b/src/main/java/vip/Vip.java
@@ -0,0 +1,5 @@
+package vip;
+
+// public class Vip implements VipInterface {
+    
+// }
diff --git a/src/main/java/vip/VipInterface.java b/src/main/java/vip/VipInterface.java
new file mode 100644
index 0000000..0ad764f
--- /dev/null
+++ b/src/main/java/vip/VipInterface.java
@@ -0,0 +1,18 @@
+package vip;
+import object.TTorent;
+import object.Seed;
+import org.apache.commons.lang3.tuple.Pair;
+import java.io.File;
+public interface VipInterface{
+    
+    public Pair<File,Integer>  GetTTorent(String seedid,String userid);//获取专线下载的文件，并记录用户的下载行为
+    //如果用户权限足够，文件存在，integer为0，如果用户权限足够，文件不存在，integer为1，file为null 如果用户权限不足，file为null，integer为2；
+
+    public int AddFarmerNumber(int number,String seedid);//种子增加了新的保种人数,返回值：0，写入成功，1写入失败,其他待定
+    public int ReduceFarmerNumber(int number,String seedid);//种子降低的保种人数，返回值:0,写入成功，1:写入失败,其他待定
+    public int KeepSeed(TTorent seed,String seedid);//将种子加入保种列表
+    public int RemoveSeed(String seedid);//将种子移除保种列表
+
+    public void CheckSeed();//由外部触发，调用类内函数更新保种列表
+    public Seed[] GetSeedToPlant();//获取当前需要保种的所有种子信息
+}
\ No newline at end of file
