Open 0x4007 opened 7 months ago
@gentlementlegen how would this look from a plugin config standpoint? Perhaps we make a special adapter? For example, we attach an issues_comment.created
plugin that will route the request to one's "personal agent"?
If you do like other plugins and hook it to the issue_comment.created
you will already get the full payload for that event, how would this differ?
I take that as a yes. Then we can make the only config option to be the host repository name. For example:
- with:
name: ubiquity-os-agent
Then it will relay the payload to 0x4007/ubiquity-os-agent
As long as you have the bot installed in your organization, you can hook any plugin from your organization you want to see running so
plugins:
- uses: 0x4007/ubiquity-os-agent
would run your agent.
This issue seems to be similar to the following issue(s):
This issue seems to be similar to the following issue(s):
- 2025 Plugins Wishlist Similarity: 82.52
- Collaborator Gating Based On Label Similarity: 78.27
- Near Instant GitHub Actions Cold Boot Times Similarity: 76.98
- Do not break the loop when a plugin fails to run Similarity: 75.84
@sshivaditya2019 this is becoming recursive so I don't think its working correctly. It just keeps stacking more every time I create a new issue.
[!NOTE] The following contributors may be suitable for this task:
sshivaditya2019
77% Match
ubiquity-os-marketplace/generate-vector-embeddings#25
Task
issues_comment.created
Config
The host repository name. For example:
Then comments starting with
@0x4007
will relay the fullissues_comment.created
payload to0x4007/ubiquity-os-agent
Context
This one I'm very excited about. The vision here is that we can make custom user "agents" (i.e. plugins with LLMs) that are hosted by the user's GitHub (so they can modify it) and will automate actions for the user (with their PAT to authorize as them) with the full context of a particular repository/organization.
@ubiquibot/personal-agent
->@pavlovcik/personal-agent
/@<user's name>
/@pavlovcik
maybe something like that. This should also support arguments, for example a sentence that can be parsed by an LLM/@pavlovcik review my pull #123
@pavlovcik can i work on this issue?
then my agent, with my PAT, and my custom prompt saying what to do in this situation, would just automatically assign them and explain the/start
command.@username/personal-agent
actions)There are some ways we can make the template code which will be forked:
Assuming that the org config enables support for personal agents, technically we can extend personal agent capabilities beyond GitHub. Generic telegram example:
@pavlovcik send me the credentials on Telegram @username
with the right code in my personal agent, the GitHub Action can send information to their Telegram. All invoked from the GitHub Action runner!This could make plugin development a lot more exciting and rapid. If the team all works on their own agents, and tests them in production, we could extract useful bits from eachothers' and release "official" plugins which may normally have slower r&d cycles.
In the further future, our kernel can support webhooks coming in from other services (like Telegram) and invoke user agents which can be a very powerful architecture for platform composability. For example, a bot call (can be "inline" in a dm to someone as well) that will pass along the conversation context to our kernel, then to a user's personal agent (github action) back to kernel and then back to Telegram
Notes for @pavlovcik/personal-agent
Planned Capabilities
Comment rewrites:
From my phone sometimes writing comments can be arduous with the custom vocabulary we use and the autocorrect. A simple agent that will save me from a lot of frustration is to edit my comments posted, and correct any typos when I post from my phone.
Review and follow up:
Sometimes a pull request will be 99% of the way there. It will be something like "just make sure CI passes" or "fix merge conflicts"
Ideally the personal agent should monitor pulls that I approved and are still opened. If I said something like this, and if those conditions are met, it should merge the pull.
[^1^]: Although it is not clear to me how we can capture the event from this. I suppose I would need to manually add in the org/repo config for
issue_comment.created
.Similar [^01^]
[^01^]: 2025 Plugins Wishlist 84% [^02^]: New Task Or Edit Pull Arbiter 82%