diff --git a/eino-project/.gitignore b/agent&workflow/eino-project/.gitignore similarity index 100% rename from eino-project/.gitignore rename to agent&workflow/eino-project/.gitignore diff --git a/eino-project/.trae/documents/智能客服系统产品需求文档.md b/agent&workflow/eino-project/.trae/documents/智能客服系统产品需求文档.md similarity index 100% rename from eino-project/.trae/documents/智能客服系统产品需求文档.md rename to agent&workflow/eino-project/.trae/documents/智能客服系统产品需求文档.md diff --git a/eino-project/.trae/documents/智能客服系统开发计划文档.md b/agent&workflow/eino-project/.trae/documents/智能客服系统开发计划文档.md similarity index 100% rename from eino-project/.trae/documents/智能客服系统开发计划文档.md rename to agent&workflow/eino-project/.trae/documents/智能客服系统开发计划文档.md diff --git a/eino-project/.trae/documents/智能客服系统技术架构文档.md b/agent&workflow/eino-project/.trae/documents/智能客服系统技术架构文档.md similarity index 100% rename from eino-project/.trae/documents/智能客服系统技术架构文档.md rename to agent&workflow/eino-project/.trae/documents/智能客服系统技术架构文档.md diff --git a/eino-project/Dockerfile b/agent&workflow/eino-project/Dockerfile similarity index 100% rename from eino-project/Dockerfile rename to agent&workflow/eino-project/Dockerfile diff --git a/eino-project/LICENSE b/agent&workflow/eino-project/LICENSE similarity index 100% rename from eino-project/LICENSE rename to agent&workflow/eino-project/LICENSE diff --git a/eino-project/Makefile b/agent&workflow/eino-project/Makefile similarity index 100% rename from eino-project/Makefile rename to agent&workflow/eino-project/Makefile diff --git a/eino-project/README.md b/agent&workflow/eino-project/README.md similarity index 100% rename from eino-project/README.md rename to agent&workflow/eino-project/README.md diff --git a/eino-project/api/customer/v1/customer.pb.go b/agent&workflow/eino-project/api/customer/v1/customer.pb.go similarity index 100% rename from eino-project/api/customer/v1/customer.pb.go rename to agent&workflow/eino-project/api/customer/v1/customer.pb.go diff --git a/eino-project/api/customer/v1/customer.proto b/agent&workflow/eino-project/api/customer/v1/customer.proto similarity index 100% rename from eino-project/api/customer/v1/customer.proto rename to agent&workflow/eino-project/api/customer/v1/customer.proto diff --git a/eino-project/api/customer/v1/customer_grpc.pb.go b/agent&workflow/eino-project/api/customer/v1/customer_grpc.pb.go similarity index 100% rename from eino-project/api/customer/v1/customer_grpc.pb.go rename to agent&workflow/eino-project/api/customer/v1/customer_grpc.pb.go diff --git a/eino-project/api/customer/v1/customer_http.pb.go b/agent&workflow/eino-project/api/customer/v1/customer_http.pb.go similarity index 100% rename from eino-project/api/customer/v1/customer_http.pb.go rename to agent&workflow/eino-project/api/customer/v1/customer_http.pb.go diff --git a/eino-project/api/helloworld/v1/error_reason.pb.go b/agent&workflow/eino-project/api/helloworld/v1/error_reason.pb.go similarity index 100% rename from eino-project/api/helloworld/v1/error_reason.pb.go rename to agent&workflow/eino-project/api/helloworld/v1/error_reason.pb.go diff --git a/eino-project/api/helloworld/v1/error_reason.proto b/agent&workflow/eino-project/api/helloworld/v1/error_reason.proto similarity index 100% rename from eino-project/api/helloworld/v1/error_reason.proto rename to agent&workflow/eino-project/api/helloworld/v1/error_reason.proto diff --git a/eino-project/api/helloworld/v1/greeter.pb.go b/agent&workflow/eino-project/api/helloworld/v1/greeter.pb.go similarity index 100% rename from eino-project/api/helloworld/v1/greeter.pb.go rename to agent&workflow/eino-project/api/helloworld/v1/greeter.pb.go diff --git a/eino-project/api/helloworld/v1/greeter.proto b/agent&workflow/eino-project/api/helloworld/v1/greeter.proto similarity index 100% rename from eino-project/api/helloworld/v1/greeter.proto rename to agent&workflow/eino-project/api/helloworld/v1/greeter.proto diff --git a/eino-project/api/helloworld/v1/greeter_grpc.pb.go b/agent&workflow/eino-project/api/helloworld/v1/greeter_grpc.pb.go similarity index 100% rename from eino-project/api/helloworld/v1/greeter_grpc.pb.go rename to agent&workflow/eino-project/api/helloworld/v1/greeter_grpc.pb.go diff --git a/eino-project/api/helloworld/v1/greeter_http.pb.go b/agent&workflow/eino-project/api/helloworld/v1/greeter_http.pb.go similarity index 100% rename from eino-project/api/helloworld/v1/greeter_http.pb.go rename to agent&workflow/eino-project/api/helloworld/v1/greeter_http.pb.go diff --git a/eino-project/cmd/server/__debug_bin2356973511 b/agent&workflow/eino-project/cmd/server/__debug_bin2356973511 similarity index 100% rename from eino-project/cmd/server/__debug_bin2356973511 rename to agent&workflow/eino-project/cmd/server/__debug_bin2356973511 diff --git a/eino-project/cmd/server/__debug_bin352958662 b/agent&workflow/eino-project/cmd/server/__debug_bin352958662 similarity index 100% rename from eino-project/cmd/server/__debug_bin352958662 rename to agent&workflow/eino-project/cmd/server/__debug_bin352958662 diff --git a/eino-project/cmd/server/main.go b/agent&workflow/eino-project/cmd/server/main.go similarity index 100% rename from eino-project/cmd/server/main.go rename to agent&workflow/eino-project/cmd/server/main.go diff --git a/eino-project/cmd/server/wire.go b/agent&workflow/eino-project/cmd/server/wire.go similarity index 100% rename from eino-project/cmd/server/wire.go rename to agent&workflow/eino-project/cmd/server/wire.go diff --git a/eino-project/cmd/server/wire_gen.go b/agent&workflow/eino-project/cmd/server/wire_gen.go similarity index 100% rename from eino-project/cmd/server/wire_gen.go rename to agent&workflow/eino-project/cmd/server/wire_gen.go diff --git a/eino-project/configs/config.yaml b/agent&workflow/eino-project/configs/config.yaml similarity index 100% rename from eino-project/configs/config.yaml rename to agent&workflow/eino-project/configs/config.yaml diff --git a/eino-project/data/customer_service.db b/agent&workflow/eino-project/data/customer_service.db similarity index 100% rename from eino-project/data/customer_service.db rename to agent&workflow/eino-project/data/customer_service.db diff --git a/eino-project/docker-compose.yml b/agent&workflow/eino-project/docker-compose.yml similarity index 100% rename from eino-project/docker-compose.yml rename to agent&workflow/eino-project/docker-compose.yml diff --git a/eino-project/go.mod b/agent&workflow/eino-project/go.mod similarity index 100% rename from eino-project/go.mod rename to agent&workflow/eino-project/go.mod diff --git a/eino-project/go.sum b/agent&workflow/eino-project/go.sum similarity index 100% rename from eino-project/go.sum rename to agent&workflow/eino-project/go.sum diff --git a/eino-project/internal/biz/README.md b/agent&workflow/eino-project/internal/biz/README.md similarity index 100% rename from eino-project/internal/biz/README.md rename to agent&workflow/eino-project/internal/biz/README.md diff --git a/eino-project/internal/biz/biz.go b/agent&workflow/eino-project/internal/biz/biz.go similarity index 100% rename from eino-project/internal/biz/biz.go rename to agent&workflow/eino-project/internal/biz/biz.go diff --git a/eino-project/internal/biz/customer.go b/agent&workflow/eino-project/internal/biz/customer.go similarity index 100% rename from eino-project/internal/biz/customer.go rename to agent&workflow/eino-project/internal/biz/customer.go diff --git a/eino-project/internal/biz/errors.go b/agent&workflow/eino-project/internal/biz/errors.go similarity index 100% rename from eino-project/internal/biz/errors.go rename to agent&workflow/eino-project/internal/biz/errors.go diff --git a/eino-project/internal/conf/conf.pb.go b/agent&workflow/eino-project/internal/conf/conf.pb.go similarity index 100% rename from eino-project/internal/conf/conf.pb.go rename to agent&workflow/eino-project/internal/conf/conf.pb.go diff --git a/eino-project/internal/conf/conf.proto b/agent&workflow/eino-project/internal/conf/conf.proto similarity index 100% rename from eino-project/internal/conf/conf.proto rename to agent&workflow/eino-project/internal/conf/conf.proto diff --git a/eino-project/internal/data/README.md b/agent&workflow/eino-project/internal/data/README.md similarity index 100% rename from eino-project/internal/data/README.md rename to agent&workflow/eino-project/internal/data/README.md diff --git a/eino-project/internal/data/data.go b/agent&workflow/eino-project/internal/data/data.go similarity index 100% rename from eino-project/internal/data/data.go rename to agent&workflow/eino-project/internal/data/data.go diff --git a/eino-project/internal/data/repoimpl/customer.go b/agent&workflow/eino-project/internal/data/repoimpl/customer.go similarity index 100% rename from eino-project/internal/data/repoimpl/customer.go rename to agent&workflow/eino-project/internal/data/repoimpl/customer.go diff --git a/eino-project/internal/data/repoimpl/repoimpl.go b/agent&workflow/eino-project/internal/data/repoimpl/repoimpl.go similarity index 100% rename from eino-project/internal/data/repoimpl/repoimpl.go rename to agent&workflow/eino-project/internal/data/repoimpl/repoimpl.go diff --git a/eino-project/internal/domain/agent/intent.go b/agent&workflow/eino-project/internal/domain/agent/intent.go similarity index 100% rename from eino-project/internal/domain/agent/intent.go rename to agent&workflow/eino-project/internal/domain/agent/intent.go diff --git a/eino-project/internal/domain/agent/order.go b/agent&workflow/eino-project/internal/domain/agent/order.go similarity index 100% rename from eino-project/internal/domain/agent/order.go rename to agent&workflow/eino-project/internal/domain/agent/order.go diff --git a/eino-project/internal/domain/agent/order_log.go b/agent&workflow/eino-project/internal/domain/agent/order_log.go similarity index 100% rename from eino-project/internal/domain/agent/order_log.go rename to agent&workflow/eino-project/internal/domain/agent/order_log.go diff --git a/eino-project/internal/domain/agent/product.go b/agent&workflow/eino-project/internal/domain/agent/product.go similarity index 100% rename from eino-project/internal/domain/agent/product.go rename to agent&workflow/eino-project/internal/domain/agent/product.go diff --git a/eino-project/internal/domain/context/context.go b/agent&workflow/eino-project/internal/domain/context/context.go similarity index 100% rename from eino-project/internal/domain/context/context.go rename to agent&workflow/eino-project/internal/domain/context/context.go diff --git a/eino-project/internal/domain/llm/llm.go b/agent&workflow/eino-project/internal/domain/llm/llm.go similarity index 100% rename from eino-project/internal/domain/llm/llm.go rename to agent&workflow/eino-project/internal/domain/llm/llm.go diff --git a/eino-project/internal/domain/llm/ollama_chat.go b/agent&workflow/eino-project/internal/domain/llm/ollama_chat.go similarity index 100% rename from eino-project/internal/domain/llm/ollama_chat.go rename to agent&workflow/eino-project/internal/domain/llm/ollama_chat.go diff --git a/eino-project/internal/domain/llm/ollama_intent.go b/agent&workflow/eino-project/internal/domain/llm/ollama_intent.go similarity index 100% rename from eino-project/internal/domain/llm/ollama_intent.go rename to agent&workflow/eino-project/internal/domain/llm/ollama_intent.go diff --git a/eino-project/internal/domain/monitor/coze_loop.go b/agent&workflow/eino-project/internal/domain/monitor/coze_loop.go similarity index 100% rename from eino-project/internal/domain/monitor/coze_loop.go rename to agent&workflow/eino-project/internal/domain/monitor/coze_loop.go diff --git a/eino-project/internal/domain/monitor/monitor.go b/agent&workflow/eino-project/internal/domain/monitor/monitor.go similarity index 100% rename from eino-project/internal/domain/monitor/monitor.go rename to agent&workflow/eino-project/internal/domain/monitor/monitor.go diff --git a/eino-project/internal/domain/monitor/provider.go b/agent&workflow/eino-project/internal/domain/monitor/provider.go similarity index 100% rename from eino-project/internal/domain/monitor/provider.go rename to agent&workflow/eino-project/internal/domain/monitor/provider.go diff --git a/eino-project/internal/domain/provier_set.go b/agent&workflow/eino-project/internal/domain/provier_set.go similarity index 100% rename from eino-project/internal/domain/provier_set.go rename to agent&workflow/eino-project/internal/domain/provier_set.go diff --git a/eino-project/internal/domain/session/session.go b/agent&workflow/eino-project/internal/domain/session/session.go similarity index 100% rename from eino-project/internal/domain/session/session.go rename to agent&workflow/eino-project/internal/domain/session/session.go diff --git a/eino-project/internal/domain/tools/order.go b/agent&workflow/eino-project/internal/domain/tools/order.go similarity index 100% rename from eino-project/internal/domain/tools/order.go rename to agent&workflow/eino-project/internal/domain/tools/order.go diff --git a/eino-project/internal/domain/tools/order_log.go b/agent&workflow/eino-project/internal/domain/tools/order_log.go similarity index 100% rename from eino-project/internal/domain/tools/order_log.go rename to agent&workflow/eino-project/internal/domain/tools/order_log.go diff --git a/eino-project/internal/domain/tools/product.go b/agent&workflow/eino-project/internal/domain/tools/product.go similarity index 100% rename from eino-project/internal/domain/tools/product.go rename to agent&workflow/eino-project/internal/domain/tools/product.go diff --git a/eino-project/internal/domain/vector/chromadb.go b/agent&workflow/eino-project/internal/domain/vector/chromadb.go similarity index 100% rename from eino-project/internal/domain/vector/chromadb.go rename to agent&workflow/eino-project/internal/domain/vector/chromadb.go diff --git a/eino-project/internal/domain/vector/document.go b/agent&workflow/eino-project/internal/domain/vector/document.go similarity index 100% rename from eino-project/internal/domain/vector/document.go rename to agent&workflow/eino-project/internal/domain/vector/document.go diff --git a/eino-project/internal/domain/vector/provider.go b/agent&workflow/eino-project/internal/domain/vector/provider.go similarity index 100% rename from eino-project/internal/domain/vector/provider.go rename to agent&workflow/eino-project/internal/domain/vector/provider.go diff --git a/eino-project/internal/domain/vector/vector.go b/agent&workflow/eino-project/internal/domain/vector/vector.go similarity index 100% rename from eino-project/internal/domain/vector/vector.go rename to agent&workflow/eino-project/internal/domain/vector/vector.go diff --git a/eino-project/internal/domain/workflow/chat_workflow.go b/agent&workflow/eino-project/internal/domain/workflow/chat_workflow.go similarity index 100% rename from eino-project/internal/domain/workflow/chat_workflow.go rename to agent&workflow/eino-project/internal/domain/workflow/chat_workflow.go diff --git a/eino-project/internal/domain/workflow/zltx_product.go b/agent&workflow/eino-project/internal/domain/workflow/zltx_product.go similarity index 100% rename from eino-project/internal/domain/workflow/zltx_product.go rename to agent&workflow/eino-project/internal/domain/workflow/zltx_product.go diff --git a/eino-project/internal/pkg/adkutil/adkutil.go b/agent&workflow/eino-project/internal/pkg/adkutil/adkutil.go similarity index 100% rename from eino-project/internal/pkg/adkutil/adkutil.go rename to agent&workflow/eino-project/internal/pkg/adkutil/adkutil.go diff --git a/eino-project/internal/pkg/sseutil/sseutil.go b/agent&workflow/eino-project/internal/pkg/sseutil/sseutil.go similarity index 100% rename from eino-project/internal/pkg/sseutil/sseutil.go rename to agent&workflow/eino-project/internal/pkg/sseutil/sseutil.go diff --git a/eino-project/internal/server/http.go b/agent&workflow/eino-project/internal/server/http.go similarity index 100% rename from eino-project/internal/server/http.go rename to agent&workflow/eino-project/internal/server/http.go diff --git a/eino-project/internal/server/server.go b/agent&workflow/eino-project/internal/server/server.go similarity index 100% rename from eino-project/internal/server/server.go rename to agent&workflow/eino-project/internal/server/server.go diff --git a/eino-project/internal/service/README.md b/agent&workflow/eino-project/internal/service/README.md similarity index 100% rename from eino-project/internal/service/README.md rename to agent&workflow/eino-project/internal/service/README.md diff --git a/eino-project/internal/service/agent.go b/agent&workflow/eino-project/internal/service/agent.go similarity index 100% rename from eino-project/internal/service/agent.go rename to agent&workflow/eino-project/internal/service/agent.go diff --git a/eino-project/internal/service/chat.go b/agent&workflow/eino-project/internal/service/chat.go similarity index 100% rename from eino-project/internal/service/chat.go rename to agent&workflow/eino-project/internal/service/chat.go diff --git a/eino-project/internal/service/customer.go b/agent&workflow/eino-project/internal/service/customer.go similarity index 100% rename from eino-project/internal/service/customer.go rename to agent&workflow/eino-project/internal/service/customer.go diff --git a/eino-project/internal/service/service.go b/agent&workflow/eino-project/internal/service/service.go similarity index 100% rename from eino-project/internal/service/service.go rename to agent&workflow/eino-project/internal/service/service.go diff --git a/eino-project/internal/service/workflow.go b/agent&workflow/eino-project/internal/service/workflow.go similarity index 100% rename from eino-project/internal/service/workflow.go rename to agent&workflow/eino-project/internal/service/workflow.go diff --git a/eino-project/openapi.yaml b/agent&workflow/eino-project/openapi.yaml similarity index 100% rename from eino-project/openapi.yaml rename to agent&workflow/eino-project/openapi.yaml diff --git a/eino-project/server b/agent&workflow/eino-project/server similarity index 100% rename from eino-project/server rename to agent&workflow/eino-project/server diff --git a/eino-project/third_party/README.md b/agent&workflow/eino-project/third_party/README.md similarity index 100% rename from eino-project/third_party/README.md rename to agent&workflow/eino-project/third_party/README.md diff --git a/eino-project/third_party/errors/errors.proto b/agent&workflow/eino-project/third_party/errors/errors.proto similarity index 100% rename from eino-project/third_party/errors/errors.proto rename to agent&workflow/eino-project/third_party/errors/errors.proto diff --git a/eino-project/third_party/google/api/annotations.proto b/agent&workflow/eino-project/third_party/google/api/annotations.proto similarity index 100% rename from eino-project/third_party/google/api/annotations.proto rename to agent&workflow/eino-project/third_party/google/api/annotations.proto diff --git a/eino-project/third_party/google/api/client.proto b/agent&workflow/eino-project/third_party/google/api/client.proto similarity index 100% rename from eino-project/third_party/google/api/client.proto rename to agent&workflow/eino-project/third_party/google/api/client.proto diff --git a/eino-project/third_party/google/api/field_behavior.proto b/agent&workflow/eino-project/third_party/google/api/field_behavior.proto similarity index 100% rename from eino-project/third_party/google/api/field_behavior.proto rename to agent&workflow/eino-project/third_party/google/api/field_behavior.proto diff --git a/eino-project/third_party/google/api/http.proto b/agent&workflow/eino-project/third_party/google/api/http.proto similarity index 100% rename from eino-project/third_party/google/api/http.proto rename to agent&workflow/eino-project/third_party/google/api/http.proto diff --git a/eino-project/third_party/google/api/httpbody.proto b/agent&workflow/eino-project/third_party/google/api/httpbody.proto similarity index 100% rename from eino-project/third_party/google/api/httpbody.proto rename to agent&workflow/eino-project/third_party/google/api/httpbody.proto diff --git a/eino-project/third_party/google/protobuf/any.proto b/agent&workflow/eino-project/third_party/google/protobuf/any.proto similarity index 100% rename from eino-project/third_party/google/protobuf/any.proto rename to agent&workflow/eino-project/third_party/google/protobuf/any.proto diff --git a/eino-project/third_party/google/protobuf/api.proto b/agent&workflow/eino-project/third_party/google/protobuf/api.proto similarity index 100% rename from eino-project/third_party/google/protobuf/api.proto rename to agent&workflow/eino-project/third_party/google/protobuf/api.proto diff --git a/eino-project/third_party/google/protobuf/compiler/plugin.proto b/agent&workflow/eino-project/third_party/google/protobuf/compiler/plugin.proto similarity index 100% rename from eino-project/third_party/google/protobuf/compiler/plugin.proto rename to agent&workflow/eino-project/third_party/google/protobuf/compiler/plugin.proto diff --git a/eino-project/third_party/google/protobuf/descriptor.proto b/agent&workflow/eino-project/third_party/google/protobuf/descriptor.proto similarity index 100% rename from eino-project/third_party/google/protobuf/descriptor.proto rename to agent&workflow/eino-project/third_party/google/protobuf/descriptor.proto diff --git a/eino-project/third_party/google/protobuf/duration.proto b/agent&workflow/eino-project/third_party/google/protobuf/duration.proto similarity index 100% rename from eino-project/third_party/google/protobuf/duration.proto rename to agent&workflow/eino-project/third_party/google/protobuf/duration.proto diff --git a/eino-project/third_party/google/protobuf/empty.proto b/agent&workflow/eino-project/third_party/google/protobuf/empty.proto similarity index 100% rename from eino-project/third_party/google/protobuf/empty.proto rename to agent&workflow/eino-project/third_party/google/protobuf/empty.proto diff --git a/eino-project/third_party/google/protobuf/field_mask.proto b/agent&workflow/eino-project/third_party/google/protobuf/field_mask.proto similarity index 100% rename from eino-project/third_party/google/protobuf/field_mask.proto rename to agent&workflow/eino-project/third_party/google/protobuf/field_mask.proto diff --git a/eino-project/third_party/google/protobuf/source_context.proto b/agent&workflow/eino-project/third_party/google/protobuf/source_context.proto similarity index 100% rename from eino-project/third_party/google/protobuf/source_context.proto rename to agent&workflow/eino-project/third_party/google/protobuf/source_context.proto diff --git a/eino-project/third_party/google/protobuf/struct.proto b/agent&workflow/eino-project/third_party/google/protobuf/struct.proto similarity index 100% rename from eino-project/third_party/google/protobuf/struct.proto rename to agent&workflow/eino-project/third_party/google/protobuf/struct.proto diff --git a/eino-project/third_party/google/protobuf/timestamp.proto b/agent&workflow/eino-project/third_party/google/protobuf/timestamp.proto similarity index 100% rename from eino-project/third_party/google/protobuf/timestamp.proto rename to agent&workflow/eino-project/third_party/google/protobuf/timestamp.proto diff --git a/eino-project/third_party/google/protobuf/type.proto b/agent&workflow/eino-project/third_party/google/protobuf/type.proto similarity index 100% rename from eino-project/third_party/google/protobuf/type.proto rename to agent&workflow/eino-project/third_party/google/protobuf/type.proto diff --git a/eino-project/third_party/google/protobuf/wrappers.proto b/agent&workflow/eino-project/third_party/google/protobuf/wrappers.proto similarity index 100% rename from eino-project/third_party/google/protobuf/wrappers.proto rename to agent&workflow/eino-project/third_party/google/protobuf/wrappers.proto diff --git a/eino-project/third_party/openapi/v3/annotations.proto b/agent&workflow/eino-project/third_party/openapi/v3/annotations.proto similarity index 100% rename from eino-project/third_party/openapi/v3/annotations.proto rename to agent&workflow/eino-project/third_party/openapi/v3/annotations.proto diff --git a/eino-project/third_party/openapi/v3/openapi.proto b/agent&workflow/eino-project/third_party/openapi/v3/openapi.proto similarity index 100% rename from eino-project/third_party/openapi/v3/openapi.proto rename to agent&workflow/eino-project/third_party/openapi/v3/openapi.proto diff --git a/eino-project/third_party/validate/README.md b/agent&workflow/eino-project/third_party/validate/README.md similarity index 100% rename from eino-project/third_party/validate/README.md rename to agent&workflow/eino-project/third_party/validate/README.md diff --git a/eino-project/third_party/validate/validate.proto b/agent&workflow/eino-project/third_party/validate/validate.proto similarity index 100% rename from eino-project/third_party/validate/validate.proto rename to agent&workflow/eino-project/third_party/validate/validate.proto diff --git a/langchain-project/.env b/agent&workflow/langchain-project/.env similarity index 100% rename from langchain-project/.env rename to agent&workflow/langchain-project/.env diff --git a/langchain-project/.trae/documents/implementation_guide.md b/agent&workflow/langchain-project/.trae/documents/implementation_guide.md similarity index 100% rename from langchain-project/.trae/documents/implementation_guide.md rename to agent&workflow/langchain-project/.trae/documents/implementation_guide.md diff --git a/langchain-project/.trae/documents/langchain_chatbot_prd.md b/agent&workflow/langchain-project/.trae/documents/langchain_chatbot_prd.md similarity index 100% rename from langchain-project/.trae/documents/langchain_chatbot_prd.md rename to agent&workflow/langchain-project/.trae/documents/langchain_chatbot_prd.md diff --git a/langchain-project/.trae/documents/technical_architecture.md b/agent&workflow/langchain-project/.trae/documents/technical_architecture.md similarity index 100% rename from langchain-project/.trae/documents/technical_architecture.md rename to agent&workflow/langchain-project/.trae/documents/technical_architecture.md diff --git a/langchain-project/README.md b/agent&workflow/langchain-project/README.md similarity index 100% rename from langchain-project/README.md rename to agent&workflow/langchain-project/README.md diff --git a/langchain-project/__pycache__/cli_chat.cpython-312.pyc b/agent&workflow/langchain-project/__pycache__/cli_chat.cpython-312.pyc similarity index 100% rename from langchain-project/__pycache__/cli_chat.cpython-312.pyc rename to agent&workflow/langchain-project/__pycache__/cli_chat.cpython-312.pyc diff --git a/langchain-project/__pycache__/main.cpython-312.pyc b/agent&workflow/langchain-project/__pycache__/main.cpython-312.pyc similarity index 100% rename from langchain-project/__pycache__/main.cpython-312.pyc rename to agent&workflow/langchain-project/__pycache__/main.cpython-312.pyc diff --git a/langchain-project/cli_chat.py b/agent&workflow/langchain-project/cli_chat.py similarity index 100% rename from langchain-project/cli_chat.py rename to agent&workflow/langchain-project/cli_chat.py diff --git a/langchain-project/data/mock_orders.json b/agent&workflow/langchain-project/data/mock_orders.json similarity index 100% rename from langchain-project/data/mock_orders.json rename to agent&workflow/langchain-project/data/mock_orders.json diff --git a/langchain-project/logs/langchain_bot_20251016.log b/agent&workflow/langchain-project/logs/langchain_bot_20251016.log similarity index 100% rename from langchain-project/logs/langchain_bot_20251016.log rename to agent&workflow/langchain-project/logs/langchain_bot_20251016.log diff --git a/langchain-project/logs/langchain_bot_20251119.log b/agent&workflow/langchain-project/logs/langchain_bot_20251119.log similarity index 100% rename from langchain-project/logs/langchain_bot_20251119.log rename to agent&workflow/langchain-project/logs/langchain_bot_20251119.log diff --git a/langchain-project/main.py b/agent&workflow/langchain-project/main.py similarity index 100% rename from langchain-project/main.py rename to agent&workflow/langchain-project/main.py diff --git a/langchain-project/requirements.txt b/agent&workflow/langchain-project/requirements.txt similarity index 100% rename from langchain-project/requirements.txt rename to agent&workflow/langchain-project/requirements.txt diff --git a/langchain-project/run_tests.py b/agent&workflow/langchain-project/run_tests.py similarity index 100% rename from langchain-project/run_tests.py rename to agent&workflow/langchain-project/run_tests.py diff --git a/langchain-project/src/__init__.py b/agent&workflow/langchain-project/src/__init__.py similarity index 100% rename from langchain-project/src/__init__.py rename to agent&workflow/langchain-project/src/__init__.py diff --git a/langchain-project/src/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/chains/__init__.py b/agent&workflow/langchain-project/src/chains/__init__.py similarity index 100% rename from langchain-project/src/chains/__init__.py rename to agent&workflow/langchain-project/src/chains/__init__.py diff --git a/langchain-project/src/chains/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/chains/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/chains/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/chains/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/chains/__pycache__/simple_chat_chain.cpython-312.pyc b/agent&workflow/langchain-project/src/chains/__pycache__/simple_chat_chain.cpython-312.pyc similarity index 100% rename from langchain-project/src/chains/__pycache__/simple_chat_chain.cpython-312.pyc rename to agent&workflow/langchain-project/src/chains/__pycache__/simple_chat_chain.cpython-312.pyc diff --git a/langchain-project/src/chains/simple_chat_chain.py b/agent&workflow/langchain-project/src/chains/simple_chat_chain.py similarity index 100% rename from langchain-project/src/chains/simple_chat_chain.py rename to agent&workflow/langchain-project/src/chains/simple_chat_chain.py diff --git a/langchain-project/src/models/__init__.py b/agent&workflow/langchain-project/src/models/__init__.py similarity index 100% rename from langchain-project/src/models/__init__.py rename to agent&workflow/langchain-project/src/models/__init__.py diff --git a/langchain-project/src/models/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/models/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/models/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/models/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/models/__pycache__/chat_models.cpython-312.pyc b/agent&workflow/langchain-project/src/models/__pycache__/chat_models.cpython-312.pyc similarity index 100% rename from langchain-project/src/models/__pycache__/chat_models.cpython-312.pyc rename to agent&workflow/langchain-project/src/models/__pycache__/chat_models.cpython-312.pyc diff --git a/langchain-project/src/models/chat_models.py b/agent&workflow/langchain-project/src/models/chat_models.py similarity index 100% rename from langchain-project/src/models/chat_models.py rename to agent&workflow/langchain-project/src/models/chat_models.py diff --git a/langchain-project/src/services/__init__.py b/agent&workflow/langchain-project/src/services/__init__.py similarity index 100% rename from langchain-project/src/services/__init__.py rename to agent&workflow/langchain-project/src/services/__init__.py diff --git a/langchain-project/src/services/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/services/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/services/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/services/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/services/__pycache__/langsmith_service.cpython-312.pyc b/agent&workflow/langchain-project/src/services/__pycache__/langsmith_service.cpython-312.pyc similarity index 100% rename from langchain-project/src/services/__pycache__/langsmith_service.cpython-312.pyc rename to agent&workflow/langchain-project/src/services/__pycache__/langsmith_service.cpython-312.pyc diff --git a/langchain-project/src/services/__pycache__/ollama_service.cpython-312.pyc b/agent&workflow/langchain-project/src/services/__pycache__/ollama_service.cpython-312.pyc similarity index 100% rename from langchain-project/src/services/__pycache__/ollama_service.cpython-312.pyc rename to agent&workflow/langchain-project/src/services/__pycache__/ollama_service.cpython-312.pyc diff --git a/langchain-project/src/services/langsmith_service.py b/agent&workflow/langchain-project/src/services/langsmith_service.py similarity index 100% rename from langchain-project/src/services/langsmith_service.py rename to agent&workflow/langchain-project/src/services/langsmith_service.py diff --git a/langchain-project/src/services/ollama_service.py b/agent&workflow/langchain-project/src/services/ollama_service.py similarity index 100% rename from langchain-project/src/services/ollama_service.py rename to agent&workflow/langchain-project/src/services/ollama_service.py diff --git a/langchain-project/src/utils/__init__.py b/agent&workflow/langchain-project/src/utils/__init__.py similarity index 100% rename from langchain-project/src/utils/__init__.py rename to agent&workflow/langchain-project/src/utils/__init__.py diff --git a/langchain-project/src/utils/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/utils/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/utils/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/utils/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/utils/__pycache__/config.cpython-312.pyc b/agent&workflow/langchain-project/src/utils/__pycache__/config.cpython-312.pyc similarity index 100% rename from langchain-project/src/utils/__pycache__/config.cpython-312.pyc rename to agent&workflow/langchain-project/src/utils/__pycache__/config.cpython-312.pyc diff --git a/langchain-project/src/utils/__pycache__/logger.cpython-312.pyc b/agent&workflow/langchain-project/src/utils/__pycache__/logger.cpython-312.pyc similarity index 100% rename from langchain-project/src/utils/__pycache__/logger.cpython-312.pyc rename to agent&workflow/langchain-project/src/utils/__pycache__/logger.cpython-312.pyc diff --git a/langchain-project/src/utils/__pycache__/prompts.cpython-312.pyc b/agent&workflow/langchain-project/src/utils/__pycache__/prompts.cpython-312.pyc similarity index 100% rename from langchain-project/src/utils/__pycache__/prompts.cpython-312.pyc rename to agent&workflow/langchain-project/src/utils/__pycache__/prompts.cpython-312.pyc diff --git a/langchain-project/src/utils/config.py b/agent&workflow/langchain-project/src/utils/config.py similarity index 100% rename from langchain-project/src/utils/config.py rename to agent&workflow/langchain-project/src/utils/config.py diff --git a/langchain-project/src/utils/logger.py b/agent&workflow/langchain-project/src/utils/logger.py similarity index 100% rename from langchain-project/src/utils/logger.py rename to agent&workflow/langchain-project/src/utils/logger.py diff --git a/langchain-project/src/utils/prompts.py b/agent&workflow/langchain-project/src/utils/prompts.py similarity index 100% rename from langchain-project/src/utils/prompts.py rename to agent&workflow/langchain-project/src/utils/prompts.py diff --git a/langchain-project/src/workflows/__init__.py b/agent&workflow/langchain-project/src/workflows/__init__.py similarity index 100% rename from langchain-project/src/workflows/__init__.py rename to agent&workflow/langchain-project/src/workflows/__init__.py diff --git a/langchain-project/src/workflows/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/workflows/__pycache__/chat_workflow.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/__pycache__/chat_workflow.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/__pycache__/chat_workflow.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/__pycache__/chat_workflow.cpython-312.pyc diff --git a/langchain-project/src/workflows/chat_workflow.py b/agent&workflow/langchain-project/src/workflows/chat_workflow.py similarity index 100% rename from langchain-project/src/workflows/chat_workflow.py rename to agent&workflow/langchain-project/src/workflows/chat_workflow.py diff --git a/langchain-project/src/workflows/nodes/__init__.py b/agent&workflow/langchain-project/src/workflows/nodes/__init__.py similarity index 100% rename from langchain-project/src/workflows/nodes/__init__.py rename to agent&workflow/langchain-project/src/workflows/nodes/__init__.py diff --git a/langchain-project/src/workflows/nodes/__pycache__/__init__.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/nodes/__pycache__/__init__.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/nodes/__pycache__/__init__.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/nodes/__pycache__/__init__.cpython-312.pyc diff --git a/langchain-project/src/workflows/nodes/__pycache__/intent_analysis.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/nodes/__pycache__/intent_analysis.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/nodes/__pycache__/intent_analysis.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/nodes/__pycache__/intent_analysis.cpython-312.pyc diff --git a/langchain-project/src/workflows/nodes/__pycache__/natural_chat.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/nodes/__pycache__/natural_chat.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/nodes/__pycache__/natural_chat.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/nodes/__pycache__/natural_chat.cpython-312.pyc diff --git a/langchain-project/src/workflows/nodes/__pycache__/order_diagnosis.cpython-312.pyc b/agent&workflow/langchain-project/src/workflows/nodes/__pycache__/order_diagnosis.cpython-312.pyc similarity index 100% rename from langchain-project/src/workflows/nodes/__pycache__/order_diagnosis.cpython-312.pyc rename to agent&workflow/langchain-project/src/workflows/nodes/__pycache__/order_diagnosis.cpython-312.pyc diff --git a/langchain-project/src/workflows/nodes/intent_analysis.py b/agent&workflow/langchain-project/src/workflows/nodes/intent_analysis.py similarity index 100% rename from langchain-project/src/workflows/nodes/intent_analysis.py rename to agent&workflow/langchain-project/src/workflows/nodes/intent_analysis.py diff --git a/langchain-project/src/workflows/nodes/natural_chat.py b/agent&workflow/langchain-project/src/workflows/nodes/natural_chat.py similarity index 100% rename from langchain-project/src/workflows/nodes/natural_chat.py rename to agent&workflow/langchain-project/src/workflows/nodes/natural_chat.py diff --git a/langchain-project/src/workflows/nodes/order_diagnosis.py b/agent&workflow/langchain-project/src/workflows/nodes/order_diagnosis.py similarity index 100% rename from langchain-project/src/workflows/nodes/order_diagnosis.py rename to agent&workflow/langchain-project/src/workflows/nodes/order_diagnosis.py diff --git a/langchain-project/tests/__init__.py b/agent&workflow/langchain-project/tests/__init__.py similarity index 100% rename from langchain-project/tests/__init__.py rename to agent&workflow/langchain-project/tests/__init__.py diff --git a/langchain-project/tests/test_api.py b/agent&workflow/langchain-project/tests/test_api.py similarity index 100% rename from langchain-project/tests/test_api.py rename to agent&workflow/langchain-project/tests/test_api.py diff --git a/langchain-project/tests/test_ollama.py b/agent&workflow/langchain-project/tests/test_ollama.py similarity index 100% rename from langchain-project/tests/test_ollama.py rename to agent&workflow/langchain-project/tests/test_ollama.py diff --git a/langchain-project/tests/test_simple_chain.py b/agent&workflow/langchain-project/tests/test_simple_chain.py similarity index 100% rename from langchain-project/tests/test_simple_chain.py rename to agent&workflow/langchain-project/tests/test_simple_chain.py diff --git a/langchain-project/tests/test_workflow.py b/agent&workflow/langchain-project/tests/test_workflow.py similarity index 100% rename from langchain-project/tests/test_workflow.py rename to agent&workflow/langchain-project/tests/test_workflow.py diff --git a/vue3-frontend/.gitignore b/agent&workflow/vue3-frontend/.gitignore similarity index 100% rename from vue3-frontend/.gitignore rename to agent&workflow/vue3-frontend/.gitignore diff --git a/vue3-frontend/.trae/documents/AI客服对话窗口-产品需求文档.md b/agent&workflow/vue3-frontend/.trae/documents/AI客服对话窗口-产品需求文档.md similarity index 100% rename from vue3-frontend/.trae/documents/AI客服对话窗口-产品需求文档.md rename to agent&workflow/vue3-frontend/.trae/documents/AI客服对话窗口-产品需求文档.md diff --git a/vue3-frontend/.trae/documents/AI客服对话窗口-技术架构文档.md b/agent&workflow/vue3-frontend/.trae/documents/AI客服对话窗口-技术架构文档.md similarity index 100% rename from vue3-frontend/.trae/documents/AI客服对话窗口-技术架构文档.md rename to agent&workflow/vue3-frontend/.trae/documents/AI客服对话窗口-技术架构文档.md diff --git a/vue3-frontend/.vscode/extensions.json b/agent&workflow/vue3-frontend/.vscode/extensions.json similarity index 100% rename from vue3-frontend/.vscode/extensions.json rename to agent&workflow/vue3-frontend/.vscode/extensions.json diff --git a/vue3-frontend/README.md b/agent&workflow/vue3-frontend/README.md similarity index 100% rename from vue3-frontend/README.md rename to agent&workflow/vue3-frontend/README.md diff --git a/vue3-frontend/index.html b/agent&workflow/vue3-frontend/index.html similarity index 100% rename from vue3-frontend/index.html rename to agent&workflow/vue3-frontend/index.html diff --git a/vue3-frontend/package-lock.json b/agent&workflow/vue3-frontend/package-lock.json similarity index 100% rename from vue3-frontend/package-lock.json rename to agent&workflow/vue3-frontend/package-lock.json diff --git a/vue3-frontend/package.json b/agent&workflow/vue3-frontend/package.json similarity index 100% rename from vue3-frontend/package.json rename to agent&workflow/vue3-frontend/package.json diff --git a/vue3-frontend/postcss.config.js b/agent&workflow/vue3-frontend/postcss.config.js similarity index 100% rename from vue3-frontend/postcss.config.js rename to agent&workflow/vue3-frontend/postcss.config.js diff --git a/vue3-frontend/public/favicon.svg b/agent&workflow/vue3-frontend/public/favicon.svg similarity index 100% rename from vue3-frontend/public/favicon.svg rename to agent&workflow/vue3-frontend/public/favicon.svg diff --git a/vue3-frontend/src/App.vue b/agent&workflow/vue3-frontend/src/App.vue similarity index 100% rename from vue3-frontend/src/App.vue rename to agent&workflow/vue3-frontend/src/App.vue diff --git a/vue3-frontend/src/api/mock.ts b/agent&workflow/vue3-frontend/src/api/mock.ts similarity index 100% rename from vue3-frontend/src/api/mock.ts rename to agent&workflow/vue3-frontend/src/api/mock.ts diff --git a/vue3-frontend/src/api/server.ts b/agent&workflow/vue3-frontend/src/api/server.ts similarity index 100% rename from vue3-frontend/src/api/server.ts rename to agent&workflow/vue3-frontend/src/api/server.ts diff --git a/vue3-frontend/src/assets/vue.svg b/agent&workflow/vue3-frontend/src/assets/vue.svg similarity index 100% rename from vue3-frontend/src/assets/vue.svg rename to agent&workflow/vue3-frontend/src/assets/vue.svg diff --git a/vue3-frontend/src/components/ChatInput.vue b/agent&workflow/vue3-frontend/src/components/ChatInput.vue similarity index 100% rename from vue3-frontend/src/components/ChatInput.vue rename to agent&workflow/vue3-frontend/src/components/ChatInput.vue diff --git a/vue3-frontend/src/components/Empty.vue b/agent&workflow/vue3-frontend/src/components/Empty.vue similarity index 100% rename from vue3-frontend/src/components/Empty.vue rename to agent&workflow/vue3-frontend/src/components/Empty.vue diff --git a/vue3-frontend/src/components/MessageItem.vue b/agent&workflow/vue3-frontend/src/components/MessageItem.vue similarity index 100% rename from vue3-frontend/src/components/MessageItem.vue rename to agent&workflow/vue3-frontend/src/components/MessageItem.vue diff --git a/vue3-frontend/src/components/MessageList.vue b/agent&workflow/vue3-frontend/src/components/MessageList.vue similarity index 100% rename from vue3-frontend/src/components/MessageList.vue rename to agent&workflow/vue3-frontend/src/components/MessageList.vue diff --git a/vue3-frontend/src/components/OrderCard.vue b/agent&workflow/vue3-frontend/src/components/OrderCard.vue similarity index 100% rename from vue3-frontend/src/components/OrderCard.vue rename to agent&workflow/vue3-frontend/src/components/OrderCard.vue diff --git a/vue3-frontend/src/components/SimpleOrderCard.vue b/agent&workflow/vue3-frontend/src/components/SimpleOrderCard.vue similarity index 100% rename from vue3-frontend/src/components/SimpleOrderCard.vue rename to agent&workflow/vue3-frontend/src/components/SimpleOrderCard.vue diff --git a/vue3-frontend/src/composables/useTheme.ts b/agent&workflow/vue3-frontend/src/composables/useTheme.ts similarity index 100% rename from vue3-frontend/src/composables/useTheme.ts rename to agent&workflow/vue3-frontend/src/composables/useTheme.ts diff --git a/vue3-frontend/src/lib/utils.ts b/agent&workflow/vue3-frontend/src/lib/utils.ts similarity index 100% rename from vue3-frontend/src/lib/utils.ts rename to agent&workflow/vue3-frontend/src/lib/utils.ts diff --git a/vue3-frontend/src/main.ts b/agent&workflow/vue3-frontend/src/main.ts similarity index 100% rename from vue3-frontend/src/main.ts rename to agent&workflow/vue3-frontend/src/main.ts diff --git a/vue3-frontend/src/pages/ChatPage.vue b/agent&workflow/vue3-frontend/src/pages/ChatPage.vue similarity index 100% rename from vue3-frontend/src/pages/ChatPage.vue rename to agent&workflow/vue3-frontend/src/pages/ChatPage.vue diff --git a/vue3-frontend/src/pages/HistoryPage.vue b/agent&workflow/vue3-frontend/src/pages/HistoryPage.vue similarity index 100% rename from vue3-frontend/src/pages/HistoryPage.vue rename to agent&workflow/vue3-frontend/src/pages/HistoryPage.vue diff --git a/vue3-frontend/src/pages/HomePage.vue b/agent&workflow/vue3-frontend/src/pages/HomePage.vue similarity index 100% rename from vue3-frontend/src/pages/HomePage.vue rename to agent&workflow/vue3-frontend/src/pages/HomePage.vue diff --git a/vue3-frontend/src/pages/SettingsPage.vue b/agent&workflow/vue3-frontend/src/pages/SettingsPage.vue similarity index 100% rename from vue3-frontend/src/pages/SettingsPage.vue rename to agent&workflow/vue3-frontend/src/pages/SettingsPage.vue diff --git a/vue3-frontend/src/router/index.ts b/agent&workflow/vue3-frontend/src/router/index.ts similarity index 100% rename from vue3-frontend/src/router/index.ts rename to agent&workflow/vue3-frontend/src/router/index.ts diff --git a/vue3-frontend/src/stores/chat.ts b/agent&workflow/vue3-frontend/src/stores/chat.ts similarity index 100% rename from vue3-frontend/src/stores/chat.ts rename to agent&workflow/vue3-frontend/src/stores/chat.ts diff --git a/vue3-frontend/src/stores/history.ts b/agent&workflow/vue3-frontend/src/stores/history.ts similarity index 100% rename from vue3-frontend/src/stores/history.ts rename to agent&workflow/vue3-frontend/src/stores/history.ts diff --git a/vue3-frontend/src/stores/settings.ts b/agent&workflow/vue3-frontend/src/stores/settings.ts similarity index 100% rename from vue3-frontend/src/stores/settings.ts rename to agent&workflow/vue3-frontend/src/stores/settings.ts diff --git a/vue3-frontend/src/style.css b/agent&workflow/vue3-frontend/src/style.css similarity index 100% rename from vue3-frontend/src/style.css rename to agent&workflow/vue3-frontend/src/style.css diff --git a/vue3-frontend/src/types/index.ts b/agent&workflow/vue3-frontend/src/types/index.ts similarity index 100% rename from vue3-frontend/src/types/index.ts rename to agent&workflow/vue3-frontend/src/types/index.ts diff --git a/vue3-frontend/src/vite-env.d.ts b/agent&workflow/vue3-frontend/src/vite-env.d.ts similarity index 100% rename from vue3-frontend/src/vite-env.d.ts rename to agent&workflow/vue3-frontend/src/vite-env.d.ts diff --git a/vue3-frontend/tailwind.config.js b/agent&workflow/vue3-frontend/tailwind.config.js similarity index 100% rename from vue3-frontend/tailwind.config.js rename to agent&workflow/vue3-frontend/tailwind.config.js diff --git a/vue3-frontend/tsconfig.json b/agent&workflow/vue3-frontend/tsconfig.json similarity index 100% rename from vue3-frontend/tsconfig.json rename to agent&workflow/vue3-frontend/tsconfig.json diff --git a/vue3-frontend/vite.config.ts b/agent&workflow/vue3-frontend/vite.config.ts similarity index 100% rename from vue3-frontend/vite.config.ts rename to agent&workflow/vue3-frontend/vite.config.ts diff --git a/vue3-frontend/vite.config.ts.timestamp-1763692841391-01acb3bfdaeb1.mjs b/agent&workflow/vue3-frontend/vite.config.ts.timestamp-1763692841391-01acb3bfdaeb1.mjs similarity index 100% rename from vue3-frontend/vite.config.ts.timestamp-1763692841391-01acb3bfdaeb1.mjs rename to agent&workflow/vue3-frontend/vite.config.ts.timestamp-1763692841391-01acb3bfdaeb1.mjs diff --git a/vue3-frontend/vite.config.ts.timestamp-1763706544786-1b659ad8269ab.mjs b/agent&workflow/vue3-frontend/vite.config.ts.timestamp-1763706544786-1b659ad8269ab.mjs similarity index 100% rename from vue3-frontend/vite.config.ts.timestamp-1763706544786-1b659ad8269ab.mjs rename to agent&workflow/vue3-frontend/vite.config.ts.timestamp-1763706544786-1b659ad8269ab.mjs diff --git a/智能体与流水线融合方案实战.pptx b/agent&workflow/智能体与流水线融合方案实战.pptx similarity index 100% rename from 智能体与流水线融合方案实战.pptx rename to agent&workflow/智能体与流水线融合方案实战.pptx diff --git a/openClaw/AI大模型APIKEY获取.md b/openClaw/AI大模型APIKEY获取.md new file mode 100755 index 0000000..9c88ff3 --- /dev/null +++ b/openClaw/AI大模型APIKEY获取.md @@ -0,0 +1,19 @@ +# 如何获取AI大模型的API Key (以火山为例) + +## 1. 注册模型服务商账号 + +1. 访问火山引擎登录页面:[https://console.volcengine.com/auth/login](https://console.volcengine.com/auth/login) +2. 输入手机号、验证码,点击登录/注册 +3. 如果是注册新账号,需要填写必要信息(如用户名、密码、手机号等)完成注册。 + +## 2. 登录火山引擎控制台 + +1. 登录后,进入火山引擎控制台 +2. 访问火山方舟 API Key 管理页:[https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D](https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D) +![volcengine_apikey_list](./src/volcengine_apikey_list.png) + +## 3. 创建API Key + +1. 点击左上角的「创建 API Key」按钮,输入 API Key 名称(如 "openclaw"),点击「创建」 +2. 弹出 API Key 详情弹窗,复制 API Key,或在列表页点击小眼睛图标查看,复制到剪贴板 +3. 妥善保存 API Key,不要泄露给他人。 diff --git a/openClaw/OpenClawPrecheck.exe b/openClaw/OpenClawPrecheck.exe new file mode 100755 index 0000000..296e2e5 Binary files /dev/null and b/openClaw/OpenClawPrecheck.exe differ diff --git a/openClaw/OpenClawPrecheck.ps1 b/openClaw/OpenClawPrecheck.ps1 new file mode 100644 index 0000000..af7f02b --- /dev/null +++ b/openClaw/OpenClawPrecheck.ps1 @@ -0,0 +1,269 @@ +Add-Type -AssemblyName System.Windows.Forms +Add-Type -AssemblyName System.Drawing + +$script:results = @() + +function Log-Message { + param([string]$message) + $txtLog.AppendText("$message`r`n") + $txtLog.ScrollToCaret() +} + +function Add-Result { + param( + [string]$name, + [string]$status, + [string]$current, + [string]$required, + [bool]$passed + ) + + $script:results += [PSCustomObject]@{ + Name = $name + Status = $status + Current = $current + Required = $required + Passed = $passed + } + + Update-ResultsTable +} + +function Update-ResultsTable { + $dgvResults.Rows.Clear() + foreach ($r in $script:results) { + $row = $dgvResults.Rows.Add($r.Name, $r.Status, $r.Current, $r.Required) + if ($r.Status -like "*通过*" -or $r.Status -like "*OK*") { + $dgvResults.Rows[$row].DefaultCellStyle.ForeColor = [System.Drawing.Color]::Green + } elseif ($r.Status -like "*失败*" -or $r.Status -like "*FAIL*") { + $dgvResults.Rows[$row].DefaultCellStyle.ForeColor = [System.Drawing.Color]::Red + } else { + $dgvResults.Rows[$row].DefaultCellStyle.ForeColor = [System.Drawing.Color]::Orange + } + } +} + +function Check-OS { + Log-Message "`n[1/5] 检查操作系统..." + $os = Get-CimInstance Win32_OperatingSystem + $osName = $os.Caption + $is64bit = [Environment]::Is64BitOperatingSystem + + $status = "[OK] 通过" + $passed = $true + + if (-not $osName -like "*Windows 11*") { + $status = "[FAIL] 失败" + $passed = $false + } + if (-not $is64bit) { + $status = "[FAIL] 失败" + $passed = $false + } + + $arch = if ($is64bit) { "64位" } else { "32位" } + $current = "$osName ($arch)" + Add-Result "操作系统" $status $current "Windows 11 64位" $passed + + Log-Message " 系统: $current" + Log-Message " 结果: $status" +} + +function Check-Memory { + Log-Message "`n[2/5] 检查内存..." + $os = Get-CimInstance Win32_OperatingSystem + $totalMemoryGB = [math]::Round($os.TotalVisibleMemorySize / 1MB, 2) + + $status = "[OK] 通过" + $passed = $true + + if ($totalMemoryGB -lt 8) { + $status = "[FAIL] 失败" + $passed = $false + } + + Add-Result "内存" $status "$totalMemoryGB GB" ">= 8 GB" $passed + + Log-Message " 总内存: $totalMemoryGB GB" + Log-Message " 结果: $status" +} + +function Check-Disk { + Log-Message "`n[3/5] 检查磁盘空间..." + $drive = Get-PSDrive C + $freeGB = [math]::Round($drive.Free / 1GB, 2) + + $status = "[OK] 通过" + $passed = $true + + if ($freeGB -lt 10) { + $status = "[FAIL] 失败" + $passed = $false + } + + Add-Result "磁盘空间" $status "$freeGB GB 可用" ">= 10 GB" $passed + + Log-Message " 可用空间: $freeGB GB" + Log-Message " 结果: $status" +} + +function Check-Network { + Log-Message "`n[4/5] 检查网络连接..." + try { + $response = Invoke-WebRequest -Uri "https://www.baidu.com" -TimeoutSec 5 -UseBasicParsing + $status = "[OK] 通过" + $passed = $true + $current = "已连接" + } catch { + $status = "[FAIL] 失败" + $passed = $false + $current = "无法连接" + } + + Add-Result "网络连接" $status $current "能正常上网" $passed + + Log-Message " 网络: $current" + Log-Message " 结果: $status" +} + +function Check-Admin { + Log-Message "`n[5/5] 检查管理员权限..." + $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) + + $status = "[OK] 通过" + $passed = $true + $current = "是" + + if (-not $isAdmin) { + $status = "[WARN] 建议" + $passed = $false + $current = "否" + } + + Add-Result "管理员权限" $status $current "建议以管理员身份运行" $passed + + Log-Message " 管理员: $current" + Log-Message " 结果: $status" +} + +function Start-Checks { + $btnCheck.Enabled = $false + $progressBar.Visible = $true + $progressBar.Style = [System.Windows.Forms.ProgressBarStyle]::Marquee + $script:results = @() + Update-ResultsTable + $lblSummary.Text = "" + + Log-Message "`n$('=' * 60)" + Log-Message "开始系统检查..." + Log-Message "$('=' * 60)" + + Check-OS + Check-Memory + Check-Disk + Check-Network + Check-Admin + + $progressBar.Visible = $false + $btnCheck.Enabled = $true + + $passedCount = ($script:results | Where-Object { $_.Passed }).Count + $totalCount = $script:results.Count + + Log-Message "`n$('=' * 60)" + Log-Message "检查完成: $passedCount/$totalCount 项通过" + Log-Message "$('=' * 60)" + + if ($passedCount -eq $totalCount) { + $lblSummary.Text = "所有检查通过!您的系统符合 OpenClaw 安装要求。" + $lblSummary.ForeColor = [System.Drawing.Color]::Green + } else { + $lblSummary.Text = "$($totalCount - $passedCount) 项检查未通过,请查看检查结果。" + $lblSummary.ForeColor = [System.Drawing.Color]::Orange + } +} + +$form = New-Object System.Windows.Forms.Form +$form.Text = "OpenClaw 前置条件检查工具" +$form.Size = New-Object System.Drawing.Size(900, 700) +$form.StartPosition = "CenterScreen" +$form.Font = New-Object System.Drawing.Font("Microsoft YaHei UI", 9) + +$lblTitle = New-Object System.Windows.Forms.Label +$lblTitle.Text = "OpenClaw 前置条件检查" +$lblTitle.Font = New-Object System.Drawing.Font("Microsoft YaHei UI", 16, [System.Drawing.FontStyle]::Bold) +$lblTitle.Location = New-Object System.Drawing.Point(20, 20) +$lblTitle.Size = New-Object System.Drawing.Size(500, 30) +$form.Controls.Add($lblTitle) + +$btnPanel = New-Object System.Windows.Forms.Panel +$btnPanel.Location = New-Object System.Drawing.Point(20, 60) +$btnPanel.Size = New-Object System.Drawing.Size(840, 40) +$form.Controls.Add($btnPanel) + +$btnCheck = New-Object System.Windows.Forms.Button +$btnCheck.Text = "开始检查" +$btnCheck.Location = New-Object System.Drawing.Point(0, 5) +$btnCheck.Size = New-Object System.Drawing.Size(120, 30) +$btnCheck.Add_Click({ Start-Checks }) +$btnPanel.Controls.Add($btnCheck) + +$btnExit = New-Object System.Windows.Forms.Button +$btnExit.Text = "退出" +$btnExit.Location = New-Object System.Drawing.Point(760, 5) +$btnExit.Size = New-Object System.Drawing.Size(80, 30) +$btnExit.Add_Click({ $form.Close() }) +$btnPanel.Controls.Add($btnExit) + +$progressBar = New-Object System.Windows.Forms.ProgressBar +$progressBar.Location = New-Object System.Drawing.Point(20, 110) +$progressBar.Size = New-Object System.Drawing.Size(840, 20) +$progressBar.Visible = $false +$form.Controls.Add($progressBar) + +$tabControl = New-Object System.Windows.Forms.TabControl +$tabControl.Location = New-Object System.Drawing.Point(20, 140) +$tabControl.Size = New-Object System.Drawing.Size(840, 430) +$form.Controls.Add($tabControl) + +$tabResults = New-Object System.Windows.Forms.TabPage +$tabResults.Text = "检查结果" +$tabControl.Controls.Add($tabResults) + +$dgvResults = New-Object System.Windows.Forms.DataGridView +$dgvResults.Location = New-Object System.Drawing.Point(10, 10) +$dgvResults.Size = New-Object System.Drawing.Size(800, 380) +$dgvResults.AllowUserToAddRows = $false +$dgvResults.ReadOnly = $true +$dgvResults.SelectionMode = "FullRowSelect" +$dgvResults.AutoSizeColumnsMode = "Fill" +[void]$dgvResults.Columns.Add("Name", "检查项") +[void]$dgvResults.Columns.Add("Status", "状态") +[void]$dgvResults.Columns.Add("Current", "当前值") +[void]$dgvResults.Columns.Add("Required", "要求") +$tabResults.Controls.Add($dgvResults) + +$tabLog = New-Object System.Windows.Forms.TabPage +$tabLog.Text = "详细日志" +$tabControl.Controls.Add($tabLog) + +$txtLog = New-Object System.Windows.Forms.TextBox +$txtLog.Location = New-Object System.Drawing.Point(10, 10) +$txtLog.Size = New-Object System.Drawing.Size(800, 380) +$txtLog.Multiline = $true +$txtLog.ScrollBars = "Vertical" +$txtLog.ReadOnly = $true +$txtLog.Font = New-Object System.Drawing.Font("Consolas", 9) +$tabLog.Controls.Add($txtLog) + +$lblSummary = New-Object System.Windows.Forms.Label +$lblSummary.Text = "" +$lblSummary.Location = New-Object System.Drawing.Point(20, 580) +$lblSummary.Size = New-Object System.Drawing.Size(840, 30) +$lblSummary.Font = New-Object System.Drawing.Font("Microsoft YaHei UI", 11) +$form.Controls.Add($lblSummary) + +Log-Message "欢迎使用 OpenClaw 前置条件检查工具!" +Log-Message "点击「开始检查」按钮开始检查您的系统。" + +[void]$form.ShowDialog() diff --git a/openClaw/openClaw-win11安装指南.md b/openClaw/openClaw-win11安装指南.md new file mode 100755 index 0000000..1c4fefa --- /dev/null +++ b/openClaw/openClaw-win11安装指南.md @@ -0,0 +1,718 @@ +# OpenClaw Windows 11 一键安装指南(小白专属版) +> +> ✅ 操作难度:☆☆☆☆☆ 全程复制粘贴,不用懂技术,10分钟搞定 +> +> ❌ 完全不用装WSL、不用学Linux命令,纯Windows原生安装 + +--- + +## 📋 第一阶段:前置条件检查 + +> 理论上当前使用的电脑都应该符合。若不确定,也可使用以下脚本检测一下 +> 一键检查脚本(双击打开):启动检查工具.bat + +### 1. 电脑配置要求 + +| 检查项 | 要求 | 说明 | +|--------|------|------| +| 操作系统 | Windows 11 64位 | 不支持Windows 10及以下 | +| 内存 | ≥8GB | 推荐16GB,AI响应更快 | +| 硬盘 | ≥10GB空闲空间 | 用来存安装包和模型缓存 | +| 网络 | 能正常上网 | 安装过程需要下载约2GB文件 | + +### 2. 确认Windows版本 + +1. 点左下角开始按钮 ➡️ 点「设置」⚙️ +2. 左侧选「系统」 ➡️ 拉到底部点「关于」 +3. 确认「Windows规格」里是 **Windows 11**,「系统类型」是 **64位操作系统** ✔️ + +### 3. 打开管理员PowerShell +> +> 后面所有操作都需要管理员权限,每次都要这么开: + +1. Win + X 打开快速菜单 ➡️ 选「Windows PowerShell(管理员)」 +2. 弹出「允许此应用对你的设备进行更改?」点「是」 ✔️ + +--- + +## 🚀 第二阶段:详细安装步骤(小白一键版) +> +> ✅ 全程复制粘贴3条命令,全自动安装,不用懂任何技术 +> +> ⏱️ 预计时间:10分钟(取决于网速) + +### 1. 允许脚本执行(必做!不然装不了) + +在刚才打开的**管理员PowerShell**蓝色窗口里,**复制粘贴**下面这行命令,然后按回车: + +```powershell +Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned +``` + +> [实践]操作提示: +> +> 1. 粘贴后会出现询问,输入 `Y` 然后按回车 ✔️ +> 2. 如果没看到询问直接跳回命令行,说明已经设置好了,直接下一步 + +### 2. 一键安装OpenClaw(全自动) + +继续在同一个PowerShell窗口里,**复制粘贴**下面这整行命令,然后按回车: + +```powershell +iwr -useb https://openclaw.ai/install.ps1 | iex +``` + +> [实践]操作提示: +> +> 1. 这步会自动下载并安装OpenClaw,全程不要关窗口 +> 2. 期间会弹出一些进度条,等个5-10分钟就行 +> 3. 如果网络慢,会给你提示"正在下载...",耐心等 +> 4. 看到「OpenClaw安装完成」的提示就说明这步成功了 ✔️ +> 5. 常见安装错误见[win11安装openclaw问题及解决](./win11%E5%AE%89%E8%A3%85openclaw%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3.md) + +### 3. 验证安装成功 + +安装完成后,继续在PowerShell里输入下面这行命令,按回车: + +```powershell +openclaw --version +``` + +> [事实]预期输出: +> 会显示类似 `v2026.3.8` 这样的版本号 ✔️ +> +> 如果报错说找不到命令,别慌,**关闭PowerShell窗口,重新打开管理员PowerShell**再试一次就行 + +--- + +### 第二阶段检查清单 ✅ + +请确认你已经完成了所有步骤: + +- [ ] 执行了允许脚本的命令 +- [ ] 执行了一键安装脚本,看到安装完成提示 +- [ ] 用 `openclaw --version` 验证成功,显示了版本号 + +--- + +> 🎉 第二阶段完成!OpenClaw已经安装到你的电脑上了,接下来进入第三阶段:初始化配置向导 + +--- + +## ⚙️ 第三阶段:初始化配置向导(跟着提示点就行) +> +> ✅ 启动向导后会有交互式提示,每一步都有中文/英文选项,选默认的就行 +> +> ⏱️ 预计时间:5-10分钟 + +### 前置准备 + +在开始配置前,你需要先准备好: + +1. **AI 大模型的 API Key**(首次推荐使用免费的**火山方舟**模型) 获取方法请参考[火山方舟APIKEY获取指南](./AI%E5%A4%A7%E6%A8%A1%E5%9E%8BAPIKEY%E8%8E%B7%E5%8F%96.md) +2. 确保网络能正常访问你的模型服务商 + +### 1. 启动配置向导 + +在**管理员PowerShell**里,**复制粘贴**下面这行命令,按回车: + +```powershell +openclaw onboard --install-daemon +``` + +> [实践]操作提示: +> +> 1. 加上 `--install-daemon` 会自动配置开机自启,以后不用手动启动服务 +> 2. 启动后会进入交互式向导,跟着下面的步骤选就行 + +--- + +### 2. 向导配置步骤详解 + +向导启动后,会依次问你几个问题,照着下面选: + +| 步骤 | 向导问题 | 推荐选择 | 说明 | +|------|----------|----------|------| +| 1 | 安全确认 | 输入 `yes` 回车 | 必须确认后才能继续 | +| 2 | 选择模型服务商 | 用方向键选你的模型(如 OpenAI、Anthropic、Custom) | 选择 | +| 3 | 输入 API Key | 粘贴你的 API Key 回车 | 从你的模型服务商控制台复制过来 | +| 4 | 选择默认模型 | 选推荐的默认模型(如 gpt-4o、claude-3-5-sonnet) | 推荐选能力强的模型 | +| 5 | 绑定消息渠道 | 暂时选跳过/Skip | 后面想用 飞书/微信等再配置 | +| 6 | Web 工具 | 暂时选跳过/Skip | 后面想用 Web 工具再配置 | +| 7 | 技能配置 | 暂时选跳过/Skip | 后面想用 技能再配置 | +| 8 | 钩子配置 | 暂时选跳过/Skip | 后面想用 钩子再配置(先空格选中,再回车确认) | +| 9 | 机器人使用方式 | 选默认的 TUI | 推荐默认,也可以选 WebUI | +| 10 | 完成 | 机器人有回复,说明设置完成 ✔️ | 可以使用TUI、或 WebUI 来操作机器人(需使用网关token) | + +1. 安全确认 +![safe_confirm](./src/safe_confirm.png) +2. 选择模型服务商 +![model_provider_mode](./src/model_provider_mode.png) +![model_provider](./src/model_provider.png) +3. 输入 API Key +![apikey_input](./src/apikey_input.png) +![apikey_set](./src/apikey_set.png) +4. 选择默认模型 +![default_model](./src/default_model.png) +5. 绑定消息渠道 +![channel_bind](./src/channel_bind.png) +6. Web 工具 +![web_search](./src/web_search.png) +7. 技能配置 +![skill_config](./src/skill_config.png) +8. 钩子配置 +![hook_config](./src/hook_config.png) +9. 机器人使用方式 +![use_mode](./src/use_mode.png) +10. 完成 +![complete](./src/complete.png) + +> [事实]国内用户说明: +> 如果你用国内模型(DeepSeek/智谱/通义千问等),在步骤2选 `Custom`(自定义),然后输入: +> +> - 模型服务商名称(随便填,比如"DeepSeek") +> - API 地址(从服务商文档里找,比如 DeepSeek 是 `https://api.deepseek.com`) +> - 模型名称(比如 `deepseek-chat`) +> - API Key + +> 🎉至此,你的OpenClaw配置向导就完成了。你的机器人已经可以正常运行了。 +> 你可以通过查看配置来获取机器人的网关token:`type $env:USERPROFILE\.openclaw\openclaw.json | Select-String "token"`![gateway_token](./src/gateway_token.png) +> 访问 web 地址 `http://127.0.0.1:18789/chat?token={你上面获取到的token}`,即可打开机器人的 WebUI 界面。可以跟机器人聊天、配置技能等。 + +--- + +### 3. 验证配置成功 + +向导完成后,输入下面这行命令检查服务状态: + +```powershell +openclaw status +``` + +> [事实]预期输出: +> `Gateway` 行显示绿色说明服务正常运行 ✔️ +> ![gateway_info](./src/gateway_info.png) + +--- + +### 4. 给本地权限 + +OpenClaw 新版本权限收紧,需要手动给全权限: + +```powershell +openclaw config set tools.profile full +``` + +> [实践]操作提示: +> 输入后回车,没有报错就是成功了 ✔️ +> 重新启动 gateway : `openclaw gateway restart` + +--- + +### 第三阶段检查清单 ✅ + +请确认你已经完成了所有步骤: + +- [ ] 启动了 `openclaw onboard --install-daemon` 向导 +- [ ] 配置了模型服务商和 API Key +- [ ] 用 `openclaw status` 验证 Gateway 正在运行 +- [ ] 执行了 `openclaw config set tools.profile full` 给权限 + +--- + +> 🎉 第三阶段完成!OpenClaw 已经配置好了,接下来进入第四阶段:验证与测试 + +--- + +## 🧪 第四阶段:验证与测试(确认一切正常) +> +> ✅ 这一步主要确认 OpenClaw 能正常运行、能访问网页界面、能正常和 AI 对话 +> +> ⏱️ 预计时间:5分钟 + +--- + +### 1. 健康检查:确认服务正常运行 + +在**管理员PowerShell**里,输入下面这行命令检查: + +```powershell +openclaw doctor +``` + +> [事实]预期输出: +> 会显示一系列检查项,大部分应该是绿色 ✔️,有少量黄色警告没关系,只要没有红色 ❌ 错误就正常 +> +> 如果有红色错误,别慌,看后面的「常见问题排查」章节 + +--- + +### 2. 访问 Dashboard 控制面板 + +#### 方法一:通过命令获取 WebUI 地址 + +在 PowerShell 里输入: + +```powershell +openclaw status +``` + +> [实践]操作提示: +> +> 1. 输出里 gateway 行会显示 Dashboard 地址,类似 `http://127.0.0.1:18789` +> 2. 复制这个地址到浏览器打开就行 + +#### 方法二:直接打开浏览器访问 + +如果你已经知道网关 token,直接在浏览器地址栏输入: + +```url +http://127.0.0.1:18789/chat?token={你的token} +``` + +> [实践]获取 token 的方法: +> 打开文件管理器,进入 `C:\Users\你的用户名\.openclaw\` 文件夹 +> 找到 `openclaw.json` 文件,用记事本打开 +> 找到 `"gateway": { "token": "xxxxx" }` 这一行,引号里的就是 token +> +> 或者用 PowerShell 命令查看: +> +> ```powershell +> type $env:USERPROFILE\.openclaw\openclaw.json | Select-String "token" +> ``` + +--- + +### 3. 首次对话测试 + +#### 方式一:通过 WebUI 对话 + +1. 在浏览器打开 Dashboard 后,找到「聊天」入口 +2. 在输入框里输入:`你好,请介绍一下自己` +3. 按回车发送,看 AI 有没有回复 ✔️ + +#### 方式二:通过命令行对话 + +在 PowerShell 里输入: + +```powershell +openclaw agent --message "你好,请介绍一下自己" +``` + +> [事实]预期输出: +> 几秒钟后会看到 AI 的回复,说明模型连接成功 ✔️ + +--- + +### 4. 发送测试消息(可选) + +如果你想测试消息渠道(比如 Telegram、飞书等,需先配置好),可以用: + +```powershell +openclaw message send --to "你的渠道ID" --message "测试消息,来自 OpenClaw" +``` + +> [实践]提示: +> 这一步需要先在第三阶段绑定好消息渠道,暂时没配置的话可以跳过 + +--- + +### 第四阶段检查清单 ✅ + +请确认你已经完成了所有验证: + +- [ ] 用 `openclaw doctor` 检查,没有红色错误 +- [ ] 成功打开了 Dashboard 网页界面 +- [ ] 和 AI 完成了首次对话,收到了正常回复 + +--- + +> 🎉 第四阶段完成!OpenClaw 已经可以正常使用了!接下来进入第五阶段:常见问题排查 + +--- + +## 🔧 第五阶段:常见问题排查(遇到问题看这里) +> +> ✅ 这是安装和使用过程中最常见问题的解决方案,按分类查找就行 +> +> ⏱️ 预计时间:根据问题而定,大部分 2-5 分钟解决 + +--- + +### 1. 网络问题(下载慢/连接失败) + +#### 问题1:一键安装脚本下载特别慢,甚至失败 + +**解决方案**: + +- 临时关闭 VPN/代理软件重试 +- 如果还是慢,尝试配置 npm 国内镜像源: + + ```powershell + npm config set registry https://registry.npmmirror.com + ``` + + 然后重新运行安装脚本 + +#### 问题2:模型 API 连接超时/失败 + +**解决方案**: + +- 检查你的网络能不能访问模型服务商官网(比如 OpenAI、DeepSeek) +- 如果是国外模型,需要配置代理,在 `openclaw.json` 里添加代理设置: + + ```json + "agent": { + "proxy": "http://127.0.0.1:7890" + } + ``` + + (把端口改成你代理软件的实际端口) + +--- + +### 2. 权限问题 + +#### 问题1:PowerShell 报错「无法加载,因为在此系统上禁止运行脚本」 + +**解决方案**: +重新执行允许脚本的命令: + +```powershell +Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned +``` + +输入 `Y` 回车确认 + +#### 问题2:工具调用失败,提示权限不足 + +**解决方案**: +确保已经执行了权限配置命令: + +```powershell +openclaw config set tools.profile full +``` + +然后重启 Gateway: + +```powershell +openclaw gateway restart +``` + +--- + +### 3. 端口占用问题 + +#### 问题1:启动 Gateway 报错「端口 18789 已被占用」 + +**解决方案**: + +**方法一:更改端口** +在启动时指定其他端口: + +```powershell +openclaw gateway --port 18790 +``` + +**方法二:找到并结束占用端口的程序** +在 PowerShell 里输入: + +```powershell +netstat -ano | findstr :18789 +``` + +会显示类似 `TCP 0.0.0.0:18789 0.0.0.0:0 LISTENING 1234` 的内容,最后面的 `1234` 就是进程 ID +然后输入(把 1234 换成实际的进程 ID): + +```powershell +taskkill /F /PID 1234 +``` + +--- + +### 4. 模型连接问题 + +#### 问题1:AI 不回复,提示「模型连接失败」 + +**解决方案**: + +1. 检查 API Key 有没有填错 +2. 检查 API Key 有没有余额 +3. 检查模型名称是不是正确(比如 `gpt-4o` 不能写成 `gpt4o`) +4. 重新运行配置向导修改模型设置: + + ```powershell + openclaw onboard + ``` + +#### 问题2:国内模型(DeepSeek/智谱等)配置后无法连接 + +**解决方案**: +检查 `openclaw.json` 里的配置,确保: + +- API 地址正确(不要多写或少写 `/`) +- 模型名称正确 +- API Key 正确 +示例配置(DeepSeek): + +```json +"agent": { + "model": "deepseek/deepseek-chat", + "models": { + "deepseek/deepseek-chat": { + "apiKey": "你的API Key", + "baseUrl": "https://api.deepseek.com" + } + } +} +``` + +--- + +### 5. Gateway 服务问题 + +#### 问题1:`openclaw status` 显示 Gateway 没运行 + +**解决方案**: +手动启动 Gateway: + +```powershell +openclaw gateway start +``` + +或者重新运行守护进程安装: + +```powershell +openclaw onboard --install-daemon +``` + +#### 问题2:Gateway 频繁自动重启 + +**解决方案**: +查看日志找原因: + +```powershell +openclaw gateway logs +``` + +根据日志提示排查问题,常见原因是配置错误、模型连接失败等 + +--- + +### 6. 万能解决方法(试了上面都不行) + +如果遇到其他奇怪问题,按顺序尝试: + +1. 重启 Gateway: + + ```powershell + openclaw gateway restart + ``` + +2. 运行健康检查,看具体报错: + + ```powershell + openclaw doctor + ``` + +3. 重新运行配置向导: + + ```powershell + openclaw onboard + ``` + +4. 重启电脑(终极解决方案) + +--- + +### 第五阶段检查清单 ✅ + +- [ ] 遇到问题时,先在上面找对应的分类 +- [ ] 按解决方案一步步操作 +- [ ] 实在解决不了,用万能方法重试 + +--- + +> 🎉 第五阶段完成!接下来进入第六阶段:安全建议与最佳实践 + +--- + +## 🔐 第六阶段:安全建议与最佳实践(长期稳定运行) +> +> ✅ 这一步主要配置开机自启、访问控制等,让 OpenClaw 长期稳定安全运行 +> +> ⏱️ 预计时间:10分钟 + +--- + +### 1. 守护进程与开机自启(推荐配置) + +> [事实]说明:守护进程可以让 OpenClaw 在电脑开机后自动启动,不用每次手动开 PowerShell 启动 + +#### 确认守护进程已安装 + +在 PowerShell 里输入: + +```powershell +openclaw status +``` + +> [事实]预期输出: +> 如果看到 `Daemon: installed` 说明已经配置好开机自启 ✔️ + +#### 如果没安装守护进程,手动安装 + +```powershell +openclaw onboard --install-daemon +``` + +跟着向导走,选安装守护进程即可。 + +#### 查看守护进程状态 + +```powershell +openclaw daemon status +``` + +#### 手动控制守护进程 + +```powershell +openclaw daemon start # 启动 +openclaw daemon stop # 停止 +openclaw daemon restart # 重启 +``` + +--- + +### 2. 访问控制与安全加固 + +#### 2.1 不要把 Dashboard 暴露到公网 +> +> [观点]重要提醒: +> +> - 默认情况下 Gateway 只监听 `127.0.0.1`(本地访问),这是安全的 +> - 不要修改配置让外网能访问,不然别人可能会控制你的 OpenClaw +> - 如果需要远程访问,推荐用 Tailscale 或 SSH 隧道(需要一定技术基础,暂时不建议小白操作) + +#### 2.2 保护好网关 Token +> +> [事实]说明: +> +> - 网关 Token 相当于 OpenClaw 的管理员密码 +> - 不要把 Token 告诉别人,不要发到网上 +> - 如果 Token 泄露了,立即重新生成: +> 1. 打开 `C:\Users\你的用户名\.openclaw\openclaw.json` +> 2. 找到 `"gateway": { "token": "xxxxx" }` +> 3. 把 `xxxxx` 改成一串新的随机字符(至少16位,字母数字混合) +> 4. 保存文件,重启 Gateway: +> +> ```powershell +> openclaw gateway restart +> ``` + +#### 2.3 消息渠道配对安全 +> +> [实践]说明: +> +> - 默认情况下,未知用户给你发消息会收到配对码,不会直接处理 +> - 只有你用 `openclaw pairing approve` 批准后,对方才能和 AI 对话 +> - 不要随便批准陌生人的配对请求 + +--- + +### 3. 日常维护最佳实践 + +#### 3.1 定期更新 OpenClaw +> +> [实践]建议: +> 每隔 1-2 个月更新一次,获取新功能和安全修复: + +```powershell +npm update -g openclaw +``` + +更新后运行健康检查: + +```powershell +openclaw doctor +``` + +#### 3.2 定期检查服务状态 + +建议每周运行一次健康检查,确保一切正常: + +```powershell +openclaw doctor +openclaw status +``` + +#### 3.3 备份配置文件 +> +> [实践]建议: +> 定期备份 `C:\Users\你的用户名\.openclaw\` 文件夹,防止配置丢失 +> +> - 可以复制到其他盘,或者云盘 +> - 重装系统后,把备份的文件夹复制回去就能恢复配置 + +--- + +### 4. 性能优化建议(可选) + +#### 4.1 如果内存不够用 +> +> [观点]建议: +> +> - 关闭其他占用内存大的软件 +> - 在 `openclaw.json` 里配置更小的上下文窗口(需要一定技术基础) +> - 考虑升级电脑内存到 16GB 以上 + +#### 4.2 如果 AI 响应慢 + +- 检查网络连接 +- 换一个更快的模型(比如从 gpt-4o 换成 gpt-4o-mini) +- 清理浏览器缓存(如果用 WebUI) + +--- + +### 5. 卸载 OpenClaw(如果哪天不想用了) + +> [实践]完整卸载步骤: + +1. 停止守护进程: + + ```powershell + openclaw daemon stop + ``` + +2. 卸载 npm 包: + + ```powershell + npm uninstall -g openclaw + ``` + +3. 删除配置文件夹(注意:这会删除所有配置和对话记录!): + + ```powershell + Remove-Item -Recurse -Force $env:USERPROFILE\.openclaw + ``` + +--- + +### 第六阶段检查清单 ✅ + +请确认你已经完成了: + +- [ ] 确认守护进程已安装,开机自启已配置 +- [ ] 知道要保护好网关 Token,不要泄露 +- [ ] 了解日常维护的基本命令(更新、健康检查) +- [ ] 知道怎么备份配置文件 + +--- + +> 🎉 恭喜!所有阶段都完成了!OpenClaw 现在已经完全安装、配置好,可以长期稳定使用了! +> +> 📚 推荐后续阅读: +> +> - 探索 ClawHub 技能商店: +> - 官方文档: +> - 社区 Discord: diff --git a/openClaw/src/apikey_input.png b/openClaw/src/apikey_input.png new file mode 100755 index 0000000..973e9cf Binary files /dev/null and b/openClaw/src/apikey_input.png differ diff --git a/openClaw/src/apikey_set.png b/openClaw/src/apikey_set.png new file mode 100755 index 0000000..1ff181a Binary files /dev/null and b/openClaw/src/apikey_set.png differ diff --git a/openClaw/src/channel_bind.png b/openClaw/src/channel_bind.png new file mode 100755 index 0000000..324bf2c Binary files /dev/null and b/openClaw/src/channel_bind.png differ diff --git a/openClaw/src/complete.png b/openClaw/src/complete.png new file mode 100755 index 0000000..9e184a4 Binary files /dev/null and b/openClaw/src/complete.png differ diff --git a/openClaw/src/default_model.png b/openClaw/src/default_model.png new file mode 100755 index 0000000..0d6305b Binary files /dev/null and b/openClaw/src/default_model.png differ diff --git a/openClaw/src/error_iso.png b/openClaw/src/error_iso.png new file mode 100755 index 0000000..ef14cd8 Binary files /dev/null and b/openClaw/src/error_iso.png differ diff --git a/openClaw/src/error_npm.png b/openClaw/src/error_npm.png new file mode 100755 index 0000000..96c133d Binary files /dev/null and b/openClaw/src/error_npm.png differ diff --git a/openClaw/src/gateway_info.png b/openClaw/src/gateway_info.png new file mode 100755 index 0000000..ba0ef67 Binary files /dev/null and b/openClaw/src/gateway_info.png differ diff --git a/openClaw/src/gateway_token.png b/openClaw/src/gateway_token.png new file mode 100755 index 0000000..847658c Binary files /dev/null and b/openClaw/src/gateway_token.png differ diff --git a/openClaw/src/hook_config.png b/openClaw/src/hook_config.png new file mode 100755 index 0000000..774c65a Binary files /dev/null and b/openClaw/src/hook_config.png differ diff --git a/openClaw/src/model_provider.png b/openClaw/src/model_provider.png new file mode 100755 index 0000000..bc9b858 Binary files /dev/null and b/openClaw/src/model_provider.png differ diff --git a/openClaw/src/model_provider_mode.png b/openClaw/src/model_provider_mode.png new file mode 100755 index 0000000..060e727 Binary files /dev/null and b/openClaw/src/model_provider_mode.png differ diff --git a/openClaw/src/safe_confirm.png b/openClaw/src/safe_confirm.png new file mode 100755 index 0000000..de28c5d Binary files /dev/null and b/openClaw/src/safe_confirm.png differ diff --git a/openClaw/src/skill_config.png b/openClaw/src/skill_config.png new file mode 100755 index 0000000..49f3b28 Binary files /dev/null and b/openClaw/src/skill_config.png differ diff --git a/openClaw/src/use_mode.png b/openClaw/src/use_mode.png new file mode 100755 index 0000000..745f055 Binary files /dev/null and b/openClaw/src/use_mode.png differ diff --git a/openClaw/src/volcengine_apikey_list.png b/openClaw/src/volcengine_apikey_list.png new file mode 100755 index 0000000..3b9ef96 Binary files /dev/null and b/openClaw/src/volcengine_apikey_list.png differ diff --git a/openClaw/src/web_search.png b/openClaw/src/web_search.png new file mode 100755 index 0000000..390b72e Binary files /dev/null and b/openClaw/src/web_search.png differ diff --git a/openClaw/win11安装openclaw问题及解决.md b/openClaw/win11安装openclaw问题及解决.md new file mode 100755 index 0000000..c3b60bb --- /dev/null +++ b/openClaw/win11安装openclaw问题及解决.md @@ -0,0 +1,25 @@ +# win11安装openclaw问题及解决 + +## 一键安装失败 iwr -useb | iex + +- 报错如下,且要求选择运行 .iso 的软件 +![error_iso](./src/error_iso.png) +**问题**:.msi 文件没有正确关联到 Windows Installer 导致nodejs 安装失败 +**解决**: 当前窗口执行: + +```PowerShell +cmd /c assoc .msi=Msi.Package +cmd /c ftype Msi.Package="%SystemRoot%\System32\msiexec.exe" /i "%1" %* Msi.Package=C:\WINDOWS\System32\msiexec.exe /i %1 %* +``` + +- 安装 openClaw 报错,`npm error code 1` +![error_npm](./src/error_npm.png) +**问题**:实际执行的是 npm install -g openclaw,编译 C++ 推理库阶段失败 +**解决**:跳过编译 + +```PowerShell +# 使用国内镜像 +npm i -g openclaw --ignore-scripts --registry=https://registry.npmmirror.com +# 或挂梯子使用官方镜像 +npm i -g openclaw --ignore-scripts +``` diff --git a/openClaw/启动检查工具.bat b/openClaw/启动检查工具.bat new file mode 100644 index 0000000..ce5a625 --- /dev/null +++ b/openClaw/启动检查工具.bat @@ -0,0 +1,10 @@ +@echo off +cd /d "%~dp0" +echo. +echo ======================================================================== +echo OpenClaw Precheck Tool is starting... +echo ======================================================================== +echo. +echo [Note] Please do NOT close this window. +echo. +powershell -NoProfile -ExecutionPolicy Bypass -Command "& { .\\OpenClawPrecheck.ps1 }"