diff --git a/#recycle/Asset/Attachment/跨境电商/TK美国面单授权及操作流程/IMG-20251214113517921.png b/#recycle/Asset/Attachment/跨境电商/TK美国面单授权及操作流程/IMG-20251214113517921.png deleted file mode 100644 index 6e3f255a..00000000 Binary files a/#recycle/Asset/Attachment/跨境电商/TK美国面单授权及操作流程/IMG-20251214113517921.png and /dev/null differ diff --git a/#recycle/Technical/Cloud & DevOps/What I know about Cloud Service Delivery.md b/#recycle/Technical/Cloud & DevOps/What I know about Cloud Service Delivery.md deleted file mode 100644 index a80519be..00000000 --- a/#recycle/Technical/Cloud & DevOps/What I know about Cloud Service Delivery.md +++ /dev/null @@ -1,106 +0,0 @@ - -## Cloud Service Delivery - -Cloud Service Delivery encompasses **the entire lifecycle of making cloud services operational, available, secure, performant, and valuable to end-users and customers.** -**In essence, Cloud Service Delivery is the bridge between the raw capabilities of cloud technology (IaaS, PaaS, SaaS) and the reliable, secure, performant, and cost-effective services that businesses and users actually consume.** - -Cloud Service Delivery Team: -- Cloud Infrastructure Engineer -- Cloud Operation Engineer (DevOps/SRE) -- Cloud Security Specialists -- Cloud Support Engineer -- Cloud FinOps Engineer -- - -1. **Service Provisioning & Deployment:** - - Setting up cloud infrastructure (servers, storage, networking). - - Automating deployment of applications and platforms. - - Configuring services according to customer requirements. - - Managing resource allocation and scaling - - Best Practice - - - -2. **Infrastructure Management:** - - Monitoring health, performance, and capacity of compute, storage, network resources. - - Patching and updating underlying infrastructure (hypervisors, hosts). - - Managing physical data center aspects (power, cooling, hardware lifecycle) _if using private/hybrid cloud_. - - Ensuring high availability and disaster recovery setups. - - Best Practice: - - AWS CloudWatch as a data source in Grafana Monitoring Tool - - -3. **Platform Management (for PaaS):** - - Managing middleware, databases, development tools, and runtime environments. - - Ensuring platform scalability, security, and performance. - - Applying patches and updates to platform components. -4. **Application Operations & Management (for SaaS/IaaS-hosted apps):** - - Monitoring application performance, uptime, and user experience. - - Deploying application updates and bug fixes. - - Managing application configuration and secrets. - - Ensuring application scalability and resilience. - - -5. **Security & Compliance Management:** - - Implementing and managing security controls (firewalls, IDS/IPS, encryption, IAM). - - Vulnerability scanning and patch management. - - Security incident monitoring and response. - - Ensuring compliance with regulations (GDPR, HIPAA, PCI-DSS, etc.). - - Auditing and logging management. - - Best Practice - - Cloud Application WAF management - - IP white list support to tenant level - - Security Scanning - - Security Guidance - -6. **Performance & Availability Monitoring:** - - 24/7 monitoring of all service components (infrastructure, platform, application). - - Setting and tracking SLAs (Service Level Agreements) and SLOs (Service Level Objectives). - - Proactive detection and resolution of performance bottlenecks and potential failures. - - Managing incident response to outages or degradation. - - Best Practice: - - Service Availability Check (APM/BPM, New Relic, AWS CloudWatch Synthetic, Health Page) - - SLA -Service Level Agreement - 99.9% vs 99.99% [uptime](https://uptime.is/) - - SLO - Service Level Objective - - Proactive detection (Grafana Alerting different severity) - -7. **Incident & Problem Management:** - - Responding to alerts and service disruptions. - - Troubleshooting issues across the stack. - - Restoring service quickly (incident management). - - Identifying root causes and implementing permanent fixes (problem management). - - Best Practice - -8. **Change & Configuration Management:** - - Controlling and documenting changes to the cloud environment. - - Managing configurations consistently and securely (Infrastructure as Code - IaC). - - Minimizing risk associated with changes through testing and rollback plans. - -9. **Cost Management & Optimization:** - - Monitoring cloud resource consumption and spending. - - Identifying and eliminating waste (idle resources, over-provisioning). - - Right-sizing resources. - - Utilizing reserved instances or savings plans effectively. - - Providing cost visibility and reporting. - -10. **Customer Onboarding & Support:** - - Guiding new customers/users through setup and access. - - Providing user documentation and training resources. - - Operating a service desk/helpdesk for user issues and requests (ticketing system). - - Handling billing inquiries and account management. - - -11. **Service Governance & Lifecycle Management:** - - Defining service catalogs and service levels (SLAs). - - Managing the lifecycle of services (introduction, operation, retirement). - - Continuous service improvement based on metrics and feedback. - - Vendor management (for public cloud providers or third-party tools). - - Best Practice: - - - -12. **Backup, Recovery & Disaster Management:** - - Implementing and managing data backup strategies. - - Testing restore procedures. - - Maintaining and testing disaster recovery (DR) plans and infrastructure. - - Executing failover and failback procedures during disasters. -## Cloud DevOps Maturity Model - -## AIOps - - diff --git a/#recycle/Work/--- 我的任务 ---.md b/#recycle/Work/--- 我的任务 ---.md deleted file mode 100644 index a8520eac..00000000 --- a/#recycle/Work/--- 我的任务 ---.md +++ /dev/null @@ -1,67 +0,0 @@ ---- - -kanban-plugin: board - ---- - -## TikTok Shop Tasks - -- [ ] ⏫ 等营业执照下来注册TikTok Shop -- [ ] ⏫ 学习Ushop使用方法,了解整个订单流程 -- [ ] 🔼 了解一下AMZ123网站 - - -## Backlog - -- [ ] ⏫ 学习并掌握Scrapy 爬虫工具的使用方法,并结合n8n实现自动化 -- [ ] ⏫ 尝试在本地搭建text to speech 的模型 并且通过API被n8n调用 -- [ ] ⏫ 用pgAdmin连接NAS上postgres数据库 -- [ ] ⏫ 尝试在本地使用n8n来调用comfyUI实现图生图自动化 -- [ ] 🔼 Learn Google Trends Tutorials -- [ ] 🔼 学习如何使用Google趋势来查看目标国家的热门产品销售数据 -- [ ] 🔼 升级Ubuntu1 Portainer 版本 -- [ ] 🔼 有空时可以搞一下 爬虫爬 OdayDown.com的数据 -- [ ] 🔽 利用ZBook Laptop搭建第二台Ubuntu Server -- [ ] 🔽 读原子习惯,掌握好习惯 中文版先读, 再读英文版 -- [ ] 🔽 注册并试用kie.ai -- [ ] N8n调用第三方ApI 进行图片编辑 -- [ ] 了解一下SerpAPI - - -## WIP - -- [ ] ⏫ 尝试使用硅基流的 API来实现文生图,并被n8n调用 - - -## Done - -- [ ] ⏫ 用n8n创建一个workflow可以把internet的图片转存到zipline,并返回图片公共链接 -- [ ] 🔼 了解一下Homarr的具体用法 -- [ ] 🔽 逐步淘汰Cpolar的使用,并删除相关软件 - - -## Tracking - -- [ ] ⏫ 利用Qwan3-code来生成n8n代码 - - -## Archive - -- [ ] ⏫ 配置Obsidian使用ishenwei.online 域名的webdav -- [ ] ⏬ 在购买的RackNerd的VPS上安装n8n (需要额外考虑) -- [ ] ⏫ 在NAS上搭建一个图床应用 -- [ ] ⏫ 在NAS上部署https://github.com/tt-rss/tt-rss - - -## Idea - -- [ ] 🔼 利用Postgres里的RSS article数据来实现 n8n调用并通过AI来分析最新得到的RSS article给一个简报并通过邮件发送 - - - - -%% kanban:settings -``` -{"kanban-plugin":"board","list-collapse":[false,false,false,false,false,false,false]} -``` -%% \ No newline at end of file diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Cloud Version Upgrade Procedures.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Cloud Version Upgrade Procedures.md deleted file mode 100644 index 2571731e..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Cloud Version Upgrade Procedures.md +++ /dev/null @@ -1,15 +0,0 @@ - -## 1. Review Upgrade Procedures Document with R&D team -## 2. Follow the Upgrade Procedures to perform Dev Farm upgrade validation -## 3. Send Notification to ESM Cloud Farm Customer about upcoming maintenance window -## 4. Maintenance Window Procedures -### 1. Set downtime of APM monitoring -### 2. Perform the upgrade change -### 3. Send notification to customer once all the change was done -### 4. Update Wiki Page about Version Tracking -### 5. Update System Health Page - Complete the Maintenance Window -### 6. Update PCS Product Version and Environment Version -### 7. Restore the APM monitoring and ensure all checks are good - -## 5. Monitoring the farm metrics to ensure everything is working as expected - diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM SaaS Customer Onboarding Process (Control Tower).md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM SaaS Customer Onboarding Process (Control Tower).md deleted file mode 100644 index 4e3de559..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM SaaS Customer Onboarding Process (Control Tower).md +++ /dev/null @@ -1,16 +0,0 @@ - -Control Tower Link: https://backoffice.saas.microfocus.com/home/bl/desktop.html?TENANTID=1#/customers - -- Request Access to Control Tower -- -- Customer Order Filter - - ESM Product Filter: - ![Image](http://zipline.ishenwei.online/u/cu2uo8.png) - - APM/OpsB/NOM Product Filter -![Image](http://zipline.ishenwei.online/u/QPUhmO.png) - -- SaaS Order In Control Tower -- CS Ops Fulfill the order and generate license -- SaaS Ops team download/allocate license and close the deal -- Control Tower order status change to "Provisioned", close the deal - diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Unplanned Production Change Management.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Unplanned Production Change Management.md deleted file mode 100644 index 973dd5dd..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Unplanned Production Change Management.md +++ /dev/null @@ -1,15 +0,0 @@ - -Wiki Page: -https://confluence.opentext.com/display/ICSD/Request+Unplanned+Change+in+Cloud+Production+Environment+Process - -R&D SA Approver -- Gong Yi (SMAX) -- Danny Tian (SMAX) -- Spinu Corneliu (SMAX) -- Moldovan Vlad -- Diana Pop (CMS) -- Bianca Voina (CMS) - -CSD Approver -- Shen Wei -- Ting Ye diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Upgrade Strategy & Plan.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Upgrade Strategy & Plan.md deleted file mode 100644 index 469617d8..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ESM Upgrade Strategy & Plan.md +++ /dev/null @@ -1,32 +0,0 @@ -## Review R&D Major Release Plan & Patch Plan -- ESM RTE: Mihaela Claudia Chis - - PI Planning Readout Slides -- ESM Patch Release Owner: Tanuj Raja Vunnava - - Patch Release Kick Off email -- Other requirement about upgrade strategy - - Demo/PoC Request - - Customer commitment etc. -## Prepare Cloud Upgrade Plan -### Design Tool -### Plan Strategy -- US2 Dev Farm Upgrade Validation - 1~2 days prior MR release date -- Shared Service - ITOM Aviator US30 staging, EU30 production, EU32 production need to be upgraded first before other consume farm upgrade -- EU3/US7 Trial/PoC Farm Upgrade - 1~ 2 weeks after GA release date, Upgrade on Monday (working day) -- US2/US24 Opentext Internal Customer Production Farm - 1st Wave Production Farm Upgrade (Maintenance Window) -- US26 - SalesForce customer need alternative upgrade date this can be negotiated with CSM and customer -- US26/US6/AP10/CA16 External Customer Production Farm - 2nd Wave Production Farm Upgrade (Maintenance Window) -- EU8/EU18/EU28/BR14/JP12 External Customer Production Farm - 3nd Wave Production Farm Upgrade (Maintenance Window) -- If ESM farm enable Operation Platform, need to upgrade Operation Platform first before upgrade ESM farm -- Considering the 1st patch release, we can consider to adopt patch upgrade direct in the upgrade maintenance window (Need to clarify the dependencies) -- Try to avoid upgrade window before key teams public holiday. Usually some critical issues will be reported on Monday/Tuesday after version upgrade. Need people standby to support troubleshooting - -### Publish and Notify the ESM Cloud Upgrade Plan -- ESM Cloud Upgrade Plan Wiki Page: https://confluence.opentext.com/display/ICSD/ESM+Cloud+Ops+Change+Calendar -- ESM Cloud Ops Change Calendar: https://opentextcorporation.sharepoint.com/sites/MFI-SMAXSaaSDevOps/Lists/ESM%20Cloud%20Calendar/calendar.aspx -- Internal Communication About ESM Cloud Upgrade Plan (Sample Email) -### Continuous to adjust the plan according to the changes -- Cancel/Postpone the upgrade according to critical defects - -### Rollback the upgrade - - diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Application List (Version, Capabilities).md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Application List (Version, Capabilities).md deleted file mode 100644 index a967ba19..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Application List (Version, Capabilities).md +++ /dev/null @@ -1,22 +0,0 @@ - -## ESM Cloud -- ESM Farm Information: https://confluence.opentext.com/display/ICSD/ITOM+ESM+Cloud+Farm+Information -- ESM Capability Introduction - - SMAX - - UCMDB, Native SACM, SAM - - HCMX/DnD - - OO - - AC - - FinOps Classic - - FinOps OP - - Operation Platform/Optic Data Lake (ODL) - - ITOM Aviator -- ESM Farm Version Tracking: https://confluence.opentext.com/display/ICSD/ITOM+Cloud+Applications+Version+Tracking -- ESM Customer Tenant Capabilities Enablement BI Report: https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/cf509ffe-325f-4c1b-a507-44b93e6d85ca/ReportSection3a054e35d20b9d533d81?experience=power-bi - -## OpsB/NOM Cloud -- OpsB/NOM Cloud Deployments & Version Tracking:https://confluence.opentext.com/display/ICSD/OpsB+and+NOM+Cloud+Deployments+Version+Tracking - -## APM Cloud -- APM Farm Information: https://confluence.opentext.com/display/ICSD/ITOM+APM+AppPluse+Cloud+Farm+Information - diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Major Incident Management Process.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Major Incident Management Process.md deleted file mode 100644 index 4b2cf89b..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/ITOM Cloud Major Incident Management Process.md +++ /dev/null @@ -1,19 +0,0 @@ -- Major Incident Definition: https://confluence.opentext.com/display/ICSD/Major+Incident+Definition -- Major Incident Management & Best Practice: - - Identification and Detection - - Initial Assessment - - Incident Logging - - Incident in OT SM9 - - Internal Practice: Create incident in PCS - - Communication - - Identify Incident Manager - - Create team chat group and involve all stakeholders - - Keeping update status - - Resolution ----Break--- - - Oncall/Response - - Post Incident Review - - Continuous Improvement (CAPA) - - Monitoring & Alerting Enhancements - - Documentation & Knowledge base: - \ No newline at end of file diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS KPI & Report.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS KPI & Report.md deleted file mode 100644 index a9fd05d7..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS KPI & Report.md +++ /dev/null @@ -1,6 +0,0 @@ -BI report: - -https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/1f4989a9-0127-4c6d-9375-f9dd9bda5d84/ReportSection?experience=power-bi - -PCS Dahsboard: -https://pcs.saas.microfocus.com/dashboard \ No newline at end of file diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS Service Offerings & Workflow Introduction.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS Service Offerings & Workflow Introduction.md deleted file mode 100644 index 2a880651..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/PCS Service Offerings & Workflow Introduction.md +++ /dev/null @@ -1,22 +0,0 @@ -PCS: https://pcs.saas.microfocus.com/homepage?AUTH=SAML - -ITOM Cloud Ops Assignment Group: -- SD: ESM SaaS Ops -- SD: OpsB SaaS Ops -- SD: NOM SaaS Ops -- SD: DCA SaaS Ops - - -- ITOM Cloud Service Offerings -- Service Request vs Support Request -- Entitlement/Environment/Tenant/Product -- Service/Support Request triage & workflow -- Request -> Incident -> Change -- Escalations - -BI report: - -https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/1f4989a9-0127-4c6d-9375-f9dd9bda5d84/ReportSection?experience=power-bi - -PCS Dahsboard: -https://pcs.saas.microfocus.com/dashboard \ No newline at end of file diff --git a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md b/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md deleted file mode 100644 index f26d75fb..00000000 --- a/#recycle/Work/2025 ITOM Cloud Knowledge Transfer/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md +++ /dev/null @@ -1,50 +0,0 @@ - -## Role and Responsibility -#### Strategic Responsibilities -- Own the reliability and performance of multiple SaaS Application Services. (APM, BPM, OpsB, NOM, ESM, DCA, SBM, ESM FedRAMP) -- Drive cloud modernization initiatives (e.g., containerization, EKS, CI/CD automation). -- Align cloud service delivery with customer SLAs, business growth, and compliance frameworks (e.g., FedRAMP, SBM). -- Interface with Sales, Product, Security, and Compliance to support new customer onboarding and cloud architecture reviews. - -#### Operational Responsibilities -- Oversee 24x7 operation and monitoring of cloud platforms (AWS-based). -- Manage escalations, incidents, and root cause analysis. -- Coordinate patching, upgrades, hotfixes, and maintenance windows. -- Own service onboarding/offboarding workflows, including tenant provisioning and decommissioning. - -#### People Management -- Performance management and coaching of global team members. -- Run weekly team syncs, monthly reviews, and ad-hoc cross-regional escalations. - -## Cloud Applications and Cloud Services KS Sessions - -### Session 1 -- ITOM Cloud Application AWS Account Owner - - https://confluence.opentext.com/display/ICSD/ITOM+Cloud+AWS+Account+Overview - - AWS Account Admin ownership - - Responsibility of AWS Account Admin -- ITOM Cloud Application List - - ESM/ITOM Aviator/DCA/SBM: https://confluence.opentext.com/display/ICSD/ITOM+ESM+Cloud+Farm+Information - - OpsB/NOM Cloud Application List: https://confluence.opentext.com/display/ICSD/OpsB+and+NOM+Cloud+Deployments+Version+Tracking - - APM Cloud Farm List: https://confluence.opentext.com/display/ICSD/ITOM+APM+AppPluse+Cloud+Farm+Information -- ITOM Cloud FinOps - - BI Reporting: https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/1a3fceca-6563-4cc6-8218-d1d27f15e2f1/ReportSection?experience=power-bi - - Opentext FinOps Team AWS FinOps Dashboard -### Session 2 -- ITOM Cloud Application Version Currency - - Upgrade Plan - - ESM/FebRAMP Ops Change Calendar - - OpsB/NOM Ops Change Calendar - - Upgrade Plan Timeline - -### Session 3 - -### Session 4 - -### Session 5 - -### Session 6 - -### Session 7 - -### Session 8 diff --git a/#recycle/Work/AWS → GCP.md b/#recycle/Work/AWS → GCP.md deleted file mode 100644 index 8fbe5774..00000000 --- a/#recycle/Work/AWS → GCP.md +++ /dev/null @@ -1,65 +0,0 @@ -# AWS → GCP - -To migrate your enterprise-level SaaS application from AWS to Google Cloud, you’ll need to find equivalent Google Cloud services for the AWS services you currently use, while ensuring your architecture remains compatible. Here's a service-by-service breakdown for smooth development: - -### 1. **AWS EKS (Elastic Kubernetes Service) → Google Kubernetes Engine (GKE)** - -**Google Kubernetes Engine (GKE)** is Google Cloud’s equivalent to AWS EKS. Both manage Kubernetes clusters, offering similar features like autoscaling, security, and networking. - -- **Migration Notes**: Kubernetes manifests and Helm charts will be reusable with minimal modification, but you’ll need to handle network and security configurations specific to Google Cloud. - -### 2. **AWS RDS (Relational Database Service) → Cloud SQL / Cloud Spanner** - -- **Cloud SQL**: Supports MySQL, PostgreSQL, and SQL Server, making it a direct equivalent for most RDS instances. -- **Cloud Spanner**: If you need horizontally scalable, globally distributed databases with strong consistency, consider Cloud Spanner. -- **Migration Notes**: Database migration tools like **Database Migration Service** can help with the data migration, ensuring minimal downtime and compatibility. - -### 3. **AWS EFS (Elastic File System) → Filestore** - -**Google Cloud Filestore** is a fully managed NFS (Network File System) service similar to AWS EFS. - -- **Migration Notes**: Ensure your applications are configured to use the Filestore APIs and access paths properly. Performance tiers and network configuration will need review for alignment with your AWS EFS setup. - -### 4. **AWS S3 (Simple Storage Service) → Google Cloud Storage** - -**Google Cloud Storage** is a direct equivalent to AWS S3 for object storage, supporting multiple classes of storage with similar durability and availability guarantees. - -- **Migration Notes**: Google Cloud’s storage APIs differ slightly, so you may need to refactor your code to accommodate the differences. However, bucket management and object lifecycle policies are similar. - -### 5. **AWS Lambda (Serverless Compute) → Google Cloud Functions / Cloud Run** - -- **Google Cloud Functions**: Equivalent to AWS Lambda for small, event-driven serverless tasks. -- **Cloud Run**: If you need to run containerized microservices, **Cloud Run** (based on Knative) is a good choice for scaling container workloads. -- **Migration Notes**: Code migration is generally straightforward, though GCP uses slightly different event triggers and permission models. - -### 6. **AWS Parameter Store → Secret Manager / Cloud Key Management Service (KMS)** - -- **Secret Manager**: For storing secrets such as passwords, API keys, and tokens. -- **Cloud KMS**: For managing encryption keys and ensuring data security. -- **Migration Notes**: Similar management principles apply, but authentication and access policies will need revision to comply with Google Cloud's identity model. - -### 7. **AWS SES (Simple Email Service) → SendGrid / Mailgun (Third-party service)** - -Google Cloud doesn't have a native email service comparable to SES, so you can leverage third-party services like **SendGrid** or **Mailgun**, which integrate well with Google Cloud. - -- **Migration Notes**: Integration through APIs will require code changes, but the overall functionality will remain similar. - -### 8. **AWS CloudWatch → Google Cloud Monitoring (formerly Stackdriver)** - -**Google Cloud Monitoring** is the equivalent of AWS CloudWatch, providing observability, logging, and alerting for your infrastructure and applications. - -- **Migration Notes**: If you are heavily using AWS CloudWatch Logs, consider migrating to **Google Cloud Logging** to keep a similar flow of data. - -### Additional Considerations: - -- **IAM and Security**: AWS Identity and Access Management (IAM) maps well to Google Cloud IAM, but you'll need to refactor policies and roles. -- **Networking**: Google Cloud’s VPC is similar to AWS VPC, but you'll need to translate networking configurations (firewalls, routing, etc.) and possibly update load balancing setups, using **Google Cloud Load Balancer** in place of AWS Elastic Load Balancing (ELB). - -### Tools for Migration: - -- **Google’s Database Migration Service**: To migrate RDS databases to Cloud SQL. -- **Migrate for Compute Engine**: For VM migrations if you use EC2 instances. -- **Velostrata**: For handling live migrations of workloads. - -Would you like to dive deeper into any particular service, or need assistance on a specific migration tool or process? - diff --git a/#recycle/Work/Answers from ChatGPT.md b/#recycle/Work/Answers from ChatGPT.md deleted file mode 100644 index b4649df4..00000000 --- a/#recycle/Work/Answers from ChatGPT.md +++ /dev/null @@ -1,200 +0,0 @@ - -#### Major Incident Management Process - -Certainly! Designing a comprehensive Major Incident Management process is crucial for maintaining the reliability and availability of enterprise SaaS applications. Below is a detailed outline of the major incident management process, including procedures for handling service outages: - -### Major Incident Management Process - -#### 1. **Identification and Detection:** - -- **Automated Monitoring:** Utilize robust monitoring tools to detect anomalies, performance issues, and potential outages. -- **User Reports:** Encourage users to report issues promptly via designated channels. - -#### 2. **Incident Logging:** - -- **Centralized Logging:** Maintain a centralized incident log that captures all relevant details, timestamps, and initial impact assessment. -- **Severity Classification:** Categorize incidents based on severity to prioritize response efforts. - -#### 3. **Initial Assessment:** - -- **Incident Triage:** Quickly assemble a cross-functional incident response team, including representatives from development, operations, and support. -- **Impact Analysis:** Evaluate the scope and impact of the incident on users, systems, and business operations. - -#### 4. **Communication:** - -- **Internal Communication:** Establish communication channels for the incident response team, ensuring timely updates and coordination. -- **External Communication:** Prepare predefined messages for customers and stakeholders, providing transparency about the incident. - -#### 5. **Resolution:** - -- **Runbooks and Playbooks:** Develop detailed runbooks and playbooks for common incident scenarios, outlining step-by-step resolution procedures. -- **Escalation Procedures:** Define clear escalation paths for issues that require higher-level expertise or management attention. - -#### 6. **Post-Incident Review (PIR):** - -- **Root Cause Analysis (RCA):** Conduct a thorough RCA to identify the underlying cause of the incident. -- **Documentation:** Document the incident resolution process, lessons learned, and preventive measures for future incidents. - -#### 7. **Continuous Improvement:** - -- **Iterative Updates:** Regularly update incident response procedures based on lessons learned from past incidents. -- **Training and Drills:** Conduct regular training sessions and simulated drills to ensure the incident response team is well-prepared. - -#### 8. **Monitoring and Alerting Enhancements:** - -- **Continuous Monitoring:** Implement ongoing improvements to monitoring and alerting systems to proactively detect potential issues. -- **Automated Remediation:** Integrate automated remediation tools to address common incidents swiftly. - -#### 9. **Documentation and Knowledge Sharing:** - -- **Knowledge Base:** Maintain a comprehensive knowledge base with troubleshooting guides, FAQs, and resolutions for known issues. -- **Documentation Accessibility:** Ensure that incident response documentation is easily accessible to all team members. - -#### 10. **Review and Audit:** - -- **Periodic Audits:** Conduct periodic reviews and audits of the major incident management process to identify areas for improvement. -- **Compliance Checks:** Ensure that the process aligns with industry best practices and regulatory requirements. - -This Major Incident Management process should be regularly reviewed and updated to adapt to evolving technologies and organizational needs. Regular training and communication exercises will help maintain a proactive and efficient incident response capability. - -#### What’s the definition of RACI - -RACI is an acronym that stands for Responsible, Accountable, Consulted, and Informed. It is a project management and organizational tool used to clarify roles and responsibilities within a team or across different stakeholders for specific tasks, processes, or projects. Each letter in RACI represents a different level of involvement and accountability: - -1. Responsible (R): This person or role is responsible for completing the task or carrying out the work. They are the individuals who perform the actual work and ensure it gets done. -2. Accountable (A): This person is ultimately accountable for the task's success or failure. They are the decision-makers who oversee the work and ensure it aligns with the project's objectives. There should be only one "A" assigned to each task or activity. -3. Consulted (C): These are individuals or roles that provide input, expertise, or advice on the task. They are consulted for their knowledge or perspective, but they are not responsible for the task's completion. -4. Informed (I): These individuals or roles need to be kept informed about the task's progress or outcome but do not have active participation in its execution. - -RACI matrices and charts are commonly used to document and communicate these roles and responsibilities, helping teams and organizations to reduce confusion, improve accountability, and ensure that work is completed efficiently and effectively. - -#### Handling Data Return in Enterprise SaaS Business - -Handling data returns in an enterprise SaaS business requires a well-defined process to ensure customer satisfaction and compliance with data privacy regulations. Here's a step-by-step guide to help you prepare a process for when a client requests to return their data: - -1. **Understand Data Ownership and Privacy Policies:** - - Clearly define data ownership in your terms of service and privacy policy. - - Understand and comply with data protection regulations relevant to your industry and geographic location (e.g., GDPR, CCPA). -2. **Provide Clear Terms in Contracts:** - - Include provisions in your contracts that outline the conditions under which clients can request the return of their data. - - Specify the format and timeline for data return. -3. **Implement Data Export Features:** - - Build data export features into your SaaS platform to allow clients to easily retrieve their data in a standard and commonly used format (e.g., CSV, JSON). - - Ensure that exported data includes all relevant information and maintains data integrity. -4. **Establish a Request Process:** - - Create a formalized process for clients to request the return of their data. - - This process could include a dedicated support channel, a web portal, or a specific form. -5. **Authenticate and Verify Requests:** - - Implement a robust authentication process to ensure that only authorized individuals can request data returns. - - Verify the identity of the requester through multi-factor authentication or other secure means. -6. **Document and Track Requests:** - - Keep a centralized record of all data return requests. - - Track the status of each request, including when it was received, processed, and completed. -7. **Review and Cleanse Data:** - - Before returning data, review it to ensure it doesn’t contain any sensitive information from other users. - - Implement a data cleansing process to remove any irrelevant or unnecessary information. -8. **Secure Data Transmission:** - - Use secure channels and encryption protocols to transmit the data back to the client. - - Provide the client with instructions on how to securely receive the data. -9. **Notify Client of Completion:** - - Notify the client when their data return request has been processed and the data is available for retrieval. - - Provide any relevant documentation or instructions. -10. **Follow Up for Feedback:** - -```other -- Follow up with the client after the data return to gather feedback on the process and ensure their satisfaction. -- Use feedback to continuously improve the data return process. -``` - -11. **Train Support and Compliance Teams:** - -```other -- Ensure that your support and compliance teams are well-trained on the data return process. -- Keep them updated on any changes to regulations or internal policies. -``` - -12. **Regularly Review and Update Process:** - -```other -- Periodically review and update the data return process to incorporate any changes in regulations, technology, or customer needs. -``` - -By implementing a well-structured process, you can efficiently handle data return requests, maintain customer trust, and comply with data protection laws. - -#### Routine DR Validation Process - -Routine disaster recovery (DR) validation reviews are crucial for ensuring the resilience of your enterprise SaaS business. Here's a step-by-step guide to help you prepare a process for routine disaster recovery validation reviews: - -1. **Define Objectives and Scope:** - - Clearly define the objectives of the routine disaster recovery validation review. - - Specify the scope, including the systems, applications, and data that will be included in the review. -2. **Establish a Schedule:** - - Set a regular schedule for conducting disaster recovery validation reviews. This could be quarterly, semi-annually, or annually based on the criticality of your systems. -3. **Document the Disaster Recovery Plan (DRP):** - - Ensure that you have a comprehensive and up-to-date disaster recovery plan in place. - - Document the step-by-step procedures for recovering systems and data in the event of a disaster. -4. **Identify Key Stakeholders:** - - Identify the key stakeholders involved in the disaster recovery validation process. - - This may include IT administrators, security personnel, and relevant business unit representatives. -5. **Select Validation Criteria:** - - Define the criteria that will be used to validate the effectiveness of the disaster recovery plan. - - Criteria may include recovery time objectives (RTO), recovery point objectives (RPO), and data integrity. -6. **Simulate Disaster Scenarios:** - - Develop a set of realistic disaster scenarios that could impact your systems and data. - - Simulate these scenarios to test the effectiveness of your disaster recovery plan. -7. **Coordinate with Third-Party Vendors:** - - If your SaaS business relies on third-party vendors or cloud service providers, coordinate with them to ensure that their disaster recovery plans align with yours. - - Validate their processes and capabilities as part of your review. -8. **Perform Tabletop Exercises:** - - Conduct tabletop exercises with key stakeholders to walk through various disaster recovery scenarios. - - Use these exercises to identify weaknesses, gaps, and areas for improvement in the plan. -9. **Automate Testing Where Possible:** - - Implement automation tools to simulate and test disaster recovery procedures. - - Automation can help streamline the testing process and provide more accurate results. -10. **Measure and Analyze Results:** - - Measure the performance against the defined criteria during each validation review. - - Analyze the results to identify trends, patterns, and areas that need improvement. -11. **Document Findings and Recommendations:** - - Document the findings of each disaster recovery validation review. - - Provide clear recommendations for improvements and corrective actions. -12. **Implement Improvements:** - - Act on the recommendations and implement improvements to enhance the effectiveness of your disaster recovery plan. -13. **Review and Update DRP:** - - Regularly review and update the disaster recovery plan based on the lessons learned from validation reviews and changes in your IT infrastructure. -14. **Communicate Results:** - - Communicate the results of the disaster recovery validation reviews to relevant stakeholders. - - Ensure transparency and provide information on the steps being taken to address any identified issues. -15. **Continuous Training and Awareness:** - - Conduct regular training sessions for your IT and operational teams to ensure they are familiar with the disaster recovery procedures. - - Raise awareness among employees about the importance of disaster recovery and their roles in the process. - -By following these steps, you can establish a robust process for routine disaster recovery validation reviews, helping to ensure the resilience and continuity of your enterprise SaaS business in the face of potential disasters. - - - -#### Please help explain what's the SOC2 audit? - -Please help me explain what's the SOC2 audit? - -SOC 2, which stands for Service Organization Control 2, is a framework for managing and securing data that is crucial for the privacy of user information. It is specifically designed for technology and cloud computing organizations that store customer data in the cloud. Developed by the American Institute of CPAs (AICPA), SOC 2 compliance is not a one-time event but an ongoing process that requires companies to follow certain criteria to ensure the security, availability, processing integrity, confidentiality, and privacy of customer data. - -Here are key components of a SOC 2 audit: - -1. **Trust Service Criteria:** SOC 2 is built around five "Trust Service Criteria" (TSC) – security, availability, processing integrity, confidentiality, and privacy. These criteria serve as the foundation for evaluating an organization's systems and processes. - - **Security:** The system is protected against unauthorized access (both physical and logical). - - **Availability:** The system is available for operation and use as committed or agreed. - - **Processing Integrity:** System processing is complete, valid, accurate, timely, and authorized. - - **Confidentiality:** Information designated as confidential is protected as committed or agreed. - - **Privacy:** Personal information is collected, used, retained, disclosed, and disposed of in conformity with the commitments in the entity’s privacy notice. -2. **SOC 2 Type I and Type II Audits:** - - **Type I:** Examines the suitability of the design of controls at a specific point in time. - - **Type II:** Examines the operational effectiveness of these controls over a period of time (typically a minimum of six months). -3. **Scope and Boundary:** The organization defines the scope of the audit, including the systems that are in scope and the boundaries of the environment being evaluated. -4. **Risk Management and Compliance:** SOC 2 requires organizations to identify and manage risks related to the security, availability, processing integrity, confidentiality, and privacy of information. -5. **Written Policies and Procedures:** Organizations need to have documented policies and procedures in place to demonstrate how they achieve and maintain compliance with the Trust Service Criteria. -6. **Third-Party Involvement:** If a company uses third-party service providers, the SOC 2 audit may extend to these providers to ensure that their services also meet the required standards. - -Successfully completing a SOC 2 audit provides organizations with a valuable certification that demonstrates their commitment to data security and privacy. It is often seen as a trust-building factor for customers and partners who want assurance that their data is handled with the utmost care and security. - - - diff --git a/#recycle/Work/CSD/ESM Cloud Application Troubleshooting as a Service.md b/#recycle/Work/CSD/ESM Cloud Application Troubleshooting as a Service.md deleted file mode 100644 index ce804faf..00000000 --- a/#recycle/Work/CSD/ESM Cloud Application Troubleshooting as a Service.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: -source: -author: - - Shen Wei -published: -created: -description: -tags: ---- -## Introduction -The main purpose of this document is to help non-Cloud Ops team members better understand the various services and tools currently provided for Cloud Application troubleshooting, so that they can be used flexibly in different scenarios and reduce dependence on Cloud Ops engineers. -Our goal is also very clear. We hope to provide a more efficient DevOps ecosystem to provide better services to our customers. - -**Please note that the various services and tools mentioned below require approval and authorization, and are currently limited to members of the Cloud Ops and R&D CPE teams** -## Troubleshooting as a Service - -### Access Environment as a Service -#### Access to Customer Tenant -We provide a method to enter the customer's tenant so that when doing troubleshooting, you can directly access the customer's environment to check the problem and understand the symptoms of the problem at the first time, so as to make the right judgment. - - -#### Access to ESM Farm BO, IDM, UCMDB JMX console -We provide a method to apply for temporary user access to each farm management console -- BO Suite Admin -- ESM IDM Admin -- UCMDB Super Admin to UCMDB JMX Console - -### Log Collection as a Service -We provide a very comprehensive log collection automation tool. -Collect log information of a specific module within a specific time period. Users can select appropriate filtering conditions to collect logs according to different scenarios, so as to locate problems more accurately and reduce extra effort caused by excessive log size. - - -### Check Configuration - -### Monitoring as a Service - -#### Unified Monitoring via pre-defined Grafana Dashboard -We provide a lot of rich implementation monitoring data for various troubleshooting. Currently we use Grafana as the monitoring UI to reflect the monitoring data of farm implementation: -- AWS Cloud Watch Data Source - Able to have real-time infrastructure monitoring (AWS EKS/EFS/RDS) -- Prometheus Data Source - Able to check real-time application level metrics exposed by Prometheus -- Database query Data Source - Get some key indicators of the application through database query -- Containerize/K8S - Able to monitor the key monitoring data of the containerize product, container/node/pod etc. - -#### Service Availability Health Page - - -### Log Analysis as a Service - -### BI Reporting as a Service - -### Unplanned Change Request as a Service - -### Other Services diff --git a/#recycle/Work/CSD/ESM Cloud Knowledge Sharing Plan.md b/#recycle/Work/CSD/ESM Cloud Knowledge Sharing Plan.md deleted file mode 100644 index 2d65bdda..00000000 --- a/#recycle/Work/CSD/ESM Cloud Knowledge Sharing Plan.md +++ /dev/null @@ -1,22 +0,0 @@ -## Product Service -### ESM Product - -### ESM Cloud Trial - -## Customer Service -### SaaS Customer Support Model -### Customer Service Offering Runbook -- Configure SAML authentication -- Configure custom domain for customer - - -## DevOps/SRE -### ESM Cloud GitLab -### ESM Cloud Operation Automation/Jenkins -### ESM Cloud Monitoring -### ESM Cloud System Health Page -### ESM Cloud Disaster Recovery - - - - diff --git a/#recycle/Work/CSD/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md b/#recycle/Work/CSD/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md deleted file mode 100644 index f26d75fb..00000000 --- a/#recycle/Work/CSD/Personal Transition Plan - Senior Manager of Cloud Service Delivery.md +++ /dev/null @@ -1,50 +0,0 @@ - -## Role and Responsibility -#### Strategic Responsibilities -- Own the reliability and performance of multiple SaaS Application Services. (APM, BPM, OpsB, NOM, ESM, DCA, SBM, ESM FedRAMP) -- Drive cloud modernization initiatives (e.g., containerization, EKS, CI/CD automation). -- Align cloud service delivery with customer SLAs, business growth, and compliance frameworks (e.g., FedRAMP, SBM). -- Interface with Sales, Product, Security, and Compliance to support new customer onboarding and cloud architecture reviews. - -#### Operational Responsibilities -- Oversee 24x7 operation and monitoring of cloud platforms (AWS-based). -- Manage escalations, incidents, and root cause analysis. -- Coordinate patching, upgrades, hotfixes, and maintenance windows. -- Own service onboarding/offboarding workflows, including tenant provisioning and decommissioning. - -#### People Management -- Performance management and coaching of global team members. -- Run weekly team syncs, monthly reviews, and ad-hoc cross-regional escalations. - -## Cloud Applications and Cloud Services KS Sessions - -### Session 1 -- ITOM Cloud Application AWS Account Owner - - https://confluence.opentext.com/display/ICSD/ITOM+Cloud+AWS+Account+Overview - - AWS Account Admin ownership - - Responsibility of AWS Account Admin -- ITOM Cloud Application List - - ESM/ITOM Aviator/DCA/SBM: https://confluence.opentext.com/display/ICSD/ITOM+ESM+Cloud+Farm+Information - - OpsB/NOM Cloud Application List: https://confluence.opentext.com/display/ICSD/OpsB+and+NOM+Cloud+Deployments+Version+Tracking - - APM Cloud Farm List: https://confluence.opentext.com/display/ICSD/ITOM+APM+AppPluse+Cloud+Farm+Information -- ITOM Cloud FinOps - - BI Reporting: https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/1a3fceca-6563-4cc6-8218-d1d27f15e2f1/ReportSection?experience=power-bi - - Opentext FinOps Team AWS FinOps Dashboard -### Session 2 -- ITOM Cloud Application Version Currency - - Upgrade Plan - - ESM/FebRAMP Ops Change Calendar - - OpsB/NOM Ops Change Calendar - - Upgrade Plan Timeline - -### Session 3 - -### Session 4 - -### Session 5 - -### Session 6 - -### Session 7 - -### Session 8 diff --git a/#recycle/Work/Cloud Service “Bilities”.md b/#recycle/Work/Cloud Service “Bilities”.md deleted file mode 100644 index b2242005..00000000 --- a/#recycle/Work/Cloud Service “Bilities”.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Cloud Service “Bilities” -source: -author: -published: 2025-03-01 -created: 2025-03-01 -description: -tags: [] -link: ---- -# Cloud Service “Bilities” - -**The "bilities"** - -In heritage OpenText Architecture we are constantly chasing how to meet what we lovingly call the "bilities".  Here is a list of the "bilities" - -Below are the primary capability requirements of any application to be operated by OT Commercial Cloud Service Delivery.  Some are absolute requirements, others add to the stability, performance and customer experience of the service. - -These define the “What” not the “How” of either the application or the infrastructure. - -**Recoverability** – Capability of an application to recover to a normal processing disposition as soon as a deviation from normal processing is detected either internal to the application or through external monitoring.  Recoverability includes not only restarting but restarting processing where it was last interrupted. - -**Usability** – All applications in a processing community are interacted with in a common and predictable manner, both from the administration side and the consumer side.  Standards in usability across applications supports efficient usage across those applications. - -**Operability** – Capability of an application component to be started, stopped, updated, diagnosed and deployed in a standard and predictable way. - -**Maintainability** – Capability of an application component to be updated, patched or functions changed in a standard and predictable manner.  Maintainability requires backward compatibility through 2 or more releases to enable maintenance activities to occur online. - -**Securability** – Capability of an application component to protect its assets and customer payload from unauthorized access.    Additionally, a capability to enforce access control rules based upon approved role. - -**Persistability** – Capability of an application to always persist payload data once it has entered the OT processing environment.  That data must exist and be accessible through maintenance, defect, application outage and normal processing.  Persistence should last the entirety of the payloads expected processing lifecycle from entrance to the environment through historical archive expiration. Persistence will accommodate global processing and Disaster Recovery requirements where applicable. - -**Mobility** – Capability of an application to survive infrastructure actions to support moving service components through In-center High Availability, Intra-center Geographic relocation and Intra-service Private to Public Cloud relocation. - -**Throttleability** – Capability of an application to control the processing rate through each component or service.  This key capability of each application component enables the operators of the service to isolate and maintain control of recovery to normal processing flow. - -**Deployability** – Capability of an application component to be maintained without downtime to the solution as a whole.  Maintenance, wherever possible, needs to take place without externally identifiable service interruption. - -**Reliability** – Capability of an application component or collection of components to with a high degree of consistency perform its defined function through both normal and abnormal operating conditions.  Reliability requires that the application component be able to perform its defined work through outage. - -**Reusability** – Capability of application service to perform for more than one service consumer.  Build once, use many in a common and consistent way. - -**Accountability/Billability** – Capability of an application to accurately report its usage by customer tenant for financial accounting purposes. - -**Durability**–Capability of an application to survive deviation from normal operating conditions. - -**Troubleshootability** – Capability to provide clear output to logging systems about all application components health and disposition during both normal and abnormal operating conditions. - -**Defensibility** – Capability and awareness of the application to defend itself against incorrect usage.  Both accidental and purposeful. - -**Extensibility** – An upfront design capability that takes into consideration the applications ability to expand its functions automatically in response to dynamic demand prompts.  Extensibility promotes expandability and elasticity. - -**Auditability** – An application needs to be deployed with capabilities and structures, and within an infrastructure design, that meet applicable external security and audit standards. - -**Application configurability** – All required feature and functional configuration management should be provided through a Web/API enabled interface.  No customer should need administrative access to underlying systems or infrastructure to perform customer available administrative tasks. - -**Observability** – Capability of an application to be deployed as an active part of an ecosystem that provides and accurate, timely, and complete indication of functional status and capacity level. - -**Visibility** – Provide capability to see detailed monitoring data describing the operating condition or health of the application. - -**Affordability** – An application needs to implement and use components and software that achieve P&L objectives and retain that position when scaled.  This includes the full range of administrative, support, and operational costs. - -**Adaptability** – An advanced capability of an application to be aware of processing going on around both upstream and downstream.  AI and machine learning are key to this capability. - diff --git a/#recycle/Work/ITOM Cloud Service Review Meeting.md b/#recycle/Work/ITOM Cloud Service Review Meeting.md deleted file mode 100644 index b56a2e16..00000000 --- a/#recycle/Work/ITOM Cloud Service Review Meeting.md +++ /dev/null @@ -1,46 +0,0 @@ -# ITOM Cloud Service Review Meeting - -### ESM - -- Current Status - - Farm #, region, - - EU managed - - Team size - - Major workload - - Upgrade maintenance - - Customer Cloud Service request → Show trend - - Internal Cloud Service - Trial (SMAX, CMS Standalone, HCMX, ITOM Aviator), Unplanned change etc. - - Customer driven project - UPN change, - - Security -- Recent Plan and activity - - Upgrade/Patch, SMAX helm transformation - - New farm plan - - ITOM Aviator productionize -- Issues & Gap - - EU Ops engineer resource gap - - FedRAMP resource gap - - Product quality caused additional operation effort - -### Smart Observability - -- Current Status - - Instances #, customer # - - Team size - - Major workload - - Cloud deployment automation certification - - Paid customer cloud instance deployment, initial configuration - - Trial Instance deployment - - Maintain upgrade, upgrade validation - - Customer -- Recent Plan and activity - - 24.2 Upgrade/Patch - - Support new product capability - AppO, CNO -- Issues & Gap - - AWS Cost Control - - Trial Instance control - - NOM Ops resource gap - - PCS Support case - - RnD request cloud instance - - - diff --git a/#recycle/Work/Meeting Note/ESM Weekly Meeting Agenda.md b/#recycle/Work/Meeting Note/ESM Weekly Meeting Agenda.md deleted file mode 100644 index 8aceff01..00000000 --- a/#recycle/Work/Meeting Note/ESM Weekly Meeting Agenda.md +++ /dev/null @@ -1,62 +0,0 @@ - -### Mar 19 -- ESM 25.2 upgrade validation plan - Ting Ye -- ESM Change Management Process Update - Ting Ye -- SG Yearly DR solution to share with team - Shen Wei -- ITOM Aviator EU32 farm construction status - Liu Yu/Adina -- ESM US2 dev farm automation pipeline - Sunny -- Update Incident Management Process -Shen Wei -- - -### Mar 13 -- Demo: New Jenkins Job to request temp BO admin user -Wenjun Sun -- Customer case update  -- Team Project Update: - - ESM Upgrade/Patch/Hotfix - Ting Ye - - AWS account migration to new SCP OU hierarchy - Yu Liu - - Terraform automation to construct new farm - Sunny Xia -- Round table -### Mar 3 -- Patch upgrade rollback strategy update - Shen Wei -- Heads up about time coverage - Shen Wei -- Ops Doc review and approve - Shen Wei -- ESM 25.1.2 + ITOM Aviator 25.1.2 Patch upgrade plan - Shen Wei -- ITOM Aviator (EU managed farm) budget approved, start project  Yu Liu  -- OP BVD ILR license generation and documentation Miroslav Shindarov Yun Zhao -- Operation Excellence Update - - Remove BO admin and use temp suite-admin account - - Grafana - AWS Cognito authentication status - - Terraform for ESM   -- DevSecOps Qualys/Prisma- Yu Liu -- New member training status update  -- Round table -### Feb 25 -- FedRAMP farm updates - Jeremy Thunker -- Team project update - - ESM Upgrade Ting Ye - - AWS account migration to new SCP OU hierarchy - Yu Liu - - Grafana to use AWS Cognito - Shen Wei - - CCOE AMI adoption - Ting Ye - - Cost Optimization - Ling-yan Meng -- Introduce the process how to handle security scan found issues - Shen Wei -- Customer exit process -### Feb 17 -- Welcome to Mericel to join ESM Cloud Ops team -- ESM 25.1.1 patch upgrade status - Ting Ye -- ITOM Aviator 25.1.1 upgrade status update - Yu Liu -- Mega Audit update - Shen Wei -- New ITOM Aviator farm (EU-managed) preparation - Yu Liu -- SMAX helm hotfix post deployment actions - Ling-yan Meng -- Round table update -### Feb 12 -- ESM Cloud Service meeting schedule introduction -- ITOM ESM Cloud Service Catalog introduction and new service approval flow -- New Project: - - New ITOM Aviator Farm (EU managed) - - Adopt CCOE AMI images - - 25.2 upgrade plan - - New ITOM Cloud Farm Architecture -- New member training plan - -I will record this meeting to ensure different time zone team member can watch the replay. - diff --git a/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Feb 2025.md b/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Feb 2025.md deleted file mode 100644 index 215439f2..00000000 --- a/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Feb 2025.md +++ /dev/null @@ -1,150 +0,0 @@ -# **ITOM ESM Cloud Service Monthly Report - Feb 2025** - -**2025/2/1 ~ 2025/2/28** - -This report contains the main work of the ESM Cloud Service team and shows the load of the team's work in the form of data, and describes some issues and risks for continuous improvement. - -# Table of Content: -- [[#Product Cloud Service|Product Cloud Service]] - - [[#Product Cloud Service#Planned Maintenance Window Changes|Planned Maintenance Window Changes]] - - [[#Product Cloud Service#Upgrade Plan|Upgrade Plan]] - - [[#Product Cloud Service#Unplanned Production Change|Unplanned Production Change]] - - [[#Product Cloud Service#Tenant Provision Services|Tenant Provision Services]] - - [[#Product Cloud Service#Product Trial Service|Product Trial Service]] -- [[#Customer Cloud Service|Customer Cloud Service]] - - [[#Customer Cloud Service#Customer Cloud Service|Customer Cloud Service]] - - [[#Customer Cloud Service#Major Incident & RCA|Major Incident & RCA]] - - [[#Customer Cloud Service#Customer Order & Fulfillment Highlights|Customer Order & Fulfillment Highlights]] - - [[#Customer Cloud Service#Monthly SLA|Monthly SLA]] -- [[#Cloud DevOps/SRE|Cloud DevOps/SRE]] - - [[#Cloud DevOps/SRE#ITOM Operation Platform 25.1|ITOM Operation Platform 25.1]] - - [[#Cloud DevOps/SRE#ESM Cloud Application WAF Enablement|ESM Cloud Application WAF Enablement]] - - [[#Cloud DevOps/SRE#ESM GCP onboarding|ESM GCP onboarding]] - - [[#Cloud DevOps/SRE#Security & Compliance|Security & Compliance]] - - [[#Cloud DevOps/SRE#Cloud BI Reporting|Cloud BI Reporting]] - ---- -# Product Cloud Service - -## Planned Maintenance Window Changes - -- **ESM Standard Planned Changes** - - There were a total of **49** times of (SMX/CMS/OMT/OO, FedRAMP, DCA, ITOM Aviator) Upgrade/Patch/Hotfix deployments to various farms - - All **ESM production farms** (**EU3/US7/US2/US24/US26/US6/EU8/AP10/JP12/BR14/CA16/EU18/EU28**) were upgraded to ESM latest major version **ESM 25.1.1** by the end of Feb, 2025 -- **ITOM Operation Platform** **25.1.1** was upgraded on ESM farm (**EU3/US24/EU18**) by the end of Feb, 2025 -- **ITOM Aviator Service** (**EU30**) was already upgraded to **25.1.1** with some infra change with language model -- All ESM Farm's **AWS EKS** version were upgraded to **1.30** -- FedRAMP **AMI Rotation + 24.3 FP4** was done successfully in Feb maintenance window - -![Image](http://zipline.ishenwei.online/u/9KyDGW.png) -![Image](http://zipline.ishenwei.online/u/u3jqNN.png) -![Image](http://zipline.ishenwei.online/u/UQxkcZ.png) -![Image](http://zipline.ishenwei.online/u/EA5ruD.png) -![Image](http://zipline.ishenwei.online/u/hGHxKw.png) ---- - -## Upgrade Plan - -**ESM 25.1 Upgrade Plan - COMPLETE** -![Image](http://zipline.ishenwei.online/u/d1OO4K.png) -**ESM 25.2 Upgrade Plan - IN PROGRESS** -![Image](http://zipline.ishenwei.online/u/A4bEnW.png) ---- -## Unplanned Production Change - -- Total **17** Unplanned Production Changes deployed to different ESM farms in this month -- **The number of additional unplanned change requests generated by product quality increased again this month. This needs to be taken seriously by the RnD team and analyzed after the fact to reduce similar problems and additional production changes.::** - -![Image](http://zipline.ishenwei.online/u/kGuobh.png) -![Image](http://zipline.ishenwei.online/u/LnBn4Y.png) - -![Image](http://zipline.ishenwei.online/u/9B64zk.png) ---- - -## Tenant Provision Services - -- There were a total of **28** tenant provision request fulfilled in this month. -![Image](http://zipline.ishenwei.online/u/EJGHvv.png) - -![Image](http://zipline.ishenwei.online/u/mzkyBA.png) ---- - -## Product Trial Service - -- There were a total of **370** product trial related service request fulfilled in this month. -![Image](http://zipline.ishenwei.online/u/1AkGlm.png) -![Image](http://zipline.ishenwei.online/u/UMP0Y5.png) -![Image](http://zipline.ishenwei.online/u/j3Ap39.png) - -- CT Trial (External Customer SMAX Only Trial) - **12** -![Image](http://zipline.ishenwei.online/u/NTkk0s.png) - -- Internal SMAX Premium Trial - **50** -![Image](http://zipline.ishenwei.online/u/GeXoRV.png) - -- HCMX Trial - **1** -![Image](http://zipline.ishenwei.online/u/2sOhvg.png) - -- ESM (SMAX/AMX/CMS) Trial - **21** -![Image](http://zipline.ishenwei.online/u/XqdzLt.png) - -- **ITOM Aviator Trial - 20** -![Image](http://zipline.ishenwei.online/u/FZN250.png) -# Customer Cloud Service - -## Customer Cloud Service - -- There were a total of **96** Customer Cloud Service Requests handled by ESM Cloud Service team in PCS -- **Special thanks to Remi's ESM Cloud RnD team for their cooperation in handling the customer's Cloud Service Request with technical support!** -![Image](http://zipline.ishenwei.online/u/ccwoCw.png) - ---- - -## Major Incident & RCA - -#### [2025/02/09 - US6/US2/AP10 - SMAX- Major Function Issue](https://confluence.opentext.com/pages/viewpage.action?pageId=689008569) - ---- -## Customer Order & Fulfillment Highlights -![Image](http://zipline.ishenwei.online/u/Wm4ACS.png) ---- - -## Monthly SLA - -- **ESM SMAX has achieved all 100% SLA in Jan, 2024** -- Data is available through **Jan 2024**, with Feb 2025 SLA data to be released around mid-March. - ---- - -# Cloud DevOps/SRE - -## ITOM Aviator (EU-Managed) Farm -- We got final business approval to construct new **ITOM Aviator (EU-managed)** farm. -- The project has already started and is expected to be delivered in 1 to 2 weeks -## ITOM Operation Platform 25.1 - -- We have successfully upgrade Operation Platform 24.4 to **25.1** on **EU3/US24/EU18** farm. -- We're preparing the Operation Platform 25.2 cloud readiness work include to start support OpsB to use OP 25.2 in ITOM Cloud environment. -- We are now continuing to work on the OP D2 enablement automation and the relevant operation runbook. -## ESM Cloud Application WAF Enablement - -- A new DevOps project was initiated to enhance WAF rules management & cloud deployment automation -- After some series of team efforts, it went through several processes of testing, modification, and deployment. We have now reached the criteria of **Enable WAF denied mode** with current WAF version on top of SMAX 25.1.1. -- We have enabled **SMAX WAF** in ‘**Denied Mode**’ on **US2** farm this Monday(Feb 24th). -- In addition, we have enable  ‘**Observation Mode**’ on **US24** & **US26** farms to get more WAF log information to help us determine the effectiveness of blockings. -## ESM GCP onboarding -- Based on the business requirements, we started working with Cloud SA group and Product group on GCP onboarding for ESM. Currently, there are two main working threads which require product team support to certify ESM products deployment on GCP, and validation and experimentation for GCP OCF cloud architecture platform led by Cloud SA. -## Operation Excellence -- We are actively enhancing the automation of ESM farm construction, covering all configurations based on AWS services, and using OT compliance automation solutions to build cloud automation deployment for ESM Farm -- We've implemented to use AWS Cognito authentication to control all Cloud Ops tooling. Recently we've enabled AWS Cognito authentication to access **Grafana** monitoring tool -## Security & Compliance -- At the request of Opentext GIS, the ESM Cloud Service Team has installed **Qualys** and **Prisma Defender** on all ESM production farms in order to facilitate security scanning on the Cloud to provide more secure ESM SaaS services. -- We recently launched a new project on how to handle various OS-based security issues discovered by Qualys Scan. In conjunction with the upcoming adopt **CCOE AMI** project, we intend to centrally replace and update the existing Cloud Application's EKS worker node OS to meet higher security standards. - -## Cloud Service BI Reporting - -- ITOM ESM Farm/Tenant Summary - [BI Report Link](https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/cf509ffe-325f-4c1b-a507-44b93e6d85ca/ReportSection3243d84335d863ef318a?experience=power-bi) -- ITOM Cloud Service Summary - [BI Report Link](https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/363a8aba-6746-4468-9d5c-54e0a463b708/ReportSectionc350f5d544676dc460b4?experience=power-bi) - ---- - diff --git a/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Jan 2025.md b/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Jan 2025.md deleted file mode 100644 index 981f5208..00000000 --- a/#recycle/Work/Monthly Report/ITOM ESM Cloud Service Monthly Report - Jan 2025.md +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: ITOM ESM Cloud Service Monthly Report - Jan 2025 -source: -author: - - Wei Shen -created: 2025-03-02 -description: This report contains the main work of the ESM Cloud Service team and shows the load of the team's work in the form of data, and describes some issues and risks for continuous improvement. -tags: - - cloud - - "#service" - - "#report" ---- -# **ITOM ESM Cloud Service Monthly Report - Jan 2025** - -**2025/1/1 ~ 2025/1/31** - -This report contains the main work of the ESM Cloud Service team and shows the load of the team's work in the form of data, and describes some issues and risks for continuous improvement. - -# Table of Content: -- [[#Product Cloud Service|Product Cloud Service]] - - [[#Product Cloud Service#Planned Maintenance Window Changes|Planned Maintenance Window Changes]] - - [[#Product Cloud Service#Upgrade Plan|Upgrade Plan]] - - [[#Product Cloud Service#Unplanned Production Change|Unplanned Production Change]] - - [[#Product Cloud Service#Tenant Provision Services|Tenant Provision Services]] - - [[#Product Cloud Service#Product Trial Service|Product Trial Service]] -- [[#Customer Cloud Service|Customer Cloud Service]] - - [[#Customer Cloud Service#Customer Cloud Service|Customer Cloud Service]] - - [[#Customer Cloud Service#Major Incident & RCA|Major Incident & RCA]] - - [[#Customer Cloud Service#Customer Order & Fulfillment Highlights|Customer Order & Fulfillment Highlights]] - - [[#Customer Cloud Service#Monthly SLA|Monthly SLA]] -- [[#Cloud DevOps/SRE|Cloud DevOps/SRE]] - - [[#Cloud DevOps/SRE#ITOM Operation Platform 25.1|ITOM Operation Platform 25.1]] - - [[#Cloud DevOps/SRE#ESM Cloud Application WAF Enablement|ESM Cloud Application WAF Enablement]] - - [[#Cloud DevOps/SRE#ESM GCP onboarding|ESM GCP onboarding]] - - [[#Cloud DevOps/SRE#Security & Compliance|Security & Compliance]] - - [[#Cloud DevOps/SRE#Cloud BI Reporting|Cloud BI Reporting]] - ---- - -# Product Cloud Service - -## Planned Maintenance Window Changes - -- **ESM Standard Planned Changes** - - There were a total of **::22::** times of (SMX/CMS/OMT/OO, FedRAMP, DCA, ITOM Aviator) Upgrade/Patch/Hotfix deployments to various farms - - **ESM farms** (**::EU3/US7/US2/US24/US26::**) were upgraded to ESM latest major version **::ESM 25.1::** by the end of Jan, 2025 -- **ITOM Operation Platform** **::25.1::** was upgraded on ESM farm (**::EU3/US24::**) by the end of Jan, 2025 -- **ITOM Aviator Service** (**::EU30::**) was already upgraded to **::25.1::** -- All ESM Farm's **AWS EKS** version were upgraded to **::1.30::** -- FedRAMP **::AMI Rotation::** + **::RDS 15.4 +EKS Upgrade::** was done successfully in Jan maintenance window - -![image.png](http://zipline.ishenwei.online/u/TpWM1Z.png) - -![image.png](http://zipline.ishenwei.online/u/iJ088Q.png) - -![image.png](http://zipline.ishenwei.online/u/WGaKk4.png) - -![image.png](http://zipline.ishenwei.online/u/OYABda.png) - ---- - -## Upgrade Plan - -**ESM 25.1 Upgrade Plan - ::IN PROGRESS::** - -![image.png](http://zipline.ishenwei.online/u/TgTE2M.png) - ---- -## Unplanned Production Change - -- > Total **::26::** Unplanned Production Changes deployed to different ESM farms in this month -- > **::The number of additional unplanned change requests generated by product quality increased again this month. This needs to be taken seriously by the RnD team and analyzed after the fact to reduce similar problems and additional production changes.::** - -![image.png](http://zipline.ishenwei.online/u/xXKQR1.png) - -![image.png](http://zipline.ishenwei.online/u/WLQ91Z.png) - -![image.png](http://zipline.ishenwei.online/u/cDcHDT.png) - ---- - -## Tenant Provision Services - -- > There were a total of **::17::** tenant provision request fulfilled in this month. - -![image.png](http://zipline.ishenwei.online/u/Tu7f0F.png) - -![image.png](http://zipline.ishenwei.online/u/9dqHZ3.png) - ---- - -## Product Trial Service - -- > There were a total of **::252::** product trial related service request fulfilled in this month. - -![image.png](http://zipline.ishenwei.online/u/S5UkaH.png) - -![image.png](http://zipline.ishenwei.online/u/LcnjR3.png) - -![image.png](http://zipline.ishenwei.online/u/S0hBGT.png) - -- > CT Trial (External Customer SMAX Only Trial) - 12 - -![image.png](http://zipline.ishenwei.online/u/DiZRD1.png) - -- > Internal SMAX Premium Trial - 58 - -![image.png](http://zipline.ishenwei.online/u/UBvgzB.png) - -- > HCMX Trial - 1 - -![image.png](http://zipline.ishenwei.online/u/VADMwI.png) - -- > ESM (SMAX/AMX/CMS) Trial - 8 - -![image.png](http://zipline.ishenwei.online/u/2SCiiC.png) - -- > **::ITOM Aviator Trial - 14::** - -![image.png](http://zipline.ishenwei.online/u/BXkHWQ.png) - ---- - -# Customer Cloud Service - -## Customer Cloud Service - -- > There were a total of **::84::** Customer Cloud Service Requests handled by ESM Cloud Service team in PCS -- > **::Special thanks to Remi's ESM Cloud RnD team for their cooperation in handling the customer's Cloud Service Request with technical support and staff coverage!::** - - - -![image.png](http://zipline.ishenwei.online/u/eYDiqG.png) - -![image.png](http://zipline.ishenwei.online/u/PPGtAi.png) - ---- - -## Major Incident & RCA - -> No major incident in Jan, 2025 - - - - - - - ---- -## Customer Order & Fulfillment Highlights - -![image.png](http://zipline.ishenwei.online/u/AqlcoY.png) - ---- - -## Monthly SLA - -- > **::ESM SMAX has achieved all 100% SLA in Dec, 2024::** -- > Data is available through **Dec, 2024**, with Jan, 2025 SLA data to be released around mid-Feb. - -![http://zipline.ishenwei.online/u/HYziL8.png](http://zipline.ishenwei.online/u/HYziL8.png) - -![image.png](http://zipline.ishenwei.online/u/CxrtGV.png) - ---- - -# Cloud DevOps/SRE - -## ITOM Operation Platform 25.1 - -- > We have successfully upgrade Operation Platform 24.4 to 25.1 on EU3/US24 farm. -- > We're preparing the Operation Platform 25.2 cloud readiness work include to start support OpsB to use OP 25.2 in ITOM Cloud environment. -- > We are now continuing to work on the OP D2 enablement automation and the relevant operation runbook. -## ESM Cloud Application WAF Enablement - -- > After some series of team efforts, it went through several processes of testing, modification, and deployment. We have now reached the criteria of Enable WAF denied mode with current WAF version on top of SMAX 24.4.1. -We have enabled SMAX WAF in ‘**Denied Mode**’ on **::EU3::** and **::US7::** farm by end of Nov. -- > In addition, we are gradually turning on ‘**Observation Mode**’ in other farms to get more WAF log information to help us determine the effectiveness of blockings. -- > A new DevOps project was initiated to enhance WAF rules management & cloud deployment automation - -## ESM GCP onboarding - -- > Based on the business requirements, we started working with Cloud SA group and Product group on GCP onboarding for ESM. Currently, there are two main working threads which require product team support to certify ESM products deployment on GCP, and validation and experimentation for GCP OCF cloud architecture platform led by Cloud SA. - -## Security & Compliance - -- > At the request of Opentext GIS, the ESM Cloud Service Team has installed **Prisma Defender** on all ESM production farms in order to facilitate security scanning on the Cloud to provide more secure ESM SaaS services. - **::Done::** -- > We recently launched a new project on how to handle various OS-based security issues discovered by Qualys Scan. In conjunction with the upcoming adopt CCOE AMI project, we intend to centrally replace and update the existing Cloud Application's EKS worker node OS to meet higher security standards. - **::In Progress::** - -## Cloud BI Reporting - -- > ITOM ESM Farm/Tenant Summary - [BI Report Link](https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/cf509ffe-325f-4c1b-a507-44b93e6d85ca/ReportSection3243d84335d863ef318a?experience=power-bi) -- > ITOM Cloud Service Summary - [BI Report Link](https://app.powerbi.com/groups/fac06a69-6340-4715-b8fe-4bdc0ca9af14/reports/363a8aba-6746-4468-9d5c-54e0a463b708/ReportSectionc350f5d544676dc460b4?experience=power-bi) - -## - ---- - diff --git a/#recycle/Work/PCS Create New Customer Initial Setup Steps.md b/#recycle/Work/PCS Create New Customer Initial Setup Steps.md deleted file mode 100644 index 7f85c450..00000000 --- a/#recycle/Work/PCS Create New Customer Initial Setup Steps.md +++ /dev/null @@ -1,190 +0,0 @@ - - -Entitlement - -- Create new company - - Customer Type: Customer -- Add new domain name (remember to add same in PCS dev as well, for dev2prod) -- Create new entitlement - - -Add new person - -- Create in BO and sync back to SMAX -- Add company -- Add employee type - external -- Assign people to relevant entitlement -- Assign role - - Microfocus SaaS entitlement - - Self-Service portal app - - Self-Service portal user - - -PCS Administration Training - - - -[[PCS Create New Customer Initial Setup Steps]] - - - - - -KT Session #1 - -[https://microfocusinternational-my.sharepoint.com/:v:/g/personal/brindusa_kevorkian_microfocus_com/EemsG7iwZ8xCsPm5QygCoZgBIWubxMNMhbCQU4AIhUoA3A](https://microfocusinternational-my.sharepoint.com/:v:/g/personal/brindusa_kevorkian_microfocus_com/EemsG7iwZ8xCsPm5QygCoZgBIWubxMNMhbCQU4AIhUoA3A) - - - -KT Session #2 - -[https://microfocusinternational-my.sharepoint.com/:v:/g/personal/brindusa_kevorkian_microfocus_com/EXRCtXeBAXZPisy27-kVeuMBgZ_MdlyZgi-XmuXRIVseOg](https://microfocusinternational-my.sharepoint.com/:v:/g/personal/brindusa_kevorkian_microfocus_com/EXRCtXeBAXZPisy27-kVeuMBgZ_MdlyZgi-XmuXRIVseOg) - - - -**Data Model** - -- Data domains -- Company -- Entitlement - - ENTITY_LINK to Company - - ENUM to Data domains -- Person - - ENTITY_LINK to Company - - ENTITY_LINK to Entitlement (default) - - MANY2MANY to Entitlement (full list) - - - -**New Order/customer** - -- Validate it is indeed a real customer (have an order ID, can find it in Control Tower) - - Special cases for internal "customers": presales, operations, etc -- Data domain record - - Very likely need to use a new "slot", unless the customer already exists - - Find the list, take the first entry not in use (with **ZZ-To be assigned** label) - - **VERY IMPORTANT: Execute the task in both Dev and Prod tenant. Make sure the Name field (key) is the same in both, otherwise Dev2Prod will have issues** - - The Prod tenant should be locked for customizations, you need to unlock it first. Don't forget to go back and lock it again after - - In rare cases, the customer may exist already if there is an entitlement for another product, in this case skip this step -- Company/Vendor record - - Add a record - - Use the official Display Name from the order/Control Tower - - We started using the names in caps, as this is how Sparks had them, let's keep the rule. - - For Code, use the first 3-4 letters of the name, or, if the company has an acronym, you can use it - - Important: make sure you select **Customer** for the **Company type**. - - In rare cases, the customer may exist already if there is an entitlement for another product, in this case skip this step -- Entitlement record - - Add a record - - Display label - - Is SaaS customer: start by short name of company, followed by product name and SaaS suffix, for example **Decathlon SMAX SaaS** - - If it is a "Powered by" partner, add the "Power By" suffix for the name, example **Rigosis SMAX SaaS Powered by** - - MF internal: Prefix with Micro Focus, no need to add SaaS suffix (it's implicit), for example **Micro Focus IT SMAX** or **Micro Focus Service Hub SMAX**. - - Important to fill in the correct information for the mandatory fields: Entitlement type, Product, Primary Domain, Company. Business rules use this information extensively to filter down what is available in drop down lists, decide what logic to execute - - For specific cases, like Achmea, if a NASE is assigned, fill in the info. Any new ticket linked to this entitlement gets automatically assigned to the person listed here - - Fill in the CSM info, if available. The user listed will be automatically added as follower to all Support requests and a subset of Service Requests - - SAID - - Leave empty for regular SaaS customers - - Fill in with the "Powered By" string for the Powered by partners - - - -**New User** - -- Non Micro Focus user (aka DB user) - - Triggered when - - A new customer is onboarded, and an initial list is received from the CSM - - An existing user on an entitlement uses the **Add user to entitlement** offering - - Check the user doesn’t already exist - - If yes, go to the **Add user to an entitlement** section - - Create new record from the Person grid - - **VERY IMPORTANT:** Click the **Person type** checkbox, otherwise a contact gets created - - If you forgot, you need access to BO to create the user (with same UPN) and force a sync from the Person grid - - Upn: Use the email address (automatically populated with the email by default) - - Employment type: External - - Company: fill in with the relevant value - - **IMPORTANT:** Do not populate the **Data domains** and **Primary domain** at this point - - If the user is a "regular" customer user, you can fill in the **Default entitlement** value (for example, you may not want to do that if you add a partner) - - Once saved, go back in and populate the **Data domains** and **Primary domain** - - Entitlements M2M widget - - Unlikely to have to use it, unless it is a partner added the first time as part of a customer project. In this case the entitlement doesn't go into the default position. -- Micro Focus users (automatically added through SAML) - - Periodically check if any new users got added. This can happen because someone is supposed to be added to an entitlement or is supposed to work tickets, but in many situations, users get hold of our URL and click on it for curiosity - - R&D or Ops teams, people who logged in because they are supposed to work tickets - - Check their reporting structure and make sure they are who they say they are. - - Configure the following - - Company: Micro Focus - - Primary domain: Micro Focus - - Data domains: Micro Focus - - Employment type: blank - - You can manually add them to the relevant functional group if you know which one. Alternatively, there is an offering that does that, can be called by the authorized audience (anyone with the "PCS Lead" role) - - PS, pre-sales, specific functions - - If instructed, configure profile - - Company: Micro Focus - - Primary domain: Based on the main role - - Data domains: Above, plus potentially others, depending on the person responsibilities - - Employment type: External - - Example, if a PS consultant is asked to work on the MF IT project, the setup will be: -- Default entitlements/Entitlements - - With few exceptions (probably pre-sales), the majority of internal users needing to be added don't have a default entitlement. Add the relevant entitlement to the Entitlements M2M widget, if there is no default entitlement to be configured. -- All other cases, not known why a user connected - - Park the user in a "catch all" profile - - Company: Micro Focus - - Primary domain: Customer - - Data domains: Customer - - Employment type: External - - If later on, the user is identified as belonging to an actual entitlement or is supposed to be an agent, apply the instructions described above -- **IMPORTANT:** just because someone in Micro Focus asked for agent access, do not provide it, unless they are assigned to working tickets. - - Concrete example on when to **NOT** add someone. The user says he/she is a Premier support person or even a CSM and needs to see the tickets for their customers. The answer is to give them the **Account Viewer** role to have the information available from the portal - no need for agent access! - -**Modify existing user profile** - -- A user already exists in PCS but needs to be added to an additional entitlement -- Typically applies to users working for partners (with multiple customers) or internal Micro Focus people (PS, presales, etc) -- Triggered when - - A new customer is onboarded, and an initial list is received from the CSM - - An existing user on an entitlement uses the **Add user to entitlement** offering -- Data domains: append the customer Data domain (as defined in the Entitlement) -- Entitlements: add the new Entitlement to the M2M widget -- Exception - - An internal user may already exist because they connected before and ended up "parked" in the "Customer" placeholder - - Remove the "Customer" Data domains/Primary domains and follow the instructions listed in the "New user" section - -**Remove user** - -- Needs to be triggered from BO, which will convert the user into a contact -- Once a contact, change the status from **Inactive** to **Terminated** -- Clear the **Default entitlement** value and any record from the **Entitlements** section - -**User Management offerings** - -- **Add user to entitlement** offering - - If the email address is not a @microfocus.com domain, follow the instructions for adding a DB user - - **IMPORTANT:** If the email address doesn't appear to be the company email address, it is likely the user is a partner and may need to be treated specially, by first adding a new Company record for the partner. Alternatively, we can take the approach of considering this user as part of the customer company, and only model it as belonging to a new company when there is a need to add a second entitlement linked to the user. But, if we do it at a later date, it is important to identify all the users with this email domain and move them under the newly created Company record (see **New order/customer** section for the detailed procedure) - - If the email address is a @microfocus.com domain, follow the instructions for configuring a SAML user. - - It is possible the user doesn't already exist (never logged in). In this case, ask the requester to notify the user to first login (use the Discussions tab) - - Once the user record got created/updated, move the **Add user** task to **Validate** phase. The request should automatically close, there is no need for interaction with the requester. - - Exceptionally, if the request is not relevant (the user already exists, the offering incorrectly used, or other reasons), process the request as below: - - Edit the Task plan by deleting the **Closure** task, so the request doesn't automatically close when **Add user** task gets actioned - - Move the **Add user** task to **Canceled** - - Manually add a **Solution** (explain why the request is not relevant) and Completion code (usually **Out of scope**) -- **Remove user from entitlement** offering - - Tip: From the **User** user option, navigate to the Person record. - - If the user is part of multiple entitlements (like a partner, PS), just remove the relevant **Entitlement** reference from the Person record - - If the user is part of one entitlement (usually for a regular customer user), follow the procedure described in the **Remove user** section - - Once the relevant action above is completed, move the **Remove user** task to **Validate** phase. The request should automatically close, there is no need for interaction with the requester. -- **Reset user password** offering - - Tip: From the **User** user option, navigate to the Person record. - - Click on the **Reset password** button. Wait for the confirmation message at the top of the screen that the email notification got sent - - Once the relevant action above is completed, move the **Reset password** task to **Validate** phase. The request should automatically close, there is no need for interaction with the requester. - -**Process** - -- Monitor the "admin" Request queue - - Go to the Active Admin Cases" view. Make sure you don't make any changes to the view definition. If you like to use a different view, create a private one for yourself - - Add more people to the Admin group - - Only **Add user to entitlement**, **Remove user from entitlement, Reset user password** require intervention, the others have automated fulfillment (may require approval) - - See the **User Management offerings** section for instructions for processing each offering -- Monitor the Person grid for newly created SAML users - - - Use the **Users Pending Processing** view. Make sure you don't make any changes to the view definition. If you like to use a different view, create a private one for yourself. Also, don't modify the other public views - - Follow the instructions in the **New User** section \ No newline at end of file diff --git a/#recycle/Work/People Manager/FY24 Goals - Shen Wei.md b/#recycle/Work/People Manager/FY24 Goals - Shen Wei.md deleted file mode 100644 index bc9e4d30..00000000 --- a/#recycle/Work/People Manager/FY24 Goals - Shen Wei.md +++ /dev/null @@ -1,13 +0,0 @@ - - -I'm a senior manager responsible for SaaS operations and maintenance for cloud products in a global enterprise software company. I manage a global cloud operations team of 20+ people. The team is a global team covering different time zones. Our team is also responsible for interfacing with the product RnD team to understand requirements and communicate with them. I am designing myself and my team's goals from the below perspective: Leadership Activities, service delivery quality, Process Standardization, Operational Excellence, and Satisfy customers. could you please prepare a draft for me with efforts detail, and measurable KPIs for the above areas. - - - -| | | | | | -|---|---|---|---|---| -|**Leadership Activities**​|• Conduct regular team meetings and one-on-one sessions to provide guidance, support, and alignment.​

