网上传说的 PiAgent 只有四个工具："read", "write", "edit", "bash"，我们特意定义了一个枚举（ToolPermission.TOOL_PI）方便使用。

### 1、代码示例

```java
public class DemoApp {
    public static void main(String[] arg) throws Throwable {
        //--- 1. 初始化
        HarnessProperties harnessProps = new HarnessProperties(".tmp/");
        harnessProps.addTools(ToolPermission.TOOL_PI); //设定工具权限
        harnessProps.addModel( null); //设定大模型配置

        AgentSessionProvider sessionProvider = new AgentSessionProvider() {
            private Map<String, AgentSession> sessionMap = new ConcurrentHashMap<>();

            @Override
            public AgentSession getSession(String instanceId) {
                return sessionMap.computeIfAbsent(instanceId, k -> InMemoryAgentSession.of(k));
            }
        };

        HarnessEngine engine = HarnessEngine.builder()
                .properties(harnessProps)
                .sessionProvider(sessionProvider)
                .build();


        engine.getMainAgent().prompt("网络调查 ai mcp 协议，生成一个 mcp.md 报告").call();
    }
}
```