name: eoffice-api description: 泛微 e-office 協同辦公系統 OpenAPI - 使用者管理、部門管理、審批流程、考勤等企業級 API version: 1.0.0 homepage: https://github.com/yourname/eoffice-skill metadata: emoji: "🏢" requires: env: - EOFFICE_BASE_URL - EOFFICE_AGENT_ID - EOFFICE_SECRET - EOFFICE_USER primaryEnv: EOFFICE_SECRET
當用戶提到以下場景時使用此 skill: - 查詢/搜尋企業內部使用者資訊 - 新建/編輯/刪除使用者賬號 - 查詢部門組織架構 - 發起或審批工作流程 - 查詢考勤記錄 - 傳送內部通知訊息 - 管理客戶或合同資訊 - 任何需要操作 OA 系統的任務
本 skill 使用自定義 token 流程,與 OAuth2 類似但更簡單:
獲取 Token(呼叫 scripts/get-token.py)
bash
python scripts/get-token.py
這會向 OA 系統傳送請求,用環境變數中的 EOFFICE_AGENT_ID、EOFFICE_SECRET、EOFFICE_USER 換取訪問 token。
Token 自動管理
安裝 skill 後,使用者需要提供以下環境變數(在 OpenClaw 配置中設定):
| 環境變數 | 必填 | 說明 | 示例 |
|---|---|---|---|
EOFFICE_BASE_URL |
是 | OA 系統部署地址 | https://oa.example.com/server |
EOFFICE_AGENT_ID |
是 | 應用 Agent ID | 100001 |
EOFFICE_SECRET |
是 | 應用金鑰 | abc123def456... |
EOFFICE_USER |
是 | 使用者標識(工號/賬號/手機號) | admin 或 18612345678 |
如何獲取憑證:
1. 登入 OA 系統管理後臺
2. 進入「整合中心」→「OpenAPI」
3. 建立應用,獲取 Agent ID 和 Secret
4. 配置使用者識別字段(工號/賬號/手機號)
5. 將使用者賬號填入 EOFFICE_USER
curl -X GET "$EOFFICE_BASE_URL/api/hrm/lists" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"page": 1, "limit": 10}'
curl -X GET "$EOFFICE_BASE_URL/api/hrm/detail/{user_id}" \
-H "Authorization: Bearer {token}"
curl -X POST "$EOFFICE_BASE_URL/api/hrm/add" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"user_accounts": "zhangsan",
"user_name": "張三",
"dept_id": 1,
"role_id": [1, 2],
"user_status": 1,
"allow_login": 1,
"wap_allow": 1,
"sex": 1
}'
curl -X POST "$EOFFICE_BASE_URL/api/hrm/edit" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"user_id": "WV00000001",
"user_accounts": "zhangsan",
"user_name": "張三(已修改)",
"dept_id": 2,
"role_id": [1],
"user_status": 1,
"allow_login": 1,
"wap_allow": 1,
"sex": 1
}'
curl -X POST "$EOFFICE_BASE_URL/api/hrm/delete/{user_id}" \
-H "Authorization: Bearer {token}"
curl -X GET "$EOFFICE_BASE_URL/api/department/allTree" \
-H "Authorization: Bearer {token}"
curl -X GET "$EOFFICE_BASE_URL/api/department/detail/{dept_id}" \
-H "Authorization: Bearer {token}"
GET /api/hrm/lists
Body: {"search": {"user_name": ["張", "like"]}}
GET /api/department/users/{dept_id}
GET /api/hrm/superior/{user_id}
GET /api/hrm/subordinate/{user_id}
所有 API 返回格式統一:
成功:
{
"status": 1,
"data": { ... }
}
失敗:
{
"status": 0,
"errors": [
{"code": "0x000003", "message": "未知錯誤"}
]
}
| 錯誤碼 | 說明 |
|---|---|
0x000003 |
未知錯誤 |
0x500001 |
引數缺失 |
0x500002 |
應用不存在 |
0x500003 |
Token 無效或已過期 |
0x500004 |
語言環境無效 |
0x500005 |
使用者不存在 |
0x500006 |
使用者不在白名單內 |
0x500007 |
無賬號人員不支援生成 Token |
user_status 欄位標識使用者是否在職,離職使用者通常 user_status 為特定值發現更多技能外掛,請訪問7w4.net。
dept_id,可先呼叫部門列表 API 查詢role_id 是陣列,指定使用者的許可權角色詳見 references/api.md
這個 Skill 質量中等偏上。優點是文件詳細、安裝配置說明清晰、能幫助使用者完成 e-office 的基本操作如使用者管理、部門查詢等。不足之處是缺少實際使用案例和常見問題解答,新手可能難以快速上手;部分示例程式碼不夠完整,需要自己摸索。建議等待後續版本更新後再使用,或在有一定技術背景的人員指導下部署。