You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
4.7 KiB

11 months ago
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "title": "AnythingLLM Agent Skill Plugin Manifest Schema",
  4. "type": "object",
  5. "properties": {
  6. "active": {
  7. "type": "boolean",
  8. "description": "Determines if the custom agent skill is active."
  9. },
  10. "hubId": {
  11. "type": "string",
  12. "description": "Used to identify the custom agent skill. Must be the same as the parent folder name."
  13. },
  14. "name": {
  15. "type": "string",
  16. "description": "The human-readable name of the skill displayed in the AnythingLLM UI."
  17. },
  18. "schema": {
  19. "type": "string",
  20. "enum": ["skill-1.0.0"],
  21. "description": "Must be 'skill-1.0.0'. May be updated on manifest spec changes."
  22. },
  23. "version": {
  24. "type": "string",
  25. "description": "Version of the custom agent skill, defined by the user."
  26. },
  27. "description": {
  28. "type": "string",
  29. "description": "Short description of the custom agent skill."
  30. },
  31. "author": {
  32. "type": "string",
  33. "description": "Author tag of the custom agent skill."
  34. },
  35. "author_url": {
  36. "type": "string",
  37. "format": "uri",
  38. "description": "URL of the author of the custom agent skill."
  39. },
  40. "license": {
  41. "type": "string",
  42. "description": "License of the custom agent skill."
  43. },
  44. "setup_args": {
  45. "type": "object",
  46. "additionalProperties": {
  47. "type": "object",
  48. "properties": {
  49. "type": {
  50. "type": "string",
  51. "description": "Type of value expected."
  52. },
  53. "required": {
  54. "type": "boolean",
  55. "description": "Indicates if the argument is required."
  56. },
  57. "input": {
  58. "type": "object",
  59. "properties": {
  60. "type": {
  61. "type": "string",
  62. "description": "Type of input to be rendered."
  63. },
  64. "default": {
  65. "type": "string",
  66. "description": "Default value of the input."
  67. },
  68. "placeholder": {
  69. "type": "string",
  70. "description": "Placeholder text for the input."
  71. },
  72. "hint": {
  73. "type": "string",
  74. "description": "Hint text for the input."
  75. }
  76. },
  77. "required": ["type"],
  78. "additionalProperties": false
  79. },
  80. "value": {
  81. "type": "string",
  82. "description": "Preset value of the argument."
  83. }
  84. },
  85. "required": ["type"],
  86. "additionalProperties": false
  87. },
  88. "description": "Setup arguments used to configure the custom agent skill from the UI and make runtime arguments accessible in the handler.js file when the skill is called."
  89. },
  90. "examples": {
  91. "type": "array",
  92. "items": {
  93. "type": "object",
  94. "properties": {
  95. "prompt": {
  96. "type": "string",
  97. "description": "Example prompt for the custom agent skill."
  98. },
  99. "call": {
  100. "type": "string",
  101. "description": "Expected invocation format matching the input format of the custom agent skill."
  102. }
  103. },
  104. "required": ["prompt", "call"],
  105. "additionalProperties": false
  106. },
  107. "description": "Array of examples used to pre-inject examples into the custom agent skill."
  108. },
  109. "entrypoint": {
  110. "type": "object",
  111. "properties": {
  112. "file": {
  113. "type": "string",
  114. "description": "Location of the file to be executed relative to the plugin.json file."
  115. },
  116. "params": {
  117. "type": "object",
  118. "additionalProperties": {
  119. "type": "object",
  120. "properties": {
  121. "description": {
  122. "type": "string",
  123. "description": "Short description of the parameter's purpose."
  124. },
  125. "type": {
  126. "type": "string",
  127. "enum": ["string", "number", "boolean"],
  128. "description": "Type of the parameter."
  129. }
  130. },
  131. "required": ["description", "type"],
  132. "additionalProperties": false
  133. },
  134. "description": "Parameters expected by the custom agent skill."
  135. }
  136. },
  137. "required": ["file", "params"],
  138. "additionalProperties": false,
  139. "description": "Defines the entrypoint of the custom agent skill and the expected inputs."
  140. },
  141. "imported": {
  142. "type": "boolean",
  143. "enum": [true],
  144. "description": "Must be set to true."
  145. }
  146. },
  147. "required": [
  148. "active",
  149. "hubId",
  150. "name",
  151. "schema",
  152. "version",
  153. "description",
  154. "entrypoint",
  155. "imported"
  156. ],
  157. "additionalProperties": true
  158. }