characterfile  by elizaOS

CLI tool for character data generation and transmission

created 1 year ago
376 stars

Top 76.7% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a simple, extensible JSON file format for defining AI character profiles, enabling easy generation and transmission of character data for LLM agents. It targets developers and users looking to create and share custom AI personas, offering a standardized way to represent character traits, knowledge, and conversational styles.

How It Works

The core of the project is a JSON schema defining the structure of a character.json file. This format is designed to be compatible with OpenAI's function calling specifications. The project includes Node.js scripts that leverage LLM APIs (OpenAI, Claude) to process various data sources—Twitter archives, folders of documents, and WhatsApp chat logs—and convert them into this standardized character file format.

Quick Start & Requirements

  • Install Node.js (via nvm recommended: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash, then nvm install node && nvm use node).
  • Run scripts via npx or npm install and node scripts/<script_name>.js.
  • Requires OpenAI or Anthropic API keys for most generation scripts.
  • Twitter archive download: help.x.com/en/managing-your-account/how-to-download-your-x-archive
  • Schema: [link to schema]
  • Typescript types: [link to types]

Highlighted Details

  • Scripts available for generating character files from Twitter archives (tweets2character), folders of documents (folder2knowledge), and WhatsApp chats (chats2character).
  • Supports converting documents (text, markdown, PDF) into a .knowledge.json file, which can then be merged into a character file.
  • chats2character script allows specifying user information for more accurate profile generation from chat logs.
  • Character file format is designed for compatibility with OpenAI function calling.

Maintenance & Community

The project is maintained by elizaOS. Links to community resources like Discord or Slack are not explicitly provided in the README.

Licensing & Compatibility

MIT License with modifications. The modifications aim to reduce the burden of including the full license text in derivative works. Generally permissive for commercial use and closed-source linking.

Limitations & Caveats

Most generation scripts require API keys for OpenAI or Anthropic, incurring costs. The effectiveness of generated profiles depends heavily on the quality and content of the input data and the LLM's processing capabilities.

Health Check
Last commit

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Starred by John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), Travis Fischer Travis Fischer(Founder of Agentic), and
1 more.

instructor-js by 567-labs

0%
738
Typescript tool for structured extraction from LLMs
created 1 year ago
updated 6 months ago
Feedback? Help us improve.