Skip to content

kevin-hsin/WediskAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

企业微信微盘AI Agent

基于YAML配置文件自动创建企业微信微盘目录结构的智能代理系统。

🎯 核心理念

"配置即文档,YAML驱动一切"

只需编写一个YAML配置文件,AI Agent就能自动完成:

  • ✅ 创建微盘空间
  • ✅ 构建完整的目录结构(支持多层嵌套)
  • ✅ 配置访问权限
  • ✅ 生成执行报告

📦 文件结构

.
├── WediskAgent.java              # AI Agent核心代码
├── pom_agent.xml                 # Maven配置文件
├── project-config.yaml           # 完整项目配置示例(银行交易系统)
├── simple-config.yaml            # 简单项目配置示例(电商平台)
├── ai-project-config.yaml        # AI项目配置示例(智能客服)
└── AGENT_README.md              # 本文档

🚀 快速开始

1. 编译打包

# 重命名pom文件
mv pom_agent.xml pom.xml

# 编译打包
mvn clean package

# 生成的可执行jar文件
# target/wedisk-agent.jar

2. 配置环境变量(推荐)

# Linux/Mac
export WEWORK_CORP_ID="your_corp_id"
export WEWORK_CORP_SECRET="your_corp_secret"

# Windows
set WEWORK_CORP_ID=your_corp_id
set WEWORK_CORP_SECRET=your_corp_secret

3. 编辑YAML配置文件

# my-project.yaml
project_name: "我的新项目"
space_name: "项目文档空间"
creator: "ZhangSan"
description: "项目描述"

structure:
  需求文档:
    - 需求规格说明书
    - 用户故事
  
  设计文档:
    - 架构设计
    - 数据库设计

permissions:
  - user_id: "LiSi"
    auth_type: 3  # 3=可管理

4. 运行Agent

# 方式1:使用环境变量
java -jar target/wedisk-agent.jar --config my-project.yaml

# 方式2:使用命令行参数
java -jar target/wedisk-agent.jar \
  --config my-project.yaml \
  --corpid your_corp_id \
  --secret your_corp_secret

# 方式3:使用Maven运行(开发阶段)
mvn exec:java -Dexec.mainClass="WediskAgent" -Dexec.args="--config my-project.yaml"

5. 查看执行结果

运行完成后会生成执行报告:

wedisk_report_20260105_143022.md

📝 YAML配置文件说明

基本结构

# 项目基本信息
project_name: "项目名称"           # 必填:项目名称
space_name: "微盘空间名称"         # 必填:微盘空间名称
creator: "ZhangSan"               # 必填:创建者userid
description: "项目描述"           # 可选:项目描述

# 目录结构
structure:
  # 第一级目录
  目录名1:
    # 第二级目录(可以是列表)
    - 子目录1
    - 子目录2
  
  # 第一级目录(支持深层嵌套)
  目录名2:
    子目录A:
      - 三级目录1
      - 三级目录2
    子目录B:
      孙目录X:
        - 四级目录1
        - 四级目录2

# 权限配置
permissions:
  - user_id: "用户ID"
    auth_type: 1  # 1=可查看, 2=可编辑, 3=可管理

目录结构定义规则

规则1:列表形式(同级多个文件夹)

structure:
  技术文档:
    - 前端开发      # 创建:技术文档/前端开发
    - 后端开发      # 创建:技术文档/后端开发
    - 数据库设计    # 创建:技术文档/数据库设计

规则2:嵌套形式(多层级目录)

structure:
  项目管理:
    需求文档:
      - 需求规格说明书    # 创建:项目管理/需求文档/需求规格说明书
      - 用户故事          # 创建:项目管理/需求文档/用户故事

规则3:混合形式

structure:
  开发文档:
    前端:
      React项目:
        - 组件库         # 创建:开发文档/前端/React项目/组件库
        - 路由配置       # 创建:开发文档/前端/React项目/路由配置
    后端:
      - Java服务       # 创建:开发文档/后端/Java服务
      - Python服务     # 创建:开发文档/后端/Python服务

📋 配置模板

模板1:软件开发项目

project_name: "XX管理系统"
space_name: "XX管理系统文档"
creator: "ZhangSan"
description: "企业管理系统研发文档"

