契约锁 Skill
把契约锁开放平台文档整理成 Agent 能照着写代码的手册,覆盖请求签名、合同草稿与文档、签署与撤回作废、印章与认证、回调和错误码。标出了凭别家电子签经验容易写错的地方,并用无凭证探测核对了鉴权报错。
安装
选你用的 Agent,复制命令。
npx -y skills add fxp/skillify --skill qiyuesuo --agent claude-code --yes装到项目的 .claude/skills/;加 -g 装到全局。装完需要你手动执行 /reload-plugins,这一步 Agent 代劳不了。
npx -y skills add fxp/skillify --skill qiyuesuo --agent codex --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent cursor --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent opencode --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent gemini-cli --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent github-copilot --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent trae --yes装到项目的 .trae/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent windsurf --yes装到项目的 .windsurf/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill qiyuesuo --agent qwen-code --yes把 --agent 换成你用的 Agent 标识,可以一次写多个。skills CLI 1.5.25 共支持 79 个,例如 qwen-code、kimi-code-cli、trae-cn、qoder、lingma、cline、roo。
或者让 Agent 自己装
读 https://github.com/fxp/skillify/blob/main/skills/qiyuesuo/prompt.md 并照它执行装对了的标志:references/ 下有 6 份文档,里面 grep '<!-- Gap:' 能搜到 2 处。
装好后,可以这样问你的 Agent
这份 Skill 覆盖的典型任务。点一下复制。
6 类能力
每类能力对应一份 reference,Agent 按任务只打开需要的那份。
鉴权与请求签名
环境与域名、四个签名头、MD5 签名、Python / curl 封装、SDK、响应结构
合同草稿与文档
业务分类与代码配置两条路径、创建草稿、上传文件 / 模板生成文档、发起、详情、列表、下载
签署流程
签署顺序与签署位置、公章 / 法人章 / 审批静默签、签署页面链接、催签、撤回与作废
印章与认证
印章查询、自动生成与图片印章、印章状态,企业认证与个人认证链接及结果查询
回调与验签
合同状态回调、重试与幂等、加密回调解密、认证 / 印章 / 授权回调、回调地址配置
错误码与限制
探测到的鉴权错误、4 位与 8 位两套响应码、常见报错排查、频次锁定与链接有效期
当前事实
整理自官方文档(抓取于 2026-09-11),还没有用真实凭证验证。
| 项 | 值 |
|---|---|
| Base URL | 测试 https://openapi.qiyuesuo.cn;正式 https://openapi.qiyuesuo.com |
| 鉴权头 | x-qys-open-accesstoken、-timestamp(毫秒)、-nonce、-signature |
| 签名 | md5(AppToken + AppSecret + timestamp + nonce),不签 body,没有换 token 接口 |
| 成功判定 | code == 0 或 responseCode == "00000000";鉴权失败是 HTTP 441 / 442 |
| 签署位置 | 0–1 相对坐标,原点在页面左下角;公司位置绑 actionId,个人位置绑 signatoryId |
照通用经验写容易错的 6 件事
来自官方文档,还没有用真实凭证验证。
- 签名是四段拼接的 MD5。不是 HMAC,也不覆盖 URL 和 body;接口页示例大多漏了 nonce 头,按协议页四个头都发。
- 合同要草稿、加文档、发起三步。只有草稿能加文档,上传文件接口是 multipart,不是 JSON。
- 业务分类会覆盖参数。预设签署方时,传入的签署方数量、类型、顺序必须与云平台配置完全一致。
- 接口只能替自己公司签。公章、法人章、审批可以静默签;经办人签字和所有接收方都要走签署页面链接。
- 撤回、删除、作废是同一个接口。
/v2/contract/invalid按当前状态决定,已完成合同要所有方签作废文件才生效。 - 回调是表单 POST,失败会再推 7 次。处理要幂等;合同回调的类型枚举和验签文档都没写,回查合同详情为准。
无凭证探测
- 测试
openapi.qiyuesuo.cn与正式openapi.qiyuesuo.com都在线,鉴权失败返回 JSON - 伪造 token 返回 HTTP 442 +
{"message":"INVALID TOKEN","code":442,"responseCode":"11990442"} - 不带鉴权头返回 HTTP 441 +
HEADER REQUIRED,x-qys-open-accesstoken;441 / 442 都不在文档的错误码表里 - 错误响应同时带
code与responseCode,而文档各页只写其中一个 - token 校验先于路由:不存在的路径也返回 442 INVALID TOKEN