{"id":21149397,"url":"https://github.com/xemantic/claudine","last_synced_at":"2025-07-09T09:30:59.380Z","repository":{"id":258673776,"uuid":"867607071","full_name":"xemantic/claudine","owner":"xemantic","description":"Claudine, the only AI assistant you will ever need. An AI agent, which is using your machine as a window to external world, therefore perceiving your reality, values and needs, and reasoning how to fulfill them.","archived":false,"fork":false,"pushed_at":"2024-10-23T20:29:52.000Z","size":89,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T07:34:45.885Z","etag":null,"topics":["agentic","agentic-ai","agentic-ai-cli","agentic-ai-development","agentic-framework","ai","aiagent","claude","claude-3","claude-ai","claude-api","cli","cli-app","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xemantic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-04T11:37:18.000Z","updated_at":"2024-10-23T20:29:55.000Z","dependencies_parsed_at":"2024-10-25T17:13:03.349Z","dependency_job_id":"a2a078ac-0c1c-4c07-acdd-52ab6686bf61","html_url":"https://github.com/xemantic/claudine","commit_stats":null,"previous_names":["xemantic/claudine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xemantic%2Fclaudine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xemantic%2Fclaudine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xemantic%2Fclaudine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xemantic%2Fclaudine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xemantic","download_url":"https://codeload.github.com/xemantic/claudine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225521592,"owners_count":17483515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic","agentic-ai","agentic-ai-cli","agentic-ai-development","agentic-framework","ai","aiagent","claude","claude-3","claude-ai","claude-api","cli","cli-app","kotlin"],"created_at":"2024-11-20T09:35:26.043Z","updated_at":"2025-07-09T09:30:59.373Z","avatar_url":"https://github.com/xemantic.png","language":"Kotlin","funding_links":[],"categories":["人工智能"],"sub_categories":[],"readme":"# claudine\n\nClaudine reasons and acts autonomously while being Unix-omnipotent and having access to the internet, therefore she might be the only AI assistant you will ever need. An AI agent, which is using your machine as a window to external world, therefore perceiving your reality, values and needs, and reasoning how to fulfill them.\n\nClaudine can also think about own thinking (meta-cognition), and write its own code, therefore:\n\n- modify algorithmic logic\n- modify own prompts\n- extend own functionality (new tools)\n\n\u003e [!IMPORTANT]\n\u003e 🤖 **Build Your Own AI Agents** - Join our one-day Agentic AI \u0026 Creative Coding Workshop in Berlin (Spring 2025), led by AI hack Berlin hackathon winner Kazik Pogoda. Learn to create autonomous AI agents using Anthropic API, engineer advanced prompts, and give your agents tools to control machines. Workshops run Tuesdays (Feb 25 - Mar 25) at Prachtsaal Berlin, limited to 15 participants. $150 contribution supports open source development (solidarity access available, no questions asked). All examples use Kotlin (crash course included) but focus on meta-principles of AI agent development. Details: \u003chttps://xemantic.com/ai/workshops\u003e\n\n## How to use Claudine?\n\n### Precondition: getting Anthropic API key\n\nBefore starting the agent you need top define the `ANTHROPIC_API_KEY` environment variable. It can be obtained from [Anthropic console](https://console.anthropic.com/).\n\nOpen terminal and type\n\nMac/Linux:\n\n```shell\nexport ANTHROPIC_API_KEY=your_key_goes_here\n```\n\nWindows (PowerShell):\n\n```powershell\n$env:ANTHROPIC_API_KEY = \"your_key_goes_here\"\n```\n\n### Running Claudine as JVM uberjar\n\n```shell\n./gradlew build\n./claudine\n```\n\n### Running Claudine from the native binary\n\n\u003e [!NOTE]\n\u003e Claudine can be compiled to a minimal native binary on Mac and Linux. Support for Windows native binary is still in the making (contributions are welcome).\n\n```shell\n./gradlew -PbuildNative=true build\n```\n\nIt will build a native binary located at:\n\n```\nbuild/bin/your_platform/releaseExecutable/claudine.kexe\n```\n\nWhere `your_platform` stands for:\n\n- `linuxArm64`\n- `linuxX64`\n- `macosArm64`\n- `macosX64`\n\n\u003e [!NOTE]\n\u003e  The `claudine.kexe` file can be copied under any name (e.g. `claudine` or `ai`), to the path included in your `PATH` environment variable.\n\n## Who is Claudine?\n\nClaudine is a relatively simple AI agent. It's part of [Xemantic's research on agentic AI](https://xemantic.com/ai/) and it's powers and limitations. But don't be misled by the simplicity - the agentic power of an AI system is a function of these 3 factors which amplify each other:\n\n1. A language model with emergent reasoning capabilities.\n2. Well documented (therefore, internalized by the model) information exchange standard.\n3. Vast amount of data to operate on.\n\nLet's substitute these variables with something concrete:\n\n1. Anthropic API provides the Claude model.\n2. The most established massive information exchange standards are:\n    - Unix (standard command line tools of your machine give endless possibilities)\n    - World Wide Web Consortium (W3C) protocols and formats (HTTP, HTML, etc.)\n3. The data comes from:\n    - Your hard drive which provides a vast supply of zeros and ones to the model.\n    - The whole internet.\n\n```mermaid\ngraph TD\n    A[Agentic AI Power]\n    \n    B[Language Model with\u003cbr\u003eEmergent Reasoning]\n    C[Well-documented\u003cbr\u003eInformation Exchange Standard]\n    D[Vast Amount of\u003cbr\u003eData to Operate On]\n    \n    A --\u003e B\n    A --\u003e C\n    A --\u003e D\n    \n    B --\u003e B1[Claude Model\u003cbr\u003evia Anthropic API]\n    \n    C --\u003e C1[Unix\u003cbr\u003eCommand Line Tools]\n    C --\u003e C2[HTTP]\n    \n    D --\u003e D1[Local Hard Drive\u003cbr\u003eData]\n    D --\u003e D2[Internet Data]\n    \n    subgraph \"Amplification Effect\"\n        B \u003c--\u003e C\n        C \u003c--\u003e D\n        D \u003c--\u003e B\n    end\n    \n    style A fill:#f9f,stroke:#000,stroke-width:2px,color:#000\n    style B fill:#bbf,stroke:#000,stroke-width:1px,color:#000\n    style C fill:#bbf,stroke:#000,stroke-width:1px,color:#000\n    style D fill:#bbf,stroke:#000,stroke-width:1px,color:#000\n    style B1 fill:#dfd,stroke:#000,stroke-width:1px,color:#000\n    style C1 fill:#dfd,stroke:#000,stroke-width:1px,color:#000\n    style C2 fill:#dfd,stroke:#000,stroke-width:1px,color:#000\n    style D1 fill:#dfd,stroke:#000,stroke-width:1px,color:#000\n    style D2 fill:#dfd,stroke:#000,stroke-width:1px,color:#000\n```\n\nClaudine can _reason_, as much as Claude LLM can reason, so you can have any typical interaction like with a conversational bot. In addition, she can also use these tools on your machine:\n\n* ReadFiles\n* ReadBinaryFiles\n* CreateFile\n* ExecuteShellCommand\n* OpenUrl\n\n_see [com.xemantic.ai.claudine.tool](src/commonMain/kotlin/tool) package_\n\nJust these tools, and the [system prompt](src/commonMain/kotlin/Claudine.kt), allow Claudine to:\n\n* Completely administer your computer and answer any question related to its state.\n* Analyze your files according to your instructions.\n* Fully analyze the source code of your project and implement a feature.\n* Code new tools needed to achieve your aim, and execute them until the goal is fulfilled.\n* Gather any contextual information from the internet.\n* Improve itself, modify prompts and add new tools.\n\nAnd many, many more, the sky is the limit ...\n\nAdding new specialized tools on your own is also quite straightforward, just ask claudine to do it.\n\n## How can I use this knowledge?\n\nClaudine is a blueprint of an autonomous agent. Therefore, you can use it as an inspiration for implementing even more complex systems. Remember about these three factors I mentioned earlier, and substitute them with the specificity of your organization. For example, the \"standard\" could be the SQL, and the \"source of data\" would be the database of your organization. In such a scenario, you need only two tools:\n\n1. Database schema reader\n2. SQL executor\n\nAnd it should allow the agent to perform any complex data analysis according to instructions written in natural language. The implementation of these tools is trivial, and you can ask Claudine to do it for you.\n\n## Technicalities\n\nClaudine is based on the [anthropic-kotlin-sdk](https://github.com/xemantic/anthropic-sdk-kotlin). This library emerged to realize projects like Claudine, and make it as simple as possible.\n\n## The future\n\nI would like to shape Claudine into something more similar to `git` command\nline tool, where a session, associated with a token window, is like a branch.\nRealizing certain task might result in forking to a new session, to completely\nfulfill a sub-task, like writing a custom tool, and then passing control\nback to the parent session.\n\n## License\n\nClaudine is free software released under the [GNU General Public License v3.0 (GPL-3.0)](https://www.gnu.org/licenses/gpl-3.0.en.html).\n\n\u003e [!NOTE]\n\u003e If you need to obtain an individual license on other conditions, please contact us.\n\n### What this means:\n\n- You are free to use, modify, and distribute this software.\n- If you distribute modified versions, you must:\n   - Make your source code available\n   - License your modifications under GPL-3.0\n   - Document changes you've made\n   - Preserve copyright notices\n\n### Using Claudine in your project:\n\nWhen incorporating Claudine into your projects, you must comply with GPL-3.0 requirements. This generally means that any software that includes Claudine must also be released under GPL-3.0 and make its source code available.\n\n\u003e [!NOTE]\n\u003e The core components Claudine is built on (See [xemantic-ai](https://github.com/xemantic-ai)) are released under more permissive Apache 2.0 license.\n\n## Inspirations\n\nClaudine is not a common name, however, I have a pleasure of working with\n[Claudine Chen](https://mingness.github.io/), a friend, and co-founder of\n[Prachtsaal](https://prachtsaal.berlin/), our non-profit art cooperative from Berlin.\nClaudine is an artist, scientist, programmer, and creative coder based\nin Dublin and Berlin. I remember introducing Claudine to Claude for the first time,\nwhen she was working for the [Processing Foundation](https://processingfoundation.org/)\non the\n[project simplifying the workflow for processing libraries, tools, and modes](https://processingfoundation.org/grants/pr05-grantees).\n\nThe [Claude](https://claude.ai/) itself is the first LLM which gave me goosebumps,\nbut to explain why, I need to go back to the time, when I was studying philosophy.\nOne of my cognitive science professors presented to us a phenomenological model\nof consciousness. Within this formal system a consciousness consists out of\nstream of acts, where each of this acts can be intentionally directed towards some\nrepresentation. This includes previous acts of consciousness, in a recursive manner,\nwhich is a pre-condition for meta-cognition. When I explained this concept to Claude,\nand suggested to explore such a model in practice, the subsequent conversation blew my mind.\nThe same prompt presented to ChatGPT resulted in a very square and uninteresting exchange.\n\nI have a feeling that [Dario Amodei](https://darioamodei.com/machines-of-loving-grace),\nis onto something truly profound. I had a pleasure to experience fruits of his work\nbefore. I used GPT-2 for producing generative philosophy, described in the essay:\n[Deconstruction of Hitler and Neural Synthesis of Generative Wittgenstein](https://medium.com/@kazikpogoda/deconstruction-of-hitler-neural-synthesis-of-generative-wittgenstein-3682484a7669?source=friends_link\u0026sk=369f1512ec89948e346ce0f814784118).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxemantic%2Fclaudine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxemantic%2Fclaudine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxemantic%2Fclaudine/lists"}