structure:
  需求分析:
    - 业务需求
    - 功能需求
    - 非功能需求
  
  系统设计:
    - 架构设计
    - 数据库设计
    - 接口设计
  
  开发文档:
    - 前端开发
    - 后端开发
    - 数据库脚本
  
  测试文档:
    - 测试用例
    - 测试报告
  
  部署文档:
    - 部署手册
    - 运维文档

permissions:
  - user_id: "ProjectManager"
    auth_type: 3
  - user_id: "Developer1"
    auth_type: 2
  - user_id: "Tester1"
    auth_type: 2

模板2:数据分析项目

project_name: "客户行为分析项目"
space_name: "客户行为分析"
creator: "ZhangSan"
description: "基于大数据的客户行为分析项目"

structure:
  数据采集:
    - 数据源文档
    - 采集脚本
    - 采集日志
  
  数据处理:
    - 清洗规则
    - 处理脚本
    - 质量报告
  
  数据分析:
    - 分析模型
    - 分析报告
    - 可视化图表
  
  成果交付:
    - 分析报告
    - 可视化大屏
    - 建议方案

permissions:
  - user_id: "DataLead"
    auth_type: 3
  - user_id: "DataAnalyst"
    auth_type: 2

模板3:产品运营项目

project_name: "APP运营推广"
space_name: "APP运营文档"
creator: "ZhangSan"
description: "移动应用运营推广文档管理"

structure:
  产品规划:
    - 产品路线图
    - 版本规划
    - 竞品分析
  
  运营活动:
    活动策划:
      - 活动方案
      - 活动预算
      - 活动复盘
    内容运营:
      - 内容日历
      - 文案素材
      - 效果数据
  
  用户运营:
    - 用户画像
    - 用户调研
    - 用户反馈
  
  数据分析:
    - 日报周报
    - 数据大盘
    - 分析报告

permissions:
  - user_id: "ProductManager"
    auth_type: 3
  - user_id: "OperationManager"
    auth_type: 2
  - user_id: "ContentEditor"
    auth_type: 2

🎨 使用场景

场景1:新项目启动

当有新项目需要启动时:

  1. 复制模板文件
cp project-config.yaml new-project.yaml
  1. 修改配置
vim new-project.yaml
# 修改项目名称、创建者、目录结构等
  1. 执行创建
java -jar wedisk-agent.jar --config new-project.yaml
  1. 检查报告
cat wedisk_report_*.md

场景2:团队协作

团队负责人

  1. 设计目录结构,编写YAML配置
  2. 配置团队成员权限
  3. 提交到Git仓库

团队成员

  1. 从Git拉取最新配置
  2. 运行Agent创建微盘空间
  3. 开始文档协作

场景3:批量创建多个项目

#!/bin/bash
# 批量创建脚本

