சேவையகம்
HTTP வழியாக dropstone சேவையகத்துடன் தொடர்பு கொள்ளுங்கள்.
dropstone serve கட்டளை ஒரு headless HTTP சேவையகத்தை இயக்குகிறது, இது ஒரு Dropstone கிளையண்ட் பயன்படுத்தக்கூடிய OpenAPI முனையத்தை வெளிப்படுத்துகிறது.
பயன்பாடு
dropstone serve [--port <number>] [--hostname <string>] [--cors <origin>]
விருப்பங்கள்
| கொடி | விளக்கம் | இயல்புநிலை |
|---|---|---|
--port | கேட்க வேண்டிய போர்ட் | 4096 |
--hostname | கேட்க வேண்டிய ஹோஸ்ட்பெயர் | 127.0.0.1 |
--mdns | mDNS கண்டுபிடிப்பை இயக்கு | false |
--mdns-domain | mDNS சேவைக்கான தனிப்பயன் டொமைன் பெயர் | 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 | /lsp | LSP சேவையக நிலையைப் பெறுக | LSPStatus[] |
GET | /formatter | வடிவமைப்பாளர் நிலையைப் பெறுக | FormatterStatus[] |
GET | /mcp | MCP சேவையக நிலையைப் பெறுக | { [name: string]: MCPStatus } |
POST | /mcp | MCP சேவையகத்தை மாறும் வகையில் சேர்க்கவும் | உடல்: { name, config }, MCP நிலை பொருளை திரும்பச் செய்கிறது |
ஏஜெண்டுகள்
| முறை | பாதை | விளக்கம் | பதில் |
|---|---|---|---|
GET | /agent | அனைத்து கிடைக்கக்கூடிய ஏஜெண்டுகளையும் பட்டியலிடுக | Agent[] |
பதிவு
| முறை | பாதை | விளக்கம் | பதில் |
|---|---|---|---|
POST | /log | பதிவு உள்ளீட்டை எழுதவும். உடல்: { service, level, message, extra? } | boolean |
அங்கீகாரம்
| முறை | பாதை | விளக்கம் | பதில் |
|---|---|---|---|
PUT | /auth/:id | கொடுக்கப்பட்ட இலக்கிற்கான அங்கீகார சான்றுகளை அமைக்கவும். | boolean |
நிகழ்வுகள்
| முறை | பாதை | விளக்கம் | பதில் |
|---|---|---|---|
GET | /event | சேவையகம் அனுப்பிய நிகழ்வு ஸ்ட்ரீம். முதல் நிகழ்வு server.connected, பின்னர் பஸ் நிகழ்வுகள் | சேவையகம் அனுப்பிய நிகழ்வு ஸ்ட்ரீம் |
ஆவணங்கள்
| முறை | பாதை | விளக்கம் | பதில் |
|---|---|---|---|
GET | /doc | OpenAPI 3.1 விவரக்குறிப்பு | OpenAPI விவரக்குறிப்புடன் கூடிய HTML பக்கம் |