iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
🤖

Transforming Cline into Devin: A Proof of Concept for Slack Integration

に公開

Done and Todo

What's working

  • Receiving user responses via Slack
  • Sending /approve and /reject commands from Slack
  • Threads are separated by task, allowing multiple tasks to be used independently
  • Initial task submission from Slack (Omitted for now as it was tedious, though methods are available and it's straightforward) (Updated 1/15)

What's not yet done

  • Processing for commands other than /approve and /reject
  • Formatting of user responses
  • Implementing WebSockets etc., as thread monitoring currently uses brute-force polling

Repositories Verified

https://github.com/tesla0225/cline
https://github.com/cline/cline/commit/5e0798b08c4935e08ab8507964e98e66ac3ec33d

Execution Example (Apologies for the rough presentation)

Implementation Strategy

  • Initially, I tried to integrate Slack's Bolt and run it.
  • While the startup seemed to work fine, other parts were too tightly coupled, making it look difficult.
  • I found that calling MCP internally made the responses work well.

Commit Description

cleanupMessageForSlack is not performed, a lot of noise-like data gets included, so I temporarily removed all the JSON (this needs to be fixed as it prevents some data from being received).

https://github.com/cline/cline/commit/09ebae372777699502380a218d0401c9652d1c0d

Monitoring threads with polling every 3 seconds; this watchThreadReplies is discarded when the task ends.
It handles responses via handleWebviewAskResponse based on the thread content.

https://github.com/cline/cline/commit/5e0798b08c4935e08ab8507964e98e66ac3ec33d

Thoughts

While achieving Devin-level autonomy might be difficult, if a workflow is properly constructed in the layer above this,
I felt that you could build it yourself without having to pay $500.

By the way, I haven't written a single line by hand. Long live Cursor Agent!

Discussion