openlark-naming
10
总安装量
9
周安装量
#29946
全站排名
安装命令
npx skills add https://github.com/foxzool/open-lark --skill openlark-naming
Agent 安装分布
opencode
9
gemini-cli
9
claude-code
9
github-copilot
9
codex
9
kimi-cli
9
Skill 文档
OpenLark å½åè§èï¼Client / Service / Resource / Request / Builderï¼
ð§ æè½è·¯ç±æå
æ¬æè½éç¨åºæ¯ï¼
- ä½ å¨è®¾è®¡/è°æ´å¯¹å¤å
¬å¼ç±»ååï¼
pub struct/pub type/ re-export / preludeï¼ - ä½ å¨è®¾è®¡
client.xxx.v1.yyy.zzzè¿ç±» meta è°ç¨é¾ - ä½ åç°
*Serviceååãè¯ä¹æ··ä¹±ãè°ç¨æ¹å¼ä¸ä¸è´ï¼æ³ç³»ç»æ§æ¶æ
å ¶ä»æè½ï¼
- 项ç®çº§è§è使£ï¼æ¶æ/API/导åº/æ ¡éªä¸ä½ï¼â
Skill(openlark-code-standards) - 设计审æ¥ï¼æ´å¹¿ï¼â
Skill(openlark-design-review) - æ°å¢/éæå个 APIï¼è½ç/端ç¹/Builder 模æ¿ï¼â
Skill(openlark-api)
å ³é®è¯è§¦åæ å°
- å½åè§èãClient vs ServiceãResourceãéå½åãmeta è°ç¨é¾ãå
¬å¼ API â
openlark-naming - 代ç è§èãè§èæ£æ¥ã飿 ¼ä¸è´æ§ã使£ â
openlark-code-standards - æ¶æè®¾è®¡ãpublic APIãæ¶ææ¹æ¡ãfeature gatingãå
¼å®¹çç¥ â
openlark-design-review - æ°å¢ APIãéæ APIãBuilderãRequest/Responseãmod.rs å¯¼åº â
openlark-api - validateãå¿
å¡«æ ¡éªãvalidate_requiredã空ç½åç¬¦ä¸²ãæ ¡éªèå â
openlark-validation-style
åå跳转è§å
- è¥å½åé®é¢å·²æ©å±ä¸ºå
¥å£/è弿¶æé®é¢ï¼è½¬
openlark-design-reviewã - è¥å½åè°æ´æ¶åå
·ä½ API æä»¶å®ç°ä¸å¯¼åºè¡¥é½ï¼è½¬
openlark-apiã - è¥éè¦å
确认å
¨ä»è§ååºçº¿ï¼ååå½åè°æ´ï¼å
è·
openlark-code-standardsã
0) å¿«éå³çï¼å éç±»åèè´£ï¼åå½åï¼å¿ é¡»ï¼
- é¡¶å±å
¥å£/é¨é¢ï¼é¢åç¨æ·ï¼ï¼ææ
Configï¼æArc<Config>ï¼ï¼ç»ç»è°ç¨é¾ä¸éä¼ é ç½® â*Client - ä¸å¡è½åéåï¼å¯æ§è¡ï¼ï¼å¯¹å¤æ´é²ä¸ç» APIï¼æ¿æ¥/å®ç°éç¨ traitï¼å¦
ServiceãExecutableBuilderï¼â*Service - èµæºèç¹/å½å空é´ï¼åªç»ç»å±çº§ï¼ï¼å¤å¨ meta è°ç¨é¾çä¸é´å±ï¼ä¸»è¦ååæ®µåç»ä¸ config éä¼ â
*Resource - çæ¬å±å¯¹è±¡ï¼å¿
é¡»æçæ¬åè¿ç±»åå â
*V1Service/*V2Serviceï¼æ*V1Clientè§èè´£èå®ï¼ - å endpoint 请æ±ç±»åï¼
*Requestæ*RequestBuilderï¼åä¸ crate/æ¨¡åæ äºéä¸å¹¶ä¿æä¸è´ï¼
约æï¼ä¸è¦ç¨
*Serviceå»å½åâä» åå±çº§ç»ç»/éä¼ config çèç¹âã
1) *Client å½åè§å
- è¯ä¹ï¼å ¥å£ / é¨é¢ / ç»åæ ¹ï¼ç±»ååè¦è®©è¯»è ç¥éâä»è¿éå¼å§è°ç¨âã
- å
¸åç»æï¼
- ææ
Arc<Config> - æ´é²
pub xxx: XxxResource/pub v1: XxxV1Clientä¹ç±»åæ®µé¾ - å¾å°ç´æ¥å®ç°ä¸å¡æ¹æ³ï¼é¤éè§æ¨¡å¾å°ä¸è½ä¿æä¸è´ï¼
- ææ
- 建议æ¾ç½®ï¼
common/chain.rsï¼é¿å 被 API å®ç°æ ¡éªèæ¬å½æ endpoint å®ç°æä»¶ï¼
2) *Service å½åè§å
- è¯ä¹ï¼è½åè½½ä½ï¼éè¦è½åçâè¿ä¸ªç±»åéæä¾äºä¸ç»å¯æ§è¡ API/æä½âã
- è¥å¼å
¥éç¨ traitï¼ä¾å¦
openlark_core::trait_system::Service/ExecutableBuilderï¼ï¼ä¼å å¨*Service屿¿æ¥ï¼ä¿è¯å¯è§æµæ§ï¼service_name/versionï¼ä¸è´ã
3) çæ¬å±å½åï¼å¼ºå¶ï¼é¿å ååç¾é¾ï¼
- çæ¬å¯¹è±¡å¿
é¡»æ¾å¼ï¼
DriveV1ServiceãDocsV2Service - ç¦æ¢ï¼å¤å±
DocsServiceï¼å å±v1::DocsServiceä¹å«DocsService- ä¼å¯¼è´
useæ§ä¹ãre-export å²çªãææ¡£ç¤ºä¾é¾ä»¥åæ¸
- ä¼å¯¼è´
4) *Resource å½åè§åï¼meta è°ç¨é¾ä¸é´å±ï¼
- è¯ä¹ï¼èµæºèç¹/å½å空é´ï¼ä¸»è¦èè´£æ¯ç»ç»å±çº§ä¸éä¼ config
- åèï¼æ£ä¾ï¼ï¼
openlark-cardkitçCardResource/CardElementResource - åä¾ï¼æææä¸é´å±é½å«
*Serviceï¼æç»åæâååæ³æ»¥ + 读è ä¸ç¥éåªéè½ executeâ
5) *Request vs *RequestBuilderï¼é£æ ¼ç»ä¸ï¼ç¦æ¢æ··ç¨ï¼
å¨åä¸ä¸ª crateï¼è³å°åä¸ä¸å¡åç®å½æ ï¼éäºéä¸ï¼
A. Builder 飿 ¼ï¼æ¨èï¼å¯ç»ä¸ execute_with_optionsï¼
XxxRequestBuilderï¼è´è´£åæ°æ¶éä¸æå»ºexecute(&XxxService)/execute_with_options(&XxxService, ...)ï¼ç»ä¸æ§è¡å ¥å£
B. Self-contained Request 飿 ¼ï¼å¯è¡ä½è¦å ¨å±ä¸è´ï¼
XxxRequest::new(config)ï¼è¯·æ±å¯¹è±¡ææConfig.execute()/.execute_with_options(option)ï¼æ éä¼ service
ç¦æ¢ï¼åä¸å±çº§éä¸é¨å API éè¦
execute(&service)ï¼å¦ä¸é¨åæ¯.new(config).execute()ï¼ä¼æ¾èå¢å 使ç¨å¿æºä¸å°è£ ææ¬ã
6) ååå¿ é¡»ä¸è·¯å¾/模åè¯ä¹ä¸è´ï¼é¿å âè·¯å¾-ååâéé ï¼
- 模åå«
docï¼ç±»åä¸è¦å«DocsService - 模åå«
permissionï¼ç±»åä¸è¦å«DriveService - ç±»åååºè½è®©è¯»è å¤§è´æ¨æå®å¨åªä¸ª bizTag/project/version/resource ä¸ï¼è³å°ä¸ä¼âæåé误模åâï¼
7) openlark-docs çå ¸ååä¾ï¼ç¨äºè§¦åéå½åï¼
7.1 å¤å¤ DocsService ååä½è¯ä¹ä¸å
crates/openlark-docs/src/ccm/docs/mod.rs:8ï¼ccm::docsçæå¡å ¥å£ä¹å«DocsServicecrates/openlark-docs/src/ccm/docs/v1/mod.rs:25ï¼ccm::docs::v1ççæ¬æå¡ä¹å«DocsServicecrates/openlark-docs/src/ccm/doc/mod.rs:65ï¼æ¨¡åå«docï¼ä½ç±»åä¾ç¶å«DocsServiceï¼è¯ä¹éé ï¼
7.2 æ¨èçâç«å³å¯è½å°âæ¹å模æ¿ï¼ä¸èèå ¼å®¹ï¼
- çæ¬å±æ¾å¼åï¼
ccm::docs::v1::DocsServiceâDocsV1Service
- 模ååä¸ç±»åå对é½ï¼å°¤å
¶æ¯
doc/docsè¿ç§é«é£é©è¯ï¼ï¼ccm::doc::DocsServiceâDocServiceï¼å¦æ¯æ§ç APIï¼å¯ç¨LegacyDocServiceï¼
8) æ¹å review æ¸ åï¼æäº¤åéæ¡è¿ä¸éï¼
- ç®å½/模åè·¯å¾æ¯å¦è½ä»ç±»å忍æï¼è³å°å° bizTag/project/version/resourceï¼
prelude/re-export æ¯å¦å¼å ¥ååå²çªï¼å°¤å ¶æ¯DocsServiceè¿ç§æ³åï¼*Client/*Service/*Resourceçèè´£æ¯å¦æ¸ æ°ï¼è°ç¨æ¹å¼æ¯å¦ä¸è´- çæ¬å±æ¯å¦ç»ä¸éç¨
*V{N}Serviceï¼æ*V{N}Clientï¼ï¼é¿å éå¤*Service