for config in configs/*.yaml; do
  echo "创建项目: $config"
  java -jar wedisk-agent.jar --config "$config"
  sleep 2  # 避免API频率限制
done

场景4:CI/CD集成

在GitLab CI / Jenkins中集成:

# .gitlab-ci.yml
create-wedisk-space:
  stage: init
  script:
    - java -jar wedisk-agent.jar --config project-config.yaml
  only:
    - main

📊 执行报告示例

Agent执行完成后会生成Markdown格式的报告:

# 微盘空间创建报告

## 项目信息

- **项目名称**: 银行交易系统项目
- **空间名称**: 银行交易系统文档空间
- **创建者**: ZhangSan
- **创建时间**: Mon Jan 05 14:30:22 CST 2026

## 执行结果

- **状态**: ✅ 成功
- **空间ID**: `space_abc123xyz`
- **创建文件夹数**: 45
- **设置权限数**: 6
- **执行耗时**: 12.5 秒

## 目录结构

├─ 项目管理 ├─ 项目计划 ├─ 项目章程 ├─ 项目进度表 ├─ 需求文档 ├─ 需求规格说明书 ...


## 文件夹ID映射

| 路径 | File ID |
|------|---------|
| 项目管理 | `file_123` |
| 项目管理/项目计划 | `file_124` |
...

🔧 高级功能

1. 环境变量配置

支持的环境变量:

  • WEWORK_CORP_ID: 企业ID
  • WEWORK_CORP_SECRET: 应用Secret

2. 命令行参数

--config <file>      # YAML配置文件路径(必填)
--corpid <id>        # 企业ID(可选,优先级高于环境变量)
--secret <secret>    # 应用Secret(可选)

3. 错误处理

Agent具有完善的错误处理机制:

  • ✅ API调用失败自动重试
  • ✅ 详细的错误日志
  • ✅ 执行报告包含错误信息
  • ✅ 非零退出码表示失败

4. 性能优化

  • ✅ 批量创建时添加延迟避免API限流
  • ✅ Token自动缓存
  • ✅ 支持并发执行多个配置文件

🐛 常见问题

Q1: YAML文件格式错误

错误信息

Exception in thread "main" ... YAMLException

解决方案

  • 检查YAML缩进(使用2个空格,不要用Tab)
  • 确保冒号后有空格
  • 使用在线YAML验证工具检查

Q2: 找不到配置文件

错误信息

FileNotFoundException: project-config.yaml

解决方案

  • 检查文件路径是否正确
  • 使用绝对路径:--config /full/path/to/config.yaml

Q3: access_token获取失败

错误信息

获取access_token失败: errcode=40001

解决方案

  • 检查 CorpID 和 Secret 是否正确
  • 确认应用具有微盘API权限
  • 检查网络连接

Q4: 创建目录失败

错误信息

API调用失败: errcode=93003

解决方案

  • 检查用户是否在企业通讯录中
  • 确认用户有创建微盘空间的权限
  • 检查微盘存储空间是否已满

Q5: 权限设置失败

错误信息

添加空间权限失败: errcode=60011

解决方案

  • 确认permissions中的user_id在通讯录中存在
  • 检查userid格式是否正确

💡 最佳实践

1. 版本控制

将YAML配置文件纳入Git管理:

git add project-config.yaml
git commit -m "Add wedisk space configuration"
git push

2. 配置分离

不同环境使用不同配置:

configs/
├── dev-config.yaml      # 开发环境
├── test-config.yaml     # 测试环境
└── prod-config.yaml     # 生产环境

3. 模板复用

建立配置模板库:

templates/
├── backend-project.yaml     # 后端项目模板
├── frontend-project.yaml    # 前端项目模板
├── data-analysis.yaml       # 数据分析模板
└── ai-project.yaml          # AI项目模板

4. 权限管理

按角色配置权限:

permissions:
  # 管理层
  - user_id: "CEO"
    auth_type: 3
  
  # 核心团队
  - user_id: "TeamLead"
    auth_type: 3
  
  # 开发团队
  - user_id: "Developer1"
    auth_type: 2
  - user_id: "Developer2"
    auth_type: 2
  
  # 相关方(只读)
  - user_id: "Stakeholder"
    auth_type: 1

5. 文档规范

在YAML中添加注释说明:

# 项目基本信息
project_name: "银行交易系统"  # 项目编号:PROJ-2026-001
space_name: "银行交易系统文档"
creator: "ZhangSan"            # 项目经理

# 目录结构说明:
# - 第一级按项目阶段划分
# - 第二级按文档类型划分
# - 第三级按具体内容划分
structure:
  # ... 结构定义

🎯 对比传统方式

对比项 传统手工方式 AI Agent方式
创建时间 30-60分钟 10-20秒
出错概率 较高(遗漏、重复) 极低(自动化执行)
可复用性 低(每次手工) 高(YAML复用)
可追溯性 无记录 完整报告
团队协作 难以同步 Git版本控制
批量操作 不现实 支持
标准化 难以统一 完全标准化

🚀 扩展建议

1. 增强功能

  • 支持文件上传
  • 支持目录克隆
  • 支持增量更新(只创建新增目录)
  • 支持目录删除和重命名
  • 支持从现有空间导出YAML

2. 集成方案

  • 集成到企业DevOps平台
  • 提供Web UI界面
  • 开发VS Code插件
  • 提供RestAPI接口

3. 智能化

  • 根据项目类型自动生成目录结构
  • 基于AI推荐最佳实践
  • 自动识别重复或冗余目录

📞 技术支持


📄 许可证

MIT License


🌟 总结

通过企业微信微盘AI Agent,您可以:

  1. 10秒创建 - 完整的项目文档空间
  2. 零出错率 - 自动化执行,避免人为失误
  3. 可复用 - YAML配置可在团队间共享
  4. 可追溯 - 完整的执行报告
  5. 标准化 - 统一的目录结构规范

让文档管理回归本质,把时间花在创造价值上!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors