-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Personal Agent #3
Personal Agent #3
Comments
@gentlementlegen how would this look from a plugin config standpoint? Perhaps we make a special adapter? For example, we attach an |
If you do like other plugins and hook it to the |
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
would run your agent. |
This comment was marked as outdated.
This comment was marked as outdated.
@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
|
/start |
Who is a power user here? Are we restricting it to specific contributors or parters? It looks like anyone can host the personal-agent plugin. We can't have this in the configs.
The reason is if we are all going to use it, are we going to edit configs for all contributors and contributors joining us in future.
So, if I am right here. We have two solutions.
So, solution 2 seems right to me. Please let me know what you think. As I understand, the deliverables of this issue are one or two plugins (depending on which solution we choose), and provide and show successful communication between them on correct preconditions (the |
|
Passed the deadline and no activity is detected, removing assignees: @EresDev. |
/start |
! EresDev you were previously unassigned from this task. You cannot be reassigned. |
What to do about this now? I am working on it in these repos. |
Normally you're supposed to open a pull on your own repository and link it here so that we can keep track of progress. You should do that now to maintain your assignment. |
I think the issue hasn't picked up the PR as it doesn't show it in Edit: |
I think it didn't pick up the pull-request because you do not target this repository / organization. |
Actually it only works if you target the default branch, |
I am looking into a way to authorize the communication between the bridge and the personal agent. The problems is, you can't run workflow on personal agent from the bridge. The reason is, bridge is going to be hosted by our organization, but the personal agent is going to be hosted by the user's account. You can't run the workflow of personal agent plugin fork from the bridge with some kind of authorization/authentication. One way that works smoothly is, UbiquityOS is also installed by user on the personal agent repository fork. But do we have some other concerns here? Like UbiquityOS responding to other commands in their personal agent fork? Other way I have in mind is to ask personal agent fork user to store their encrypted PAT in some config file in the repository that the bridge can fetch, decrypt, and use. Bridge needs this only to run the personal agents workflow, and this approach looks like an overkill to me. Do you have any other suggestions? I would appreciate it. |
This is perfectly acceptable.
It must be configured to do so with the yml file so this shouldn't happen unintentionally
We have our built in encryption with the X25519 key so we can do the same if necessary.
|
I wanted to do it like this. It would have made the usage very simple, fork the personal agent and it starts working. But I have sen that the kind of auth token kernel provides doesn't trigger workflows of personal agent forks on other github accounts. Because of this, I am going with Github PAT with X25519 encryption mechanism. |
@EresDev, this task has been idle for a while. Please provide an update. |
Hoping to be back to this soon. |
@EresDev, this task has been idle for a while. Please provide an update. |
Working on it. |
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:
2. If we can reliably get the LLM to write working code with Octokit (or just raw CURLs with the PAT) then we can have a context aware and english language input to any function a user can perform on GitHub (limited to the PAT permissions) which is quite interesting.
3. The user can "fine-tune" their LLM by adding extra details and preferences to their prompt in their forked code. I imagine that I would continue to add new sections as I see repetitive questions/queries.
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.
Similar 2
Footnotes
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
. ↩2025 Plugins Wishlist 84% ↩
The text was updated successfully, but these errors were encountered: