Dropstone CLI

சேவையகம்

HTTP வழியாக dropstone சேவையகத்துடன் தொடர்பு கொள்ளுங்கள்.

dropstone serve கட்டளை ஒரு headless HTTP சேவையகத்தை இயக்குகிறது, இது ஒரு Dropstone கிளையண்ட் பயன்படுத்தக்கூடிய OpenAPI முனையத்தை வெளிப்படுத்துகிறது.


பயன்பாடு

dropstone serve [--port <number>] [--hostname <string>] [--cors <origin>]

விருப்பங்கள்

கொடிவிளக்கம்இயல்புநிலை
--portகேட்க வேண்டிய போர்ட்4096
--hostnameகேட்க வேண்டிய ஹோஸ்ட்பெயர்127.0.0.1
--mdnsmDNS கண்டுபிடிப்பை இயக்குfalse
--mdns-domainmDNS சேவைக்கான தனிப்பயன் டொமைன் பெயர்dropstone.local
--corsஅனுமதிக்க வேண்டிய கூடுதல் உலாவி தோற்றங்கள்[]

--cors பல முறை அனுப்பப்படலாம்:

dropstone serve --cors http://localhost:5173 --cors https://app.example.com

அங்கீகாரம்

HTTP அடிப்படை அங்கீகாரத்துடன் சேவையகத்தைப் பாதுகாக்க DROPSTONE_SERVER_PASSWORD ஐ அமைக்கவும். பயனர்பெயர் இயல்புநிலையாக dropstone ஆகும், அல்லது அதை மாற்ற DROPSTONE_SERVER_USERNAME ஐ அமைக்கவும். இது dropstone serve மற்றும் dropstone web இரண்டிற்கும் பொருந்தும்.

DROPSTONE_SERVER_PASSWORD=your-password dropstone serve

ஏஜென்ட் சான்றுகள்

DROPSTONE_SERVER_PASSWORD சேவையகத்தையே பாதுகாக்கிறது. இது ஏஜெண்டிடம் Dropstone ஐ எவ்வாறு அடைவது என்று சொல்லாது. கண்காணிப்பு இல்லாத இயந்திரத்தில் உள்நுழைந்த கணக்கு இல்லை, எனவே வழங்குநர் கட்டமைப்பின் மூலம் API விசையை அனுப்பவும்:

{
  "provider": {
    "dropstone": {
      "options": {
        "apiKey": "dsk_live_...",
        "baseURL": "https://api.dropstone.io/api/v1"
      }
    }
  }
}

baseURL முக்கியமானது. API விசைகள் /v1 இல் அல்ல, /api/v1 இல் ஏற்கப்படுகின்றன, மேலும் /v1 க்கு அனுப்பப்படும் விசை 403 Invalid token format. Please log in again. என்ற பிழையுடன் நிராகரிக்கப்படுகிறது. கணக்கு, பயன்பாடு மற்றும் நினைவக முனையங்களை உருவாக்கவும் பயன்படுத்தப்படும் DROPSTONE_BASE_URL வழியாக அல்லாமல் இங்கே அமைக்கவும்; நீங்கள் அதை பதிப்பு பாதையில் சுட்டிக்காட்டினால் அவை உடைந்துவிடும்.

dropsstone.io/dashboard/settings இல் ஒரு விசையை உருவாக்கவும்.

Note

இயல்புநிலை build ஏஜென்ட் ஒவ்வொரு கருவி அழைப்பிற்கும் முன் கேட்கிறது. இங்கு எதுவும் அந்த கேள்விக்கு பதிலளிக்க முடியாது, எனவே கோரிக்கை தோல்வியடைவதற்குப் பதிலாக தொங்குகிறது. "agent": "accept all" அனுப்பவும் அல்லது வெளிப்படையான அனுமதி அனுமதிப்பட்டியலை அமைக்கவும். அனுமதிகள் பார்க்கவும்.


ஒரு கேள்வியை அனுப்புதல்