Act as a liaison between the cloud service team and ITOM organization, ensuring effective communication and collaboration.​

Participate in the hiring process for new team members, ensuring the selection of qualified candidates who align with the team's goals and culture.​

Foster a positive work environment conducive to productivity, innovation, and growth.​|• Executive Dashboard: Implement an executive monthly report to track and communicate Cloud Service team key metrics and performance indicators.​

100% Participation in Team meetings​

100% Compliance in accordance with local legislation​||| -|**Service Delivery Quality**​|• Drive efficiencies and optimizations to deliver services in the most economical manner.​
• Manage resource allocations effectively to meet business demands and maintain service levels.​
• Continue to optimize cost structures across cloud and corporate services while maintaining service quality.​|• On-time Project Completion: 90%​

Ensure 100% compliance with local legislation and industry regulations relevant to cloud operations​

​||| -|**Process Standardization**​|• Focus on standardization and modernization of processes, adopting best practices and industry standards such as ITIL.​

Support initiatives to consolidate/migrate customers to cloud platforms, with a focus on shared environments where feasible.​

Minimize process gaps and ensure zero deviations from defined processes.​

Conduct quarterly reviews of documentation to ensure accuracy, relevance, and completeness.​

​|• Zero process gaps ​

Quarterly review of process documentation​

​||| -|**Operational Excellence**​|• Aim for 90% of projects to be completed on time, ensuring timely delivery of services and solutions.​

Continuously identify and implement improvements to existing processes and deliverables, enhancing operational efficiency and effectiveness.​

Actively participate in the adoption of new features, technologies, and cloud solutions to improve operational capabilities.​

Document and analyze lessons learned from project executions, incorporating feedback to drive continuous improvement.​

​|​

60% of Project Completion within 3 months​

100% Security Compliance​

Expense Reduction Targets: Meet defined FY targets communicated by FinOps​

Adoption of New Technologies: Regularly adopt new features/technologies to enhance operational capabilities​



​||| -|**Satisfy Customers**​|• Be an advocate for customer satisfaction, focusing on delivering value and exceeding customer expectations in every project and interaction.​

Collaborate with cross-functional teams and stakeholders to support business goals and initiatives, such as migrations and security compliance efforts.​

Ensure documentation of any planned/unplanned change predefined timeframes to maintain transparency and accountability.​

Participate in the onboarding of new customers to the cloud business, ensuring smooth transitions and successful deployments.​

​|• customer escalations due to cloud service errors <3​||| \ No newline at end of file diff --git a/#recycle/Work/SG Yearly DR Execution Plan (EFS Replication Only).md b/#recycle/Work/SG Yearly DR Execution Plan (EFS Replication Only).md deleted file mode 100644 index 853cf88b..00000000 --- a/#recycle/Work/SG Yearly DR Execution Plan (EFS Replication Only).md +++ /dev/null @@ -1,56 +0,0 @@ -## **1. Objective** - -Ensure business continuity and data protection by implementing an effective DR strategy for the customer, leveraging EFS replication, RDS PITR, and different failover methods. - -## **2. DR Scenarios & Recovery Options** - -| | **Method** | **RDS Recovery** | **EFS Recovery** | **Failover Steps** | **Estimated Downtime (RTO)** | **RPO** | **Cost Impact** | -| ------------------ | ------------------------------- | ---------------- | ---------------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------- | ------- | --------------- | -| DR Basic Service | **Cold Backup-Restore** | Snapshot (6h) | Backup Restore (6h) | 1. Restore RDS from snapshot (6h)
2. Restore EFS from snapshot (6h)
3. Recover EKS (4h) | **24 hours** | 4 hours | **Base Cost** | -| DR Premium Service | **EFS Replica Only (RDS PITR)** | PITR (6h) | EFS Replica + Restore (0.2h) | 1. RDS recovery from PITR (6h)
2. Stop EFS sync (0.2h)
3. Full EKS recovery | **6 hours** | 15 min | **+30% Cost** | - ---- - -## **3. Downtime Estimation & RTO Considerations** - -- **EFS Replica Only (RDS PITR)** - - **6-hour RTO**, significantly reducing downtime compared to cold restore. - - **15-minute RPO** ensures minimal data loss. - ---- - -## **4. DR Execution Plan** - -### **4.1 Pre-DR Readiness Checks** - -- Ensure **EFS replication** is active and functioning correctly. -- Verify **RDS PITR backups** and retention policies. -- Pre-configure **EKS deployment templates(Velero)** for rapid recovery. - -### **4.2 Disaster Recovery Trigger** - -- DR activation is **initiated upon a major failure event** in the primary environment. -- Decision criteria include **regional failure, prolonged service outage, or severe data corruption**. - -### **4.3 Execution Steps** - -#### **EFS Replica Only (RDS PITR)** - -1. **Recover RDS** from PITR (**6 hours**). -2. **Stop EFS replication sync** (**0.2 hours**). -3. **Recover EKS cluster** and validate application (**immediate**). - -### **4.4 Post-Failover Validation** - -- Confirm **data consistency** between DR and primary environments. -- Validate **application services and connectivity**. -- Communicate DR activation and service restoration to stakeholders. - ---- - -## **5. DR Testing & Cost Estimation** - -- **Annual DR validation test** is required, adding an **estimated 2 months of AWS costs**. - - **EFS Replica Only (RDS PITR):** - - **$20.8K/month** - diff --git a/#recycle/knowlegebase/OpenClaw-技能清单.md b/#recycle/knowlegebase/OpenClaw-技能清单.md deleted file mode 100644 index 799890f3..00000000 --- a/#recycle/knowlegebase/OpenClaw-技能清单.md +++ /dev/null @@ -1,389 +0,0 @@ -# OpenClaw 技能笔记 - -> 创建时间: 2026-03-19 -> 整理者: 星辉 - ---- - -## 📋 技能清单总览 - -本文档记录 OpenClaw 中所有可用的技能(Skills)。 - ---- - -## 🔐 账号与密码 - -### 1. 1password -- **描述:** 1Password CLI (op) 工具 -- **用途:** 安装CLI、桌面应用集成、单/多账户登录、读写/运行密码 -- **路径:** `~/.agents/skills/1password-1.0.1/SKILL.md` - ---- - -## 🍎 Apple 生态 - -### 2. apple-notes -- **描述:** Apple Notes 管理 via `memo` CLI -- **用途:** 创建、查看、编辑、删除、搜索、移动、导出笔记 -- **路径:** `~/.openclaw/skills/apple-notes/SKILL.md` - -### 3. apple-reminders -- **描述:** Apple Reminders via `remindctl` CLI -- **用途:** 列出、添加、编辑、完成、删除提醒,支持列表、日期过滤、JSON/纯文本输出 -- **路径:** `~/.openclaw/skills/apple-reminders/SKILL.md` - -### 4. accli -- **描述:** Apple Calendar CLI -- **用途:** 列出日历、查看事件、创建/更新/删除日历事件、检查空闲时间 -- **触发词:** "查看日历"、"安排会议"、"我今天有什么安排"、"明天我有空吗" -- **路径:** `~/.openclaw/skills/accli/SKILL.md` - ---- - -## ☁️ 云服务与协作 - -### 5. gog -- **描述:** Google Workspace CLI -- **用途:** Gmail、日历、云盘、联系人、表格、文档 -- **路径:** `~/.agents/skills/gog/SKILL.md` - -### 6. feishu-chat-history -- **描述:** 获取飞书群聊历史 -- **用途:** 读取、回顾、总结飞书群聊消息 -- **触发词:** "看群聊记录"、"群里聊了啥"、"chat history" -- **路径:** `~/.agents/skills/feishu-chat-history/SKILL.md` - -### 7. feishu-cron-reminder -- **描述:** 飞书定时提醒 -- **用途:** 创建定时发送消息到飞书聊天的cron任务 -- **触发词:** "飞书定时提醒"、"定时任务发飞书"、"每小时提醒" -- **路径:** `~/.agents/skills/feishu-cron-reminder/SKILL.md` - -### 8. feishu-doc -- **描述:** 飞书文档获取 -- **用途:** 获取飞书Wiki、文档、表格、Bitable内容,自动转换为Markdown -- **路径:** `~/.agents/skills/feishu-doc-1.2.7/SKILL.md` - -### 9. feishu-perm -- **描述:** 飞书权限管理 -- **用途:** 文档和文件的分享、权限、协作者管理 -- **触发词:** 分享、权限、协作者 -- **路径:** `~/.agents/skills/feishu-perm/SKILL.md` - -### 10. feishu-screenshot -- **描述:** 截屏并发送到飞书 -- **用途:** 截取屏幕并通过飞书分享 -- **触发词:** "截个屏发飞书"、"截屏"、"screenshot" -- **路径:** `~/.agents/skills/feishu-screenshot/SKILL.md` - -### 11. feishu-send-file -- **描述:** 发送文件到飞书 -- **用途:** 通过REST API发送文件、附件到飞书群或个人 -- **触发词:** "发文件到飞书"、"send file to feishu" -- **路径:** `~/.agents/skills/feishu-send-file/SKILL.md` - ---- - -## 💬 通讯工具 - -### 12. slack -- **描述:** Slack 控制 -- **用途:** 通过 slack 工具控制Slack,包括消息反应、pin/unpin -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/slack/SKILL.md` - ---- - -## 🌐 网络与浏览器 - -### 13. agent-browser -- **描述:** 无头浏览器自动化CLI -- **用途:** 为AI代理优化的浏览器自动化,支持无障碍树快照和基于引用的元素选择 -- **路径:** `~/.openclaw/skills/agent-browser-clawdbot/SKILL.md` - -### 14. tavily-search -- **描述:** Tavily 搜索API -- **用途:** 网页搜索(替代Brave),返回相关结果标题、URL、摘要 -- **路径:** `~/.openclaw/skills/openclaw-tavily-search/SKILL.md` - ---- - -## 🛠️ 开发工具 - -### 15. Docker -- **描述:** Docker 容器、镜像、Compose、网络、卷、调试 -- **用途:** Docker相关操作、生产环境加固、命令保持稳定 -- **路径:** `~/.openclaw/skills/docker/SKILL.md` - -### 16. Code -- **描述:** 编码工作流 -- **用途:** 规划、实现、验证、测试的清洁软件开发流程 -- **路径:** `~/.agents/skills/code-1.0.4/SKILL.md` - -### 17. git-essentials -- **描述:** 基础Git命令 -- **用途:** 版本控制、分支、协作 -- **路径:** `~/.agents/skills/git-essentials-1.0.0/SKILL.md` - -### 18. frontend-design -- **描述:** 前端界面设计 -- **用途:** 创建独特、生产级的前端界面,高设计质量 -- **路径:** `~/.agents/skills/frontend-design-3-0.1.0/SKILL.md` - -### 19. security-auditor -- **描述:** 安全审计 -- **用途:** 代码安全漏洞审查、身份验证流程、OWASP Top 10审计、CORS/CSP配置、敏感数据处理、输入验证、SQL注入预防、XSS保护 -- **路径:** `~/.agents/skills/security-auditor-1.0.0/SKILL.md` - -### 20. architecture-designer -- **描述:** 系统架构设计 -- **用途:** 设计新系统架构、审查现有设计、架构决策、ADRs、可扩展性规划 -- **路径:** `~/.agents/skills/architecture-designer-0.1.0/SKILL.md` - -### 21. supabase-postgres-best-practices -- **描述:** Supabase Postgres 最佳实践 -- **用途:** Postgres性能优化和最佳实践 -- **路径:** `~/.agents/skills/supabase-postgres-best-practices/SKILL.md` - -### 22. tmux -- **描述:** Tmux 远程控制 -- **用途:** 远程控制tmux会话,发送按键和抓取面板输出 -- **路径:** `~/.agents/skills/tmux-1.0.0/SKILL.md` - ---- - -## 📝 笔记与知识管理 - -### 23. obsidian -- **描述:** Obsidian 保险库 -- **用途:** 处理Obsidian纯文本Markdown笔记,通过obsidian-cli自动化 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/obsidian/SKILL.md` - -### 24. ontology -- **描述:** 知识图谱 -- **用途:** 结构化代理记忆和可组合技能,创建/查询实体(Person、Project、Task、Event、Document),链接相关对象,执行约束,多步骤动作规划 -- **触发词:** "记住"、"关于X我知道什么"、"链接X到Y"、"显示依赖" -- **路径:** `~/.agents/skills/ontology/SKILL.md` - -### 25. Memory -- **描述:** 无限有序记忆 -- **用途:** 补充代理内置记忆的无限分类存储 -- **路径:** `~/.agents/skills/memory-1.0.2/SKILL.md` - -### 26. obsidian-ontology-sync -- **描述:** Obsidian与 Ontology 双向同步 -- **用途:** 从markdown自动提取实体和关系,维护本体图谱,提供反馈改进笔记结构 -- **路径:** `~/.agents/skills/obsidian-ontology-sync-1.0.1/SKILL.md` - ---- - -## 🎨 内容创作 - -### 27. blog-writer -- **描述:** 博客文章写作 -- **用途:** 以作家独特风格写博客文章、长篇内容,从研究到Notion发布的完整工作流 -- **路径:** `~/.agents/skills/blog-writer-0.1.0/SKILL.md` - -### 28. copywriting -- **描述:** 文案写作 -- **用途:** 为落地页、邮件、广告、销售页、营销材料写 persuasive copy,标题、CTA、产品描述、广告文案、邮件序列 -- **触发词:** "写文案"、"copywriting"、"landing page copy"、"headline" -- **路径:** `~/.agents/skills/copywriting-0.1.0/SKILL.md` - -### 29. content-strategy -- **描述:** 内容营销策略 -- **用途:** 为solopreneur业务构建和执行内容营销策略 -- **触发词:** "内容策略"、"content marketing"、"内容计划"、"内容日历" -- **路径:** `~/.agents/skills/content-strategy-0.1.0/SKILL.md` - -### 30. seo-content-writer -- **描述:** SEO内容写作 -- **用途:** 写SEO优化内容、创建博客文章、文章 -- **触发词:** "写SEO内容"、"创建博客文章"、"内容写作" -- **路径:** `~/.agents/skills/seo-content-writer-2.0.0/SKILL.md` - -### 31. social-content -- **描述:** 社交媒体内容 -- **用途:** 创建、安排、优化LinkedIn、Twitter/X、Instagram、TikTok、Facebook等内容 -- **触发词:** "LinkedIn post"、"Twitter thread"、"社交媒体"、"内容日历" -- **路径:** `~/.agents/skills/social-content-generator-0.1.0/SKILL.md` - -### 32. Social Media Scheduler -- **描述:** 社交媒体排程 -- **用途:** 计划、起草、跨平台组织社交媒体内容,创建内容日历 -- **路径:** `~/.agents/skills/social-media-scheduler-1.0.0/SKILL.md` - -### 33. research-paper-writer -- **描述:** 研究论文写作 -- **用途:** 创建遵循IEEE/ACM格式标准的正式学术论文 -- **路径:** `~/.agents/skills/research-paper-writer-0.1.0/SKILL.md` - -### 34. Powerpoint / PPTX -- **描述:** PowerPoint 演示文稿 -- **用途:** 创建、检查、编辑Microsoft PowerPoint演示文稿,可靠的布局、模板、占位符、笔记、图表 -- **路径:** `~/.openclaw/skills/powerpoint-pptx/SKILL.md` - ---- - -## 📊 商业与分析 - -### 35. Market Research -- **描述:** 市场研究 -- **用途:** 规模市场、分析竞争对手、用实际框架和数据源验证机会 -- **路径:** `~/.agents/skills/market-research-1.0.0/SKILL.md` - -### 36. interview-designer -- **描述:** 面试设计 -- **用途:** 分析简历,使用基于证据的方法设计面试策略 -- **路径:** `~/.agents/skills/interview-designer-1.0.0/SKILL.md` - -### 37. backtest-expert -- **描述:** 回测专家 -- **用途:** 系统交易策略回测的专家指导 -- **触发词:** 回测、策略验证、鲁棒性测试、避免过度拟合 -- **路径:** `~/.agents/skills/backtest-expert-0.1.0/SKILL.md` - -### 38. automation-workflows -- **描述:** 自动化工作流 -- **用途:** 设计和实施自动化工作流以节省时间和扩展运营 -- **触发词:** "自动化"、"automation workflow"、"save time"、"reduce manual work" -- **路径:** `~/.agents/skills/automation-workflows-0.1.0/SKILL.md` - ---- - -## 🧠 AI 代理能力 - -### 39. proactive-agent-lite -- **描述:** 主动代理Lite -- **用途:** 将AI代理从任务追随者转变为积极主动的伙伴,具有记忆架构、reverse prompting和自愈模式 -- **路径:** `~/.openclaw/skills/proactive-agent-lite/SKILL.md` - -### 40. self-improvement -- **描述:** 自我改进 -- **用途:** 捕获学习、错误、纠正以实现持续改进 -- **触发词:** 命令/操作失败、用户纠正、请求不存在的功能、外部API失败、知识过时 -- **路径:** `~/.openclaw/skills/self-improving-agent/SKILL.md` - -### 41. self-reflection -- **描述:** 自我反思 -- **用途:** 定期自我反思,分析近期会话,写简洁可行的见解 -- **路径:** `~/.agents/skills/agent-self-reflection-1.0.0/SKILL.md` - -### 42. brainstorming -- **描述:** 头脑风暴 -- **用途:** 在任何创造性工作之前必须使用 - 创建功能、构建组件、添加功能或修改行为 -- **路径:** `~/.agents/skills/brainstorming-0.1.0/SKILL.md` - -### 43. writing-plans -- **描述:** 写作计划 -- **用途:** 有规范/需求的多步骤任务规范 -- **路径:** `~/.agents/skills/writing-plans-0.1.0/SKILL.md` - -### 44. executing-plans -- **描述:** 执行计划 -- **用途:** 在单独会话中执行包含审查检查点的书面实施计划 -- **路径:** `~/.agents/skills/executing-plans-0.1.0/SKILL.md` - -### 45. task-summary -- **描述:** 任务总结 -- **用途:** 任务完成后生成结构化总结,记录目标、步骤、结果、经验教训 -- **路径:** `~/.openclaw/skills/task-summary/SKILL.md` - ---- - -## 🔧 工具与系统 - -### 46. clawhub -- **描述:** ClawHub CLI -- **用途:** 从clawhub.com搜索、安装、更新、发布代理技能 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md` - -### 47. find-skills -- **描述:** 发现技能 -- **用途:** 当用户询问"如何做X"、"找X的技能"、"有能...的技能吗"时帮助用户发现和安装技能 -- **路径:** `~/.agents/skills/find-skills/SKILL.md` - -### 48. skill-creator -- **描述:** 技能创建器 -- **用途:** 创建有效技能的指南 -- **路径:** `~/.agents/skills/skill-creator-0.1.0/SKILL.md` - -### 49. skill-vetter -- **描述:** 技能审核 -- **用途:** AI代理的安全优先技能审核,安装来自ClawHub、GitHub或其他来源的技能之前检查 -- **路径:** `~/.agents/skills/skill-vetter-1.0.0/SKILL.md` - -### 50. clawdefender -- **描述:** 安全防御 -- **用途:** AI代理的安全扫描器和输入清理器,检测prompt注入、命令注入、SSRF、凭证外泄、路径遍历攻击 -- **路径:** `~/.agents/skills/clawdefender-1/SKILL.md` - -### 51. opencode-controller -- **描述:** Opencode 控制器 -- **用途:** 通过斜杠命令控制Opencode,管理会话、选择模型、切换代理 -- **路径:** `~/.agents/skills/opencode-controller-1.0.0/SKILL.md` - ---- - -## 🌤️ 生活与娱乐 - -### 52. weather -- **描述:** 天气 -- **用途:** 通过wttr.in或Open-Meteo获取当前天气和预报 -- **触发词:** 天气、温度、预报 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md` - -### 53. video-frames -- **描述:** 视频帧提取 -- **用途:** 使用ffmpeg从视频提取帧或短片段 -- **路径:** `~/.agents/skills/video-frames-1.0.0/SKILL.md` - -### 54. FFmpeg Video Editor -- **描述:** FFmpeg 视频编辑器 -- **用途:** 从自然语言视频编辑请求生成FFmpeg命令 - 剪切、裁剪、转换、压缩、改变宽高比、提取音频等 -- **路径:** `~/.agents/skills/ffmpeg-video-editor-1.0.0/SKILL.md` - -### 55. UI/UX Pro Max -- **描述:** UI/UX 设计 -- **用途:** UI/UX设计智能和实现指导,构建精美界面 -- **路径:** `~/.agents/skills/ui-ux-pro-max-0.1.0/SKILL.md` - ---- - -## 🛡️ 系统与运维 - -### 56. healthcheck -- **描述:** 主机安全检查 -- **用途:** 主机安全加固和风险容忍配置 -- **触发词:** 安全审计、防火墙/SSH/更新加固、风险态势、暴露审查、OpenClaw cron调度 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md` - -### 57. node-connect -- **描述:** OpenClaw 节点连接 -- **用途:** 诊断Android、iOS、macOS companion app的配对失败 -- **触发词:** QR/设置码手动连接失败、本地Wi-Fi正常但VPS/tailnet不正常、配对要求、未经授权、bootstrap token无效/过期 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md` - ---- - -## 📊 技能分类汇总 - -| 分类 | 数量 | 技能 | -|------|------|------| -| Apple 生态 | 3 | apple-notes, apple-reminders, accli | -| 云服务/协作 | 7 | gog, feishu-*(6个) | -| 通讯工具 | 1 | slack | -| 网络/浏览器 | 2 | agent-browser, tavily-search | -| 开发工具 | 8 | Docker, Code, git-essentials, frontend-design, security-auditor, architecture-designer, supabase-postgres-best-practices, tmux | -| 笔记/知识管理 | 5 | obsidian, ontology, Memory, obsidian-ontology-sync, task-summary | -| 内容创作 | 8 | blog-writer, copywriting, content-strategy, seo-content-writer, social-content, Social Media Scheduler, research-paper-writer, Powerpoint/PPTX | -| 商业/分析 | 4 | Market Research, interview-designer, backtest-expert, automation-workflows | -| AI代理能力 | 7 | proactive-agent-lite, self-improvement, self-reflection, brainstorming, writing-plans, executing-plans, task-summary | -| 工具/系统 | 6 | clawhub, find-skills, skill-creator, skill-vetter, clawdefender, opencode-controller | -| 生活/娱乐 | 4 | weather, video-frames, FFmpeg Video Editor, UI/UX Pro Max | -| 系统/运维 | 2 | healthcheck, node-connect | - -**总计: 57 个技能** - ---- - -*笔记创建于 2026-03-19 by 星辉* diff --git a/#recycle/knowlegebase/backup-script-usage.md b/#recycle/knowlegebase/backup-script-usage.md deleted file mode 100644 index 7ae5afa7..00000000 --- a/#recycle/knowlegebase/backup-script-usage.md +++ /dev/null @@ -1,87 +0,0 @@ -# OpenClaw 备份脚本使用指南 - -## 概述 - -OpenClaw 备份脚本用于自动备份 OpenClaw 配置到 NAS 存储。 - -## 脚本位置 - -- **Mac Mini**: `~/.openclaw/scripts/backup-openclaw.sh` -- **Ubuntu2**: `/home/shenwei/.openclaw/scripts/backup-openclaw.sh` - -## 使用方法 - -```bash -# Mac Mini 备份 -~/.openclaw/scripts/backup-openclaw.sh macmini - -# Ubuntu2 备份 -/home/shenwei/.openclaw/scripts/backup-openclaw.sh ubuntu2 -``` - -## 文件命名规则 - -备份文件命名格式:`openclaw-{node}-{timestamp}.tar` - -| 节点 | 示例 | -|------|------| -| Mac Mini | `openclaw-macmini-20260317112001.tar` | -| Ubuntu2 | `openclaw-ubuntu2-20260317112001.tar` | - -## 备份目的地 - -- **NAS 路径**: `/volume2/backup/openclaw/` -- **访问方式**: SSH (shenwei@nas) - -## 执行流程 - -``` -[1/5] Creating backup: openclaw-{node}-{timestamp}.tar -[2/5] Verifying backup... -[3/5] Transferring to NAS... -[4/5] Verifying transfer... -[5/5] Cleaning up local temporary files... -``` - -## 备份内容 - -- `~/.openclaw/` 目录 -- 排除项: - - `logs/` 目录 - - `*.log` 文件 - - `.git` 目录 - -## 验证备份 - -查看 NAS 上的备份文件: - -```bash -ssh nas "ls -la /volume2/backup/openclaw/" -``` - -## 验证 tar 文件 - -```bash -ssh nas "tar -tvf /volume2/backup/openclaw/openclaw-{node}-{timestamp}.tar" -``` - -## 定时备份 (可选) - -可以使用 cron 设置定时备份: - -```bash -# 每天凌晨 3 点自动备份 -0 3 * * * /home/shenwei/.openclaw/scripts/backup-openclaw.sh ubuntu2 >> /home/shenwei/.openclaw/logs/backup.log 2>&1 -``` - -## 注意事项 - -1. 确保 Ubuntu2 到 NAS 的 SSH 免密登录已配置 -2. 确保 NAS 备份目录存在 -3. 备份文件会自动清理本地临时文件 -4. 首次使用建议手动执行测试 - -## 相关文档 - -- SSH 免密登录配置: [[#recycle/knowlegebase/macmini-nas-ssh-config]] -- Ubuntu2 SSH 配置: [[#recycle/knowlegebase/ubuntu2-ssh-config]] diff --git a/#recycle/knowlegebase/macmini-nas-ssh-config.md b/#recycle/knowlegebase/macmini-nas-ssh-config.md deleted file mode 100644 index 8cfd2835..00000000 --- a/#recycle/knowlegebase/macmini-nas-ssh-config.md +++ /dev/null @@ -1,122 +0,0 @@ -# Mac Mini 配置 SSH 免密登录到 NAS - -## 概述 - -本文档记录 Mac Mini (192.168.3.189) 配置 SSH 免密登录到 NAS (192.168.3.17) 的详细步骤。 - -## 前提条件 - -- Mac Mini 已安装 SSH 客户端(内置) -- NAS 已开启 SSH 服务 -- 拥有 NAS 用户名和密码 - -## SSH 密钥配置 - -### 1. 生成 SSH 密钥(如不存在) - -```bash -ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 -``` - -### 2. 传输公钥到 NAS - -```bash -# 方法1:使用 sshpass(需要安装) -sshpass -p 'NAS密码' ssh -o StrictHostKeyChecking=no shenwei@192.168.3.17 'cat >> ~/.ssh/authorized_keys' - -# 方法2:手动复制 -# 1. 查看公钥 -cat ~/.ssh/id_ed25519.pub -# 2. 登录 NAS -ssh shenwei@192.168.3.17 -# 3. 追加公钥到 authorized_keys -echo '公钥内容' >> ~/.ssh/authorized_keys -``` - -## ~/.ssh/config 配置 - -### 完整配置示例 - -```bash -# NAS -Host nas - HostName 192.168.3.17 - User shenwei - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none - -# Ubuntu1 -Host ubuntu1 - HostName 192.168.3.47 - User shenwei - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none - -# Ubuntu2 -Host ubuntu2 - HostName 192.168.3.45 - User shenwei - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none - -# Mac Mini (本地) -Host macmini - HostName 192.168.3.189 - User weishen - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none - -# VPS1 -Host vps1 - HostName 192.227.222.142 - User root - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none - -# VPS2 -Host vps2 - HostName 104.194.92.188 - User root - IdentityFile ~/.ssh/id_ed25519 - ProxyCommand none -``` - -## 测试免密登录 - -```bash -# 测试 NAS 连接 -ssh nas "echo success" - -# 测试所有服务器 -for server in macmini ubuntu1 ubuntu2 nas; do - ssh $server "echo $server OK" -done -``` - -## 已配置的服务器 - -| 主机 | IP | 用户 | 状态 | -|------|-----|------|------| -| nas | 192.168.3.17 | shenwei | ✅ 已配置 | -| ubuntu1 | 192.168.3.47 | shenwei | ✅ 已配置 | -| ubuntu2 | 192.168.3.45 | shenwei | ✅ 已配置 | -| macmini | 192.168.3.189 | weishen | ✅ 已配置 | -| vps1 | 192.227.222.142 | root | ✅ 已配置 | -| vps2 | 104.194.92.188 | root | ✅ 已配置 | - -## 故障排查 - -### 问题:Could not resolve hostname nas - -**解决**:确保 ~/.ssh/config 中已添加 nas 别名配置 - -### 问题:Permission denied - -**解决**: -1. 检查公钥是否已添加到目标服务器的 ~/.ssh/authorized_keys -2. 检查 ~/.ssh 目录权限应为 700 -3. 检查 ~/.ssh/authorized_keys 权限应为 600 - -## 相关文档 - -- Ubuntu2 SSH 配置: [[#recycle/knowlegebase/ubuntu2-ssh-config]] diff --git a/#recycle/knowlegebase/macmini-webdav-setup.md b/#recycle/knowlegebase/macmini-webdav-setup.md deleted file mode 100644 index 5209b130..00000000 --- a/#recycle/knowlegebase/macmini-webdav-setup.md +++ /dev/null @@ -1,445 +0,0 @@ -# Mac Mini WebDAV 服务配置指南 - -## 目的 -在 Mac Mini 上通过原生 Apache 配置 WebDAV 服务,用于共享 Obsidian 笔记。 - ---- - -## 一、Mac Mini 本地配置 - -### 步骤 1: 启用 WebDAV 模块 - -编辑 Apache 配置文件,启用 DAV 模块: - -```bash -sudo nano /etc/apache2/httpd.conf -``` - -找到以下行并取消注释(去掉 `#`): - -```apache -LoadModule dav_module libexec/apache2/mod_dav.so -LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so -LoadModule dav_lock_module libexec/apache2/mod_dav_lock_module -``` - -### 步骤 2: 创建 DavLockDB 目录 - -WebDAV 需要一个目录来存储锁文件: - -```bash -sudo mkdir -p /var/run/dav -sudo chown _www:_www /var/run/dav -``` - -### 步骤 3: 创建 WebDAV 目录并链接 Obsidian - -```bash -sudo mkdir -p /Library/WebServer/Documents/Obsidian -sudo ln -s /Users/weishen/Obsidian/shenwei /Library/WebServer/Documents/Obsidian/shenwei -``` - -### 步骤 4: 配置 WebDAV - -创建配置文件: - -```bash -sudo nano /etc/apache2/other/webdav.conf -``` - -**配置内容(完整版):** - -```apache -DavLockDB /var/run/dav/DavLock - - - DAVMinTimeout 240 - - -Alias /webdav "/Library/WebServer/Documents" - - - Options Indexes FollowSymLinks - AllowOverride None - Require all granted - - DAV On - DAVDepthInfinity off - - Header set Allow "OPTIONS, GET, HEAD, POST, PUT, DELETE, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK" - - AuthType Basic - AuthName "WebDAV" - AuthUserFile /etc/apache2/webdav.users - Require valid-user - -``` - -### 步骤 5: 创建访问用户 - -```bash -sudo htpasswd -c /etc/apache2/webdav.users webdav -``` - -输入密码: `macmini_dav` - -> **注意**: 用户名和密码需要与后续 Obsidian 客户端配置一致 - -### 步骤 6: 设置目录权限(重要!) - -WebDAV 需要 Apache 运行用户 (`_www`) 对 Obsidian 目录有读写权限: - -```bash -# 修复用户目录权限 -sudo chmod o+x /Users/weishen -sudo chmod -R o+rx /Users/weishen/Obsidian - -# 将 Obsidian 目录所有权改为 _www -sudo chown -R _www:_www /Library/WebServer/Documents/Obsidian -sudo chown -R _www:_www /Users/weishen/Obsidian/shenwei -sudo chmod -R 775 /Users/weishen/Obsidian/shenwei -``` - -### 步骤 7: 启动 Apache 服务 - -```bash -sudo apachectl start -``` - ---- - -## 二、FRP 端口映射配置 - -在 Mac Mini 上编辑 FRP 配置文件: - -```bash -sudo nano /opt/frp/frp_0.65.0_darwin_arm64/frpc.toml -``` - -**添加以下配置(WebDAV 使用 80 端口):** - -```toml -[[proxies]] -name = "macmini-webdav" -type = "tcp" -localIP = "127.0.0.1" -localPort = 80 -remotePort = 60080 -``` - -> **重要**: 如果 Mac Mini 上设置了代理(科学上网),需要在 FRPC 启动时添加 `no_proxy` 环境变量: -> ```bash -> export no_proxy="192.227.222.142,127.0.0.1,localhost" -> cd /opt/frp/frp_0.65.0_darwin_arm64 && ./frpc -c frpc.toml -> ``` - ---- - -## 三、VPS1 Caddy 反向代理配置 - -在 VPS1 上编辑 Caddyfile: - -```bash -sudo nano /etc/caddy/Caddyfile -``` - -**添加以下配置:** - -```bash -# WebDAV 外网访问 -macwebdav.ishenwei.online { - reverse_proxy localhost:60080 -} -``` - -**重载 Caddy 配置:** - -```bash -sudo systemctl reload caddy -``` - -> **注意**: 需要先在 DNS 服务商处添加 A 记录: -> - 主机记录: `macwebdav` -> - 记录类型: `A` -> - 记录值: `192.227.222.142` (VPS1 IP) - ---- - -## 四、防火墙配置 - -### VPS1 防火墙(如果使用 UFW) - -```bash -sudo ufw allow 60080/tcp -``` - ---- - -## 五、常用命令 - -### Apache 命令 - -| 命令 | 功能 | -|------|------| -| `sudo apachectl start` | 启动 Apache | -| `sudo apachectl stop` | 停止 Apache | -| `sudo apachectl restart` | 重启 Apache | -| `sudo apachectl -t` | 检查配置语法 | -| `sudo apachectl -M \| grep dav` | 确认 WebDAV 模块已加载 | - -### FRP 命令 - -```bash -# 重启 FRPC(Mac Mini 上) -# in tmux -tmux attach -t frpc -# 停止现有进程 (Ctrl+C in tmux) -# 重启(注意添加 no_proxy) -export no_proxy="192.227.222.142,127.0.0.1,localhost" && cd /opt/frp/frp_0.65.0_darwin_arm64 && ./frpc -c frpc.toml -``` - -### Caddy 命令(VPS1) - -```bash -sudo systemctl reload caddy -``` - ---- - -## 六、Obsidian 客户端连接配置(最终验证版本) - -### 配置参数 - -| 配置项 | 值 | -|--------|-----| -| **服务器地址** | `https://macwebdav.ishenwei.online/webdav/Obsidian/` | -| **用户名** | `webdav` | -| **密码** | `macmini_dav` | -| **鉴权类型** | `basic` | -| **Depth header** | `只支持 depth='1'` | - -### 配置步骤 - -1. 打开 Obsidian -2. 安装 **Remotely Save** 插件(或其他 WebDAV 同步插件) -3. 选择远程服务为 **WebDAV** -4. 填写上方配置参数 -5. 点击 **检查** 按钮验证连接 -6. 开始同步 - ---- - -## 七、内网访问 - -- **URL**: `http://192.168.3.189/webdav/` -- **用户名**: `webdav` -- **密码**: `macmini_dav` - ---- - -## 八、注意事项 - -1. **安全提示**: - - Basic 认证密码明文传输,建议仅在内网使用 - - 外网访问建议配合 HTTPS(Caddy 自动提供 Let's Encrypt) - -2. **端口规划**: - - Apache: 80 - - FRP 映射: 60080 - -3. **防火墙**: - - Mac 防火墙需允许 80 端口入站 - - VPS 防火墙需开放 FRP 映射的端口 - -4. **开机自启**: - - Apache 开机自动启动(MacOS 默认行为) - - FRPC 需配置开机自启(tmux 或 launchd) - -5. **代理问题**: - - 如果 Mac Mini 使用科学上网代理,FRPC 需要设置 `no_proxy` 环境变量 - - 参考上面的 FRP 命令部分 - ---- - -## 九、故障排除 - -### 问题:500 Internal Server Error - -**原因**: DavLockDB 目录权限不足 - -**解决**: -```bash -sudo chown -R _www:_www /var/run/dav -``` - -### 问题:403 Forbidden - -**原因**: Obsidian 目录权限不足,Apache 无法写入 - -**解决**: -```bash -sudo chown -R _www:_www /Library/WebServer/Documents/Obsidian -sudo chown -R _www:_www /Users/weishen/Obsidian/shenwei -sudo chmod -R 775 /Users/weishen/Obsidian/shenwei -``` - -### 问题:无法解析域名 - -**原因**: DNS 记录未生效 - -**解决**: -1. 确认 DNS A 记录已添加 -2. 等待 5-30 分钟 DNS 传播 -3. 本地刷新 DNS 缓存:`sudo dscacheutil -flushcache` - -### 问题:FRPC 连接超时 - -**原因**: Mac Mini 代理设置干扰 FRPC 连接 - -**解决**: -```bash -export no_proxy="192.227.222.142,127.0.0.1,localhost" -``` - -### 检查 Apache 状态 -```bash -sudo apachectl status -``` - -### 查看日志 -```bash -sudo tail -f /var/log/apache2/error_log -``` - -### 确认 WebDAV 模块加载 -```bash -sudo apachectl -M | grep -E "dav|webdav" -``` - -### 测试本地访问 -```bash -curl -u webdav:macmini_dav http://127.0.0.1/webdav/ -``` - -### 测试 FRP 端口连通性(VPS1) -```bash -curl -u webdav:macmini_dav http://localhost:60080/webdav/ -``` - ---- - -## 十、测试步骤 - -### 阶段 1: Apache 本地测试(Mac Mini) - -#### 1.1 检查 Apache 状态 -```bash -sudo apachectl status -``` -**预期输出**: Apache 运行中 (running) - -#### 1.2 确认 WebDAV 模块已加载 -```bash -sudo apachectl -M | grep -E "dav|webdav" -``` -**预期输出**: -- `dav_module (shared)` -- `dav_fs_module (shared)` -- `dav_lock_module (shared)` - -#### 1.3 测试本地认证访问 -```bash -curl -u webdav:macmini_dav -I http://127.0.0.1/webdav/ -``` -**预期输出**: HTTP/1.1 200 OK - -#### 1.4 列出 WebDAV 目录内容 -```bash -curl -u webdav:macmini_dav -X PROPFIND -H "Depth: 1" http://127.0.0.1/webdav/Obsidian/shenwei/ -``` -**预期输出**: XML 格式的目录列表 - ---- - -### 阶段 2: FRP 连通性测试 - -#### 2.1 检查 FRPC 状态(Mac Mini) -```bash -tmux capture-pane -t frpc -p | tail -10 -``` -**预期输出**: 看到 `[macmini-webdav] start proxy success` - -#### 2.2 测试 VPS1 端口监听 -```bash -# 在 VPS1 上执行 -sudo ss -tlnp | grep 60080 -``` -**预期输出**: `*:60080 LISTEN` - -#### 2.3 测试内网通过 FRP 访问(从 VPS1 测试) -```bash -# 在 VPS1 上执行 -curl -u webdav:macmini_dav -I http://localhost:60080/webdav/ -``` -**预期输出**: HTTP/1.1 200 OK - ---- - -### 阶段 3: Caddy 反向代理测试 - -#### 3.1 检查 DNS 解析 -```bash -dig +short macwebdav.ishenwei.online -``` -**预期输出**: `192.227.222.142` - -#### 3.2 测试 HTTPS 访问 -```bash -curl -k -u webdav:macmini_dav -I https://macwebdav.ishenwei.online/webdav/ -``` -**预期输出**: HTTP/1.1 200 OK - ---- - -### 阶段 4: 完整链路测试清单 - -| 序号 | 测试项 | 测试命令/方法 | 预期结果 | -|------|--------|--------------|----------| -| 1 | Apache 运行中 | `sudo apachectl status` | running | -| 2 | WebDAV 模块已加载 | `apachectl -M \| grep dav` | dav_module | -| 3 | 本地认证访问 | `curl -u webdav:macmini_dav http://127.0.0.1/webdav/` | 200 OK | -| 4 | FRPC 运行正常 | 查看 tmux 日志 | proxy success | -| 5 | VPS1 端口监听 | `ss -tlnp \| grep 60080` | LISTEN | -| 6 | 外网 HTTPS 访问 | `curl -k -u webdav:macmini_dav https://macwebdav.ishenwei.online/` | 200 OK | -| 7 | Obsidian 连接 | 客户端测试 | 同步成功 | - ---- - -## 十一、配置汇总表 - -| 项目 | 值 | -| --------------------------------- | -------------------------------------------------- | -| 内网 URL | http://192.168.3.189/webdav/ | -| 外网域名 | https://macwebdav.ishenwei.online | -| **Obsidian Remotely Save 最终配置路径** | https://macwebdav.ishenwei.online/webdav/Obsidian/ | -| FRP 本地端口 | 80 | -| FRP 远程端口 | 60080 | -| WebDAV 用户 | webdav | -| WebDAV 密码 | macmini_dav | - ---- - -## 十二、关键修正记录 - -本配置在测试过程中发现并修复了以下问题: - -1. **WebDAV 模块未启用**: 需要在 `httpd.conf` 中取消注释 DAV 相关模块 -2. **DavLockDB 权限问题**: 需要创建目录并设置 `_www` 所有权 -3. **符号链接权限问题**: 符号链接使用绝对路径 `/Users/weishen/...` -4. **Obsidian 目录权限**: 需要将目录所有权改为 `_www` 并设置 775 权限 -5. **FRPC 代理干扰**: Mac Mini 的代理设置会干扰 FRPC 连接,需要设置 `no_proxy` -6. **DNS 解析延迟**: 添加 DNS 记录后需要等待传播 - ---- - -*文档更新时间: 2026-03-19* diff --git a/#recycle/knowlegebase/ubuntu2-ssh-config.md b/#recycle/knowlegebase/ubuntu2-ssh-config.md deleted file mode 100644 index dd800265..00000000 --- a/#recycle/knowlegebase/ubuntu2-ssh-config.md +++ /dev/null @@ -1,35 +0,0 @@ -# Ubuntu2 SSH 配置 - -## 背景 -Ubuntu2 需要能够通过 "ssh nas" 免密登录到 NAS。 - -## 步骤 - -### 1. 生成 SSH 密钥(如不存在) -```bash -ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519 -``` - -### 2. 配置 ~/.ssh/config -```bash -Host nas - HostName 192.168.3.17 - User shenwei - IdentityFile ~/.ssh/id_ed25519 -``` - -### 3. 传输公钥到 NAS -```bash -# 方法1:使用 sshpass(需要安装) -sshpass -p '密码' ssh -o StrictHostKeyChecking=no shenwei@192.168.3.17 'cat >> ~/.ssh/authorized_keys' - -# 方法2:手动复制公钥内容 -cat ~/.ssh/id_ed25519.pub -# 然后登录 NAS 追加到 ~/.ssh/authorized_keys -``` - -### 4. 测试 -```bash -ssh nas "echo success" -``` - diff --git a/#recycle/openclaw/yunce/star-tasksender/SKILL.md b/#recycle/openclaw/yunce/star-tasksender/SKILL.md deleted file mode 100644 index 317691e0..00000000 --- a/#recycle/openclaw/yunce/star-tasksender/SKILL.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -name: star-tasksender -description: 星枢任务分发器 - 解析用户指令并发送到 RabbitMQ 队列 -metadata: - version: 1.0.0 - author: 云策 - created: 2026-03-17 ---- - -# Star Task Sender - 星枢任务分发器 - -将星枢收到的用户指令解析为标准消息格式,并发送到 RabbitMQ 队列。 - -## 功能 - -- **意图解析**: 将自然语言指令转换为结构化任务 -- **消息构建**: 生成标准 JSON 消息格式 -- **队列发送**: 通过 RabbitMQ 分发给子 Agent - -## 文件结构 - -``` -star-tasksender/ -├── SKILL.md -└── scripts/ - ├── intent_parser.py # 意图解析模块 - ├── message_builder.py # 消息构建模块 - ├── rabbitmq_sender.py # RabbitMQ 发送模块 - └── __init__.py -``` - -## 使用方法 - -### 1. 意图解析 - -```python -from scripts.intent_parser import IntentParser - -parser = IntentParser() - -# 解析用户指令 -intent = parser.parse_intent("帮我审查 my-project 仓库") -# 结果: { -# "action": "code_review", -# "target": "yunce", -# "params": {"repo": "my-project", "branch": "main"} -# } -``` - -### 2. 构建消息 - -```python -from scripts.message_builder import MessageBuilder -from scripts.intent_parser import IntentParser - -parser = IntentParser() -intent = parser.parse_intent("帮我审查 my-project") - -builder = MessageBuilder() -message = builder.build_task_message(intent) -# 结果: 标准任务消息 JSON -``` - -### 3. 发送到 RabbitMQ - -```python -from scripts.rabbitmq_sender import RabbitMQSender -from scripts.message_builder import MessageBuilder - -# 构建消息 -builder = MessageBuilder() -message = builder.build_task_message(intent) - -# 发送 -sender = RabbitMQSender(host='192.168.1.100', username='admin', password='password') -task_id = sender.send_task(message) -sender.close() -``` - -### 4. 完整流程 - -```python -from scripts.intent_parser import IntentParser -from scripts.message_builder import MessageBuilder -from scripts.rabbitmq_sender import RabbitMQSender - -def process_user_command(user_input): - # 1. 解析 - parser = IntentParser() - intent = parser.parse_intent(user_input) - - # 2. 构建 - builder = MessageBuilder() - message = builder.build_task_message(intent) - - # 3. 发送 - sender = RabbitMQSender() - task_id = sender.send_task(message) - sender.close() - - return f"✅ 任务已下发: {task_id}" -``` - -## 支持的指令模式 - -| 用户指令 | action | target | params | -|----------|--------|--------|--------| -| 审查 xxx 仓库 | code_review | yunce | {repo: "xxx", branch: "main"} | -| 部署 xxx 到生产 | deploy | prometheus | {service: "xxx", env: "prod"} | -| 检查 xxx 状态 | status_check | atlas | {target: "xxx"} | -| 分析 xxx 数据 | data_analysis | atlas | {data: "xxx"} | - -## RabbitMQ 配置 - -默认配置 (可在 rabbitmq_sender.py 中修改): - -```python -{ - "host": "localhost", - "port": 5672, - "username": "admin", - "password": "password", - "exchange": "task_exchange" -} -``` - -## 消息格式 - -### 输入: 用户指令 -``` -"帮我审查 my-project 仓库" -``` - -### 输出: RabbitMQ 消息 -```json -{ - "taskId": "task_20260317_135600_a1b2c3", - "type": "task", - "source": "xingyao", - "target": "yunce", - "priority": "high", - "content": { - "action": "code_review", - "params": { - "repo": "my-project", - "branch": "main" - } - }, - "metadata": { - "createdAt": "2026-03-17T13:56:00Z", - "retryCount": 0, - "maxRetries": 3 - } -} -``` - -## 注意事项 - -1. **首次使用**: 需要在 `rabbitmq_sender.py` 中配置 RabbitMQ 连接信息 -2. **权限**: 确保 RabbitMQ 用户有写权限到 task_exchange -3. **错误处理**: 发送失败时会抛出异常,需要调用方处理 diff --git a/#recycle/openclaw/yunce/star-tasksender/scripts/intent_parser.py b/#recycle/openclaw/yunce/star-tasksender/scripts/intent_parser.py deleted file mode 100644 index 4d719369..00000000 --- a/#recycle/openclaw/yunce/star-tasksender/scripts/intent_parser.py +++ /dev/null @@ -1,191 +0,0 @@ -# -*- coding: utf-8 -*- -""" -意图解析模块 - Intent Parser -将自然语言指令转换为结构化任务 -""" - -import re -from typing import Dict, Optional - - -class IntentParser: - """意图解析器""" - - # 指令模式定义 - PATTERNS = { - "code_review": { - "keywords": ["审查", "review", "代码审查", "review code"], - "target": "yunce", - "action": "code_review", - "param_extractor": "extract_repo_info" - }, - "deploy": { - "keywords": ["部署", "deploy", "发布"], - "target": "prometheus", - "action": "deploy", - "param_extractor": "extract_deploy_info" - }, - "status_check": { - "keywords": ["检查状态", "status", "查看状态", "状态"], - "target": "atlas", - "action": "status_check", - "param_extractor": "extract_target" - }, - "data_analysis": { - "keywords": ["分析", "analysis", "数据分析"], - "target": "atlas", - "action": "data_analysis", - "param_extractor": "extract_data_info" - }, - "file_operation": { - "keywords": ["复制", "移动", "删除", "copy", "move", "delete"], - "target": "oracle", - "action": "file_operation", - "param_extractor": "extract_file_info" - } - } - - def parse_intent(self, user_input: str) -> Dict: - """ - 解析用户输入,返回结构化意图 - - Args: - user_input: 用户输入的自然语言 - - Returns: - { - "action": "code_review", - "target": "yunce", - "params": {...} - } - """ - user_input = user_input.strip() - - # 遍历所有模式,匹配关键词 - for pattern_name, pattern_config in self.PATTERNS.items(): - for keyword in pattern_config["keywords"]: - if keyword in user_input: - # 提取参数 - extractor_name = pattern_config["param_extractor"] - extractor = getattr(self, extractor_name) - params = extractor(user_input) - - return { - "action": pattern_config["action"], - "target": pattern_config["target"], - "params": params - } - - # 无法识别 - return { - "error": "无法理解指令", - "original_input": user_input - } - - def extract_repo_info(self, text: str) -> Dict: - """从文本中提取仓库信息""" - result = {} - - # 提取仓库名 - repo_match = re.search(r'(?:仓库|repo|项目)[:\s]*(\S+)', text) - if not repo_match: - repo_match = re.search(r'(?:审查|review)\s+(\S+)', text) - - if repo_match: - result["repo"] = repo_match.group(1).strip(',。') - - # 提取分支 - branch_match = re.search(r'(?:分支|branch)[:\s]*(\S+)', text) - if branch_match: - result["branch"] = branch_match.group(1).strip(',。') - else: - result["branch"] = "main" - - return result - - def extract_deploy_info(self, text: str) -> Dict: - """从文本中提取部署信息""" - result = {} - - # 提取服务名 - service_match = re.search(r'(?:服务|service|部署)[:\s]*(\S+)', text) - if not service_match: - service_match = re.search(r'部署\s+(\S+)', text) - - if service_match: - result["service"] = service_match.group(1).strip(',。') - - # 提取环境 - if "生产" in text or "prod" in text.lower(): - result["env"] = "prod" - elif "测试" in text or "test" in text.lower(): - result["env"] = "test" - else: - result["env"] = "dev" - - return result - - def extract_target(self, text: str) -> Dict: - """提取目标信息""" - result = {} - - # 尝试提取目标名称 - target_match = re.search(r'(?:服务器|server|目标)[:\s]*(\S+)', text) - if not target_match: - target_match = re.search(r'检查\s+(\S+)', text) - - if target_match: - result["target"] = target_match.group(1).strip(',。') - - return result - - def extract_data_info(self, text: str) -> Dict: - """提取数据分析信息""" - result = {} - - # 提取数据源 - data_match = re.search(r'(?:数据|data|分析)[:\s]*(\S+)', text) - if not data_match: - data_match = re.search(r'分析\s+(\S+)', text) - - if data_match: - result["data"] = data_match.group(1).strip(',。') - - return result - - def extract_file_info(self, text: str) -> Dict: - """提取文件操作信息""" - result = {} - - # 提取文件路径 - path_match = re.search(r'[:\s](\S+\.\S+)', text) - if path_match: - result["path"] = path_match.group(1) - - # 提取操作类型 - if "复制" in text or "copy" in text.lower(): - result["operation"] = "copy" - elif "移动" in text or "move" in text.lower(): - result["operation"] = "move" - elif "删除" in text or "delete" in text.lower(): - result["operation"] = "delete" - - return result - - -# 测试 -if __name__ == "__main__": - parser = IntentParser() - - test_cases = [ - "帮我审查 my-project 仓库", - "部署 test-server 到生产", - "检查服务器状态", - "分析销售数据" - ] - - for test in test_cases: - result = parser.parse_intent(test) - print(f"输入: {test}") - print(f"输出: {result}") - print("-" * 40) diff --git a/#recycle/openclaw/yunce/star-tasksender/scripts/message_builder.py b/#recycle/openclaw/yunce/star-tasksender/scripts/message_builder.py deleted file mode 100644 index 31d2917d..00000000 --- a/#recycle/openclaw/yunce/star-tasksender/scripts/message_builder.py +++ /dev/null @@ -1,204 +0,0 @@ -# -*- coding: utf-8 -*- -""" -消息构建模块 - Message Builder -将意图解析结果转换为标准的 RabbitMQ 消息格式 -""" - -import json -import uuid -from datetime import datetime -from typing import Dict, Optional - - -class MessageBuilder: - """消息构建器""" - - # 高优先级动作 - HIGH_PRIORITY_ACTIONS = ["code_review", "deploy", "security_check", "data_analysis"] - - # 默认超时时间 (毫秒) - DEFAULT_TIMEOUT = 3600000 # 1小时 - - def __init__(self, source: str = "xingyao", default_timeout: int = None): - """ - 初始化消息构建器 - - Args: - source: 消息来源 Agent 名称 - default_timeout: 默认超时时间 (毫秒) - """ - self.source = source - self.default_timeout = default_timeout or self.DEFAULT_TIMEOUT - - def build_task_message(self, intent: Dict, priority: str = None) -> Dict: - """ - 构建任务消息 - - Args: - intent: 意图解析结果 - priority: 优先级 (high/normal/low),如果为 None 则自动判断 - - Returns: - 标准任务消息 JSON - """ - if "error" in intent: - return {"error": intent["error"]} - - # 自动判断优先级 - if priority is None: - priority = self._detect_priority(intent.get("action", "")) - - # 生成任务ID - task_id = self._generate_task_id() - - message = { - "taskId": task_id, - "type": "task", - "source": self.source, - "target": intent["target"], - "priority": priority, - "content": { - "action": intent["action"], - "params": intent.get("params", {}) - }, - "metadata": { - "createdAt": datetime.now().isoformat() + "Z", - "expireAt": None, - "retryCount": 0, - "maxRetries": 3, - "timeout": self.default_timeout - } - } - - return message - - def build_result_message(self, task_id: str, target: str, - status: str, content: Dict) -> Dict: - """ - 构建结果消息 (由子 Agent 使用) - - Args: - task_id: 原始任务ID - target: 目标 Agent (通常是星枢) - status: 执行状态 (success/error/partial) - content: 结果内容 - - Returns: - 标准结果消息 JSON - """ - message = { - "taskId": task_id, - "type": "result", - "source": self.source, - "target": target, - "status": status, - "content": content, - "metadata": { - "completedAt": datetime.now().isoformat() + "Z" - } - } - - return message - - def build_heartbeat_message(self, agent_name: str, - status: str = "idle", - current_task: str = None) -> Dict: - """ - 构建心跳消息 - - Args: - agent_name: Agent 名称 - status: 当前状态 (idle/busy/error) - current_task: 当前执行的任务ID - - Returns: - 心跳消息 JSON - """ - message = { - "type": "heartbeat", - "agent": agent_name, - "status": status, - "currentTask": current_task, - "timestamp": datetime.now().isoformat() + "Z" - } - - return message - - def build_error_message(self, task_id: str, target: str, - error: str, details: Dict = None) -> Dict: - """ - 构建错误消息 - - Args: - task_id: 任务ID - target: 目标 Agent - error: 错误描述 - details: 错误详情 - - Returns: - 错误消息 JSON - """ - message = { - "taskId": task_id, - "type": "error", - "source": self.source, - "target": target, - "error": error, - "content": details or {}, - "metadata": { - "occurredAt": datetime.now().isoformat() + "Z" - } - } - - return message - - def _detect_priority(self, action: str) -> str: - """根据动作自动判断优先级""" - return "high" if action in self.HIGH_PRIORITY_ACTIONS else "normal" - - def _generate_task_id(self) -> str: - """生成唯一任务ID""" - timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") - unique_id = uuid.uuid4().hex[:6] - return f"task_{timestamp}_{unique_id}" - - def to_json(self, message: Dict) -> str: - """转换为 JSON 字符串""" - return json.dumps(message, ensure_ascii=False, indent=2) - - def from_json(self, json_str: str) -> Dict: - """从 JSON 字符串解析""" - return json.loads(json_str) - - -# 测试 -if __name__ == "__main__": - builder = MessageBuilder() - - # 测试任务消息 - intent = { - "action": "code_review", - "target": "yunce", - "params": {"repo": "my-project", "branch": "main"} - } - - task_msg = builder.build_task_message(intent) - print("任务消息:") - print(builder.to_json(task_msg)) - print("-" * 40) - - # 测试心跳消息 - heartbeat = builder.build_heartbeat_message("yunce", "idle") - print("心跳消息:") - print(builder.to_json(heartbeat)) - print("-" * 40) - - # 测试结果消息 - result_msg = builder.build_result_message( - task_id=task_msg["taskId"], - target="xingyao", - status="success", - content={"summary": "审查完成", "findings": []} - ) - print("结果消息:") - print(builder.to_json(result_msg)) diff --git a/#recycle/openclaw/yunce/star-tasksender/scripts/rabbitmq_sender.py b/#recycle/openclaw/yunce/star-tasksender/scripts/rabbitmq_sender.py deleted file mode 100644 index 6bf01e86..00000000 --- a/#recycle/openclaw/yunce/star-tasksender/scripts/rabbitmq_sender.py +++ /dev/null @@ -1,248 +0,0 @@ -# -*- coding: utf-8 -*- -""" -RabbitMQ 发送模块 - RabbitMQ Sender -连接到 RabbitMQ 并发送消息 -""" - -import pika -import json -import logging -from typing import Dict, Optional -from datetime import datetime - -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger(__name__) - - -class RabbitMQSender: - """RabbitMQ 消息发送器""" - - DEFAULT_CONFIG = { - "host": "192.168.3.189", - "port": 5672, - "username": "guest", - "password": "guest", - "exchange": "task_exchange", - "result_exchange": "result_exchange", - "heartbeat": 600, - "blocked_connection_timeout": 300 - } - - def __init__(self, config: Dict = None): - """ - 初始化 RabbitMQ 发送器 - - Args: - config: RabbitMQ 配置,包含 host, port, username, password 等 - """ - self.config = {**self.DEFAULT_CONFIG, **(config or {})} - self.connection = None - self.channel = None - self._connect() - - def _connect(self): - """建立 RabbitMQ 连接""" - credentials = pika.PlainCredentials( - self.config["username"], - self.config["password"] - ) - - parameters = pika.ConnectionParameters( - host=self.config["host"], - port=self.config["port"], - credentials=credentials, - heartbeat=self.config["heartbeat"], - blocked_connection_timeout=self.config["blocked_connection_timeout"] - ) - - try: - self.connection = pika.BlockingConnection(parameters) - self.channel = self.connection.channel() - - # 声明交换机 - self.channel.exchange_declare( - exchange=self.config["exchange"], - exchange_type="topic", - durable=True - ) - self.channel.exchange_declare( - exchange=self.config["result_exchange"], - exchange_type="topic", - durable=True - ) - - logger.info(f"✅ RabbitMQ 连接成功: {self.config['host']}:{self.config['port']}") - - except Exception as e: - logger.error(f"❌ RabbitMQ 连接失败: {e}") - raise - - def send_task(self, message: Dict, priority: str = None) -> str: - """ - 发送任务消息 - - Args: - message: 任务消息 (由 MessageBuilder 构建) - priority: 优先级覆盖 (high/normal/low) - - Returns: - task_id - """ - if "error" in message: - raise ValueError(f"无法发送错误消息: {message['error']}") - - target = message.get("target", "unknown") - task_id = message.get("taskId", "unknown") - routing_key = f"task.{target}" - - # 确定优先级 - priority_value = self._get_priority_value( - priority or message.get("priority", "normal") - ) - - try: - self.channel.basic_publish( - exchange=self.config["exchange"], - routing_key=routing_key, - body=json.dumps(message, ensure_ascii=False), - properties=pika.BasicProperties( - delivery_mode=2, # 消息持久化 - content_type="application/json", - priority=priority_value, - timestamp=int(datetime.now().timestamp()) - ) - ) - - logger.info(f"✅ 任务已发送: {task_id} -> {target} (routing: {routing_key})") - return task_id - - except Exception as e: - logger.error(f"❌ 发送任务失败: {e}") - raise - - def send_result(self, message: Dict) -> str: - """ - 发送结果消息 - - Args: - message: 结果消息 (由 MessageBuilder 构建) - - Returns: - task_id - """ - source = message.get("source", "unknown") - task_id = message.get("taskId", "unknown") - routing_key = f"result.{source}" - - try: - self.channel.basic_publish( - exchange=self.config["result_exchange"], - routing_key=routing_key, - body=json.dumps(message, ensure_ascii=False), - properties=pika.BasicProperties( - delivery_mode=2, - content_type="application/json" - ) - ) - - logger.info(f"✅ 结果已发送: {task_id} from {source}") - return task_id - - except Exception as e: - logger.error(f"❌ 发送结果失败: {e}") - raise - - def send_heartbeat(self, message: Dict) -> bool: - """ - 发送心跳消息 - - Args: - message: 心跳消息 - - Returns: - 是否发送成功 - """ - agent = message.get("agent", "unknown") - routing_key = f"heartbeat.{agent}" - - try: - self.channel.basic_publish( - exchange=self.config["exchange"], - routing_key=routing_key, - body=json.dumps(message, ensure_ascii=False), - properties=pika.BasicProperties( - delivery_mode=2, - content_type="application/json" - ) - ) - - logger.debug(f"💓 心跳已发送: {agent}") - return True - - except Exception as e: - logger.error(f"❌ 发送心跳失败: {e}") - return False - - def _get_priority_value(self, priority: str) -> int: - """将优先级字符串转换为 RabbitMQ 数值""" - priority_map = { - "high": 10, - "normal": 5, - "low": 1 - } - return priority_map.get(priority.lower(), 5) - - def is_connected(self) -> bool: - """检查连接状态""" - return self.connection is not None and self.connection.is_open - - def reconnect(self): - """重新连接""" - self.close() - self._connect() - - def close(self): - """关闭连接""" - if self.connection and self.connection.is_open: - self.connection.close() - logger.info("🔌 RabbitMQ 连接已关闭") - - -# 便捷函数 -def send_task_quick(message: Dict, config: Dict = None) -> str: - """ - 快速发送任务 (自动创建和关闭连接) - - Args: - message: 任务消息 - config: RabbitMQ 配置 - - Returns: - task_id - """ - sender = RabbitMQSender(config) - task_id = sender.send_task(message) - sender.close() - return task_id - - -# 测试 -if __name__ == "__main__": - from message_builder import MessageBuilder - from intent_parser import IntentParser - - # 解析意图 - parser = IntentParser() - intent = parser.parse_intent("帮我审查 my-project 仓库") - - # 构建消息 - builder = MessageBuilder() - message = builder.build_task_message(intent) - - # 发送 (需要配置实际的 RabbitMQ 地址) - # sender = RabbitMQSender({"host": "192.168.1.100", "username": "admin", "password": "password"}) - # task_id = sender.send_task(message) - # sender.close() - - print("消息构建成功:") - print(builder.to_json(message)) diff --git a/#recycle/openclaw/yunce/星枢-Agent任务解耦方案.md b/#recycle/openclaw/yunce/星枢-Agent任务解耦方案.md deleted file mode 100644 index 0ba06adc..00000000 --- a/#recycle/openclaw/yunce/星枢-Agent任务解耦方案.md +++ /dev/null @@ -1,709 +0,0 @@ -# 星枢 Agent 任务解耦技术方案 - -> 基于 RabbitMQ 的分布式任务队列架构 - ---- - -## 一、概述 - -### 背景 - -当前星枢(主 Agent)与其他 Agent 的通信方式: - -| 方式 | 命令 | 局限 | -|------|------|------| -| 本地 | `openclaw agent --agent xingyao --message "..." --deliver` | 同步等待 | -| 远程 | `ssh ubuntu2 "openclaw agent --agent yunce --message ..."` | 串行阻塞 | - -### 目标 - -- **异步执行**:任务下发不等待结果 -- **任务持久化**:重启不丢失 -- **可监控**:实时查看任务状态 -- **可扩展**:支持多 Agent 并行 - ---- - -## 二、技术选型 - -### RabbitMQ vs 其他 - -| 特性 | RabbitMQ | Redis Streams | Kafka | -|------|----------|---------------|-------| -| 消息确认 | ✅ ACK | ✅ ACK | ✅ ACK | -| 优先级队列 | ✅ | ❌ | ❌ | -| 延迟队列 | ✅ (插件) | ✅ | ❌ | -| 持久化 | ✅ | ✅ | ✅ | -| 集群 | ✅ | 有限 | ✅ | -| 生态成熟度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | -| 轻量级 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ | - -**推荐:RabbitMQ** - -理由: -- 消息确认机制完善 -- 支持复杂路由规则 -- 管理界面友好 -- 适合中低并发场景 - ---- - -## 三、架构设计 - -### 3.1 整体架构 - -``` -┌─────────────────────────────────────────────────────────────────────────┐ -│ 用户 │ -│ (Telegram/Discord) │ -└─────────────────────────────────┬───────────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────────────────┐ -│ 星枢 (主 Agent) │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 意图理解 │ │ 任务分解 │ │ 队列管理 │ │ 结果聚合 │ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ -└─────────────────────────────────┬───────────────────────────────────────┘ - │ - ┌─────────────┴─────────────┐ - │ RabbitMQ 集群 │ - │ (task_exchange) │ - └─────────────┬─────────────┘ - │ - ┌───────────────────────┼───────────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ -│ Yunce (Agent) │ │ Atlas (Agent) │ │ Prometheus │ -│ 队列: tasks │ │ 队列: tasks │ │ 队列: tasks │ -│ 状态: running │ │ 状态: idle │ │ 状态: idle │ -└────────┬────────┘ └────────┬────────┘ └────────┬────────┘ - │ │ │ - │ ┌──────────────────┴──────────────────┐ │ - │ │ 结果收集 (result_exchange) │ │ - │ └──────────────────┬──────────────────┘ │ - │ │ │ - └──────────────────────┼──────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────────────────┐ -│ 星枢 (结果处理) │ -│ - 任务状态更新 │ -│ - 用户反馈 │ -│ - 后续任务触发 │ -└─────────────────────────────────────────────────────────────────────────┘ -``` - -### 3.2 消息流设计 - -``` -┌──────────────────────────────────────────────────────────────────────────┐ -│ 消息生命周期 │ -└──────────────────────────────────────────────────────────────────────────┘ - -[1] 任务下发 [5] 结果处理 - │ ▲ - ▼ │ -┌────────┐ ┌────────────┐ ┌───────────┐ ┌───────────┐ │ -│ 星枢 │───▶│ RabbitMQ │───▶│ Agent N │───▶│ RabbitMQ │──────┘ -│创建任务 │ │ (持久化) │ │ 执行任务 │ │ (结果队列) │ -└────────┘ └────────────┘ └───────────┘ └───────────┘ - │ │ - │ [4] ACK 确认 - │ │ -[2] 任务入队 │ -(可选: 延迟队列) ▼ - │ ┌───────────┐ - └─────────────▶│ 状态变更 │ - │ (处理中→完成) - └───────────┘ - -[3] Agent 消费任务 -``` - -### 3.3 Exchange & Queue 设计 - -``` - ┌─────────────────┐ - │ task_exchange │ (Topic Exchange) - │ (星枢下发) │ - └────────┬────────┘ - │ - ┌───────────────────┼───────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ -│ queue.yunce │ │ queue.atlas │ │ queue.prometheus│ -│ routing: │ │ routing: │ │ routing: │ -│ task.yunce │ │ task.atlas │ │ task.prometheus │ -└────────┬────────┘ └────────┬────────┘ └────────┬────────┘ - │ │ │ - ▼ ▼ ▼ - [Agent: Yunce] [Agent: Atlas] [Agent: Prometheus] - -───────────────────────────────────────────────────────────────────────── - - ┌─────────────────┐ - │result_exchange │ (Topic Exchange) - │ (结果收集) │ - └────────┬────────┘ - │ - ┌───────────────────┼───────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ -│result.yunce │ │result.atlas │ │result.prometheus │ -└────────┬────────┘ └────────┬────────┘ └────────┬────────┘ - │ │ │ - └────────────────────┼────────────────────┘ - │ - ▼ - ┌─────────────────┐ - │ queue.star聚合 │ ← 星枢监听此队列 - │ routing: result.#│ - └─────────────────┘ -``` - ---- - -## 四、消息格式定义 - -### 4.1 任务消息 (Task Message) - -```json -{ - "taskId": "task_20260317_001", - "type": "task", - "source": "xingyao", - "target": "yunce", - "priority": "high", - "content": { - "action": "code_review", - "params": { - "repo": "my-project", - "branch": "feature/login" - } - }, - "metadata": { - "createdAt": "2026-03-17T10:30:00Z", - "expireAt": "2026-03-17T11:30:00Z", - "retryCount": 0, - "maxRetries": 3 - } -} -``` - -### 4.2 结果消息 (Result Message) - -```json -{ - "taskId": "task_20260317_001", - "type": "result", - "source": "yunce", - "target": "xingyao", - "status": "success", - "content": { - "summary": "代码审查完成", - "findings": [ - {"severity": "warning", "message": "建议添加参数校验"} - ], - "output": "/path/to/report.md" - }, - "metadata": { - "completedAt": "2026-03-17T10:35:00Z", - "duration": 300 - } -} -``` - -### 4.3 心跳消息 (Heartbeat Message) - -```json -{ - "type": "heartbeat", - "agent": "yunce", - "status": "idle", - "currentTask": null, - "timestamp": "2026-03-17T10:30:00Z" -} -``` - ---- - -## 五、实现步骤 - -### 5.1 RabbitMQ 部署 - -```bash -# Docker 部署 -docker run -d \ - --name rabbitmq \ - -p 5672:5672 \ - -p 15672:15672 \ - -e RABBITMQ_DEFAULT_USER=admin \ - -e RABBITMQ_DEFAULT_PASS=your_password \ - rabbitmq:3.12-management - -# 访问管理界面 -# http://your-server:15672 -``` - -### 5.2 创建 Exchange 和 Queue (初始化脚本) - -```python -# setup_rabbitmq.py -import pika - -def setup_rabbitmq(): - connection = pika.BlockingConnection( - pika.ConnectionParameters(host='localhost', port=5672) - ) - channel = connection.channel() - - # 1. 创建 Exchange - channel.exchange_declare(exchange='task_exchange', exchange_type='topic', durable=True) - channel.exchange_declare(exchange='result_exchange', exchange_type='topic', durable=True) - - # 2. 创建任务队列 (按 Agent) - agents = ['yunce', 'atlas', 'prometheus', 'oracle'] - for agent in agents: - channel.queue_declare(queue=f'queue.{agent}', durable=True) - channel.queue_bind( - exchange='task_exchange', - queue=f'queue.{agent}', - routing_key=f'task.{agent}' - ) - - # 3. 创建星枢结果聚合队列 - channel.queue_declare(queue='queue.star', durable=True) - channel.queue_bind( - exchange='result_exchange', - queue='queue.star', - routing_key='result.#' - ) - - connection.close() - print("✅ RabbitMQ 初始化完成") - -if __name__ == '__main__': - setup_rabbitmq() -``` - -### 5.3 星枢任务下发模块 - -```python -# star_sender.py -import pika -import json -import uuid -from datetime import datetime - -class StarTaskSender: - def __init__(self, rabbitmq_host='localhost'): - self.connection = pika.BlockingConnection( - pika.ConnectionParameters(host=rabbitmq_host) - ) - self.channel = self.connection.channel() - - def send_task(self, target_agent, action, params, priority='normal'): - task_id = f"task_{datetime.now().strftime('%Y%m%d_%H%M%S')}_{uuid.uuid4().hex[:6]}" - - message = { - "taskId": task_id, - "type": "task", - "source": "xingyao", - "target": target_agent, - "priority": priority, - "content": { - "action": action, - "params": params - }, - "metadata": { - "createdAt": datetime.now().isoformat() + "Z", - "retryCount": 0, - "maxRetries": 3 - } - } - - self.channel.basic_publish( - exchange='task_exchange', - routing_key=f'task.{target_agent}', - body=json.dumps(message), - properties=pika.BasicProperties( - delivery_mode=2, # 持久化 - priority=10 if priority == 'high' else 5 - ) - ) - - print(f"✅ 任务已下发: {task_id} -> {target_agent}") - return task_id - - def close(self): - self.connection.close() - -# 使用示例 -if __name__ == '__main__': - sender = StarTaskSender() - - # 下发任务给 Yunce - task_id = sender.send_task( - target_agent='yunce', - action='code_review', - params={'repo': 'my-project', 'branch': 'main'}, - priority='high' - ) - - sender.close() -``` - -### 5.4 Agent 任务监听模块 - -```python -# agent_listener.py -import pika -import json -import subprocess -import logging - -logging.basicConfig(level=logging.INFO) -logger = logging.getLogger(__name__) - -class AgentListener: - def __init__(self, agent_name, rabbitmq_host='localhost'): - self.agent_name = agent_name - self.connection = pika.BlockingConnection( - pika.ConnectionParameters(host=rabbitmq_host) - ) - self.channel = self.connection.channel() - - def execute_task(self, task_content): - """执行任务的核心逻辑""" - action = task_content['action'] - params = task_content['params'] - - logger.info(f"执行任务: {action}") - - # 根据 action 调用不同的处理函数 - handlers = { - 'code_review': self.handle_code_review, - 'data_analysis': self.handle_data_analysis, - 'file_operation': self.handle_file_operation, - } - - handler = handlers.get(action, self.handle_default) - return handler(params) - - def handle_code_review(self, params): - # 调用 OpenClaw agent - result = subprocess.run( - ['openclaw', 'agent', '--agent', 'yunce', - '--message', f"请审查代码仓库 {params.get('repo')}"], - capture_output=True, text=True - ) - return {'output': result.stdout, 'status': 'success'} - - def handle_default(self, params): - return {'message': f'Unknown action: {params}'} - - def on_message(self, ch, method, properties, body): - """消息处理回调""" - try: - message = json.loads(body) - task_id = message['taskId'] - - logger.info(f"收到任务: {task_id}") - - # 执行任务 - result = self.execute_task(message['content']) - - # 发送结果 - self.send_result(task_id, result) - - # ACK 确认 - ch.basic_ack(delivery_tag=method.delivery_tag) - - except Exception as e: - logger.error(f"任务执行失败: {e}") - ch.basic_nack(delivery_tag=method.delivery_tag, requeue=True) - - def send_result(self, task_id, result): - """发送结果到星枢""" - result_message = { - "taskId": task_id, - "type": "result", - "source": self.agent_name, - "target": "xingyao", - "status": "success", - "content": result, - "metadata": { - "completedAt": datetime.now().isoformat() + "Z" - } - } - - self.channel.basic_publish( - exchange='result_exchange', - routing_key=f'result.{self.agent_name}', - body=json.dumps(result_message), - properties=pika.BasicProperties(delivery_mode=2) - ) - - def start_listening(self): - """开始监听任务队列""" - self.channel.basic_qos(prefetch_count=1) - self.channel.basic_consume( - queue=f'queue.{self.agent_name}', - on_message_callback=self.on_message - ) - - logger.info(f"🤖 Agent [{self.agent_name}] 开始监听任务队列...") - self.channel.start_consuming() - -# 使用示例 -if __name__ == '__main__': - import sys - agent_name = sys.argv[1] if len(sys.argv) > 1 else 'yunce' - listener = AgentListener(agent_name) - listener.start_listening() -``` - -### 5.5 星枢结果收集模块 - -```python -# star_receiver.py -import pika -import json -from datetime import datetime - -class StarResultReceiver: - def __init__(self, rabbitmq_host='localhost'): - self.connection = pika.BlockingConnection( - pika.ConnectionParameters(host=rabbitmq_host) - ) - self.channel = self.connection.channel() - self.pending_tasks = {} # 跟踪待处理任务 - - def on_message(self, ch, method, properties, body): - message = json.loads(body) - - if message['type'] == 'result': - task_id = message['taskId'] - status = message['status'] - result = message['content'] - - print(f"📋 任务完成: {task_id}") - print(f" 状态: {status}") - print(f" 结果: {result}") - - # 更新任务状态 - if task_id in self.pending_tasks: - self.pending_tasks[task_id]['status'] = 'completed' - self.pending_tasks[task_id]['result'] = result - - # 可以触发后续任务 - self.handle_next_action(message) - - elif message['type'] == 'heartbeat': - print(f"💓 Agent 心跳: {message['agent']} - {message['status']}") - - ch.basic_ack(delivery_tag=method.delivery_tag) - - def handle_next_action(self, message): - """根据结果触发后续动作""" - # 示例:根据结果发送新任务 - pass - - def start_listening(self): - self.channel.basic_qos(prefetch_count=1) - self.channel.basic_consume( - queue='queue.star', - on_message_callback=self.on_message - ) - - print("🌟 星枢开始监听任务结果...") - self.channel.start_consuming() - -# 使用示例 -if __name__ == '__main__': - receiver = StarResultReceiver() - receiver.start_listening() -``` - ---- - -## 六、监控界面 - -### 6.1 RabbitMQ 管理界面 - -``` -URL: http://localhost:15672 -用户名: admin -密码: your_password - -可查看: -- 队列状态 (Messages, Ready, Unacked) -- 连接数 -- 消息流速 -- 交换机绑定 -``` - -### 6.2 自定义监控面板 (可选) - -```python -# 简单的任务状态查询 -def get_task_status(task_id): - # 可以通过 REST API 查询 - # 或者维护一个 Redis 状态缓存 - pass - -def list_pending_tasks(): - # 列出所有待处理任务 - pass - -def list_agent_status(): - # 列出所有 Agent 状态 - pass -``` - ---- - -## 七、完整工作流程示例 - -``` -┌─────────────────────────────────────────────────────────────────────────┐ -│ 完整示例:代码审查任务 │ -└─────────────────────────────────────────────────────────────────────────┘ - -[用户] - │ - │ "星枢,帮我审查 my-project 的 main 分支" - ▼ -[星枢 - 意图理解] - │ action: code_review - │ target: yunce - │ params: {repo: "my-project", branch: "main"} - ▼ -[星枢 - 任务下发] - │ RabbitMQ: task.yunce - │ taskId: task_20260317_001 - ▼ -[RabbitMQ] (持久化消息) - ▼ -[Yunce Agent - 任务监听] - │ 收到任务 -> 执行 code_review - │ 调用: openclaw agent --agent yunce --message "审查 my-project" - ▼ -[Yunce Agent - 返回结果] - │ RabbitMQ: result.yunce - │ status: success, findings: [...] - ▼ -[RabbitMQ] - │ result.# -> queue.star - ▼ -[星枢 - 结果收集] - │ 接收结果 -> 更新状态 - │ 格式化输出 -> 推送给用户 - ▼ -[用户] - │ 收到审查报告 -``` - ---- - -## 八、部署建议 - -### 8.1 生产环境配置 - -```yaml -# docker-compose.yml -version: '3.8' - -services: - rabbitmq: - image: rabbitmq:3.12-management - ports: - - "5672:5672" - - "15672:15672" - environment: - RABBITMQ_DEFAULT_USER: admin - RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD} - volumes: - - rabbitmq_data:/var/lib/rabbitmq - healthcheck: - test: ["CMD", "rabbitmq-diagnostics", "check_running"] - interval: 30s - -volumes: - rabbitmq_data: -``` - -### 8.2 安全建议 - -1. **认证**:启用 RabbitMQ 用户认证 -2. **SSL/TLS**:生产环境启用 amqps -3. **VHost**:不同项目使用不同 vhost -4. **权限**:最小权限原则 - ---- - -## 九、故障处理 - -| 故障场景 | 解决方案 | -|----------|----------| -| Agent 宕机 | 任务自动重新入队 (requeue) | -| RabbitMQ 宕机 | 消息持久化,重启后恢复 | -| 任务超时 | 设置 TTL,自动移到死信队列 | -| 消息积压 | 监控队列长度,扩展消费者 | - ---- - -## 十、进阶功能 - -### 10.1 延迟任务 - -```python -# 延迟队列:让任务在指定时间后执行 -def send_delayed_task(target, action, delay_seconds): - # 使用 RabbitMQ 延迟插件 或 配合 Redis 实现 - pass -``` - -### 10.2 优先级队列 - -```python -# 高优先级任务优先处理 -channel.queue_declare(queue='queue.yunce', arguments={ - 'x-max-priority': 10 -}) -``` - -### 10.3 任务超时 - -```python -# 消息 TTL + 死信队列 -channel.queue_declare( - queue='queue.yunce', - arguments={ - 'x-message-ttl': 3600000, # 1小时 - 'x-dead-letter-exchange': 'dlx_exchange' - } -) -``` - ---- - -## 附录:文件清单 - -| 文件 | 说明 | -|------|------| -| `setup_rabbitmq.py` | RabbitMQ 初始化脚本 | -| `star_sender.py` | 星枢任务下发模块 | -| `agent_listener.py` | Agent 任务监听模块 | -| `star_receiver.py` | 星枢结果收集模块 | -| `docker-compose.yml` | 一键部署配置 | - ---- - -*文档版本: 1.0* -*创建时间: 2026-03-17* -*作者: 云策* diff --git a/#recycle/xinghui/OpenClaw-技能清单.md b/#recycle/xinghui/OpenClaw-技能清单.md deleted file mode 100644 index 799890f3..00000000 --- a/#recycle/xinghui/OpenClaw-技能清单.md +++ /dev/null @@ -1,389 +0,0 @@ -# OpenClaw 技能笔记 - -> 创建时间: 2026-03-19 -> 整理者: 星辉 - ---- - -## 📋 技能清单总览 - -本文档记录 OpenClaw 中所有可用的技能(Skills)。 - ---- - -## 🔐 账号与密码 - -### 1. 1password -- **描述:** 1Password CLI (op) 工具 -- **用途:** 安装CLI、桌面应用集成、单/多账户登录、读写/运行密码 -- **路径:** `~/.agents/skills/1password-1.0.1/SKILL.md` - ---- - -## 🍎 Apple 生态 - -### 2. apple-notes -- **描述:** Apple Notes 管理 via `memo` CLI -- **用途:** 创建、查看、编辑、删除、搜索、移动、导出笔记 -- **路径:** `~/.openclaw/skills/apple-notes/SKILL.md` - -### 3. apple-reminders -- **描述:** Apple Reminders via `remindctl` CLI -- **用途:** 列出、添加、编辑、完成、删除提醒,支持列表、日期过滤、JSON/纯文本输出 -- **路径:** `~/.openclaw/skills/apple-reminders/SKILL.md` - -### 4. accli -- **描述:** Apple Calendar CLI -- **用途:** 列出日历、查看事件、创建/更新/删除日历事件、检查空闲时间 -- **触发词:** "查看日历"、"安排会议"、"我今天有什么安排"、"明天我有空吗" -- **路径:** `~/.openclaw/skills/accli/SKILL.md` - ---- - -## ☁️ 云服务与协作 - -### 5. gog -- **描述:** Google Workspace CLI -- **用途:** Gmail、日历、云盘、联系人、表格、文档 -- **路径:** `~/.agents/skills/gog/SKILL.md` - -### 6. feishu-chat-history -- **描述:** 获取飞书群聊历史 -- **用途:** 读取、回顾、总结飞书群聊消息 -- **触发词:** "看群聊记录"、"群里聊了啥"、"chat history" -- **路径:** `~/.agents/skills/feishu-chat-history/SKILL.md` - -### 7. feishu-cron-reminder -- **描述:** 飞书定时提醒 -- **用途:** 创建定时发送消息到飞书聊天的cron任务 -- **触发词:** "飞书定时提醒"、"定时任务发飞书"、"每小时提醒" -- **路径:** `~/.agents/skills/feishu-cron-reminder/SKILL.md` - -### 8. feishu-doc -- **描述:** 飞书文档获取 -- **用途:** 获取飞书Wiki、文档、表格、Bitable内容,自动转换为Markdown -- **路径:** `~/.agents/skills/feishu-doc-1.2.7/SKILL.md` - -### 9. feishu-perm -- **描述:** 飞书权限管理 -- **用途:** 文档和文件的分享、权限、协作者管理 -- **触发词:** 分享、权限、协作者 -- **路径:** `~/.agents/skills/feishu-perm/SKILL.md` - -### 10. feishu-screenshot -- **描述:** 截屏并发送到飞书 -- **用途:** 截取屏幕并通过飞书分享 -- **触发词:** "截个屏发飞书"、"截屏"、"screenshot" -- **路径:** `~/.agents/skills/feishu-screenshot/SKILL.md` - -### 11. feishu-send-file -- **描述:** 发送文件到飞书 -- **用途:** 通过REST API发送文件、附件到飞书群或个人 -- **触发词:** "发文件到飞书"、"send file to feishu" -- **路径:** `~/.agents/skills/feishu-send-file/SKILL.md` - ---- - -## 💬 通讯工具 - -### 12. slack -- **描述:** Slack 控制 -- **用途:** 通过 slack 工具控制Slack,包括消息反应、pin/unpin -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/slack/SKILL.md` - ---- - -## 🌐 网络与浏览器 - -### 13. agent-browser -- **描述:** 无头浏览器自动化CLI -- **用途:** 为AI代理优化的浏览器自动化,支持无障碍树快照和基于引用的元素选择 -- **路径:** `~/.openclaw/skills/agent-browser-clawdbot/SKILL.md` - -### 14. tavily-search -- **描述:** Tavily 搜索API -- **用途:** 网页搜索(替代Brave),返回相关结果标题、URL、摘要 -- **路径:** `~/.openclaw/skills/openclaw-tavily-search/SKILL.md` - ---- - -## 🛠️ 开发工具 - -### 15. Docker -- **描述:** Docker 容器、镜像、Compose、网络、卷、调试 -- **用途:** Docker相关操作、生产环境加固、命令保持稳定 -- **路径:** `~/.openclaw/skills/docker/SKILL.md` - -### 16. Code -- **描述:** 编码工作流 -- **用途:** 规划、实现、验证、测试的清洁软件开发流程 -- **路径:** `~/.agents/skills/code-1.0.4/SKILL.md` - -### 17. git-essentials -- **描述:** 基础Git命令 -- **用途:** 版本控制、分支、协作 -- **路径:** `~/.agents/skills/git-essentials-1.0.0/SKILL.md` - -### 18. frontend-design -- **描述:** 前端界面设计 -- **用途:** 创建独特、生产级的前端界面,高设计质量 -- **路径:** `~/.agents/skills/frontend-design-3-0.1.0/SKILL.md` - -### 19. security-auditor -- **描述:** 安全审计 -- **用途:** 代码安全漏洞审查、身份验证流程、OWASP Top 10审计、CORS/CSP配置、敏感数据处理、输入验证、SQL注入预防、XSS保护 -- **路径:** `~/.agents/skills/security-auditor-1.0.0/SKILL.md` - -### 20. architecture-designer -- **描述:** 系统架构设计 -- **用途:** 设计新系统架构、审查现有设计、架构决策、ADRs、可扩展性规划 -- **路径:** `~/.agents/skills/architecture-designer-0.1.0/SKILL.md` - -### 21. supabase-postgres-best-practices -- **描述:** Supabase Postgres 最佳实践 -- **用途:** Postgres性能优化和最佳实践 -- **路径:** `~/.agents/skills/supabase-postgres-best-practices/SKILL.md` - -### 22. tmux -- **描述:** Tmux 远程控制 -- **用途:** 远程控制tmux会话,发送按键和抓取面板输出 -- **路径:** `~/.agents/skills/tmux-1.0.0/SKILL.md` - ---- - -## 📝 笔记与知识管理 - -### 23. obsidian -- **描述:** Obsidian 保险库 -- **用途:** 处理Obsidian纯文本Markdown笔记,通过obsidian-cli自动化 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/obsidian/SKILL.md` - -### 24. ontology -- **描述:** 知识图谱 -- **用途:** 结构化代理记忆和可组合技能,创建/查询实体(Person、Project、Task、Event、Document),链接相关对象,执行约束,多步骤动作规划 -- **触发词:** "记住"、"关于X我知道什么"、"链接X到Y"、"显示依赖" -- **路径:** `~/.agents/skills/ontology/SKILL.md` - -### 25. Memory -- **描述:** 无限有序记忆 -- **用途:** 补充代理内置记忆的无限分类存储 -- **路径:** `~/.agents/skills/memory-1.0.2/SKILL.md` - -### 26. obsidian-ontology-sync -- **描述:** Obsidian与 Ontology 双向同步 -- **用途:** 从markdown自动提取实体和关系,维护本体图谱,提供反馈改进笔记结构 -- **路径:** `~/.agents/skills/obsidian-ontology-sync-1.0.1/SKILL.md` - ---- - -## 🎨 内容创作 - -### 27. blog-writer -- **描述:** 博客文章写作 -- **用途:** 以作家独特风格写博客文章、长篇内容,从研究到Notion发布的完整工作流 -- **路径:** `~/.agents/skills/blog-writer-0.1.0/SKILL.md` - -### 28. copywriting -- **描述:** 文案写作 -- **用途:** 为落地页、邮件、广告、销售页、营销材料写 persuasive copy,标题、CTA、产品描述、广告文案、邮件序列 -- **触发词:** "写文案"、"copywriting"、"landing page copy"、"headline" -- **路径:** `~/.agents/skills/copywriting-0.1.0/SKILL.md` - -### 29. content-strategy -- **描述:** 内容营销策略 -- **用途:** 为solopreneur业务构建和执行内容营销策略 -- **触发词:** "内容策略"、"content marketing"、"内容计划"、"内容日历" -- **路径:** `~/.agents/skills/content-strategy-0.1.0/SKILL.md` - -### 30. seo-content-writer -- **描述:** SEO内容写作 -- **用途:** 写SEO优化内容、创建博客文章、文章 -- **触发词:** "写SEO内容"、"创建博客文章"、"内容写作" -- **路径:** `~/.agents/skills/seo-content-writer-2.0.0/SKILL.md` - -### 31. social-content -- **描述:** 社交媒体内容 -- **用途:** 创建、安排、优化LinkedIn、Twitter/X、Instagram、TikTok、Facebook等内容 -- **触发词:** "LinkedIn post"、"Twitter thread"、"社交媒体"、"内容日历" -- **路径:** `~/.agents/skills/social-content-generator-0.1.0/SKILL.md` - -### 32. Social Media Scheduler -- **描述:** 社交媒体排程 -- **用途:** 计划、起草、跨平台组织社交媒体内容,创建内容日历 -- **路径:** `~/.agents/skills/social-media-scheduler-1.0.0/SKILL.md` - -### 33. research-paper-writer -- **描述:** 研究论文写作 -- **用途:** 创建遵循IEEE/ACM格式标准的正式学术论文 -- **路径:** `~/.agents/skills/research-paper-writer-0.1.0/SKILL.md` - -### 34. Powerpoint / PPTX -- **描述:** PowerPoint 演示文稿 -- **用途:** 创建、检查、编辑Microsoft PowerPoint演示文稿,可靠的布局、模板、占位符、笔记、图表 -- **路径:** `~/.openclaw/skills/powerpoint-pptx/SKILL.md` - ---- - -## 📊 商业与分析 - -### 35. Market Research -- **描述:** 市场研究 -- **用途:** 规模市场、分析竞争对手、用实际框架和数据源验证机会 -- **路径:** `~/.agents/skills/market-research-1.0.0/SKILL.md` - -### 36. interview-designer -- **描述:** 面试设计 -- **用途:** 分析简历,使用基于证据的方法设计面试策略 -- **路径:** `~/.agents/skills/interview-designer-1.0.0/SKILL.md` - -### 37. backtest-expert -- **描述:** 回测专家 -- **用途:** 系统交易策略回测的专家指导 -- **触发词:** 回测、策略验证、鲁棒性测试、避免过度拟合 -- **路径:** `~/.agents/skills/backtest-expert-0.1.0/SKILL.md` - -### 38. automation-workflows -- **描述:** 自动化工作流 -- **用途:** 设计和实施自动化工作流以节省时间和扩展运营 -- **触发词:** "自动化"、"automation workflow"、"save time"、"reduce manual work" -- **路径:** `~/.agents/skills/automation-workflows-0.1.0/SKILL.md` - ---- - -## 🧠 AI 代理能力 - -### 39. proactive-agent-lite -- **描述:** 主动代理Lite -- **用途:** 将AI代理从任务追随者转变为积极主动的伙伴,具有记忆架构、reverse prompting和自愈模式 -- **路径:** `~/.openclaw/skills/proactive-agent-lite/SKILL.md` - -### 40. self-improvement -- **描述:** 自我改进 -- **用途:** 捕获学习、错误、纠正以实现持续改进 -- **触发词:** 命令/操作失败、用户纠正、请求不存在的功能、外部API失败、知识过时 -- **路径:** `~/.openclaw/skills/self-improving-agent/SKILL.md` - -### 41. self-reflection -- **描述:** 自我反思 -- **用途:** 定期自我反思,分析近期会话,写简洁可行的见解 -- **路径:** `~/.agents/skills/agent-self-reflection-1.0.0/SKILL.md` - -### 42. brainstorming -- **描述:** 头脑风暴 -- **用途:** 在任何创造性工作之前必须使用 - 创建功能、构建组件、添加功能或修改行为 -- **路径:** `~/.agents/skills/brainstorming-0.1.0/SKILL.md` - -### 43. writing-plans -- **描述:** 写作计划 -- **用途:** 有规范/需求的多步骤任务规范 -- **路径:** `~/.agents/skills/writing-plans-0.1.0/SKILL.md` - -### 44. executing-plans -- **描述:** 执行计划 -- **用途:** 在单独会话中执行包含审查检查点的书面实施计划 -- **路径:** `~/.agents/skills/executing-plans-0.1.0/SKILL.md` - -### 45. task-summary -- **描述:** 任务总结 -- **用途:** 任务完成后生成结构化总结,记录目标、步骤、结果、经验教训 -- **路径:** `~/.openclaw/skills/task-summary/SKILL.md` - ---- - -## 🔧 工具与系统 - -### 46. clawhub -- **描述:** ClawHub CLI -- **用途:** 从clawhub.com搜索、安装、更新、发布代理技能 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/clawhub/SKILL.md` - -### 47. find-skills -- **描述:** 发现技能 -- **用途:** 当用户询问"如何做X"、"找X的技能"、"有能...的技能吗"时帮助用户发现和安装技能 -- **路径:** `~/.agents/skills/find-skills/SKILL.md` - -### 48. skill-creator -- **描述:** 技能创建器 -- **用途:** 创建有效技能的指南 -- **路径:** `~/.agents/skills/skill-creator-0.1.0/SKILL.md` - -### 49. skill-vetter -- **描述:** 技能审核 -- **用途:** AI代理的安全优先技能审核,安装来自ClawHub、GitHub或其他来源的技能之前检查 -- **路径:** `~/.agents/skills/skill-vetter-1.0.0/SKILL.md` - -### 50. clawdefender -- **描述:** 安全防御 -- **用途:** AI代理的安全扫描器和输入清理器,检测prompt注入、命令注入、SSRF、凭证外泄、路径遍历攻击 -- **路径:** `~/.agents/skills/clawdefender-1/SKILL.md` - -### 51. opencode-controller -- **描述:** Opencode 控制器 -- **用途:** 通过斜杠命令控制Opencode,管理会话、选择模型、切换代理 -- **路径:** `~/.agents/skills/opencode-controller-1.0.0/SKILL.md` - ---- - -## 🌤️ 生活与娱乐 - -### 52. weather -- **描述:** 天气 -- **用途:** 通过wttr.in或Open-Meteo获取当前天气和预报 -- **触发词:** 天气、温度、预报 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/weather/SKILL.md` - -### 53. video-frames -- **描述:** 视频帧提取 -- **用途:** 使用ffmpeg从视频提取帧或短片段 -- **路径:** `~/.agents/skills/video-frames-1.0.0/SKILL.md` - -### 54. FFmpeg Video Editor -- **描述:** FFmpeg 视频编辑器 -- **用途:** 从自然语言视频编辑请求生成FFmpeg命令 - 剪切、裁剪、转换、压缩、改变宽高比、提取音频等 -- **路径:** `~/.agents/skills/ffmpeg-video-editor-1.0.0/SKILL.md` - -### 55. UI/UX Pro Max -- **描述:** UI/UX 设计 -- **用途:** UI/UX设计智能和实现指导,构建精美界面 -- **路径:** `~/.agents/skills/ui-ux-pro-max-0.1.0/SKILL.md` - ---- - -## 🛡️ 系统与运维 - -### 56. healthcheck -- **描述:** 主机安全检查 -- **用途:** 主机安全加固和风险容忍配置 -- **触发词:** 安全审计、防火墙/SSH/更新加固、风险态势、暴露审查、OpenClaw cron调度 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/healthcheck/SKILL.md` - -### 57. node-connect -- **描述:** OpenClaw 节点连接 -- **用途:** 诊断Android、iOS、macOS companion app的配对失败 -- **触发词:** QR/设置码手动连接失败、本地Wi-Fi正常但VPS/tailnet不正常、配对要求、未经授权、bootstrap token无效/过期 -- **路径:** `/opt/homebrew/lib/node_modules/openclaw/skills/node-connect/SKILL.md` - ---- - -## 📊 技能分类汇总 - -| 分类 | 数量 | 技能 | -|------|------|------| -| Apple 生态 | 3 | apple-notes, apple-reminders, accli | -| 云服务/协作 | 7 | gog, feishu-*(6个) | -| 通讯工具 | 1 | slack | -| 网络/浏览器 | 2 | agent-browser, tavily-search | -| 开发工具 | 8 | Docker, Code, git-essentials, frontend-design, security-auditor, architecture-designer, supabase-postgres-best-practices, tmux | -| 笔记/知识管理 | 5 | obsidian, ontology, Memory, obsidian-ontology-sync, task-summary | -| 内容创作 | 8 | blog-writer, copywriting, content-strategy, seo-content-writer, social-content, Social Media Scheduler, research-paper-writer, Powerpoint/PPTX | -| 商业/分析 | 4 | Market Research, interview-designer, backtest-expert, automation-workflows | -| AI代理能力 | 7 | proactive-agent-lite, self-improvement, self-reflection, brainstorming, writing-plans, executing-plans, task-summary | -| 工具/系统 | 6 | clawhub, find-skills, skill-creator, skill-vetter, clawdefender, opencode-controller | -| 生活/娱乐 | 4 | weather, video-frames, FFmpeg Video Editor, UI/UX Pro Max | -| 系统/运维 | 2 | healthcheck, node-connect | - -**总计: 57 个技能** - ---- - -*笔记创建于 2026-03-19 by 星辉* diff --git a/#recycle/星枢 Agent 任务解耦技术方案.md b/#recycle/星枢 Agent 任务解耦技术方案.md deleted file mode 100644 index f5f53025..00000000 --- a/#recycle/星枢 Agent 任务解耦技术方案.md +++ /dev/null @@ -1,446 +0,0 @@ -# 星枢 Agent 任务解耦技术方案 - -> 基于 RabbitMQ 的分布式任务队列架构 -> 版本: 2.1 (已更新) -> 最后更新: 2026-03-17 - ---- - -## 一、概述 - -### 背景 - -当前星枢(主 Agent)与其他 Agent 的通信方式: - -| 方式 | 命令 | 局限 | -| --- | ---------------------------------------------------------- | ---- | -| 本地 | `openclaw agent --agent xingyao --message "..." --deliver` | 同步等待 | -| 远程 | `ssh ubuntu2 "openclaw agent --agent yunce --message ..."` | 串行阻塞 | - -### 目标 - -- **异步执行**:任务下发不等待结果 -- **任务持久化**:重启不丢失 -- **可监控**:实时查看任务状态 -- **可扩展**:支持多 Agent 并行 - -### 讨论结论 - -**技术选型**: RabbitMQ - -**Exchange 命名**: `task_exchange` / `result_exchange` - ---- - -## 二、星枢调度 Agent 列表 - -根据 `星枢调度Agent列表.md`,星枢需要调度的 Agent 包括: - -### Mac Mini(中央控制节点) - -| Agent ID | 角色 | 职责 | -|----------|------|------| -| xingyao | 星曜 | IT 管家 / 运维管理 | -| xinghui | 星辉 | 个人助理 / 日程管理 | - -### Ubuntu2(开发服务器) - -| Agent ID | 角色 | 职责 | -|----------|------|------| -| yunhan | 云瀚 | 监控官 / 系统监控 | -| yunce | 云策 | 架构师 / 技术方案 | -| yunjiang | 云匠 | 工匠 / 代码开发 | -| yunzhi | 云织 | 自动化师 / CI/CD | - -### Ubuntu1(准生产服务器) - -| Agent ID | 角色 | 职责 | -|----------|------|------| -| fengheng | 风衡 | 质检官 / QA测试 | -| fengchi | 风驰 | 执行者 / 业务流程 | -| fengji | 风纪 | 审计官 / 规则审计 | - -**总计**: 9 个子 Agent - ---- - -## 三、架构设计 - -### 3.1 整体架构 - -``` -┌─────────────────────────────────────────────────────────────────────────┐ -│ 用户 │ -│ (Telegram/Discord) │ -└─────────────────────────────────┬───────────────────────────────────────┘ - │ - ▼ -┌─────────────────────────────────────────────────────────────────────────┐ -│ 星枢 (xingshu) │ -│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ -│ │ 意图理解 │ │ 任务分解 │ │ 队列管理 │ │ 结果聚合 │ │ -│ │ intent_ │ │ message_ │ │ rabbitmq_ │ │ result_ │ │ -│ │ parser.py │ │ builder.py │ │ sender.py │ │ receiver.py│ │ -│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ -└─────────────────────────────────┬───────────────────────────────────────┘ - │ - ┌─────────────┴─────────────┐ - │ RabbitMQ 集群 │ - │ (task_exchange) │ - └─────────────┬─────────────┘ - │ - ┌───────────┬───────────┼───────────┬───────────┐ - │ │ │ │ │ - ▼ ▼ ▼ ▼ ▼ - ┌──────────┐┌──────────┐┌──────────┐┌──────────┐┌──────────┐ - │ tasks ││ tasks ││ tasks ││ tasks ││ tasks │ - │ .xingyao ││ .xinghui ││ .yunhan ││ .yunce ││.yunjiang │ - └────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘└────┬─────┘ - │ │ │ │ │ - ▼ ▼ ▼ ▼ ▼ - [星曜] [星辉] [云瀚] [云策] [云匠] - │ │ │ │ │ - └───────────┴───────────┼───────────┴───────────┘ - │ - ┌────────────┴────────────┐ - │ result_exchange │ - │ (result.#) │ - └────────────┬────────────┘ - │ - ▼ - ┌─────────────────────┐ - │ results.xingshu │ ← 星枢监听 - └─────────────────────┘ -``` - -### 3.2 消息流设计 - -``` -┌──────────────────────────────────────────────────────────────────────────┐ -│ 消息生命周期 │ -└──────────────────────────────────────────────────────────────────────────┘ - -[1] 任务下发 [5] 结果处理 - │ ▲ - ▼ │ -┌────────┐ ┌────────────┐ ┌───────────┐ ┌───────────┐ │ -│ 星枢 │───▶│ RabbitMQ │───▶│ Agent N │───▶│ RabbitMQ │──────┐ -│创建任务 │ │ (持久化) │ │ 执行任务 │ │ (结果队列) │ │ -└────────┘ └────────────┘ └───────────┘ └───────────┘ │ - │ │ │ - │ [4] ACK 确认 │ - │ │ │ -[2] 任务入队 │ │ -(可选: 延迟队列) ▼ │ - │ ┌───────────┐ │ - └─────────────▶│ 状态变更 │ │ - │ (处理中→完成) │ - └───────────┘ │ - -[3] Agent 消费任务 -``` - ---- - -## 四、Exchange & Queue 设计 - -### 4.1 Exchanges - -| Exchange | 类型 | 用途 | Routing Key | -|----------|------|------|-------------| -| `task_exchange` | topic | 任务下发 | `task.{agent}` | -| `result_exchange` | topic | 结果收集 | `result.{agent}` | - -### 4.2 Queues - -| Queue | 消费者 | Agent 角色 | -|-------|--------|------------| -| `tasks.xingyao` | xingyao | 星曜 - IT管家 | -| `tasks.xinghui` | xinghui | 星辉 - 个人助理 | -| `tasks.yunhan` | yunhan | 云瀚 - 监控官 | -| `tasks.yunce` | yunce | 云策 - 架构师 | -| `tasks.yunjiang` | yunjiang | 云匠 - 工匠 | -| `tasks.yunzhi` | yunzhi | 云织 - 自动化师 | -| `tasks.fengheng` | fengheng | 风衡 - 质检官 | -| `tasks.fengchi` | fengchi | 风驰 - 执行者 | -| `tasks.fengji` | fengji | 风纪 - 审计官 | -| `results.xingshu` | xingshu | 星枢 - 结果聚合 | - -### 4.3 Routing 规则 - -``` -任务下发: - task_exchange - │ - ├─→ task.xingyao → tasks.xingyao - ├─→ task.xinghui → tasks.xinghui - ├─→ task.yunhan → tasks.yunhan - ├─→ task.yunce → tasks.yunce - ├─→ task.yunjiang → tasks.yunjiang - ├─→ task.yunzhi → tasks.yunzhi - ├─→ task.fengheng → tasks.fengheng - ├─→ task.fengchi → tasks.fengchi - └─→ task.fengji → tasks.fengji - -结果收集: - result_exchange - │ - └─→ result.# → results.xingshu (星枢) -``` - ---- - -## 五、消息格式定义 - -### 5.1 任务消息 (Task Message) - -```json -{ - "taskId": "task_20260317_001", - "type": "task", - "source": "xingshu", - "target": "yunce", - "priority": "high", - "content": { - "action": "code_review", - "params": { - "repo": "my-project", - "branch": "feature/login" - } - }, - "metadata": { - "createdAt": "2026-03-17T10:30:00Z", - "expireAt": "2026-03-17T11:30:00Z", - "retryCount": 0, - "maxRetries": 3 - } -} -``` - -### 5.2 结果消息 (Result Message) - -```json -{ - "taskId": "task_20260317_001", - "type": "result", - "source": "yunce", - "target": "xingshu", - "status": "success", - "content": { - "summary": "代码审查完成", - "findings": [ - {"severity": "warning", "message": "建议添加参数校验"} - ], - "output": "/path/to/report.md" - }, - "metadata": { - "completedAt": "2026-03-17T10:35:00Z", - "duration": 300 - } -} -``` - -### 5.3 心跳消息 (Heartbeat Message) - -```json -{ - "type": "heartbeat", - "agent": "yunce", - "status": "idle", - "currentTask": null, - "timestamp": "2026-03-17T10:30:00Z" -} -``` - ---- - -## 六、星枢指令解析 - -### 6.1 意图到 Agent 的映射 - -| 用户指令 | action | target | 执行 Agent | -|----------|--------|--------|-----------| -| 运维/服务器管理 | ops | xingyao | 星曜 | -| 日程/个人事务 | personal | xinghui | 星辉 | -| 监控巡检 | monitor | yunhan | 云瀚 | -| 架构/方案 | architecture | yunce | 云策 | -| 代码开发 | coding | yunjiang | 云匠 | -| CI/CD/自动化 | automation | yunzhi | 云织 | -| QA测试 | qa_test | fengheng | 风衡 | -| 业务执行 | execute | fengchi | 风驰 | -| 审计/合规 | audit | fengji | 风纪 | - -### 6.2 async-task-scheduling 支持的 action - -| action | target | 说明 | -|--------|--------|------| -| ops | xingyao | IT 运维任务 | -| personal | xinghui | 个人事务 | -| monitor | yunhan | 系统监控 | -| architecture | yunce | 技术方案 | -| coding | yunjiang | 代码开发 | -| automation | yunzhi | 自动化 | -| qa_test | fengheng | QA 测试 | -| execute | fengchi | 业务执行 | -| audit | fengji | 审计检查 | -| code_review | yunce | 代码审查 (快捷) | -| deploy | yunzhi | 部署服务 | - ---- - -## 七、RabbitMQ 初始化步骤 - -### 7.1 环境信息 - -| 项目 | 值 | -|------|-----| -| **IP 地址** | 192.168.3.189 | -| **AMQP 端口** | 5672 | -| **管理界面** | http://192.168.3.189:15672/ | -| **用户名** | guest | -| **密码** | guest | - -### 7.2 一键初始化命令 - -```bash -python3 << 'EOF' -import pika - -connection = pika.BlockingConnection( - pika.ConnectionParameters( - host='192.168.3.189', - port=5672, - credentials=pika.PlainCredentials('guest', 'guest') - ) -) -channel = connection.channel() - -# ========== 1. 创建 Exchange ========== -channel.exchange_declare(exchange='task_exchange', exchange_type='topic', durable=True) -channel.exchange_declare(exchange='result_exchange', exchange_type='topic', durable=True) -print("✅ Exchanges: task_exchange, result_exchange") - -# ========== 2. 创建任务队列 (9个子Agent) ========== -agents = [ - 'xingyao', # 星曜 - IT管家 - 'xinghui', # 星辉 - 个人助理 - 'yunhan', # 云瀚 - 监控官 - 'yunce', # 云策 - 架构师 - 'yunjiang', # 云匠 - 工匠 - 'yunzhi', # 云织 - 自动化师 - 'fengheng', # 风衡 - 质检官 - 'fengchi', # 风驰 - 执行者 - 'fengji', # 风纪 - 审计官 -] - -for agent in agents: - queue_name = f'tasks.{agent}' - channel.queue_declare(queue=queue_name, durable=True) - channel.queue_bind( - exchange='task_exchange', - queue=queue_name, - routing_key=f'task.{agent}' - ) - print(f" 📬 {queue_name} -> task.{agent}") - -# ========== 3. 创建结果聚合队列 ========== -channel.queue_declare(queue='results.xingshu', durable=True) -channel.queue_bind( - exchange='result_exchange', - queue='results.xingshu', - routing_key='result.#' -) -print(" 📬 results.xingshu -> result.#") - -connection.close() -print("\n🎉 RabbitMQ 初始化完成!") -EOF -``` - ---- - -## 八、async-task-scheduling 技能 - -### 8.1 技能概述 - -**技能名称**: async-task-scheduling (异步任务调度) - -**用途**: 星枢专用技能,用于解析用户指令并通过 RabbitMQ 异步调度子 Agent - -**技能位置**: -``` -~/Obsidian/shenwei/openclaw/yunce/async-task-scheduling/ -``` - -### 8.2 文件结构 - -``` -async-task-scheduling/ -├── SKILL.md # 技能说明 -└── scripts/ - ├── __init__.py - ├── intent_parser.py # 意图解析 (action → target 映射) - ├── message_builder.py # 消息构建 (JSON 格式) - ├── rabbitmq_sender.py # RabbitMQ 发送 - └── agent_listener.py # 子 Agent 监听 (可选) -``` - -### 8.3 使用方法 - -```python -from scripts import IntentParser, MessageBuilder, RabbitMQSender - -# 1. 解析用户指令 -parser = IntentParser() -intent = parser.parse_intent("帮我审查 my-project 仓库") - -# 2. 构建消息 -builder = MessageBuilder(source="xingshu") -message = builder.build_task_message(intent) - -# 3. 发送到 RabbitMQ -sender = RabbitMQSender() -task_id = sender.send_task(message) -sender.close() - -return f"✅ 任务已下发: {task_id} → {intent['target']}" -``` - -### 8.4 配置 - -RabbitMQ 连接配置 (rabbitmq_sender.py): - -```python -DEFAULT_CONFIG = { - "host": "192.168.3.189", - "port": 5672, - "username": "guest", - "password": "guest", - "exchange": "task_exchange", - "result_exchange": "result_exchange" -} -``` - ---- - -## 九、待执行事项 - -- [ ] 确认设计后,初始化 RabbitMQ -- [ ] 为星枢 (xingshu) 加载 async-task-scheduling 技能 -- [ ] 子 Agent 监听队列并消费任务 -- [ ] 端到端测试 - ---- - -## 十、相关文件 - -| 文件 | 位置 | -|------|------| -| 星枢调度 Agent 列表 | `~/Obsidian/shenwei/openclaw/xingshu/星枢调度Agent列表.md` | -| 异步任务调度技能 | `~/Obsidian/shenwei/openclaw/yunce/async-task-scheduling/` | - ---- - -*文档版本: 2.1* -*更新日期: 2026-03-17* -*作者: 云策* diff --git a/AI/@eaDir/AI 解决方案专家培训课程.md@SynoEAStream b/AI/@eaDir/AI 解决方案专家培训课程.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/AI 解决方案专家培训课程.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/AI 解决方案专家培训课程.md@SynoResource b/AI/@eaDir/AI 解决方案专家培训课程.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/AI 解决方案专家培训课程.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoEAStream b/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoResource b/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Best 7 news API data feeds - AI News.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Designing for Agentic AI.md@SynoEAStream b/AI/@eaDir/Designing for Agentic AI.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/Designing for Agentic AI.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Designing for Agentic AI.md@SynoResource b/AI/@eaDir/Designing for Agentic AI.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Designing for Agentic AI.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoEAStream b/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoEAStream deleted file mode 100644 index 426746b6..00000000 Binary files a/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoResource b/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Google 神级生产力工具,所有 GitHub 开源平替都找到了。.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoEAStream b/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoResource b/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/LLMs、RAG、AI Agent 三个到底什么区别?.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Nano Banana 提示词框架.md@SynoEAStream b/AI/@eaDir/Nano Banana 提示词框架.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/Nano Banana 提示词框架.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Nano Banana 提示词框架.md@SynoResource b/AI/@eaDir/Nano Banana 提示词框架.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Nano Banana 提示词框架.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Never write another prompt.md@SynoEAStream b/AI/@eaDir/Never write another prompt.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/Never write another prompt.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Never write another prompt.md@SynoResource b/AI/@eaDir/Never write another prompt.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Never write another prompt.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoEAStream b/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoResource b/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/OpenAI ChatGPT 个性化定义.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/Untitled.md@SynoEAStream b/AI/@eaDir/Untitled.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/Untitled.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/Untitled.md@SynoResource b/AI/@eaDir/Untitled.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/Untitled.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/openclaw@SynoEAStream b/AI/@eaDir/openclaw@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/openclaw@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoEAStream b/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoResource b/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/固定镜头短视频制作的AI全流程解析.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoEAStream b/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoEAStream deleted file mode 100644 index 426746b6..00000000 Binary files a/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoResource b/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/如何利用Sora接口实现视频自动化生成工作流.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/文字生成视频网站推荐.md@SynoEAStream b/AI/@eaDir/文字生成视频网站推荐.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/文字生成视频网站推荐.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/文字生成视频网站推荐.md@SynoResource b/AI/@eaDir/文字生成视频网站推荐.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/文字生成视频网站推荐.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoEAStream b/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoResource b/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/详细!离线部署大模型:ollama+deepseek+open-webui安装使用方法及常见问题解决 1.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoEAStream b/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoResource b/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/𝗔𝗜 𝗶𝘀 𝗘𝗻𝘁𝗲𝗿𝗶𝗻𝗴 𝘁𝗵𝗲 𝗔𝗴𝗲 𝗼𝗳 𝗔𝗴𝗲𝗻𝗰𝘆 – 𝗠𝗼𝘃𝗶𝗻𝗴 𝗕𝗲𝘆𝗼𝗻𝗱 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻.md@SynoResource and /dev/null differ diff --git a/AI/@eaDir/🟠API Key.md@SynoEAStream b/AI/@eaDir/🟠API Key.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/@eaDir/🟠API Key.md@SynoEAStream and /dev/null differ diff --git a/AI/@eaDir/🟠API Key.md@SynoResource b/AI/@eaDir/🟠API Key.md@SynoResource deleted file mode 100644 index 9c645d47..00000000 Binary files a/AI/@eaDir/🟠API Key.md@SynoResource and /dev/null differ diff --git a/AI/openclaw/@eaDir/OpenClaw 多 Agent 系统设计.md@SynoEAStream b/AI/openclaw/@eaDir/OpenClaw 多 Agent 系统设计.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/openclaw/@eaDir/OpenClaw 多 Agent 系统设计.md@SynoEAStream and /dev/null differ diff --git a/AI/openclaw/@eaDir/OpenClaw-Agent管理指南.md@SynoEAStream b/AI/openclaw/@eaDir/OpenClaw-Agent管理指南.md@SynoEAStream deleted file mode 100644 index f444f24d..00000000 Binary files a/AI/openclaw/@eaDir/OpenClaw-Agent管理指南.md@SynoEAStream and /dev/null differ diff --git a/AI/openclaw/OpenClaw Agent 命名与架构设计参考文档.md b/AI/openclaw/OpenClaw Agent 命名与架构设计参考文档.md deleted file mode 100644 index f8ded650..00000000 --- a/AI/openclaw/OpenClaw Agent 命名与架构设计参考文档.md +++ /dev/null @@ -1,326 +0,0 @@ -#openclaw #agent - -```table-of-contents -``` - -# 1. 架构设计目标 - -该 Agent 架构基于 **OpenClaw 多节点智能体系统**,通过不同服务器部署不同职责的 Agent,并通过统一命名体系构建一个清晰、可扩展的 AI Agent 生态。 - -整体设计目标: - -- 形成 **清晰的职责分层** -- 建立 **统一的命名体系** -- 支持 **未来扩展更多 Agent** -- 便于 **星枢统一调度** - -设计采用 **三层体系结构**: - -| 层级 | 系列 | 含义 | 主要职责 | -| --- | --- | ---- | ------------ | -| 控制层 | 星系 | 星辰统御 | 调度、管理、智能决策 | -| 技术层 | 云系 | 云海算力 | 开发、架构、监控 | -| 执行层 | 风系 | 风行万里 | 测试、业务执行、流程处理 | - -这种结构类似于 **AI Agent 操作系统**: -``` -控制层(星) - ↓ -技术层(云) - ↓ -执行层(风) -``` - ---- - -# 2. 当前 Agent 架构 - -## 2.1 Mac Mini(中央控制节点) - -定位: - -- AI Agent 中枢 -- 调度中心 -- 个人与 IT 管理 - -|Agent|名字|角色|职责| -|---|---|---|---| -|星枢|Master Orchestrator|总调度|统一调度所有 Agent| -|星曜|IT 管家|IT 管理|服务器、环境、运维| -|星辉|个人助理|Assistant|日常任务与个人事务| - -架构示意: - -``` -Mac Mini - ├─ 星枢(总调度) - ├─ 星曜(IT管家) - └─ 星辉(个人助理) -``` - ---- - -# 3. Ubuntu2(开发服务器) - -定位: - -- 技术研发 -- 架构设计 -- 自动化构建 -- 系统监控 - -Agent 命名统一以 **“云”开头**。 - -## 3.1 已有 Agent - -| Agent | 职责 | | -| ----- | ----------------------------------- | ---------------- | -| 云瀚 | 监控系统 | 云海浩瀚,象征监控全局系统状态。 | -| 云策 | - 架构设计
- 技术方案
- 系统规划 | 云中筹策,技术谋略。 | -| 云匠 | - 代码开发
- 构建
- 工程实现 | 云端工匠 | -| 云织 | - CI/CD
- 自动化流程
- pipeline 编排 | 织云为网 | - - ---- - -## 3.3 Ubuntu2 最终推荐结构 - -``` -Ubuntu2(开发服务器) - -云瀚 监控 -云策 架构设计 -云匠 开发实现 -云织 CI/CD自动化 -``` - ---- - -# 4. Ubuntu1(准生产服务器) - -定位: - -- QA 测试 -- 业务执行 -- 自动任务 -- 审计规则 - -Agent 统一使用 **“风”系列命名**。 - -原因: - -> 风代表执行、速度、行动。 - -| Agent | 职责 | | -| ----- | ---------------------------- | ----- | -| 风衡 | - QA 测试
- 自动测试
- 质量控制 | 风中权衡。 | -| 风驰 | - 自动任务
- Job 执行
- 业务流程 | 风驰电掣。 | -| 风纪 | - 规则执行
- 审计
- 合规 | 风纪法度 | - ---- - -## 4.2 Ubuntu1 推荐结构 - -``` -Ubuntu1(准生产服务器) - -风衡 QA测试 -风驰 自动执行 -风纪 规则审计 -``` - ---- - -# 5. 完整 Agent 架构 - -最终整体结构: - -``` - 星枢 - (总调度 Agent) - │ - ┌────────────┼────────────┐ - │ │ │ - 星曜 星辉 服务器集群 - (IT管家) (个人助理) │ - │ - ┌────────────┴────────────┐ - │ │ - Ubuntu2 Ubuntu1 - (开发服务器) (准生产) - │ │ - ┌───────┼───────┐ ┌───────┼───────┐ - │ │ │ │ │ │ - 云瀚 云策 云匠 风衡 风驰 风纪 - 监控 架构 开发 QA 执行 审计 - │ - 云织 - CI/CD -``` - ---- - -# 6. Agent 体系总结 - -|系列|含义|角色类型| -|---|---|---| -|星|星辰|调度 / 管理| -|云|云海|技术 / 开发| -|风|风行|执行 / 流程| - ---- - -## 星系 Agent - -|Agent|职责| -|---|---| -|星枢|总调度| -|星曜|IT 管理| -|星辉|助手| - -未来可扩展: - -|Agent|角色| -|---|---| -|星策|战略规划| -|星典|知识管理| - ---- - -## 云系 Agent - -|Agent|职责| -|---|---| -|云瀚|监控| -|云策|架构| -|云匠|开发| -|云织|CI/CD| - ---- - -## 风系 Agent - -|Agent|职责| -|---|---| -|风衡|QA| -|风驰|自动执行| -|风纪|审计| - ---- - -# 7. 设计优势 - -该 Agent 命名体系具有以下优点: - -### 1. 语义清晰 - -看到名字即可理解职责。 - -例如: - -- 云匠 → 开发 - -- 风衡 → QA - -- 星枢 → 调度 - - ---- - -### 2. 层级清晰 - -``` -星(控制) -↓ -云(技术) -↓ -风(执行) -``` - ---- - -### 3. 易于扩展 - -未来可以继续增加: - -云系: - -- 云图(数据) - -- 云阵(基础设施) - -- 云算(AI计算) - - -风系: - -- 风策(业务策略) - -- 风行(业务执行) - -- 风巡(巡检) - - ---- - -### 4. 非常适合 Agent 调度 - -星枢可以统一调度: - -``` -星枢 → 云系 → 风系 -``` - -示例: - -``` -星枢 - ↓ -云策(制定方案) - ↓ -云匠(开发) - ↓ -云织(部署) - ↓ -风衡(测试) - ↓ -风驰(执行) -``` - -形成完整 **AI 自动化流水线**。 - ---- - -# 8. 最终推荐部署 - -### Mac Mini - -``` -星枢 -星曜 -星辉 -``` - ---- - -### Ubuntu2(开发) - -``` -云瀚 -云策 -云匠 -云织 -``` - ---- - -### Ubuntu1(准生产) - -``` -风衡 -风驰 -风纪 -``` - ---- - diff --git a/AI/openclaw/OpenClaw 多 Agent 系统设计.md b/AI/openclaw/OpenClaw 多 Agent 系统设计.md deleted file mode 100644 index 1243c43b..00000000 --- a/AI/openclaw/OpenClaw 多 Agent 系统设计.md +++ /dev/null @@ -1,574 +0,0 @@ - -#openclaw #agent #telegram -```table-of-contents -``` - ---- - -# OpenClaw 多 Agent 自动化系统架构笔记 (Advanced) - -Author: Billy -Purpose: 构建基于 OpenClaw + Telegram + n8n 的 AI 自动化控制系统 - ---- - -# 1 系统总体架构 - -**目标:** - -构建一个 **AI Automation Control Center** - -**核心组件:** - -- OpenClaw Gateway -- 多 Agent -- Telegram Interface -- n8n Workflow Engine - -**系统架构:** - -``` - Telegram - │ - ▼ - Telegram Bot - │ - ▼ - n8n - (Command Router) - │ - ▼ - OpenClaw Gateway - │ - ▼ - ┌────────┬────────┬────────┐ - ▼ ▼ ▼ ▼ - Router Dev Research Ops - Agent Agent Agent Agent -``` - -**系统功能:** - -| 组件 | 作用 | -|------|------| -| Telegram | 用户交互 | -| n8n | 任务路由 | -| OpenClaw | AI Agent Runtime | -| Agents | 任务执行 | - ---- - -# 2 OpenClaw 基础目录结构 - -**默认路径:** `~/.openclaw/` - -**结构:** - -``` -.openclaw/ -│ -├── agents/ -│ │ -│ ├── main/ -│ │ └── agent/ -│ │ ├── authprofile.json -│ │ └── models.json -│ │ -│ └── research/ -│ └── agent/ -│ ├── authprofile.json -│ └── models.json -│ -└── workspace/ - │ - ├── skills/ - ├── memory/ - ├── identity/ - │ └── Identity.md - ├── logs/ - ├── devices/ - ├── completions/ - └── canvas/ -``` - -**说明:** - -| 目录 | 作用 | -|------|------| -| agents | Agent Profile | -| workspace | 运行数据 | -| skills | 技能插件 | -| memory | AI记忆 | -| identity | System Prompt | -| logs | 日志 | - ---- - -# 3 多 Agent 设计 - -**创建 Agent:** - -```bash -openclaw agent create dev -openclaw agent create research -openclaw agent create ops -openclaw agent create orchestrator -``` - -**推荐 Agent 列表:** - -| Agent | 职责 | -|-------|------| -| orchestrator | 任务调度 | -| dev | 编程 | -| research | 搜索分析 | -| ops | 服务器运维 | -| data | 数据处理 | - -**推荐结构:** - -``` -agents/ -│ -├── orchestrator/ -├── dev/ -├── research/ -├── ops/ -└── data/ -``` - ---- - -# 4 Agent Identity 设计 - -Identity 代表:System Prompt - -**建议放在:** `agents/dev/agent/identity.md` - -**示例:** - -``` -You are DevAgent. - -Responsibilities: -- write code -- debug programs -- generate scripts -- create docker configurations -``` - -**Research Agent:** - -``` -You are ResearchAgent. - -Responsibilities: -- research information -- summarize technical topics -- analyze documents -``` - ---- - -# 5 Skills 机制 - -**Skills 目录:** `workspace/skills` - -**示例:** - -``` -skills/ -├── browser -├── filesystem -├── python -├── telegram -└── self-improving-agent -``` - -**特点:** - -- 所有 Agent 共享 -- 类似插件 - ---- - -# 6 Memory 设计 - -**默认 memory:** `workspace/memory` - -默认共享。 - -**memory 类型:** - -``` -memory/ -├── episodic -├── semantic -└── vector -``` - -**推荐 Memory 分层:** - -``` -memory/ -├── system -├── dev -├── research -└── ops -``` - -这样避免:memory pollution - -**Agent 指定 namespace:** - -```json -{ - "memoryNamespace": "dev" -} -``` - ---- - -# 7 模型配置 - -每个 Agent 独立:`agents//agent/models.json` - -**示例:** - -```json -{ - "default": "gpt-4o-mini", - "models": { - "gpt-4o-mini": { - "provider": "openai", - "model": "gpt-4o-mini" - }, - "deepseek-coder": { - "provider": "openai-compatible", - "base_url": "https://api.deepseek.com/v1", - "model": "deepseek-coder" - } - } -} -``` - -**推荐模型分配:** - -| Agent | Model | -|-------|-------| -| orchestrator | gpt-4o-mini | -| dev | deepseek-coder | -| research | gpt-4o | -| ops | claude-sonnet | - -**优点:** - -- 降低成本 -- 提升能力 - ---- - -# 8 Agent 切换 - -**切换 active agent:** - -```bash -openclaw agent use research -``` - -**行为:** - -``` -current_agent = research -``` - -下一条消息: - -``` -Telegram → research agent -``` - -不需要重启 Gateway。 - ---- - -# 9 Telegram 集成 - -OpenClaw 支持:Telegram Bot - -**结构:** - -``` -Telegram - │ - ▼ -OpenClaw Gateway -``` - -**默认:** 所有消息 → active agent - ---- - -# 10 Telegram 指令体系 - -**推荐命令:** - -``` -/dev -/research -/ops -/data -/help -``` - -**示例:** - -``` -/dev 写一个python脚本 -/research 查一下OpenClaw架构 -/ops restart docker -``` - -在 BotFather 设置:`/setcommands` - -**示例:** - -``` -dev - coding tasks -research - research tasks -ops - server tasks -``` - ---- - -# 11 n8n Command Router - -推荐使用:n8n 进行任务路由。 - -**架构:** - -``` -Telegram - │ - ▼ - n8n - │ - ▼ -OpenClaw -``` - -**Workflow:** - -``` -Telegram Trigger - │ - ▼ -Parse Command - │ - ▼ -Agent Router - │ - ▼ -HTTP → OpenClaw -``` - -**解析示例:** - -```javascript -const msg = $json.message.text - -if(msg.startsWith("/dev")){ - return {agent:"dev"} -} - -if(msg.startsWith("/research")){ - return {agent:"research"} -} -``` - ---- - -# 12 Router Agent - -Router Agent 负责:Task Distribution - -**Prompt 示例:** - -``` -You are a routing agent. - -Rules: -/dev → DevAgent -/research → ResearchAgent -/ops → OpsAgent -``` - ---- - -# 13 推荐系统架构 - -Mac Mini AI Control Center: - -``` -Mac Mini -│ -├─ OpenClaw Gateway -├─ n8n -└─ Telegram Bot - -Agents -│ -├─ orchestrator -├─ dev -├─ research -├─ ops -└─ data -``` - -**数据流:** - -``` -Telegram - ↓ -n8n Router - ↓ -OpenClaw - ↓ - Agents -``` - ---- - -# 14 高级玩法 - -**支持:** - -### 多服务器 Agent - -``` -Mac Mini - orchestrator - -Ubuntu Server - dev agent - -NAS - data agent -``` - -**通信:** - -``` -HTTP -Redis -MQ -``` - ---- - -# 15 最佳实践 - -### 1 Agent 专业化 - -**正确:** - -``` -dev-agent -ops-agent -research-agent -``` - -**错误:** - -``` -python-agent -browser-agent -``` - ---- - -### 2 模型分工 - -不要所有 agent 使用同一个模型。 - -**否则:** - -``` -multi-agent ≈ single-agent -``` - ---- - -### 3 Memory 分层 - -**推荐:** - -``` -memory/ -├── system -├── dev -├── research -└── ops -``` - ---- - -### 4 Router 统一入口 - -**不要:** - -``` -Telegram → 各 agent -``` - -**应该:** - -``` -Telegram → Router → Agents -``` - ---- - -# 16 最终架构总结 - -**最终系统:** - -``` -Telegram - │ - ▼ - n8n Router - │ - ▼ -OpenClaw Gateway - │ - ▼ -┌──────────────┬──────────────┬──────────────┐ - DevAgent ResearchAgent OpsAgent -``` - -**系统特点:** - -- 多 Agent -- 多模型 -- 自动任务分发 -- Telegram 控制 -- 自动化工作流 - ---- - -# 17 未来扩展 - -**未来可扩展:** - -- AI 自动任务 -- 自动服务器运维 -- 自动代码生成 -- 自动数据分析 -- 自动监控告警 - -**目标:** 构建 Personal AI Operations Center - - - - diff --git a/AI/openclaw/OpenClaw-Agent管理指南.md b/AI/openclaw/OpenClaw-Agent管理指南.md deleted file mode 100644 index e5a4da2b..00000000 --- a/AI/openclaw/OpenClaw-Agent管理指南.md +++ /dev/null @@ -1,194 +0,0 @@ -# OpenClaw Agent 管理指南 - -> 创建日期: 2026-03-15 -> 作者: 星曜 - ---- - -## 1. 创建新 Agent - -### 基本命令 - -```bash -openclaw agents add --non-interactive --workspace -``` - -### 参数说明 - -| 参数 | 说明 | -| ------------------- | ----------------- | -| `` | Agent 名称(唯一标识) | -| `--non-interactive` | 跳过交互式提示,自动创建 | -| `--workspace` | 指定 workspace 目录路径 | - -### 示例 - -```bash -# 创建名为 xinghui 的 agent -openclaw agents add xinghui --non-interactive --workspace ~/.openclaw/workspace-agent-xinghui - -# 创建名为 xingyao 的 agent(复制现有workspace) -openclaw agents add xingyao --non-interactive --workspace ~/.openclaw/workspace-agent-xingyao -``` - -### Workspace 路径规范 - -- 格式: `~/.openclaw/workspace-agent-` -- 示例: `~/.openclaw/workspace-agent-xinghui` - ---- - -## 2. 复制 Workspace 到新 Agent - -### 场景 -创建一个与现有 agent(通常是 main)拥有相同内容的 workspace - -### 方法一:rsync 复制(推荐) - -```bash -rsync -av --exclude='.git' /Users/weishen/.openclaw/workspace/ /Users/weishen/.openclaw/workspace-agent-xingyao/ -``` - -### 方法二:软链接共享记忆 - -如果想让多个 agent 共享记忆(MEMORY.md 和 memory/ 目录): - -```bash -# 为新 agent 创建软链接 -ln -sf /Users/weishen/.openclaw/workspace/memory /Users/weishen/.openclaw/workspace-agent-/memory -ln -sf /Users/weishen/.openclaw/workspace/MEMORY.md /Users/weishen/.openclaw/workspace-agent-/MEMORY.md -``` - -**注意**: 共用 workspace 可能导致配置冲突,建议独立 workspace + 软链接共享 memory 目录 - ---- - -## 3. 绑定 Agent 到 Channel - -### 查看当前绑定 - -```bash -openclaw agents bindings -``` - -### 绑定命令 - -```bash -openclaw agents bind --agent --bind : -``` - -### 参数说明 - -| 参数 | 说明 | -| -------------- | ----------------------------------- | -| `` | 要绑定的 agent 名称 | -| `` | 频道类型(telegram, discord, whatsapp 等) | -| `` | 账号 ID(数字形式) | - -### 示例[[How to get Youtube Channel ID]] - -```bash -# 绑定 xinghui 到 Telegram -openclaw agents bind --agent xinghui --bind telegram:5038825565 - -# 绑定 xingyao 到 Telegram -openclaw agents bind --agent xingyao --bind telegram:5038825565 -``` - -### 解绑 - -```bash -# 解绑指定 channel -openclaw agents unbind --bind telegram:5038825565 - -# 解绑指定 agent 的 channel -openclaw agents unbind --agent xinghui --bind telegram:5038825565 -``` - ---- - -## 4. 删除 Agent - -### 命令 - -```bash -openclaw agents delete -``` - -### 示例 - -```bash -# 需要确认 -openclaw agents delete agent-macmini-001 - -# 强制删除(非交互模式) -openclaw agents delete agent-macmini-001 --force -``` - -### 删除效果 -- Workspace 目录移至废纸篓 -- Sessions 目录删除 -- 从配置文件移除 - ---- - -## 5. 查看 Agent 列表 - -```bash -openclaw agents list -``` - -### 输出示例 - -``` -Agents: -- main (default) - Workspace: ~/.openclaw/workspace - Agent dir: ~/.openclaw/agents/main/agent - Model: minimax-portal/MiniMax-M2.5 - Routing rules: 0 - Routing: default (no explicit rules) -- xinghui - Workspace: ~/.openclaw/workspace-agent-xinghui - Agent dir: ~/.openclaw/agents/xinghui/agent - Model: minimax-portal/MiniMax-M2.5 - Routing rules: 0 -``` - ---- - -## 6. Agent 配置说明 - -### 默认模型 -所有新创建的 agent 默认使用: `minimax-portal/MiniMax-M2.5` - -### 配置文件位置 -- 主配置: `~/.openclaw/openclaw.json` -- Agent 状态: `~/.openclaw/agents//agent/` - ---- - -## 7. 常用命令速查 - -| 操作 | 命令 | -|------|------| -| 创建 agent | `openclaw agents add --non-interactive --workspace ~/.openclaw/workspace-agent-` | -| 查看列表 | `openclaw agents list` | -| 查看绑定 | `openclaw agents bindings` | -| 绑定 channel | `openclaw agents bind --agent --bind telegram:` | -| 解绑 channel | `openclaw agents unbind --bind telegram:` | -| 删除 agent | `openclaw agents delete --force` | - ---- - -## 8. 当前已创建的 Agent - -| Agent 名称 | Workspace | 状态 | -|------------|-----------|------| -| main | ~/.openclaw/workspace | 默认 | -| xinghui | ~/.openclaw/workspace-agent-xinghui | 独立(无共享记忆) | -| xingyao | ~/.openclaw/workspace-agent-xingyao | 完整复制 main workspace | - ---- - -*最后更新: 2026-03-15 14:33* diff --git a/openclaw/knowledgebase/FRP 配置详细笔记.md b/openclaw/knowledgebase/FRP 配置详细笔记.md index 1ce46e02..a0f4eafe 100644 --- a/openclaw/knowledgebase/FRP 配置详细笔记.md +++ b/openclaw/knowledgebase/FRP 配置详细笔记.md @@ -231,7 +231,7 @@ remotePort = 15678 ### 基本信息 - **FRP目录**: `/opt/frp/frp_0.65.0_linux_amd64` - **配置文件**: `frpc.toml` -- **运行用户**: root (通过 tmux 管理) +- **运行用户**: root (通过 systemd 管理) ### 代理配置列表 @@ -285,7 +285,7 @@ remotePort = 18889 ### 基本信息 - **FRP目录**: `/opt/frp/frp_0.65.0_linux_amd64` - **配置文件**: `frpc.toml` -- **运行用户**: root +- **运行用户**: root (通过 systemd 管理) ### 代理配置列表 diff --git a/AI/openclaw/GOG-CLI-安装配置指南.md b/openclaw/knowledgebase/GOG-CLI-安装配置指南.md similarity index 70% rename from AI/openclaw/GOG-CLI-安装配置指南.md rename to openclaw/knowledgebase/GOG-CLI-安装配置指南.md index 251f7182..0d2ab341 100644 --- a/AI/openclaw/GOG-CLI-安装配置指南.md +++ b/openclaw/knowledgebase/GOG-CLI-安装配置指南.md @@ -3,14 +3,8 @@ 本文档记录在 macOS 系统上安装和配置 gog CLI 的完整步骤,以便通过命令行管理 Google Workspace(Gmail、Google Calendar、Google Drive、Google Contacts、Google Docs、Google Sheets)。 ## 目录 - -- [前置条件](#前置条件) -- [安装步骤](#安装步骤) -- [配置 OAuth 凭证](#配置-oauth-凭证) -- [解除 Google 安全限制](#解除-google-安全限制) -- [验证配置](#验证配置) -- [常用命令](#常用命令) -- [故障排除](#故障排除) +```table-of-contents +``` --- @@ -54,22 +48,21 @@ which gog ### 2. 移动凭证文件到 gogcli 配置目录 -创建 gogcli 配置目录(如果不存在): +- 创建 gogcli 配置目录(如果不存在): ```bash mkdir -p "/Users/weishen/Library/Application Support/gogcli" ``` -移动下载的凭证文件: +- 移动下载的凭证文件: ```bash mv ~/Downloads/credentials.json "/Users/weishen/Library/Application Support/gogcli/credentials.json" ``` -或者使用命令指定凭证路径: - +- 使用命令指定凭证路径: ```bash -gog auth credentials /path/to/credentials.json +gog auth credentials /Users/weishen/Library/Application\ Support/gogcli/credentials.json ``` --- @@ -86,11 +79,12 @@ gog auth credentials /path/to/credentials.json ### 解决方法:添加测试用户 1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials) -2. 找到你创建的 OAuth 客户端ID,点击进入详情 -3. 找到 **「测试用户」** 部分 -4. 点击 **「添加用户」** -5. 输入你的 Google 邮箱:`ishenwei@gmail.com` -6. 保存 +2. 找到你创建的 OAuth 客户端ID的项目,点击进入详情 +3. 找到 **「目标对象」** +4. 找到 **「测试用户」** 部分 +5. 点击 **「添加用户」** +6. 输入你的 Google 邮箱:`ishenwei@gmail.com` +7. 保存 添加测试用户后,重新运行授权命令即可: @@ -102,6 +96,55 @@ gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sh --- +## 启用Google API 服务(以 Gmail API 为例) + +### 1. 核心原理 + +Google API 调用需要满足两层条件: + +| 层级 | 控制内容 | +| -------------- | ---------- | +| OAuth | 用户身份 | +| API Enablement | 是否允许调用 API | +👉 即使 OAuth 成功,如果 API 未启用: + +也会报错: +403 accessNotConfigured + +### 2. 典型错误示例 + +Gmail API has not been used in project XXX + +👉 表示: + +该 Project 未启用 Gmail API + +### 3. 操作步骤 + +#### Step 1:进入 API 页面 + +Google Cloud Console +→ APIs & Services +→ Library +#### Step 2:搜索 API + +例如: +Gmail API +#### Step 3:启用 + +Enable +#### Step 4:等待生效 + +30 秒 ~ 2 分钟(有延迟) +#### Step 5:重新授权(关键) + +gog auth revoke +gog auth login + +👉 原因: +旧 token 不包含新权限 + +--- ## 验证配置 ### 1. 查看已授权的账号 @@ -110,12 +153,24 @@ gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sh gog auth list ``` +- 正确结果 +``` +weishen@WeideMac-mini ~ % gog auth list +ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth +``` + ### 2. 测试 Gmail ```bash gog gmail search "newer_than:1d" --max 5 ``` +- 正确结果: +``` +weishen@WeideMac-mini ~ % gog auth list +ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth +``` + ### 3. 测试 Calendar ```bash @@ -193,10 +248,18 @@ gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sh ### 设置默认账号 避免每次重复指定账号: - +``` +cd ~ +nano .zshrc +``` +在.zshrc中添加以下设定 ```bash export GOG_ACCOUNT=ishenwei@gmail.com ``` +保存生效 +``` +source ~/.zshrc +``` --- diff --git a/AI/openclaw/Ubuntu 下 OpenClaw 安装与管理指南.md b/openclaw/knowledgebase/Ubuntu 下 OpenClaw 安装与管理指南.md similarity index 100% rename from AI/openclaw/Ubuntu 下 OpenClaw 安装与管理指南.md rename to openclaw/knowledgebase/Ubuntu 下 OpenClaw 安装与管理指南.md