POST /session/:id/message க்கு agent மற்றும் model இரண்டும் தேவை. model ஐ விடுவது எந்த இயல்புநிலையையும் தீர்க்காது: திருப்பம் 200 உடன் காலியான உடலுடன் திரும்பும், எதுவும் இயங்காது.

curl -X POST "http://127.0.0.1:4096/session/$SID/message?directory=$PWD" \
  -H "Content-Type: application/json" \
  -d '{
    "agent": "build",
    "model": { "providerID": "dropstone", "modelID": "dropstone-pro" },
    "parts": [{ "type": "text", "text": "Add error handling to src/index.ts" }]
  }'

தோல்வியடையும் திருப்பம் இன்னும் 200 ஐ திரும்பச் செய்யும். காரணம் data.info.error இல் உள்ளது, போக்குவரத்து மட்டத்தில் அல்ல, எனவே நிலைக் குறியீட்டை நம்பாமல் அந்த புலத்தை சரிபார்க்கவும்.


இது எவ்வாறு செயல்படுகிறது

dropstone serve Dropstone இன் திறன்களை OpenAPI 3.1 HTTP முனையத்தில் வெளிப்படுத்துகிறது. SDK ஐ உருவாக்க அதே முனையம் பயன்படுத்தப்படுகிறது.

நிரல்ரீதியாக Dropstone ஐ இயக்க விரும்பும்போது சேவையகத்தைப் பயன்படுத்தவும்: ஒரு ஸ்கிரிப்ட், CI குழாய் அல்லது உங்கள் சொந்த ஒருங்கிணைப்பிலிருந்து. ஊடாடும் அமர்வு மற்றும் சேவையகம் சுயாதீனமானவை. dropstone serve ஐ இயக்குவது, உங்களிடம் ஊடாடும் அமர்வு திறந்திருந்தாலும் இல்லாவிட்டாலும், ஒரு புதிய தனி சேவையகத்தைத் தொடங்குகிறது.

--hostname மற்றும் --port கொடிகள் மூலம் பிணைப்பு முகவரியை மேலெழுதலாம்.


விவரக்குறிப்பு

சேவையகம் பின்வரும் இடத்தில் காணக்கூடிய OpenAPI 3.1 விவரக்குறிப்பை வெளியிடுகிறது:

http://<hostname>:<port>/doc

எடுத்துக்காட்டாக, http://localhost:4096/doc. கிளையண்டுகளை உருவாக்க அல்லது கோரிக்கை மற்றும் பதில் வகைகளை ஆய்வு செய்ய விவரக்குறிப்பைப் பயன்படுத்தவும். அல்லது Swagger எக்ஸ்ப்ளோரரில் பார்க்கவும்.


APIகள்

dropstone சேவையகம் பின்வரும் APIகளை வெளிப்படுத்துகிறது.


உலகளாவிய

முறைபாதைவிளக்கம்பதில்
GET/global/healthசேவையக ஆரோக்கியம் மற்றும் பதிப்பைப் பெறுக{ healthy: true, version: string }
GET/global/eventஉலகளாவிய நிகழ்வுகளைப் பெறுக (SSE ஸ்ட்ரீம்)நிகழ்வு ஸ்ட்ரீம்

திட்டம்

முறைபாதைவிளக்கம்பதில்
GET/projectஅனைத்து திட்டங்களையும் பட்டியலிடுகProject[]
GET/project/currentதற்போதைய திட்டத்தைப் பெறுகProject

பாதை & VCS

முறைபாதைவிளக்கம்பதில்
GET/pathதற்போதைய பாதையைப் பெறுகPath
GET/vcsதற்போதைய திட்டத்திற்கான VCS தகவலைப் பெறுகVcsInfo

கட்டமைப்பு

முறைபாதைவிளக்கம்பதில்
GET/configகட்டமைப்பு தகவலைப் பெறுகConfig
PATCH/configகட்டமைப்பைப் புதுப்பிக்கவும்Config

அமர்வுகள்

முறைபாதைவிளக்கம்குறிப்புகள்
GET/sessionஅனைத்து அமர்வுகளையும் பட்டியலிடுகSession[] ஐ திரும்பச் செய்கிறது
POST/sessionபுதிய அமர்வை உருவாக்கவும்உடல்: { parentID?, title? }, Session ஐ திரும்பச் செய்கிறது
GET/session/statusஅனைத்து அமர்வுகளுக்கான அமர்வு நிலையைப் பெறுக{ [sessionID: string]: SessionStatus } ஐ திரும்பச் செய்கிறது
GET/session/:idஅமர்வு விவரங்களைப் பெறுகSession ஐ திரும்பச் செய்கிறது
DELETE/session/:idஒரு அமர்வையும் அதன் அனைத்து தரவையும் நீக்கவும்boolean ஐ திரும்பச் செய்கிறது
PATCH/session/:idஅமர்வு பண்புகளைப் புதுப்பிக்கவும்உடல்: { title? }, Session ஐ திரும்பச் செய்கிறது
GET/session/:id/childrenஒரு அமர்வின் துணை அமர்வுகளைப் பெறுகSession[] ஐ திரும்பச் செய்கிறது
GET/session/:id/todoஒரு அமர்விற்கான செய்ய வேண்டிய பட்டியலைப் பெறுகTodo[] ஐ திரும்பச் செய்கிறது
POST/session/:id/initபயன்பாட்டை பகுப்பாய்வு செய்து AGENTS.md உருவாக்கவும்உடல்: { messageID, providerID, modelID }, boolean ஐ திரும்பச் செய்கிறது
POST/session/:id/forkஒரு செய்தியில் ஏற்கனவே உள்ள அமர்வை பிரிக்கவும்உடல்: { messageID? }, Session ஐ திரும்பச் செய்கிறது
POST/session/:id/abortஇயங்கும் அமர்வை நிறுத்தவும்boolean ஐ திரும்பச் செய்கிறது
GET/session/:id/diffஇந்த அமர்விற்கான வேறுபாட்டைப் பெறுககேள்வி: messageID?, FileDiff[] ஐ திரும்பச் செய்கிறது
POST/session/:id/summarizeஅமர்வை சுருக்கவும்உடல்: { providerID, modelID }, boolean ஐ திரும்பச் செய்கிறது
POST/session/:id/revertஒரு செய்தியை மாற்றவும்உடல்: { messageID, partID? }, boolean ஐ திரும்பச் செய்கிறது
POST/session/:id/unrevertமாற்றப்பட்ட அனைத்து செய்திகளையும் மீட்டமைக்கவும்boolean ஐ திரும்பச் செய்கிறது
POST/session/:id/permissions/:permissionIDஅனுமதி கோரிக்கைக்கு பதிலளிக்கவும்உடல்: { response, remember? }, boolean ஐ திரும்பச் செய்கிறது

செய்திகள்

முறைபாதைவிளக்கம்குறிப்புகள்
GET/session/:id/messageஒரு அமர்வில் செய்திகளை பட்டியலிடுககேள்வி: limit?, { info: Message, parts: Part[]}[] ஐ திரும்பச் செய்கிறது
POST/session/:id/messageஒரு செய்தியை அனுப்பி பதிலுக்காக காத்திருக்கவும்உடல்: { messageID?, model?, agent?, noReply?, system?, tools?, parts }, { info: Message, parts: Part[]} ஐ திரும்பச் செய்கிறது
GET/session/:id/message/:messageIDசெய்தி விவரங்களைப் பெறுக{ info: Message, parts: Part[]} ஐ திரும்பச் செய்கிறது
POST/session/:id/prompt_asyncஒரு செய்தியை ஒத்திசைவற்ற முறையில் அனுப்பவும் (காத்திருக்க வேண்டாம்)உடல்: /session/:id/message போன்றது, 204 No Content ஐ திரும்பச் செய்கிறது
POST/session/:id/commandஒரு சாய்வு கட்டளையை இயக்கவும்உடல்: { messageID?, agent?, model?, command, arguments }, { info: Message, parts: Part[]} ஐ திரும்பச் செய்கிறது
POST/session/:id/shellஒரு ஷெல் கட்டளையை இயக்கவும்உடல்: { agent, model?, command }, { info: Message, parts: Part[]} ஐ திரும்பச் செய்கிறது

கட்டளைகள்

முறைபாதைவிளக்கம்பதில்
GET/commandஅனைத்து கட்டளைகளையும் பட்டியலிடுகCommand[]

கோப்புகள்

முறைபாதைவிளக்கம்பதில்
GET/find?pattern=<pat>கோப்புகளில் உரையைத் தேடுகpath, lines, line_number, absolute_offset, submatches உடன் பொருந்தும் பொருள்களின் வரிசை
GET/find/file?query=<q>பெயரால் கோப்புகள் மற்றும் கோப்பகங்களைக் கண்டறியவும்string[] (பாதைகள்)
GET/find/symbol?query=<q>பணியிட சின்னங்களைக் கண்டறியவும்Symbol[]
GET/file?path=<path>கோப்புகள் மற்றும் கோப்பகங்களை பட்டியலிடுகFileNode[]
GET/file/content?path=<p>ஒரு கோப்பைப் படிக்கவும்FileContent
GET/file/statusகண்காணிக்கப்படும் கோப்புகளுக்கான நிலையைப் பெறுகFile[]

/find/file கேள்வி அளவுருக்கள்

  • query (தேவை): தேடல் சரம் (தெளிவற்ற பொருத்தம்)
  • type (விருப்பம்): முடிவுகளை "file" அல்லது "directory" க்கு வரம்பிடுக
  • directory (விருப்பம்): தேடலுக்கான திட்ட ரூட்டை மேலெழுதுக
  • limit (விருப்பம்): அதிகபட்ச முடிவுகள் (1–200)
  • dirs (விருப்பம்): பழைய கொடி ("false" கோப்புகளை மட்டுமே திரும்பச் செய்கிறது)

LSP, வடிவமைப்பாளர்கள் & MCP

முறைபாதைவிளக்கம்பதில்
GET/lspLSP சேவையக நிலையைப் பெறுகLSPStatus[]
GET/formatterவடிவமைப்பாளர் நிலையைப் பெறுகFormatterStatus[]
GET/mcpMCP சேவையக நிலையைப் பெறுக{ [name: string]: MCPStatus }
POST/mcpMCP சேவையகத்தை மாறும் வகையில் சேர்க்கவும்உடல்: { name, config }, MCP நிலை பொருளை திரும்பச் செய்கிறது

ஏஜெண்டுகள்

முறைபாதைவிளக்கம்பதில்
GET/agentஅனைத்து கிடைக்கக்கூடிய ஏஜெண்டுகளையும் பட்டியலிடுகAgent[]

பதிவு

முறைபாதைவிளக்கம்பதில்
POST/logபதிவு உள்ளீட்டை எழுதவும். உடல்: { service, level, message, extra? }boolean

அங்கீகாரம்

முறைபாதைவிளக்கம்பதில்
PUT/auth/:idகொடுக்கப்பட்ட இலக்கிற்கான அங்கீகார சான்றுகளை அமைக்கவும்.boolean

நிகழ்வுகள்

முறைபாதைவிளக்கம்பதில்
GET/eventசேவையகம் அனுப்பிய நிகழ்வு ஸ்ட்ரீம். முதல் நிகழ்வு server.connected, பின்னர் பஸ் நிகழ்வுகள்சேவையகம் அனுப்பிய நிகழ்வு ஸ்ட்ரீம்

ஆவணங்கள்

முறைபாதைவிளக்கம்பதில்
GET/docOpenAPI 3.1 விவரக்குறிப்புOpenAPI விவரக்குறிப்புடன் கூடிய HTML பக்கம்
Ctrl+I